diff --git a/.github/workflows/buf-lint.yml b/.github/workflows/buf-lint.yml index 3cd45f6744..f65c1af8a4 100644 --- a/.github/workflows/buf-lint.yml +++ b/.github/workflows/buf-lint.yml @@ -12,9 +12,10 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: bufbuild/buf-setup-action@v1 + - uses: bufbuild/buf-setup-action@v1.28.0 with: - version: 1.19.0 + version: 1.28.0 + github_token: ${{ secrets.GITHUB_TOKEN }} - name: Buf lint run: make lint.buf diff --git a/.github/workflows/gen.yml b/.github/workflows/gen.yml index fef04f3be4..fd7ba553a9 100644 --- a/.github/workflows/gen.yml +++ b/.github/workflows/gen.yml @@ -15,15 +15,16 @@ jobs: - uses: actions/setup-node@v3 with: cache: "yarn" - node-version: 16 + node-version: 18 - uses: actions/setup-go@v3 with: - go-version: "^1.18.0" + go-version: "1.19" - - uses: bufbuild/buf-setup-action@v1 + - uses: bufbuild/buf-setup-action@v1.28.0 with: - version: 1.19.0 + version: 1.28.0 + github_token: ${{ secrets.GITHUB_TOKEN }} - name: Install node modules run: yarn @@ -39,5 +40,8 @@ jobs: - name: Regenerate run: make generate + - name: Debug + run: ls packages/api/weshnet + - name: Check diff run: git diff --exit-code diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 82cd52c4ab..eb6d66acaf 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-go@v3 with: - go-version: "^1.18.0" + go-version: "1.19" - name: Tidy go.mod run: go mod tidy diff --git a/.gitignore b/.gitignore index 0934cc38ea..28157e2a64 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,11 @@ buck-out/ .expo/ # @end expo-cli + + +# codegen +/.weshgen/ + + +# weshnet +temp/ \ No newline at end of file diff --git a/Makefile b/Makefile index faf809dc2f..076d0b6225 100644 --- a/Makefile +++ b/Makefile @@ -35,11 +35,18 @@ node_modules: package.json yarn.lock generate: generate.protobuf generate.graphql generate.contracts-clients generate.go-networks networks.json .PHONY: generate.protobuf -generate.protobuf: node_modules +generate.protobuf: node_modules packages/api/weshnet go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2 buf generate api +.PHONY: packages/api/weshnet +packages/api/weshnet: node_modules + rm -fr $@ + buf generate --template ./weshnet.buf.gen.yaml buf.build/berty/weshnet -o .weshgen + cp -r .weshgen/packages/api $@ + rm -fr .weshgen + .PHONY: generate.graphql generate.graphql: go run github.com/Khan/genqlient@85e2e8dffd211c83a2be626474993ef68e44a242 go/pkg/holagql/genqlient.yaml diff --git a/buf.lock b/buf.lock new file mode 100644 index 0000000000..e22e8b5cdb --- /dev/null +++ b/buf.lock @@ -0,0 +1,13 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: berty + repository: weshnet + commit: a01c754f0f5441d4b4400796c7d170a2 + digest: shake256:6ddef4e53054f1203f5db37af95de583811bc9a03adadba1db39e444ccacf2d80e3cbb0bf062cef4264d7c05b1ab24775d79a7561faada41584d560c8ea9f2ad + - remote: buf.build + owner: gogo + repository: protobuf + commit: 5461a3dfa9d941da82028ab185dc2a0e + digest: shake256:37c7c75224982038cb1abf45b481ef06716c1f806ffaa162018d0df092bd11a2a9b62c2d0dc0a2ae43beff86b6014fc0eb8c594ffd84d52ade4b08fca901eadc diff --git a/buf.yaml b/buf.yaml index 1e5cdb2230..22c7d4b5b5 100644 --- a/buf.yaml +++ b/buf.yaml @@ -7,3 +7,5 @@ lint: - DEFAULT ignore: - node_modules +deps: + - buf.build/berty/weshnet:a01c754f0f5441d4b4400796c7d170a2 diff --git a/go.mod b/go.mod index e3150b9687..67df5c4c3c 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/TERITORI/teritori-dapp go 1.18 require ( + berty.tech/weshnet v1.14.0 github.com/CosmWasm/wasmd v0.27.0 github.com/Khan/genqlient v0.5.0 github.com/allegro/bigcache/v3 v3.0.2 @@ -10,10 +11,12 @@ require ( github.com/cosmos/cosmos-sdk v0.45.4 github.com/cosmos/gogoproto v1.4.2 github.com/davecgh/go-spew v1.1.1 + github.com/dgraph-io/badger v1.6.2 github.com/friendsofgo/errors v0.9.2 github.com/go-co-op/gocron v1.18.0 github.com/gorilla/websocket v1.5.0 github.com/improbable-eng/grpc-web v0.14.1 + github.com/ipfs/go-ds-badger v0.3.0 github.com/jackc/pgx/v5 v5.3.0 github.com/mehanizm/airtable v0.2.8 github.com/peterbourgon/ff/v3 v3.3.0 @@ -24,37 +27,38 @@ require ( github.com/volatiletech/null/v8 v8.1.2 github.com/volatiletech/sqlboiler/v4 v4.13.0 github.com/volatiletech/strmangle v0.0.4 - go.uber.org/zap v1.23.0 - golang.org/x/exp v0.0.0-20221108223516-5d533826c662 - google.golang.org/grpc v1.52.0 - google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 + go.uber.org/zap v1.24.0 + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 + google.golang.org/grpc v1.50.1 + google.golang.org/protobuf v1.30.0 gorm.io/datatypes v1.2.0 gorm.io/driver/postgres v1.5.0 gorm.io/driver/sqlite v1.4.3 - gorm.io/gorm v1.25.2 + gorm.io/gorm v1.24.7-0.20230306060331-85eaf9eeda11 + moul.io/srand v1.6.1 ) require ( github.com/armon/go-metrics v0.3.10 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/btcsuite/btcd v0.22.0-beta // indirect + github.com/btcsuite/btcd v0.22.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/confio/ics23/go v0.7.0 // indirect github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v2 v2.2007.4 // indirect + github.com/dgraph-io/badger/v2 v2.2007.3 // indirect github.com/dgraph-io/ristretto v0.1.0 github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.0 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/glog v1.0.0 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect @@ -62,15 +66,15 @@ require ( github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.11 // indirect + github.com/klauspost/compress v1.16.4 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.6 // indirect - github.com/mattn/go-sqlite3 v1.14.15 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mattn/go-sqlite3 v1.14.16 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect @@ -78,9 +82,9 @@ require ( github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rs/cors v1.8.2 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect + github.com/rs/cors v1.8.3 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.5.0 // indirect @@ -95,84 +99,296 @@ require ( github.com/vektah/gqlparser/v2 v2.4.5 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - golang.org/x/crypto v0.6.0 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect - google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/crypto v0.7.0 // indirect + golang.org/x/net v0.8.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.8.0 // indirect + google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.6 // indirect + nhooyr.io/websocket v1.8.7 // indirect ) require ( - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 // indirect + berty.tech/go-ipfs-log v1.10.0 // indirect + berty.tech/go-ipfs-repo-encrypted v1.3.0 // indirect + berty.tech/go-orbit-db v1.22.0 // indirect + contrib.go.opencensus.io/exporter/prometheus v0.4.0 // indirect + filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/keyring v1.1.6 // indirect + github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/CosmWasm/wasmvm v1.0.0 // indirect + github.com/DataDog/zstd v1.4.5 // indirect github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/VictoriaMetrics/fastcache v1.5.7 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/adlio/schema v1.3.3 // indirect + github.com/aead/ecdh v0.2.0 // indirect + github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect + github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect + github.com/benbjohnson/clock v1.3.0 // indirect + github.com/berty/emitter-go v0.0.0-20221031144724-5dae963c3622 // indirect + github.com/berty/go-libp2p-mock v1.0.1 // indirect + github.com/berty/go-libp2p-pubsub v0.9.4-0.20230706070911-6e35c0f470b8 // indirect + github.com/berty/go-libp2p-rendezvous v0.5.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect + github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect + github.com/cenkalti/backoff v2.2.1+incompatible // indirect + github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/ceramicnetwork/go-dag-jose v0.1.0 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect + github.com/containerd/cgroups v1.1.0 // indirect + github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/iavl v0.17.3 // indirect github.com/cosmos/ibc-go/v3 v3.0.0 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect + github.com/cskr/pubsub v1.0.2 // indirect github.com/danieljoos/wincred v1.0.2 // indirect + github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/eclipse/paho.mqtt.golang v1.4.2 // indirect + github.com/elastic/gosigar v0.14.2 // indirect + github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302 // indirect github.com/ericlagergren/decimal v0.0.0-20181231230500-73749d4874d5 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect + github.com/flynn/noise v1.0.0 // indirect + github.com/francoispqt/gojay v1.2.13 // indirect + github.com/gabriel-vasile/mimetype v1.4.1 // indirect github.com/go-gorp/gorp/v3 v3.0.2 // indirect + github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect + github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gofrs/uuid v4.3.0+incompatible // indirect + github.com/godbus/dbus/v5 v5.1.0 // indirect + github.com/gofrs/uuid v4.3.1+incompatible // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/google/gopacket v1.1.19 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/pprof v0.0.0-20230405160723-4a4c7d95572b // indirect + github.com/google/tink/go v1.7.0 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/huin/goupnp v1.1.0 // indirect + github.com/hyperledger/aries-framework-go v0.1.9-0.20221202141134-083803ecf0a3 // indirect + github.com/hyperledger/aries-framework-go/spi v0.0.0-20221025204933-b807371b6f1e // indirect + github.com/hyperledger/ursa-wrapper-go v0.3.1 // indirect + github.com/ipfs/bbloom v0.0.4 // indirect + github.com/ipfs/go-bitfield v1.1.0 // indirect + github.com/ipfs/go-block-format v0.1.1 // indirect + github.com/ipfs/go-blockservice v0.5.0 // indirect + github.com/ipfs/go-cid v0.4.1 // indirect + github.com/ipfs/go-cidutil v0.1.0 // indirect + github.com/ipfs/go-datastore v0.6.0 // indirect + github.com/ipfs/go-delegated-routing v0.7.0 // indirect + github.com/ipfs/go-ds-badger2 v0.1.3 // indirect + github.com/ipfs/go-ds-flatfs v0.5.1 // indirect + github.com/ipfs/go-ds-leveldb v0.5.0 // indirect + github.com/ipfs/go-ds-measure v0.2.0 // indirect + github.com/ipfs/go-ds-sql v0.3.0 // indirect + github.com/ipfs/go-fetcher v1.6.1 // indirect + github.com/ipfs/go-filestore v1.2.0 // indirect + github.com/ipfs/go-fs-lock v0.0.7 // indirect + github.com/ipfs/go-graphsync v0.14.1 // indirect + github.com/ipfs/go-ipfs-blockstore v1.2.0 // indirect + github.com/ipfs/go-ipfs-chunker v0.0.5 // indirect + github.com/ipfs/go-ipfs-cmds v0.8.2 // indirect + github.com/ipfs/go-ipfs-delay v0.0.1 // indirect + github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect + github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect + github.com/ipfs/go-ipfs-exchange-offline v0.3.0 // indirect + github.com/ipfs/go-ipfs-keystore v0.1.0 // indirect + github.com/ipfs/go-ipfs-pinner v0.3.0 // indirect + github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect + github.com/ipfs/go-ipfs-pq v0.0.3 // indirect + github.com/ipfs/go-ipfs-provider v0.8.1 // indirect + github.com/ipfs/go-ipfs-redirects-file v0.1.1 // indirect + github.com/ipfs/go-ipfs-routing v0.3.0 // indirect + github.com/ipfs/go-ipfs-util v0.0.2 // indirect + github.com/ipfs/go-ipld-cbor v0.0.6 // indirect + github.com/ipfs/go-ipld-format v0.4.0 // indirect + github.com/ipfs/go-ipld-git v0.1.1 // indirect + github.com/ipfs/go-ipld-legacy v0.1.1 // indirect + github.com/ipfs/go-ipns v0.3.0 // indirect + github.com/ipfs/go-libipfs v0.6.2 // indirect + github.com/ipfs/go-log v1.0.5 // indirect + github.com/ipfs/go-log/v2 v2.5.1 // indirect + github.com/ipfs/go-merkledag v0.10.0 // indirect + github.com/ipfs/go-metrics-interface v0.0.1 // indirect + github.com/ipfs/go-mfs v0.2.1 // indirect + github.com/ipfs/go-namesys v0.7.0 // indirect + github.com/ipfs/go-path v0.3.1 // indirect + github.com/ipfs/go-peertaskqueue v0.8.1 // indirect + github.com/ipfs/go-pinning-service-http-client v0.1.2 // indirect + github.com/ipfs/go-unixfs v0.4.4 // indirect + github.com/ipfs/go-unixfsnode v1.5.2 // indirect + github.com/ipfs/go-verifcid v0.0.2 // indirect + github.com/ipfs/interface-go-ipfs-core v0.11.1 // indirect + github.com/ipfs/kubo v0.19.0 // indirect + github.com/ipld/edelweiss v0.2.0 // indirect + github.com/ipld/go-car v0.5.0 // indirect + github.com/ipld/go-car/v2 v2.5.1 // indirect + github.com/ipld/go-codec-dagpb v1.6.0 // indirect + github.com/ipld/go-ipld-prime v0.20.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackpal/go-nat-pmp v1.0.2 // indirect + github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect + github.com/jbenet/goprocess v0.1.4 // indirect github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect + github.com/kilic/bls12-381 v0.1.1-0.20210503002446-7b7597926c69 // indirect + github.com/klauspost/cpuid/v2 v2.2.4 // indirect + github.com/koron/go-ssdp v0.0.4 // indirect github.com/lib/pq v1.10.7 // indirect + github.com/libp2p/go-cidranger v1.1.0 // indirect + github.com/libp2p/go-doh-resolver v0.4.0 // indirect + github.com/libp2p/go-flow-metrics v0.1.0 // indirect + github.com/libp2p/go-libp2p v0.27.6 // indirect + github.com/libp2p/go-libp2p-asn-util v0.3.0 // indirect + github.com/libp2p/go-libp2p-gostream v0.5.0 // indirect + github.com/libp2p/go-libp2p-http v0.4.0 // indirect + github.com/libp2p/go-libp2p-kad-dht v0.21.1 // indirect + github.com/libp2p/go-libp2p-kbucket v0.5.0 // indirect + github.com/libp2p/go-libp2p-pubsub v0.9.3 // indirect + github.com/libp2p/go-libp2p-pubsub-router v0.6.0 // indirect + github.com/libp2p/go-libp2p-record v0.2.0 // indirect + github.com/libp2p/go-libp2p-routing-helpers v0.6.1 // indirect + github.com/libp2p/go-libp2p-xor v0.1.0 // indirect + github.com/libp2p/go-mplex v0.7.0 // indirect + github.com/libp2p/go-msgio v0.3.0 // indirect + github.com/libp2p/go-nat v0.1.0 // indirect + github.com/libp2p/go-netroute v0.2.1 // indirect + github.com/libp2p/go-reuseport v0.2.0 // indirect + github.com/libp2p/go-yamux/v4 v4.0.0 // indirect + github.com/libp2p/zeroconf/v2 v2.2.0 // indirect + github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect + github.com/maruel/circular v0.0.0-20200815005550-36e533b830e9 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/miekg/dns v1.1.53 // indirect + github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect + github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect github.com/minio/highwayhash v1.0.2 // indirect + github.com/minio/sha256-simd v1.0.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mr-tron/base58 v1.2.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/multiformats/go-base32 v0.1.0 // indirect + github.com/multiformats/go-base36 v0.2.0 // indirect + github.com/multiformats/go-multiaddr v0.9.0 // indirect + github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect + github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect + github.com/multiformats/go-multibase v0.2.0 // indirect + github.com/multiformats/go-multicodec v0.8.1 // indirect + github.com/multiformats/go-multihash v0.2.1 // indirect + github.com/multiformats/go-multistream v0.4.1 // indirect + github.com/multiformats/go-varint v0.0.7 // indirect + github.com/mutecomm/go-sqlcipher/v4 v4.4.2 // indirect + github.com/onsi/ginkgo/v2 v2.9.2 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect + github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/openzipkin/zipkin-go v0.4.0 // indirect + github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect + github.com/piprate/json-gold v0.4.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/polydawn/refmt v0.89.0 // indirect + github.com/pquerna/cachecontrol v0.1.0 // indirect + github.com/prometheus/statsd_exporter v0.21.0 // indirect + github.com/quic-go/qpack v0.4.0 // indirect + github.com/quic-go/qtls-go1-19 v0.3.2 // indirect + github.com/quic-go/qtls-go1-20 v0.2.2 // indirect + github.com/quic-go/quic-go v0.33.0 // indirect + github.com/quic-go/webtransport-go v0.5.2 // indirect github.com/rakyll/statik v0.1.7 // indirect + github.com/raulk/go-watchdog v1.3.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect github.com/rs/zerolog v1.27.0 // indirect + github.com/samber/lo v1.36.0 // indirect github.com/sirupsen/logrus v1.9.0 // indirect + github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693 // indirect github.com/tendermint/btcd v0.1.1 // indirect github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/teserakt-io/golang-ed25519 v0.0.0-20210104091850-3888c087a4c8 // indirect + github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb // indirect github.com/volatiletech/inflect v0.0.1 // indirect github.com/volatiletech/randomize v0.0.1 // indirect + github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc // indirect + github.com/whyrusleeping/cbor-gen v0.0.0-20230126041949-52956bd4c9aa // indirect + github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f // indirect + github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect + github.com/whyrusleeping/go-sysinfo v0.0.0-20190219211824-4a357d4b90b1 // indirect + github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/zondax/hid v0.9.0 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0 // indirect + go.opentelemetry.io/otel v1.11.1 // indirect + go.opentelemetry.io/otel/exporters/jaeger v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.7.0 // indirect + go.opentelemetry.io/otel/exporters/zipkin v1.7.0 // indirect + go.opentelemetry.io/otel/metric v0.30.0 // indirect + go.opentelemetry.io/otel/sdk v1.11.1 // indirect + go.opentelemetry.io/otel/trace v1.11.1 // indirect + go.opentelemetry.io/proto/otlp v0.16.0 // indirect + go.uber.org/dig v1.16.1 // indirect + go.uber.org/fx v1.19.2 // indirect + go4.org v0.0.0-20200411211856-f5505b9728dd // indirect + golang.org/x/mod v0.10.0 // indirect + golang.org/x/oauth2 v0.5.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect + golang.org/x/term v0.6.0 // indirect + golang.org/x/tools v0.7.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/appengine v1.6.7 // indirect + gopkg.in/square/go-jose.v2 v2.6.0 // indirect gorm.io/driver/mysql v1.4.7 // indirect + lukechampine.com/blake3 v1.1.7 // indirect + moul.io/openfiles v1.2.0 // indirect + moul.io/u v1.27.0 // indirect + moul.io/zapfilter v1.7.0 // indirect + moul.io/zapring v1.3.3 // indirect ) replace ( github.com/cosmos/iavl => github.com/cosmos/iavl v0.17.3 github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index 50323bf8cd..8cd5effa67 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,17 @@ +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 h1:SRsZGA7aFnCZETmov57jwPrWuTmaZK6+4R4v5FUe1/c= bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +berty.tech/go-ipfs-log v1.10.0 h1:IqCCIuo/gw+N4akdx1zDfXlwi8B4JtljF+xxY9zodUg= +berty.tech/go-ipfs-log v1.10.0/go.mod h1:TBEa6g2nkn21VtkVd6Gkk3xR9c8BfH/E8eH7tjjwhec= +berty.tech/go-ipfs-repo-encrypted v1.3.0 h1:k7whfA58pFaFF1AGtqCmT878QpvQXkLSAlZQPvqoeo8= +berty.tech/go-ipfs-repo-encrypted v1.3.0/go.mod h1:lbWggsc67nM48IPP5K9vDLNPT3yYELP7Q6Sni9cufQs= +berty.tech/go-orbit-db v1.22.0 h1:BiUGk9ukOKJMQ2YlQV/e9gjR9TOedIa9LUDfjp9CVHA= +berty.tech/go-orbit-db v1.22.0/go.mod h1:RC3/C/igfM7b2RuT7WIloOHbFz9zZTJxB3jOEqC6UWA= +berty.tech/weshnet v1.14.0 h1:IIBZ4bQABwwHDSTPgPWBMS0PTBMaBAm4uUs/jJxzEdo= +berty.tech/weshnet v1.14.0/go.mod h1:BNV2f0xxLFIPwNJNf8KprEAGfIqvzGh8uu7QGhRxe7w= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= @@ -49,12 +61,24 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= +contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= +dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= +dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= +dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/99designs/gqlgen v0.17.2/go.mod h1:K5fzLKwtph+FFgh9j7nFbRUdBKvTcGnsta51fsMTn3o= github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= +github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= +github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= @@ -94,12 +118,14 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20O github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Khan/genqlient v0.5.0 h1:TMZJ+tl/BpbmGyIBiXzKzUftDhw4ZWxQZ+1ydn0gyII= github.com/Khan/genqlient v0.5.0/go.mod h1:EpIvDVXYm01GP6AXzjA7dKriPTH6GmtpmvTAwUUqIX8= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= @@ -115,8 +141,12 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8 github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/sarama v1.30.0/go.mod h1:zujlQQx1kzHsh4jfV1USnptCQrHAEZ2Hk8fTKCulPVs= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae/go.mod h1:/cvHQkZ1fst0EmZnA5dFtiQdWCNCFYzb+uE2vqVgvx0= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/Stebalien/go-bitfield v0.0.1/go.mod h1:GNjFpasyUVkHMsfEOk8EFLJ9syQ6SI+XWrX9Wf2XH0s= +github.com/VictoriaMetrics/fastcache v1.5.7 h1:4y6y0G8PRzszQUYIQHHssv/jgPHAb5qQuuDNdCbyAgw= github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= @@ -128,6 +158,8 @@ github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQH github.com/adlio/schema v1.3.0/go.mod h1:51QzxkpeFs6lRY11kPye26IaFPOV+HqEj01t5aXXKfs= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= +github.com/aead/ecdh v0.2.0 h1:pYop54xVaq/CEREFEcukHRZfTdjiWvYIsZDXXrBapQQ= +github.com/aead/ecdh v0.2.0/go.mod h1:a9HHtXuSo8J1Js1MwLQx2mBhkXMT6YwUmVVEY4tTB8U= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= @@ -139,13 +171,20 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 h1:iW0a5ljuFxkLGPNem5Ui+KBjFJzKg4Fv2fnxe4dvzpM= +github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h1:Y2QMoi1vgtOIfc+6DhrMOGkLoGzqSV2rKp4Sm+opsyA= github.com/alexflint/go-arg v1.4.2/go.mod h1:9iRbDxne7LcR/GSvEr7ma++GLpdIU1zrghf2y2768kM= github.com/alexflint/go-scalar v1.0.0/go.mod h1:GpHzbCOZXEKMEcygYQ5n/aa4Aq84zbxjy3MxYW0gjYw= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/allegro/bigcache/v3 v3.0.2 h1:AKZCw+5eAaVyNTBmI2fgyPVJhHkdWder3O9IrprcQfI= github.com/allegro/bigcache/v3 v3.0.2/go.mod h1:aPyh7jEvrog9zAwx5N7+JUQX5dZTSGpxF1LAR4dr35I= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -169,25 +208,43 @@ github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZw github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/berty/emitter-go v0.0.0-20221031144724-5dae963c3622 h1:kJqfCXKR5EJdh9HYh4rjYL3QvxjP5cnCssIU141m79c= +github.com/berty/emitter-go v0.0.0-20221031144724-5dae963c3622/go.mod h1:G66sIy+q6BKIoKoKNqFU7sxSnrS5d8Z8meQ3Iu0ZJ4o= +github.com/berty/go-libp2p-mock v1.0.1 h1:2lsXlZOQvELcvrkHTlK2t2965sg7pkr1sWrucH6S2zg= +github.com/berty/go-libp2p-mock v1.0.1/go.mod h1:PsUBOq6zSAjXKLlSKRzhkIpjm7ZxGgjLn/FZY+3CoKs= +github.com/berty/go-libp2p-pubsub v0.9.4-0.20230706070911-6e35c0f470b8 h1:04xF+6wtZhEIHv+1ghqd7hhCePdKmPykJWSjEyy0uT4= +github.com/berty/go-libp2p-pubsub v0.9.4-0.20230706070911-6e35c0f470b8/go.mod h1:d/76O2W9ZLphGN2Q7Q1QSolJGV3zaO8D+da3Bdpk5d0= +github.com/berty/go-libp2p-rendezvous v0.5.0 h1:eT8fBh+OewfTB6uAA47rzdgAVo/aevW4TA7PvZq75T4= +github.com/berty/go-libp2p-rendezvous v0.5.0/go.mod h1:gkDEobp0lV+DHfNzO7+kCJxApO0vmpOEV+Z5uttZYGM= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/bradleyjkemp/cupaloy/v2 v2.6.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= +github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= +github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= +github.com/btcsuite/btcd v0.0.0-20190605094302-a0d1e3e36d50/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= +github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.22.0-beta h1:LTDpDKUM5EeOFBPM8IXpinEcmZ6FWfNZbE3lfrfdnWo= github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= +github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= +github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= @@ -202,6 +259,7 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/bxcodec/faker/v3 v3.8.0 h1:F59Qqnsh0BOtZRC+c4cXoB/VNYDMS3R5mlSpxIap1oU= github.com/bxcodec/faker/v3 v3.8.0/go.mod h1:gF31YgnMSMKgkvl+fyEo1xuSMbEuieyqfeslGYFjneM= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= @@ -209,28 +267,43 @@ github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRt github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/ceramicnetwork/go-dag-jose v0.1.0 h1:yJ/HVlfKpnD3LdYP03AHyTvbm3BpPiz2oZiOeReJRdU= +github.com/ceramicnetwork/go-dag-jose v0.1.0/go.mod h1:qYA1nYt0X8u4XoMAVoOV3upUVKtrxy/I670Dg5F0wjI= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -240,6 +313,9 @@ github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= +github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.2.1/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg= @@ -251,9 +327,13 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= @@ -281,8 +361,12 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:ma github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 h1:HVTnpeuvF6Owjd5mniCL8DEXo7uYXdQEmOP4FJbV5tg= +github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3/go.mod h1:p1d6YEZWvFzEh4KLyvBcVSnrfNDDvK2zfK/4x2v/4pE= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= +github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= @@ -290,20 +374,34 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= +github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= +github.com/dgraph-io/badger v1.6.0-rc1/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger v1.6.1/go.mod h1:FRmFw3uxvcpa8zG3Rxs0th+hCLIuaQg8HlNV5bjgnuU= +github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= +github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE= github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= -github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= +github.com/dgraph-io/badger/v2 v2.2007.3 h1:Sl9tQWz92WCbVSe8pj04Tkqlm2boW+KAxd+XSs58SQI= +github.com/dgraph-io/badger/v2 v2.2007.3/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= +github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= @@ -326,17 +424,36 @@ github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b h1:HBah4D48yp github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/eclipse/paho.mqtt.golang v1.4.2 h1:66wOzfUHSSI1zamx7jR6yMEI5EuHnT1G6rNA5PM12m4= +github.com/eclipse/paho.mqtt.golang v1.4.2/go.mod h1:JGt0RsEwEX+Xa/agj90YJ9d9DH2b7upDZMK9HRbFvCA= github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elastic/gosigar v0.12.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= +github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302 h1:QV0ZrfBLpFc2KDk+a4LJefDczXnonRwrYrQJY/9L4dA= +github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302/go.mod h1:qBlWZqWeVx9BjvqBsnC/8RUlAYpIFmPvgROcw0n1scE= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/ericlagergren/decimal v0.0.0-20181231230500-73749d4874d5 h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE= github.com/ericlagergren/decimal v0.0.0-20181231230500-73749d4874d5/go.mod h1:1yj25TwtUlJ+pfOu9apAVaM1RWfZGg+aFpd4hPQZekQ= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= +github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 h1:BBso6MBKW8ncyZLv37o+KNyy0HrrHgfnOaGQC2qvN+A= +github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5/go.mod h1:JpoxHjuQauoxiFMl1ie8Xc/7TfLuMZ5eOCONd1sUBHg= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -348,33 +465,47 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= +github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= +github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/friendsofgo/errors v0.9.2 h1:X6NYxef4efCBdwI7BgS820zFaN7Cphrmb+Pljdzjtgk= github.com/friendsofgo/errors v0.9.2/go.mod h1:yCvFW5AkDIL9qn7suHVLiI/gH228n7PC4Pn44IGoTOI= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/gabriel-vasile/mimetype v1.4.1 h1:TRWk7se+TOjCYgRth7+1/OYLNiRNIotknkFtf/dnN7Q= +github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-co-op/gocron v1.18.0 h1:SxTyJ5xnSN4byCq7b10LmmszFdxQlSQJod8s3gbnXxA= github.com/go-co-op/gocron v1.18.0/go.mod h1:sD/a0Aadtw5CpflUJ/lpP9Vfdk979Wl1Sg33HPHg0FY= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -394,6 +525,11 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -412,6 +548,9 @@ github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU= github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs= @@ -427,13 +566,17 @@ github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= +github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= -github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.3.1+incompatible h1:0/KbAdpx3UXAx1kEOWHJeOkpbgRFGHVgv+CFIY7dBJI= +github.com/gofrs/uuid v4.3.1+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -444,14 +587,19 @@ github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+ github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= @@ -478,8 +626,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -502,13 +651,18 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= +github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -530,17 +684,27 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20230405160723-4a4c7d95572b h1:Qcx5LM0fSiks9uCyFZwDBUasd3lxd1RM0GYpL+Li5o4= +github.com/google/pprof v0.0.0-20230405160723-4a4c7d95572b/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w= +github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f h1:KMlcu9X58lhTA/KrfX8Bi1LQSO4pzoVjTiL3h4Jk+Zk= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -548,6 +712,8 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= @@ -557,17 +723,21 @@ github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWm github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -575,6 +745,10 @@ github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= +github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= +github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e h1:3YKHER4nmd7b5qy5t0GWDTwSn4OyRgfAXSmo6VnryBY= +github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e/go.mod h1:I8h3MITA53gN9OnWGCgaMa0JWVRdXthWw4M3CPM54OY= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= @@ -583,6 +757,8 @@ github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyN github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= @@ -595,14 +771,17 @@ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -610,6 +789,8 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU= +github.com/hashicorp/golang-lru/v2 v2.0.2/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= @@ -631,7 +812,15 @@ github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= +github.com/huin/goupnp v1.1.0 h1:gEe0Dp/lZmPZiDFzJJaOfUpOvv2MKUkoBX8lDrn9vKU= +github.com/huin/goupnp v1.1.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/hyperledger/aries-framework-go v0.1.9-0.20221202141134-083803ecf0a3 h1:r/jf1DTXG72uO5xK1VgZGywcjBlXh1E8kKnAt67bXJA= +github.com/hyperledger/aries-framework-go v0.1.9-0.20221202141134-083803ecf0a3/go.mod h1:5lp5+NPjRngsjFLYYGg5mtkvw6I4Mr7CKz+wHYxROk0= +github.com/hyperledger/aries-framework-go/spi v0.0.0-20221025204933-b807371b6f1e h1:SxbXlF39661T9w/L9PhVdtbJfJ51Pm4JYEEW6XfZHEQ= +github.com/hyperledger/aries-framework-go/spi v0.0.0-20221025204933-b807371b6f1e/go.mod h1:oryUyWb23l/a3tAP9KW+GBbfcfqp9tZD4y5hSkFrkqI= +github.com/hyperledger/ursa-wrapper-go v0.3.1 h1:Do+QrVNniY77YK2jTIcyWqj9rm/Yb5SScN0bqCjiibA= +github.com/hyperledger/ursa-wrapper-go v0.3.1/go.mod h1:nPSAuMasIzSVciQo22PedBk4Opph6bJ6ia3ms7BH/mk= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -639,11 +828,226 @@ github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= +github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= +github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= +github.com/ipfs/go-bitfield v1.0.0/go.mod h1:N/UiujQy+K+ceU1EF5EkVd1TNqevLrCQMIcAEPrdtus= +github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA= +github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU= +github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0= +github.com/ipfs/go-bitswap v0.1.2/go.mod h1:qxSWS4NXGs7jQ6zQvoPY3+NmOfHHG47mhkiLzBpJQIs= +github.com/ipfs/go-bitswap v0.5.1/go.mod h1:P+ckC87ri1xFLvk74NlXdP0Kj9RmWAh4+H78sC6Qopo= +github.com/ipfs/go-bitswap v0.6.0/go.mod h1:Hj3ZXdOC5wBJvENtdqsixmzzRukqd8EHLxZLZc3mzRA= +github.com/ipfs/go-bitswap v0.11.0 h1:j1WVvhDX1yhG32NTC9xfxnqycqYIlhzEzLXG/cU1HyQ= +github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc= +github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= +github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk= +github.com/ipfs/go-block-format v0.1.1 h1:129vSO3zwbsYADcyQWcOYiuCpAqt462SFfqFHdFJhhI= +github.com/ipfs/go-block-format v0.1.1/go.mod h1:+McEIT+g52p+zz5xGAABGSOKrzmrdX97bc0USBdWPUs= +github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7sYcvYaKbop39M= +github.com/ipfs/go-blockservice v0.2.1/go.mod h1:k6SiwmgyYgs4M/qt+ww6amPeUH9EISLRBnvUurKJhi8= +github.com/ipfs/go-blockservice v0.3.0/go.mod h1:P5ppi8IHDC7O+pA0AlGTF09jruB2h+oP3wVVaZl8sfk= +github.com/ipfs/go-blockservice v0.5.0 h1:B2mwhhhVQl2ntW2EIpaWPwSCxSuqr5fFA93Ms4bYLEY= +github.com/ipfs/go-blockservice v0.5.0/go.mod h1:W6brZ5k20AehbmERplmERn8o2Ni3ZZubvAxaIUeaT6w= +github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= +github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= +github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +github.com/ipfs/go-cid v0.1.0/go.mod h1:rH5/Xv83Rfy8Rw6xG+id3DYAMUVmem1MowoKwdXmN2o= +github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= +github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= +github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q= +github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA= +github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.1.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= +github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= +github.com/ipfs/go-datastore v0.4.0/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.1/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.4/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.5/go.mod h1:eXTcaaiN6uOlVCLS9GjJUJtlvJfM3xk23w3fyfrmmJs= +github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= +github.com/ipfs/go-datastore v0.5.1/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= +github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= +github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8= +github.com/ipfs/go-delegated-routing v0.7.0 h1:43FyMnKA+8XnyX68Fwg6aoGkqrf8NS5aG7p644s26PU= +github.com/ipfs/go-delegated-routing v0.7.0/go.mod h1:u4zxjUWIe7APUW5ds9CfD0tJX3vM9JhIeNqA8kE4vHE= +github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= +github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= +github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= +github.com/ipfs/go-ds-badger v0.0.5/go.mod h1:g5AuuCGmr7efyzQhLL8MzwqcauPojGPUaHzfGTzuE3s= +github.com/ipfs/go-ds-badger v0.0.7/go.mod h1:qt0/fWzZDoPW6jpQeqUjR5kBfhDNB65jd9YlmAvpQBk= +github.com/ipfs/go-ds-badger v0.2.1/go.mod h1:Tx7l3aTph3FMFrRS838dcSJh+jjA7cX9DrGVwx/NOwE= +github.com/ipfs/go-ds-badger v0.2.3/go.mod h1:pEYw0rgg3FIrywKKnL+Snr+w/LjJZVMTBRn4FS6UHUk= +github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= +github.com/ipfs/go-ds-badger v0.3.0/go.mod h1:1ke6mXNqeV8K3y5Ak2bAA0osoTfmxUdupVCGm4QUIek= +github.com/ipfs/go-ds-badger2 v0.1.3 h1:Zo9JicXJ1DmXTN4KOw7oPXkspZ0AWHcAFCP1tQKnegg= +github.com/ipfs/go-ds-badger2 v0.1.3/go.mod h1:TPhhljfrgewjbtuL/tczP8dNrBYwwk+SdPYbms/NO9w= +github.com/ipfs/go-ds-flatfs v0.5.1 h1:ZCIO/kQOS/PSh3vcF1H6a8fkRGS7pOfwfPdx4n/KJH4= +github.com/ipfs/go-ds-flatfs v0.5.1/go.mod h1:RWTV7oZD/yZYBKdbVIFXTX2fdY2Tbvl94NsWqmoyAX4= +github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= +github.com/ipfs/go-ds-leveldb v0.1.0/go.mod h1:hqAW8y4bwX5LWcCtku2rFNX3vjDZCy5LZCg+cSZvYb8= +github.com/ipfs/go-ds-leveldb v0.4.1/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= +github.com/ipfs/go-ds-leveldb v0.4.2/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= +github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= +github.com/ipfs/go-ds-leveldb v0.5.0/go.mod h1:d3XG9RUDzQ6V4SHi8+Xgj9j1XuEk1z82lquxrVbml/Q= +github.com/ipfs/go-ds-measure v0.2.0 h1:sG4goQe0KDTccHMyT45CY1XyUbxe5VwTKpg2LjApYyQ= +github.com/ipfs/go-ds-measure v0.2.0/go.mod h1:SEUD/rE2PwRa4IQEC5FuNAmjJCyYObZr9UvVh8V3JxE= +github.com/ipfs/go-ds-sql v0.3.0 h1:PLBbl0Rt0tBwWhQ0b3GCQbH+Bgd6aj2srKG6vJ7nYl4= +github.com/ipfs/go-ds-sql v0.3.0/go.mod h1:jE3bhmuUnMPXFftc4NEAiPUfgiwiv7fIdjozuX+m1/E= +github.com/ipfs/go-fetcher v1.6.1 h1:UFuRVYX5AIllTiRhi5uK/iZkfhSpBCGX7L70nSZEmK8= +github.com/ipfs/go-fetcher v1.6.1/go.mod h1:27d/xMV8bodjVs9pugh/RCjjK2OZ68UgAMspMdingNo= +github.com/ipfs/go-filestore v1.2.0 h1:O2wg7wdibwxkEDcl7xkuQsPvJFRBVgVSsOJ/GP6z3yU= +github.com/ipfs/go-filestore v1.2.0/go.mod h1:HLJrCxRXquTeEEpde4lTLMaE/MYJZD7WHLkp9z6+FF8= +github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U= +github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc= +github.com/ipfs/go-graphsync v0.14.1 h1:tvFpBY9LcehIB7zi5SZIa+7aoxBOrGbdekhOXdnlT70= +github.com/ipfs/go-graphsync v0.14.1/go.mod h1:S6O/c5iXOXqDgrQgiZSgOTRUSiVvpKEhrzqFHKnLVcs= +github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= +github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= +github.com/ipfs/go-ipfs-blockstore v0.2.1/go.mod h1:jGesd8EtCM3/zPgx+qr0/feTXGUeRai6adgwC+Q+JvE= +github.com/ipfs/go-ipfs-blockstore v1.2.0 h1:n3WTeJ4LdICWs/0VSfjHrlqpPpl6MZ+ySd3j8qz0ykw= +github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= +github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= +github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= +github.com/ipfs/go-ipfs-chunker v0.0.1/go.mod h1:tWewYK0we3+rMbOh7pPFGDyypCtvGcBFymgY4rSDLAw= +github.com/ipfs/go-ipfs-chunker v0.0.5 h1:ojCf7HV/m+uS2vhUGWcogIIxiO5ubl5O57Q7NapWLY8= +github.com/ipfs/go-ipfs-chunker v0.0.5/go.mod h1:jhgdF8vxRHycr00k13FM8Y0E+6BoalYeobXmUyTreP8= +github.com/ipfs/go-ipfs-cmds v0.8.2 h1:WmehvYWkxch8dTw0bdF51R8lqbyl+3H8e6pIACzT/ds= +github.com/ipfs/go-ipfs-cmds v0.8.2/go.mod h1:/b17Davff0E0Wh/hhXsN1Pgxxbkm26k3PV+G4EDiC/s= +github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= +github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ= +github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= +github.com/ipfs/go-ipfs-ds-help v0.0.1/go.mod h1:gtP9xRaZXqIQRh1HRpp595KbBEdgqWFxefeVKOV8sxo= +github.com/ipfs/go-ipfs-ds-help v0.1.1/go.mod h1:SbBafGJuGsPI/QL3j9Fc5YPLeAu+SzOkI0gFwAg+mOs= +github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q= +github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU= +github.com/ipfs/go-ipfs-exchange-interface v0.0.1/go.mod h1:c8MwfHjtQjPoDyiy9cFquVtVHkO9b9Ob3FG91qJnWCM= +github.com/ipfs/go-ipfs-exchange-interface v0.1.0/go.mod h1:ych7WPlyHqFvCi/uQI48zLZuAWVP5iTQPXEfVaw5WEI= +github.com/ipfs/go-ipfs-exchange-interface v0.2.0 h1:8lMSJmKogZYNo2jjhUs0izT+dck05pqUw4mWNW9Pw6Y= +github.com/ipfs/go-ipfs-exchange-interface v0.2.0/go.mod h1:z6+RhJuDQbqKguVyslSOuVDhqF9JtTrO3eptSAiW2/Y= +github.com/ipfs/go-ipfs-exchange-offline v0.0.1/go.mod h1:WhHSFCVYX36H/anEKQboAzpUws3x7UeEGkzQc3iNkM0= +github.com/ipfs/go-ipfs-exchange-offline v0.1.1/go.mod h1:vTiBRIbzSwDD0OWm+i3xeT0mO7jG2cbJYatp3HPk5XY= +github.com/ipfs/go-ipfs-exchange-offline v0.2.0/go.mod h1:HjwBeW0dvZvfOMwDP0TSKXIHf2s+ksdP4E3MLDRtLKY= +github.com/ipfs/go-ipfs-exchange-offline v0.3.0 h1:c/Dg8GDPzixGd0MC8Jh6mjOwU57uYokgWRFidfvEkuA= +github.com/ipfs/go-ipfs-exchange-offline v0.3.0/go.mod h1:MOdJ9DChbb5u37M1IcbrRB02e++Z7521fMxqCNRrz9s= +github.com/ipfs/go-ipfs-files v0.0.3/go.mod h1:INEFm0LL2LWXBhNJ2PMIIb2w45hpXgPjNoE7yA8Y1d4= +github.com/ipfs/go-ipfs-keystore v0.1.0 h1:gfuQUO/cyGZgZIHE6OrJas4OnwuxXCqJG7tI0lrB5Qc= +github.com/ipfs/go-ipfs-keystore v0.1.0/go.mod h1:LvLw7Qhnb0RlMOfCzK6OmyWxICip6lQ06CCmdbee75U= +github.com/ipfs/go-ipfs-pinner v0.3.0 h1:jwe5ViX3BON3KgOAYrrhav2+1ONB0QzFAWQd7HUlbuM= +github.com/ipfs/go-ipfs-pinner v0.3.0/go.mod h1:oX0I0nC6zlNIh0LslSrUnjfNKPq8ufoFtqV1/wcJvyo= +github.com/ipfs/go-ipfs-posinfo v0.0.1 h1:Esoxj+1JgSjX0+ylc0hUmJCOv6V2vFoZiETLR6OtpRs= +github.com/ipfs/go-ipfs-posinfo v0.0.1/go.mod h1:SwyeVP+jCwiDu0C313l/8jg6ZxM0qqtlt2a0vILTc1A= +github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY= +github.com/ipfs/go-ipfs-pq v0.0.2/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY= +github.com/ipfs/go-ipfs-pq v0.0.3 h1:YpoHVJB+jzK15mr/xsWC574tyDLkezVrDNeaalQBsTE= +github.com/ipfs/go-ipfs-pq v0.0.3/go.mod h1:btNw5hsHBpRcSSgZtiNm/SLj5gYIZ18AKtv3kERkRb4= +github.com/ipfs/go-ipfs-provider v0.8.1 h1:qt670pYmcNH3BCjyXDgg07o2WsTRsOdMwYc25ukCdjQ= +github.com/ipfs/go-ipfs-provider v0.8.1/go.mod h1:qCpwpoohIRVXvNzkygzsM3qdqP/sXlrogtA5I45tClc= +github.com/ipfs/go-ipfs-redirects-file v0.1.1 h1:Io++k0Vf/wK+tfnhEh63Yte1oQK5VGT2hIEYpD0Rzx8= +github.com/ipfs/go-ipfs-redirects-file v0.1.1/go.mod h1:tAwRjCV0RjLTjH8DR/AU7VYvfQECg+lpUy2Mdzv7gyk= +github.com/ipfs/go-ipfs-routing v0.1.0/go.mod h1:hYoUkJLyAUKhF58tysKpids8RNDPO42BVMgK5dNsoqY= +github.com/ipfs/go-ipfs-routing v0.2.1/go.mod h1:xiNNiwgjmLqPS1cimvAw6EyB9rkVDbiocA4yY+wRNLM= +github.com/ipfs/go-ipfs-routing v0.3.0 h1:9W/W3N+g+y4ZDeffSgqhgo7BsBSJwPMcyssET9OWevc= +github.com/ipfs/go-ipfs-routing v0.3.0/go.mod h1:dKqtTFIql7e1zYsEuWLyuOU+E0WJWW8JjbTPLParDWo= +github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc= +github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8= +github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= +github.com/ipfs/go-ipld-cbor v0.0.2/go.mod h1:wTBtrQZA3SoFKMVkp6cn6HMRteIB1VsmHA0AQFOn7Nc= +github.com/ipfs/go-ipld-cbor v0.0.3/go.mod h1:wTBtrQZA3SoFKMVkp6cn6HMRteIB1VsmHA0AQFOn7Nc= +github.com/ipfs/go-ipld-cbor v0.0.5/go.mod h1:BkCduEx3XBCO6t2Sfo5BaHzuok7hbhdMm9Oh8B2Ftq4= +github.com/ipfs/go-ipld-cbor v0.0.6 h1:pYuWHyvSpIsOOLw4Jy7NbBkCyzLDcl64Bf/LZW7eBQ0= +github.com/ipfs/go-ipld-cbor v0.0.6/go.mod h1:ssdxxaLJPXH7OjF5V4NSjBbcfh+evoR4ukuru0oPXMA= +github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= +github.com/ipfs/go-ipld-format v0.0.2/go.mod h1:4B6+FM2u9OJ9zCV+kSbgFAZlOrv1Hqbf0INGQgiKf9k= +github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= +github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= +github.com/ipfs/go-ipld-format v0.4.0 h1:yqJSaJftjmjc9jEOFYlpkwOLVKv68OD27jFLlSghBlQ= +github.com/ipfs/go-ipld-format v0.4.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= +github.com/ipfs/go-ipld-git v0.1.1 h1:TWGnZjS0htmEmlMFEkA3ogrNCqWjIxwr16x1OsdhG+Y= +github.com/ipfs/go-ipld-git v0.1.1/go.mod h1:+VyMqF5lMcJh4rwEppV0e6g4nCCHXThLYYDpKUkJubI= +github.com/ipfs/go-ipld-legacy v0.1.0/go.mod h1:86f5P/srAmh9GcIcWQR9lfFLZPrIyyXQeVlOWeeWEuI= +github.com/ipfs/go-ipld-legacy v0.1.1 h1:BvD8PEuqwBHLTKqlGFTHSwrwFOMkVESEvwIYwR2cdcc= +github.com/ipfs/go-ipld-legacy v0.1.1/go.mod h1:8AyKFCjgRPsQFf15ZQgDB8Din4DML/fOmKZkkFkrIEg= +github.com/ipfs/go-ipns v0.3.0 h1:ai791nTgVo+zTuq2bLvEGmWP1M0A6kGTXUsgv/Yq67A= +github.com/ipfs/go-ipns v0.3.0/go.mod h1:3cLT2rbvgPZGkHJoPO1YMJeh6LtkxopCkKFcio/wE24= +github.com/ipfs/go-libipfs v0.6.2 h1:QUf3kS3RrCjgtE0QW2d18PFFfOLeEt24Ft892ipLzRI= +github.com/ipfs/go-libipfs v0.6.2/go.mod h1:FmhKgxMOQA572TK5DA3MZ5GL44ZqsMHIrkgK4gLn4A8= +github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= +github.com/ipfs/go-log v1.0.2/go.mod h1:1MNjMxe0u6xvJZgeqbJ8vdo2TKaGwZ1a0Bpza+sr2Sk= +github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A= +github.com/ipfs/go-log v1.0.4/go.mod h1:oDCg2FkjogeFOhqqb+N39l2RpTNPL6F/StPkB3kPgcs= +github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= +github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= +github.com/ipfs/go-log/v2 v2.0.2/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0= +github.com/ipfs/go-log/v2 v2.0.3/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0= +github.com/ipfs/go-log/v2 v2.0.5/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw= +github.com/ipfs/go-log/v2 v2.1.1/go.mod h1:2v2nsGfZsvvAJz13SyFzf9ObaqwHiHxsPLEHntrv9KM= +github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g= +github.com/ipfs/go-log/v2 v2.3.0/go.mod h1:QqGoj30OTpnKaG/LKTGTxoP2mmQtjVMEnK72gynbe/g= +github.com/ipfs/go-log/v2 v2.5.0/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= +github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= +github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= +github.com/ipfs/go-merkledag v0.2.3/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk= +github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= +github.com/ipfs/go-merkledag v0.5.1/go.mod h1:cLMZXx8J08idkp5+id62iVftUQV+HlYJ3PIhDfZsjA4= +github.com/ipfs/go-merkledag v0.6.0/go.mod h1:9HSEwRd5sV+lbykiYP+2NC/3o6MZbKNaa4hfNcH5iH0= +github.com/ipfs/go-merkledag v0.10.0 h1:IUQhj/kzTZfam4e+LnaEpoiZ9vZF6ldimVlby+6OXL4= +github.com/ipfs/go-merkledag v0.10.0/go.mod h1:zkVav8KiYlmbzUzNM6kENzkdP5+qR7+2mCwxkQ6GIj8= +github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= +github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= +github.com/ipfs/go-mfs v0.2.1 h1:5jz8+ukAg/z6jTkollzxGzhkl3yxm022Za9f2nL5ab8= +github.com/ipfs/go-mfs v0.2.1/go.mod h1:Woj80iuw4ajDnIP6+seRaoHpPsc9hmL0pk/nDNDWP88= +github.com/ipfs/go-namesys v0.7.0 h1:xqosk71GIVRkFDtF2UNRcXn4LdNeo7tzuy8feHD6NbU= +github.com/ipfs/go-namesys v0.7.0/go.mod h1:KYSZBVZG3VJC34EfqqJPG7T48aWgxseoMPAPA5gLyyQ= +github.com/ipfs/go-path v0.2.1/go.mod h1:NOScsVgxfC/eIw4nz6OiGwK42PjaSJ4Y/ZFPn1Xe07I= +github.com/ipfs/go-path v0.3.1 h1:wkeaCWE/NTuuPGlEkLTsED5UkzfKYZpxaFFPgk8ZVLE= +github.com/ipfs/go-path v0.3.1/go.mod h1:eNLsxJEEMxn/CDzUJ6wuNl+6No6tEUhOZcPKsZsYX0E= +github.com/ipfs/go-peertaskqueue v0.1.0/go.mod h1:Jmk3IyCcfl1W3jTW3YpghSwSEC6IJ3Vzz/jUmWw8Z0U= +github.com/ipfs/go-peertaskqueue v0.7.0/go.mod h1:M/akTIE/z1jGNXMU7kFB4TeSEFvj68ow0Rrb04donIU= +github.com/ipfs/go-peertaskqueue v0.8.1 h1:YhxAs1+wxb5jk7RvS0LHdyiILpNmRIRnZVztekOF0pg= +github.com/ipfs/go-peertaskqueue v0.8.1/go.mod h1:Oxxd3eaK279FxeydSPPVGHzbwVeHjatZ2GA8XD+KbPU= +github.com/ipfs/go-pinning-service-http-client v0.1.2 h1:jdr7KelhL9gNHTU8jbqPMwIexSZXgZzxNGkycCwmbXI= +github.com/ipfs/go-pinning-service-http-client v0.1.2/go.mod h1:6wd5mjYhXJTiWU8b4RSWPpWdlzE5/csoXV0dWWMjun4= +github.com/ipfs/go-unixfs v0.2.4/go.mod h1:SUdisfUjNoSDzzhGVxvCL9QO/nKdwXdr+gbMUdqcbYw= +github.com/ipfs/go-unixfs v0.3.1/go.mod h1:h4qfQYzghiIc8ZNFKiLMFWOTzrWIAtzYQ59W/pCFf1o= +github.com/ipfs/go-unixfs v0.4.4 h1:D/dLBOJgny5ZLIur2vIXVQVW0EyDHdOMBDEhgHrt6rY= +github.com/ipfs/go-unixfs v0.4.4/go.mod h1:TSG7G1UuT+l4pNj91raXAPkX0BhJi3jST1FDTfQ5QyM= +github.com/ipfs/go-unixfsnode v1.1.2/go.mod h1:5dcE2x03pyjHk4JjamXmunTMzz+VUtqvPwZjIEkfV6s= +github.com/ipfs/go-unixfsnode v1.5.2 h1:CvsiTt58W2uR5dD8bqQv+aAY0c1qolmXmSyNbPHYiew= +github.com/ipfs/go-unixfsnode v1.5.2/go.mod h1:NlOebRwYx8lMCNMdhAhEspYPBD3obp7TE0LvBqHY+ks= +github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0= +github.com/ipfs/go-verifcid v0.0.2 h1:XPnUv0XmdH+ZIhLGKg6U2vaPaRDXb9urMyNVCE7uvTs= +github.com/ipfs/go-verifcid v0.0.2/go.mod h1:40cD9x1y4OWnFXbLNJYRe7MpNvWlMn3LZAG5Wb4xnPU= +github.com/ipfs/interface-go-ipfs-core v0.11.1 h1:xVW8DKzd230h8bPv+oC2fBjW4PtDGqGtvpX64/aBe48= +github.com/ipfs/interface-go-ipfs-core v0.11.1/go.mod h1:xmnoccUXY7N/Q8AIx0vFqgW926/FAZ8+do/1NTEHKsU= +github.com/ipfs/kubo v0.19.0 h1:5B58RXikTqs9six7FweQSzo6WvBKiP2MVwYCvJomV7k= +github.com/ipfs/kubo v0.19.0/go.mod h1:OqX4B1YWKWCvi9T/sKDfTBMAKbVi6yVIXAii6/nr1Dc= +github.com/ipld/edelweiss v0.2.0 h1:KfAZBP8eeJtrLxLhi7r3N0cBCo7JmwSRhOJp3WSpNjk= +github.com/ipld/edelweiss v0.2.0/go.mod h1:FJAzJRCep4iI8FOFlRriN9n0b7OuX3T/S9++NpBDmA4= +github.com/ipld/go-car v0.5.0 h1:kcCEa3CvYMs0iE5BzD5sV7O2EwMiCIp3uF8tA6APQT8= +github.com/ipld/go-car v0.5.0/go.mod h1:ppiN5GWpjOZU9PgpAZ9HbZd9ZgSpwPMr48fGRJOWmvE= +github.com/ipld/go-car/v2 v2.5.1 h1:U2ux9JS23upEgrJScW8VQuxmE94560kYxj9CQUpcfmk= +github.com/ipld/go-car/v2 v2.5.1/go.mod h1:jKjGOqoCj5zn6KjnabD6JbnCsMntqU2hLiU6baZVO3E= +github.com/ipld/go-codec-dagpb v1.3.0/go.mod h1:ga4JTU3abYApDC3pZ00BC2RSvC3qfBb9MSJkMLSwnhA= +github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc= +github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s= +github.com/ipld/go-ipld-prime v0.9.1-0.20210324083106-dc342a9917db/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= +github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8= +github.com/ipld/go-ipld-prime v0.14.1/go.mod h1:QcE4Y9n/ZZr8Ijg5bGPT0GqYWgZ1704nH0RDcQtgTP0= +github.com/ipld/go-ipld-prime v0.20.0 h1:Ud3VwE9ClxpO2LkCYP7vWPc0Fo+dYdYzgxUJZ3uRG4g= +github.com/ipld/go-ipld-prime v0.20.0/go.mod h1:PzqZ/ZR981eKbgdr3y2DJYeD/8bgMawdGVlJDE8kK+M= +github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20211210234204-ce2a1c70cd73 h1:TsyATB2ZRRQGTwafJdgEUQkmjOExRV0DNokcihZxbnQ= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= @@ -651,8 +1055,30 @@ github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZ github.com/jackc/pgx/v5 v5.3.0 h1:/NQi8KHMpKWHInxXesC8yD4DhkXPrVhmnwYkjp9AmBA= github.com/jackc/pgx/v5 v5.3.0/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA= +github.com/jackpal/go-nat-pmp v1.0.1/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jbenet/go-cienv v0.0.0-20150120210510-1bb1476777ec/go.mod h1:rGaEvXB4uRSZMmzKNLoXvTu1sfx+1kv/DojUlPrSZGs= +github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= +github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= +github.com/jbenet/go-random v0.0.0-20190219211222-123a90aedc0c h1:uUx61FiAa1GI6ZmVd2wf2vULeQZIKG66eybjNXKYCz4= +github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2/go.mod h1:8GXXJV31xl8whumTzdZsTt3RnUIiPqzkyf7mxToRCMs= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= +github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsjFq/qrU3Rar62tu1gASgGw6chQbSh/XgIIXCY= +github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= +github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= +github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -661,6 +1087,7 @@ github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7 github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a h1:zPPuIq2jAWWPTrGt70eK/BSch+gFAGrNzecsoENgu2o= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= @@ -684,11 +1111,15 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b h1:FQ7+9fxhyp82ks9vAuyPzG0/vVbWwMwLJ+P6yJI5FN8= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= @@ -696,27 +1127,37 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kevinmbeaulieu/eq-go v1.0.0/go.mod h1:G3S8ajA56gKBZm4UB9AOyoOS37JO3roToPzKNM8dtdM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= +github.com/kilic/bls12-381 v0.1.1-0.20210503002446-7b7597926c69 h1:kMJlf8z8wUcpyI+FQJIdGjAhfTww1y0AbQEv86bpVQI= +github.com/kilic/bls12-381 v0.1.1-0.20210503002446-7b7597926c69/go.mod h1:tlkavyke+Ac7h8R3gZIjI5LKBcvMlSWnXNMgT3vZXo8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= -github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= +github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0= +github.com/koron/go-ssdp v0.0.4/go.mod h1:oDXq+E5IL5q0U8uSBcoAXzTzInwy5lEgC91HoKtbmZk= github.com/kortschak/utter v1.0.1/go.mod h1:vSmSjbyrlKjjsL71193LmzBOKgwePk9DH6uFaWHIInc= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -726,32 +1167,260 @@ github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgx github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.1-0.20191011153232-f91d3411e481/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ= +github.com/libp2p/go-addr-util v0.0.2/go.mod h1:Ecd6Fb3yIuLzq4bD7VcywcVSBtefcAwnUISBM3WG15E= +github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ= github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= +github.com/libp2p/go-conn-security-multistream v0.1.0/go.mod h1:aw6eD7LOsHEX7+2hJkDxw1MteijaVcI+/eP2/x3J1xc= +github.com/libp2p/go-conn-security-multistream v0.2.0/go.mod h1:hZN4MjlNetKD3Rq5Jb/P5ohUnFLNzEAR4DLSzpn2QLU= +github.com/libp2p/go-conn-security-multistream v0.2.1/go.mod h1:cR1d8gA0Hr59Fj6NhaTpFhJZrjSYuNmhpT2r25zYR70= +github.com/libp2p/go-doh-resolver v0.4.0 h1:gUBa1f1XsPwtpE1du0O+nnZCUqtG7oYi7Bb+0S7FQqw= +github.com/libp2p/go-doh-resolver v0.4.0/go.mod h1:v1/jwsFusgsWIGX/c6vCRrnJ60x7bhTiq/fs2qt0cAg= +github.com/libp2p/go-eventbus v0.1.0/go.mod h1:vROgu5cs5T7cv7POWlWxBaVLxfSegC5UGQf8A2eEmx4= +github.com/libp2p/go-eventbus v0.2.1/go.mod h1:jc2S4SoEVPP48H9Wpzm5aiGwUCBMfGhVhhBjyhhCJs8= +github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8= +github.com/libp2p/go-flow-metrics v0.0.3/go.mod h1:HeoSNUrOJVK1jEpDqVEiUOIXqhbnS27omG0uWU5slZs= +github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= +github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= +github.com/libp2p/go-libp2p v0.1.0/go.mod h1:6D/2OBauqLUoqcADOJpn9WbKqvaM07tDw68qHM0BxUM= +github.com/libp2p/go-libp2p v0.1.1/go.mod h1:I00BRo1UuUSdpuc8Q2mN7yDF/oTUTRAX6JWpTiK9Rp8= +github.com/libp2p/go-libp2p v0.6.1/go.mod h1:CTFnWXogryAHjXAKEbOf1OWY+VeAP3lDMZkfEI5sT54= +github.com/libp2p/go-libp2p v0.7.0/go.mod h1:hZJf8txWeCduQRDC/WSqBGMxaTHCOYHt2xSU1ivxn0k= +github.com/libp2p/go-libp2p v0.7.4/go.mod h1:oXsBlTLF1q7pxr+9w6lqzS1ILpyHsaBPniVO7zIHGMw= +github.com/libp2p/go-libp2p v0.8.1/go.mod h1:QRNH9pwdbEBpx5DTJYg+qxcVaDMAz3Ee/qDKwXujH5o= +github.com/libp2p/go-libp2p v0.14.3/go.mod h1:d12V4PdKbpL0T1/gsUNN8DfgMuRPDX8bS2QxCZlwRH0= +github.com/libp2p/go-libp2p v0.27.6 h1:KmGU5kskCaaerm53heqzfGOlrW2z8icZ+fnyqgrZs38= +github.com/libp2p/go-libp2p v0.27.6/go.mod h1:oMfQGTb9CHnrOuSM6yMmyK2lXz3qIhnkn2+oK3B1Y2g= +github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s= +github.com/libp2p/go-libp2p-asn-util v0.3.0/go.mod h1:B1mcOrKUE35Xq/ASTmQ4tN3LNzVVaMNmq2NACuqyB9w= +github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= +github.com/libp2p/go-libp2p-autonat v0.1.1/go.mod h1:OXqkeGOY2xJVWKAGV2inNF5aKN/djNA3fdpCWloIudE= +github.com/libp2p/go-libp2p-autonat v0.2.0/go.mod h1:DX+9teU4pEEoZUqR1PiMlqliONQdNbfzE1C718tcViI= +github.com/libp2p/go-libp2p-autonat v0.2.1/go.mod h1:MWtAhV5Ko1l6QBsHQNSuM6b1sRkXrpk0/LqCr+vCVxI= +github.com/libp2p/go-libp2p-autonat v0.2.2/go.mod h1:HsM62HkqZmHR2k1xgX34WuWDzk/nBwNHoeyyT4IWV6A= +github.com/libp2p/go-libp2p-autonat v0.4.2/go.mod h1:YxaJlpr81FhdOv3W3BTconZPfhaYivRdf53g+S2wobk= +github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro= +github.com/libp2p/go-libp2p-blankhost v0.1.4/go.mod h1:oJF0saYsAXQCSfDq254GMNmLNz6ZTHTOvtF4ZydUvwU= +github.com/libp2p/go-libp2p-blankhost v0.2.0/go.mod h1:eduNKXGTioTuQAUcZ5epXi9vMl+t4d8ugUBRQ4SqaNQ= +github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= +github.com/libp2p/go-libp2p-circuit v0.1.4/go.mod h1:CY67BrEjKNDhdTk8UgBX1Y/H5c3xkAcs3gnksxY7osU= +github.com/libp2p/go-libp2p-circuit v0.2.1/go.mod h1:BXPwYDN5A8z4OEY9sOfr2DUQMLQvKt/6oku45YUmjIo= +github.com/libp2p/go-libp2p-circuit v0.4.0/go.mod h1:t/ktoFIUzM6uLQ+o1G6NuBl2ANhBKN9Bc8jRIk31MoA= +github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= +github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= +github.com/libp2p/go-libp2p-core v0.0.3/go.mod h1:j+YQMNz9WNSkNezXOsahp9kwZBKBvxLpKD316QWSJXE= +github.com/libp2p/go-libp2p-core v0.0.4/go.mod h1:jyuCQP356gzfCFtRKyvAbNkyeuxb7OlyhWZ3nls5d2I= +github.com/libp2p/go-libp2p-core v0.2.0/go.mod h1:X0eyB0Gy93v0DZtSYbEM7RnMChm9Uv3j7yRXjO77xSI= +github.com/libp2p/go-libp2p-core v0.2.2/go.mod h1:8fcwTbsG2B+lTgRJ1ICZtiM5GWCWZVoVrLaDRvIRng0= +github.com/libp2p/go-libp2p-core v0.2.4/go.mod h1:STh4fdfa5vDYr0/SzYYeqnt+E6KfEV5VxfIrm0bcI0g= +github.com/libp2p/go-libp2p-core v0.3.0/go.mod h1:ACp3DmS3/N64c2jDzcV429ukDpicbL6+TrrxANBjPGw= +github.com/libp2p/go-libp2p-core v0.3.1/go.mod h1:thvWy0hvaSBhnVBaW37BvzgVV68OUhgJJLAa6almrII= +github.com/libp2p/go-libp2p-core v0.4.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= +github.com/libp2p/go-libp2p-core v0.5.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= +github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.4/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.5/go.mod h1:vj3awlOr9+GMZJFH9s4mpt9RHHgGqeHCopzbYKZdRjM= +github.com/libp2p/go-libp2p-core v0.5.6/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= +github.com/libp2p/go-libp2p-core v0.5.7/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= +github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= +github.com/libp2p/go-libp2p-core v0.7.0/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-core v0.8.0/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-core v0.8.1/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-core v0.8.2/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-core v0.8.5/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= +github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= +github.com/libp2p/go-libp2p-discovery v0.2.0/go.mod h1:s4VGaxYMbw4+4+tsoQTqh7wfxg97AEdo4GYBt6BadWg= +github.com/libp2p/go-libp2p-discovery v0.3.0/go.mod h1:o03drFnz9BVAZdzC/QUQ+NeQOu38Fu7LJGEOK2gQltw= +github.com/libp2p/go-libp2p-discovery v0.5.0/go.mod h1:+srtPIU9gDaBNu//UHvcdliKBIcr4SfDcm0/PfPJLug= +github.com/libp2p/go-libp2p-gostream v0.5.0 h1:niNGTUrFoUDP/8jxMgu97zngMO+UGYBpVpbCKwIJBls= +github.com/libp2p/go-libp2p-gostream v0.5.0/go.mod h1:rXrb0CqfcRRxa7m3RSKORQiKiWgk3IPeXWda66ZXKsA= +github.com/libp2p/go-libp2p-http v0.4.0 h1:V+f9Rhe/8GkColmXoyJyA0NVsN9F3TCLZgW2hwjoX5w= +github.com/libp2p/go-libp2p-http v0.4.0/go.mod h1:92tmLGrlBliQFDlZRpBXT3BJM7rGFONy0vsNrG/bMPg= +github.com/libp2p/go-libp2p-kad-dht v0.21.1 h1:xpfp8/t9+X2ip1l8Umap1/UGNnJ3RHJgKGAEsnRAlTo= +github.com/libp2p/go-libp2p-kad-dht v0.21.1/go.mod h1:Oy8wvbdjpB70eS5AaFaI68tOtrdo3KylTvXDjikxqFo= +github.com/libp2p/go-libp2p-kbucket v0.3.1/go.mod h1:oyjT5O7tS9CQurok++ERgc46YLwEpuGoFq9ubvoUOio= +github.com/libp2p/go-libp2p-kbucket v0.5.0 h1:g/7tVm8ACHDxH29BGrpsQlnNeu+6OF1A9bno/4/U1oA= +github.com/libp2p/go-libp2p-kbucket v0.5.0/go.mod h1:zGzGCpQd78b5BNTDGHNDLaTt9aDK/A02xeZp9QeFC4U= +github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90= +github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= +github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiYdAWNYHrwImKLnE= +github.com/libp2p/go-libp2p-mplex v0.2.2/go.mod h1:74S9eum0tVQdAfFiKxAyKzNdSuLqw5oadDq7+L/FELo= +github.com/libp2p/go-libp2p-mplex v0.2.3/go.mod h1:CK3p2+9qH9x+7ER/gWWDYJ3QW5ZxWDkm+dVvjfuG3ek= +github.com/libp2p/go-libp2p-mplex v0.4.0/go.mod h1:yCyWJE2sc6TBTnFpjvLuEJgTSw/u+MamvzILKdX7asw= +github.com/libp2p/go-libp2p-mplex v0.4.1/go.mod h1:cmy+3GfqfM1PceHTLL7zQzAAYaryDu6iPSC+CIb094g= +github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY= +github.com/libp2p/go-libp2p-nat v0.0.5/go.mod h1:1qubaE5bTZMJE+E/uu2URroMbzdubFz1ChgiN79yKPE= +github.com/libp2p/go-libp2p-nat v0.0.6/go.mod h1:iV59LVhB3IkFvS6S6sauVTSOrNEANnINbI/fkaLimiw= +github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU= +github.com/libp2p/go-libp2p-noise v0.2.0/go.mod h1:IEbYhBBzGyvdLBoxxULL/SGbJARhUeqlO8lVSREYu2Q= +github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= +github.com/libp2p/go-libp2p-peerstore v0.1.0/go.mod h1:2CeHkQsr8svp4fZ+Oi9ykN1HBb6u0MOvdJ7YIsmcwtY= +github.com/libp2p/go-libp2p-peerstore v0.1.3/go.mod h1:BJ9sHlm59/80oSkpWgr1MyY1ciXAXV397W6h1GH/uKI= +github.com/libp2p/go-libp2p-peerstore v0.1.4/go.mod h1:+4BDbDiiKf4PzpANZDAT+knVdLxvqh7hXOujessqdzs= +github.com/libp2p/go-libp2p-peerstore v0.2.0/go.mod h1:N2l3eVIeAitSg3Pi2ipSrJYnqhVnMNQZo9nkSCuAbnQ= +github.com/libp2p/go-libp2p-peerstore v0.2.1/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= +github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= +github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= +github.com/libp2p/go-libp2p-peerstore v0.2.7/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= +github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= +github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo= +github.com/libp2p/go-libp2p-pubsub v0.9.3/go.mod h1:RYA7aM9jIic5VV47WXu4GkcRxRhrdElWf8xtyli+Dzc= +github.com/libp2p/go-libp2p-pubsub-router v0.6.0 h1:D30iKdlqDt5ZmLEYhHELCMRj8b4sFAqrUcshIUvVP/s= +github.com/libp2p/go-libp2p-pubsub-router v0.6.0/go.mod h1:FY/q0/RBTKsLA7l4vqC2cbRbOvyDotg8PJQ7j8FDudE= +github.com/libp2p/go-libp2p-quic-transport v0.10.0/go.mod h1:RfJbZ8IqXIhxBRm5hqUEJqjiiY8xmEuq3HUDS993MkA= +github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= +github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0= +github.com/libp2p/go-libp2p-record v0.2.0/go.mod h1:I+3zMkvvg5m2OcSdoL0KPljyJyvNDFGKX7QdlpYUcwk= +github.com/libp2p/go-libp2p-routing-helpers v0.6.1 h1:tI3rHOf/FDQsxC2pHBaOZiqPJ0MZYyzGAf4V45xla4U= +github.com/libp2p/go-libp2p-routing-helpers v0.6.1/go.mod h1:R289GUxUMzRXIbWGSuUUTPrlVJZ3Y/pPz495+qgXJX8= +github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= +github.com/libp2p/go-libp2p-secio v0.2.0/go.mod h1:2JdZepB8J5V9mBp79BmwsaPQhRPNN2NrnB2lKQcdy6g= +github.com/libp2p/go-libp2p-secio v0.2.1/go.mod h1:cWtZpILJqkqrSkiYcDBh5lA3wbT2Q+hz3rJQq3iftD8= +github.com/libp2p/go-libp2p-secio v0.2.2/go.mod h1:wP3bS+m5AUnFA+OFO7Er03uO1mncHG0uVwGrwvjYlNY= +github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= +github.com/libp2p/go-libp2p-swarm v0.2.2/go.mod h1:fvmtQ0T1nErXym1/aa1uJEyN7JzaTNyBcHImCxRpPKU= +github.com/libp2p/go-libp2p-swarm v0.2.3/go.mod h1:P2VO/EpxRyDxtChXz/VPVXyTnszHvokHKRhfkEgFKNM= +github.com/libp2p/go-libp2p-swarm v0.2.8/go.mod h1:JQKMGSth4SMqonruY0a8yjlPVIkb0mdNSwckW7OYziM= +github.com/libp2p/go-libp2p-swarm v0.3.0/go.mod h1:hdv95GWCTmzkgeJpP+GK/9D9puJegb7H57B5hWQR5Kk= +github.com/libp2p/go-libp2p-swarm v0.5.0/go.mod h1:sU9i6BoHE0Ve5SKz3y9WfKrh8dUat6JknzUehFx8xW4= +github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.0.4/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.1.0/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0= +github.com/libp2p/go-libp2p-testing v0.1.1/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0= +github.com/libp2p/go-libp2p-testing v0.1.2-0.20200422005655-8775583591d8/go.mod h1:Qy8sAncLKpwXtS2dSnDOP8ktexIAHKu+J+pnZOFZLTc= +github.com/libp2p/go-libp2p-testing v0.3.0/go.mod h1:efZkql4UZ7OVsEfaxNHZPzIehtsBXMrXnCfJIgDti5g= +github.com/libp2p/go-libp2p-testing v0.4.0/go.mod h1:Q+PFXYoiYFN5CAEG2w3gLPEzotlKsNSbKQ/lImlOWF0= +github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= +github.com/libp2p/go-libp2p-tls v0.1.3/go.mod h1:wZfuewxOndz5RTnCAxFliGjvYSDA40sKitV4c50uI1M= +github.com/libp2p/go-libp2p-transport-upgrader v0.1.1/go.mod h1:IEtA6or8JUbsV07qPW4r01GnTenLW4oi3lOPbUMGJJA= +github.com/libp2p/go-libp2p-transport-upgrader v0.2.0/go.mod h1:mQcrHj4asu6ArfSoMuyojOdjx73Q47cYD7s5+gZOlns= +github.com/libp2p/go-libp2p-transport-upgrader v0.3.0/go.mod h1:i+SKzbRnvXdVbU3D1dwydnTmKRPXiAR/fyvi1dXuL4o= +github.com/libp2p/go-libp2p-transport-upgrader v0.4.2/go.mod h1:NR8ne1VwfreD5VIWIU62Agt/J18ekORFU/j1i2y8zvk= +github.com/libp2p/go-libp2p-xor v0.1.0 h1:hhQwT4uGrBcuAkUGXADuPltalOdpf9aag9kaYNT2tLA= +github.com/libp2p/go-libp2p-xor v0.1.0/go.mod h1:LSTM5yRnjGZbWNTA/hRwq2gGFrvRIbQJscoIL/u6InY= +github.com/libp2p/go-libp2p-yamux v0.2.0/go.mod h1:Db2gU+XfLpm6E4rG5uGCFX6uXA8MEXOxFcRoXUODaK8= +github.com/libp2p/go-libp2p-yamux v0.2.1/go.mod h1:1FBXiHDk1VyRM1C0aez2bCfHQ4vMZKkAQzZbkSQt5fI= +github.com/libp2p/go-libp2p-yamux v0.2.2/go.mod h1:lIohaR0pT6mOt0AZ0L2dFze9hds9Req3OfS+B+dv4qw= +github.com/libp2p/go-libp2p-yamux v0.2.5/go.mod h1:Zpgj6arbyQrmZ3wxSZxfBmbdnWtbZ48OpsfmQVTErwA= +github.com/libp2p/go-libp2p-yamux v0.2.7/go.mod h1:X28ENrBMU/nm4I3Nx4sZ4dgjZ6VhLEn0XhIoZ5viCwU= +github.com/libp2p/go-libp2p-yamux v0.2.8/go.mod h1:/t6tDqeuZf0INZMTgd0WxIRbtK2EzI2h7HbFm9eAKI4= +github.com/libp2p/go-libp2p-yamux v0.4.0/go.mod h1:+DWDjtFMzoAwYLVkNZftoucn7PelNoy5nm3tZ3/Zw30= +github.com/libp2p/go-libp2p-yamux v0.5.0/go.mod h1:AyR8k5EzyM2QN9Bbdg6X1SkVVuqLwTGf0L4DFq9g6po= +github.com/libp2p/go-libp2p-yamux v0.5.4/go.mod h1:tfrXbyaTqqSU654GTvK3ocnSZL3BuHoeTSqhcel1wsE= +github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q= +github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDRp/w6ENFaC9bG+M= +github.com/libp2p/go-maddr-filter v0.1.0/go.mod h1:VzZhTXkMucEGGEOSKddrwGiOv0tUhgnKqNEmIAz/bPU= +github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0= +github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU= +github.com/libp2p/go-mplex v0.1.1/go.mod h1:Xgz2RDCi3co0LeZfgjm4OgUF15+sVR8SRcu3SFXI1lk= +github.com/libp2p/go-mplex v0.1.2/go.mod h1:Xgz2RDCi3co0LeZfgjm4OgUF15+sVR8SRcu3SFXI1lk= +github.com/libp2p/go-mplex v0.2.0/go.mod h1:0Oy/A9PQlwBytDRp4wSkFnzHYDKcpLot35JQ6msjvYQ= +github.com/libp2p/go-mplex v0.3.0/go.mod h1:0Oy/A9PQlwBytDRp4wSkFnzHYDKcpLot35JQ6msjvYQ= +github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= +github.com/libp2p/go-mplex v0.7.0/go.mod h1:rW8ThnRcYWft/Jb2jeORBmPd6xuG3dGxWN/W168L9EU= +github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-msgio v0.0.3/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-msgio v0.0.6/go.mod h1:4ecVB6d9f4BDSL5fqvPiC4A3KivjWn+Venn/1ALLMWA= +github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= +github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM= +github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= +github.com/libp2p/go-nat v0.0.4/go.mod h1:Nmw50VAvKuk38jUBcmNh6p9lUJLoODbJRvYAa/+KSDo= +github.com/libp2p/go-nat v0.0.5/go.mod h1:B7NxsVNPZmRLvMOwiEO1scOSyjA56zxYAGv1yQgRkEU= +github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= +github.com/libp2p/go-nat v0.1.0/go.mod h1:X7teVkwRHNInVNWQiO/tAiAVRwSr5zoRz4YSTC3uRBM= +github.com/libp2p/go-netroute v0.1.2/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= +github.com/libp2p/go-netroute v0.1.3/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= +github.com/libp2p/go-netroute v0.1.5/go.mod h1:V1SR3AaECRkEQCoFFzYwVYWvYIEtlxx89+O3qcpCl4A= +github.com/libp2p/go-netroute v0.1.6/go.mod h1:AqhkMh0VuWmfgtxKPp3Oc1LdU5QSWS7wl0QLhSZqXxQ= +github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU= +github.com/libp2p/go-netroute v0.2.1/go.mod h1:hraioZr0fhBjG0ZRXJJ6Zj2IVEVNx6tDTFQfSmcq7mQ= +github.com/libp2p/go-openssl v0.0.2/go.mod h1:v8Zw2ijCSWBQi8Pq5GAixw6DbFfa9u6VIYDXnvOXkc0= +github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.5/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.7/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= +github.com/libp2p/go-reuseport v0.0.2/go.mod h1:SPD+5RwGC7rcnzngoYC86GjPzjSywuQyMVAheVBD9nQ= +github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= +github.com/libp2p/go-reuseport v0.2.0/go.mod h1:bvVho6eLMm6Bz5hmU0LYN3ixd3nPPvtIlaURZZgOY4k= +github.com/libp2p/go-reuseport-transport v0.0.2/go.mod h1:YkbSDrvjUVDL6b8XqriyA20obEtsW9BLkuOUyQAOCbs= +github.com/libp2p/go-reuseport-transport v0.0.3/go.mod h1:Spv+MPft1exxARzP2Sruj2Wb5JSyHNncjf1Oi2dEbzM= +github.com/libp2p/go-reuseport-transport v0.0.4/go.mod h1:trPa7r/7TJK/d+0hdBLOCGvpQQVOU74OXbNCIMkufGw= +github.com/libp2p/go-sockaddr v0.0.2/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= +github.com/libp2p/go-sockaddr v0.1.0/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= +github.com/libp2p/go-sockaddr v0.1.1/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= +github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14= +github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc= +github.com/libp2p/go-stream-muxer-multistream v0.3.0/go.mod h1:yDh8abSIzmZtqtOt64gFJUXEryejzNb0lisTt+fAMJA= +github.com/libp2p/go-tcp-transport v0.1.0/go.mod h1:oJ8I5VXryj493DEJ7OsBieu8fcg2nHGctwtInJVpipc= +github.com/libp2p/go-tcp-transport v0.1.1/go.mod h1:3HzGvLbx6etZjnFlERyakbaYPdfjg2pWP97dFZworkY= +github.com/libp2p/go-tcp-transport v0.2.0/go.mod h1:vX2U0CnWimU4h0SGSEsg++AzvBcroCGYw28kh94oLe0= +github.com/libp2p/go-tcp-transport v0.2.3/go.mod h1:9dvr03yqrPyYGIEN6Dy5UvdJZjyPFvl1S/igQ5QD1SU= +github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= +github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= +github.com/libp2p/go-ws-transport v0.2.0/go.mod h1:9BHJz/4Q5A9ludYWKoGCFC5gUElzlHoKzu0yY9p/klM= +github.com/libp2p/go-ws-transport v0.3.0/go.mod h1:bpgTJmRZAvVHrgHybCVyqoBmyLQ1fiZuEaBYusP5zsk= +github.com/libp2p/go-ws-transport v0.4.0/go.mod h1:EcIEKqf/7GDjth6ksuS/6p7R49V4CBY6/E7R/iyhYUA= +github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.2.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.0/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.5/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.7/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= +github.com/libp2p/go-yamux v1.4.0/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= +github.com/libp2p/go-yamux v1.4.1/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= +github.com/libp2p/go-yamux/v2 v2.2.0/go.mod h1:3So6P6TV6r75R9jiBpiIKgU/66lOarCZjqROGxzPpPQ= +github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ= +github.com/libp2p/go-yamux/v4 v4.0.0/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4= +github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= +github.com/libp2p/zeroconf/v2 v2.2.0/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxAlxggSjiwMnCUc= +github.com/lucas-clemente/quic-go v0.19.3/go.mod h1:ADXpNbTQjq1hIzCpB+y/k5iz4n4z4IwqoLb94Kh5Hu8= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marten-seemann/qpack v0.2.1/go.mod h1:F7Gl5L1jIgN1D11ucXefiuJS9UMVP2opoCp2jDKb7wc= +github.com/marten-seemann/qtls v0.10.0/go.mod h1:UvMd1oaYDACI99/oZUYLzMCkBXQVT0aGm99sJhbT8hs= +github.com/marten-seemann/qtls-go1-15 v0.1.1/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= +github.com/maruel/circular v0.0.0-20200815005550-36e533b830e9 h1:d8OcZrg9dmqfBsHRDGP2QarJlj/1p0YI/NylTf2LYqo= +github.com/maruel/circular v0.0.0-20200815005550-36e533b830e9/go.mod h1:AEsb24YMiJiSqh8Cs8kRGJxDDXKEkveJ7nxYUeYibEc= +github.com/maruel/ut v1.0.2 h1:mQTlQk3jubTbdTcza+hwoZQWhzcvE4L6K6RTtAFlA1k= +github.com/maruel/ut v1.0.2/go.mod h1:RV8PwPD9dd2KFlnlCc/DB2JVvkXmyaalfc5xvmSrRSs= github.com/matryer/moq v0.2.3/go.mod h1:9RtPYjTnH1bSBIkpvtHkFN7nbWAnO7oRpdJkEIn6UtE= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -764,41 +1433,68 @@ github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HN github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-oci8 v0.1.1/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mehanizm/airtable v0.2.8 h1:tqNm0UIsnoBvZ7od4UT7X/yXpjxiTDHf+BMbX8DY+EE= github.com/mehanizm/airtable v0.2.8/go.mod h1:IdW+trlxx5hlfHkyl6jFdHlk4H4zwV7bpY+JqqQEFrU= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microsoft/go-mssqldb v0.15.0/go.mod h1:Wr+jfynAR4lYmHA093AL8njUw2T6ovxe2jjBQKxBIco= github.com/microsoft/go-mssqldb v0.17.0 h1:Fto83dMZPnYv1Zwx5vHHxpNraeEaUlQ/hhHLgZiaenE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= +github.com/miekg/dns v1.1.53 h1:ZBkuHr5dxHtB1caEOlZTLPo7D3L3TWckgUUs/RHfDxw= +github.com/miekg/dns v1.1.53/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= +github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8= +github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c/go.mod h1:0SQS9kMwD2VsyFEB++InYyBJroV/FRmBgcydeSUcJms= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.0.0-20190328051042-05b4dd3047e5/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= +github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/cli v1.1.4/go.mod h1:vTLESy5mRhKOs9KDp0/RATawxP1UqBmdrpVRMnpcvKQ= @@ -829,9 +1525,82 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= +github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= +github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= +github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= +github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= +github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= +github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= +github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= +github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= +github.com/multiformats/go-multiaddr v0.0.1/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.0.2/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.1.0/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo= +github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4= +github.com/multiformats/go-multiaddr v0.2.1/go.mod h1:s/Apk6IyxfvMjDafnhJgJ3/46z7tZ04iMk5wP4QMGGE= +github.com/multiformats/go-multiaddr v0.2.2/go.mod h1:NtfXiOtHvghW9KojvtySjH5y0u0xW5UouOmQQrn6a3Y= +github.com/multiformats/go-multiaddr v0.3.0/go.mod h1:dF9kph9wfJ+3VLAaeBqo9Of8x4fJxp6ggJGteB8HQTI= +github.com/multiformats/go-multiaddr v0.3.1/go.mod h1:uPbspcUPd5AfaP6ql3ujFY+QWzmBD8uLLL4bXW0XfGc= +github.com/multiformats/go-multiaddr v0.3.3/go.mod h1:lCKNGP1EQ1eZ35Za2wlqnabm9xQkib3fyB+nZXHLag0= +github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ= +github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0= +github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= +github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= +github.com/multiformats/go-multiaddr-dns v0.2.0/go.mod h1:TJ5pr5bBO7Y1B18djPuRsVkduhQH2YqYSbxWJzYGdK0= +github.com/multiformats/go-multiaddr-dns v0.3.0/go.mod h1:mNzQ4eTGDg0ll1N9jKPOUogZPoJ30W8a7zk66FQPpdQ= +github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= +github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= +github.com/multiformats/go-multiaddr-fmt v0.0.1/go.mod h1:aBYjqL4T/7j4Qx+R73XSv/8JsgnRFlf0w2KGLCmXl3Q= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= +github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU= +github.com/multiformats/go-multiaddr-net v0.1.0/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ= +github.com/multiformats/go-multiaddr-net v0.1.1/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ= +github.com/multiformats/go-multiaddr-net v0.1.2/go.mod h1:QsWt3XK/3hwvNxZJp92iMQKME1qHfpYmyIjFVsSOY6Y= +github.com/multiformats/go-multiaddr-net v0.1.3/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.1.4/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.1.5/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.2.0/go.mod h1:gGdH3UXny6U3cKKYCvpXI5rnK7YaOIEOPVDI9tsJbEA= +github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= +github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= +github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= +github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= +github.com/multiformats/go-multicodec v0.3.0/go.mod h1:qGGaQmioCDh+TeFOnxrbU0DaIPw8yFgAZgFG0V7p1qQ= +github.com/multiformats/go-multicodec v0.8.1 h1:ycepHwavHafh3grIbR1jIXnKCsFm0fqsfEOsJ8NtKE8= +github.com/multiformats/go-multicodec v0.8.1/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= +github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U= +github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po= +github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= +github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= +github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.15/go.mod h1:D6aZrWNLFTV/ynMpKsNtB40mJzmCl4jb1alC0OvHiHg= +github.com/multiformats/go-multihash v0.1.0/go.mod h1:RJlXsxt6vHGaia+S8We0ErjhojtKzPP2AH4+kYM7k84= +github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= +github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= +github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= +github.com/multiformats/go-multistream v0.1.1/go.mod h1:KmHZ40hzVxiaiwlj3MEbYgK9JFk2/9UktWZAF54Du38= +github.com/multiformats/go-multistream v0.2.1/go.mod h1:5GZPQZbkWOLOn3J2y4Y99vVW7vOfsAflxARk3x14o6k= +github.com/multiformats/go-multistream v0.2.2/go.mod h1:UIcnm7Zuo8HKG+HkWgfQsGL+/MIEhyTqbODbIUwSXKs= +github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo= +github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= +github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= +github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= +github.com/mutecomm/go-sqlcipher/v4 v4.4.2 h1:eM10bFtI4UvibIsKr10/QT7Yfz+NADfjZYh0GKrXUNc= +github.com/mutecomm/go-sqlcipher/v4 v4.4.2/go.mod h1:mF2UmIpBnzFeBdu/ypTDb/LdbS0nk0dfSN1WUsWTjMA= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -851,6 +1620,8 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= +github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= @@ -865,16 +1636,25 @@ github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= +github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.27.4 h1:Z2AnStgsdSayCMDiCU42qIz+HLqEPcgiOCXjAU/w+8E= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -887,18 +1667,24 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= +github.com/openzipkin/zipkin-go v0.4.0 h1:CtfRrOVZtbDj8rt1WXjklw0kqqJQwICrCKmlfUuBUUw= +github.com/openzipkin/zipkin-go v0.4.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= @@ -906,6 +1692,8 @@ github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIw github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -917,6 +1705,7 @@ github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwb github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= +github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 h1:1/WtZae0yGtPq+TI6+Tv1WTxkukpXeMlviSxvL7SRgk= github.com/peterbourgon/ff/v3 v3.3.0 h1:PaKe7GW8orVFh8Unb5jNHS+JZBwWUMa2se0HM6/BI24= github.com/peterbourgon/ff/v3 v3.3.0/go.mod h1:zjJVUhx+twciwfDl0zBcFzl4dW8axCRyXE/eKY9RztQ= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= @@ -925,9 +1714,13 @@ github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCr github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/piprate/json-gold v0.4.2 h1:Rq8V+637HOFcj20KdTqW/g/llCwX2qtau0g5d1pD79o= +github.com/piprate/json-gold v0.4.2/go.mod h1:OK1z7UgtBZk06n2cDE2OSq1kffmjFFp5/2yhLLCz9UM= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20200914180035-5b29258ca4f7/go.mod h1:zO8QMzTeZd5cpnIkz/Gn6iK0jDfGicM1nynOkkPIl28= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -938,10 +1731,20 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20190408063855-01bf1e26dd14/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.89.0 h1:ADJTApkvkeBZsN0tBTx8QjpD9JkmxbKp0cxfr9qszm4= +github.com/polydawn/refmt v0.89.0/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/poy/onpar v0.0.0-20190519213022-ee068f8ea4d1 h1:oL4IBbcqwhhNWh31bjOX8C/OCy0zs9906d/VUru+bqg= github.com/poy/onpar v0.0.0-20190519213022-ee068f8ea4d1/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU= +github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= +github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= @@ -950,6 +1753,7 @@ github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeD github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= +github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= @@ -962,6 +1766,7 @@ github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -971,11 +1776,14 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -986,12 +1794,27 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= +github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= +github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= +github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= +github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= +github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E= +github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= +github.com/quic-go/quic-go v0.33.0 h1:ItNoTDN/Fm/zBlq769lLJc8ECe9gYaW40veHCCco7y0= +github.com/quic-go/quic-go v0.33.0/go.mod h1:YMuhaAV9/jIu0XclDXwZPAsP/2Kgr5yMYhe9oxhhOFA= +github.com/quic-go/webtransport-go v0.5.2 h1:GA6Bl6oZY+g/flt00Pnu0XtivSD8vukOu3lYhJjnGEk= +github.com/quic-go/webtransport-go v0.5.2/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= +github.com/rabbitmq/amqp091-go v1.1.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= +github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= +github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= @@ -1008,12 +1831,13 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= @@ -1023,9 +1847,12 @@ github.com/rubenv/sql-migrate v1.2.0/go.mod h1:Z5uVnq7vrIrPmHbVFfR4YLHRZquxeHpck github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= +github.com/samber/lo v1.36.0 h1:4LaOxH1mHnbDGhTVE0i1z8v/lWaQW8AIfOD3HU4mSaw= +github.com/samber/lo v1.36.0/go.mod h1:HLeWcJRRyLKp3+/XBJvOrerCQn9mhdKMHyd7IRlgeQ8= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= @@ -1033,12 +1860,35 @@ github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZj github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= +github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= +github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= +github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= +github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= +github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= +github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= +github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= +github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= +github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= +github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= +github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -1048,10 +1898,22 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg= +github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM= +github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= +github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -1089,6 +1951,9 @@ github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhU github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693 h1:wD1IWQwAhdWclCwaf6DdzgCAe9Bfz1M+4AHRd7N786Y= +github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= +github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -1118,9 +1983,12 @@ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69 github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tailscale/depaware v0.0.0-20210622194025-720c4b409502/go.mod h1:p9lPsd+cx33L3H9nNoecRRxPssFKUwwI50I3pZ0yT+8= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= @@ -1135,18 +2003,25 @@ github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8 github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= +github.com/teserakt-io/golang-ed25519 v0.0.0-20210104091850-3888c087a4c8 h1:RBkacARv7qY5laaXGlF4wFB/tk5rnthhPb8oIBGoagY= +github.com/teserakt-io/golang-ed25519 v0.0.0-20210104091850-3888c087a4c8/go.mod h1:9PdLyPiZIiW3UopXyRnPYyjUXSpiQNHRLu8fOsR3o8M= +github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= +github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= +github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb/go.mod h1:ikPs9bRWicNw3S7XpJ8sK/smGwU9WcSVU3dy9qahYBM= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= @@ -1155,10 +2030,14 @@ github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/vektah/gqlparser/v2 v2.4.0/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= +github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= +github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= @@ -1174,7 +2053,47 @@ github.com/volatiletech/sqlboiler/v4 v4.13.0/go.mod h1:QmJpWSj/s9xGSHFr2SN/MF371 github.com/volatiletech/strmangle v0.0.1/go.mod h1:F6RA6IkB5vq0yTG4GQ0UsbbRcl3ni9P76i+JrTBKFFg= github.com/volatiletech/strmangle v0.0.4 h1:CxrEPhobZL/PCZOTDSH1aq7s4Kv76hQpRoTVVlUOim4= github.com/volatiletech/strmangle v0.0.4/go.mod h1:ycDvbDkjDvhC0NUU8w3fWwl5JEMTV56vTKXzR3GeR+0= +github.com/wangjia184/sortedset v0.0.0-20160527075905-f5d03557ba30/go.mod h1:YkocrP2K2tcw938x9gCOmT5G5eCD6jsTz0SZuyAqwIE= +github.com/warpfork/go-testmark v0.3.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0= +github.com/warpfork/go-testmark v0.9.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0= +github.com/warpfork/go-testmark v0.11.0 h1:J6LnV8KpceDvo7spaNU4+DauH2n1x+6RaO2rJrmpQ9U= +github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/warpfork/go-wish v0.0.0-20190328234359-8b3e70f8e830/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0 h1:GDDkbFiaK8jsSDJfjId/PEGEShv6ugrt4kYsC5UIDaQ= +github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc h1:BCPnHtcboadS0DvysUuJXZ4lWVv5Bh5i7+tbIyi+ck4= +github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc/go.mod h1:r45hJU7yEoA81k6MWNhpMj/kms0n14dkzkxYHoB96UM= +github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 h1:5HZfQkwe0mIfyDmc1Em5GqlNRzcdtlv4HTNmdpt7XH0= +github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158/go.mod h1:Xj/M2wWU+QdTdRbu/L/1dIZY8/Wb2K9pAhtroQuxJJI= +github.com/whyrusleeping/cbor-gen v0.0.0-20230126041949-52956bd4c9aa h1:EyA027ZAkuaCLoxVX4r1TZMPy1d31fM6hbfQ4OU4I5o= +github.com/whyrusleeping/cbor-gen v0.0.0-20230126041949-52956bd4c9aa/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= +github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E= +github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9UJB6dDgdPgMJZs7UjUOdulKyRr9fqkS+6JKAInPy8= +github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= +github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= +github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= +github.com/whyrusleeping/go-logging v0.0.1/go.mod h1:lDPYj54zutzG1XYfHAhcc7oNXEburHQBn+Iqd4yS4vE= +github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f/go.mod h1:cZNvX9cFybI01GriPRMXDtczuvUhgbcYr9iCGaNlRv8= +github.com/whyrusleeping/go-sysinfo v0.0.0-20190219211824-4a357d4b90b1 h1:ctS9Anw/KozviCCtK6VWMz5kPL9nbQzbQY4yfqlIV4M= +github.com/whyrusleeping/go-sysinfo v0.0.0-20190219211824-4a357d4b90b1/go.mod h1:tKH72zYNt/exx6/5IQO6L9LoQ0rEjd5SbbWaDTs9Zso= +github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvXwGvqIpk20FA= +github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= +github.com/whyrusleeping/mdns v0.0.0-20190826153040-b9b60ed33aa9/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= +github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 h1:E9S12nwJwEOXe2d6gT6qxdvqMnNq+VnSsKPgm2ZZNds= +github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go.mod h1:X2c0RVCI1eSUFI8eLcY3c0423ykwiUdxLJtkDvruhjI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= @@ -1203,72 +2122,143 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3 go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0 h1:mac9BKRqwaX6zxHPDe3pvmWpwuuIM0vuXv2juCnQevE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= +go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= +go.opentelemetry.io/otel/exporters/jaeger v1.7.0 h1:wXgjiRldljksZkZrldGVe6XrG9u3kYDyQmkZwmm5dI0= +go.opentelemetry.io/otel/exporters/jaeger v1.7.0/go.mod h1:PwQAOqBgqbLQRKlj466DuD2qyMjbtcPpfPfj+AqbSBs= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0 h1:7Yxsak1q4XrJ5y7XBnNwqWx9amMZvoidCctv62XOQ6Y= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0 h1:cMDtmgJ5FpRvqx9x2Aq+Mm0O6K/zcUkH73SFz20TuBw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0 h1:MFAyzUPrTwLOwCi+cltN0ZVyy4phU41lwH+lyMyQTS4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0 h1:pLP0MH4MAqeTEV0g/4flxw9O8Is48uAIauAnjznbW50= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.7.0 h1:8hPcgCg0rUJiKE6VWahRvjgLUrNl7rW2hffUEPKXVEM= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.7.0/go.mod h1:K4GDXPY6TjUiwbOh+DkKaEdCF8y+lvMoM6SeAPyfCCM= +go.opentelemetry.io/otel/exporters/zipkin v1.7.0 h1:X0FZj+kaIdLi29UiyrEGDhRTYsEXj9GdEW5Y39UQFEE= +go.opentelemetry.io/otel/exporters/zipkin v1.7.0/go.mod h1:9YBXeOMFLQGwNEjsxMRiWPGoJX83usGMhbCmxUbNe5I= +go.opentelemetry.io/otel/metric v0.30.0 h1:Hs8eQZ8aQgs0U49diZoaS6Uaxw3+bBE3lcMUKBFIk3c= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk v1.11.1 h1:F7KmQgoHljhUuJyA+9BiU+EkJfyX5nVVF4wyzWZpKxs= +go.opentelemetry.io/otel/sdk v1.11.1/go.mod h1:/l3FE4SupHJ12TduVjUkZtlfFqDCQJlOlithYrdktys= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= +go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ= +go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.16.0 h1:WHzDWdXUvbc5bG2ObdrGfaNpQz7ft7QN9HHmJlbiB1E= +go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.8.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/dig v1.16.1 h1:+alNIBsl0qfY0j6epRubp/9obgtrObRAc5aD+6jbWY8= +go.uber.org/dig v1.16.1/go.mod h1:557JTAUZT5bUK0SvCwikmLPPtdQhfvLYtO5tJgQSbnk= +go.uber.org/fx v1.19.2 h1:SyFgYQFr1Wl0AYstE8vyYIzP4bFz2URrScjwC4cwUvY= +go.uber.org/fx v1.19.2/go.mod h1:43G1VcqSzbIv77y00p1DRAsyZS8WdzuYdhZXmEUkMyQ= +go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +go4.org v0.0.0-20200411211856-f5505b9728dd h1:BNJlw5kRTzdmyfh5U8F93HA2OwkP7ZGwA51eJ/0wKOU= +go4.org v0.0.0-20200411211856-f5505b9728dd/go.mod h1:CIiUVy99QCPfoE13bO4EZaz5GZMZXMSBGhxRdsvzbkg= +golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210920023735-84f357641f63/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1284,11 +2274,13 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20221108223516-5d533826c662 h1:QIza2Vre5WI+NE5AQ6Wi2nGDgDOckLCHJdhcM/kxcfw= -golang.org/x/exp v0.0.0-20221108223516-5d533826c662/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -1317,24 +2309,31 @@ golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= +golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1349,6 +2348,7 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200425230154-ff2c4b7c35a0/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -1370,6 +2370,7 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1382,13 +2383,15 @@ golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1406,7 +2409,9 @@ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.5.0 h1:HuArIo48skDwlrvM3sEdHXElYslAMsf3KwRkkW4MC4s= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1421,24 +2426,35 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190302025703-b6889370fb10/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1474,6 +2490,7 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1495,12 +2512,15 @@ golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210317225723-c4fcb01b228e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426080607-c94f62235c83/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1528,18 +2548,22 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220224120231-95c6836cb0e7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1549,8 +2573,9 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1558,7 +2583,11 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1577,12 +2606,14 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1613,6 +2644,7 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1627,17 +2659,21 @@ golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1672,15 +2708,21 @@ google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdr google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1749,11 +2791,53 @@ google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd h1:OjndDrsik+Gt+e6fs45z9AxiewiKyLKYpA45W5Kpkks= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/examples v0.0.0-20200922230038-4e932bbcb079 h1:unzgkDPNegIn/czOcgxzQaTzEzOiBH1V1j55rsEzVEg= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1767,8 +2851,9 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1791,6 +2876,11 @@ gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8= +gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= @@ -1820,10 +2910,11 @@ gorm.io/driver/sqlite v1.4.3/go.mod h1:0Aq3iPO+v9ZKbcdiz8gLWRw5VOPcBOPUQJFLq5e2e gorm.io/driver/sqlserver v1.4.1 h1:t4r4r6Jam5E6ejqP7N82qAJIJAht27EGT41HyPfXRw0= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.24.0/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/gorm v1.24.7-0.20230306060331-85eaf9eeda11 h1:9qNbmu21nNThCNnF5i2R3kw2aL27U8ZwbzccNjOmW0g= gorm.io/gorm v1.24.7-0.20230306060331-85eaf9eeda11/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= -gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= -gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1831,6 +2922,9 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= +lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= +lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= @@ -1944,8 +3038,21 @@ modernc.org/tcl v1.10.0/go.mod h1:WzWapmP/7dHVhFoyPpEaNSVTL8xtewhouN/cqSJ5A2s= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.2.21/go.mod h1:uXrObx4pGqXWIMliC5MiKuwAyMrltzwpteOFUP1PWCc= modernc.org/z v1.3.0/go.mod h1:+mvgLH814oDjtATDdT3rs84JnUIpkvAF5B8AVkNlE2g= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= +moul.io/openfiles v1.2.0 h1:oAmBX0ChBBsKERFfTRyLi9JkjOvEv9E474BEL/wVq44= +moul.io/openfiles v1.2.0/go.mod h1:FR9BZ1mw7VE0uZN6HVJcA16Ee2nTDG/YZUyiGM/T2Rw= +moul.io/srand v1.6.1 h1:SJ335F+54ivLdlH7wH52Rtyv0Ffos6DpsF5wu3ZVMXU= +moul.io/srand v1.6.1/go.mod h1:P2uaZB+GFstFNo8sEj6/U8FRV1n25kD0LLckFpJ+qvc= +moul.io/u v1.27.0 h1:rF0p184mludn2DzL0unA8Gf/mFWMBerdqOh8cyuQYzQ= +moul.io/u v1.27.0/go.mod h1:ggYDXxUjoHpfDsMPD3STqkUZTyA741PZiQhSd+7kRnA= +moul.io/zapfilter v1.7.0 h1:7aFrG4N72bDH9a2BtYUuUaDS981Dxu3qybWfeqaeBDU= +moul.io/zapfilter v1.7.0/go.mod h1:M+N2s+qZiA+bzRoyKMVRxyuERijS2ovi2pnMyiOGMvc= +moul.io/zapring v1.3.3 h1:N2QPn6qTMBWjh842UPxdjj2UW+uH/foXohgGCPZDlM8= +moul.io/zapring v1.3.3/go.mod h1:UvlTrdjeHtSqdjkGXwAxIfpaQ/ai4I+ccRASFxflcJE= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= +pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= @@ -1953,3 +3060,5 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/go/cmd/weshd/main.go b/go/cmd/weshd/main.go new file mode 100644 index 0000000000..a5bcd9ae49 --- /dev/null +++ b/go/cmd/weshd/main.go @@ -0,0 +1,182 @@ +package main + +import ( + "context" + "flag" + "fmt" + "os/signal" + "strconv" + "syscall" + + mrand "math/rand" + "net/http" + "os" + + "berty.tech/weshnet" + "berty.tech/weshnet/pkg/ipfsutil" + ipfs_mobile "berty.tech/weshnet/pkg/ipfsutil/mobile" + "berty.tech/weshnet/pkg/protocoltypes" + "berty.tech/weshnet/pkg/tinder" + "moul.io/srand" + + "github.com/dgraph-io/badger/options" + badger "github.com/ipfs/go-ds-badger" + "github.com/peterbourgon/ff/v3" + "go.uber.org/zap" + "google.golang.org/grpc" + + "github.com/improbable-eng/grpc-web/go/grpcweb" + "github.com/pkg/errors" +) + +var port = 4242 +var weshDir = "./temp/wesh-dir/4242" + +func checkAndUpdatePortFromArgs() { + args := os.Args[1:] + + if len(args) != 0 { + parsedPort, err := strconv.Atoi(args[0]) + if err != nil { + fmt.Println("Invalid port number:", args[0]) + return + } + port = parsedPort + } +} + +func checkAndProcessDir() { + + basePath := "./temp/wesh-dir" + weshDir = basePath + "/" + strconv.Itoa(port) + + err := os.MkdirAll(weshDir, 0755) + + if err != nil { + fmt.Println("Error creating directory:", err) + return + } + + fmt.Printf("Directory '%s' and its parent directories have been created.\n", weshDir) +} + +func startHTTPServer() { + + fmt.Printf("Using port: %d\n", port) + + fs := flag.NewFlagSet("weshd", flag.ContinueOnError) + + if err := ff.Parse(fs, os.Args[1:]); err != nil { + panic(errors.Wrap(err, "failed to parse flags")) + } + + logger, err := zap.NewDevelopment() + if err != nil { + panic(errors.Wrap(err, "failed to create logger")) + } + + logger.Info("weshd", zap.Int("port", port)) + + grpcServer := grpc.NewServer() + + rng := mrand.New(mrand.NewSource(srand.MustSecure())) + drivers := []tinder.IDriver{} + + bopts := badger.DefaultOptions + bopts.ValueLogLoadingMode = options.FileIO + ds, err := badger.NewDatastore(weshDir, &bopts) + if err != nil { + panic(errors.Wrap(err, "unable to init badger datastore")) + } + + repo, err := ipfsutil.LoadRepoFromPath(weshDir) + if err != nil { + panic(errors.Wrap(err, "failed to create ipfs repo")) + } + + mrepo := ipfs_mobile.NewRepoMobile(weshDir, repo) + mnode, err := ipfsutil.NewIPFSMobile(context.Background(), mrepo, &ipfsutil.MobileOptions{}) + if err != nil { + panic(errors.Wrap(err, "failed to create ipfs node")) + } + + ipfsCoreAPI, err := ipfsutil.NewExtendedCoreAPIFromNode(mnode.IpfsNode) + if err != nil { + panic(errors.Wrap(err, "failed to create ipfs core api")) + } + + host := mnode.PeerHost() + + localdisc, err := tinder.NewLocalDiscovery(logger, host, rng) + if err != nil { + panic(errors.Wrap(err, "failed to create local discovery")) + } + drivers = append(drivers, localdisc) + + if mnode != nil { + dhtdisc := tinder.NewRoutingDiscoveryDriver("dht", mnode.DHT) + drivers = append(drivers, dhtdisc) + + } + tinderDriver, err := tinder.NewService(host, logger, drivers...) + if err != nil { + panic(errors.Wrap(err, "failed to create tinder driver")) + } + + svc, err := weshnet.NewService(weshnet.Opts{ + Logger: logger, + TinderService: tinderDriver, + IpfsCoreAPI: ipfsCoreAPI, + RootDatastore: ds, + }) + if err != nil { + panic(errors.Wrap(err, "failed to create weshnet server")) + } + defer svc.Close() + + protocoltypes.RegisterProtocolServiceServer(grpcServer, svc) + wrappedServer := grpcweb.WrapServer(grpcServer, + grpcweb.WithOriginFunc(func(string) bool { return true }), // @FIXME: this is very insecure + grpcweb.WithWebsockets(true), + ) + handler := func(resp http.ResponseWriter, req *http.Request) { + resp.Header().Set("Access-Control-Allow-Origin", "*") + resp.Header().Set("Access-Control-Allow-Headers", "*") + logger.Debug(fmt.Sprintf("Request: %v", req)) + wrappedServer.ServeHTTP(resp, req) + } + + httpServer := http.Server{ + Addr: fmt.Sprintf(":%d", port), + Handler: http.HandlerFunc(handler), + } + + if err := httpServer.ListenAndServe(); err != nil { + panic(errors.Wrap(err, "failed to start http server")) + } + +} + +func main() { + + checkAndUpdatePortFromArgs() + checkAndProcessDir() + + stopHTTPServer := make(chan struct{}) + + go func() { + startHTTPServer() + close(stopHTTPServer) + }() + + interruptChannel := make(chan os.Signal, 1) + signal.Notify(interruptChannel, os.Interrupt, syscall.SIGTERM) + + <-interruptChannel + + fmt.Println("Ctrl+C received. Stopping the program.") + + close(stopHTTPServer) + + fmt.Println("Program has exited.") +} diff --git a/package.json b/package.json index d0e0f38375..5934c77cae 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "expo-font": "~11.4.0", "expo-linear-gradient": "~12.3.0", "expo-status-bar": "~1.6.0", + "google-protobuf": "^3.21.2", "html-to-draftjs": "^1.5.0", "lodash": "^4.17.21", "long": "^5.2.1", diff --git a/packages/api/google/protobuf/any.ts b/packages/api/google/protobuf/any.ts index 99dfc69c1a..1f3e89aeaf 100644 --- a/packages/api/google/protobuf/any.ts +++ b/packages/api/google/protobuf/any.ts @@ -33,7 +33,7 @@ export const protobufPackage = "google.protobuf"; * foo = any.unpack(Foo.getDefaultInstance()); * } * - * Example 3: Pack and unpack a message in Python. + * Example 3: Pack and unpack a message in Python. * * foo = Foo(...) * any = Any() @@ -43,7 +43,7 @@ export const protobufPackage = "google.protobuf"; * any.Unpack(foo) * ... * - * Example 4: Pack and unpack a message in Go + * Example 4: Pack and unpack a message in Go * * foo := &pb.Foo{...} * any, err := anypb.New(foo) @@ -63,7 +63,7 @@ export const protobufPackage = "google.protobuf"; * name "y.z". * * JSON - * + * ==== * The JSON representation of an `Any` value uses the regular * representation of the deserialized, embedded message, with an * additional field `@type` which contains the type URL. Example: @@ -115,7 +115,8 @@ export interface Any { * * Note: this functionality is not currently available in the official * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. + * type.googleapis.com. As of May 2023, there are no widely used type server + * implementations and no plans to implement one. * * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. diff --git a/packages/api/weshnet/errcode/errcode.ts b/packages/api/weshnet/errcode/errcode.ts new file mode 100644 index 0000000000..e8f0899463 --- /dev/null +++ b/packages/api/weshnet/errcode/errcode.ts @@ -0,0 +1,636 @@ +/* eslint-disable */ +import _m0 from "protobufjs/minimal"; + +export const protobufPackage = "weshnet.errcode"; + +/** + * ---------------- + * Special errors + * ---------------- + */ +export enum ErrCode { + /** Undefined - default value, should never be set manually */ + Undefined = 0, + /** TODO - indicates that you plan to create an error later */ + TODO = 666, + /** ErrNotImplemented - indicates that a method is not implemented yet */ + ErrNotImplemented = 777, + /** ErrInternal - indicates an unknown error (without Code), i.e. in gRPC */ + ErrInternal = 888, + ErrInvalidInput = 100, + ErrInvalidRange = 101, + ErrMissingInput = 102, + ErrSerialization = 103, + ErrDeserialization = 104, + ErrStreamRead = 105, + ErrStreamWrite = 106, + ErrStreamTransform = 110, + ErrStreamSendAndClose = 111, + ErrStreamHeaderWrite = 112, + ErrStreamHeaderRead = 115, + ErrStreamSink = 113, + ErrStreamCloseAndRecv = 114, + ErrMissingMapKey = 107, + ErrDBWrite = 108, + ErrDBRead = 109, + ErrDBDestroy = 120, + ErrDBMigrate = 121, + ErrDBReplay = 122, + ErrDBRestore = 123, + ErrDBOpen = 124, + ErrDBClose = 125, + ErrCryptoRandomGeneration = 200, + ErrCryptoKeyGeneration = 201, + ErrCryptoNonceGeneration = 202, + ErrCryptoSignature = 203, + ErrCryptoSignatureVerification = 204, + ErrCryptoDecrypt = 205, + ErrCryptoDecryptPayload = 206, + ErrCryptoEncrypt = 207, + ErrCryptoKeyConversion = 208, + ErrCryptoCipherInit = 209, + ErrCryptoKeyDerivation = 210, + ErrMap = 300, + ErrForEach = 301, + ErrKeystoreGet = 400, + ErrKeystorePut = 401, + /** ErrNotFound - generic */ + ErrNotFound = 404, + ErrOrbitDBInit = 1000, + ErrOrbitDBOpen = 1001, + ErrOrbitDBAppend = 1002, + ErrOrbitDBDeserialization = 1003, + ErrOrbitDBStoreCast = 1004, + ErrHandshakeOwnEphemeralKeyGenSend = 1100, + ErrHandshakePeerEphemeralKeyRecv = 1101, + ErrHandshakeRequesterAuthenticateBoxKeyGen = 1102, + ErrHandshakeResponderAcceptBoxKeyGen = 1103, + ErrHandshakeRequesterHello = 1104, + ErrHandshakeResponderHello = 1105, + ErrHandshakeRequesterAuthenticate = 1106, + ErrHandshakeResponderAccept = 1107, + ErrHandshakeRequesterAcknowledge = 1108, + ErrContactRequestSameAccount = 1200, + ErrContactRequestContactAlreadyAdded = 1201, + ErrContactRequestContactBlocked = 1202, + ErrContactRequestContactUndefined = 1203, + ErrContactRequestIncomingAlreadyReceived = 1204, + ErrGroupMemberLogEventOpen = 1300, + ErrGroupMemberLogEventSignature = 1301, + ErrGroupMemberUnknownGroupID = 1302, + ErrGroupSecretOtherDestMember = 1303, + ErrGroupSecretAlreadySentToMember = 1304, + ErrGroupInvalidType = 1305, + ErrGroupMissing = 1306, + ErrGroupActivate = 1307, + ErrGroupDeactivate = 1308, + ErrGroupInfo = 1309, + ErrGroupUnknown = 1310, + ErrGroupOpen = 1311, + ErrMessageKeyPersistencePut = 1500, + ErrMessageKeyPersistenceGet = 1501, + ErrServiceReplication = 4100, + ErrServiceReplicationServer = 4101, + ErrServiceReplicationMissingEndpoint = 4102, + ErrServicesDirectory = 4200, + ErrServicesDirectoryInvalidVerifiedCredentialSubject = 4201, + ErrServicesDirectoryExistingRecordNotFound = 4202, + ErrServicesDirectoryRecordLockedAndCantBeReplaced = 4203, + ErrServicesDirectoryExplicitReplaceFlagRequired = 4204, + ErrServicesDirectoryInvalidVerifiedCredential = 4205, + ErrServicesDirectoryExpiredVerifiedCredential = 4206, + ErrServicesDirectoryInvalidVerifiedCredentialID = 4207, + UNRECOGNIZED = -1, +} + +export function errCodeFromJSON(object: any): ErrCode { + switch (object) { + case 0: + case "Undefined": + return ErrCode.Undefined; + case 666: + case "TODO": + return ErrCode.TODO; + case 777: + case "ErrNotImplemented": + return ErrCode.ErrNotImplemented; + case 888: + case "ErrInternal": + return ErrCode.ErrInternal; + case 100: + case "ErrInvalidInput": + return ErrCode.ErrInvalidInput; + case 101: + case "ErrInvalidRange": + return ErrCode.ErrInvalidRange; + case 102: + case "ErrMissingInput": + return ErrCode.ErrMissingInput; + case 103: + case "ErrSerialization": + return ErrCode.ErrSerialization; + case 104: + case "ErrDeserialization": + return ErrCode.ErrDeserialization; + case 105: + case "ErrStreamRead": + return ErrCode.ErrStreamRead; + case 106: + case "ErrStreamWrite": + return ErrCode.ErrStreamWrite; + case 110: + case "ErrStreamTransform": + return ErrCode.ErrStreamTransform; + case 111: + case "ErrStreamSendAndClose": + return ErrCode.ErrStreamSendAndClose; + case 112: + case "ErrStreamHeaderWrite": + return ErrCode.ErrStreamHeaderWrite; + case 115: + case "ErrStreamHeaderRead": + return ErrCode.ErrStreamHeaderRead; + case 113: + case "ErrStreamSink": + return ErrCode.ErrStreamSink; + case 114: + case "ErrStreamCloseAndRecv": + return ErrCode.ErrStreamCloseAndRecv; + case 107: + case "ErrMissingMapKey": + return ErrCode.ErrMissingMapKey; + case 108: + case "ErrDBWrite": + return ErrCode.ErrDBWrite; + case 109: + case "ErrDBRead": + return ErrCode.ErrDBRead; + case 120: + case "ErrDBDestroy": + return ErrCode.ErrDBDestroy; + case 121: + case "ErrDBMigrate": + return ErrCode.ErrDBMigrate; + case 122: + case "ErrDBReplay": + return ErrCode.ErrDBReplay; + case 123: + case "ErrDBRestore": + return ErrCode.ErrDBRestore; + case 124: + case "ErrDBOpen": + return ErrCode.ErrDBOpen; + case 125: + case "ErrDBClose": + return ErrCode.ErrDBClose; + case 200: + case "ErrCryptoRandomGeneration": + return ErrCode.ErrCryptoRandomGeneration; + case 201: + case "ErrCryptoKeyGeneration": + return ErrCode.ErrCryptoKeyGeneration; + case 202: + case "ErrCryptoNonceGeneration": + return ErrCode.ErrCryptoNonceGeneration; + case 203: + case "ErrCryptoSignature": + return ErrCode.ErrCryptoSignature; + case 204: + case "ErrCryptoSignatureVerification": + return ErrCode.ErrCryptoSignatureVerification; + case 205: + case "ErrCryptoDecrypt": + return ErrCode.ErrCryptoDecrypt; + case 206: + case "ErrCryptoDecryptPayload": + return ErrCode.ErrCryptoDecryptPayload; + case 207: + case "ErrCryptoEncrypt": + return ErrCode.ErrCryptoEncrypt; + case 208: + case "ErrCryptoKeyConversion": + return ErrCode.ErrCryptoKeyConversion; + case 209: + case "ErrCryptoCipherInit": + return ErrCode.ErrCryptoCipherInit; + case 210: + case "ErrCryptoKeyDerivation": + return ErrCode.ErrCryptoKeyDerivation; + case 300: + case "ErrMap": + return ErrCode.ErrMap; + case 301: + case "ErrForEach": + return ErrCode.ErrForEach; + case 400: + case "ErrKeystoreGet": + return ErrCode.ErrKeystoreGet; + case 401: + case "ErrKeystorePut": + return ErrCode.ErrKeystorePut; + case 404: + case "ErrNotFound": + return ErrCode.ErrNotFound; + case 1000: + case "ErrOrbitDBInit": + return ErrCode.ErrOrbitDBInit; + case 1001: + case "ErrOrbitDBOpen": + return ErrCode.ErrOrbitDBOpen; + case 1002: + case "ErrOrbitDBAppend": + return ErrCode.ErrOrbitDBAppend; + case 1003: + case "ErrOrbitDBDeserialization": + return ErrCode.ErrOrbitDBDeserialization; + case 1004: + case "ErrOrbitDBStoreCast": + return ErrCode.ErrOrbitDBStoreCast; + case 1100: + case "ErrHandshakeOwnEphemeralKeyGenSend": + return ErrCode.ErrHandshakeOwnEphemeralKeyGenSend; + case 1101: + case "ErrHandshakePeerEphemeralKeyRecv": + return ErrCode.ErrHandshakePeerEphemeralKeyRecv; + case 1102: + case "ErrHandshakeRequesterAuthenticateBoxKeyGen": + return ErrCode.ErrHandshakeRequesterAuthenticateBoxKeyGen; + case 1103: + case "ErrHandshakeResponderAcceptBoxKeyGen": + return ErrCode.ErrHandshakeResponderAcceptBoxKeyGen; + case 1104: + case "ErrHandshakeRequesterHello": + return ErrCode.ErrHandshakeRequesterHello; + case 1105: + case "ErrHandshakeResponderHello": + return ErrCode.ErrHandshakeResponderHello; + case 1106: + case "ErrHandshakeRequesterAuthenticate": + return ErrCode.ErrHandshakeRequesterAuthenticate; + case 1107: + case "ErrHandshakeResponderAccept": + return ErrCode.ErrHandshakeResponderAccept; + case 1108: + case "ErrHandshakeRequesterAcknowledge": + return ErrCode.ErrHandshakeRequesterAcknowledge; + case 1200: + case "ErrContactRequestSameAccount": + return ErrCode.ErrContactRequestSameAccount; + case 1201: + case "ErrContactRequestContactAlreadyAdded": + return ErrCode.ErrContactRequestContactAlreadyAdded; + case 1202: + case "ErrContactRequestContactBlocked": + return ErrCode.ErrContactRequestContactBlocked; + case 1203: + case "ErrContactRequestContactUndefined": + return ErrCode.ErrContactRequestContactUndefined; + case 1204: + case "ErrContactRequestIncomingAlreadyReceived": + return ErrCode.ErrContactRequestIncomingAlreadyReceived; + case 1300: + case "ErrGroupMemberLogEventOpen": + return ErrCode.ErrGroupMemberLogEventOpen; + case 1301: + case "ErrGroupMemberLogEventSignature": + return ErrCode.ErrGroupMemberLogEventSignature; + case 1302: + case "ErrGroupMemberUnknownGroupID": + return ErrCode.ErrGroupMemberUnknownGroupID; + case 1303: + case "ErrGroupSecretOtherDestMember": + return ErrCode.ErrGroupSecretOtherDestMember; + case 1304: + case "ErrGroupSecretAlreadySentToMember": + return ErrCode.ErrGroupSecretAlreadySentToMember; + case 1305: + case "ErrGroupInvalidType": + return ErrCode.ErrGroupInvalidType; + case 1306: + case "ErrGroupMissing": + return ErrCode.ErrGroupMissing; + case 1307: + case "ErrGroupActivate": + return ErrCode.ErrGroupActivate; + case 1308: + case "ErrGroupDeactivate": + return ErrCode.ErrGroupDeactivate; + case 1309: + case "ErrGroupInfo": + return ErrCode.ErrGroupInfo; + case 1310: + case "ErrGroupUnknown": + return ErrCode.ErrGroupUnknown; + case 1311: + case "ErrGroupOpen": + return ErrCode.ErrGroupOpen; + case 1500: + case "ErrMessageKeyPersistencePut": + return ErrCode.ErrMessageKeyPersistencePut; + case 1501: + case "ErrMessageKeyPersistenceGet": + return ErrCode.ErrMessageKeyPersistenceGet; + case 4100: + case "ErrServiceReplication": + return ErrCode.ErrServiceReplication; + case 4101: + case "ErrServiceReplicationServer": + return ErrCode.ErrServiceReplicationServer; + case 4102: + case "ErrServiceReplicationMissingEndpoint": + return ErrCode.ErrServiceReplicationMissingEndpoint; + case 4200: + case "ErrServicesDirectory": + return ErrCode.ErrServicesDirectory; + case 4201: + case "ErrServicesDirectoryInvalidVerifiedCredentialSubject": + return ErrCode.ErrServicesDirectoryInvalidVerifiedCredentialSubject; + case 4202: + case "ErrServicesDirectoryExistingRecordNotFound": + return ErrCode.ErrServicesDirectoryExistingRecordNotFound; + case 4203: + case "ErrServicesDirectoryRecordLockedAndCantBeReplaced": + return ErrCode.ErrServicesDirectoryRecordLockedAndCantBeReplaced; + case 4204: + case "ErrServicesDirectoryExplicitReplaceFlagRequired": + return ErrCode.ErrServicesDirectoryExplicitReplaceFlagRequired; + case 4205: + case "ErrServicesDirectoryInvalidVerifiedCredential": + return ErrCode.ErrServicesDirectoryInvalidVerifiedCredential; + case 4206: + case "ErrServicesDirectoryExpiredVerifiedCredential": + return ErrCode.ErrServicesDirectoryExpiredVerifiedCredential; + case 4207: + case "ErrServicesDirectoryInvalidVerifiedCredentialID": + return ErrCode.ErrServicesDirectoryInvalidVerifiedCredentialID; + case -1: + case "UNRECOGNIZED": + default: + return ErrCode.UNRECOGNIZED; + } +} + +export function errCodeToJSON(object: ErrCode): string { + switch (object) { + case ErrCode.Undefined: + return "Undefined"; + case ErrCode.TODO: + return "TODO"; + case ErrCode.ErrNotImplemented: + return "ErrNotImplemented"; + case ErrCode.ErrInternal: + return "ErrInternal"; + case ErrCode.ErrInvalidInput: + return "ErrInvalidInput"; + case ErrCode.ErrInvalidRange: + return "ErrInvalidRange"; + case ErrCode.ErrMissingInput: + return "ErrMissingInput"; + case ErrCode.ErrSerialization: + return "ErrSerialization"; + case ErrCode.ErrDeserialization: + return "ErrDeserialization"; + case ErrCode.ErrStreamRead: + return "ErrStreamRead"; + case ErrCode.ErrStreamWrite: + return "ErrStreamWrite"; + case ErrCode.ErrStreamTransform: + return "ErrStreamTransform"; + case ErrCode.ErrStreamSendAndClose: + return "ErrStreamSendAndClose"; + case ErrCode.ErrStreamHeaderWrite: + return "ErrStreamHeaderWrite"; + case ErrCode.ErrStreamHeaderRead: + return "ErrStreamHeaderRead"; + case ErrCode.ErrStreamSink: + return "ErrStreamSink"; + case ErrCode.ErrStreamCloseAndRecv: + return "ErrStreamCloseAndRecv"; + case ErrCode.ErrMissingMapKey: + return "ErrMissingMapKey"; + case ErrCode.ErrDBWrite: + return "ErrDBWrite"; + case ErrCode.ErrDBRead: + return "ErrDBRead"; + case ErrCode.ErrDBDestroy: + return "ErrDBDestroy"; + case ErrCode.ErrDBMigrate: + return "ErrDBMigrate"; + case ErrCode.ErrDBReplay: + return "ErrDBReplay"; + case ErrCode.ErrDBRestore: + return "ErrDBRestore"; + case ErrCode.ErrDBOpen: + return "ErrDBOpen"; + case ErrCode.ErrDBClose: + return "ErrDBClose"; + case ErrCode.ErrCryptoRandomGeneration: + return "ErrCryptoRandomGeneration"; + case ErrCode.ErrCryptoKeyGeneration: + return "ErrCryptoKeyGeneration"; + case ErrCode.ErrCryptoNonceGeneration: + return "ErrCryptoNonceGeneration"; + case ErrCode.ErrCryptoSignature: + return "ErrCryptoSignature"; + case ErrCode.ErrCryptoSignatureVerification: + return "ErrCryptoSignatureVerification"; + case ErrCode.ErrCryptoDecrypt: + return "ErrCryptoDecrypt"; + case ErrCode.ErrCryptoDecryptPayload: + return "ErrCryptoDecryptPayload"; + case ErrCode.ErrCryptoEncrypt: + return "ErrCryptoEncrypt"; + case ErrCode.ErrCryptoKeyConversion: + return "ErrCryptoKeyConversion"; + case ErrCode.ErrCryptoCipherInit: + return "ErrCryptoCipherInit"; + case ErrCode.ErrCryptoKeyDerivation: + return "ErrCryptoKeyDerivation"; + case ErrCode.ErrMap: + return "ErrMap"; + case ErrCode.ErrForEach: + return "ErrForEach"; + case ErrCode.ErrKeystoreGet: + return "ErrKeystoreGet"; + case ErrCode.ErrKeystorePut: + return "ErrKeystorePut"; + case ErrCode.ErrNotFound: + return "ErrNotFound"; + case ErrCode.ErrOrbitDBInit: + return "ErrOrbitDBInit"; + case ErrCode.ErrOrbitDBOpen: + return "ErrOrbitDBOpen"; + case ErrCode.ErrOrbitDBAppend: + return "ErrOrbitDBAppend"; + case ErrCode.ErrOrbitDBDeserialization: + return "ErrOrbitDBDeserialization"; + case ErrCode.ErrOrbitDBStoreCast: + return "ErrOrbitDBStoreCast"; + case ErrCode.ErrHandshakeOwnEphemeralKeyGenSend: + return "ErrHandshakeOwnEphemeralKeyGenSend"; + case ErrCode.ErrHandshakePeerEphemeralKeyRecv: + return "ErrHandshakePeerEphemeralKeyRecv"; + case ErrCode.ErrHandshakeRequesterAuthenticateBoxKeyGen: + return "ErrHandshakeRequesterAuthenticateBoxKeyGen"; + case ErrCode.ErrHandshakeResponderAcceptBoxKeyGen: + return "ErrHandshakeResponderAcceptBoxKeyGen"; + case ErrCode.ErrHandshakeRequesterHello: + return "ErrHandshakeRequesterHello"; + case ErrCode.ErrHandshakeResponderHello: + return "ErrHandshakeResponderHello"; + case ErrCode.ErrHandshakeRequesterAuthenticate: + return "ErrHandshakeRequesterAuthenticate"; + case ErrCode.ErrHandshakeResponderAccept: + return "ErrHandshakeResponderAccept"; + case ErrCode.ErrHandshakeRequesterAcknowledge: + return "ErrHandshakeRequesterAcknowledge"; + case ErrCode.ErrContactRequestSameAccount: + return "ErrContactRequestSameAccount"; + case ErrCode.ErrContactRequestContactAlreadyAdded: + return "ErrContactRequestContactAlreadyAdded"; + case ErrCode.ErrContactRequestContactBlocked: + return "ErrContactRequestContactBlocked"; + case ErrCode.ErrContactRequestContactUndefined: + return "ErrContactRequestContactUndefined"; + case ErrCode.ErrContactRequestIncomingAlreadyReceived: + return "ErrContactRequestIncomingAlreadyReceived"; + case ErrCode.ErrGroupMemberLogEventOpen: + return "ErrGroupMemberLogEventOpen"; + case ErrCode.ErrGroupMemberLogEventSignature: + return "ErrGroupMemberLogEventSignature"; + case ErrCode.ErrGroupMemberUnknownGroupID: + return "ErrGroupMemberUnknownGroupID"; + case ErrCode.ErrGroupSecretOtherDestMember: + return "ErrGroupSecretOtherDestMember"; + case ErrCode.ErrGroupSecretAlreadySentToMember: + return "ErrGroupSecretAlreadySentToMember"; + case ErrCode.ErrGroupInvalidType: + return "ErrGroupInvalidType"; + case ErrCode.ErrGroupMissing: + return "ErrGroupMissing"; + case ErrCode.ErrGroupActivate: + return "ErrGroupActivate"; + case ErrCode.ErrGroupDeactivate: + return "ErrGroupDeactivate"; + case ErrCode.ErrGroupInfo: + return "ErrGroupInfo"; + case ErrCode.ErrGroupUnknown: + return "ErrGroupUnknown"; + case ErrCode.ErrGroupOpen: + return "ErrGroupOpen"; + case ErrCode.ErrMessageKeyPersistencePut: + return "ErrMessageKeyPersistencePut"; + case ErrCode.ErrMessageKeyPersistenceGet: + return "ErrMessageKeyPersistenceGet"; + case ErrCode.ErrServiceReplication: + return "ErrServiceReplication"; + case ErrCode.ErrServiceReplicationServer: + return "ErrServiceReplicationServer"; + case ErrCode.ErrServiceReplicationMissingEndpoint: + return "ErrServiceReplicationMissingEndpoint"; + case ErrCode.ErrServicesDirectory: + return "ErrServicesDirectory"; + case ErrCode.ErrServicesDirectoryInvalidVerifiedCredentialSubject: + return "ErrServicesDirectoryInvalidVerifiedCredentialSubject"; + case ErrCode.ErrServicesDirectoryExistingRecordNotFound: + return "ErrServicesDirectoryExistingRecordNotFound"; + case ErrCode.ErrServicesDirectoryRecordLockedAndCantBeReplaced: + return "ErrServicesDirectoryRecordLockedAndCantBeReplaced"; + case ErrCode.ErrServicesDirectoryExplicitReplaceFlagRequired: + return "ErrServicesDirectoryExplicitReplaceFlagRequired"; + case ErrCode.ErrServicesDirectoryInvalidVerifiedCredential: + return "ErrServicesDirectoryInvalidVerifiedCredential"; + case ErrCode.ErrServicesDirectoryExpiredVerifiedCredential: + return "ErrServicesDirectoryExpiredVerifiedCredential"; + case ErrCode.ErrServicesDirectoryInvalidVerifiedCredentialID: + return "ErrServicesDirectoryInvalidVerifiedCredentialID"; + case ErrCode.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface ErrDetails { + codes: ErrCode[]; +} + +function createBaseErrDetails(): ErrDetails { + return { codes: [] }; +} + +export const ErrDetails = { + encode(message: ErrDetails, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + writer.uint32(10).fork(); + for (const v of message.codes) { + writer.int32(v); + } + writer.ldelim(); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ErrDetails { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseErrDetails(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.codes.push(reader.int32() as any); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codes.push(reader.int32() as any); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ErrDetails { + return { codes: globalThis.Array.isArray(object?.codes) ? object.codes.map((e: any) => errCodeFromJSON(e)) : [] }; + }, + + toJSON(message: ErrDetails): unknown { + const obj: any = {}; + if (message.codes?.length) { + obj.codes = message.codes.map((e) => errCodeToJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ErrDetails { + return ErrDetails.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ErrDetails { + const message = createBaseErrDetails(); + message.codes = object.codes?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; diff --git a/packages/api/weshnet/gogoproto/gogo.ts b/packages/api/weshnet/gogoproto/gogo.ts new file mode 100644 index 0000000000..ecf800e039 --- /dev/null +++ b/packages/api/weshnet/gogoproto/gogo.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export const protobufPackage = "gogoproto"; diff --git a/packages/api/weshnet/google/protobuf/descriptor.ts b/packages/api/weshnet/google/protobuf/descriptor.ts new file mode 100644 index 0000000000..c922333981 --- /dev/null +++ b/packages/api/weshnet/google/protobuf/descriptor.ts @@ -0,0 +1,6120 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export const protobufPackage = "google.protobuf"; + +/** The full set of known editions. */ +export enum Edition { + /** EDITION_UNKNOWN - A placeholder for an unknown edition value. */ + EDITION_UNKNOWN = 0, + /** + * EDITION_PROTO2 - Legacy syntax "editions". These pre-date editions, but behave much like + * distinct editions. These can't be used to specify the edition of proto + * files, but feature definitions must supply proto2/proto3 defaults for + * backwards compatibility. + */ + EDITION_PROTO2 = 998, + EDITION_PROTO3 = 999, + /** + * EDITION_2023 - Editions that have been released. The specific values are arbitrary and + * should not be depended on, but they will always be time-ordered for easy + * comparison. + */ + EDITION_2023 = 1000, + /** + * EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be + * used or relyed on outside of tests. + */ + EDITION_1_TEST_ONLY = 1, + EDITION_2_TEST_ONLY = 2, + EDITION_99997_TEST_ONLY = 99997, + EDITION_99998_TEST_ONLY = 99998, + EDITION_99999_TEST_ONLY = 99999, + UNRECOGNIZED = -1, +} + +export function editionFromJSON(object: any): Edition { + switch (object) { + case 0: + case "EDITION_UNKNOWN": + return Edition.EDITION_UNKNOWN; + case 998: + case "EDITION_PROTO2": + return Edition.EDITION_PROTO2; + case 999: + case "EDITION_PROTO3": + return Edition.EDITION_PROTO3; + case 1000: + case "EDITION_2023": + return Edition.EDITION_2023; + case 1: + case "EDITION_1_TEST_ONLY": + return Edition.EDITION_1_TEST_ONLY; + case 2: + case "EDITION_2_TEST_ONLY": + return Edition.EDITION_2_TEST_ONLY; + case 99997: + case "EDITION_99997_TEST_ONLY": + return Edition.EDITION_99997_TEST_ONLY; + case 99998: + case "EDITION_99998_TEST_ONLY": + return Edition.EDITION_99998_TEST_ONLY; + case 99999: + case "EDITION_99999_TEST_ONLY": + return Edition.EDITION_99999_TEST_ONLY; + case -1: + case "UNRECOGNIZED": + default: + return Edition.UNRECOGNIZED; + } +} + +export function editionToJSON(object: Edition): string { + switch (object) { + case Edition.EDITION_UNKNOWN: + return "EDITION_UNKNOWN"; + case Edition.EDITION_PROTO2: + return "EDITION_PROTO2"; + case Edition.EDITION_PROTO3: + return "EDITION_PROTO3"; + case Edition.EDITION_2023: + return "EDITION_2023"; + case Edition.EDITION_1_TEST_ONLY: + return "EDITION_1_TEST_ONLY"; + case Edition.EDITION_2_TEST_ONLY: + return "EDITION_2_TEST_ONLY"; + case Edition.EDITION_99997_TEST_ONLY: + return "EDITION_99997_TEST_ONLY"; + case Edition.EDITION_99998_TEST_ONLY: + return "EDITION_99998_TEST_ONLY"; + case Edition.EDITION_99999_TEST_ONLY: + return "EDITION_99999_TEST_ONLY"; + case Edition.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * The protocol compiler can output a FileDescriptorSet containing the .proto + * files it parses. + */ +export interface FileDescriptorSet { + file: FileDescriptorProto[]; +} + +/** Describes a complete .proto file. */ +export interface FileDescriptorProto { + /** file name, relative to root of source tree */ + name: string; + /** e.g. "foo", "foo.bar", etc. */ + package: string; + /** Names of files imported by this file. */ + dependency: string[]; + /** Indexes of the public imported files in the dependency list above. */ + publicDependency: number[]; + /** + * Indexes of the weak imported files in the dependency list. + * For Google-internal migration only. Do not use. + */ + weakDependency: number[]; + /** All top-level definitions in this file. */ + messageType: DescriptorProto[]; + enumType: EnumDescriptorProto[]; + service: ServiceDescriptorProto[]; + extension: FieldDescriptorProto[]; + options: + | FileOptions + | undefined; + /** + * This field contains optional information about the original source code. + * You may safely remove this entire field without harming runtime + * functionality of the descriptors -- the information is needed only by + * development tools. + */ + sourceCodeInfo: + | SourceCodeInfo + | undefined; + /** + * The syntax of the proto file. + * The supported values are "proto2", "proto3", and "editions". + * + * If `edition` is present, this value must be "editions". + */ + syntax: string; + /** The edition of the proto file. */ + edition: Edition; +} + +/** Describes a message type. */ +export interface DescriptorProto { + name: string; + field: FieldDescriptorProto[]; + extension: FieldDescriptorProto[]; + nestedType: DescriptorProto[]; + enumType: EnumDescriptorProto[]; + extensionRange: DescriptorProto_ExtensionRange[]; + oneofDecl: OneofDescriptorProto[]; + options: MessageOptions | undefined; + reservedRange: DescriptorProto_ReservedRange[]; + /** + * Reserved field names, which may not be used by fields in the same message. + * A given name may only be reserved once. + */ + reservedName: string[]; +} + +export interface DescriptorProto_ExtensionRange { + /** Inclusive. */ + start: number; + /** Exclusive. */ + end: number; + options: ExtensionRangeOptions | undefined; +} + +/** + * Range of reserved tag numbers. Reserved tag numbers may not be used by + * fields or extension ranges in the same message. Reserved ranges may + * not overlap. + */ +export interface DescriptorProto_ReservedRange { + /** Inclusive. */ + start: number; + /** Exclusive. */ + end: number; +} + +export interface ExtensionRangeOptions { + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; + /** + * For external users: DO NOT USE. We are in the process of open sourcing + * extension declaration and executing internal cleanups before it can be + * used externally. + */ + declaration: ExtensionRangeOptions_Declaration[]; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** + * The verification state of the range. + * TODO: flip the default to DECLARATION once all empty ranges + * are marked as UNVERIFIED. + */ + verification: ExtensionRangeOptions_VerificationState; +} + +/** The verification state of the extension range. */ +export enum ExtensionRangeOptions_VerificationState { + /** DECLARATION - All the extensions of the range must be declared. */ + DECLARATION = 0, + UNVERIFIED = 1, + UNRECOGNIZED = -1, +} + +export function extensionRangeOptions_VerificationStateFromJSON(object: any): ExtensionRangeOptions_VerificationState { + switch (object) { + case 0: + case "DECLARATION": + return ExtensionRangeOptions_VerificationState.DECLARATION; + case 1: + case "UNVERIFIED": + return ExtensionRangeOptions_VerificationState.UNVERIFIED; + case -1: + case "UNRECOGNIZED": + default: + return ExtensionRangeOptions_VerificationState.UNRECOGNIZED; + } +} + +export function extensionRangeOptions_VerificationStateToJSON(object: ExtensionRangeOptions_VerificationState): string { + switch (object) { + case ExtensionRangeOptions_VerificationState.DECLARATION: + return "DECLARATION"; + case ExtensionRangeOptions_VerificationState.UNVERIFIED: + return "UNVERIFIED"; + case ExtensionRangeOptions_VerificationState.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface ExtensionRangeOptions_Declaration { + /** The extension number declared within the extension range. */ + number: number; + /** + * The fully-qualified name of the extension field. There must be a leading + * dot in front of the full name. + */ + fullName: string; + /** + * The fully-qualified type name of the extension field. Unlike + * Metadata.type, Declaration.type must have a leading dot for messages + * and enums. + */ + type: string; + /** + * If true, indicates that the number is reserved in the extension range, + * and any extension field with the number will fail to compile. Set this + * when a declared extension field is deleted. + */ + reserved: boolean; + /** + * If true, indicates that the extension must be defined as repeated. + * Otherwise the extension must be defined as optional. + */ + repeated: boolean; +} + +/** Describes a field within a message. */ +export interface FieldDescriptorProto { + name: string; + number: number; + label: FieldDescriptorProto_Label; + /** + * If type_name is set, this need not be set. If both this and type_name + * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + */ + type: FieldDescriptorProto_Type; + /** + * For message and enum types, this is the name of the type. If the name + * starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + * rules are used to find the type (i.e. first the nested types within this + * message are searched, then within the parent, on up to the root + * namespace). + */ + typeName: string; + /** + * For extensions, this is the name of the type being extended. It is + * resolved in the same manner as type_name. + */ + extendee: string; + /** + * For numeric types, contains the original text representation of the value. + * For booleans, "true" or "false". + * For strings, contains the default text contents (not escaped in any way). + * For bytes, contains the C escaped value. All bytes >= 128 are escaped. + */ + defaultValue: string; + /** + * If set, gives the index of a oneof in the containing type's oneof_decl + * list. This field is a member of that oneof. + */ + oneofIndex: number; + /** + * JSON name of this field. The value is set by protocol compiler. If the + * user has set a "json_name" option on this field, that option's value + * will be used. Otherwise, it's deduced from the field's name by converting + * it to camelCase. + */ + jsonName: string; + options: + | FieldOptions + | undefined; + /** + * If true, this is a proto3 "optional". When a proto3 field is optional, it + * tracks presence regardless of field type. + * + * When proto3_optional is true, this field must be belong to a oneof to + * signal to old proto3 clients that presence is tracked for this field. This + * oneof is known as a "synthetic" oneof, and this field must be its sole + * member (each proto3 optional field gets its own synthetic oneof). Synthetic + * oneofs exist in the descriptor only, and do not generate any API. Synthetic + * oneofs must be ordered after all "real" oneofs. + * + * For message fields, proto3_optional doesn't create any semantic change, + * since non-repeated message fields always track presence. However it still + * indicates the semantic detail of whether the user wrote "optional" or not. + * This can be useful for round-tripping the .proto file. For consistency we + * give message fields a synthetic oneof also, even though it is not required + * to track presence. This is especially important because the parser can't + * tell if a field is a message or an enum, so it must always create a + * synthetic oneof. + * + * Proto2 optional fields do not set this flag, because they already indicate + * optional with `LABEL_OPTIONAL`. + */ + proto3Optional: boolean; +} + +export enum FieldDescriptorProto_Type { + /** + * TYPE_DOUBLE - 0 is reserved for errors. + * Order is weird for historical reasons. + */ + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + /** + * TYPE_INT64 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + * negative values are likely. + */ + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + /** + * TYPE_INT32 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + * negative values are likely. + */ + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + /** + * TYPE_GROUP - Tag-delimited aggregate. + * Group type is deprecated and not supported after google.protobuf. However, Proto3 + * implementations should still be able to parse the group wire format and + * treat group fields as unknown fields. In Editions, the group wire format + * can be enabled via the `message_encoding` feature. + */ + TYPE_GROUP = 10, + /** TYPE_MESSAGE - Length-delimited aggregate. */ + TYPE_MESSAGE = 11, + /** TYPE_BYTES - New in version 2. */ + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + /** TYPE_SINT32 - Uses ZigZag encoding. */ + TYPE_SINT32 = 17, + /** TYPE_SINT64 - Uses ZigZag encoding. */ + TYPE_SINT64 = 18, + UNRECOGNIZED = -1, +} + +export function fieldDescriptorProto_TypeFromJSON(object: any): FieldDescriptorProto_Type { + switch (object) { + case 1: + case "TYPE_DOUBLE": + return FieldDescriptorProto_Type.TYPE_DOUBLE; + case 2: + case "TYPE_FLOAT": + return FieldDescriptorProto_Type.TYPE_FLOAT; + case 3: + case "TYPE_INT64": + return FieldDescriptorProto_Type.TYPE_INT64; + case 4: + case "TYPE_UINT64": + return FieldDescriptorProto_Type.TYPE_UINT64; + case 5: + case "TYPE_INT32": + return FieldDescriptorProto_Type.TYPE_INT32; + case 6: + case "TYPE_FIXED64": + return FieldDescriptorProto_Type.TYPE_FIXED64; + case 7: + case "TYPE_FIXED32": + return FieldDescriptorProto_Type.TYPE_FIXED32; + case 8: + case "TYPE_BOOL": + return FieldDescriptorProto_Type.TYPE_BOOL; + case 9: + case "TYPE_STRING": + return FieldDescriptorProto_Type.TYPE_STRING; + case 10: + case "TYPE_GROUP": + return FieldDescriptorProto_Type.TYPE_GROUP; + case 11: + case "TYPE_MESSAGE": + return FieldDescriptorProto_Type.TYPE_MESSAGE; + case 12: + case "TYPE_BYTES": + return FieldDescriptorProto_Type.TYPE_BYTES; + case 13: + case "TYPE_UINT32": + return FieldDescriptorProto_Type.TYPE_UINT32; + case 14: + case "TYPE_ENUM": + return FieldDescriptorProto_Type.TYPE_ENUM; + case 15: + case "TYPE_SFIXED32": + return FieldDescriptorProto_Type.TYPE_SFIXED32; + case 16: + case "TYPE_SFIXED64": + return FieldDescriptorProto_Type.TYPE_SFIXED64; + case 17: + case "TYPE_SINT32": + return FieldDescriptorProto_Type.TYPE_SINT32; + case 18: + case "TYPE_SINT64": + return FieldDescriptorProto_Type.TYPE_SINT64; + case -1: + case "UNRECOGNIZED": + default: + return FieldDescriptorProto_Type.UNRECOGNIZED; + } +} + +export function fieldDescriptorProto_TypeToJSON(object: FieldDescriptorProto_Type): string { + switch (object) { + case FieldDescriptorProto_Type.TYPE_DOUBLE: + return "TYPE_DOUBLE"; + case FieldDescriptorProto_Type.TYPE_FLOAT: + return "TYPE_FLOAT"; + case FieldDescriptorProto_Type.TYPE_INT64: + return "TYPE_INT64"; + case FieldDescriptorProto_Type.TYPE_UINT64: + return "TYPE_UINT64"; + case FieldDescriptorProto_Type.TYPE_INT32: + return "TYPE_INT32"; + case FieldDescriptorProto_Type.TYPE_FIXED64: + return "TYPE_FIXED64"; + case FieldDescriptorProto_Type.TYPE_FIXED32: + return "TYPE_FIXED32"; + case FieldDescriptorProto_Type.TYPE_BOOL: + return "TYPE_BOOL"; + case FieldDescriptorProto_Type.TYPE_STRING: + return "TYPE_STRING"; + case FieldDescriptorProto_Type.TYPE_GROUP: + return "TYPE_GROUP"; + case FieldDescriptorProto_Type.TYPE_MESSAGE: + return "TYPE_MESSAGE"; + case FieldDescriptorProto_Type.TYPE_BYTES: + return "TYPE_BYTES"; + case FieldDescriptorProto_Type.TYPE_UINT32: + return "TYPE_UINT32"; + case FieldDescriptorProto_Type.TYPE_ENUM: + return "TYPE_ENUM"; + case FieldDescriptorProto_Type.TYPE_SFIXED32: + return "TYPE_SFIXED32"; + case FieldDescriptorProto_Type.TYPE_SFIXED64: + return "TYPE_SFIXED64"; + case FieldDescriptorProto_Type.TYPE_SINT32: + return "TYPE_SINT32"; + case FieldDescriptorProto_Type.TYPE_SINT64: + return "TYPE_SINT64"; + case FieldDescriptorProto_Type.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FieldDescriptorProto_Label { + /** LABEL_OPTIONAL - 0 is reserved for errors */ + LABEL_OPTIONAL = 1, + LABEL_REPEATED = 3, + /** + * LABEL_REQUIRED - The required label is only allowed in google.protobuf. In proto3 and Editions + * it's explicitly prohibited. In Editions, the `field_presence` feature + * can be used to get this behavior. + */ + LABEL_REQUIRED = 2, + UNRECOGNIZED = -1, +} + +export function fieldDescriptorProto_LabelFromJSON(object: any): FieldDescriptorProto_Label { + switch (object) { + case 1: + case "LABEL_OPTIONAL": + return FieldDescriptorProto_Label.LABEL_OPTIONAL; + case 3: + case "LABEL_REPEATED": + return FieldDescriptorProto_Label.LABEL_REPEATED; + case 2: + case "LABEL_REQUIRED": + return FieldDescriptorProto_Label.LABEL_REQUIRED; + case -1: + case "UNRECOGNIZED": + default: + return FieldDescriptorProto_Label.UNRECOGNIZED; + } +} + +export function fieldDescriptorProto_LabelToJSON(object: FieldDescriptorProto_Label): string { + switch (object) { + case FieldDescriptorProto_Label.LABEL_OPTIONAL: + return "LABEL_OPTIONAL"; + case FieldDescriptorProto_Label.LABEL_REPEATED: + return "LABEL_REPEATED"; + case FieldDescriptorProto_Label.LABEL_REQUIRED: + return "LABEL_REQUIRED"; + case FieldDescriptorProto_Label.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** Describes a oneof. */ +export interface OneofDescriptorProto { + name: string; + options: OneofOptions | undefined; +} + +/** Describes an enum type. */ +export interface EnumDescriptorProto { + name: string; + value: EnumValueDescriptorProto[]; + options: + | EnumOptions + | undefined; + /** + * Range of reserved numeric values. Reserved numeric values may not be used + * by enum values in the same enum declaration. Reserved ranges may not + * overlap. + */ + reservedRange: EnumDescriptorProto_EnumReservedRange[]; + /** + * Reserved enum value names, which may not be reused. A given name may only + * be reserved once. + */ + reservedName: string[]; +} + +/** + * Range of reserved numeric values. Reserved values may not be used by + * entries in the same enum. Reserved ranges may not overlap. + * + * Note that this is distinct from DescriptorProto.ReservedRange in that it + * is inclusive such that it can appropriately represent the entire int32 + * domain. + */ +export interface EnumDescriptorProto_EnumReservedRange { + /** Inclusive. */ + start: number; + /** Inclusive. */ + end: number; +} + +/** Describes a value within an enum. */ +export interface EnumValueDescriptorProto { + name: string; + number: number; + options: EnumValueOptions | undefined; +} + +/** Describes a service. */ +export interface ServiceDescriptorProto { + name: string; + method: MethodDescriptorProto[]; + options: ServiceOptions | undefined; +} + +/** Describes a method of a service. */ +export interface MethodDescriptorProto { + name: string; + /** + * Input and output type names. These are resolved in the same way as + * FieldDescriptorProto.type_name, but must refer to a message type. + */ + inputType: string; + outputType: string; + options: + | MethodOptions + | undefined; + /** Identifies if client streams multiple client messages */ + clientStreaming: boolean; + /** Identifies if server streams multiple server messages */ + serverStreaming: boolean; +} + +export interface FileOptions { + /** + * Sets the Java package where classes generated from this .proto will be + * placed. By default, the proto package is used, but this is often + * inappropriate because proto packages do not normally start with backwards + * domain names. + */ + javaPackage: string; + /** + * Controls the name of the wrapper Java class generated for the .proto file. + * That class will always contain the .proto file's getDescriptor() method as + * well as any top-level extensions defined in the .proto file. + * If java_multiple_files is disabled, then all the other classes from the + * .proto file will be nested inside the single wrapper outer class. + */ + javaOuterClassname: string; + /** + * If enabled, then the Java code generator will generate a separate .java + * file for each top-level message, enum, and service defined in the .proto + * file. Thus, these types will *not* be nested inside the wrapper class + * named by java_outer_classname. However, the wrapper class will still be + * generated to contain the file's getDescriptor() method as well as any + * top-level extensions defined in the file. + */ + javaMultipleFiles: boolean; + /** + * This option does nothing. + * + * @deprecated + */ + javaGenerateEqualsAndHash: boolean; + /** + * If set true, then the Java2 code generator will generate code that + * throws an exception whenever an attempt is made to assign a non-UTF-8 + * byte sequence to a string field. + * Message reflection will do the same. + * However, an extension field still accepts non-UTF-8 byte sequences. + * This option has no effect on when used with the lite runtime. + */ + javaStringCheckUtf8: boolean; + optimizeFor: FileOptions_OptimizeMode; + /** + * Sets the Go package where structs generated from this .proto will be + * placed. If omitted, the Go package will be derived from the following: + * - The basename of the package import path, if provided. + * - Otherwise, the package statement in the .proto file, if present. + * - Otherwise, the basename of the .proto file, without extension. + */ + goPackage: string; + /** + * Should generic services be generated in each language? "Generic" services + * are not specific to any particular RPC system. They are generated by the + * main code generators in each language (without additional plugins). + * Generic services were the only kind of service generation supported by + * early versions of google.protobuf. + * + * Generic services are now considered deprecated in favor of using plugins + * that generate code specific to your particular RPC system. Therefore, + * these default to false. Old code which depends on generic services should + * explicitly set them to true. + */ + ccGenericServices: boolean; + javaGenericServices: boolean; + pyGenericServices: boolean; + phpGenericServices: boolean; + /** + * Is this file deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for everything in the file, or it will be completely ignored; in the very + * least, this is a formalization for deprecating files. + */ + deprecated: boolean; + /** + * Enables the use of arenas for the proto messages in this file. This applies + * only to generated classes for C++. + */ + ccEnableArenas: boolean; + /** + * Sets the objective c class prefix which is prepended to all objective c + * generated classes from this .proto. There is no default. + */ + objcClassPrefix: string; + /** Namespace for generated classes; defaults to the package. */ + csharpNamespace: string; + /** + * By default Swift generators will take the proto package and CamelCase it + * replacing '.' with underscore and use that to prefix the types/symbols + * defined. When this options is provided, they will use this value instead + * to prefix the types/symbols defined. + */ + swiftPrefix: string; + /** + * Sets the php class prefix which is prepended to all php generated classes + * from this .proto. Default is empty. + */ + phpClassPrefix: string; + /** + * Use this option to change the namespace of php generated classes. Default + * is empty. When this option is empty, the package name will be used for + * determining the namespace. + */ + phpNamespace: string; + /** + * Use this option to change the namespace of php generated metadata classes. + * Default is empty. When this option is empty, the proto file name will be + * used for determining the namespace. + */ + phpMetadataNamespace: string; + /** + * Use this option to change the package of ruby generated classes. Default + * is empty. When this option is not set, the package name will be used for + * determining the ruby package. + */ + rubyPackage: string; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** + * The parser stores options it doesn't recognize here. + * See the documentation for the "Options" section above. + */ + uninterpretedOption: UninterpretedOption[]; +} + +/** Generated classes can be optimized for speed or code size. */ +export enum FileOptions_OptimizeMode { + /** SPEED - Generate complete code for parsing, serialization, */ + SPEED = 1, + /** CODE_SIZE - etc. */ + CODE_SIZE = 2, + /** LITE_RUNTIME - Generate code using MessageLite and the lite runtime. */ + LITE_RUNTIME = 3, + UNRECOGNIZED = -1, +} + +export function fileOptions_OptimizeModeFromJSON(object: any): FileOptions_OptimizeMode { + switch (object) { + case 1: + case "SPEED": + return FileOptions_OptimizeMode.SPEED; + case 2: + case "CODE_SIZE": + return FileOptions_OptimizeMode.CODE_SIZE; + case 3: + case "LITE_RUNTIME": + return FileOptions_OptimizeMode.LITE_RUNTIME; + case -1: + case "UNRECOGNIZED": + default: + return FileOptions_OptimizeMode.UNRECOGNIZED; + } +} + +export function fileOptions_OptimizeModeToJSON(object: FileOptions_OptimizeMode): string { + switch (object) { + case FileOptions_OptimizeMode.SPEED: + return "SPEED"; + case FileOptions_OptimizeMode.CODE_SIZE: + return "CODE_SIZE"; + case FileOptions_OptimizeMode.LITE_RUNTIME: + return "LITE_RUNTIME"; + case FileOptions_OptimizeMode.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface MessageOptions { + /** + * Set true to use the old proto1 MessageSet wire format for extensions. + * This is provided for backwards-compatibility with the MessageSet wire + * format. You should not use this for any other reason: It's less + * efficient, has fewer features, and is more complicated. + * + * The message must be defined exactly as follows: + * message Foo { + * option message_set_wire_format = true; + * extensions 4 to max; + * } + * Note that the message cannot have any defined fields; MessageSets only + * have extensions. + * + * All extensions of your type must be singular messages; e.g. they cannot + * be int32s, enums, or repeated messages. + * + * Because this is an option, the above two restrictions are not enforced by + * the protocol compiler. + */ + messageSetWireFormat: boolean; + /** + * Disables the generation of the standard "descriptor()" accessor, which can + * conflict with a field of the same name. This is meant to make migration + * from proto1 easier; new code should avoid fields named "descriptor". + */ + noStandardDescriptorAccessor: boolean; + /** + * Is this message deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the message, or it will be completely ignored; in the very least, + * this is a formalization for deprecating messages. + */ + deprecated: boolean; + /** + * NOTE: Do not set the option in .proto files. Always use the maps syntax + * instead. The option should only be implicitly set by the proto compiler + * parser. + * + * Whether the message is an automatically generated map entry type for the + * maps field. + * + * For maps fields: + * map map_field = 1; + * The parsed descriptor looks like: + * message MapFieldEntry { + * option map_entry = true; + * optional KeyType key = 1; + * optional ValueType value = 2; + * } + * repeated MapFieldEntry map_field = 1; + * + * Implementations may choose not to generate the map_entry=true message, but + * use a native map in the target language to hold the keys and values. + * The reflection APIs in such implementations still need to work as + * if the field is a repeated message field. + */ + mapEntry: boolean; + /** + * Enable the legacy handling of JSON field name conflicts. This lowercases + * and strips underscored from the fields before comparison in proto3 only. + * The new behavior takes `json_name` into account and applies to proto2 as + * well. + * + * This should only be used as a temporary measure against broken builds due + * to the change in behavior for JSON field name conflicts. + * + * TODO This is legacy behavior we plan to remove once downstream + * teams have had time to migrate. + * + * @deprecated + */ + deprecatedLegacyJsonFieldConflicts: boolean; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export interface FieldOptions { + /** + * The ctype option instructs the C++ code generator to use a different + * representation of the field than it normally would. See the specific + * options below. This option is only implemented to support use of + * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + * type "bytes" in the open source release -- sorry, we'll try to include + * other types in a future version! + */ + ctype: FieldOptions_CType; + /** + * The packed option can be enabled for repeated primitive fields to enable + * a more efficient representation on the wire. Rather than repeatedly + * writing the tag and type for each element, the entire array is encoded as + * a single length-delimited blob. In proto3, only explicit setting it to + * false will avoid using packed encoding. This option is prohibited in + * Editions, but the `repeated_field_encoding` feature can be used to control + * the behavior. + */ + packed: boolean; + /** + * The jstype option determines the JavaScript type used for values of the + * field. The option is permitted only for 64 bit integral and fixed types + * (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + * is represented as JavaScript string, which avoids loss of precision that + * can happen when a large value is converted to a floating point JavaScript. + * Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + * use the JavaScript "number" type. The behavior of the default option + * JS_NORMAL is implementation dependent. + * + * This option is an enum to permit additional types to be added, e.g. + * goog.math.Integer. + */ + jstype: FieldOptions_JSType; + /** + * Should this field be parsed lazily? Lazy applies only to message-type + * fields. It means that when the outer message is initially parsed, the + * inner message's contents will not be parsed but instead stored in encoded + * form. The inner message will actually be parsed when it is first accessed. + * + * This is only a hint. Implementations are free to choose whether to use + * eager or lazy parsing regardless of the value of this option. However, + * setting this option true suggests that the protocol author believes that + * using lazy parsing on this field is worth the additional bookkeeping + * overhead typically needed to implement it. + * + * This option does not affect the public interface of any generated code; + * all method signatures remain the same. Furthermore, thread-safety of the + * interface is not affected by this option; const methods remain safe to + * call from multiple threads concurrently, while non-const methods continue + * to require exclusive access. + * + * Note that implementations may choose not to check required fields within + * a lazy sub-message. That is, calling IsInitialized() on the outer message + * may return true even if the inner message has missing required fields. + * This is necessary because otherwise the inner message would have to be + * parsed in order to perform the check, defeating the purpose of lazy + * parsing. An implementation which chooses not to check required fields + * must be consistent about it. That is, for any particular sub-message, the + * implementation must either *always* check its required fields, or *never* + * check its required fields, regardless of whether or not the message has + * been parsed. + * + * As of May 2022, lazy verifies the contents of the byte stream during + * parsing. An invalid byte stream will cause the overall parsing to fail. + */ + lazy: boolean; + /** + * unverified_lazy does no correctness checks on the byte stream. This should + * only be used where lazy with verification is prohibitive for performance + * reasons. + */ + unverifiedLazy: boolean; + /** + * Is this field deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for accessors, or it will be completely ignored; in the very least, this + * is a formalization for deprecating fields. + */ + deprecated: boolean; + /** For Google-internal migration only. Do not use. */ + weak: boolean; + /** + * Indicate that the field value should not be printed out when using debug + * formats, e.g. when the field contains sensitive credentials. + */ + debugRedact: boolean; + retention: FieldOptions_OptionRetention; + targets: FieldOptions_OptionTargetType[]; + editionDefaults: FieldOptions_EditionDefault[]; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export enum FieldOptions_CType { + /** STRING - Default mode. */ + STRING = 0, + /** + * CORD - The option [ctype=CORD] may be applied to a non-repeated field of type + * "bytes". It indicates that in C++, the data should be stored in a Cord + * instead of a string. For very large strings, this may reduce memory + * fragmentation. It may also allow better performance when parsing from a + * Cord, or when parsing with aliasing enabled, as the parsed Cord may then + * alias the original buffer. + */ + CORD = 1, + STRING_PIECE = 2, + UNRECOGNIZED = -1, +} + +export function fieldOptions_CTypeFromJSON(object: any): FieldOptions_CType { + switch (object) { + case 0: + case "STRING": + return FieldOptions_CType.STRING; + case 1: + case "CORD": + return FieldOptions_CType.CORD; + case 2: + case "STRING_PIECE": + return FieldOptions_CType.STRING_PIECE; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptions_CType.UNRECOGNIZED; + } +} + +export function fieldOptions_CTypeToJSON(object: FieldOptions_CType): string { + switch (object) { + case FieldOptions_CType.STRING: + return "STRING"; + case FieldOptions_CType.CORD: + return "CORD"; + case FieldOptions_CType.STRING_PIECE: + return "STRING_PIECE"; + case FieldOptions_CType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FieldOptions_JSType { + /** JS_NORMAL - Use the default type. */ + JS_NORMAL = 0, + /** JS_STRING - Use JavaScript strings. */ + JS_STRING = 1, + /** JS_NUMBER - Use JavaScript numbers. */ + JS_NUMBER = 2, + UNRECOGNIZED = -1, +} + +export function fieldOptions_JSTypeFromJSON(object: any): FieldOptions_JSType { + switch (object) { + case 0: + case "JS_NORMAL": + return FieldOptions_JSType.JS_NORMAL; + case 1: + case "JS_STRING": + return FieldOptions_JSType.JS_STRING; + case 2: + case "JS_NUMBER": + return FieldOptions_JSType.JS_NUMBER; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptions_JSType.UNRECOGNIZED; + } +} + +export function fieldOptions_JSTypeToJSON(object: FieldOptions_JSType): string { + switch (object) { + case FieldOptions_JSType.JS_NORMAL: + return "JS_NORMAL"; + case FieldOptions_JSType.JS_STRING: + return "JS_STRING"; + case FieldOptions_JSType.JS_NUMBER: + return "JS_NUMBER"; + case FieldOptions_JSType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * If set to RETENTION_SOURCE, the option will be omitted from the binary. + * Note: as of January 2023, support for this is in progress and does not yet + * have an effect (b/264593489). + */ +export enum FieldOptions_OptionRetention { + RETENTION_UNKNOWN = 0, + RETENTION_RUNTIME = 1, + RETENTION_SOURCE = 2, + UNRECOGNIZED = -1, +} + +export function fieldOptions_OptionRetentionFromJSON(object: any): FieldOptions_OptionRetention { + switch (object) { + case 0: + case "RETENTION_UNKNOWN": + return FieldOptions_OptionRetention.RETENTION_UNKNOWN; + case 1: + case "RETENTION_RUNTIME": + return FieldOptions_OptionRetention.RETENTION_RUNTIME; + case 2: + case "RETENTION_SOURCE": + return FieldOptions_OptionRetention.RETENTION_SOURCE; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptions_OptionRetention.UNRECOGNIZED; + } +} + +export function fieldOptions_OptionRetentionToJSON(object: FieldOptions_OptionRetention): string { + switch (object) { + case FieldOptions_OptionRetention.RETENTION_UNKNOWN: + return "RETENTION_UNKNOWN"; + case FieldOptions_OptionRetention.RETENTION_RUNTIME: + return "RETENTION_RUNTIME"; + case FieldOptions_OptionRetention.RETENTION_SOURCE: + return "RETENTION_SOURCE"; + case FieldOptions_OptionRetention.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * This indicates the types of entities that the field may apply to when used + * as an option. If it is unset, then the field may be freely used as an + * option on any kind of entity. Note: as of January 2023, support for this is + * in progress and does not yet have an effect (b/264593489). + */ +export enum FieldOptions_OptionTargetType { + TARGET_TYPE_UNKNOWN = 0, + TARGET_TYPE_FILE = 1, + TARGET_TYPE_EXTENSION_RANGE = 2, + TARGET_TYPE_MESSAGE = 3, + TARGET_TYPE_FIELD = 4, + TARGET_TYPE_ONEOF = 5, + TARGET_TYPE_ENUM = 6, + TARGET_TYPE_ENUM_ENTRY = 7, + TARGET_TYPE_SERVICE = 8, + TARGET_TYPE_METHOD = 9, + UNRECOGNIZED = -1, +} + +export function fieldOptions_OptionTargetTypeFromJSON(object: any): FieldOptions_OptionTargetType { + switch (object) { + case 0: + case "TARGET_TYPE_UNKNOWN": + return FieldOptions_OptionTargetType.TARGET_TYPE_UNKNOWN; + case 1: + case "TARGET_TYPE_FILE": + return FieldOptions_OptionTargetType.TARGET_TYPE_FILE; + case 2: + case "TARGET_TYPE_EXTENSION_RANGE": + return FieldOptions_OptionTargetType.TARGET_TYPE_EXTENSION_RANGE; + case 3: + case "TARGET_TYPE_MESSAGE": + return FieldOptions_OptionTargetType.TARGET_TYPE_MESSAGE; + case 4: + case "TARGET_TYPE_FIELD": + return FieldOptions_OptionTargetType.TARGET_TYPE_FIELD; + case 5: + case "TARGET_TYPE_ONEOF": + return FieldOptions_OptionTargetType.TARGET_TYPE_ONEOF; + case 6: + case "TARGET_TYPE_ENUM": + return FieldOptions_OptionTargetType.TARGET_TYPE_ENUM; + case 7: + case "TARGET_TYPE_ENUM_ENTRY": + return FieldOptions_OptionTargetType.TARGET_TYPE_ENUM_ENTRY; + case 8: + case "TARGET_TYPE_SERVICE": + return FieldOptions_OptionTargetType.TARGET_TYPE_SERVICE; + case 9: + case "TARGET_TYPE_METHOD": + return FieldOptions_OptionTargetType.TARGET_TYPE_METHOD; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptions_OptionTargetType.UNRECOGNIZED; + } +} + +export function fieldOptions_OptionTargetTypeToJSON(object: FieldOptions_OptionTargetType): string { + switch (object) { + case FieldOptions_OptionTargetType.TARGET_TYPE_UNKNOWN: + return "TARGET_TYPE_UNKNOWN"; + case FieldOptions_OptionTargetType.TARGET_TYPE_FILE: + return "TARGET_TYPE_FILE"; + case FieldOptions_OptionTargetType.TARGET_TYPE_EXTENSION_RANGE: + return "TARGET_TYPE_EXTENSION_RANGE"; + case FieldOptions_OptionTargetType.TARGET_TYPE_MESSAGE: + return "TARGET_TYPE_MESSAGE"; + case FieldOptions_OptionTargetType.TARGET_TYPE_FIELD: + return "TARGET_TYPE_FIELD"; + case FieldOptions_OptionTargetType.TARGET_TYPE_ONEOF: + return "TARGET_TYPE_ONEOF"; + case FieldOptions_OptionTargetType.TARGET_TYPE_ENUM: + return "TARGET_TYPE_ENUM"; + case FieldOptions_OptionTargetType.TARGET_TYPE_ENUM_ENTRY: + return "TARGET_TYPE_ENUM_ENTRY"; + case FieldOptions_OptionTargetType.TARGET_TYPE_SERVICE: + return "TARGET_TYPE_SERVICE"; + case FieldOptions_OptionTargetType.TARGET_TYPE_METHOD: + return "TARGET_TYPE_METHOD"; + case FieldOptions_OptionTargetType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface FieldOptions_EditionDefault { + edition: Edition; + /** Textproto value. */ + value: string; +} + +export interface OneofOptions { + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export interface EnumOptions { + /** + * Set this option to true to allow mapping different tag names to the same + * value. + */ + allowAlias: boolean; + /** + * Is this enum deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the enum, or it will be completely ignored; in the very least, this + * is a formalization for deprecating enums. + */ + deprecated: boolean; + /** + * Enable the legacy handling of JSON field name conflicts. This lowercases + * and strips underscored from the fields before comparison in proto3 only. + * The new behavior takes `json_name` into account and applies to proto2 as + * well. + * TODO Remove this legacy behavior once downstream teams have + * had time to migrate. + * + * @deprecated + */ + deprecatedLegacyJsonFieldConflicts: boolean; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export interface EnumValueOptions { + /** + * Is this enum value deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the enum value, or it will be completely ignored; in the very least, + * this is a formalization for deprecating enum values. + */ + deprecated: boolean; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** + * Indicate that fields annotated with this enum value should not be printed + * out when using debug formats, e.g. when the field contains sensitive + * credentials. + */ + debugRedact: boolean; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export interface ServiceOptions { + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** + * Is this service deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the service, or it will be completely ignored; in the very least, + * this is a formalization for deprecating services. + */ + deprecated: boolean; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +export interface MethodOptions { + /** + * Is this method deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the method, or it will be completely ignored; in the very least, + * this is a formalization for deprecating methods. + */ + deprecated: boolean; + idempotencyLevel: MethodOptions_IdempotencyLevel; + /** Any features defined in the specific edition. */ + features: + | FeatureSet + | undefined; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpretedOption: UninterpretedOption[]; +} + +/** + * Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + * or neither? HTTP based RPC implementation may choose GET verb for safe + * methods, and PUT verb for idempotent methods instead of the default POST. + */ +export enum MethodOptions_IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + /** NO_SIDE_EFFECTS - implies idempotent */ + NO_SIDE_EFFECTS = 1, + /** IDEMPOTENT - idempotent, but may have side effects */ + IDEMPOTENT = 2, + UNRECOGNIZED = -1, +} + +export function methodOptions_IdempotencyLevelFromJSON(object: any): MethodOptions_IdempotencyLevel { + switch (object) { + case 0: + case "IDEMPOTENCY_UNKNOWN": + return MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN; + case 1: + case "NO_SIDE_EFFECTS": + return MethodOptions_IdempotencyLevel.NO_SIDE_EFFECTS; + case 2: + case "IDEMPOTENT": + return MethodOptions_IdempotencyLevel.IDEMPOTENT; + case -1: + case "UNRECOGNIZED": + default: + return MethodOptions_IdempotencyLevel.UNRECOGNIZED; + } +} + +export function methodOptions_IdempotencyLevelToJSON(object: MethodOptions_IdempotencyLevel): string { + switch (object) { + case MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN: + return "IDEMPOTENCY_UNKNOWN"; + case MethodOptions_IdempotencyLevel.NO_SIDE_EFFECTS: + return "NO_SIDE_EFFECTS"; + case MethodOptions_IdempotencyLevel.IDEMPOTENT: + return "IDEMPOTENT"; + case MethodOptions_IdempotencyLevel.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * A message representing a option the parser does not recognize. This only + * appears in options protos created by the compiler::Parser class. + * DescriptorPool resolves these when building Descriptor objects. Therefore, + * options protos in descriptor objects (e.g. returned by Descriptor::options(), + * or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + * in them. + */ +export interface UninterpretedOption { + name: UninterpretedOption_NamePart[]; + /** + * The value of the uninterpreted option, in whatever type the tokenizer + * identified it as during parsing. Exactly one of these should be set. + */ + identifierValue: string; + positiveIntValue: number; + negativeIntValue: number; + doubleValue: number; + stringValue: Uint8Array; + aggregateValue: string; +} + +/** + * The name of the uninterpreted option. Each string represents a segment in + * a dot-separated name. is_extension is true iff a segment represents an + * extension (denoted with parentheses in options specs in .proto files). + * E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + * "foo.(bar.baz).moo". + */ +export interface UninterpretedOption_NamePart { + namePart: string; + isExtension: boolean; +} + +/** + * TODO Enums in C++ gencode (and potentially other languages) are + * not well scoped. This means that each of the feature enums below can clash + * with each other. The short names we've chosen maximize call-site + * readability, but leave us very open to this scenario. A future feature will + * be designed and implemented to handle this, hopefully before we ever hit a + * conflict here. + */ +export interface FeatureSet { + fieldPresence: FeatureSet_FieldPresence; + enumType: FeatureSet_EnumType; + repeatedFieldEncoding: FeatureSet_RepeatedFieldEncoding; + utf8Validation: FeatureSet_Utf8Validation; + messageEncoding: FeatureSet_MessageEncoding; + jsonFormat: FeatureSet_JsonFormat; +} + +export enum FeatureSet_FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0, + EXPLICIT = 1, + IMPLICIT = 2, + LEGACY_REQUIRED = 3, + UNRECOGNIZED = -1, +} + +export function featureSet_FieldPresenceFromJSON(object: any): FeatureSet_FieldPresence { + switch (object) { + case 0: + case "FIELD_PRESENCE_UNKNOWN": + return FeatureSet_FieldPresence.FIELD_PRESENCE_UNKNOWN; + case 1: + case "EXPLICIT": + return FeatureSet_FieldPresence.EXPLICIT; + case 2: + case "IMPLICIT": + return FeatureSet_FieldPresence.IMPLICIT; + case 3: + case "LEGACY_REQUIRED": + return FeatureSet_FieldPresence.LEGACY_REQUIRED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_FieldPresence.UNRECOGNIZED; + } +} + +export function featureSet_FieldPresenceToJSON(object: FeatureSet_FieldPresence): string { + switch (object) { + case FeatureSet_FieldPresence.FIELD_PRESENCE_UNKNOWN: + return "FIELD_PRESENCE_UNKNOWN"; + case FeatureSet_FieldPresence.EXPLICIT: + return "EXPLICIT"; + case FeatureSet_FieldPresence.IMPLICIT: + return "IMPLICIT"; + case FeatureSet_FieldPresence.LEGACY_REQUIRED: + return "LEGACY_REQUIRED"; + case FeatureSet_FieldPresence.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FeatureSet_EnumType { + ENUM_TYPE_UNKNOWN = 0, + OPEN = 1, + CLOSED = 2, + UNRECOGNIZED = -1, +} + +export function featureSet_EnumTypeFromJSON(object: any): FeatureSet_EnumType { + switch (object) { + case 0: + case "ENUM_TYPE_UNKNOWN": + return FeatureSet_EnumType.ENUM_TYPE_UNKNOWN; + case 1: + case "OPEN": + return FeatureSet_EnumType.OPEN; + case 2: + case "CLOSED": + return FeatureSet_EnumType.CLOSED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_EnumType.UNRECOGNIZED; + } +} + +export function featureSet_EnumTypeToJSON(object: FeatureSet_EnumType): string { + switch (object) { + case FeatureSet_EnumType.ENUM_TYPE_UNKNOWN: + return "ENUM_TYPE_UNKNOWN"; + case FeatureSet_EnumType.OPEN: + return "OPEN"; + case FeatureSet_EnumType.CLOSED: + return "CLOSED"; + case FeatureSet_EnumType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FeatureSet_RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0, + PACKED = 1, + EXPANDED = 2, + UNRECOGNIZED = -1, +} + +export function featureSet_RepeatedFieldEncodingFromJSON(object: any): FeatureSet_RepeatedFieldEncoding { + switch (object) { + case 0: + case "REPEATED_FIELD_ENCODING_UNKNOWN": + return FeatureSet_RepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN; + case 1: + case "PACKED": + return FeatureSet_RepeatedFieldEncoding.PACKED; + case 2: + case "EXPANDED": + return FeatureSet_RepeatedFieldEncoding.EXPANDED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_RepeatedFieldEncoding.UNRECOGNIZED; + } +} + +export function featureSet_RepeatedFieldEncodingToJSON(object: FeatureSet_RepeatedFieldEncoding): string { + switch (object) { + case FeatureSet_RepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN: + return "REPEATED_FIELD_ENCODING_UNKNOWN"; + case FeatureSet_RepeatedFieldEncoding.PACKED: + return "PACKED"; + case FeatureSet_RepeatedFieldEncoding.EXPANDED: + return "EXPANDED"; + case FeatureSet_RepeatedFieldEncoding.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FeatureSet_Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0, + NONE = 1, + VERIFY = 2, + UNRECOGNIZED = -1, +} + +export function featureSet_Utf8ValidationFromJSON(object: any): FeatureSet_Utf8Validation { + switch (object) { + case 0: + case "UTF8_VALIDATION_UNKNOWN": + return FeatureSet_Utf8Validation.UTF8_VALIDATION_UNKNOWN; + case 1: + case "NONE": + return FeatureSet_Utf8Validation.NONE; + case 2: + case "VERIFY": + return FeatureSet_Utf8Validation.VERIFY; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_Utf8Validation.UNRECOGNIZED; + } +} + +export function featureSet_Utf8ValidationToJSON(object: FeatureSet_Utf8Validation): string { + switch (object) { + case FeatureSet_Utf8Validation.UTF8_VALIDATION_UNKNOWN: + return "UTF8_VALIDATION_UNKNOWN"; + case FeatureSet_Utf8Validation.NONE: + return "NONE"; + case FeatureSet_Utf8Validation.VERIFY: + return "VERIFY"; + case FeatureSet_Utf8Validation.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FeatureSet_MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0, + LENGTH_PREFIXED = 1, + DELIMITED = 2, + UNRECOGNIZED = -1, +} + +export function featureSet_MessageEncodingFromJSON(object: any): FeatureSet_MessageEncoding { + switch (object) { + case 0: + case "MESSAGE_ENCODING_UNKNOWN": + return FeatureSet_MessageEncoding.MESSAGE_ENCODING_UNKNOWN; + case 1: + case "LENGTH_PREFIXED": + return FeatureSet_MessageEncoding.LENGTH_PREFIXED; + case 2: + case "DELIMITED": + return FeatureSet_MessageEncoding.DELIMITED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_MessageEncoding.UNRECOGNIZED; + } +} + +export function featureSet_MessageEncodingToJSON(object: FeatureSet_MessageEncoding): string { + switch (object) { + case FeatureSet_MessageEncoding.MESSAGE_ENCODING_UNKNOWN: + return "MESSAGE_ENCODING_UNKNOWN"; + case FeatureSet_MessageEncoding.LENGTH_PREFIXED: + return "LENGTH_PREFIXED"; + case FeatureSet_MessageEncoding.DELIMITED: + return "DELIMITED"; + case FeatureSet_MessageEncoding.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum FeatureSet_JsonFormat { + JSON_FORMAT_UNKNOWN = 0, + ALLOW = 1, + LEGACY_BEST_EFFORT = 2, + UNRECOGNIZED = -1, +} + +export function featureSet_JsonFormatFromJSON(object: any): FeatureSet_JsonFormat { + switch (object) { + case 0: + case "JSON_FORMAT_UNKNOWN": + return FeatureSet_JsonFormat.JSON_FORMAT_UNKNOWN; + case 1: + case "ALLOW": + return FeatureSet_JsonFormat.ALLOW; + case 2: + case "LEGACY_BEST_EFFORT": + return FeatureSet_JsonFormat.LEGACY_BEST_EFFORT; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSet_JsonFormat.UNRECOGNIZED; + } +} + +export function featureSet_JsonFormatToJSON(object: FeatureSet_JsonFormat): string { + switch (object) { + case FeatureSet_JsonFormat.JSON_FORMAT_UNKNOWN: + return "JSON_FORMAT_UNKNOWN"; + case FeatureSet_JsonFormat.ALLOW: + return "ALLOW"; + case FeatureSet_JsonFormat.LEGACY_BEST_EFFORT: + return "LEGACY_BEST_EFFORT"; + case FeatureSet_JsonFormat.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * A compiled specification for the defaults of a set of features. These + * messages are generated from FeatureSet extensions and can be used to seed + * feature resolution. The resolution with this object becomes a simple search + * for the closest matching edition, followed by proto merges. + */ +export interface FeatureSetDefaults { + defaults: FeatureSetDefaults_FeatureSetEditionDefault[]; + /** + * The minimum supported edition (inclusive) when this was constructed. + * Editions before this will not have defaults. + */ + minimumEdition: Edition; + /** + * The maximum known edition (inclusive) when this was constructed. Editions + * after this will not have reliable defaults. + */ + maximumEdition: Edition; +} + +/** + * A map from every known edition with a unique set of defaults to its + * defaults. Not all editions may be contained here. For a given edition, + * the defaults at the closest matching edition ordered at or before it should + * be used. This field must be in strict ascending order by edition. + */ +export interface FeatureSetDefaults_FeatureSetEditionDefault { + edition: Edition; + features: FeatureSet | undefined; +} + +/** + * Encapsulates information about the original source file from which a + * FileDescriptorProto was generated. + */ +export interface SourceCodeInfo { + /** + * A Location identifies a piece of source code in a .proto file which + * corresponds to a particular definition. This information is intended + * to be useful to IDEs, code indexers, documentation generators, and similar + * tools. + * + * For example, say we have a file like: + * message Foo { + * optional string foo = 1; + * } + * Let's look at just the field definition: + * optional string foo = 1; + * ^ ^^ ^^ ^ ^^^ + * a bc de f ghi + * We have the following locations: + * span path represents + * [a,i) [ 4, 0, 2, 0 ] The whole field definition. + * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + * + * Notes: + * - A location may refer to a repeated field itself (i.e. not to any + * particular index within it). This is used whenever a set of elements are + * logically enclosed in a single code segment. For example, an entire + * extend block (possibly containing multiple extension definitions) will + * have an outer location whose path refers to the "extensions" repeated + * field without an index. + * - Multiple locations may have the same path. This happens when a single + * logical declaration is spread out across multiple places. The most + * obvious example is the "extend" block again -- there may be multiple + * extend blocks in the same scope, each of which will have the same path. + * - A location's span is not always a subset of its parent's span. For + * example, the "extendee" of an extension declaration appears at the + * beginning of the "extend" block and is shared by all extensions within + * the block. + * - Just because a location's span is a subset of some other location's span + * does not mean that it is a descendant. For example, a "group" defines + * both a type and a field in a single declaration. Thus, the locations + * corresponding to the type and field and their components will overlap. + * - Code which tries to interpret locations should probably be designed to + * ignore those that it doesn't understand, as more types of locations could + * be recorded in the future. + */ + location: SourceCodeInfo_Location[]; +} + +export interface SourceCodeInfo_Location { + /** + * Identifies which part of the FileDescriptorProto was defined at this + * location. + * + * Each element is a field number or an index. They form a path from + * the root FileDescriptorProto to the place where the definition occurs. + * For example, this path: + * [ 4, 3, 2, 7, 1 ] + * refers to: + * file.message_type(3) // 4, 3 + * .field(7) // 2, 7 + * .name() // 1 + * This is because FileDescriptorProto.message_type has field number 4: + * repeated DescriptorProto message_type = 4; + * and DescriptorProto.field has field number 2: + * repeated FieldDescriptorProto field = 2; + * and FieldDescriptorProto.name has field number 1: + * optional string name = 1; + * + * Thus, the above path gives the location of a field name. If we removed + * the last element: + * [ 4, 3, 2, 7 ] + * this path refers to the whole field declaration (from the beginning + * of the label to the terminating semicolon). + */ + path: number[]; + /** + * Always has exactly three or four elements: start line, start column, + * end line (optional, otherwise assumed same as start line), end column. + * These are packed into a single field for efficiency. Note that line + * and column numbers are zero-based -- typically you will want to add + * 1 to each before displaying to a user. + */ + span: number[]; + /** + * If this SourceCodeInfo represents a complete declaration, these are any + * comments appearing before and after the declaration which appear to be + * attached to the declaration. + * + * A series of line comments appearing on consecutive lines, with no other + * tokens appearing on those lines, will be treated as a single comment. + * + * leading_detached_comments will keep paragraphs of comments that appear + * before (but not connected to) the current element. Each paragraph, + * separated by empty lines, will be one comment element in the repeated + * field. + * + * Only the comment content is provided; comment markers (e.g. //) are + * stripped out. For block comments, leading whitespace and an asterisk + * will be stripped from the beginning of each line other than the first. + * Newlines are included in the output. + * + * Examples: + * + * optional int32 foo = 1; // Comment attached to foo. + * // Comment attached to bar. + * optional int32 bar = 2; + * + * optional string baz = 3; + * // Comment attached to baz. + * // Another line attached to baz. + * + * // Comment attached to moo. + * // + * // Another line attached to moo. + * optional double moo = 4; + * + * // Detached comment for corge. This is not leading or trailing comments + * // to moo or corge because there are blank lines separating it from + * // both. + * + * // Detached comment for corge paragraph 2. + * + * optional string corge = 5; + * /* Block comment attached + * * to corge. Leading asterisks + * * will be removed. * / + * /* Block comment attached to + * * grault. * / + * optional int32 grault = 6; + * + * // ignored detached comments. + */ + leadingComments: string; + trailingComments: string; + leadingDetachedComments: string[]; +} + +/** + * Describes the relationship between generated code and its original source + * file. A GeneratedCodeInfo message is associated with only one generated + * source file, but may contain references to different source .proto files. + */ +export interface GeneratedCodeInfo { + /** + * An Annotation connects some span of text in generated code to an element + * of its generating .proto file. + */ + annotation: GeneratedCodeInfo_Annotation[]; +} + +export interface GeneratedCodeInfo_Annotation { + /** + * Identifies the element in the original source .proto file. This field + * is formatted the same as SourceCodeInfo.Location.path. + */ + path: number[]; + /** Identifies the filesystem path to the original source .proto. */ + sourceFile: string; + /** + * Identifies the starting offset in bytes in the generated code + * that relates to the identified object. + */ + begin: number; + /** + * Identifies the ending offset in bytes in the generated code that + * relates to the identified object. The end offset should be one past + * the last relevant byte (so the length of the text = end - begin). + */ + end: number; + semantic: GeneratedCodeInfo_Annotation_Semantic; +} + +/** + * Represents the identified object's effect on the element in the original + * .proto file. + */ +export enum GeneratedCodeInfo_Annotation_Semantic { + /** NONE - There is no effect or the effect is indescribable. */ + NONE = 0, + /** SET - The element is set or otherwise mutated. */ + SET = 1, + /** ALIAS - An alias to the element is returned. */ + ALIAS = 2, + UNRECOGNIZED = -1, +} + +export function generatedCodeInfo_Annotation_SemanticFromJSON(object: any): GeneratedCodeInfo_Annotation_Semantic { + switch (object) { + case 0: + case "NONE": + return GeneratedCodeInfo_Annotation_Semantic.NONE; + case 1: + case "SET": + return GeneratedCodeInfo_Annotation_Semantic.SET; + case 2: + case "ALIAS": + return GeneratedCodeInfo_Annotation_Semantic.ALIAS; + case -1: + case "UNRECOGNIZED": + default: + return GeneratedCodeInfo_Annotation_Semantic.UNRECOGNIZED; + } +} + +export function generatedCodeInfo_Annotation_SemanticToJSON(object: GeneratedCodeInfo_Annotation_Semantic): string { + switch (object) { + case GeneratedCodeInfo_Annotation_Semantic.NONE: + return "NONE"; + case GeneratedCodeInfo_Annotation_Semantic.SET: + return "SET"; + case GeneratedCodeInfo_Annotation_Semantic.ALIAS: + return "ALIAS"; + case GeneratedCodeInfo_Annotation_Semantic.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseFileDescriptorSet(): FileDescriptorSet { + return { file: [] }; +} + +export const FileDescriptorSet = { + encode(message: FileDescriptorSet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.file) { + FileDescriptorProto.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FileDescriptorSet { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.file.push(FileDescriptorProto.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileDescriptorSet { + return { + file: globalThis.Array.isArray(object?.file) ? object.file.map((e: any) => FileDescriptorProto.fromJSON(e)) : [], + }; + }, + + toJSON(message: FileDescriptorSet): unknown { + const obj: any = {}; + if (message.file?.length) { + obj.file = message.file.map((e) => FileDescriptorProto.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FileDescriptorSet { + return FileDescriptorSet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileDescriptorSet { + const message = createBaseFileDescriptorSet(); + message.file = object.file?.map((e) => FileDescriptorProto.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseFileDescriptorProto(): FileDescriptorProto { + return { + name: "", + package: "", + dependency: [], + publicDependency: [], + weakDependency: [], + messageType: [], + enumType: [], + service: [], + extension: [], + options: undefined, + sourceCodeInfo: undefined, + syntax: "", + edition: 0, + }; +} + +export const FileDescriptorProto = { + encode(message: FileDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.package !== "") { + writer.uint32(18).string(message.package); + } + for (const v of message.dependency) { + writer.uint32(26).string(v!); + } + writer.uint32(82).fork(); + for (const v of message.publicDependency) { + writer.int32(v); + } + writer.ldelim(); + writer.uint32(90).fork(); + for (const v of message.weakDependency) { + writer.int32(v); + } + writer.ldelim(); + for (const v of message.messageType) { + DescriptorProto.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.enumType) { + EnumDescriptorProto.encode(v!, writer.uint32(42).fork()).ldelim(); + } + for (const v of message.service) { + ServiceDescriptorProto.encode(v!, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.extension) { + FieldDescriptorProto.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.options !== undefined) { + FileOptions.encode(message.options, writer.uint32(66).fork()).ldelim(); + } + if (message.sourceCodeInfo !== undefined) { + SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(74).fork()).ldelim(); + } + if (message.syntax !== "") { + writer.uint32(98).string(message.syntax); + } + if (message.edition !== 0) { + writer.uint32(112).int32(message.edition); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FileDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.package = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.dependency.push(reader.string()); + continue; + case 10: + if (tag === 80) { + message.publicDependency.push(reader.int32()); + + continue; + } + + if (tag === 82) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.publicDependency.push(reader.int32()); + } + + continue; + } + + break; + case 11: + if (tag === 88) { + message.weakDependency.push(reader.int32()); + + continue; + } + + if (tag === 90) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.weakDependency.push(reader.int32()); + } + + continue; + } + + break; + case 4: + if (tag !== 34) { + break; + } + + message.messageType.push(DescriptorProto.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.enumType.push(EnumDescriptorProto.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.service.push(ServiceDescriptorProto.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.extension.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.options = FileOptions.decode(reader, reader.uint32()); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.sourceCodeInfo = SourceCodeInfo.decode(reader, reader.uint32()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.syntax = reader.string(); + continue; + case 14: + if (tag !== 112) { + break; + } + + message.edition = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + package: isSet(object.package) ? globalThis.String(object.package) : "", + dependency: globalThis.Array.isArray(object?.dependency) + ? object.dependency.map((e: any) => globalThis.String(e)) + : [], + publicDependency: globalThis.Array.isArray(object?.publicDependency) + ? object.publicDependency.map((e: any) => globalThis.Number(e)) + : [], + weakDependency: globalThis.Array.isArray(object?.weakDependency) + ? object.weakDependency.map((e: any) => globalThis.Number(e)) + : [], + messageType: globalThis.Array.isArray(object?.messageType) + ? object.messageType.map((e: any) => DescriptorProto.fromJSON(e)) + : [], + enumType: globalThis.Array.isArray(object?.enumType) + ? object.enumType.map((e: any) => EnumDescriptorProto.fromJSON(e)) + : [], + service: globalThis.Array.isArray(object?.service) + ? object.service.map((e: any) => ServiceDescriptorProto.fromJSON(e)) + : [], + extension: globalThis.Array.isArray(object?.extension) + ? object.extension.map((e: any) => FieldDescriptorProto.fromJSON(e)) + : [], + options: isSet(object.options) ? FileOptions.fromJSON(object.options) : undefined, + sourceCodeInfo: isSet(object.sourceCodeInfo) ? SourceCodeInfo.fromJSON(object.sourceCodeInfo) : undefined, + syntax: isSet(object.syntax) ? globalThis.String(object.syntax) : "", + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + }; + }, + + toJSON(message: FileDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.package !== "") { + obj.package = message.package; + } + if (message.dependency?.length) { + obj.dependency = message.dependency; + } + if (message.publicDependency?.length) { + obj.publicDependency = message.publicDependency.map((e) => Math.round(e)); + } + if (message.weakDependency?.length) { + obj.weakDependency = message.weakDependency.map((e) => Math.round(e)); + } + if (message.messageType?.length) { + obj.messageType = message.messageType.map((e) => DescriptorProto.toJSON(e)); + } + if (message.enumType?.length) { + obj.enumType = message.enumType.map((e) => EnumDescriptorProto.toJSON(e)); + } + if (message.service?.length) { + obj.service = message.service.map((e) => ServiceDescriptorProto.toJSON(e)); + } + if (message.extension?.length) { + obj.extension = message.extension.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = FileOptions.toJSON(message.options); + } + if (message.sourceCodeInfo !== undefined) { + obj.sourceCodeInfo = SourceCodeInfo.toJSON(message.sourceCodeInfo); + } + if (message.syntax !== "") { + obj.syntax = message.syntax; + } + if (message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + return obj; + }, + + create, I>>(base?: I): FileDescriptorProto { + return FileDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileDescriptorProto { + const message = createBaseFileDescriptorProto(); + message.name = object.name ?? ""; + message.package = object.package ?? ""; + message.dependency = object.dependency?.map((e) => e) || []; + message.publicDependency = object.publicDependency?.map((e) => e) || []; + message.weakDependency = object.weakDependency?.map((e) => e) || []; + message.messageType = object.messageType?.map((e) => DescriptorProto.fromPartial(e)) || []; + message.enumType = object.enumType?.map((e) => EnumDescriptorProto.fromPartial(e)) || []; + message.service = object.service?.map((e) => ServiceDescriptorProto.fromPartial(e)) || []; + message.extension = object.extension?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.options = (object.options !== undefined && object.options !== null) + ? FileOptions.fromPartial(object.options) + : undefined; + message.sourceCodeInfo = (object.sourceCodeInfo !== undefined && object.sourceCodeInfo !== null) + ? SourceCodeInfo.fromPartial(object.sourceCodeInfo) + : undefined; + message.syntax = object.syntax ?? ""; + message.edition = object.edition ?? 0; + return message; + }, +}; + +function createBaseDescriptorProto(): DescriptorProto { + return { + name: "", + field: [], + extension: [], + nestedType: [], + enumType: [], + extensionRange: [], + oneofDecl: [], + options: undefined, + reservedRange: [], + reservedName: [], + }; +} + +export const DescriptorProto = { + encode(message: DescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.field) { + FieldDescriptorProto.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.extension) { + FieldDescriptorProto.encode(v!, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.nestedType) { + DescriptorProto.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.enumType) { + EnumDescriptorProto.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.extensionRange) { + DescriptorProto_ExtensionRange.encode(v!, writer.uint32(42).fork()).ldelim(); + } + for (const v of message.oneofDecl) { + OneofDescriptorProto.encode(v!, writer.uint32(66).fork()).ldelim(); + } + if (message.options !== undefined) { + MessageOptions.encode(message.options, writer.uint32(58).fork()).ldelim(); + } + for (const v of message.reservedRange) { + DescriptorProto_ReservedRange.encode(v!, writer.uint32(74).fork()).ldelim(); + } + for (const v of message.reservedName) { + writer.uint32(82).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.field.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.extension.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.nestedType.push(DescriptorProto.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.enumType.push(EnumDescriptorProto.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.extensionRange.push(DescriptorProto_ExtensionRange.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.oneofDecl.push(OneofDescriptorProto.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.options = MessageOptions.decode(reader, reader.uint32()); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.reservedRange.push(DescriptorProto_ReservedRange.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.reservedName.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + field: globalThis.Array.isArray(object?.field) + ? object.field.map((e: any) => FieldDescriptorProto.fromJSON(e)) + : [], + extension: globalThis.Array.isArray(object?.extension) + ? object.extension.map((e: any) => FieldDescriptorProto.fromJSON(e)) + : [], + nestedType: globalThis.Array.isArray(object?.nestedType) + ? object.nestedType.map((e: any) => DescriptorProto.fromJSON(e)) + : [], + enumType: globalThis.Array.isArray(object?.enumType) + ? object.enumType.map((e: any) => EnumDescriptorProto.fromJSON(e)) + : [], + extensionRange: globalThis.Array.isArray(object?.extensionRange) + ? object.extensionRange.map((e: any) => DescriptorProto_ExtensionRange.fromJSON(e)) + : [], + oneofDecl: globalThis.Array.isArray(object?.oneofDecl) + ? object.oneofDecl.map((e: any) => OneofDescriptorProto.fromJSON(e)) + : [], + options: isSet(object.options) ? MessageOptions.fromJSON(object.options) : undefined, + reservedRange: globalThis.Array.isArray(object?.reservedRange) + ? object.reservedRange.map((e: any) => DescriptorProto_ReservedRange.fromJSON(e)) + : [], + reservedName: globalThis.Array.isArray(object?.reservedName) + ? object.reservedName.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: DescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.field?.length) { + obj.field = message.field.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.extension?.length) { + obj.extension = message.extension.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.nestedType?.length) { + obj.nestedType = message.nestedType.map((e) => DescriptorProto.toJSON(e)); + } + if (message.enumType?.length) { + obj.enumType = message.enumType.map((e) => EnumDescriptorProto.toJSON(e)); + } + if (message.extensionRange?.length) { + obj.extensionRange = message.extensionRange.map((e) => DescriptorProto_ExtensionRange.toJSON(e)); + } + if (message.oneofDecl?.length) { + obj.oneofDecl = message.oneofDecl.map((e) => OneofDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = MessageOptions.toJSON(message.options); + } + if (message.reservedRange?.length) { + obj.reservedRange = message.reservedRange.map((e) => DescriptorProto_ReservedRange.toJSON(e)); + } + if (message.reservedName?.length) { + obj.reservedName = message.reservedName; + } + return obj; + }, + + create, I>>(base?: I): DescriptorProto { + return DescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DescriptorProto { + const message = createBaseDescriptorProto(); + message.name = object.name ?? ""; + message.field = object.field?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.extension = object.extension?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.nestedType = object.nestedType?.map((e) => DescriptorProto.fromPartial(e)) || []; + message.enumType = object.enumType?.map((e) => EnumDescriptorProto.fromPartial(e)) || []; + message.extensionRange = object.extensionRange?.map((e) => DescriptorProto_ExtensionRange.fromPartial(e)) || []; + message.oneofDecl = object.oneofDecl?.map((e) => OneofDescriptorProto.fromPartial(e)) || []; + message.options = (object.options !== undefined && object.options !== null) + ? MessageOptions.fromPartial(object.options) + : undefined; + message.reservedRange = object.reservedRange?.map((e) => DescriptorProto_ReservedRange.fromPartial(e)) || []; + message.reservedName = object.reservedName?.map((e) => e) || []; + return message; + }, +}; + +function createBaseDescriptorProto_ExtensionRange(): DescriptorProto_ExtensionRange { + return { start: 0, end: 0, options: undefined }; +} + +export const DescriptorProto_ExtensionRange = { + encode(message: DescriptorProto_ExtensionRange, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== 0) { + writer.uint32(16).int32(message.end); + } + if (message.options !== undefined) { + ExtensionRangeOptions.encode(message.options, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DescriptorProto_ExtensionRange { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProto_ExtensionRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = ExtensionRangeOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProto_ExtensionRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + options: isSet(object.options) ? ExtensionRangeOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: DescriptorProto_ExtensionRange): unknown { + const obj: any = {}; + if (message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== 0) { + obj.end = Math.round(message.end); + } + if (message.options !== undefined) { + obj.options = ExtensionRangeOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): DescriptorProto_ExtensionRange { + return DescriptorProto_ExtensionRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): DescriptorProto_ExtensionRange { + const message = createBaseDescriptorProto_ExtensionRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + message.options = (object.options !== undefined && object.options !== null) + ? ExtensionRangeOptions.fromPartial(object.options) + : undefined; + return message; + }, +}; + +function createBaseDescriptorProto_ReservedRange(): DescriptorProto_ReservedRange { + return { start: 0, end: 0 }; +} + +export const DescriptorProto_ReservedRange = { + encode(message: DescriptorProto_ReservedRange, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== 0) { + writer.uint32(16).int32(message.end); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DescriptorProto_ReservedRange { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProto_ReservedRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProto_ReservedRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + }; + }, + + toJSON(message: DescriptorProto_ReservedRange): unknown { + const obj: any = {}; + if (message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== 0) { + obj.end = Math.round(message.end); + } + return obj; + }, + + create, I>>(base?: I): DescriptorProto_ReservedRange { + return DescriptorProto_ReservedRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): DescriptorProto_ReservedRange { + const message = createBaseDescriptorProto_ReservedRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + return message; + }, +}; + +function createBaseExtensionRangeOptions(): ExtensionRangeOptions { + return { uninterpretedOption: [], declaration: [], features: undefined, verification: 0 }; +} + +export const ExtensionRangeOptions = { + encode(message: ExtensionRangeOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + for (const v of message.declaration) { + ExtensionRangeOptions_Declaration.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(402).fork()).ldelim(); + } + if (message.verification !== 0) { + writer.uint32(24).int32(message.verification); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ExtensionRangeOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionRangeOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.declaration.push(ExtensionRangeOptions_Declaration.decode(reader, reader.uint32())); + continue; + case 50: + if (tag !== 402) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.verification = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtensionRangeOptions { + return { + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + declaration: globalThis.Array.isArray(object?.declaration) + ? object.declaration.map((e: any) => ExtensionRangeOptions_Declaration.fromJSON(e)) + : [], + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + verification: isSet(object.verification) + ? extensionRangeOptions_VerificationStateFromJSON(object.verification) + : 0, + }; + }, + + toJSON(message: ExtensionRangeOptions): unknown { + const obj: any = {}; + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + if (message.declaration?.length) { + obj.declaration = message.declaration.map((e) => ExtensionRangeOptions_Declaration.toJSON(e)); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.verification !== 0) { + obj.verification = extensionRangeOptions_VerificationStateToJSON(message.verification); + } + return obj; + }, + + create, I>>(base?: I): ExtensionRangeOptions { + return ExtensionRangeOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtensionRangeOptions { + const message = createBaseExtensionRangeOptions(); + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + message.declaration = object.declaration?.map((e) => ExtensionRangeOptions_Declaration.fromPartial(e)) || []; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.verification = object.verification ?? 0; + return message; + }, +}; + +function createBaseExtensionRangeOptions_Declaration(): ExtensionRangeOptions_Declaration { + return { number: 0, fullName: "", type: "", reserved: false, repeated: false }; +} + +export const ExtensionRangeOptions_Declaration = { + encode(message: ExtensionRangeOptions_Declaration, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.number !== 0) { + writer.uint32(8).int32(message.number); + } + if (message.fullName !== "") { + writer.uint32(18).string(message.fullName); + } + if (message.type !== "") { + writer.uint32(26).string(message.type); + } + if (message.reserved === true) { + writer.uint32(40).bool(message.reserved); + } + if (message.repeated === true) { + writer.uint32(48).bool(message.repeated); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ExtensionRangeOptions_Declaration { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionRangeOptions_Declaration(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.number = reader.int32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.fullName = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.type = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.reserved = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.repeated = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtensionRangeOptions_Declaration { + return { + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + fullName: isSet(object.fullName) ? globalThis.String(object.fullName) : "", + type: isSet(object.type) ? globalThis.String(object.type) : "", + reserved: isSet(object.reserved) ? globalThis.Boolean(object.reserved) : false, + repeated: isSet(object.repeated) ? globalThis.Boolean(object.repeated) : false, + }; + }, + + toJSON(message: ExtensionRangeOptions_Declaration): unknown { + const obj: any = {}; + if (message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.fullName !== "") { + obj.fullName = message.fullName; + } + if (message.type !== "") { + obj.type = message.type; + } + if (message.reserved === true) { + obj.reserved = message.reserved; + } + if (message.repeated === true) { + obj.repeated = message.repeated; + } + return obj; + }, + + create, I>>( + base?: I, + ): ExtensionRangeOptions_Declaration { + return ExtensionRangeOptions_Declaration.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ExtensionRangeOptions_Declaration { + const message = createBaseExtensionRangeOptions_Declaration(); + message.number = object.number ?? 0; + message.fullName = object.fullName ?? ""; + message.type = object.type ?? ""; + message.reserved = object.reserved ?? false; + message.repeated = object.repeated ?? false; + return message; + }, +}; + +function createBaseFieldDescriptorProto(): FieldDescriptorProto { + return { + name: "", + number: 0, + label: 1, + type: 1, + typeName: "", + extendee: "", + defaultValue: "", + oneofIndex: 0, + jsonName: "", + options: undefined, + proto3Optional: false, + }; +} + +export const FieldDescriptorProto = { + encode(message: FieldDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.number !== 0) { + writer.uint32(24).int32(message.number); + } + if (message.label !== 1) { + writer.uint32(32).int32(message.label); + } + if (message.type !== 1) { + writer.uint32(40).int32(message.type); + } + if (message.typeName !== "") { + writer.uint32(50).string(message.typeName); + } + if (message.extendee !== "") { + writer.uint32(18).string(message.extendee); + } + if (message.defaultValue !== "") { + writer.uint32(58).string(message.defaultValue); + } + if (message.oneofIndex !== 0) { + writer.uint32(72).int32(message.oneofIndex); + } + if (message.jsonName !== "") { + writer.uint32(82).string(message.jsonName); + } + if (message.options !== undefined) { + FieldOptions.encode(message.options, writer.uint32(66).fork()).ldelim(); + } + if (message.proto3Optional === true) { + writer.uint32(136).bool(message.proto3Optional); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FieldDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.number = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.label = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.type = reader.int32() as any; + continue; + case 6: + if (tag !== 50) { + break; + } + + message.typeName = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.extendee = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.defaultValue = reader.string(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.oneofIndex = reader.int32(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.jsonName = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.options = FieldOptions.decode(reader, reader.uint32()); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.proto3Optional = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + label: isSet(object.label) ? fieldDescriptorProto_LabelFromJSON(object.label) : 1, + type: isSet(object.type) ? fieldDescriptorProto_TypeFromJSON(object.type) : 1, + typeName: isSet(object.typeName) ? globalThis.String(object.typeName) : "", + extendee: isSet(object.extendee) ? globalThis.String(object.extendee) : "", + defaultValue: isSet(object.defaultValue) ? globalThis.String(object.defaultValue) : "", + oneofIndex: isSet(object.oneofIndex) ? globalThis.Number(object.oneofIndex) : 0, + jsonName: isSet(object.jsonName) ? globalThis.String(object.jsonName) : "", + options: isSet(object.options) ? FieldOptions.fromJSON(object.options) : undefined, + proto3Optional: isSet(object.proto3Optional) ? globalThis.Boolean(object.proto3Optional) : false, + }; + }, + + toJSON(message: FieldDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.label !== 1) { + obj.label = fieldDescriptorProto_LabelToJSON(message.label); + } + if (message.type !== 1) { + obj.type = fieldDescriptorProto_TypeToJSON(message.type); + } + if (message.typeName !== "") { + obj.typeName = message.typeName; + } + if (message.extendee !== "") { + obj.extendee = message.extendee; + } + if (message.defaultValue !== "") { + obj.defaultValue = message.defaultValue; + } + if (message.oneofIndex !== 0) { + obj.oneofIndex = Math.round(message.oneofIndex); + } + if (message.jsonName !== "") { + obj.jsonName = message.jsonName; + } + if (message.options !== undefined) { + obj.options = FieldOptions.toJSON(message.options); + } + if (message.proto3Optional === true) { + obj.proto3Optional = message.proto3Optional; + } + return obj; + }, + + create, I>>(base?: I): FieldDescriptorProto { + return FieldDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldDescriptorProto { + const message = createBaseFieldDescriptorProto(); + message.name = object.name ?? ""; + message.number = object.number ?? 0; + message.label = object.label ?? 1; + message.type = object.type ?? 1; + message.typeName = object.typeName ?? ""; + message.extendee = object.extendee ?? ""; + message.defaultValue = object.defaultValue ?? ""; + message.oneofIndex = object.oneofIndex ?? 0; + message.jsonName = object.jsonName ?? ""; + message.options = (object.options !== undefined && object.options !== null) + ? FieldOptions.fromPartial(object.options) + : undefined; + message.proto3Optional = object.proto3Optional ?? false; + return message; + }, +}; + +function createBaseOneofDescriptorProto(): OneofDescriptorProto { + return { name: "", options: undefined }; +} + +export const OneofDescriptorProto = { + encode(message: OneofDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.options !== undefined) { + OneofOptions.encode(message.options, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OneofDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOneofDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.options = OneofOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OneofDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + options: isSet(object.options) ? OneofOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: OneofDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.options !== undefined) { + obj.options = OneofOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): OneofDescriptorProto { + return OneofDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OneofDescriptorProto { + const message = createBaseOneofDescriptorProto(); + message.name = object.name ?? ""; + message.options = (object.options !== undefined && object.options !== null) + ? OneofOptions.fromPartial(object.options) + : undefined; + return message; + }, +}; + +function createBaseEnumDescriptorProto(): EnumDescriptorProto { + return { name: "", value: [], options: undefined, reservedRange: [], reservedName: [] }; +} + +export const EnumDescriptorProto = { + encode(message: EnumDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.value) { + EnumValueDescriptorProto.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.options !== undefined) { + EnumOptions.encode(message.options, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.reservedRange) { + EnumDescriptorProto_EnumReservedRange.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.reservedName) { + writer.uint32(42).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EnumDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value.push(EnumValueDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = EnumOptions.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.reservedRange.push(EnumDescriptorProto_EnumReservedRange.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.reservedName.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + value: globalThis.Array.isArray(object?.value) + ? object.value.map((e: any) => EnumValueDescriptorProto.fromJSON(e)) + : [], + options: isSet(object.options) ? EnumOptions.fromJSON(object.options) : undefined, + reservedRange: globalThis.Array.isArray(object?.reservedRange) + ? object.reservedRange.map((e: any) => EnumDescriptorProto_EnumReservedRange.fromJSON(e)) + : [], + reservedName: globalThis.Array.isArray(object?.reservedName) + ? object.reservedName.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: EnumDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.value?.length) { + obj.value = message.value.map((e) => EnumValueDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = EnumOptions.toJSON(message.options); + } + if (message.reservedRange?.length) { + obj.reservedRange = message.reservedRange.map((e) => EnumDescriptorProto_EnumReservedRange.toJSON(e)); + } + if (message.reservedName?.length) { + obj.reservedName = message.reservedName; + } + return obj; + }, + + create, I>>(base?: I): EnumDescriptorProto { + return EnumDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumDescriptorProto { + const message = createBaseEnumDescriptorProto(); + message.name = object.name ?? ""; + message.value = object.value?.map((e) => EnumValueDescriptorProto.fromPartial(e)) || []; + message.options = (object.options !== undefined && object.options !== null) + ? EnumOptions.fromPartial(object.options) + : undefined; + message.reservedRange = object.reservedRange?.map((e) => EnumDescriptorProto_EnumReservedRange.fromPartial(e)) || + []; + message.reservedName = object.reservedName?.map((e) => e) || []; + return message; + }, +}; + +function createBaseEnumDescriptorProto_EnumReservedRange(): EnumDescriptorProto_EnumReservedRange { + return { start: 0, end: 0 }; +} + +export const EnumDescriptorProto_EnumReservedRange = { + encode(message: EnumDescriptorProto_EnumReservedRange, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== 0) { + writer.uint32(16).int32(message.end); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EnumDescriptorProto_EnumReservedRange { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumDescriptorProto_EnumReservedRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumDescriptorProto_EnumReservedRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + }; + }, + + toJSON(message: EnumDescriptorProto_EnumReservedRange): unknown { + const obj: any = {}; + if (message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== 0) { + obj.end = Math.round(message.end); + } + return obj; + }, + + create, I>>( + base?: I, + ): EnumDescriptorProto_EnumReservedRange { + return EnumDescriptorProto_EnumReservedRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EnumDescriptorProto_EnumReservedRange { + const message = createBaseEnumDescriptorProto_EnumReservedRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + return message; + }, +}; + +function createBaseEnumValueDescriptorProto(): EnumValueDescriptorProto { + return { name: "", number: 0, options: undefined }; +} + +export const EnumValueDescriptorProto = { + encode(message: EnumValueDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.number !== 0) { + writer.uint32(16).int32(message.number); + } + if (message.options !== undefined) { + EnumValueOptions.encode(message.options, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EnumValueDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumValueDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.number = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = EnumValueOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumValueDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + options: isSet(object.options) ? EnumValueOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: EnumValueDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.options !== undefined) { + obj.options = EnumValueOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): EnumValueDescriptorProto { + return EnumValueDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumValueDescriptorProto { + const message = createBaseEnumValueDescriptorProto(); + message.name = object.name ?? ""; + message.number = object.number ?? 0; + message.options = (object.options !== undefined && object.options !== null) + ? EnumValueOptions.fromPartial(object.options) + : undefined; + return message; + }, +}; + +function createBaseServiceDescriptorProto(): ServiceDescriptorProto { + return { name: "", method: [], options: undefined }; +} + +export const ServiceDescriptorProto = { + encode(message: ServiceDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.method) { + MethodDescriptorProto.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.options !== undefined) { + ServiceOptions.encode(message.options, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.method.push(MethodDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = ServiceOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + method: globalThis.Array.isArray(object?.method) + ? object.method.map((e: any) => MethodDescriptorProto.fromJSON(e)) + : [], + options: isSet(object.options) ? ServiceOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: ServiceDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.method?.length) { + obj.method = message.method.map((e) => MethodDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = ServiceOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): ServiceDescriptorProto { + return ServiceDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceDescriptorProto { + const message = createBaseServiceDescriptorProto(); + message.name = object.name ?? ""; + message.method = object.method?.map((e) => MethodDescriptorProto.fromPartial(e)) || []; + message.options = (object.options !== undefined && object.options !== null) + ? ServiceOptions.fromPartial(object.options) + : undefined; + return message; + }, +}; + +function createBaseMethodDescriptorProto(): MethodDescriptorProto { + return { + name: "", + inputType: "", + outputType: "", + options: undefined, + clientStreaming: false, + serverStreaming: false, + }; +} + +export const MethodDescriptorProto = { + encode(message: MethodDescriptorProto, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.inputType !== "") { + writer.uint32(18).string(message.inputType); + } + if (message.outputType !== "") { + writer.uint32(26).string(message.outputType); + } + if (message.options !== undefined) { + MethodOptions.encode(message.options, writer.uint32(34).fork()).ldelim(); + } + if (message.clientStreaming === true) { + writer.uint32(40).bool(message.clientStreaming); + } + if (message.serverStreaming === true) { + writer.uint32(48).bool(message.serverStreaming); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MethodDescriptorProto { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMethodDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.inputType = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.outputType = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.options = MethodOptions.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.clientStreaming = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.serverStreaming = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MethodDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + inputType: isSet(object.inputType) ? globalThis.String(object.inputType) : "", + outputType: isSet(object.outputType) ? globalThis.String(object.outputType) : "", + options: isSet(object.options) ? MethodOptions.fromJSON(object.options) : undefined, + clientStreaming: isSet(object.clientStreaming) ? globalThis.Boolean(object.clientStreaming) : false, + serverStreaming: isSet(object.serverStreaming) ? globalThis.Boolean(object.serverStreaming) : false, + }; + }, + + toJSON(message: MethodDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.inputType !== "") { + obj.inputType = message.inputType; + } + if (message.outputType !== "") { + obj.outputType = message.outputType; + } + if (message.options !== undefined) { + obj.options = MethodOptions.toJSON(message.options); + } + if (message.clientStreaming === true) { + obj.clientStreaming = message.clientStreaming; + } + if (message.serverStreaming === true) { + obj.serverStreaming = message.serverStreaming; + } + return obj; + }, + + create, I>>(base?: I): MethodDescriptorProto { + return MethodDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MethodDescriptorProto { + const message = createBaseMethodDescriptorProto(); + message.name = object.name ?? ""; + message.inputType = object.inputType ?? ""; + message.outputType = object.outputType ?? ""; + message.options = (object.options !== undefined && object.options !== null) + ? MethodOptions.fromPartial(object.options) + : undefined; + message.clientStreaming = object.clientStreaming ?? false; + message.serverStreaming = object.serverStreaming ?? false; + return message; + }, +}; + +function createBaseFileOptions(): FileOptions { + return { + javaPackage: "", + javaOuterClassname: "", + javaMultipleFiles: false, + javaGenerateEqualsAndHash: false, + javaStringCheckUtf8: false, + optimizeFor: 1, + goPackage: "", + ccGenericServices: false, + javaGenericServices: false, + pyGenericServices: false, + phpGenericServices: false, + deprecated: false, + ccEnableArenas: false, + objcClassPrefix: "", + csharpNamespace: "", + swiftPrefix: "", + phpClassPrefix: "", + phpNamespace: "", + phpMetadataNamespace: "", + rubyPackage: "", + features: undefined, + uninterpretedOption: [], + }; +} + +export const FileOptions = { + encode(message: FileOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.javaPackage !== "") { + writer.uint32(10).string(message.javaPackage); + } + if (message.javaOuterClassname !== "") { + writer.uint32(66).string(message.javaOuterClassname); + } + if (message.javaMultipleFiles === true) { + writer.uint32(80).bool(message.javaMultipleFiles); + } + if (message.javaGenerateEqualsAndHash === true) { + writer.uint32(160).bool(message.javaGenerateEqualsAndHash); + } + if (message.javaStringCheckUtf8 === true) { + writer.uint32(216).bool(message.javaStringCheckUtf8); + } + if (message.optimizeFor !== 1) { + writer.uint32(72).int32(message.optimizeFor); + } + if (message.goPackage !== "") { + writer.uint32(90).string(message.goPackage); + } + if (message.ccGenericServices === true) { + writer.uint32(128).bool(message.ccGenericServices); + } + if (message.javaGenericServices === true) { + writer.uint32(136).bool(message.javaGenericServices); + } + if (message.pyGenericServices === true) { + writer.uint32(144).bool(message.pyGenericServices); + } + if (message.phpGenericServices === true) { + writer.uint32(336).bool(message.phpGenericServices); + } + if (message.deprecated === true) { + writer.uint32(184).bool(message.deprecated); + } + if (message.ccEnableArenas === true) { + writer.uint32(248).bool(message.ccEnableArenas); + } + if (message.objcClassPrefix !== "") { + writer.uint32(290).string(message.objcClassPrefix); + } + if (message.csharpNamespace !== "") { + writer.uint32(298).string(message.csharpNamespace); + } + if (message.swiftPrefix !== "") { + writer.uint32(314).string(message.swiftPrefix); + } + if (message.phpClassPrefix !== "") { + writer.uint32(322).string(message.phpClassPrefix); + } + if (message.phpNamespace !== "") { + writer.uint32(330).string(message.phpNamespace); + } + if (message.phpMetadataNamespace !== "") { + writer.uint32(354).string(message.phpMetadataNamespace); + } + if (message.rubyPackage !== "") { + writer.uint32(362).string(message.rubyPackage); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(402).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FileOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.javaPackage = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.javaOuterClassname = reader.string(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.javaMultipleFiles = reader.bool(); + continue; + case 20: + if (tag !== 160) { + break; + } + + message.javaGenerateEqualsAndHash = reader.bool(); + continue; + case 27: + if (tag !== 216) { + break; + } + + message.javaStringCheckUtf8 = reader.bool(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.optimizeFor = reader.int32() as any; + continue; + case 11: + if (tag !== 90) { + break; + } + + message.goPackage = reader.string(); + continue; + case 16: + if (tag !== 128) { + break; + } + + message.ccGenericServices = reader.bool(); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.javaGenericServices = reader.bool(); + continue; + case 18: + if (tag !== 144) { + break; + } + + message.pyGenericServices = reader.bool(); + continue; + case 42: + if (tag !== 336) { + break; + } + + message.phpGenericServices = reader.bool(); + continue; + case 23: + if (tag !== 184) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 31: + if (tag !== 248) { + break; + } + + message.ccEnableArenas = reader.bool(); + continue; + case 36: + if (tag !== 290) { + break; + } + + message.objcClassPrefix = reader.string(); + continue; + case 37: + if (tag !== 298) { + break; + } + + message.csharpNamespace = reader.string(); + continue; + case 39: + if (tag !== 314) { + break; + } + + message.swiftPrefix = reader.string(); + continue; + case 40: + if (tag !== 322) { + break; + } + + message.phpClassPrefix = reader.string(); + continue; + case 41: + if (tag !== 330) { + break; + } + + message.phpNamespace = reader.string(); + continue; + case 44: + if (tag !== 354) { + break; + } + + message.phpMetadataNamespace = reader.string(); + continue; + case 45: + if (tag !== 362) { + break; + } + + message.rubyPackage = reader.string(); + continue; + case 50: + if (tag !== 402) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileOptions { + return { + javaPackage: isSet(object.javaPackage) ? globalThis.String(object.javaPackage) : "", + javaOuterClassname: isSet(object.javaOuterClassname) ? globalThis.String(object.javaOuterClassname) : "", + javaMultipleFiles: isSet(object.javaMultipleFiles) ? globalThis.Boolean(object.javaMultipleFiles) : false, + javaGenerateEqualsAndHash: isSet(object.javaGenerateEqualsAndHash) + ? globalThis.Boolean(object.javaGenerateEqualsAndHash) + : false, + javaStringCheckUtf8: isSet(object.javaStringCheckUtf8) ? globalThis.Boolean(object.javaStringCheckUtf8) : false, + optimizeFor: isSet(object.optimizeFor) ? fileOptions_OptimizeModeFromJSON(object.optimizeFor) : 1, + goPackage: isSet(object.goPackage) ? globalThis.String(object.goPackage) : "", + ccGenericServices: isSet(object.ccGenericServices) ? globalThis.Boolean(object.ccGenericServices) : false, + javaGenericServices: isSet(object.javaGenericServices) ? globalThis.Boolean(object.javaGenericServices) : false, + pyGenericServices: isSet(object.pyGenericServices) ? globalThis.Boolean(object.pyGenericServices) : false, + phpGenericServices: isSet(object.phpGenericServices) ? globalThis.Boolean(object.phpGenericServices) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + ccEnableArenas: isSet(object.ccEnableArenas) ? globalThis.Boolean(object.ccEnableArenas) : false, + objcClassPrefix: isSet(object.objcClassPrefix) ? globalThis.String(object.objcClassPrefix) : "", + csharpNamespace: isSet(object.csharpNamespace) ? globalThis.String(object.csharpNamespace) : "", + swiftPrefix: isSet(object.swiftPrefix) ? globalThis.String(object.swiftPrefix) : "", + phpClassPrefix: isSet(object.phpClassPrefix) ? globalThis.String(object.phpClassPrefix) : "", + phpNamespace: isSet(object.phpNamespace) ? globalThis.String(object.phpNamespace) : "", + phpMetadataNamespace: isSet(object.phpMetadataNamespace) ? globalThis.String(object.phpMetadataNamespace) : "", + rubyPackage: isSet(object.rubyPackage) ? globalThis.String(object.rubyPackage) : "", + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: FileOptions): unknown { + const obj: any = {}; + if (message.javaPackage !== "") { + obj.javaPackage = message.javaPackage; + } + if (message.javaOuterClassname !== "") { + obj.javaOuterClassname = message.javaOuterClassname; + } + if (message.javaMultipleFiles === true) { + obj.javaMultipleFiles = message.javaMultipleFiles; + } + if (message.javaGenerateEqualsAndHash === true) { + obj.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + } + if (message.javaStringCheckUtf8 === true) { + obj.javaStringCheckUtf8 = message.javaStringCheckUtf8; + } + if (message.optimizeFor !== 1) { + obj.optimizeFor = fileOptions_OptimizeModeToJSON(message.optimizeFor); + } + if (message.goPackage !== "") { + obj.goPackage = message.goPackage; + } + if (message.ccGenericServices === true) { + obj.ccGenericServices = message.ccGenericServices; + } + if (message.javaGenericServices === true) { + obj.javaGenericServices = message.javaGenericServices; + } + if (message.pyGenericServices === true) { + obj.pyGenericServices = message.pyGenericServices; + } + if (message.phpGenericServices === true) { + obj.phpGenericServices = message.phpGenericServices; + } + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.ccEnableArenas === true) { + obj.ccEnableArenas = message.ccEnableArenas; + } + if (message.objcClassPrefix !== "") { + obj.objcClassPrefix = message.objcClassPrefix; + } + if (message.csharpNamespace !== "") { + obj.csharpNamespace = message.csharpNamespace; + } + if (message.swiftPrefix !== "") { + obj.swiftPrefix = message.swiftPrefix; + } + if (message.phpClassPrefix !== "") { + obj.phpClassPrefix = message.phpClassPrefix; + } + if (message.phpNamespace !== "") { + obj.phpNamespace = message.phpNamespace; + } + if (message.phpMetadataNamespace !== "") { + obj.phpMetadataNamespace = message.phpMetadataNamespace; + } + if (message.rubyPackage !== "") { + obj.rubyPackage = message.rubyPackage; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FileOptions { + return FileOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileOptions { + const message = createBaseFileOptions(); + message.javaPackage = object.javaPackage ?? ""; + message.javaOuterClassname = object.javaOuterClassname ?? ""; + message.javaMultipleFiles = object.javaMultipleFiles ?? false; + message.javaGenerateEqualsAndHash = object.javaGenerateEqualsAndHash ?? false; + message.javaStringCheckUtf8 = object.javaStringCheckUtf8 ?? false; + message.optimizeFor = object.optimizeFor ?? 1; + message.goPackage = object.goPackage ?? ""; + message.ccGenericServices = object.ccGenericServices ?? false; + message.javaGenericServices = object.javaGenericServices ?? false; + message.pyGenericServices = object.pyGenericServices ?? false; + message.phpGenericServices = object.phpGenericServices ?? false; + message.deprecated = object.deprecated ?? false; + message.ccEnableArenas = object.ccEnableArenas ?? false; + message.objcClassPrefix = object.objcClassPrefix ?? ""; + message.csharpNamespace = object.csharpNamespace ?? ""; + message.swiftPrefix = object.swiftPrefix ?? ""; + message.phpClassPrefix = object.phpClassPrefix ?? ""; + message.phpNamespace = object.phpNamespace ?? ""; + message.phpMetadataNamespace = object.phpMetadataNamespace ?? ""; + message.rubyPackage = object.rubyPackage ?? ""; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseMessageOptions(): MessageOptions { + return { + messageSetWireFormat: false, + noStandardDescriptorAccessor: false, + deprecated: false, + mapEntry: false, + deprecatedLegacyJsonFieldConflicts: false, + features: undefined, + uninterpretedOption: [], + }; +} + +export const MessageOptions = { + encode(message: MessageOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.messageSetWireFormat === true) { + writer.uint32(8).bool(message.messageSetWireFormat); + } + if (message.noStandardDescriptorAccessor === true) { + writer.uint32(16).bool(message.noStandardDescriptorAccessor); + } + if (message.deprecated === true) { + writer.uint32(24).bool(message.deprecated); + } + if (message.mapEntry === true) { + writer.uint32(56).bool(message.mapEntry); + } + if (message.deprecatedLegacyJsonFieldConflicts === true) { + writer.uint32(88).bool(message.deprecatedLegacyJsonFieldConflicts); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(98).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MessageOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.messageSetWireFormat = reader.bool(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.noStandardDescriptorAccessor = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.mapEntry = reader.bool(); + continue; + case 11: + if (tag !== 88) { + break; + } + + message.deprecatedLegacyJsonFieldConflicts = reader.bool(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageOptions { + return { + messageSetWireFormat: isSet(object.messageSetWireFormat) + ? globalThis.Boolean(object.messageSetWireFormat) + : false, + noStandardDescriptorAccessor: isSet(object.noStandardDescriptorAccessor) + ? globalThis.Boolean(object.noStandardDescriptorAccessor) + : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + mapEntry: isSet(object.mapEntry) ? globalThis.Boolean(object.mapEntry) : false, + deprecatedLegacyJsonFieldConflicts: isSet(object.deprecatedLegacyJsonFieldConflicts) + ? globalThis.Boolean(object.deprecatedLegacyJsonFieldConflicts) + : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MessageOptions): unknown { + const obj: any = {}; + if (message.messageSetWireFormat === true) { + obj.messageSetWireFormat = message.messageSetWireFormat; + } + if (message.noStandardDescriptorAccessor === true) { + obj.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + } + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.mapEntry === true) { + obj.mapEntry = message.mapEntry; + } + if (message.deprecatedLegacyJsonFieldConflicts === true) { + obj.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MessageOptions { + return MessageOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageOptions { + const message = createBaseMessageOptions(); + message.messageSetWireFormat = object.messageSetWireFormat ?? false; + message.noStandardDescriptorAccessor = object.noStandardDescriptorAccessor ?? false; + message.deprecated = object.deprecated ?? false; + message.mapEntry = object.mapEntry ?? false; + message.deprecatedLegacyJsonFieldConflicts = object.deprecatedLegacyJsonFieldConflicts ?? false; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseFieldOptions(): FieldOptions { + return { + ctype: 0, + packed: false, + jstype: 0, + lazy: false, + unverifiedLazy: false, + deprecated: false, + weak: false, + debugRedact: false, + retention: 0, + targets: [], + editionDefaults: [], + features: undefined, + uninterpretedOption: [], + }; +} + +export const FieldOptions = { + encode(message: FieldOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.ctype !== 0) { + writer.uint32(8).int32(message.ctype); + } + if (message.packed === true) { + writer.uint32(16).bool(message.packed); + } + if (message.jstype !== 0) { + writer.uint32(48).int32(message.jstype); + } + if (message.lazy === true) { + writer.uint32(40).bool(message.lazy); + } + if (message.unverifiedLazy === true) { + writer.uint32(120).bool(message.unverifiedLazy); + } + if (message.deprecated === true) { + writer.uint32(24).bool(message.deprecated); + } + if (message.weak === true) { + writer.uint32(80).bool(message.weak); + } + if (message.debugRedact === true) { + writer.uint32(128).bool(message.debugRedact); + } + if (message.retention !== 0) { + writer.uint32(136).int32(message.retention); + } + writer.uint32(154).fork(); + for (const v of message.targets) { + writer.int32(v); + } + writer.ldelim(); + for (const v of message.editionDefaults) { + FieldOptions_EditionDefault.encode(v!, writer.uint32(162).fork()).ldelim(); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(170).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FieldOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.ctype = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.packed = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.jstype = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.lazy = reader.bool(); + continue; + case 15: + if (tag !== 120) { + break; + } + + message.unverifiedLazy = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.weak = reader.bool(); + continue; + case 16: + if (tag !== 128) { + break; + } + + message.debugRedact = reader.bool(); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.retention = reader.int32() as any; + continue; + case 19: + if (tag === 152) { + message.targets.push(reader.int32() as any); + + continue; + } + + if (tag === 154) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.targets.push(reader.int32() as any); + } + + continue; + } + + break; + case 20: + if (tag !== 162) { + break; + } + + message.editionDefaults.push(FieldOptions_EditionDefault.decode(reader, reader.uint32())); + continue; + case 21: + if (tag !== 170) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldOptions { + return { + ctype: isSet(object.ctype) ? fieldOptions_CTypeFromJSON(object.ctype) : 0, + packed: isSet(object.packed) ? globalThis.Boolean(object.packed) : false, + jstype: isSet(object.jstype) ? fieldOptions_JSTypeFromJSON(object.jstype) : 0, + lazy: isSet(object.lazy) ? globalThis.Boolean(object.lazy) : false, + unverifiedLazy: isSet(object.unverifiedLazy) ? globalThis.Boolean(object.unverifiedLazy) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + weak: isSet(object.weak) ? globalThis.Boolean(object.weak) : false, + debugRedact: isSet(object.debugRedact) ? globalThis.Boolean(object.debugRedact) : false, + retention: isSet(object.retention) ? fieldOptions_OptionRetentionFromJSON(object.retention) : 0, + targets: globalThis.Array.isArray(object?.targets) + ? object.targets.map((e: any) => fieldOptions_OptionTargetTypeFromJSON(e)) + : [], + editionDefaults: globalThis.Array.isArray(object?.editionDefaults) + ? object.editionDefaults.map((e: any) => FieldOptions_EditionDefault.fromJSON(e)) + : [], + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: FieldOptions): unknown { + const obj: any = {}; + if (message.ctype !== 0) { + obj.ctype = fieldOptions_CTypeToJSON(message.ctype); + } + if (message.packed === true) { + obj.packed = message.packed; + } + if (message.jstype !== 0) { + obj.jstype = fieldOptions_JSTypeToJSON(message.jstype); + } + if (message.lazy === true) { + obj.lazy = message.lazy; + } + if (message.unverifiedLazy === true) { + obj.unverifiedLazy = message.unverifiedLazy; + } + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.weak === true) { + obj.weak = message.weak; + } + if (message.debugRedact === true) { + obj.debugRedact = message.debugRedact; + } + if (message.retention !== 0) { + obj.retention = fieldOptions_OptionRetentionToJSON(message.retention); + } + if (message.targets?.length) { + obj.targets = message.targets.map((e) => fieldOptions_OptionTargetTypeToJSON(e)); + } + if (message.editionDefaults?.length) { + obj.editionDefaults = message.editionDefaults.map((e) => FieldOptions_EditionDefault.toJSON(e)); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FieldOptions { + return FieldOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldOptions { + const message = createBaseFieldOptions(); + message.ctype = object.ctype ?? 0; + message.packed = object.packed ?? false; + message.jstype = object.jstype ?? 0; + message.lazy = object.lazy ?? false; + message.unverifiedLazy = object.unverifiedLazy ?? false; + message.deprecated = object.deprecated ?? false; + message.weak = object.weak ?? false; + message.debugRedact = object.debugRedact ?? false; + message.retention = object.retention ?? 0; + message.targets = object.targets?.map((e) => e) || []; + message.editionDefaults = object.editionDefaults?.map((e) => FieldOptions_EditionDefault.fromPartial(e)) || []; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseFieldOptions_EditionDefault(): FieldOptions_EditionDefault { + return { edition: 0, value: "" }; +} + +export const FieldOptions_EditionDefault = { + encode(message: FieldOptions_EditionDefault, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.edition !== 0) { + writer.uint32(24).int32(message.edition); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FieldOptions_EditionDefault { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldOptions_EditionDefault(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 24) { + break; + } + + message.edition = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldOptions_EditionDefault { + return { + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: FieldOptions_EditionDefault): unknown { + const obj: any = {}; + if (message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + if (message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create, I>>(base?: I): FieldOptions_EditionDefault { + return FieldOptions_EditionDefault.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldOptions_EditionDefault { + const message = createBaseFieldOptions_EditionDefault(); + message.edition = object.edition ?? 0; + message.value = object.value ?? ""; + return message; + }, +}; + +function createBaseOneofOptions(): OneofOptions { + return { features: undefined, uninterpretedOption: [] }; +} + +export const OneofOptions = { + encode(message: OneofOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OneofOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOneofOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OneofOptions { + return { + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: OneofOptions): unknown { + const obj: any = {}; + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): OneofOptions { + return OneofOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OneofOptions { + const message = createBaseOneofOptions(); + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEnumOptions(): EnumOptions { + return { + allowAlias: false, + deprecated: false, + deprecatedLegacyJsonFieldConflicts: false, + features: undefined, + uninterpretedOption: [], + }; +} + +export const EnumOptions = { + encode(message: EnumOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.allowAlias === true) { + writer.uint32(16).bool(message.allowAlias); + } + if (message.deprecated === true) { + writer.uint32(24).bool(message.deprecated); + } + if (message.deprecatedLegacyJsonFieldConflicts === true) { + writer.uint32(48).bool(message.deprecatedLegacyJsonFieldConflicts); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(58).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EnumOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 16) { + break; + } + + message.allowAlias = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.deprecatedLegacyJsonFieldConflicts = reader.bool(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumOptions { + return { + allowAlias: isSet(object.allowAlias) ? globalThis.Boolean(object.allowAlias) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + deprecatedLegacyJsonFieldConflicts: isSet(object.deprecatedLegacyJsonFieldConflicts) + ? globalThis.Boolean(object.deprecatedLegacyJsonFieldConflicts) + : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EnumOptions): unknown { + const obj: any = {}; + if (message.allowAlias === true) { + obj.allowAlias = message.allowAlias; + } + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.deprecatedLegacyJsonFieldConflicts === true) { + obj.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EnumOptions { + return EnumOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumOptions { + const message = createBaseEnumOptions(); + message.allowAlias = object.allowAlias ?? false; + message.deprecated = object.deprecated ?? false; + message.deprecatedLegacyJsonFieldConflicts = object.deprecatedLegacyJsonFieldConflicts ?? false; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEnumValueOptions(): EnumValueOptions { + return { deprecated: false, features: undefined, debugRedact: false, uninterpretedOption: [] }; +} + +export const EnumValueOptions = { + encode(message: EnumValueOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.deprecated === true) { + writer.uint32(8).bool(message.deprecated); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(18).fork()).ldelim(); + } + if (message.debugRedact === true) { + writer.uint32(24).bool(message.debugRedact); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EnumValueOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumValueOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.debugRedact = reader.bool(); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumValueOptions { + return { + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + debugRedact: isSet(object.debugRedact) ? globalThis.Boolean(object.debugRedact) : false, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EnumValueOptions): unknown { + const obj: any = {}; + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.debugRedact === true) { + obj.debugRedact = message.debugRedact; + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EnumValueOptions { + return EnumValueOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumValueOptions { + const message = createBaseEnumValueOptions(); + message.deprecated = object.deprecated ?? false; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.debugRedact = object.debugRedact ?? false; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseServiceOptions(): ServiceOptions { + return { features: undefined, deprecated: false, uninterpretedOption: [] }; +} + +export const ServiceOptions = { + encode(message: ServiceOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(274).fork()).ldelim(); + } + if (message.deprecated === true) { + writer.uint32(264).bool(message.deprecated); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 34: + if (tag !== 274) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 33: + if (tag !== 264) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceOptions { + return { + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ServiceOptions): unknown { + const obj: any = {}; + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ServiceOptions { + return ServiceOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceOptions { + const message = createBaseServiceOptions(); + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.deprecated = object.deprecated ?? false; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseMethodOptions(): MethodOptions { + return { deprecated: false, idempotencyLevel: 0, features: undefined, uninterpretedOption: [] }; +} + +export const MethodOptions = { + encode(message: MethodOptions, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.deprecated === true) { + writer.uint32(264).bool(message.deprecated); + } + if (message.idempotencyLevel !== 0) { + writer.uint32(272).int32(message.idempotencyLevel); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(282).fork()).ldelim(); + } + for (const v of message.uninterpretedOption) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MethodOptions { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMethodOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + if (tag !== 264) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 34: + if (tag !== 272) { + break; + } + + message.idempotencyLevel = reader.int32() as any; + continue; + case 35: + if (tag !== 282) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MethodOptions { + return { + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + idempotencyLevel: isSet(object.idempotencyLevel) + ? methodOptions_IdempotencyLevelFromJSON(object.idempotencyLevel) + : 0, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpretedOption: globalThis.Array.isArray(object?.uninterpretedOption) + ? object.uninterpretedOption.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MethodOptions): unknown { + const obj: any = {}; + if (message.deprecated === true) { + obj.deprecated = message.deprecated; + } + if (message.idempotencyLevel !== 0) { + obj.idempotencyLevel = methodOptions_IdempotencyLevelToJSON(message.idempotencyLevel); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpretedOption?.length) { + obj.uninterpretedOption = message.uninterpretedOption.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MethodOptions { + return MethodOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MethodOptions { + const message = createBaseMethodOptions(); + message.deprecated = object.deprecated ?? false; + message.idempotencyLevel = object.idempotencyLevel ?? 0; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + message.uninterpretedOption = object.uninterpretedOption?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseUninterpretedOption(): UninterpretedOption { + return { + name: [], + identifierValue: "", + positiveIntValue: 0, + negativeIntValue: 0, + doubleValue: 0, + stringValue: new Uint8Array(0), + aggregateValue: "", + }; +} + +export const UninterpretedOption = { + encode(message: UninterpretedOption, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.name) { + UninterpretedOption_NamePart.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.identifierValue !== "") { + writer.uint32(26).string(message.identifierValue); + } + if (message.positiveIntValue !== 0) { + writer.uint32(32).uint64(message.positiveIntValue); + } + if (message.negativeIntValue !== 0) { + writer.uint32(40).int64(message.negativeIntValue); + } + if (message.doubleValue !== 0) { + writer.uint32(49).double(message.doubleValue); + } + if (message.stringValue.length !== 0) { + writer.uint32(58).bytes(message.stringValue); + } + if (message.aggregateValue !== "") { + writer.uint32(66).string(message.aggregateValue); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UninterpretedOption { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUninterpretedOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.name.push(UninterpretedOption_NamePart.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.identifierValue = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.positiveIntValue = longToNumber(reader.uint64() as Long); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.negativeIntValue = longToNumber(reader.int64() as Long); + continue; + case 6: + if (tag !== 49) { + break; + } + + message.doubleValue = reader.double(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.stringValue = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.aggregateValue = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): UninterpretedOption { + return { + name: globalThis.Array.isArray(object?.name) + ? object.name.map((e: any) => UninterpretedOption_NamePart.fromJSON(e)) + : [], + identifierValue: isSet(object.identifierValue) ? globalThis.String(object.identifierValue) : "", + positiveIntValue: isSet(object.positiveIntValue) ? globalThis.Number(object.positiveIntValue) : 0, + negativeIntValue: isSet(object.negativeIntValue) ? globalThis.Number(object.negativeIntValue) : 0, + doubleValue: isSet(object.doubleValue) ? globalThis.Number(object.doubleValue) : 0, + stringValue: isSet(object.stringValue) ? bytesFromBase64(object.stringValue) : new Uint8Array(0), + aggregateValue: isSet(object.aggregateValue) ? globalThis.String(object.aggregateValue) : "", + }; + }, + + toJSON(message: UninterpretedOption): unknown { + const obj: any = {}; + if (message.name?.length) { + obj.name = message.name.map((e) => UninterpretedOption_NamePart.toJSON(e)); + } + if (message.identifierValue !== "") { + obj.identifierValue = message.identifierValue; + } + if (message.positiveIntValue !== 0) { + obj.positiveIntValue = Math.round(message.positiveIntValue); + } + if (message.negativeIntValue !== 0) { + obj.negativeIntValue = Math.round(message.negativeIntValue); + } + if (message.doubleValue !== 0) { + obj.doubleValue = message.doubleValue; + } + if (message.stringValue.length !== 0) { + obj.stringValue = base64FromBytes(message.stringValue); + } + if (message.aggregateValue !== "") { + obj.aggregateValue = message.aggregateValue; + } + return obj; + }, + + create, I>>(base?: I): UninterpretedOption { + return UninterpretedOption.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UninterpretedOption { + const message = createBaseUninterpretedOption(); + message.name = object.name?.map((e) => UninterpretedOption_NamePart.fromPartial(e)) || []; + message.identifierValue = object.identifierValue ?? ""; + message.positiveIntValue = object.positiveIntValue ?? 0; + message.negativeIntValue = object.negativeIntValue ?? 0; + message.doubleValue = object.doubleValue ?? 0; + message.stringValue = object.stringValue ?? new Uint8Array(0); + message.aggregateValue = object.aggregateValue ?? ""; + return message; + }, +}; + +function createBaseUninterpretedOption_NamePart(): UninterpretedOption_NamePart { + return { namePart: "", isExtension: false }; +} + +export const UninterpretedOption_NamePart = { + encode(message: UninterpretedOption_NamePart, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.namePart !== "") { + writer.uint32(10).string(message.namePart); + } + if (message.isExtension === true) { + writer.uint32(16).bool(message.isExtension); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UninterpretedOption_NamePart { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUninterpretedOption_NamePart(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.namePart = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.isExtension = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): UninterpretedOption_NamePart { + return { + namePart: isSet(object.namePart) ? globalThis.String(object.namePart) : "", + isExtension: isSet(object.isExtension) ? globalThis.Boolean(object.isExtension) : false, + }; + }, + + toJSON(message: UninterpretedOption_NamePart): unknown { + const obj: any = {}; + if (message.namePart !== "") { + obj.namePart = message.namePart; + } + if (message.isExtension === true) { + obj.isExtension = message.isExtension; + } + return obj; + }, + + create, I>>(base?: I): UninterpretedOption_NamePart { + return UninterpretedOption_NamePart.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UninterpretedOption_NamePart { + const message = createBaseUninterpretedOption_NamePart(); + message.namePart = object.namePart ?? ""; + message.isExtension = object.isExtension ?? false; + return message; + }, +}; + +function createBaseFeatureSet(): FeatureSet { + return { + fieldPresence: 0, + enumType: 0, + repeatedFieldEncoding: 0, + utf8Validation: 0, + messageEncoding: 0, + jsonFormat: 0, + }; +} + +export const FeatureSet = { + encode(message: FeatureSet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.fieldPresence !== 0) { + writer.uint32(8).int32(message.fieldPresence); + } + if (message.enumType !== 0) { + writer.uint32(16).int32(message.enumType); + } + if (message.repeatedFieldEncoding !== 0) { + writer.uint32(24).int32(message.repeatedFieldEncoding); + } + if (message.utf8Validation !== 0) { + writer.uint32(32).int32(message.utf8Validation); + } + if (message.messageEncoding !== 0) { + writer.uint32(40).int32(message.messageEncoding); + } + if (message.jsonFormat !== 0) { + writer.uint32(48).int32(message.jsonFormat); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FeatureSet { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.fieldPresence = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.enumType = reader.int32() as any; + continue; + case 3: + if (tag !== 24) { + break; + } + + message.repeatedFieldEncoding = reader.int32() as any; + continue; + case 4: + if (tag !== 32) { + break; + } + + message.utf8Validation = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.messageEncoding = reader.int32() as any; + continue; + case 6: + if (tag !== 48) { + break; + } + + message.jsonFormat = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSet { + return { + fieldPresence: isSet(object.fieldPresence) ? featureSet_FieldPresenceFromJSON(object.fieldPresence) : 0, + enumType: isSet(object.enumType) ? featureSet_EnumTypeFromJSON(object.enumType) : 0, + repeatedFieldEncoding: isSet(object.repeatedFieldEncoding) + ? featureSet_RepeatedFieldEncodingFromJSON(object.repeatedFieldEncoding) + : 0, + utf8Validation: isSet(object.utf8Validation) ? featureSet_Utf8ValidationFromJSON(object.utf8Validation) : 0, + messageEncoding: isSet(object.messageEncoding) ? featureSet_MessageEncodingFromJSON(object.messageEncoding) : 0, + jsonFormat: isSet(object.jsonFormat) ? featureSet_JsonFormatFromJSON(object.jsonFormat) : 0, + }; + }, + + toJSON(message: FeatureSet): unknown { + const obj: any = {}; + if (message.fieldPresence !== 0) { + obj.fieldPresence = featureSet_FieldPresenceToJSON(message.fieldPresence); + } + if (message.enumType !== 0) { + obj.enumType = featureSet_EnumTypeToJSON(message.enumType); + } + if (message.repeatedFieldEncoding !== 0) { + obj.repeatedFieldEncoding = featureSet_RepeatedFieldEncodingToJSON(message.repeatedFieldEncoding); + } + if (message.utf8Validation !== 0) { + obj.utf8Validation = featureSet_Utf8ValidationToJSON(message.utf8Validation); + } + if (message.messageEncoding !== 0) { + obj.messageEncoding = featureSet_MessageEncodingToJSON(message.messageEncoding); + } + if (message.jsonFormat !== 0) { + obj.jsonFormat = featureSet_JsonFormatToJSON(message.jsonFormat); + } + return obj; + }, + + create, I>>(base?: I): FeatureSet { + return FeatureSet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeatureSet { + const message = createBaseFeatureSet(); + message.fieldPresence = object.fieldPresence ?? 0; + message.enumType = object.enumType ?? 0; + message.repeatedFieldEncoding = object.repeatedFieldEncoding ?? 0; + message.utf8Validation = object.utf8Validation ?? 0; + message.messageEncoding = object.messageEncoding ?? 0; + message.jsonFormat = object.jsonFormat ?? 0; + return message; + }, +}; + +function createBaseFeatureSetDefaults(): FeatureSetDefaults { + return { defaults: [], minimumEdition: 0, maximumEdition: 0 }; +} + +export const FeatureSetDefaults = { + encode(message: FeatureSetDefaults, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.defaults) { + FeatureSetDefaults_FeatureSetEditionDefault.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.minimumEdition !== 0) { + writer.uint32(32).int32(message.minimumEdition); + } + if (message.maximumEdition !== 0) { + writer.uint32(40).int32(message.maximumEdition); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FeatureSetDefaults { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSetDefaults(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.defaults.push(FeatureSetDefaults_FeatureSetEditionDefault.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.minimumEdition = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.maximumEdition = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSetDefaults { + return { + defaults: globalThis.Array.isArray(object?.defaults) + ? object.defaults.map((e: any) => FeatureSetDefaults_FeatureSetEditionDefault.fromJSON(e)) + : [], + minimumEdition: isSet(object.minimumEdition) ? editionFromJSON(object.minimumEdition) : 0, + maximumEdition: isSet(object.maximumEdition) ? editionFromJSON(object.maximumEdition) : 0, + }; + }, + + toJSON(message: FeatureSetDefaults): unknown { + const obj: any = {}; + if (message.defaults?.length) { + obj.defaults = message.defaults.map((e) => FeatureSetDefaults_FeatureSetEditionDefault.toJSON(e)); + } + if (message.minimumEdition !== 0) { + obj.minimumEdition = editionToJSON(message.minimumEdition); + } + if (message.maximumEdition !== 0) { + obj.maximumEdition = editionToJSON(message.maximumEdition); + } + return obj; + }, + + create, I>>(base?: I): FeatureSetDefaults { + return FeatureSetDefaults.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeatureSetDefaults { + const message = createBaseFeatureSetDefaults(); + message.defaults = object.defaults?.map((e) => FeatureSetDefaults_FeatureSetEditionDefault.fromPartial(e)) || []; + message.minimumEdition = object.minimumEdition ?? 0; + message.maximumEdition = object.maximumEdition ?? 0; + return message; + }, +}; + +function createBaseFeatureSetDefaults_FeatureSetEditionDefault(): FeatureSetDefaults_FeatureSetEditionDefault { + return { edition: 0, features: undefined }; +} + +export const FeatureSetDefaults_FeatureSetEditionDefault = { + encode(message: FeatureSetDefaults_FeatureSetEditionDefault, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.edition !== 0) { + writer.uint32(24).int32(message.edition); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FeatureSetDefaults_FeatureSetEditionDefault { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSetDefaults_FeatureSetEditionDefault(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 24) { + break; + } + + message.edition = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSetDefaults_FeatureSetEditionDefault { + return { + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + }; + }, + + toJSON(message: FeatureSetDefaults_FeatureSetEditionDefault): unknown { + const obj: any = {}; + if (message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + return obj; + }, + + create, I>>( + base?: I, + ): FeatureSetDefaults_FeatureSetEditionDefault { + return FeatureSetDefaults_FeatureSetEditionDefault.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): FeatureSetDefaults_FeatureSetEditionDefault { + const message = createBaseFeatureSetDefaults_FeatureSetEditionDefault(); + message.edition = object.edition ?? 0; + message.features = (object.features !== undefined && object.features !== null) + ? FeatureSet.fromPartial(object.features) + : undefined; + return message; + }, +}; + +function createBaseSourceCodeInfo(): SourceCodeInfo { + return { location: [] }; +} + +export const SourceCodeInfo = { + encode(message: SourceCodeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.location) { + SourceCodeInfo_Location.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SourceCodeInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSourceCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.location.push(SourceCodeInfo_Location.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SourceCodeInfo { + return { + location: globalThis.Array.isArray(object?.location) + ? object.location.map((e: any) => SourceCodeInfo_Location.fromJSON(e)) + : [], + }; + }, + + toJSON(message: SourceCodeInfo): unknown { + const obj: any = {}; + if (message.location?.length) { + obj.location = message.location.map((e) => SourceCodeInfo_Location.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SourceCodeInfo { + return SourceCodeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SourceCodeInfo { + const message = createBaseSourceCodeInfo(); + message.location = object.location?.map((e) => SourceCodeInfo_Location.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSourceCodeInfo_Location(): SourceCodeInfo_Location { + return { path: [], span: [], leadingComments: "", trailingComments: "", leadingDetachedComments: [] }; +} + +export const SourceCodeInfo_Location = { + encode(message: SourceCodeInfo_Location, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + writer.uint32(10).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.ldelim(); + writer.uint32(18).fork(); + for (const v of message.span) { + writer.int32(v); + } + writer.ldelim(); + if (message.leadingComments !== "") { + writer.uint32(26).string(message.leadingComments); + } + if (message.trailingComments !== "") { + writer.uint32(34).string(message.trailingComments); + } + for (const v of message.leadingDetachedComments) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SourceCodeInfo_Location { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSourceCodeInfo_Location(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.path.push(reader.int32()); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + + continue; + } + + break; + case 2: + if (tag === 16) { + message.span.push(reader.int32()); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.span.push(reader.int32()); + } + + continue; + } + + break; + case 3: + if (tag !== 26) { + break; + } + + message.leadingComments = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.trailingComments = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.leadingDetachedComments.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SourceCodeInfo_Location { + return { + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => globalThis.Number(e)) : [], + span: globalThis.Array.isArray(object?.span) ? object.span.map((e: any) => globalThis.Number(e)) : [], + leadingComments: isSet(object.leadingComments) ? globalThis.String(object.leadingComments) : "", + trailingComments: isSet(object.trailingComments) ? globalThis.String(object.trailingComments) : "", + leadingDetachedComments: globalThis.Array.isArray(object?.leadingDetachedComments) + ? object.leadingDetachedComments.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: SourceCodeInfo_Location): unknown { + const obj: any = {}; + if (message.path?.length) { + obj.path = message.path.map((e) => Math.round(e)); + } + if (message.span?.length) { + obj.span = message.span.map((e) => Math.round(e)); + } + if (message.leadingComments !== "") { + obj.leadingComments = message.leadingComments; + } + if (message.trailingComments !== "") { + obj.trailingComments = message.trailingComments; + } + if (message.leadingDetachedComments?.length) { + obj.leadingDetachedComments = message.leadingDetachedComments; + } + return obj; + }, + + create, I>>(base?: I): SourceCodeInfo_Location { + return SourceCodeInfo_Location.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SourceCodeInfo_Location { + const message = createBaseSourceCodeInfo_Location(); + message.path = object.path?.map((e) => e) || []; + message.span = object.span?.map((e) => e) || []; + message.leadingComments = object.leadingComments ?? ""; + message.trailingComments = object.trailingComments ?? ""; + message.leadingDetachedComments = object.leadingDetachedComments?.map((e) => e) || []; + return message; + }, +}; + +function createBaseGeneratedCodeInfo(): GeneratedCodeInfo { + return { annotation: [] }; +} + +export const GeneratedCodeInfo = { + encode(message: GeneratedCodeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.annotation) { + GeneratedCodeInfo_Annotation.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GeneratedCodeInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGeneratedCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.annotation.push(GeneratedCodeInfo_Annotation.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GeneratedCodeInfo { + return { + annotation: globalThis.Array.isArray(object?.annotation) + ? object.annotation.map((e: any) => GeneratedCodeInfo_Annotation.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GeneratedCodeInfo): unknown { + const obj: any = {}; + if (message.annotation?.length) { + obj.annotation = message.annotation.map((e) => GeneratedCodeInfo_Annotation.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GeneratedCodeInfo { + return GeneratedCodeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GeneratedCodeInfo { + const message = createBaseGeneratedCodeInfo(); + message.annotation = object.annotation?.map((e) => GeneratedCodeInfo_Annotation.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGeneratedCodeInfo_Annotation(): GeneratedCodeInfo_Annotation { + return { path: [], sourceFile: "", begin: 0, end: 0, semantic: 0 }; +} + +export const GeneratedCodeInfo_Annotation = { + encode(message: GeneratedCodeInfo_Annotation, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + writer.uint32(10).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.ldelim(); + if (message.sourceFile !== "") { + writer.uint32(18).string(message.sourceFile); + } + if (message.begin !== 0) { + writer.uint32(24).int32(message.begin); + } + if (message.end !== 0) { + writer.uint32(32).int32(message.end); + } + if (message.semantic !== 0) { + writer.uint32(40).int32(message.semantic); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GeneratedCodeInfo_Annotation { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGeneratedCodeInfo_Annotation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.path.push(reader.int32()); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + + continue; + } + + break; + case 2: + if (tag !== 18) { + break; + } + + message.sourceFile = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.begin = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.end = reader.int32(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.semantic = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GeneratedCodeInfo_Annotation { + return { + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => globalThis.Number(e)) : [], + sourceFile: isSet(object.sourceFile) ? globalThis.String(object.sourceFile) : "", + begin: isSet(object.begin) ? globalThis.Number(object.begin) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + semantic: isSet(object.semantic) ? generatedCodeInfo_Annotation_SemanticFromJSON(object.semantic) : 0, + }; + }, + + toJSON(message: GeneratedCodeInfo_Annotation): unknown { + const obj: any = {}; + if (message.path?.length) { + obj.path = message.path.map((e) => Math.round(e)); + } + if (message.sourceFile !== "") { + obj.sourceFile = message.sourceFile; + } + if (message.begin !== 0) { + obj.begin = Math.round(message.begin); + } + if (message.end !== 0) { + obj.end = Math.round(message.end); + } + if (message.semantic !== 0) { + obj.semantic = generatedCodeInfo_Annotation_SemanticToJSON(message.semantic); + } + return obj; + }, + + create, I>>(base?: I): GeneratedCodeInfo_Annotation { + return GeneratedCodeInfo_Annotation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GeneratedCodeInfo_Annotation { + const message = createBaseGeneratedCodeInfo_Annotation(); + message.path = object.path?.map((e) => e) || []; + message.sourceFile = object.sourceFile ?? ""; + message.begin = object.begin ?? 0; + message.end = object.end ?? 0; + message.semantic = object.semantic ?? 0; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if (globalThis.Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (globalThis.Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(globalThis.Number.MAX_SAFE_INTEGER)) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/api/weshnet/outofstoremessagetypes/outofstoremessage.ts b/packages/api/weshnet/outofstoremessagetypes/outofstoremessage.ts new file mode 100644 index 0000000000..aeff7c4ee4 --- /dev/null +++ b/packages/api/weshnet/outofstoremessagetypes/outofstoremessage.ts @@ -0,0 +1,145 @@ +/* eslint-disable */ +import { grpc } from "@improbable-eng/grpc-web"; +import { BrowserHeaders } from "browser-headers"; +import { OutOfStoreReceive_Reply, OutOfStoreReceive_Request } from "../protocoltypes"; + +export const protobufPackage = "weshnet.outofstoremessage.v1"; + +/** + * OutOfStoreMessageService is the service used to open out-of-store messages (e.g. push notifications) + * It is used to open messages with a lightweight protocol service for mobile backgroup processes. + */ +export interface OutOfStoreMessageService { + /** OutOfStoreReceive parses a payload received outside a synchronized store */ + OutOfStoreReceive( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; +} + +export class OutOfStoreMessageServiceClientImpl implements OutOfStoreMessageService { + private readonly rpc: Rpc; + + constructor(rpc: Rpc) { + this.rpc = rpc; + this.OutOfStoreReceive = this.OutOfStoreReceive.bind(this); + } + + OutOfStoreReceive( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + OutOfStoreMessageServiceOutOfStoreReceiveDesc, + OutOfStoreReceive_Request.fromPartial(request), + metadata, + ); + } +} + +export const OutOfStoreMessageServiceDesc = { serviceName: "weshnet.outofstoremessage.v1.OutOfStoreMessageService" }; + +export const OutOfStoreMessageServiceOutOfStoreReceiveDesc: UnaryMethodDefinitionish = { + methodName: "OutOfStoreReceive", + service: OutOfStoreMessageServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return OutOfStoreReceive_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = OutOfStoreReceive_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { + requestStream: any; + responseStream: any; +} + +type UnaryMethodDefinitionish = UnaryMethodDefinitionishR; + +interface Rpc { + unary( + methodDesc: T, + request: any, + metadata: grpc.Metadata | undefined, + ): Promise; +} + +export class GrpcWebImpl { + private host: string; + private options: { + transport?: grpc.TransportFactory; + + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }; + + constructor( + host: string, + options: { + transport?: grpc.TransportFactory; + + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }, + ) { + this.host = host; + this.options = options; + } + + unary( + methodDesc: T, + _request: any, + metadata: grpc.Metadata | undefined, + ): Promise { + const request = { ..._request, ...methodDesc.requestType }; + const maybeCombinedMetadata = metadata && this.options.metadata + ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap }) + : metadata ?? this.options.metadata; + return new Promise((resolve, reject) => { + grpc.unary(methodDesc, { + request, + host: this.host, + metadata: maybeCombinedMetadata ?? {}, + ...(this.options.transport !== undefined ? { transport: this.options.transport } : {}), + debug: this.options.debug ?? false, + onEnd: function (response) { + if (response.status === grpc.Code.OK) { + resolve(response.message!.toObject()); + } else { + const err = new GrpcWebError(response.statusMessage, response.status, response.trailers); + reject(err); + } + }, + }); + }); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +export class GrpcWebError extends globalThis.Error { + constructor(message: string, public code: grpc.Code, public metadata: grpc.Metadata) { + super(message); + } +} diff --git a/packages/api/weshnet/protocoltypes.ts b/packages/api/weshnet/protocoltypes.ts new file mode 100644 index 0000000000..89d43bdded --- /dev/null +++ b/packages/api/weshnet/protocoltypes.ts @@ -0,0 +1,15790 @@ +/* eslint-disable */ +import { grpc } from "@improbable-eng/grpc-web"; +import { BrowserHeaders } from "browser-headers"; +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Observable } from "rxjs"; +import { share } from "rxjs/operators"; + +export const protobufPackage = "weshnet.protocol.v1"; + +export enum GroupType { + /** GroupTypeUndefined - GroupTypeUndefined indicates that the value has not been set. For example, happens if group is replicated. */ + GroupTypeUndefined = 0, + /** GroupTypeAccount - GroupTypeAccount is the group managing an account, available to all its devices. */ + GroupTypeAccount = 1, + /** GroupTypeContact - GroupTypeContact is the group created between two accounts, available to all their devices. */ + GroupTypeContact = 2, + /** GroupTypeMultiMember - GroupTypeMultiMember is a group containing an undefined number of members. */ + GroupTypeMultiMember = 3, + UNRECOGNIZED = -1, +} + +export function groupTypeFromJSON(object: any): GroupType { + switch (object) { + case 0: + case "GroupTypeUndefined": + return GroupType.GroupTypeUndefined; + case 1: + case "GroupTypeAccount": + return GroupType.GroupTypeAccount; + case 2: + case "GroupTypeContact": + return GroupType.GroupTypeContact; + case 3: + case "GroupTypeMultiMember": + return GroupType.GroupTypeMultiMember; + case -1: + case "UNRECOGNIZED": + default: + return GroupType.UNRECOGNIZED; + } +} + +export function groupTypeToJSON(object: GroupType): string { + switch (object) { + case GroupType.GroupTypeUndefined: + return "GroupTypeUndefined"; + case GroupType.GroupTypeAccount: + return "GroupTypeAccount"; + case GroupType.GroupTypeContact: + return "GroupTypeContact"; + case GroupType.GroupTypeMultiMember: + return "GroupTypeMultiMember"; + case GroupType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum EventType { + /** EventTypeUndefined - EventTypeUndefined indicates that the value has not been set. Should not happen. */ + EventTypeUndefined = 0, + /** EventTypeGroupMemberDeviceAdded - EventTypeGroupMemberDeviceAdded indicates the payload includes that a member has added their device to the group */ + EventTypeGroupMemberDeviceAdded = 1, + /** EventTypeGroupDeviceChainKeyAdded - EventTypeGroupDeviceChainKeyAdded indicates the payload includes that a member has sent their device chain key to another member */ + EventTypeGroupDeviceChainKeyAdded = 2, + /** EventTypeAccountGroupJoined - EventTypeAccountGroupJoined indicates the payload includes that the account has joined a group */ + EventTypeAccountGroupJoined = 101, + /** EventTypeAccountGroupLeft - EventTypeAccountGroupLeft indicates the payload includes that the account has left a group */ + EventTypeAccountGroupLeft = 102, + /** EventTypeAccountContactRequestDisabled - EventTypeAccountContactRequestDisabled indicates the payload includes that the account has disabled incoming contact requests */ + EventTypeAccountContactRequestDisabled = 103, + /** EventTypeAccountContactRequestEnabled - EventTypeAccountContactRequestEnabled indicates the payload includes that the account has enabled incoming contact requests */ + EventTypeAccountContactRequestEnabled = 104, + /** EventTypeAccountContactRequestReferenceReset - EventTypeAccountContactRequestReferenceReset indicates the payload includes that the account has a new contact request rendezvous seed */ + EventTypeAccountContactRequestReferenceReset = 105, + /** EventTypeAccountContactRequestOutgoingEnqueued - EventTypeAccountContactRequestOutgoingEnqueued indicates the payload includes that the account will attempt to send a new contact request */ + EventTypeAccountContactRequestOutgoingEnqueued = 106, + /** EventTypeAccountContactRequestOutgoingSent - EventTypeAccountContactRequestOutgoingSent indicates the payload includes that the account has sent a contact request */ + EventTypeAccountContactRequestOutgoingSent = 107, + /** EventTypeAccountContactRequestIncomingReceived - EventTypeAccountContactRequestIncomingReceived indicates the payload includes that the account has received a contact request */ + EventTypeAccountContactRequestIncomingReceived = 108, + /** EventTypeAccountContactRequestIncomingDiscarded - EventTypeAccountContactRequestIncomingDiscarded indicates the payload includes that the account has ignored a contact request */ + EventTypeAccountContactRequestIncomingDiscarded = 109, + /** EventTypeAccountContactRequestIncomingAccepted - EventTypeAccountContactRequestIncomingAccepted indicates the payload includes that the account has accepted a contact request */ + EventTypeAccountContactRequestIncomingAccepted = 110, + /** EventTypeAccountContactBlocked - EventTypeAccountContactBlocked indicates the payload includes that the account has blocked a contact */ + EventTypeAccountContactBlocked = 111, + /** EventTypeAccountContactUnblocked - EventTypeAccountContactUnblocked indicates the payload includes that the account has unblocked a contact */ + EventTypeAccountContactUnblocked = 112, + /** EventTypeContactAliasKeyAdded - EventTypeContactAliasKeyAdded indicates the payload includes that the contact group has received an alias key */ + EventTypeContactAliasKeyAdded = 201, + /** EventTypeMultiMemberGroupAliasResolverAdded - EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof */ + EventTypeMultiMemberGroupAliasResolverAdded = 301, + /** EventTypeMultiMemberGroupInitialMemberAnnounced - EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner */ + EventTypeMultiMemberGroupInitialMemberAnnounced = 302, + /** EventTypeMultiMemberGroupAdminRoleGranted - EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin */ + EventTypeMultiMemberGroupAdminRoleGranted = 303, + /** EventTypeGroupReplicating - EventTypeGroupReplicating indicates that the group has been registered for replication on a server */ + EventTypeGroupReplicating = 403, + /** EventTypeAccountVerifiedCredentialRegistered - EventTypeAccountVerifiedCredentialRegistered */ + EventTypeAccountVerifiedCredentialRegistered = 500, + /** EventTypeGroupMetadataPayloadSent - EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key */ + EventTypeGroupMetadataPayloadSent = 1001, + UNRECOGNIZED = -1, +} + +export function eventTypeFromJSON(object: any): EventType { + switch (object) { + case 0: + case "EventTypeUndefined": + return EventType.EventTypeUndefined; + case 1: + case "EventTypeGroupMemberDeviceAdded": + return EventType.EventTypeGroupMemberDeviceAdded; + case 2: + case "EventTypeGroupDeviceChainKeyAdded": + return EventType.EventTypeGroupDeviceChainKeyAdded; + case 101: + case "EventTypeAccountGroupJoined": + return EventType.EventTypeAccountGroupJoined; + case 102: + case "EventTypeAccountGroupLeft": + return EventType.EventTypeAccountGroupLeft; + case 103: + case "EventTypeAccountContactRequestDisabled": + return EventType.EventTypeAccountContactRequestDisabled; + case 104: + case "EventTypeAccountContactRequestEnabled": + return EventType.EventTypeAccountContactRequestEnabled; + case 105: + case "EventTypeAccountContactRequestReferenceReset": + return EventType.EventTypeAccountContactRequestReferenceReset; + case 106: + case "EventTypeAccountContactRequestOutgoingEnqueued": + return EventType.EventTypeAccountContactRequestOutgoingEnqueued; + case 107: + case "EventTypeAccountContactRequestOutgoingSent": + return EventType.EventTypeAccountContactRequestOutgoingSent; + case 108: + case "EventTypeAccountContactRequestIncomingReceived": + return EventType.EventTypeAccountContactRequestIncomingReceived; + case 109: + case "EventTypeAccountContactRequestIncomingDiscarded": + return EventType.EventTypeAccountContactRequestIncomingDiscarded; + case 110: + case "EventTypeAccountContactRequestIncomingAccepted": + return EventType.EventTypeAccountContactRequestIncomingAccepted; + case 111: + case "EventTypeAccountContactBlocked": + return EventType.EventTypeAccountContactBlocked; + case 112: + case "EventTypeAccountContactUnblocked": + return EventType.EventTypeAccountContactUnblocked; + case 201: + case "EventTypeContactAliasKeyAdded": + return EventType.EventTypeContactAliasKeyAdded; + case 301: + case "EventTypeMultiMemberGroupAliasResolverAdded": + return EventType.EventTypeMultiMemberGroupAliasResolverAdded; + case 302: + case "EventTypeMultiMemberGroupInitialMemberAnnounced": + return EventType.EventTypeMultiMemberGroupInitialMemberAnnounced; + case 303: + case "EventTypeMultiMemberGroupAdminRoleGranted": + return EventType.EventTypeMultiMemberGroupAdminRoleGranted; + case 403: + case "EventTypeGroupReplicating": + return EventType.EventTypeGroupReplicating; + case 500: + case "EventTypeAccountVerifiedCredentialRegistered": + return EventType.EventTypeAccountVerifiedCredentialRegistered; + case 1001: + case "EventTypeGroupMetadataPayloadSent": + return EventType.EventTypeGroupMetadataPayloadSent; + case -1: + case "UNRECOGNIZED": + default: + return EventType.UNRECOGNIZED; + } +} + +export function eventTypeToJSON(object: EventType): string { + switch (object) { + case EventType.EventTypeUndefined: + return "EventTypeUndefined"; + case EventType.EventTypeGroupMemberDeviceAdded: + return "EventTypeGroupMemberDeviceAdded"; + case EventType.EventTypeGroupDeviceChainKeyAdded: + return "EventTypeGroupDeviceChainKeyAdded"; + case EventType.EventTypeAccountGroupJoined: + return "EventTypeAccountGroupJoined"; + case EventType.EventTypeAccountGroupLeft: + return "EventTypeAccountGroupLeft"; + case EventType.EventTypeAccountContactRequestDisabled: + return "EventTypeAccountContactRequestDisabled"; + case EventType.EventTypeAccountContactRequestEnabled: + return "EventTypeAccountContactRequestEnabled"; + case EventType.EventTypeAccountContactRequestReferenceReset: + return "EventTypeAccountContactRequestReferenceReset"; + case EventType.EventTypeAccountContactRequestOutgoingEnqueued: + return "EventTypeAccountContactRequestOutgoingEnqueued"; + case EventType.EventTypeAccountContactRequestOutgoingSent: + return "EventTypeAccountContactRequestOutgoingSent"; + case EventType.EventTypeAccountContactRequestIncomingReceived: + return "EventTypeAccountContactRequestIncomingReceived"; + case EventType.EventTypeAccountContactRequestIncomingDiscarded: + return "EventTypeAccountContactRequestIncomingDiscarded"; + case EventType.EventTypeAccountContactRequestIncomingAccepted: + return "EventTypeAccountContactRequestIncomingAccepted"; + case EventType.EventTypeAccountContactBlocked: + return "EventTypeAccountContactBlocked"; + case EventType.EventTypeAccountContactUnblocked: + return "EventTypeAccountContactUnblocked"; + case EventType.EventTypeContactAliasKeyAdded: + return "EventTypeContactAliasKeyAdded"; + case EventType.EventTypeMultiMemberGroupAliasResolverAdded: + return "EventTypeMultiMemberGroupAliasResolverAdded"; + case EventType.EventTypeMultiMemberGroupInitialMemberAnnounced: + return "EventTypeMultiMemberGroupInitialMemberAnnounced"; + case EventType.EventTypeMultiMemberGroupAdminRoleGranted: + return "EventTypeMultiMemberGroupAdminRoleGranted"; + case EventType.EventTypeGroupReplicating: + return "EventTypeGroupReplicating"; + case EventType.EventTypeAccountVerifiedCredentialRegistered: + return "EventTypeAccountVerifiedCredentialRegistered"; + case EventType.EventTypeGroupMetadataPayloadSent: + return "EventTypeGroupMetadataPayloadSent"; + case EventType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum DebugInspectGroupLogType { + DebugInspectGroupLogTypeUndefined = 0, + DebugInspectGroupLogTypeMessage = 1, + DebugInspectGroupLogTypeMetadata = 2, + UNRECOGNIZED = -1, +} + +export function debugInspectGroupLogTypeFromJSON(object: any): DebugInspectGroupLogType { + switch (object) { + case 0: + case "DebugInspectGroupLogTypeUndefined": + return DebugInspectGroupLogType.DebugInspectGroupLogTypeUndefined; + case 1: + case "DebugInspectGroupLogTypeMessage": + return DebugInspectGroupLogType.DebugInspectGroupLogTypeMessage; + case 2: + case "DebugInspectGroupLogTypeMetadata": + return DebugInspectGroupLogType.DebugInspectGroupLogTypeMetadata; + case -1: + case "UNRECOGNIZED": + default: + return DebugInspectGroupLogType.UNRECOGNIZED; + } +} + +export function debugInspectGroupLogTypeToJSON(object: DebugInspectGroupLogType): string { + switch (object) { + case DebugInspectGroupLogType.DebugInspectGroupLogTypeUndefined: + return "DebugInspectGroupLogTypeUndefined"; + case DebugInspectGroupLogType.DebugInspectGroupLogTypeMessage: + return "DebugInspectGroupLogTypeMessage"; + case DebugInspectGroupLogType.DebugInspectGroupLogTypeMetadata: + return "DebugInspectGroupLogTypeMetadata"; + case DebugInspectGroupLogType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum ContactState { + ContactStateUndefined = 0, + ContactStateToRequest = 1, + ContactStateReceived = 2, + ContactStateAdded = 3, + ContactStateRemoved = 4, + ContactStateDiscarded = 5, + ContactStateBlocked = 6, + UNRECOGNIZED = -1, +} + +export function contactStateFromJSON(object: any): ContactState { + switch (object) { + case 0: + case "ContactStateUndefined": + return ContactState.ContactStateUndefined; + case 1: + case "ContactStateToRequest": + return ContactState.ContactStateToRequest; + case 2: + case "ContactStateReceived": + return ContactState.ContactStateReceived; + case 3: + case "ContactStateAdded": + return ContactState.ContactStateAdded; + case 4: + case "ContactStateRemoved": + return ContactState.ContactStateRemoved; + case 5: + case "ContactStateDiscarded": + return ContactState.ContactStateDiscarded; + case 6: + case "ContactStateBlocked": + return ContactState.ContactStateBlocked; + case -1: + case "UNRECOGNIZED": + default: + return ContactState.UNRECOGNIZED; + } +} + +export function contactStateToJSON(object: ContactState): string { + switch (object) { + case ContactState.ContactStateUndefined: + return "ContactStateUndefined"; + case ContactState.ContactStateToRequest: + return "ContactStateToRequest"; + case ContactState.ContactStateReceived: + return "ContactStateReceived"; + case ContactState.ContactStateAdded: + return "ContactStateAdded"; + case ContactState.ContactStateRemoved: + return "ContactStateRemoved"; + case ContactState.ContactStateDiscarded: + return "ContactStateDiscarded"; + case ContactState.ContactStateBlocked: + return "ContactStateBlocked"; + case ContactState.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum Direction { + UnknownDir = 0, + InboundDir = 1, + OutboundDir = 2, + BiDir = 3, + UNRECOGNIZED = -1, +} + +export function directionFromJSON(object: any): Direction { + switch (object) { + case 0: + case "UnknownDir": + return Direction.UnknownDir; + case 1: + case "InboundDir": + return Direction.InboundDir; + case 2: + case "OutboundDir": + return Direction.OutboundDir; + case 3: + case "BiDir": + return Direction.BiDir; + case -1: + case "UNRECOGNIZED": + default: + return Direction.UNRECOGNIZED; + } +} + +export function directionToJSON(object: Direction): string { + switch (object) { + case Direction.UnknownDir: + return "UnknownDir"; + case Direction.InboundDir: + return "InboundDir"; + case Direction.OutboundDir: + return "OutboundDir"; + case Direction.BiDir: + return "BiDir"; + case Direction.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** Account describes all the secrets that identifies an Account */ +export interface Account { + /** group specifies which group is used to manage the account */ + group: + | Group + | undefined; + /** account_private_key, private part is used to signs handshake, signs device, create contacts group keys via ECDH -- public part is used to have a shareable identity */ + accountPrivateKey: Uint8Array; + /** alias_private_key, private part is use to derive group members private keys, signs alias proofs, public part can be shared to contacts to prove identity */ + aliasPrivateKey: Uint8Array; + /** public_rendezvous_seed, rendezvous seed used for direct communication */ + publicRendezvousSeed: Uint8Array; +} + +/** Group define a group and is enough to invite someone to it */ +export interface Group { + /** public_key is the identifier of the group, it signs the group secret and the initial member of a multi-member group */ + publicKey: Uint8Array; + /** secret is the symmetric secret of the group, which is used to encrypt the metadata */ + secret: Uint8Array; + /** secret_sig is the signature of the secret used to ensure the validity of the group */ + secretSig: Uint8Array; + /** group_type specifies the type of the group, used to determine how device chain key is generated */ + groupType: GroupType; + /** sign_pub is the signature public key used to verify entries, not required when secret and secret_sig are provided */ + signPub: Uint8Array; + /** link_key is the secret key used to exchange group updates and links to attachments, useful for replication services */ + linkKey: Uint8Array; + /** link_key_sig is the signature of the link_key using the group private key */ + linkKeySig: Uint8Array; +} + +export interface GroupHeadsExport { + /** public_key is the identifier of the group, it signs the group secret and the initial member of a multi-member group */ + publicKey: Uint8Array; + /** sign_pub is the signature public key used to verify entries */ + signPub: Uint8Array; + /** metadata_heads_cids are the heads of the metadata store that should be restored from an export */ + metadataHeadsCids: Uint8Array[]; + /** messages_heads_cids are the heads of the metadata store that should be restored from an export */ + messagesHeadsCids: Uint8Array[]; + /** link_key */ + linkKey: Uint8Array; +} + +/** GroupMetadata is used in GroupEnvelope and only readable by invited group members */ +export interface GroupMetadata { + /** event_type defines which event type is used */ + eventType: EventType; + /** the serialization depends on event_type, event is symmetrically encrypted */ + payload: Uint8Array; + /** sig is the signature of the payload, it depends on the event_type for the used key */ + sig: Uint8Array; + /** protocol_metadata is protocol layer data */ + protocolMetadata: ProtocolMetadata | undefined; +} + +/** GroupEnvelope is a publicly exposed structure containing a group metadata event */ +export interface GroupEnvelope { + /** nonce is used to encrypt the message */ + nonce: Uint8Array; + /** event is encrypted using a symmetric key shared among group members */ + event: Uint8Array; +} + +/** MessageHeaders is used in MessageEnvelope and only readable by invited group members */ +export interface MessageHeaders { + /** counter is the current counter value for the specified device */ + counter: number; + /** device_pk is the public key of the device sending the message */ + devicePk: Uint8Array; + /** sig is the signature of the encrypted message using the device's private key */ + sig: Uint8Array; + /** metadata allow to pass custom informations */ + metadata: { [key: string]: string }; +} + +export interface MessageHeaders_MetadataEntry { + key: string; + value: string; +} + +export interface ProtocolMetadata { +} + +/** EncryptedMessage is used in MessageEnvelope and only readable by groups members that joined before the message was sent */ +export interface EncryptedMessage { + /** plaintext is the app layer data */ + plaintext: Uint8Array; + /** protocol_metadata is protocol layer data */ + protocolMetadata: ProtocolMetadata | undefined; +} + +/** MessageEnvelope is a publicly exposed structure containing a group secure message */ +export interface MessageEnvelope { + /** message_headers is an encrypted serialization using a symmetric key of a MessageHeaders message */ + messageHeaders: Uint8Array; + /** message is an encrypted message, only readable by group members who previously received the appropriate chain key */ + message: Uint8Array; + /** nonce is a nonce for message headers */ + nonce: Uint8Array; +} + +/** EventContext adds context (its id, its parents and its attachments) to an event */ +export interface EventContext { + /** id is the CID of the underlying OrbitDB event */ + id: Uint8Array; + /** id are the the CIDs of the underlying parents of the OrbitDB event */ + parentIds: Uint8Array[]; + /** group_pk receiving the event */ + groupPk: Uint8Array; +} + +/** GroupMetadataPayloadSent is an app defined message, accessible to future group members */ +export interface GroupMetadataPayloadSent { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** message is the payload */ + message: Uint8Array; +} + +/** ContactAliasKeyAdded is an event type where ones shares their alias public key */ +export interface ContactAliasKeyAdded { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** alias_pk is the alias key which will be used to verify a contact identity */ + aliasPk: Uint8Array; +} + +/** + * GroupMemberDeviceAdded is an event which indicates to a group a new device (and eventually a new member) is joining it + * When added on AccountGroup, this event should be followed by appropriate GroupMemberDeviceAdded and GroupDeviceChainKeyAdded events + */ +export interface GroupMemberDeviceAdded { + /** member_pk is the member sending the event */ + memberPk: Uint8Array; + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** member_sig is used to prove the ownership of the member pk */ + memberSig: Uint8Array; +} + +/** DeviceChainKey is a chain key, which will be encrypted for a specific member of the group */ +export interface DeviceChainKey { + /** chain_key is the current value of the chain key of the group device */ + chainKey: Uint8Array; + /** counter is the current value of the counter of the group device */ + counter: number; +} + +/** GroupDeviceChainKeyAdded is an event which indicates to a group member a device chain key */ +export interface GroupDeviceChainKeyAdded { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** dest_member_pk is the member who should receive the secret */ + destMemberPk: Uint8Array; + /** payload is the serialization of Payload encrypted for the specified member */ + payload: Uint8Array; +} + +/** MultiMemberGroupAliasResolverAdded indicates that a group member want to disclose their presence in the group to their contacts */ +export interface MultiMemberGroupAliasResolverAdded { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** + * alias_resolver allows contact of an account to resolve the real identity behind an alias (Multi-Member Group Member) + * Generated by both contacts and account independently using: hmac(aliasPK, GroupID) + */ + aliasResolver: Uint8Array; + /** + * alias_proof ensures that the associated alias_resolver has been issued by the right account + * Generated using aliasSKSig(GroupID) + */ + aliasProof: Uint8Array; +} + +/** MultiMemberGroupAdminRoleGranted indicates that a group admin allows another group member to act as an admin */ +export interface MultiMemberGroupAdminRoleGranted { + /** device_pk is the device sending the event, signs the message, must be the device of an admin of the group */ + devicePk: Uint8Array; + /** grantee_member_pk is the member public key of the member granted of the admin role */ + granteeMemberPk: Uint8Array; +} + +/** MultiMemberGroupInitialMemberAnnounced indicates that a member is the group creator, this event is signed using the group ID private key */ +export interface MultiMemberGroupInitialMemberAnnounced { + /** member_pk is the public key of the member who is the group creator */ + memberPk: Uint8Array; +} + +/** GroupAddAdditionalRendezvousSeed indicates that an additional rendezvous point should be used for data synchronization */ +export interface GroupAddAdditionalRendezvousSeed { + /** device_pk is the device sending the event, signs the message, must be the device of an admin of the group */ + devicePk: Uint8Array; + /** seed is the additional rendezvous point seed which should be used */ + seed: Uint8Array; +} + +/** GroupRemoveAdditionalRendezvousSeed indicates that a previously added rendezvous point should be removed */ +export interface GroupRemoveAdditionalRendezvousSeed { + /** device_pk is the device sending the event, signs the message, must be the device of an admin of the group */ + devicePk: Uint8Array; + /** seed is the additional rendezvous point seed which should be removed */ + seed: Uint8Array; +} + +/** AccountGroupJoined indicates that the account is now part of a new group */ +export interface AccountGroupJoined { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** group describe the joined group */ + group: Group | undefined; +} + +/** AccountGroupLeft indicates that the account has left a group */ +export interface AccountGroupLeft { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** group_pk references the group left */ + groupPk: Uint8Array; +} + +/** AccountContactRequestDisabled indicates that the account should not be advertised on a public rendezvous point */ +export interface AccountContactRequestDisabled { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; +} + +/** AccountContactRequestEnabled indicates that the account should be advertised on a public rendezvous point */ +export interface AccountContactRequestEnabled { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; +} + +/** AccountContactRequestReferenceReset indicates that the account should be advertised on different public rendezvous points */ +export interface AccountContactRequestReferenceReset { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** public_rendezvous_seed is the new rendezvous point seed */ + publicRendezvousSeed: Uint8Array; +} + +/** + * This event should be followed by an AccountGroupJoined event + * This event should be followed by a GroupMemberDeviceAdded event within the AccountGroup + * This event should be followed by a GroupDeviceChainKeyAdded event within the AccountGroup + * AccountContactRequestOutgoingEnqueued indicates that the account will attempt to send a contact request when a matching peer is discovered + */ +export interface AccountContactRequestOutgoingEnqueued { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** group_pk is the 1to1 group with the requested user */ + groupPk: Uint8Array; + /** contact is a message describing how to connect to the other account */ + contact: + | ShareableContact + | undefined; + /** own_metadata is the identifying metadata that will be shared to the other account */ + ownMetadata: Uint8Array; +} + +/** AccountContactRequestOutgoingSent indicates that the account has sent a contact request */ +export interface AccountContactRequestOutgoingSent { + /** device_pk is the device sending the account event, signs the message */ + devicePk: Uint8Array; + /** contact_pk is the contacted account */ + contactPk: Uint8Array; +} + +/** AccountContactRequestIncomingReceived indicates that the account has received a new contact request */ +export interface AccountContactRequestIncomingReceived { + /** device_pk is the device sending the account event (which received the contact request), signs the message */ + devicePk: Uint8Array; + /** contact_pk is the account sending the request */ + contactPk: Uint8Array; + /** + * TODO: is this necessary? + * contact_rendezvous_seed is the rendezvous seed of the contact sending the request + */ + contactRendezvousSeed: Uint8Array; + /** + * TODO: is this necessary? + * contact_metadata is the metadata specific to the app to identify the contact for the request + */ + contactMetadata: Uint8Array; +} + +/** AccountContactRequestIncomingDiscarded indicates that a contact request has been refused */ +export interface AccountContactRequestIncomingDiscarded { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** contact_pk is the contact whom request is refused */ + contactPk: Uint8Array; +} + +/** + * This event should be followed by an AccountGroupJoined event + * This event should be followed by GroupMemberDeviceAdded and GroupDeviceChainKeyAdded events within the AccountGroup + * AccountContactRequestIncomingAccepted indicates that a contact request has been accepted + */ +export interface AccountContactRequestIncomingAccepted { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** contact_pk is the contact whom request is accepted */ + contactPk: Uint8Array; + /** group_pk is the 1to1 group with the requester user */ + groupPk: Uint8Array; +} + +/** AccountContactBlocked indicates that a contact is blocked */ +export interface AccountContactBlocked { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** contact_pk is the contact blocked */ + contactPk: Uint8Array; +} + +/** AccountContactUnblocked indicates that a contact is unblocked */ +export interface AccountContactUnblocked { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** contact_pk is the contact unblocked */ + contactPk: Uint8Array; +} + +export interface GroupReplicating { + /** device_pk is the device sending the event, signs the message */ + devicePk: Uint8Array; + /** authentication_url indicates which server has been used for authentication */ + authenticationUrl: string; + /** replication_server indicates which server will be used for replication */ + replicationServer: string; +} + +export interface ServiceExportData { +} + +export interface ServiceExportData_Request { +} + +export interface ServiceExportData_Reply { + exportedData: Uint8Array; +} + +export interface ServiceGetConfiguration { +} + +export enum ServiceGetConfiguration_SettingState { + Unknown = 0, + Enabled = 1, + Disabled = 2, + Unavailable = 3, + UNRECOGNIZED = -1, +} + +export function serviceGetConfiguration_SettingStateFromJSON(object: any): ServiceGetConfiguration_SettingState { + switch (object) { + case 0: + case "Unknown": + return ServiceGetConfiguration_SettingState.Unknown; + case 1: + case "Enabled": + return ServiceGetConfiguration_SettingState.Enabled; + case 2: + case "Disabled": + return ServiceGetConfiguration_SettingState.Disabled; + case 3: + case "Unavailable": + return ServiceGetConfiguration_SettingState.Unavailable; + case -1: + case "UNRECOGNIZED": + default: + return ServiceGetConfiguration_SettingState.UNRECOGNIZED; + } +} + +export function serviceGetConfiguration_SettingStateToJSON(object: ServiceGetConfiguration_SettingState): string { + switch (object) { + case ServiceGetConfiguration_SettingState.Unknown: + return "Unknown"; + case ServiceGetConfiguration_SettingState.Enabled: + return "Enabled"; + case ServiceGetConfiguration_SettingState.Disabled: + return "Disabled"; + case ServiceGetConfiguration_SettingState.Unavailable: + return "Unavailable"; + case ServiceGetConfiguration_SettingState.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface ServiceGetConfiguration_Request { +} + +export interface ServiceGetConfiguration_Reply { + /** account_pk is the public key of the current account */ + accountPk: Uint8Array; + /** device_pk is the public key of the current device */ + devicePk: Uint8Array; + /** account_group_pk is the public key of the account group */ + accountGroupPk: Uint8Array; + /** peer_id is the peer ID of the current IPFS node */ + peerId: string; + /** listeners is the list of swarm listening addresses of the current IPFS node */ + listeners: string[]; + bleEnabled: ServiceGetConfiguration_SettingState; + /** MultiPeerConnectivity for Darwin and Nearby for Android */ + wifiP2pEnabled: ServiceGetConfiguration_SettingState; + mdnsEnabled: ServiceGetConfiguration_SettingState; + relayEnabled: ServiceGetConfiguration_SettingState; +} + +export interface ContactRequestReference { +} + +export interface ContactRequestReference_Request { +} + +export interface ContactRequestReference_Reply { + /** public_rendezvous_seed is the rendezvous seed used by the current account */ + publicRendezvousSeed: Uint8Array; + /** enabled indicates if incoming contact requests are enabled */ + enabled: boolean; +} + +export interface ContactRequestDisable { +} + +export interface ContactRequestDisable_Request { +} + +export interface ContactRequestDisable_Reply { +} + +export interface ContactRequestEnable { +} + +export interface ContactRequestEnable_Request { +} + +export interface ContactRequestEnable_Reply { + /** public_rendezvous_seed is the rendezvous seed used by the current account */ + publicRendezvousSeed: Uint8Array; +} + +export interface ContactRequestResetReference { +} + +export interface ContactRequestResetReference_Request { +} + +export interface ContactRequestResetReference_Reply { + /** public_rendezvous_seed is the rendezvous seed used by the current account */ + publicRendezvousSeed: Uint8Array; +} + +export interface ContactRequestSend { +} + +export interface ContactRequestSend_Request { + /** contact is a message describing how to connect to the other account */ + contact: + | ShareableContact + | undefined; + /** own_metadata is the identifying metadata that will be shared to the other account */ + ownMetadata: Uint8Array; +} + +export interface ContactRequestSend_Reply { +} + +export interface ContactRequestAccept { +} + +export interface ContactRequestAccept_Request { + /** contact_pk is the identifier of the contact to accept the request from */ + contactPk: Uint8Array; +} + +export interface ContactRequestAccept_Reply { +} + +export interface ContactRequestDiscard { +} + +export interface ContactRequestDiscard_Request { + /** contact_pk is the identifier of the contact to ignore the request from */ + contactPk: Uint8Array; +} + +export interface ContactRequestDiscard_Reply { +} + +export interface ShareContact { +} + +export interface ShareContact_Request { +} + +export interface ShareContact_Reply { + /** encoded_contact is the Protobuf encoding of the ShareableContact. You can further encode the bytes for sharing, such as base58 or QR code. */ + encodedContact: Uint8Array; +} + +export interface DecodeContact { +} + +export interface DecodeContact_Request { + /** encoded_contact is the Protobuf encoding of the shareable contact (as returned by ShareContact). */ + encodedContact: Uint8Array; +} + +export interface DecodeContact_Reply { + /** shareable_contact is the decoded shareable contact. */ + contact: ShareableContact | undefined; +} + +export interface ContactBlock { +} + +export interface ContactBlock_Request { + /** contact_pk is the identifier of the contact to block */ + contactPk: Uint8Array; +} + +export interface ContactBlock_Reply { +} + +export interface ContactUnblock { +} + +export interface ContactUnblock_Request { + /** contact_pk is the identifier of the contact to unblock */ + contactPk: Uint8Array; +} + +export interface ContactUnblock_Reply { +} + +export interface ContactAliasKeySend { +} + +export interface ContactAliasKeySend_Request { + /** contact_pk is the identifier of the contact to send the alias public key to */ + groupPk: Uint8Array; +} + +export interface ContactAliasKeySend_Reply { +} + +export interface MultiMemberGroupCreate { +} + +export interface MultiMemberGroupCreate_Request { +} + +export interface MultiMemberGroupCreate_Reply { + /** group_pk is the identifier of the newly created group */ + groupPk: Uint8Array; +} + +export interface MultiMemberGroupJoin { +} + +export interface MultiMemberGroupJoin_Request { + /** group is the information of the group to join */ + group: Group | undefined; +} + +export interface MultiMemberGroupJoin_Reply { +} + +export interface MultiMemberGroupLeave { +} + +export interface MultiMemberGroupLeave_Request { + groupPk: Uint8Array; +} + +export interface MultiMemberGroupLeave_Reply { +} + +export interface MultiMemberGroupAliasResolverDisclose { +} + +export interface MultiMemberGroupAliasResolverDisclose_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; +} + +export interface MultiMemberGroupAliasResolverDisclose_Reply { +} + +export interface MultiMemberGroupAdminRoleGrant { +} + +export interface MultiMemberGroupAdminRoleGrant_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** member_pk is the identifier of the member which will be granted the admin role */ + memberPk: Uint8Array; +} + +export interface MultiMemberGroupAdminRoleGrant_Reply { +} + +export interface MultiMemberGroupInvitationCreate { +} + +export interface MultiMemberGroupInvitationCreate_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; +} + +export interface MultiMemberGroupInvitationCreate_Reply { + /** group is the invitation to the group */ + group: Group | undefined; +} + +export interface AppMetadataSend { +} + +export interface AppMetadataSend_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** payload is the payload to send */ + payload: Uint8Array; +} + +export interface AppMetadataSend_Reply { + cid: Uint8Array; +} + +export interface AppMessageSend { +} + +export interface AppMessageSend_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** payload is the payload to send */ + payload: Uint8Array; +} + +export interface AppMessageSend_Reply { + cid: Uint8Array; +} + +export interface GroupMetadataEvent { + /** event_context contains context information about the event */ + eventContext: + | EventContext + | undefined; + /** metadata contains the newly available metadata */ + metadata: + | GroupMetadata + | undefined; + /** event_clear clear bytes for the event */ + event: Uint8Array; +} + +export interface GroupMessageEvent { + /** event_context contains context information about the event */ + eventContext: + | EventContext + | undefined; + /** headers contains headers of the secure message */ + headers: + | MessageHeaders + | undefined; + /** message contains the secure message payload */ + message: Uint8Array; +} + +export interface GroupMetadataList { +} + +export interface GroupMetadataList_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** + * since is the lower ID bound used to filter events + * if not set, will return events since the beginning + */ + sinceId: Uint8Array; + /** + * since_now will list only new event to come + * since_id must not be set + */ + sinceNow: boolean; + /** + * until is the upper ID bound used to filter events + * if not set, will subscribe to new events to come + */ + untilId: Uint8Array; + /** + * until_now will not list new event to come + * until_id must not be set + */ + untilNow: boolean; + /** + * reverse_order indicates whether the previous events should be returned in + * reverse chronological order + */ + reverseOrder: boolean; +} + +export interface GroupMessageList { +} + +export interface GroupMessageList_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** + * since is the lower ID bound used to filter events + * if not set, will return events since the beginning + */ + sinceId: Uint8Array; + /** + * since_now will list only new event to come + * since_id must not be set + */ + sinceNow: boolean; + /** + * until is the upper ID bound used to filter events + * if not set, will subscribe to new events to come + */ + untilId: Uint8Array; + /** + * until_now will not list new event to come + * until_id must not be set + */ + untilNow: boolean; + /** + * reverse_order indicates whether the previous events should be returned in + * reverse chronological order + */ + reverseOrder: boolean; +} + +export interface GroupInfo { +} + +export interface GroupInfo_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** contact_pk is the identifier of the contact */ + contactPk: Uint8Array; +} + +export interface GroupInfo_Reply { + /** group is the group invitation, containing the group pk and its type */ + group: + | Group + | undefined; + /** member_pk is the identifier of the current member in the group */ + memberPk: Uint8Array; + /** device_pk is the identifier of the current device in the group */ + devicePk: Uint8Array; +} + +export interface ActivateGroup { +} + +export interface ActivateGroup_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** + * local_only will open the group without enabling network interactions + * with other members + */ + localOnly: boolean; +} + +export interface ActivateGroup_Reply { +} + +export interface DeactivateGroup { +} + +export interface DeactivateGroup_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; +} + +export interface DeactivateGroup_Reply { +} + +export interface GroupDeviceStatus { +} + +export enum GroupDeviceStatus_Type { + TypeUnknown = 0, + TypePeerDisconnected = 1, + TypePeerConnected = 2, + TypePeerReconnecting = 3, + UNRECOGNIZED = -1, +} + +export function groupDeviceStatus_TypeFromJSON(object: any): GroupDeviceStatus_Type { + switch (object) { + case 0: + case "TypeUnknown": + return GroupDeviceStatus_Type.TypeUnknown; + case 1: + case "TypePeerDisconnected": + return GroupDeviceStatus_Type.TypePeerDisconnected; + case 2: + case "TypePeerConnected": + return GroupDeviceStatus_Type.TypePeerConnected; + case 3: + case "TypePeerReconnecting": + return GroupDeviceStatus_Type.TypePeerReconnecting; + case -1: + case "UNRECOGNIZED": + default: + return GroupDeviceStatus_Type.UNRECOGNIZED; + } +} + +export function groupDeviceStatus_TypeToJSON(object: GroupDeviceStatus_Type): string { + switch (object) { + case GroupDeviceStatus_Type.TypeUnknown: + return "TypeUnknown"; + case GroupDeviceStatus_Type.TypePeerDisconnected: + return "TypePeerDisconnected"; + case GroupDeviceStatus_Type.TypePeerConnected: + return "TypePeerConnected"; + case GroupDeviceStatus_Type.TypePeerReconnecting: + return "TypePeerReconnecting"; + case GroupDeviceStatus_Type.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum GroupDeviceStatus_Transport { + TptUnknown = 0, + TptLAN = 1, + TptWAN = 2, + TptProximity = 3, + UNRECOGNIZED = -1, +} + +export function groupDeviceStatus_TransportFromJSON(object: any): GroupDeviceStatus_Transport { + switch (object) { + case 0: + case "TptUnknown": + return GroupDeviceStatus_Transport.TptUnknown; + case 1: + case "TptLAN": + return GroupDeviceStatus_Transport.TptLAN; + case 2: + case "TptWAN": + return GroupDeviceStatus_Transport.TptWAN; + case 3: + case "TptProximity": + return GroupDeviceStatus_Transport.TptProximity; + case -1: + case "UNRECOGNIZED": + default: + return GroupDeviceStatus_Transport.UNRECOGNIZED; + } +} + +export function groupDeviceStatus_TransportToJSON(object: GroupDeviceStatus_Transport): string { + switch (object) { + case GroupDeviceStatus_Transport.TptUnknown: + return "TptUnknown"; + case GroupDeviceStatus_Transport.TptLAN: + return "TptLAN"; + case GroupDeviceStatus_Transport.TptWAN: + return "TptWAN"; + case GroupDeviceStatus_Transport.TptProximity: + return "TptProximity"; + case GroupDeviceStatus_Transport.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface GroupDeviceStatus_Request { + groupPk: Uint8Array; +} + +export interface GroupDeviceStatus_Reply { + type: GroupDeviceStatus_Type; + event: Uint8Array; +} + +export interface GroupDeviceStatus_Reply_PeerConnected { + peerId: string; + devicePk: Uint8Array; + transports: GroupDeviceStatus_Transport[]; + maddrs: string[]; +} + +export interface GroupDeviceStatus_Reply_PeerReconnecting { + peerId: string; +} + +export interface GroupDeviceStatus_Reply_PeerDisconnected { + peerId: string; +} + +export interface DebugListGroups { +} + +export interface DebugListGroups_Request { +} + +export interface DebugListGroups_Reply { + /** group_pk is the public key of the group */ + groupPk: Uint8Array; + /** group_type is the type of the group */ + groupType: GroupType; + /** contact_pk is the contact public key if appropriate */ + contactPk: Uint8Array; +} + +export interface DebugInspectGroupStore { +} + +export interface DebugInspectGroupStore_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; + /** log_type is the log to inspect */ + logType: DebugInspectGroupLogType; +} + +export interface DebugInspectGroupStore_Reply { + /** cid is the CID of the IPFS log entry */ + cid: Uint8Array; + /** parent_cids is the list of the parent entries */ + parentCids: Uint8Array[]; + /** event_type metadata event type if subscribed to metadata events */ + metadataEventType: EventType; + /** device_pk is the public key of the device signing the entry */ + devicePk: Uint8Array; + /** payload is the un encrypted entry payload if available */ + payload: Uint8Array; +} + +export interface DebugGroup { +} + +export interface DebugGroup_Request { + /** group_pk is the identifier of the group */ + groupPk: Uint8Array; +} + +export interface DebugGroup_Reply { + /** peer_ids is the list of peer ids connected to the same group */ + peerIds: string[]; +} + +export interface ShareableContact { + /** pk is the account to send a contact request to */ + pk: Uint8Array; + /** public_rendezvous_seed is the rendezvous seed used by the account to send a contact request to */ + publicRendezvousSeed: Uint8Array; + /** metadata is the metadata specific to the app to identify the contact for the request */ + metadata: Uint8Array; +} + +export interface ServiceTokenSupportedService { + serviceType: string; + serviceEndpoint: string; +} + +export interface ServiceToken { + token: string; + authenticationUrl: string; + supportedServices: ServiceTokenSupportedService[]; + expiration: number; +} + +export interface CredentialVerificationServiceInitFlow { +} + +export interface CredentialVerificationServiceInitFlow_Request { + serviceUrl: string; + publicKey: Uint8Array; + link: string; +} + +export interface CredentialVerificationServiceInitFlow_Reply { + url: string; + secureUrl: boolean; +} + +export interface CredentialVerificationServiceCompleteFlow { +} + +export interface CredentialVerificationServiceCompleteFlow_Request { + callbackUri: string; +} + +export interface CredentialVerificationServiceCompleteFlow_Reply { + identifier: string; +} + +export interface VerifiedCredentialsList { +} + +export interface VerifiedCredentialsList_Request { + filterIdentifier: string; + filterIssuer: string; + excludeExpired: boolean; +} + +export interface VerifiedCredentialsList_Reply { + credential: AccountVerifiedCredentialRegistered | undefined; +} + +export interface ReplicationServiceRegisterGroup { +} + +export interface ReplicationServiceRegisterGroup_Request { + groupPk: Uint8Array; + token: string; + authenticationUrl: string; + replicationServer: string; +} + +export interface ReplicationServiceRegisterGroup_Reply { +} + +export interface ReplicationServiceReplicateGroup { +} + +export interface ReplicationServiceReplicateGroup_Request { + group: Group | undefined; +} + +export interface ReplicationServiceReplicateGroup_Reply { + ok: boolean; +} + +export interface SystemInfo { +} + +export interface SystemInfo_Request { +} + +export interface SystemInfo_Reply { + process: SystemInfo_Process | undefined; + p2p: SystemInfo_P2P | undefined; + orbitdb: SystemInfo_OrbitDB | undefined; + warns: string[]; +} + +export interface SystemInfo_OrbitDB { + accountMetadata: SystemInfo_OrbitDB_ReplicationStatus | undefined; +} + +export interface SystemInfo_OrbitDB_ReplicationStatus { + progress: number; + maximum: number; + buffered: number; + queued: number; +} + +export interface SystemInfo_P2P { + connectedPeers: number; +} + +export interface SystemInfo_Process { + version: string; + vcsRef: string; + uptimeMs: number; + userCpuTimeMs: number; + systemCpuTimeMs: number; + startedAt: number; + rlimitCur: number; + numGoroutine: number; + nofile: number; + tooManyOpenFiles: boolean; + numCpu: number; + goVersion: string; + operatingSystem: string; + hostName: string; + arch: string; + rlimitMax: number; + pid: number; + ppid: number; + priority: number; + uid: number; + workingDir: string; + systemUsername: string; +} + +export interface PeerList { +} + +export enum PeerList_Feature { + UnknownFeature = 0, + WeshFeature = 1, + BLEFeature = 2, + LocalFeature = 3, + TorFeature = 4, + QuicFeature = 5, + UNRECOGNIZED = -1, +} + +export function peerList_FeatureFromJSON(object: any): PeerList_Feature { + switch (object) { + case 0: + case "UnknownFeature": + return PeerList_Feature.UnknownFeature; + case 1: + case "WeshFeature": + return PeerList_Feature.WeshFeature; + case 2: + case "BLEFeature": + return PeerList_Feature.BLEFeature; + case 3: + case "LocalFeature": + return PeerList_Feature.LocalFeature; + case 4: + case "TorFeature": + return PeerList_Feature.TorFeature; + case 5: + case "QuicFeature": + return PeerList_Feature.QuicFeature; + case -1: + case "UNRECOGNIZED": + default: + return PeerList_Feature.UNRECOGNIZED; + } +} + +export function peerList_FeatureToJSON(object: PeerList_Feature): string { + switch (object) { + case PeerList_Feature.UnknownFeature: + return "UnknownFeature"; + case PeerList_Feature.WeshFeature: + return "WeshFeature"; + case PeerList_Feature.BLEFeature: + return "BLEFeature"; + case PeerList_Feature.LocalFeature: + return "LocalFeature"; + case PeerList_Feature.TorFeature: + return "TorFeature"; + case PeerList_Feature.QuicFeature: + return "QuicFeature"; + case PeerList_Feature.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface PeerList_Request { +} + +export interface PeerList_Reply { + peers: PeerList_Peer[]; +} + +export interface PeerList_Peer { + /** id is the libp2p.PeerID. */ + id: string; + /** routes are the list of active and known maddr. */ + routes: PeerList_Route[]; + /** errors is a list of errors related to the peer. */ + errors: string[]; + /** Features is a list of available features. */ + features: PeerList_Feature[]; + /** MinLatency is the minimum latency across all the peer routes. */ + minLatency: number; + /** IsActive is true if at least one of the route is active. */ + isActive: boolean; + /** Direction is the aggregate of all the routes's direction. */ + direction: Direction; +} + +export interface PeerList_Route { + /** IsActive indicates whether the address is currently used or just known. */ + isActive: boolean; + /** Address is the multiaddress via which we are connected with the peer. */ + address: string; + /** Direction is which way the connection was established. */ + direction: Direction; + /** Latency is the last known round trip time to the peer in ms. */ + latency: number; + /** Streams returns list of streams established with the peer. */ + streams: PeerList_Stream[]; +} + +export interface PeerList_Stream { + /** id is an identifier used to write protocol headers in streams. */ + id: string; +} + +/** Progress define a generic object that can be used to display a progress bar for long-running actions. */ +export interface Progress { + state: string; + doing: string; + progress: number; + completed: number; + total: number; + delay: number; +} + +export interface OutOfStoreMessage { + cid: Uint8Array; + devicePk: Uint8Array; + counter: number; + sig: Uint8Array; + flags: number; + encryptedPayload: Uint8Array; + nonce: Uint8Array; +} + +export interface OutOfStoreMessageEnvelope { + nonce: Uint8Array; + box: Uint8Array; + groupReference: Uint8Array; +} + +export interface OutOfStoreReceive { +} + +export interface OutOfStoreReceive_Request { + payload: Uint8Array; +} + +export interface OutOfStoreReceive_Reply { + message: OutOfStoreMessage | undefined; + cleartext: Uint8Array; + groupPublicKey: Uint8Array; + alreadyReceived: boolean; +} + +export interface OutOfStoreSeal { +} + +export interface OutOfStoreSeal_Request { + cid: Uint8Array; + groupPublicKey: Uint8Array; +} + +export interface OutOfStoreSeal_Reply { + encrypted: Uint8Array; +} + +export interface AccountVerifiedCredentialRegistered { + /** device_pk is the public key of the device sending the message */ + devicePk: Uint8Array; + signedIdentityPublicKey: Uint8Array; + verifiedCredential: string; + registrationDate: number; + expirationDate: number; + identifier: string; + issuer: string; +} + +export interface FirstLastCounters { + first: number; + last: number; +} + +/** OrbitDBMessageHeads is the payload sent on orbitdb to share peer's heads */ +export interface OrbitDBMessageHeads { + /** sealed box should contain encrypted Box */ + sealedBox: Uint8Array; + /** current topic used */ + rawRotation: Uint8Array; +} + +export interface OrbitDBMessageHeads_Box { + address: string; + heads: Uint8Array; + devicePk: Uint8Array; + peerId: Uint8Array; +} + +export interface RefreshContactRequest { +} + +export interface RefreshContactRequest_Peer { + /** id is the libp2p.PeerID. */ + id: string; + /** list of peers multiaddrs. */ + addrs: string[]; +} + +export interface RefreshContactRequest_Request { + contactPk: Uint8Array; + /** timeout in second */ + timeout: number; +} + +export interface RefreshContactRequest_Reply { + /** peers found and successfully connected. */ + peersFound: RefreshContactRequest_Peer[]; +} + +function createBaseAccount(): Account { + return { + group: undefined, + accountPrivateKey: new Uint8Array(0), + aliasPrivateKey: new Uint8Array(0), + publicRendezvousSeed: new Uint8Array(0), + }; +} + +export const Account = { + encode(message: Account, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + if (message.accountPrivateKey.length !== 0) { + writer.uint32(18).bytes(message.accountPrivateKey); + } + if (message.aliasPrivateKey.length !== 0) { + writer.uint32(26).bytes(message.aliasPrivateKey); + } + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(34).bytes(message.publicRendezvousSeed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Account { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.accountPrivateKey = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.aliasPrivateKey = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Account { + return { + group: isSet(object.group) ? Group.fromJSON(object.group) : undefined, + accountPrivateKey: isSet(object.accountPrivateKey) + ? bytesFromBase64(object.accountPrivateKey) + : new Uint8Array(0), + aliasPrivateKey: isSet(object.aliasPrivateKey) ? bytesFromBase64(object.aliasPrivateKey) : new Uint8Array(0), + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + }; + }, + + toJSON(message: Account): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + if (message.accountPrivateKey.length !== 0) { + obj.accountPrivateKey = base64FromBytes(message.accountPrivateKey); + } + if (message.aliasPrivateKey.length !== 0) { + obj.aliasPrivateKey = base64FromBytes(message.aliasPrivateKey); + } + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + return obj; + }, + + create, I>>(base?: I): Account { + return Account.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Account { + const message = createBaseAccount(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + message.accountPrivateKey = object.accountPrivateKey ?? new Uint8Array(0); + message.aliasPrivateKey = object.aliasPrivateKey ?? new Uint8Array(0); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroup(): Group { + return { + publicKey: new Uint8Array(0), + secret: new Uint8Array(0), + secretSig: new Uint8Array(0), + groupType: 0, + signPub: new Uint8Array(0), + linkKey: new Uint8Array(0), + linkKeySig: new Uint8Array(0), + }; +} + +export const Group = { + encode(message: Group, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey.length !== 0) { + writer.uint32(10).bytes(message.publicKey); + } + if (message.secret.length !== 0) { + writer.uint32(18).bytes(message.secret); + } + if (message.secretSig.length !== 0) { + writer.uint32(26).bytes(message.secretSig); + } + if (message.groupType !== 0) { + writer.uint32(32).int32(message.groupType); + } + if (message.signPub.length !== 0) { + writer.uint32(42).bytes(message.signPub); + } + if (message.linkKey.length !== 0) { + writer.uint32(50).bytes(message.linkKey); + } + if (message.linkKeySig.length !== 0) { + writer.uint32(58).bytes(message.linkKeySig); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Group { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.secret = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.secretSig = reader.bytes(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.groupType = reader.int32() as any; + continue; + case 5: + if (tag !== 42) { + break; + } + + message.signPub = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.linkKey = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.linkKeySig = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Group { + return { + publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0), + secret: isSet(object.secret) ? bytesFromBase64(object.secret) : new Uint8Array(0), + secretSig: isSet(object.secretSig) ? bytesFromBase64(object.secretSig) : new Uint8Array(0), + groupType: isSet(object.groupType) ? groupTypeFromJSON(object.groupType) : 0, + signPub: isSet(object.signPub) ? bytesFromBase64(object.signPub) : new Uint8Array(0), + linkKey: isSet(object.linkKey) ? bytesFromBase64(object.linkKey) : new Uint8Array(0), + linkKeySig: isSet(object.linkKeySig) ? bytesFromBase64(object.linkKeySig) : new Uint8Array(0), + }; + }, + + toJSON(message: Group): unknown { + const obj: any = {}; + if (message.publicKey.length !== 0) { + obj.publicKey = base64FromBytes(message.publicKey); + } + if (message.secret.length !== 0) { + obj.secret = base64FromBytes(message.secret); + } + if (message.secretSig.length !== 0) { + obj.secretSig = base64FromBytes(message.secretSig); + } + if (message.groupType !== 0) { + obj.groupType = groupTypeToJSON(message.groupType); + } + if (message.signPub.length !== 0) { + obj.signPub = base64FromBytes(message.signPub); + } + if (message.linkKey.length !== 0) { + obj.linkKey = base64FromBytes(message.linkKey); + } + if (message.linkKeySig.length !== 0) { + obj.linkKeySig = base64FromBytes(message.linkKeySig); + } + return obj; + }, + + create, I>>(base?: I): Group { + return Group.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Group { + const message = createBaseGroup(); + message.publicKey = object.publicKey ?? new Uint8Array(0); + message.secret = object.secret ?? new Uint8Array(0); + message.secretSig = object.secretSig ?? new Uint8Array(0); + message.groupType = object.groupType ?? 0; + message.signPub = object.signPub ?? new Uint8Array(0); + message.linkKey = object.linkKey ?? new Uint8Array(0); + message.linkKeySig = object.linkKeySig ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupHeadsExport(): GroupHeadsExport { + return { + publicKey: new Uint8Array(0), + signPub: new Uint8Array(0), + metadataHeadsCids: [], + messagesHeadsCids: [], + linkKey: new Uint8Array(0), + }; +} + +export const GroupHeadsExport = { + encode(message: GroupHeadsExport, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey.length !== 0) { + writer.uint32(10).bytes(message.publicKey); + } + if (message.signPub.length !== 0) { + writer.uint32(18).bytes(message.signPub); + } + for (const v of message.metadataHeadsCids) { + writer.uint32(26).bytes(v!); + } + for (const v of message.messagesHeadsCids) { + writer.uint32(34).bytes(v!); + } + if (message.linkKey.length !== 0) { + writer.uint32(42).bytes(message.linkKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupHeadsExport { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupHeadsExport(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signPub = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.metadataHeadsCids.push(reader.bytes()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.messagesHeadsCids.push(reader.bytes()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.linkKey = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupHeadsExport { + return { + publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0), + signPub: isSet(object.signPub) ? bytesFromBase64(object.signPub) : new Uint8Array(0), + metadataHeadsCids: globalThis.Array.isArray(object?.metadataHeadsCids) + ? object.metadataHeadsCids.map((e: any) => bytesFromBase64(e)) + : [], + messagesHeadsCids: globalThis.Array.isArray(object?.messagesHeadsCids) + ? object.messagesHeadsCids.map((e: any) => bytesFromBase64(e)) + : [], + linkKey: isSet(object.linkKey) ? bytesFromBase64(object.linkKey) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupHeadsExport): unknown { + const obj: any = {}; + if (message.publicKey.length !== 0) { + obj.publicKey = base64FromBytes(message.publicKey); + } + if (message.signPub.length !== 0) { + obj.signPub = base64FromBytes(message.signPub); + } + if (message.metadataHeadsCids?.length) { + obj.metadataHeadsCids = message.metadataHeadsCids.map((e) => base64FromBytes(e)); + } + if (message.messagesHeadsCids?.length) { + obj.messagesHeadsCids = message.messagesHeadsCids.map((e) => base64FromBytes(e)); + } + if (message.linkKey.length !== 0) { + obj.linkKey = base64FromBytes(message.linkKey); + } + return obj; + }, + + create, I>>(base?: I): GroupHeadsExport { + return GroupHeadsExport.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupHeadsExport { + const message = createBaseGroupHeadsExport(); + message.publicKey = object.publicKey ?? new Uint8Array(0); + message.signPub = object.signPub ?? new Uint8Array(0); + message.metadataHeadsCids = object.metadataHeadsCids?.map((e) => e) || []; + message.messagesHeadsCids = object.messagesHeadsCids?.map((e) => e) || []; + message.linkKey = object.linkKey ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMetadata(): GroupMetadata { + return { eventType: 0, payload: new Uint8Array(0), sig: new Uint8Array(0), protocolMetadata: undefined }; +} + +export const GroupMetadata = { + encode(message: GroupMetadata, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.eventType !== 0) { + writer.uint32(8).int32(message.eventType); + } + if (message.payload.length !== 0) { + writer.uint32(18).bytes(message.payload); + } + if (message.sig.length !== 0) { + writer.uint32(26).bytes(message.sig); + } + if (message.protocolMetadata !== undefined) { + ProtocolMetadata.encode(message.protocolMetadata, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMetadata { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.eventType = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.payload = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.sig = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.protocolMetadata = ProtocolMetadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMetadata { + return { + eventType: isSet(object.eventType) ? eventTypeFromJSON(object.eventType) : 0, + payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0), + sig: isSet(object.sig) ? bytesFromBase64(object.sig) : new Uint8Array(0), + protocolMetadata: isSet(object.protocolMetadata) ? ProtocolMetadata.fromJSON(object.protocolMetadata) : undefined, + }; + }, + + toJSON(message: GroupMetadata): unknown { + const obj: any = {}; + if (message.eventType !== 0) { + obj.eventType = eventTypeToJSON(message.eventType); + } + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + if (message.sig.length !== 0) { + obj.sig = base64FromBytes(message.sig); + } + if (message.protocolMetadata !== undefined) { + obj.protocolMetadata = ProtocolMetadata.toJSON(message.protocolMetadata); + } + return obj; + }, + + create, I>>(base?: I): GroupMetadata { + return GroupMetadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMetadata { + const message = createBaseGroupMetadata(); + message.eventType = object.eventType ?? 0; + message.payload = object.payload ?? new Uint8Array(0); + message.sig = object.sig ?? new Uint8Array(0); + message.protocolMetadata = (object.protocolMetadata !== undefined && object.protocolMetadata !== null) + ? ProtocolMetadata.fromPartial(object.protocolMetadata) + : undefined; + return message; + }, +}; + +function createBaseGroupEnvelope(): GroupEnvelope { + return { nonce: new Uint8Array(0), event: new Uint8Array(0) }; +} + +export const GroupEnvelope = { + encode(message: GroupEnvelope, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.nonce.length !== 0) { + writer.uint32(10).bytes(message.nonce); + } + if (message.event.length !== 0) { + writer.uint32(18).bytes(message.event); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupEnvelope { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupEnvelope(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.nonce = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.event = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupEnvelope { + return { + nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0), + event: isSet(object.event) ? bytesFromBase64(object.event) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupEnvelope): unknown { + const obj: any = {}; + if (message.nonce.length !== 0) { + obj.nonce = base64FromBytes(message.nonce); + } + if (message.event.length !== 0) { + obj.event = base64FromBytes(message.event); + } + return obj; + }, + + create, I>>(base?: I): GroupEnvelope { + return GroupEnvelope.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupEnvelope { + const message = createBaseGroupEnvelope(); + message.nonce = object.nonce ?? new Uint8Array(0); + message.event = object.event ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMessageHeaders(): MessageHeaders { + return { counter: 0, devicePk: new Uint8Array(0), sig: new Uint8Array(0), metadata: {} }; +} + +export const MessageHeaders = { + encode(message: MessageHeaders, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.counter !== 0) { + writer.uint32(8).uint64(message.counter); + } + if (message.devicePk.length !== 0) { + writer.uint32(18).bytes(message.devicePk); + } + if (message.sig.length !== 0) { + writer.uint32(26).bytes(message.sig); + } + Object.entries(message.metadata).forEach(([key, value]) => { + MessageHeaders_MetadataEntry.encode({ key: key as any, value }, writer.uint32(34).fork()).ldelim(); + }); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MessageHeaders { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageHeaders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.counter = longToNumber(reader.uint64() as Long); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.sig = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + const entry4 = MessageHeaders_MetadataEntry.decode(reader, reader.uint32()); + if (entry4.value !== undefined) { + message.metadata[entry4.key] = entry4.value; + } + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageHeaders { + return { + counter: isSet(object.counter) ? globalThis.Number(object.counter) : 0, + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + sig: isSet(object.sig) ? bytesFromBase64(object.sig) : new Uint8Array(0), + metadata: isObject(object.metadata) + ? Object.entries(object.metadata).reduce<{ [key: string]: string }>((acc, [key, value]) => { + acc[key] = String(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: MessageHeaders): unknown { + const obj: any = {}; + if (message.counter !== 0) { + obj.counter = Math.round(message.counter); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.sig.length !== 0) { + obj.sig = base64FromBytes(message.sig); + } + if (message.metadata) { + const entries = Object.entries(message.metadata); + if (entries.length > 0) { + obj.metadata = {}; + entries.forEach(([k, v]) => { + obj.metadata[k] = v; + }); + } + } + return obj; + }, + + create, I>>(base?: I): MessageHeaders { + return MessageHeaders.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageHeaders { + const message = createBaseMessageHeaders(); + message.counter = object.counter ?? 0; + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.sig = object.sig ?? new Uint8Array(0); + message.metadata = Object.entries(object.metadata ?? {}).reduce<{ [key: string]: string }>((acc, [key, value]) => { + if (value !== undefined) { + acc[key] = globalThis.String(value); + } + return acc; + }, {}); + return message; + }, +}; + +function createBaseMessageHeaders_MetadataEntry(): MessageHeaders_MetadataEntry { + return { key: "", value: "" }; +} + +export const MessageHeaders_MetadataEntry = { + encode(message: MessageHeaders_MetadataEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MessageHeaders_MetadataEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageHeaders_MetadataEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageHeaders_MetadataEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: MessageHeaders_MetadataEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create, I>>(base?: I): MessageHeaders_MetadataEntry { + return MessageHeaders_MetadataEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageHeaders_MetadataEntry { + const message = createBaseMessageHeaders_MetadataEntry(); + message.key = object.key ?? ""; + message.value = object.value ?? ""; + return message; + }, +}; + +function createBaseProtocolMetadata(): ProtocolMetadata { + return {}; +} + +export const ProtocolMetadata = { + encode(_: ProtocolMetadata, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ProtocolMetadata { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProtocolMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ProtocolMetadata { + return {}; + }, + + toJSON(_: ProtocolMetadata): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ProtocolMetadata { + return ProtocolMetadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ProtocolMetadata { + const message = createBaseProtocolMetadata(); + return message; + }, +}; + +function createBaseEncryptedMessage(): EncryptedMessage { + return { plaintext: new Uint8Array(0), protocolMetadata: undefined }; +} + +export const EncryptedMessage = { + encode(message: EncryptedMessage, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.plaintext.length !== 0) { + writer.uint32(10).bytes(message.plaintext); + } + if (message.protocolMetadata !== undefined) { + ProtocolMetadata.encode(message.protocolMetadata, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EncryptedMessage { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEncryptedMessage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.plaintext = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.protocolMetadata = ProtocolMetadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EncryptedMessage { + return { + plaintext: isSet(object.plaintext) ? bytesFromBase64(object.plaintext) : new Uint8Array(0), + protocolMetadata: isSet(object.protocolMetadata) ? ProtocolMetadata.fromJSON(object.protocolMetadata) : undefined, + }; + }, + + toJSON(message: EncryptedMessage): unknown { + const obj: any = {}; + if (message.plaintext.length !== 0) { + obj.plaintext = base64FromBytes(message.plaintext); + } + if (message.protocolMetadata !== undefined) { + obj.protocolMetadata = ProtocolMetadata.toJSON(message.protocolMetadata); + } + return obj; + }, + + create, I>>(base?: I): EncryptedMessage { + return EncryptedMessage.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EncryptedMessage { + const message = createBaseEncryptedMessage(); + message.plaintext = object.plaintext ?? new Uint8Array(0); + message.protocolMetadata = (object.protocolMetadata !== undefined && object.protocolMetadata !== null) + ? ProtocolMetadata.fromPartial(object.protocolMetadata) + : undefined; + return message; + }, +}; + +function createBaseMessageEnvelope(): MessageEnvelope { + return { messageHeaders: new Uint8Array(0), message: new Uint8Array(0), nonce: new Uint8Array(0) }; +} + +export const MessageEnvelope = { + encode(message: MessageEnvelope, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.messageHeaders.length !== 0) { + writer.uint32(10).bytes(message.messageHeaders); + } + if (message.message.length !== 0) { + writer.uint32(18).bytes(message.message); + } + if (message.nonce.length !== 0) { + writer.uint32(26).bytes(message.nonce); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MessageEnvelope { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageEnvelope(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.messageHeaders = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.message = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.nonce = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageEnvelope { + return { + messageHeaders: isSet(object.messageHeaders) ? bytesFromBase64(object.messageHeaders) : new Uint8Array(0), + message: isSet(object.message) ? bytesFromBase64(object.message) : new Uint8Array(0), + nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0), + }; + }, + + toJSON(message: MessageEnvelope): unknown { + const obj: any = {}; + if (message.messageHeaders.length !== 0) { + obj.messageHeaders = base64FromBytes(message.messageHeaders); + } + if (message.message.length !== 0) { + obj.message = base64FromBytes(message.message); + } + if (message.nonce.length !== 0) { + obj.nonce = base64FromBytes(message.nonce); + } + return obj; + }, + + create, I>>(base?: I): MessageEnvelope { + return MessageEnvelope.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageEnvelope { + const message = createBaseMessageEnvelope(); + message.messageHeaders = object.messageHeaders ?? new Uint8Array(0); + message.message = object.message ?? new Uint8Array(0); + message.nonce = object.nonce ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseEventContext(): EventContext { + return { id: new Uint8Array(0), parentIds: [], groupPk: new Uint8Array(0) }; +} + +export const EventContext = { + encode(message: EventContext, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.id.length !== 0) { + writer.uint32(10).bytes(message.id); + } + for (const v of message.parentIds) { + writer.uint32(18).bytes(v!); + } + if (message.groupPk.length !== 0) { + writer.uint32(26).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EventContext { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventContext(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.parentIds.push(reader.bytes()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventContext { + return { + id: isSet(object.id) ? bytesFromBase64(object.id) : new Uint8Array(0), + parentIds: globalThis.Array.isArray(object?.parentIds) + ? object.parentIds.map((e: any) => bytesFromBase64(e)) + : [], + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + }; + }, + + toJSON(message: EventContext): unknown { + const obj: any = {}; + if (message.id.length !== 0) { + obj.id = base64FromBytes(message.id); + } + if (message.parentIds?.length) { + obj.parentIds = message.parentIds.map((e) => base64FromBytes(e)); + } + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): EventContext { + return EventContext.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EventContext { + const message = createBaseEventContext(); + message.id = object.id ?? new Uint8Array(0); + message.parentIds = object.parentIds?.map((e) => e) || []; + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMetadataPayloadSent(): GroupMetadataPayloadSent { + return { devicePk: new Uint8Array(0), message: new Uint8Array(0) }; +} + +export const GroupMetadataPayloadSent = { + encode(message: GroupMetadataPayloadSent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.message.length !== 0) { + writer.uint32(18).bytes(message.message); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMetadataPayloadSent { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMetadataPayloadSent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.message = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMetadataPayloadSent { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + message: isSet(object.message) ? bytesFromBase64(object.message) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupMetadataPayloadSent): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.message.length !== 0) { + obj.message = base64FromBytes(message.message); + } + return obj; + }, + + create, I>>(base?: I): GroupMetadataPayloadSent { + return GroupMetadataPayloadSent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMetadataPayloadSent { + const message = createBaseGroupMetadataPayloadSent(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.message = object.message ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactAliasKeyAdded(): ContactAliasKeyAdded { + return { devicePk: new Uint8Array(0), aliasPk: new Uint8Array(0) }; +} + +export const ContactAliasKeyAdded = { + encode(message: ContactAliasKeyAdded, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.aliasPk.length !== 0) { + writer.uint32(18).bytes(message.aliasPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactAliasKeyAdded { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactAliasKeyAdded(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.aliasPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactAliasKeyAdded { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + aliasPk: isSet(object.aliasPk) ? bytesFromBase64(object.aliasPk) : new Uint8Array(0), + }; + }, + + toJSON(message: ContactAliasKeyAdded): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.aliasPk.length !== 0) { + obj.aliasPk = base64FromBytes(message.aliasPk); + } + return obj; + }, + + create, I>>(base?: I): ContactAliasKeyAdded { + return ContactAliasKeyAdded.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactAliasKeyAdded { + const message = createBaseContactAliasKeyAdded(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.aliasPk = object.aliasPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMemberDeviceAdded(): GroupMemberDeviceAdded { + return { memberPk: new Uint8Array(0), devicePk: new Uint8Array(0), memberSig: new Uint8Array(0) }; +} + +export const GroupMemberDeviceAdded = { + encode(message: GroupMemberDeviceAdded, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.memberPk.length !== 0) { + writer.uint32(10).bytes(message.memberPk); + } + if (message.devicePk.length !== 0) { + writer.uint32(18).bytes(message.devicePk); + } + if (message.memberSig.length !== 0) { + writer.uint32(26).bytes(message.memberSig); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMemberDeviceAdded { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMemberDeviceAdded(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.memberPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.memberSig = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMemberDeviceAdded { + return { + memberPk: isSet(object.memberPk) ? bytesFromBase64(object.memberPk) : new Uint8Array(0), + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + memberSig: isSet(object.memberSig) ? bytesFromBase64(object.memberSig) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupMemberDeviceAdded): unknown { + const obj: any = {}; + if (message.memberPk.length !== 0) { + obj.memberPk = base64FromBytes(message.memberPk); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.memberSig.length !== 0) { + obj.memberSig = base64FromBytes(message.memberSig); + } + return obj; + }, + + create, I>>(base?: I): GroupMemberDeviceAdded { + return GroupMemberDeviceAdded.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMemberDeviceAdded { + const message = createBaseGroupMemberDeviceAdded(); + message.memberPk = object.memberPk ?? new Uint8Array(0); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.memberSig = object.memberSig ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDeviceChainKey(): DeviceChainKey { + return { chainKey: new Uint8Array(0), counter: 0 }; +} + +export const DeviceChainKey = { + encode(message: DeviceChainKey, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.chainKey.length !== 0) { + writer.uint32(10).bytes(message.chainKey); + } + if (message.counter !== 0) { + writer.uint32(16).uint64(message.counter); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DeviceChainKey { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeviceChainKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chainKey = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.counter = longToNumber(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeviceChainKey { + return { + chainKey: isSet(object.chainKey) ? bytesFromBase64(object.chainKey) : new Uint8Array(0), + counter: isSet(object.counter) ? globalThis.Number(object.counter) : 0, + }; + }, + + toJSON(message: DeviceChainKey): unknown { + const obj: any = {}; + if (message.chainKey.length !== 0) { + obj.chainKey = base64FromBytes(message.chainKey); + } + if (message.counter !== 0) { + obj.counter = Math.round(message.counter); + } + return obj; + }, + + create, I>>(base?: I): DeviceChainKey { + return DeviceChainKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeviceChainKey { + const message = createBaseDeviceChainKey(); + message.chainKey = object.chainKey ?? new Uint8Array(0); + message.counter = object.counter ?? 0; + return message; + }, +}; + +function createBaseGroupDeviceChainKeyAdded(): GroupDeviceChainKeyAdded { + return { devicePk: new Uint8Array(0), destMemberPk: new Uint8Array(0), payload: new Uint8Array(0) }; +} + +export const GroupDeviceChainKeyAdded = { + encode(message: GroupDeviceChainKeyAdded, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.destMemberPk.length !== 0) { + writer.uint32(18).bytes(message.destMemberPk); + } + if (message.payload.length !== 0) { + writer.uint32(26).bytes(message.payload); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceChainKeyAdded { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceChainKeyAdded(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.destMemberPk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceChainKeyAdded { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + destMemberPk: isSet(object.destMemberPk) ? bytesFromBase64(object.destMemberPk) : new Uint8Array(0), + payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupDeviceChainKeyAdded): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.destMemberPk.length !== 0) { + obj.destMemberPk = base64FromBytes(message.destMemberPk); + } + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): GroupDeviceChainKeyAdded { + return GroupDeviceChainKeyAdded.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupDeviceChainKeyAdded { + const message = createBaseGroupDeviceChainKeyAdded(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.destMemberPk = object.destMemberPk ?? new Uint8Array(0); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupAliasResolverAdded(): MultiMemberGroupAliasResolverAdded { + return { devicePk: new Uint8Array(0), aliasResolver: new Uint8Array(0), aliasProof: new Uint8Array(0) }; +} + +export const MultiMemberGroupAliasResolverAdded = { + encode(message: MultiMemberGroupAliasResolverAdded, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.aliasResolver.length !== 0) { + writer.uint32(18).bytes(message.aliasResolver); + } + if (message.aliasProof.length !== 0) { + writer.uint32(26).bytes(message.aliasProof); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAliasResolverAdded { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAliasResolverAdded(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.aliasResolver = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.aliasProof = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupAliasResolverAdded { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + aliasResolver: isSet(object.aliasResolver) ? bytesFromBase64(object.aliasResolver) : new Uint8Array(0), + aliasProof: isSet(object.aliasProof) ? bytesFromBase64(object.aliasProof) : new Uint8Array(0), + }; + }, + + toJSON(message: MultiMemberGroupAliasResolverAdded): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.aliasResolver.length !== 0) { + obj.aliasResolver = base64FromBytes(message.aliasResolver); + } + if (message.aliasProof.length !== 0) { + obj.aliasProof = base64FromBytes(message.aliasProof); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAliasResolverAdded { + return MultiMemberGroupAliasResolverAdded.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupAliasResolverAdded { + const message = createBaseMultiMemberGroupAliasResolverAdded(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.aliasResolver = object.aliasResolver ?? new Uint8Array(0); + message.aliasProof = object.aliasProof ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupAdminRoleGranted(): MultiMemberGroupAdminRoleGranted { + return { devicePk: new Uint8Array(0), granteeMemberPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupAdminRoleGranted = { + encode(message: MultiMemberGroupAdminRoleGranted, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.granteeMemberPk.length !== 0) { + writer.uint32(18).bytes(message.granteeMemberPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAdminRoleGranted { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAdminRoleGranted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.granteeMemberPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupAdminRoleGranted { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + granteeMemberPk: isSet(object.granteeMemberPk) ? bytesFromBase64(object.granteeMemberPk) : new Uint8Array(0), + }; + }, + + toJSON(message: MultiMemberGroupAdminRoleGranted): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.granteeMemberPk.length !== 0) { + obj.granteeMemberPk = base64FromBytes(message.granteeMemberPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAdminRoleGranted { + return MultiMemberGroupAdminRoleGranted.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupAdminRoleGranted { + const message = createBaseMultiMemberGroupAdminRoleGranted(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.granteeMemberPk = object.granteeMemberPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupInitialMemberAnnounced(): MultiMemberGroupInitialMemberAnnounced { + return { memberPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupInitialMemberAnnounced = { + encode(message: MultiMemberGroupInitialMemberAnnounced, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.memberPk.length !== 0) { + writer.uint32(10).bytes(message.memberPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupInitialMemberAnnounced { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupInitialMemberAnnounced(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.memberPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupInitialMemberAnnounced { + return { memberPk: isSet(object.memberPk) ? bytesFromBase64(object.memberPk) : new Uint8Array(0) }; + }, + + toJSON(message: MultiMemberGroupInitialMemberAnnounced): unknown { + const obj: any = {}; + if (message.memberPk.length !== 0) { + obj.memberPk = base64FromBytes(message.memberPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupInitialMemberAnnounced { + return MultiMemberGroupInitialMemberAnnounced.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupInitialMemberAnnounced { + const message = createBaseMultiMemberGroupInitialMemberAnnounced(); + message.memberPk = object.memberPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupAddAdditionalRendezvousSeed(): GroupAddAdditionalRendezvousSeed { + return { devicePk: new Uint8Array(0), seed: new Uint8Array(0) }; +} + +export const GroupAddAdditionalRendezvousSeed = { + encode(message: GroupAddAdditionalRendezvousSeed, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.seed.length !== 0) { + writer.uint32(18).bytes(message.seed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupAddAdditionalRendezvousSeed { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupAddAdditionalRendezvousSeed(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.seed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupAddAdditionalRendezvousSeed { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + seed: isSet(object.seed) ? bytesFromBase64(object.seed) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupAddAdditionalRendezvousSeed): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.seed.length !== 0) { + obj.seed = base64FromBytes(message.seed); + } + return obj; + }, + + create, I>>( + base?: I, + ): GroupAddAdditionalRendezvousSeed { + return GroupAddAdditionalRendezvousSeed.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): GroupAddAdditionalRendezvousSeed { + const message = createBaseGroupAddAdditionalRendezvousSeed(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.seed = object.seed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupRemoveAdditionalRendezvousSeed(): GroupRemoveAdditionalRendezvousSeed { + return { devicePk: new Uint8Array(0), seed: new Uint8Array(0) }; +} + +export const GroupRemoveAdditionalRendezvousSeed = { + encode(message: GroupRemoveAdditionalRendezvousSeed, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.seed.length !== 0) { + writer.uint32(18).bytes(message.seed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupRemoveAdditionalRendezvousSeed { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupRemoveAdditionalRendezvousSeed(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.seed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupRemoveAdditionalRendezvousSeed { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + seed: isSet(object.seed) ? bytesFromBase64(object.seed) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupRemoveAdditionalRendezvousSeed): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.seed.length !== 0) { + obj.seed = base64FromBytes(message.seed); + } + return obj; + }, + + create, I>>( + base?: I, + ): GroupRemoveAdditionalRendezvousSeed { + return GroupRemoveAdditionalRendezvousSeed.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): GroupRemoveAdditionalRendezvousSeed { + const message = createBaseGroupRemoveAdditionalRendezvousSeed(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.seed = object.seed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountGroupJoined(): AccountGroupJoined { + return { devicePk: new Uint8Array(0), group: undefined }; +} + +export const AccountGroupJoined = { + encode(message: AccountGroupJoined, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountGroupJoined { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountGroupJoined(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountGroupJoined { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + group: isSet(object.group) ? Group.fromJSON(object.group) : undefined, + }; + }, + + toJSON(message: AccountGroupJoined): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + return obj; + }, + + create, I>>(base?: I): AccountGroupJoined { + return AccountGroupJoined.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountGroupJoined { + const message = createBaseAccountGroupJoined(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + return message; + }, +}; + +function createBaseAccountGroupLeft(): AccountGroupLeft { + return { devicePk: new Uint8Array(0), groupPk: new Uint8Array(0) }; +} + +export const AccountGroupLeft = { + encode(message: AccountGroupLeft, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.groupPk.length !== 0) { + writer.uint32(18).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountGroupLeft { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountGroupLeft(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountGroupLeft { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountGroupLeft): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): AccountGroupLeft { + return AccountGroupLeft.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountGroupLeft { + const message = createBaseAccountGroupLeft(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestDisabled(): AccountContactRequestDisabled { + return { devicePk: new Uint8Array(0) }; +} + +export const AccountContactRequestDisabled = { + encode(message: AccountContactRequestDisabled, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestDisabled { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestDisabled(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestDisabled { + return { devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0) }; + }, + + toJSON(message: AccountContactRequestDisabled): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + return obj; + }, + + create, I>>(base?: I): AccountContactRequestDisabled { + return AccountContactRequestDisabled.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestDisabled { + const message = createBaseAccountContactRequestDisabled(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestEnabled(): AccountContactRequestEnabled { + return { devicePk: new Uint8Array(0) }; +} + +export const AccountContactRequestEnabled = { + encode(message: AccountContactRequestEnabled, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestEnabled { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestEnabled(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestEnabled { + return { devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0) }; + }, + + toJSON(message: AccountContactRequestEnabled): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + return obj; + }, + + create, I>>(base?: I): AccountContactRequestEnabled { + return AccountContactRequestEnabled.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountContactRequestEnabled { + const message = createBaseAccountContactRequestEnabled(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestReferenceReset(): AccountContactRequestReferenceReset { + return { devicePk: new Uint8Array(0), publicRendezvousSeed: new Uint8Array(0) }; +} + +export const AccountContactRequestReferenceReset = { + encode(message: AccountContactRequestReferenceReset, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(18).bytes(message.publicRendezvousSeed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestReferenceReset { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestReferenceReset(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestReferenceReset { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestReferenceReset): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestReferenceReset { + return AccountContactRequestReferenceReset.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestReferenceReset { + const message = createBaseAccountContactRequestReferenceReset(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestOutgoingEnqueued(): AccountContactRequestOutgoingEnqueued { + return { + devicePk: new Uint8Array(0), + groupPk: new Uint8Array(0), + contact: undefined, + ownMetadata: new Uint8Array(0), + }; +} + +export const AccountContactRequestOutgoingEnqueued = { + encode(message: AccountContactRequestOutgoingEnqueued, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.groupPk.length !== 0) { + writer.uint32(18).bytes(message.groupPk); + } + if (message.contact !== undefined) { + ShareableContact.encode(message.contact, writer.uint32(26).fork()).ldelim(); + } + if (message.ownMetadata.length !== 0) { + writer.uint32(34).bytes(message.ownMetadata); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestOutgoingEnqueued { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestOutgoingEnqueued(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contact = ShareableContact.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.ownMetadata = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestOutgoingEnqueued { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + contact: isSet(object.contact) ? ShareableContact.fromJSON(object.contact) : undefined, + ownMetadata: isSet(object.ownMetadata) ? bytesFromBase64(object.ownMetadata) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestOutgoingEnqueued): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.contact !== undefined) { + obj.contact = ShareableContact.toJSON(message.contact); + } + if (message.ownMetadata.length !== 0) { + obj.ownMetadata = base64FromBytes(message.ownMetadata); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestOutgoingEnqueued { + return AccountContactRequestOutgoingEnqueued.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestOutgoingEnqueued { + const message = createBaseAccountContactRequestOutgoingEnqueued(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.contact = (object.contact !== undefined && object.contact !== null) + ? ShareableContact.fromPartial(object.contact) + : undefined; + message.ownMetadata = object.ownMetadata ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestOutgoingSent(): AccountContactRequestOutgoingSent { + return { devicePk: new Uint8Array(0), contactPk: new Uint8Array(0) }; +} + +export const AccountContactRequestOutgoingSent = { + encode(message: AccountContactRequestOutgoingSent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestOutgoingSent { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestOutgoingSent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestOutgoingSent { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestOutgoingSent): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestOutgoingSent { + return AccountContactRequestOutgoingSent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestOutgoingSent { + const message = createBaseAccountContactRequestOutgoingSent(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestIncomingReceived(): AccountContactRequestIncomingReceived { + return { + devicePk: new Uint8Array(0), + contactPk: new Uint8Array(0), + contactRendezvousSeed: new Uint8Array(0), + contactMetadata: new Uint8Array(0), + }; +} + +export const AccountContactRequestIncomingReceived = { + encode(message: AccountContactRequestIncomingReceived, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + if (message.contactRendezvousSeed.length !== 0) { + writer.uint32(26).bytes(message.contactRendezvousSeed); + } + if (message.contactMetadata.length !== 0) { + writer.uint32(34).bytes(message.contactMetadata); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestIncomingReceived { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestIncomingReceived(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contactRendezvousSeed = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.contactMetadata = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestIncomingReceived { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + contactRendezvousSeed: isSet(object.contactRendezvousSeed) + ? bytesFromBase64(object.contactRendezvousSeed) + : new Uint8Array(0), + contactMetadata: isSet(object.contactMetadata) ? bytesFromBase64(object.contactMetadata) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestIncomingReceived): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + if (message.contactRendezvousSeed.length !== 0) { + obj.contactRendezvousSeed = base64FromBytes(message.contactRendezvousSeed); + } + if (message.contactMetadata.length !== 0) { + obj.contactMetadata = base64FromBytes(message.contactMetadata); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestIncomingReceived { + return AccountContactRequestIncomingReceived.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestIncomingReceived { + const message = createBaseAccountContactRequestIncomingReceived(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + message.contactRendezvousSeed = object.contactRendezvousSeed ?? new Uint8Array(0); + message.contactMetadata = object.contactMetadata ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestIncomingDiscarded(): AccountContactRequestIncomingDiscarded { + return { devicePk: new Uint8Array(0), contactPk: new Uint8Array(0) }; +} + +export const AccountContactRequestIncomingDiscarded = { + encode(message: AccountContactRequestIncomingDiscarded, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestIncomingDiscarded { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestIncomingDiscarded(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestIncomingDiscarded { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestIncomingDiscarded): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestIncomingDiscarded { + return AccountContactRequestIncomingDiscarded.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestIncomingDiscarded { + const message = createBaseAccountContactRequestIncomingDiscarded(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactRequestIncomingAccepted(): AccountContactRequestIncomingAccepted { + return { devicePk: new Uint8Array(0), contactPk: new Uint8Array(0), groupPk: new Uint8Array(0) }; +} + +export const AccountContactRequestIncomingAccepted = { + encode(message: AccountContactRequestIncomingAccepted, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + if (message.groupPk.length !== 0) { + writer.uint32(26).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactRequestIncomingAccepted { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactRequestIncomingAccepted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactRequestIncomingAccepted { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactRequestIncomingAccepted): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountContactRequestIncomingAccepted { + return AccountContactRequestIncomingAccepted.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountContactRequestIncomingAccepted { + const message = createBaseAccountContactRequestIncomingAccepted(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactBlocked(): AccountContactBlocked { + return { devicePk: new Uint8Array(0), contactPk: new Uint8Array(0) }; +} + +export const AccountContactBlocked = { + encode(message: AccountContactBlocked, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactBlocked { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactBlocked(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactBlocked { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactBlocked): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): AccountContactBlocked { + return AccountContactBlocked.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountContactBlocked { + const message = createBaseAccountContactBlocked(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountContactUnblocked(): AccountContactUnblocked { + return { devicePk: new Uint8Array(0), contactPk: new Uint8Array(0) }; +} + +export const AccountContactUnblocked = { + encode(message: AccountContactUnblocked, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountContactUnblocked { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountContactUnblocked(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountContactUnblocked { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: AccountContactUnblocked): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): AccountContactUnblocked { + return AccountContactUnblocked.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountContactUnblocked { + const message = createBaseAccountContactUnblocked(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupReplicating(): GroupReplicating { + return { devicePk: new Uint8Array(0), authenticationUrl: "", replicationServer: "" }; +} + +export const GroupReplicating = { + encode(message: GroupReplicating, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.authenticationUrl !== "") { + writer.uint32(18).string(message.authenticationUrl); + } + if (message.replicationServer !== "") { + writer.uint32(26).string(message.replicationServer); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupReplicating { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupReplicating(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.authenticationUrl = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.replicationServer = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupReplicating { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + authenticationUrl: isSet(object.authenticationUrl) ? globalThis.String(object.authenticationUrl) : "", + replicationServer: isSet(object.replicationServer) ? globalThis.String(object.replicationServer) : "", + }; + }, + + toJSON(message: GroupReplicating): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.authenticationUrl !== "") { + obj.authenticationUrl = message.authenticationUrl; + } + if (message.replicationServer !== "") { + obj.replicationServer = message.replicationServer; + } + return obj; + }, + + create, I>>(base?: I): GroupReplicating { + return GroupReplicating.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupReplicating { + const message = createBaseGroupReplicating(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.authenticationUrl = object.authenticationUrl ?? ""; + message.replicationServer = object.replicationServer ?? ""; + return message; + }, +}; + +function createBaseServiceExportData(): ServiceExportData { + return {}; +} + +export const ServiceExportData = { + encode(_: ServiceExportData, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceExportData { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceExportData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ServiceExportData { + return {}; + }, + + toJSON(_: ServiceExportData): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ServiceExportData { + return ServiceExportData.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ServiceExportData { + const message = createBaseServiceExportData(); + return message; + }, +}; + +function createBaseServiceExportData_Request(): ServiceExportData_Request { + return {}; +} + +export const ServiceExportData_Request = { + encode(_: ServiceExportData_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceExportData_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceExportData_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ServiceExportData_Request { + return {}; + }, + + toJSON(_: ServiceExportData_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ServiceExportData_Request { + return ServiceExportData_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ServiceExportData_Request { + const message = createBaseServiceExportData_Request(); + return message; + }, +}; + +function createBaseServiceExportData_Reply(): ServiceExportData_Reply { + return { exportedData: new Uint8Array(0) }; +} + +export const ServiceExportData_Reply = { + encode(message: ServiceExportData_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.exportedData.length !== 0) { + writer.uint32(10).bytes(message.exportedData); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceExportData_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceExportData_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exportedData = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceExportData_Reply { + return { exportedData: isSet(object.exportedData) ? bytesFromBase64(object.exportedData) : new Uint8Array(0) }; + }, + + toJSON(message: ServiceExportData_Reply): unknown { + const obj: any = {}; + if (message.exportedData.length !== 0) { + obj.exportedData = base64FromBytes(message.exportedData); + } + return obj; + }, + + create, I>>(base?: I): ServiceExportData_Reply { + return ServiceExportData_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceExportData_Reply { + const message = createBaseServiceExportData_Reply(); + message.exportedData = object.exportedData ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseServiceGetConfiguration(): ServiceGetConfiguration { + return {}; +} + +export const ServiceGetConfiguration = { + encode(_: ServiceGetConfiguration, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceGetConfiguration { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceGetConfiguration(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ServiceGetConfiguration { + return {}; + }, + + toJSON(_: ServiceGetConfiguration): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ServiceGetConfiguration { + return ServiceGetConfiguration.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ServiceGetConfiguration { + const message = createBaseServiceGetConfiguration(); + return message; + }, +}; + +function createBaseServiceGetConfiguration_Request(): ServiceGetConfiguration_Request { + return {}; +} + +export const ServiceGetConfiguration_Request = { + encode(_: ServiceGetConfiguration_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceGetConfiguration_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceGetConfiguration_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ServiceGetConfiguration_Request { + return {}; + }, + + toJSON(_: ServiceGetConfiguration_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ServiceGetConfiguration_Request { + return ServiceGetConfiguration_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ServiceGetConfiguration_Request { + const message = createBaseServiceGetConfiguration_Request(); + return message; + }, +}; + +function createBaseServiceGetConfiguration_Reply(): ServiceGetConfiguration_Reply { + return { + accountPk: new Uint8Array(0), + devicePk: new Uint8Array(0), + accountGroupPk: new Uint8Array(0), + peerId: "", + listeners: [], + bleEnabled: 0, + wifiP2pEnabled: 0, + mdnsEnabled: 0, + relayEnabled: 0, + }; +} + +export const ServiceGetConfiguration_Reply = { + encode(message: ServiceGetConfiguration_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.accountPk.length !== 0) { + writer.uint32(10).bytes(message.accountPk); + } + if (message.devicePk.length !== 0) { + writer.uint32(18).bytes(message.devicePk); + } + if (message.accountGroupPk.length !== 0) { + writer.uint32(26).bytes(message.accountGroupPk); + } + if (message.peerId !== "") { + writer.uint32(34).string(message.peerId); + } + for (const v of message.listeners) { + writer.uint32(42).string(v!); + } + if (message.bleEnabled !== 0) { + writer.uint32(48).int32(message.bleEnabled); + } + if (message.wifiP2pEnabled !== 0) { + writer.uint32(56).int32(message.wifiP2pEnabled); + } + if (message.mdnsEnabled !== 0) { + writer.uint32(64).int32(message.mdnsEnabled); + } + if (message.relayEnabled !== 0) { + writer.uint32(72).int32(message.relayEnabled); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceGetConfiguration_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceGetConfiguration_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.accountPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.accountGroupPk = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.peerId = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.listeners.push(reader.string()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.bleEnabled = reader.int32() as any; + continue; + case 7: + if (tag !== 56) { + break; + } + + message.wifiP2pEnabled = reader.int32() as any; + continue; + case 8: + if (tag !== 64) { + break; + } + + message.mdnsEnabled = reader.int32() as any; + continue; + case 9: + if (tag !== 72) { + break; + } + + message.relayEnabled = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceGetConfiguration_Reply { + return { + accountPk: isSet(object.accountPk) ? bytesFromBase64(object.accountPk) : new Uint8Array(0), + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + accountGroupPk: isSet(object.accountGroupPk) ? bytesFromBase64(object.accountGroupPk) : new Uint8Array(0), + peerId: isSet(object.peerId) ? globalThis.String(object.peerId) : "", + listeners: globalThis.Array.isArray(object?.listeners) + ? object.listeners.map((e: any) => globalThis.String(e)) + : [], + bleEnabled: isSet(object.bleEnabled) ? serviceGetConfiguration_SettingStateFromJSON(object.bleEnabled) : 0, + wifiP2pEnabled: isSet(object.wifiP2pEnabled) + ? serviceGetConfiguration_SettingStateFromJSON(object.wifiP2pEnabled) + : 0, + mdnsEnabled: isSet(object.mdnsEnabled) ? serviceGetConfiguration_SettingStateFromJSON(object.mdnsEnabled) : 0, + relayEnabled: isSet(object.relayEnabled) ? serviceGetConfiguration_SettingStateFromJSON(object.relayEnabled) : 0, + }; + }, + + toJSON(message: ServiceGetConfiguration_Reply): unknown { + const obj: any = {}; + if (message.accountPk.length !== 0) { + obj.accountPk = base64FromBytes(message.accountPk); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.accountGroupPk.length !== 0) { + obj.accountGroupPk = base64FromBytes(message.accountGroupPk); + } + if (message.peerId !== "") { + obj.peerId = message.peerId; + } + if (message.listeners?.length) { + obj.listeners = message.listeners; + } + if (message.bleEnabled !== 0) { + obj.bleEnabled = serviceGetConfiguration_SettingStateToJSON(message.bleEnabled); + } + if (message.wifiP2pEnabled !== 0) { + obj.wifiP2pEnabled = serviceGetConfiguration_SettingStateToJSON(message.wifiP2pEnabled); + } + if (message.mdnsEnabled !== 0) { + obj.mdnsEnabled = serviceGetConfiguration_SettingStateToJSON(message.mdnsEnabled); + } + if (message.relayEnabled !== 0) { + obj.relayEnabled = serviceGetConfiguration_SettingStateToJSON(message.relayEnabled); + } + return obj; + }, + + create, I>>(base?: I): ServiceGetConfiguration_Reply { + return ServiceGetConfiguration_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ServiceGetConfiguration_Reply { + const message = createBaseServiceGetConfiguration_Reply(); + message.accountPk = object.accountPk ?? new Uint8Array(0); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.accountGroupPk = object.accountGroupPk ?? new Uint8Array(0); + message.peerId = object.peerId ?? ""; + message.listeners = object.listeners?.map((e) => e) || []; + message.bleEnabled = object.bleEnabled ?? 0; + message.wifiP2pEnabled = object.wifiP2pEnabled ?? 0; + message.mdnsEnabled = object.mdnsEnabled ?? 0; + message.relayEnabled = object.relayEnabled ?? 0; + return message; + }, +}; + +function createBaseContactRequestReference(): ContactRequestReference { + return {}; +} + +export const ContactRequestReference = { + encode(_: ContactRequestReference, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestReference { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestReference(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestReference { + return {}; + }, + + toJSON(_: ContactRequestReference): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestReference { + return ContactRequestReference.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestReference { + const message = createBaseContactRequestReference(); + return message; + }, +}; + +function createBaseContactRequestReference_Request(): ContactRequestReference_Request { + return {}; +} + +export const ContactRequestReference_Request = { + encode(_: ContactRequestReference_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestReference_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestReference_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestReference_Request { + return {}; + }, + + toJSON(_: ContactRequestReference_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestReference_Request { + return ContactRequestReference_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestReference_Request { + const message = createBaseContactRequestReference_Request(); + return message; + }, +}; + +function createBaseContactRequestReference_Reply(): ContactRequestReference_Reply { + return { publicRendezvousSeed: new Uint8Array(0), enabled: false }; +} + +export const ContactRequestReference_Reply = { + encode(message: ContactRequestReference_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(10).bytes(message.publicRendezvousSeed); + } + if (message.enabled === true) { + writer.uint32(16).bool(message.enabled); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestReference_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestReference_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.enabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestReference_Reply { + return { + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + enabled: isSet(object.enabled) ? globalThis.Boolean(object.enabled) : false, + }; + }, + + toJSON(message: ContactRequestReference_Reply): unknown { + const obj: any = {}; + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + if (message.enabled === true) { + obj.enabled = message.enabled; + } + return obj; + }, + + create, I>>(base?: I): ContactRequestReference_Reply { + return ContactRequestReference_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ContactRequestReference_Reply { + const message = createBaseContactRequestReference_Reply(); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + message.enabled = object.enabled ?? false; + return message; + }, +}; + +function createBaseContactRequestDisable(): ContactRequestDisable { + return {}; +} + +export const ContactRequestDisable = { + encode(_: ContactRequestDisable, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDisable { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDisable(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestDisable { + return {}; + }, + + toJSON(_: ContactRequestDisable): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestDisable { + return ContactRequestDisable.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestDisable { + const message = createBaseContactRequestDisable(); + return message; + }, +}; + +function createBaseContactRequestDisable_Request(): ContactRequestDisable_Request { + return {}; +} + +export const ContactRequestDisable_Request = { + encode(_: ContactRequestDisable_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDisable_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDisable_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestDisable_Request { + return {}; + }, + + toJSON(_: ContactRequestDisable_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestDisable_Request { + return ContactRequestDisable_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestDisable_Request { + const message = createBaseContactRequestDisable_Request(); + return message; + }, +}; + +function createBaseContactRequestDisable_Reply(): ContactRequestDisable_Reply { + return {}; +} + +export const ContactRequestDisable_Reply = { + encode(_: ContactRequestDisable_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDisable_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDisable_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestDisable_Reply { + return {}; + }, + + toJSON(_: ContactRequestDisable_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestDisable_Reply { + return ContactRequestDisable_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestDisable_Reply { + const message = createBaseContactRequestDisable_Reply(); + return message; + }, +}; + +function createBaseContactRequestEnable(): ContactRequestEnable { + return {}; +} + +export const ContactRequestEnable = { + encode(_: ContactRequestEnable, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestEnable { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestEnable(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestEnable { + return {}; + }, + + toJSON(_: ContactRequestEnable): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestEnable { + return ContactRequestEnable.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestEnable { + const message = createBaseContactRequestEnable(); + return message; + }, +}; + +function createBaseContactRequestEnable_Request(): ContactRequestEnable_Request { + return {}; +} + +export const ContactRequestEnable_Request = { + encode(_: ContactRequestEnable_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestEnable_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestEnable_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestEnable_Request { + return {}; + }, + + toJSON(_: ContactRequestEnable_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestEnable_Request { + return ContactRequestEnable_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestEnable_Request { + const message = createBaseContactRequestEnable_Request(); + return message; + }, +}; + +function createBaseContactRequestEnable_Reply(): ContactRequestEnable_Reply { + return { publicRendezvousSeed: new Uint8Array(0) }; +} + +export const ContactRequestEnable_Reply = { + encode(message: ContactRequestEnable_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(10).bytes(message.publicRendezvousSeed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestEnable_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestEnable_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestEnable_Reply { + return { + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + }; + }, + + toJSON(message: ContactRequestEnable_Reply): unknown { + const obj: any = {}; + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + return obj; + }, + + create, I>>(base?: I): ContactRequestEnable_Reply { + return ContactRequestEnable_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactRequestEnable_Reply { + const message = createBaseContactRequestEnable_Reply(); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactRequestResetReference(): ContactRequestResetReference { + return {}; +} + +export const ContactRequestResetReference = { + encode(_: ContactRequestResetReference, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestResetReference { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestResetReference(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestResetReference { + return {}; + }, + + toJSON(_: ContactRequestResetReference): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestResetReference { + return ContactRequestResetReference.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestResetReference { + const message = createBaseContactRequestResetReference(); + return message; + }, +}; + +function createBaseContactRequestResetReference_Request(): ContactRequestResetReference_Request { + return {}; +} + +export const ContactRequestResetReference_Request = { + encode(_: ContactRequestResetReference_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestResetReference_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestResetReference_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestResetReference_Request { + return {}; + }, + + toJSON(_: ContactRequestResetReference_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): ContactRequestResetReference_Request { + return ContactRequestResetReference_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): ContactRequestResetReference_Request { + const message = createBaseContactRequestResetReference_Request(); + return message; + }, +}; + +function createBaseContactRequestResetReference_Reply(): ContactRequestResetReference_Reply { + return { publicRendezvousSeed: new Uint8Array(0) }; +} + +export const ContactRequestResetReference_Reply = { + encode(message: ContactRequestResetReference_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(10).bytes(message.publicRendezvousSeed); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestResetReference_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestResetReference_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestResetReference_Reply { + return { + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + }; + }, + + toJSON(message: ContactRequestResetReference_Reply): unknown { + const obj: any = {}; + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + return obj; + }, + + create, I>>( + base?: I, + ): ContactRequestResetReference_Reply { + return ContactRequestResetReference_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ContactRequestResetReference_Reply { + const message = createBaseContactRequestResetReference_Reply(); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactRequestSend(): ContactRequestSend { + return {}; +} + +export const ContactRequestSend = { + encode(_: ContactRequestSend, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestSend { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestSend { + return {}; + }, + + toJSON(_: ContactRequestSend): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestSend { + return ContactRequestSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestSend { + const message = createBaseContactRequestSend(); + return message; + }, +}; + +function createBaseContactRequestSend_Request(): ContactRequestSend_Request { + return { contact: undefined, ownMetadata: new Uint8Array(0) }; +} + +export const ContactRequestSend_Request = { + encode(message: ContactRequestSend_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contact !== undefined) { + ShareableContact.encode(message.contact, writer.uint32(10).fork()).ldelim(); + } + if (message.ownMetadata.length !== 0) { + writer.uint32(18).bytes(message.ownMetadata); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestSend_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestSend_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contact = ShareableContact.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.ownMetadata = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestSend_Request { + return { + contact: isSet(object.contact) ? ShareableContact.fromJSON(object.contact) : undefined, + ownMetadata: isSet(object.ownMetadata) ? bytesFromBase64(object.ownMetadata) : new Uint8Array(0), + }; + }, + + toJSON(message: ContactRequestSend_Request): unknown { + const obj: any = {}; + if (message.contact !== undefined) { + obj.contact = ShareableContact.toJSON(message.contact); + } + if (message.ownMetadata.length !== 0) { + obj.ownMetadata = base64FromBytes(message.ownMetadata); + } + return obj; + }, + + create, I>>(base?: I): ContactRequestSend_Request { + return ContactRequestSend_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactRequestSend_Request { + const message = createBaseContactRequestSend_Request(); + message.contact = (object.contact !== undefined && object.contact !== null) + ? ShareableContact.fromPartial(object.contact) + : undefined; + message.ownMetadata = object.ownMetadata ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactRequestSend_Reply(): ContactRequestSend_Reply { + return {}; +} + +export const ContactRequestSend_Reply = { + encode(_: ContactRequestSend_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestSend_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestSend_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestSend_Reply { + return {}; + }, + + toJSON(_: ContactRequestSend_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestSend_Reply { + return ContactRequestSend_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestSend_Reply { + const message = createBaseContactRequestSend_Reply(); + return message; + }, +}; + +function createBaseContactRequestAccept(): ContactRequestAccept { + return {}; +} + +export const ContactRequestAccept = { + encode(_: ContactRequestAccept, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestAccept { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestAccept(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestAccept { + return {}; + }, + + toJSON(_: ContactRequestAccept): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestAccept { + return ContactRequestAccept.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestAccept { + const message = createBaseContactRequestAccept(); + return message; + }, +}; + +function createBaseContactRequestAccept_Request(): ContactRequestAccept_Request { + return { contactPk: new Uint8Array(0) }; +} + +export const ContactRequestAccept_Request = { + encode(message: ContactRequestAccept_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contactPk.length !== 0) { + writer.uint32(10).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestAccept_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestAccept_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestAccept_Request { + return { contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0) }; + }, + + toJSON(message: ContactRequestAccept_Request): unknown { + const obj: any = {}; + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): ContactRequestAccept_Request { + return ContactRequestAccept_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactRequestAccept_Request { + const message = createBaseContactRequestAccept_Request(); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactRequestAccept_Reply(): ContactRequestAccept_Reply { + return {}; +} + +export const ContactRequestAccept_Reply = { + encode(_: ContactRequestAccept_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestAccept_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestAccept_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestAccept_Reply { + return {}; + }, + + toJSON(_: ContactRequestAccept_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestAccept_Reply { + return ContactRequestAccept_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestAccept_Reply { + const message = createBaseContactRequestAccept_Reply(); + return message; + }, +}; + +function createBaseContactRequestDiscard(): ContactRequestDiscard { + return {}; +} + +export const ContactRequestDiscard = { + encode(_: ContactRequestDiscard, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDiscard { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDiscard(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestDiscard { + return {}; + }, + + toJSON(_: ContactRequestDiscard): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestDiscard { + return ContactRequestDiscard.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestDiscard { + const message = createBaseContactRequestDiscard(); + return message; + }, +}; + +function createBaseContactRequestDiscard_Request(): ContactRequestDiscard_Request { + return { contactPk: new Uint8Array(0) }; +} + +export const ContactRequestDiscard_Request = { + encode(message: ContactRequestDiscard_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contactPk.length !== 0) { + writer.uint32(10).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDiscard_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDiscard_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactRequestDiscard_Request { + return { contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0) }; + }, + + toJSON(message: ContactRequestDiscard_Request): unknown { + const obj: any = {}; + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): ContactRequestDiscard_Request { + return ContactRequestDiscard_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ContactRequestDiscard_Request { + const message = createBaseContactRequestDiscard_Request(); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactRequestDiscard_Reply(): ContactRequestDiscard_Reply { + return {}; +} + +export const ContactRequestDiscard_Reply = { + encode(_: ContactRequestDiscard_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactRequestDiscard_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactRequestDiscard_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactRequestDiscard_Reply { + return {}; + }, + + toJSON(_: ContactRequestDiscard_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactRequestDiscard_Reply { + return ContactRequestDiscard_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactRequestDiscard_Reply { + const message = createBaseContactRequestDiscard_Reply(); + return message; + }, +}; + +function createBaseShareContact(): ShareContact { + return {}; +} + +export const ShareContact = { + encode(_: ShareContact, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ShareContact { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseShareContact(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ShareContact { + return {}; + }, + + toJSON(_: ShareContact): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ShareContact { + return ShareContact.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ShareContact { + const message = createBaseShareContact(); + return message; + }, +}; + +function createBaseShareContact_Request(): ShareContact_Request { + return {}; +} + +export const ShareContact_Request = { + encode(_: ShareContact_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ShareContact_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseShareContact_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ShareContact_Request { + return {}; + }, + + toJSON(_: ShareContact_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ShareContact_Request { + return ShareContact_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ShareContact_Request { + const message = createBaseShareContact_Request(); + return message; + }, +}; + +function createBaseShareContact_Reply(): ShareContact_Reply { + return { encodedContact: new Uint8Array(0) }; +} + +export const ShareContact_Reply = { + encode(message: ShareContact_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.encodedContact.length !== 0) { + writer.uint32(10).bytes(message.encodedContact); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ShareContact_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseShareContact_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.encodedContact = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ShareContact_Reply { + return { + encodedContact: isSet(object.encodedContact) ? bytesFromBase64(object.encodedContact) : new Uint8Array(0), + }; + }, + + toJSON(message: ShareContact_Reply): unknown { + const obj: any = {}; + if (message.encodedContact.length !== 0) { + obj.encodedContact = base64FromBytes(message.encodedContact); + } + return obj; + }, + + create, I>>(base?: I): ShareContact_Reply { + return ShareContact_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ShareContact_Reply { + const message = createBaseShareContact_Reply(); + message.encodedContact = object.encodedContact ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDecodeContact(): DecodeContact { + return {}; +} + +export const DecodeContact = { + encode(_: DecodeContact, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DecodeContact { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecodeContact(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DecodeContact { + return {}; + }, + + toJSON(_: DecodeContact): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DecodeContact { + return DecodeContact.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DecodeContact { + const message = createBaseDecodeContact(); + return message; + }, +}; + +function createBaseDecodeContact_Request(): DecodeContact_Request { + return { encodedContact: new Uint8Array(0) }; +} + +export const DecodeContact_Request = { + encode(message: DecodeContact_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.encodedContact.length !== 0) { + writer.uint32(10).bytes(message.encodedContact); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DecodeContact_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecodeContact_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.encodedContact = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DecodeContact_Request { + return { + encodedContact: isSet(object.encodedContact) ? bytesFromBase64(object.encodedContact) : new Uint8Array(0), + }; + }, + + toJSON(message: DecodeContact_Request): unknown { + const obj: any = {}; + if (message.encodedContact.length !== 0) { + obj.encodedContact = base64FromBytes(message.encodedContact); + } + return obj; + }, + + create, I>>(base?: I): DecodeContact_Request { + return DecodeContact_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DecodeContact_Request { + const message = createBaseDecodeContact_Request(); + message.encodedContact = object.encodedContact ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDecodeContact_Reply(): DecodeContact_Reply { + return { contact: undefined }; +} + +export const DecodeContact_Reply = { + encode(message: DecodeContact_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contact !== undefined) { + ShareableContact.encode(message.contact, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DecodeContact_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecodeContact_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contact = ShareableContact.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DecodeContact_Reply { + return { contact: isSet(object.contact) ? ShareableContact.fromJSON(object.contact) : undefined }; + }, + + toJSON(message: DecodeContact_Reply): unknown { + const obj: any = {}; + if (message.contact !== undefined) { + obj.contact = ShareableContact.toJSON(message.contact); + } + return obj; + }, + + create, I>>(base?: I): DecodeContact_Reply { + return DecodeContact_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DecodeContact_Reply { + const message = createBaseDecodeContact_Reply(); + message.contact = (object.contact !== undefined && object.contact !== null) + ? ShareableContact.fromPartial(object.contact) + : undefined; + return message; + }, +}; + +function createBaseContactBlock(): ContactBlock { + return {}; +} + +export const ContactBlock = { + encode(_: ContactBlock, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactBlock { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactBlock { + return {}; + }, + + toJSON(_: ContactBlock): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactBlock { + return ContactBlock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactBlock { + const message = createBaseContactBlock(); + return message; + }, +}; + +function createBaseContactBlock_Request(): ContactBlock_Request { + return { contactPk: new Uint8Array(0) }; +} + +export const ContactBlock_Request = { + encode(message: ContactBlock_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contactPk.length !== 0) { + writer.uint32(10).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactBlock_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactBlock_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactBlock_Request { + return { contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0) }; + }, + + toJSON(message: ContactBlock_Request): unknown { + const obj: any = {}; + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): ContactBlock_Request { + return ContactBlock_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactBlock_Request { + const message = createBaseContactBlock_Request(); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactBlock_Reply(): ContactBlock_Reply { + return {}; +} + +export const ContactBlock_Reply = { + encode(_: ContactBlock_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactBlock_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactBlock_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactBlock_Reply { + return {}; + }, + + toJSON(_: ContactBlock_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactBlock_Reply { + return ContactBlock_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactBlock_Reply { + const message = createBaseContactBlock_Reply(); + return message; + }, +}; + +function createBaseContactUnblock(): ContactUnblock { + return {}; +} + +export const ContactUnblock = { + encode(_: ContactUnblock, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactUnblock { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactUnblock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactUnblock { + return {}; + }, + + toJSON(_: ContactUnblock): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactUnblock { + return ContactUnblock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactUnblock { + const message = createBaseContactUnblock(); + return message; + }, +}; + +function createBaseContactUnblock_Request(): ContactUnblock_Request { + return { contactPk: new Uint8Array(0) }; +} + +export const ContactUnblock_Request = { + encode(message: ContactUnblock_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contactPk.length !== 0) { + writer.uint32(10).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactUnblock_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactUnblock_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactUnblock_Request { + return { contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0) }; + }, + + toJSON(message: ContactUnblock_Request): unknown { + const obj: any = {}; + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): ContactUnblock_Request { + return ContactUnblock_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactUnblock_Request { + const message = createBaseContactUnblock_Request(); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactUnblock_Reply(): ContactUnblock_Reply { + return {}; +} + +export const ContactUnblock_Reply = { + encode(_: ContactUnblock_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactUnblock_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactUnblock_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactUnblock_Reply { + return {}; + }, + + toJSON(_: ContactUnblock_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactUnblock_Reply { + return ContactUnblock_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactUnblock_Reply { + const message = createBaseContactUnblock_Reply(); + return message; + }, +}; + +function createBaseContactAliasKeySend(): ContactAliasKeySend { + return {}; +} + +export const ContactAliasKeySend = { + encode(_: ContactAliasKeySend, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactAliasKeySend { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactAliasKeySend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactAliasKeySend { + return {}; + }, + + toJSON(_: ContactAliasKeySend): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactAliasKeySend { + return ContactAliasKeySend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactAliasKeySend { + const message = createBaseContactAliasKeySend(); + return message; + }, +}; + +function createBaseContactAliasKeySend_Request(): ContactAliasKeySend_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const ContactAliasKeySend_Request = { + encode(message: ContactAliasKeySend_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactAliasKeySend_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactAliasKeySend_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContactAliasKeySend_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: ContactAliasKeySend_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): ContactAliasKeySend_Request { + return ContactAliasKeySend_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContactAliasKeySend_Request { + const message = createBaseContactAliasKeySend_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseContactAliasKeySend_Reply(): ContactAliasKeySend_Reply { + return {}; +} + +export const ContactAliasKeySend_Reply = { + encode(_: ContactAliasKeySend_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContactAliasKeySend_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContactAliasKeySend_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ContactAliasKeySend_Reply { + return {}; + }, + + toJSON(_: ContactAliasKeySend_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ContactAliasKeySend_Reply { + return ContactAliasKeySend_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ContactAliasKeySend_Reply { + const message = createBaseContactAliasKeySend_Reply(); + return message; + }, +}; + +function createBaseMultiMemberGroupCreate(): MultiMemberGroupCreate { + return {}; +} + +export const MultiMemberGroupCreate = { + encode(_: MultiMemberGroupCreate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupCreate { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupCreate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupCreate { + return {}; + }, + + toJSON(_: MultiMemberGroupCreate): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupCreate { + return MultiMemberGroupCreate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupCreate { + const message = createBaseMultiMemberGroupCreate(); + return message; + }, +}; + +function createBaseMultiMemberGroupCreate_Request(): MultiMemberGroupCreate_Request { + return {}; +} + +export const MultiMemberGroupCreate_Request = { + encode(_: MultiMemberGroupCreate_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupCreate_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupCreate_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupCreate_Request { + return {}; + }, + + toJSON(_: MultiMemberGroupCreate_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupCreate_Request { + return MultiMemberGroupCreate_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupCreate_Request { + const message = createBaseMultiMemberGroupCreate_Request(); + return message; + }, +}; + +function createBaseMultiMemberGroupCreate_Reply(): MultiMemberGroupCreate_Reply { + return { groupPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupCreate_Reply = { + encode(message: MultiMemberGroupCreate_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupCreate_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupCreate_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupCreate_Reply { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: MultiMemberGroupCreate_Reply): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupCreate_Reply { + return MultiMemberGroupCreate_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MultiMemberGroupCreate_Reply { + const message = createBaseMultiMemberGroupCreate_Reply(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupJoin(): MultiMemberGroupJoin { + return {}; +} + +export const MultiMemberGroupJoin = { + encode(_: MultiMemberGroupJoin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupJoin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupJoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupJoin { + return {}; + }, + + toJSON(_: MultiMemberGroupJoin): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupJoin { + return MultiMemberGroupJoin.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupJoin { + const message = createBaseMultiMemberGroupJoin(); + return message; + }, +}; + +function createBaseMultiMemberGroupJoin_Request(): MultiMemberGroupJoin_Request { + return { group: undefined }; +} + +export const MultiMemberGroupJoin_Request = { + encode(message: MultiMemberGroupJoin_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupJoin_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupJoin_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupJoin_Request { + return { group: isSet(object.group) ? Group.fromJSON(object.group) : undefined }; + }, + + toJSON(message: MultiMemberGroupJoin_Request): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupJoin_Request { + return MultiMemberGroupJoin_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MultiMemberGroupJoin_Request { + const message = createBaseMultiMemberGroupJoin_Request(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + return message; + }, +}; + +function createBaseMultiMemberGroupJoin_Reply(): MultiMemberGroupJoin_Reply { + return {}; +} + +export const MultiMemberGroupJoin_Reply = { + encode(_: MultiMemberGroupJoin_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupJoin_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupJoin_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupJoin_Reply { + return {}; + }, + + toJSON(_: MultiMemberGroupJoin_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupJoin_Reply { + return MultiMemberGroupJoin_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupJoin_Reply { + const message = createBaseMultiMemberGroupJoin_Reply(); + return message; + }, +}; + +function createBaseMultiMemberGroupLeave(): MultiMemberGroupLeave { + return {}; +} + +export const MultiMemberGroupLeave = { + encode(_: MultiMemberGroupLeave, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupLeave { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupLeave(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupLeave { + return {}; + }, + + toJSON(_: MultiMemberGroupLeave): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupLeave { + return MultiMemberGroupLeave.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupLeave { + const message = createBaseMultiMemberGroupLeave(); + return message; + }, +}; + +function createBaseMultiMemberGroupLeave_Request(): MultiMemberGroupLeave_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupLeave_Request = { + encode(message: MultiMemberGroupLeave_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupLeave_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupLeave_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupLeave_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: MultiMemberGroupLeave_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupLeave_Request { + return MultiMemberGroupLeave_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupLeave_Request { + const message = createBaseMultiMemberGroupLeave_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupLeave_Reply(): MultiMemberGroupLeave_Reply { + return {}; +} + +export const MultiMemberGroupLeave_Reply = { + encode(_: MultiMemberGroupLeave_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupLeave_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupLeave_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupLeave_Reply { + return {}; + }, + + toJSON(_: MultiMemberGroupLeave_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupLeave_Reply { + return MultiMemberGroupLeave_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupLeave_Reply { + const message = createBaseMultiMemberGroupLeave_Reply(); + return message; + }, +}; + +function createBaseMultiMemberGroupAliasResolverDisclose(): MultiMemberGroupAliasResolverDisclose { + return {}; +} + +export const MultiMemberGroupAliasResolverDisclose = { + encode(_: MultiMemberGroupAliasResolverDisclose, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAliasResolverDisclose { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAliasResolverDisclose(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupAliasResolverDisclose { + return {}; + }, + + toJSON(_: MultiMemberGroupAliasResolverDisclose): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAliasResolverDisclose { + return MultiMemberGroupAliasResolverDisclose.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): MultiMemberGroupAliasResolverDisclose { + const message = createBaseMultiMemberGroupAliasResolverDisclose(); + return message; + }, +}; + +function createBaseMultiMemberGroupAliasResolverDisclose_Request(): MultiMemberGroupAliasResolverDisclose_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupAliasResolverDisclose_Request = { + encode(message: MultiMemberGroupAliasResolverDisclose_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAliasResolverDisclose_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAliasResolverDisclose_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupAliasResolverDisclose_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: MultiMemberGroupAliasResolverDisclose_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAliasResolverDisclose_Request { + return MultiMemberGroupAliasResolverDisclose_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupAliasResolverDisclose_Request { + const message = createBaseMultiMemberGroupAliasResolverDisclose_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupAliasResolverDisclose_Reply(): MultiMemberGroupAliasResolverDisclose_Reply { + return {}; +} + +export const MultiMemberGroupAliasResolverDisclose_Reply = { + encode(_: MultiMemberGroupAliasResolverDisclose_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAliasResolverDisclose_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAliasResolverDisclose_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupAliasResolverDisclose_Reply { + return {}; + }, + + toJSON(_: MultiMemberGroupAliasResolverDisclose_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAliasResolverDisclose_Reply { + return MultiMemberGroupAliasResolverDisclose_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): MultiMemberGroupAliasResolverDisclose_Reply { + const message = createBaseMultiMemberGroupAliasResolverDisclose_Reply(); + return message; + }, +}; + +function createBaseMultiMemberGroupAdminRoleGrant(): MultiMemberGroupAdminRoleGrant { + return {}; +} + +export const MultiMemberGroupAdminRoleGrant = { + encode(_: MultiMemberGroupAdminRoleGrant, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAdminRoleGrant { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAdminRoleGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupAdminRoleGrant { + return {}; + }, + + toJSON(_: MultiMemberGroupAdminRoleGrant): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MultiMemberGroupAdminRoleGrant { + return MultiMemberGroupAdminRoleGrant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MultiMemberGroupAdminRoleGrant { + const message = createBaseMultiMemberGroupAdminRoleGrant(); + return message; + }, +}; + +function createBaseMultiMemberGroupAdminRoleGrant_Request(): MultiMemberGroupAdminRoleGrant_Request { + return { groupPk: new Uint8Array(0), memberPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupAdminRoleGrant_Request = { + encode(message: MultiMemberGroupAdminRoleGrant_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.memberPk.length !== 0) { + writer.uint32(18).bytes(message.memberPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAdminRoleGrant_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAdminRoleGrant_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.memberPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupAdminRoleGrant_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + memberPk: isSet(object.memberPk) ? bytesFromBase64(object.memberPk) : new Uint8Array(0), + }; + }, + + toJSON(message: MultiMemberGroupAdminRoleGrant_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.memberPk.length !== 0) { + obj.memberPk = base64FromBytes(message.memberPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAdminRoleGrant_Request { + return MultiMemberGroupAdminRoleGrant_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupAdminRoleGrant_Request { + const message = createBaseMultiMemberGroupAdminRoleGrant_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.memberPk = object.memberPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupAdminRoleGrant_Reply(): MultiMemberGroupAdminRoleGrant_Reply { + return {}; +} + +export const MultiMemberGroupAdminRoleGrant_Reply = { + encode(_: MultiMemberGroupAdminRoleGrant_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupAdminRoleGrant_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupAdminRoleGrant_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupAdminRoleGrant_Reply { + return {}; + }, + + toJSON(_: MultiMemberGroupAdminRoleGrant_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupAdminRoleGrant_Reply { + return MultiMemberGroupAdminRoleGrant_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): MultiMemberGroupAdminRoleGrant_Reply { + const message = createBaseMultiMemberGroupAdminRoleGrant_Reply(); + return message; + }, +}; + +function createBaseMultiMemberGroupInvitationCreate(): MultiMemberGroupInvitationCreate { + return {}; +} + +export const MultiMemberGroupInvitationCreate = { + encode(_: MultiMemberGroupInvitationCreate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupInvitationCreate { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupInvitationCreate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MultiMemberGroupInvitationCreate { + return {}; + }, + + toJSON(_: MultiMemberGroupInvitationCreate): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupInvitationCreate { + return MultiMemberGroupInvitationCreate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): MultiMemberGroupInvitationCreate { + const message = createBaseMultiMemberGroupInvitationCreate(); + return message; + }, +}; + +function createBaseMultiMemberGroupInvitationCreate_Request(): MultiMemberGroupInvitationCreate_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const MultiMemberGroupInvitationCreate_Request = { + encode(message: MultiMemberGroupInvitationCreate_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupInvitationCreate_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupInvitationCreate_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupInvitationCreate_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: MultiMemberGroupInvitationCreate_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupInvitationCreate_Request { + return MultiMemberGroupInvitationCreate_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupInvitationCreate_Request { + const message = createBaseMultiMemberGroupInvitationCreate_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiMemberGroupInvitationCreate_Reply(): MultiMemberGroupInvitationCreate_Reply { + return { group: undefined }; +} + +export const MultiMemberGroupInvitationCreate_Reply = { + encode(message: MultiMemberGroupInvitationCreate_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MultiMemberGroupInvitationCreate_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiMemberGroupInvitationCreate_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiMemberGroupInvitationCreate_Reply { + return { group: isSet(object.group) ? Group.fromJSON(object.group) : undefined }; + }, + + toJSON(message: MultiMemberGroupInvitationCreate_Reply): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + return obj; + }, + + create, I>>( + base?: I, + ): MultiMemberGroupInvitationCreate_Reply { + return MultiMemberGroupInvitationCreate_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MultiMemberGroupInvitationCreate_Reply { + const message = createBaseMultiMemberGroupInvitationCreate_Reply(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + return message; + }, +}; + +function createBaseAppMetadataSend(): AppMetadataSend { + return {}; +} + +export const AppMetadataSend = { + encode(_: AppMetadataSend, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMetadataSend { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMetadataSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): AppMetadataSend { + return {}; + }, + + toJSON(_: AppMetadataSend): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): AppMetadataSend { + return AppMetadataSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): AppMetadataSend { + const message = createBaseAppMetadataSend(); + return message; + }, +}; + +function createBaseAppMetadataSend_Request(): AppMetadataSend_Request { + return { groupPk: new Uint8Array(0), payload: new Uint8Array(0) }; +} + +export const AppMetadataSend_Request = { + encode(message: AppMetadataSend_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.payload.length !== 0) { + writer.uint32(18).bytes(message.payload); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMetadataSend_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMetadataSend_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AppMetadataSend_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0), + }; + }, + + toJSON(message: AppMetadataSend_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): AppMetadataSend_Request { + return AppMetadataSend_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AppMetadataSend_Request { + const message = createBaseAppMetadataSend_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAppMetadataSend_Reply(): AppMetadataSend_Reply { + return { cid: new Uint8Array(0) }; +} + +export const AppMetadataSend_Reply = { + encode(message: AppMetadataSend_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.cid.length !== 0) { + writer.uint32(10).bytes(message.cid); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMetadataSend_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMetadataSend_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cid = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AppMetadataSend_Reply { + return { cid: isSet(object.cid) ? bytesFromBase64(object.cid) : new Uint8Array(0) }; + }, + + toJSON(message: AppMetadataSend_Reply): unknown { + const obj: any = {}; + if (message.cid.length !== 0) { + obj.cid = base64FromBytes(message.cid); + } + return obj; + }, + + create, I>>(base?: I): AppMetadataSend_Reply { + return AppMetadataSend_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AppMetadataSend_Reply { + const message = createBaseAppMetadataSend_Reply(); + message.cid = object.cid ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAppMessageSend(): AppMessageSend { + return {}; +} + +export const AppMessageSend = { + encode(_: AppMessageSend, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMessageSend { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMessageSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): AppMessageSend { + return {}; + }, + + toJSON(_: AppMessageSend): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): AppMessageSend { + return AppMessageSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): AppMessageSend { + const message = createBaseAppMessageSend(); + return message; + }, +}; + +function createBaseAppMessageSend_Request(): AppMessageSend_Request { + return { groupPk: new Uint8Array(0), payload: new Uint8Array(0) }; +} + +export const AppMessageSend_Request = { + encode(message: AppMessageSend_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.payload.length !== 0) { + writer.uint32(18).bytes(message.payload); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMessageSend_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMessageSend_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AppMessageSend_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0), + }; + }, + + toJSON(message: AppMessageSend_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): AppMessageSend_Request { + return AppMessageSend_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AppMessageSend_Request { + const message = createBaseAppMessageSend_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAppMessageSend_Reply(): AppMessageSend_Reply { + return { cid: new Uint8Array(0) }; +} + +export const AppMessageSend_Reply = { + encode(message: AppMessageSend_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.cid.length !== 0) { + writer.uint32(10).bytes(message.cid); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AppMessageSend_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppMessageSend_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cid = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AppMessageSend_Reply { + return { cid: isSet(object.cid) ? bytesFromBase64(object.cid) : new Uint8Array(0) }; + }, + + toJSON(message: AppMessageSend_Reply): unknown { + const obj: any = {}; + if (message.cid.length !== 0) { + obj.cid = base64FromBytes(message.cid); + } + return obj; + }, + + create, I>>(base?: I): AppMessageSend_Reply { + return AppMessageSend_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AppMessageSend_Reply { + const message = createBaseAppMessageSend_Reply(); + message.cid = object.cid ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMetadataEvent(): GroupMetadataEvent { + return { eventContext: undefined, metadata: undefined, event: new Uint8Array(0) }; +} + +export const GroupMetadataEvent = { + encode(message: GroupMetadataEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.eventContext !== undefined) { + EventContext.encode(message.eventContext, writer.uint32(10).fork()).ldelim(); + } + if (message.metadata !== undefined) { + GroupMetadata.encode(message.metadata, writer.uint32(18).fork()).ldelim(); + } + if (message.event.length !== 0) { + writer.uint32(26).bytes(message.event); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMetadataEvent { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMetadataEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.eventContext = EventContext.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.metadata = GroupMetadata.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.event = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMetadataEvent { + return { + eventContext: isSet(object.eventContext) ? EventContext.fromJSON(object.eventContext) : undefined, + metadata: isSet(object.metadata) ? GroupMetadata.fromJSON(object.metadata) : undefined, + event: isSet(object.event) ? bytesFromBase64(object.event) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupMetadataEvent): unknown { + const obj: any = {}; + if (message.eventContext !== undefined) { + obj.eventContext = EventContext.toJSON(message.eventContext); + } + if (message.metadata !== undefined) { + obj.metadata = GroupMetadata.toJSON(message.metadata); + } + if (message.event.length !== 0) { + obj.event = base64FromBytes(message.event); + } + return obj; + }, + + create, I>>(base?: I): GroupMetadataEvent { + return GroupMetadataEvent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMetadataEvent { + const message = createBaseGroupMetadataEvent(); + message.eventContext = (object.eventContext !== undefined && object.eventContext !== null) + ? EventContext.fromPartial(object.eventContext) + : undefined; + message.metadata = (object.metadata !== undefined && object.metadata !== null) + ? GroupMetadata.fromPartial(object.metadata) + : undefined; + message.event = object.event ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMessageEvent(): GroupMessageEvent { + return { eventContext: undefined, headers: undefined, message: new Uint8Array(0) }; +} + +export const GroupMessageEvent = { + encode(message: GroupMessageEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.eventContext !== undefined) { + EventContext.encode(message.eventContext, writer.uint32(10).fork()).ldelim(); + } + if (message.headers !== undefined) { + MessageHeaders.encode(message.headers, writer.uint32(18).fork()).ldelim(); + } + if (message.message.length !== 0) { + writer.uint32(26).bytes(message.message); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMessageEvent { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMessageEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.eventContext = EventContext.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.headers = MessageHeaders.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.message = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMessageEvent { + return { + eventContext: isSet(object.eventContext) ? EventContext.fromJSON(object.eventContext) : undefined, + headers: isSet(object.headers) ? MessageHeaders.fromJSON(object.headers) : undefined, + message: isSet(object.message) ? bytesFromBase64(object.message) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupMessageEvent): unknown { + const obj: any = {}; + if (message.eventContext !== undefined) { + obj.eventContext = EventContext.toJSON(message.eventContext); + } + if (message.headers !== undefined) { + obj.headers = MessageHeaders.toJSON(message.headers); + } + if (message.message.length !== 0) { + obj.message = base64FromBytes(message.message); + } + return obj; + }, + + create, I>>(base?: I): GroupMessageEvent { + return GroupMessageEvent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMessageEvent { + const message = createBaseGroupMessageEvent(); + message.eventContext = (object.eventContext !== undefined && object.eventContext !== null) + ? EventContext.fromPartial(object.eventContext) + : undefined; + message.headers = (object.headers !== undefined && object.headers !== null) + ? MessageHeaders.fromPartial(object.headers) + : undefined; + message.message = object.message ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupMetadataList(): GroupMetadataList { + return {}; +} + +export const GroupMetadataList = { + encode(_: GroupMetadataList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMetadataList { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMetadataList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): GroupMetadataList { + return {}; + }, + + toJSON(_: GroupMetadataList): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GroupMetadataList { + return GroupMetadataList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GroupMetadataList { + const message = createBaseGroupMetadataList(); + return message; + }, +}; + +function createBaseGroupMetadataList_Request(): GroupMetadataList_Request { + return { + groupPk: new Uint8Array(0), + sinceId: new Uint8Array(0), + sinceNow: false, + untilId: new Uint8Array(0), + untilNow: false, + reverseOrder: false, + }; +} + +export const GroupMetadataList_Request = { + encode(message: GroupMetadataList_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.sinceId.length !== 0) { + writer.uint32(18).bytes(message.sinceId); + } + if (message.sinceNow === true) { + writer.uint32(24).bool(message.sinceNow); + } + if (message.untilId.length !== 0) { + writer.uint32(34).bytes(message.untilId); + } + if (message.untilNow === true) { + writer.uint32(40).bool(message.untilNow); + } + if (message.reverseOrder === true) { + writer.uint32(48).bool(message.reverseOrder); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMetadataList_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMetadataList_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.sinceId = reader.bytes(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.sinceNow = reader.bool(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.untilId = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.untilNow = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.reverseOrder = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMetadataList_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + sinceId: isSet(object.sinceId) ? bytesFromBase64(object.sinceId) : new Uint8Array(0), + sinceNow: isSet(object.sinceNow) ? globalThis.Boolean(object.sinceNow) : false, + untilId: isSet(object.untilId) ? bytesFromBase64(object.untilId) : new Uint8Array(0), + untilNow: isSet(object.untilNow) ? globalThis.Boolean(object.untilNow) : false, + reverseOrder: isSet(object.reverseOrder) ? globalThis.Boolean(object.reverseOrder) : false, + }; + }, + + toJSON(message: GroupMetadataList_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.sinceId.length !== 0) { + obj.sinceId = base64FromBytes(message.sinceId); + } + if (message.sinceNow === true) { + obj.sinceNow = message.sinceNow; + } + if (message.untilId.length !== 0) { + obj.untilId = base64FromBytes(message.untilId); + } + if (message.untilNow === true) { + obj.untilNow = message.untilNow; + } + if (message.reverseOrder === true) { + obj.reverseOrder = message.reverseOrder; + } + return obj; + }, + + create, I>>(base?: I): GroupMetadataList_Request { + return GroupMetadataList_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMetadataList_Request { + const message = createBaseGroupMetadataList_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.sinceId = object.sinceId ?? new Uint8Array(0); + message.sinceNow = object.sinceNow ?? false; + message.untilId = object.untilId ?? new Uint8Array(0); + message.untilNow = object.untilNow ?? false; + message.reverseOrder = object.reverseOrder ?? false; + return message; + }, +}; + +function createBaseGroupMessageList(): GroupMessageList { + return {}; +} + +export const GroupMessageList = { + encode(_: GroupMessageList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMessageList { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMessageList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): GroupMessageList { + return {}; + }, + + toJSON(_: GroupMessageList): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GroupMessageList { + return GroupMessageList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GroupMessageList { + const message = createBaseGroupMessageList(); + return message; + }, +}; + +function createBaseGroupMessageList_Request(): GroupMessageList_Request { + return { + groupPk: new Uint8Array(0), + sinceId: new Uint8Array(0), + sinceNow: false, + untilId: new Uint8Array(0), + untilNow: false, + reverseOrder: false, + }; +} + +export const GroupMessageList_Request = { + encode(message: GroupMessageList_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.sinceId.length !== 0) { + writer.uint32(18).bytes(message.sinceId); + } + if (message.sinceNow === true) { + writer.uint32(24).bool(message.sinceNow); + } + if (message.untilId.length !== 0) { + writer.uint32(34).bytes(message.untilId); + } + if (message.untilNow === true) { + writer.uint32(40).bool(message.untilNow); + } + if (message.reverseOrder === true) { + writer.uint32(48).bool(message.reverseOrder); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMessageList_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMessageList_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.sinceId = reader.bytes(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.sinceNow = reader.bool(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.untilId = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.untilNow = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.reverseOrder = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupMessageList_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + sinceId: isSet(object.sinceId) ? bytesFromBase64(object.sinceId) : new Uint8Array(0), + sinceNow: isSet(object.sinceNow) ? globalThis.Boolean(object.sinceNow) : false, + untilId: isSet(object.untilId) ? bytesFromBase64(object.untilId) : new Uint8Array(0), + untilNow: isSet(object.untilNow) ? globalThis.Boolean(object.untilNow) : false, + reverseOrder: isSet(object.reverseOrder) ? globalThis.Boolean(object.reverseOrder) : false, + }; + }, + + toJSON(message: GroupMessageList_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.sinceId.length !== 0) { + obj.sinceId = base64FromBytes(message.sinceId); + } + if (message.sinceNow === true) { + obj.sinceNow = message.sinceNow; + } + if (message.untilId.length !== 0) { + obj.untilId = base64FromBytes(message.untilId); + } + if (message.untilNow === true) { + obj.untilNow = message.untilNow; + } + if (message.reverseOrder === true) { + obj.reverseOrder = message.reverseOrder; + } + return obj; + }, + + create, I>>(base?: I): GroupMessageList_Request { + return GroupMessageList_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupMessageList_Request { + const message = createBaseGroupMessageList_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.sinceId = object.sinceId ?? new Uint8Array(0); + message.sinceNow = object.sinceNow ?? false; + message.untilId = object.untilId ?? new Uint8Array(0); + message.untilNow = object.untilNow ?? false; + message.reverseOrder = object.reverseOrder ?? false; + return message; + }, +}; + +function createBaseGroupInfo(): GroupInfo { + return {}; +} + +export const GroupInfo = { + encode(_: GroupInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): GroupInfo { + return {}; + }, + + toJSON(_: GroupInfo): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GroupInfo { + return GroupInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GroupInfo { + const message = createBaseGroupInfo(); + return message; + }, +}; + +function createBaseGroupInfo_Request(): GroupInfo_Request { + return { groupPk: new Uint8Array(0), contactPk: new Uint8Array(0) }; +} + +export const GroupInfo_Request = { + encode(message: GroupInfo_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.contactPk.length !== 0) { + writer.uint32(18).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupInfo_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupInfo_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupInfo_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupInfo_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): GroupInfo_Request { + return GroupInfo_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupInfo_Request { + const message = createBaseGroupInfo_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupInfo_Reply(): GroupInfo_Reply { + return { group: undefined, memberPk: new Uint8Array(0), devicePk: new Uint8Array(0) }; +} + +export const GroupInfo_Reply = { + encode(message: GroupInfo_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + if (message.memberPk.length !== 0) { + writer.uint32(18).bytes(message.memberPk); + } + if (message.devicePk.length !== 0) { + writer.uint32(26).bytes(message.devicePk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupInfo_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupInfo_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.memberPk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.devicePk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupInfo_Reply { + return { + group: isSet(object.group) ? Group.fromJSON(object.group) : undefined, + memberPk: isSet(object.memberPk) ? bytesFromBase64(object.memberPk) : new Uint8Array(0), + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupInfo_Reply): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + if (message.memberPk.length !== 0) { + obj.memberPk = base64FromBytes(message.memberPk); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + return obj; + }, + + create, I>>(base?: I): GroupInfo_Reply { + return GroupInfo_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupInfo_Reply { + const message = createBaseGroupInfo_Reply(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + message.memberPk = object.memberPk ?? new Uint8Array(0); + message.devicePk = object.devicePk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseActivateGroup(): ActivateGroup { + return {}; +} + +export const ActivateGroup = { + encode(_: ActivateGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ActivateGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActivateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ActivateGroup { + return {}; + }, + + toJSON(_: ActivateGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ActivateGroup { + return ActivateGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ActivateGroup { + const message = createBaseActivateGroup(); + return message; + }, +}; + +function createBaseActivateGroup_Request(): ActivateGroup_Request { + return { groupPk: new Uint8Array(0), localOnly: false }; +} + +export const ActivateGroup_Request = { + encode(message: ActivateGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.localOnly === true) { + writer.uint32(16).bool(message.localOnly); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ActivateGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActivateGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.localOnly = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ActivateGroup_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + localOnly: isSet(object.localOnly) ? globalThis.Boolean(object.localOnly) : false, + }; + }, + + toJSON(message: ActivateGroup_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.localOnly === true) { + obj.localOnly = message.localOnly; + } + return obj; + }, + + create, I>>(base?: I): ActivateGroup_Request { + return ActivateGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ActivateGroup_Request { + const message = createBaseActivateGroup_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.localOnly = object.localOnly ?? false; + return message; + }, +}; + +function createBaseActivateGroup_Reply(): ActivateGroup_Reply { + return {}; +} + +export const ActivateGroup_Reply = { + encode(_: ActivateGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ActivateGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActivateGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ActivateGroup_Reply { + return {}; + }, + + toJSON(_: ActivateGroup_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ActivateGroup_Reply { + return ActivateGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ActivateGroup_Reply { + const message = createBaseActivateGroup_Reply(); + return message; + }, +}; + +function createBaseDeactivateGroup(): DeactivateGroup { + return {}; +} + +export const DeactivateGroup = { + encode(_: DeactivateGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DeactivateGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeactivateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DeactivateGroup { + return {}; + }, + + toJSON(_: DeactivateGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DeactivateGroup { + return DeactivateGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DeactivateGroup { + const message = createBaseDeactivateGroup(); + return message; + }, +}; + +function createBaseDeactivateGroup_Request(): DeactivateGroup_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const DeactivateGroup_Request = { + encode(message: DeactivateGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DeactivateGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeactivateGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeactivateGroup_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: DeactivateGroup_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): DeactivateGroup_Request { + return DeactivateGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeactivateGroup_Request { + const message = createBaseDeactivateGroup_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDeactivateGroup_Reply(): DeactivateGroup_Reply { + return {}; +} + +export const DeactivateGroup_Reply = { + encode(_: DeactivateGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DeactivateGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeactivateGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DeactivateGroup_Reply { + return {}; + }, + + toJSON(_: DeactivateGroup_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DeactivateGroup_Reply { + return DeactivateGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DeactivateGroup_Reply { + const message = createBaseDeactivateGroup_Reply(); + return message; + }, +}; + +function createBaseGroupDeviceStatus(): GroupDeviceStatus { + return {}; +} + +export const GroupDeviceStatus = { + encode(_: GroupDeviceStatus, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): GroupDeviceStatus { + return {}; + }, + + toJSON(_: GroupDeviceStatus): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GroupDeviceStatus { + return GroupDeviceStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GroupDeviceStatus { + const message = createBaseGroupDeviceStatus(); + return message; + }, +}; + +function createBaseGroupDeviceStatus_Request(): GroupDeviceStatus_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const GroupDeviceStatus_Request = { + encode(message: GroupDeviceStatus_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceStatus_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: GroupDeviceStatus_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): GroupDeviceStatus_Request { + return GroupDeviceStatus_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupDeviceStatus_Request { + const message = createBaseGroupDeviceStatus_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupDeviceStatus_Reply(): GroupDeviceStatus_Reply { + return { type: 0, event: new Uint8Array(0) }; +} + +export const GroupDeviceStatus_Reply = { + encode(message: GroupDeviceStatus_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.event.length !== 0) { + writer.uint32(18).bytes(message.event); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.type = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.event = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceStatus_Reply { + return { + type: isSet(object.type) ? groupDeviceStatus_TypeFromJSON(object.type) : 0, + event: isSet(object.event) ? bytesFromBase64(object.event) : new Uint8Array(0), + }; + }, + + toJSON(message: GroupDeviceStatus_Reply): unknown { + const obj: any = {}; + if (message.type !== 0) { + obj.type = groupDeviceStatus_TypeToJSON(message.type); + } + if (message.event.length !== 0) { + obj.event = base64FromBytes(message.event); + } + return obj; + }, + + create, I>>(base?: I): GroupDeviceStatus_Reply { + return GroupDeviceStatus_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GroupDeviceStatus_Reply { + const message = createBaseGroupDeviceStatus_Reply(); + message.type = object.type ?? 0; + message.event = object.event ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGroupDeviceStatus_Reply_PeerConnected(): GroupDeviceStatus_Reply_PeerConnected { + return { peerId: "", devicePk: new Uint8Array(0), transports: [], maddrs: [] }; +} + +export const GroupDeviceStatus_Reply_PeerConnected = { + encode(message: GroupDeviceStatus_Reply_PeerConnected, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.peerId !== "") { + writer.uint32(10).string(message.peerId); + } + if (message.devicePk.length !== 0) { + writer.uint32(18).bytes(message.devicePk); + } + writer.uint32(26).fork(); + for (const v of message.transports) { + writer.int32(v); + } + writer.ldelim(); + for (const v of message.maddrs) { + writer.uint32(34).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus_Reply_PeerConnected { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus_Reply_PeerConnected(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peerId = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 3: + if (tag === 24) { + message.transports.push(reader.int32() as any); + + continue; + } + + if (tag === 26) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.transports.push(reader.int32() as any); + } + + continue; + } + + break; + case 4: + if (tag !== 34) { + break; + } + + message.maddrs.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceStatus_Reply_PeerConnected { + return { + peerId: isSet(object.peerId) ? globalThis.String(object.peerId) : "", + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + transports: globalThis.Array.isArray(object?.transports) + ? object.transports.map((e: any) => groupDeviceStatus_TransportFromJSON(e)) + : [], + maddrs: globalThis.Array.isArray(object?.maddrs) ? object.maddrs.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: GroupDeviceStatus_Reply_PeerConnected): unknown { + const obj: any = {}; + if (message.peerId !== "") { + obj.peerId = message.peerId; + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.transports?.length) { + obj.transports = message.transports.map((e) => groupDeviceStatus_TransportToJSON(e)); + } + if (message.maddrs?.length) { + obj.maddrs = message.maddrs; + } + return obj; + }, + + create, I>>( + base?: I, + ): GroupDeviceStatus_Reply_PeerConnected { + return GroupDeviceStatus_Reply_PeerConnected.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): GroupDeviceStatus_Reply_PeerConnected { + const message = createBaseGroupDeviceStatus_Reply_PeerConnected(); + message.peerId = object.peerId ?? ""; + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.transports = object.transports?.map((e) => e) || []; + message.maddrs = object.maddrs?.map((e) => e) || []; + return message; + }, +}; + +function createBaseGroupDeviceStatus_Reply_PeerReconnecting(): GroupDeviceStatus_Reply_PeerReconnecting { + return { peerId: "" }; +} + +export const GroupDeviceStatus_Reply_PeerReconnecting = { + encode(message: GroupDeviceStatus_Reply_PeerReconnecting, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.peerId !== "") { + writer.uint32(10).string(message.peerId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus_Reply_PeerReconnecting { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus_Reply_PeerReconnecting(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peerId = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceStatus_Reply_PeerReconnecting { + return { peerId: isSet(object.peerId) ? globalThis.String(object.peerId) : "" }; + }, + + toJSON(message: GroupDeviceStatus_Reply_PeerReconnecting): unknown { + const obj: any = {}; + if (message.peerId !== "") { + obj.peerId = message.peerId; + } + return obj; + }, + + create, I>>( + base?: I, + ): GroupDeviceStatus_Reply_PeerReconnecting { + return GroupDeviceStatus_Reply_PeerReconnecting.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): GroupDeviceStatus_Reply_PeerReconnecting { + const message = createBaseGroupDeviceStatus_Reply_PeerReconnecting(); + message.peerId = object.peerId ?? ""; + return message; + }, +}; + +function createBaseGroupDeviceStatus_Reply_PeerDisconnected(): GroupDeviceStatus_Reply_PeerDisconnected { + return { peerId: "" }; +} + +export const GroupDeviceStatus_Reply_PeerDisconnected = { + encode(message: GroupDeviceStatus_Reply_PeerDisconnected, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.peerId !== "") { + writer.uint32(10).string(message.peerId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GroupDeviceStatus_Reply_PeerDisconnected { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupDeviceStatus_Reply_PeerDisconnected(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peerId = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GroupDeviceStatus_Reply_PeerDisconnected { + return { peerId: isSet(object.peerId) ? globalThis.String(object.peerId) : "" }; + }, + + toJSON(message: GroupDeviceStatus_Reply_PeerDisconnected): unknown { + const obj: any = {}; + if (message.peerId !== "") { + obj.peerId = message.peerId; + } + return obj; + }, + + create, I>>( + base?: I, + ): GroupDeviceStatus_Reply_PeerDisconnected { + return GroupDeviceStatus_Reply_PeerDisconnected.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): GroupDeviceStatus_Reply_PeerDisconnected { + const message = createBaseGroupDeviceStatus_Reply_PeerDisconnected(); + message.peerId = object.peerId ?? ""; + return message; + }, +}; + +function createBaseDebugListGroups(): DebugListGroups { + return {}; +} + +export const DebugListGroups = { + encode(_: DebugListGroups, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugListGroups { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugListGroups(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DebugListGroups { + return {}; + }, + + toJSON(_: DebugListGroups): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DebugListGroups { + return DebugListGroups.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DebugListGroups { + const message = createBaseDebugListGroups(); + return message; + }, +}; + +function createBaseDebugListGroups_Request(): DebugListGroups_Request { + return {}; +} + +export const DebugListGroups_Request = { + encode(_: DebugListGroups_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugListGroups_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugListGroups_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DebugListGroups_Request { + return {}; + }, + + toJSON(_: DebugListGroups_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DebugListGroups_Request { + return DebugListGroups_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DebugListGroups_Request { + const message = createBaseDebugListGroups_Request(); + return message; + }, +}; + +function createBaseDebugListGroups_Reply(): DebugListGroups_Reply { + return { groupPk: new Uint8Array(0), groupType: 0, contactPk: new Uint8Array(0) }; +} + +export const DebugListGroups_Reply = { + encode(message: DebugListGroups_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.groupType !== 0) { + writer.uint32(16).int32(message.groupType); + } + if (message.contactPk.length !== 0) { + writer.uint32(26).bytes(message.contactPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugListGroups_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugListGroups_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.groupType = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contactPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DebugListGroups_Reply { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + groupType: isSet(object.groupType) ? groupTypeFromJSON(object.groupType) : 0, + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + }; + }, + + toJSON(message: DebugListGroups_Reply): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.groupType !== 0) { + obj.groupType = groupTypeToJSON(message.groupType); + } + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + return obj; + }, + + create, I>>(base?: I): DebugListGroups_Reply { + return DebugListGroups_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DebugListGroups_Reply { + const message = createBaseDebugListGroups_Reply(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.groupType = object.groupType ?? 0; + message.contactPk = object.contactPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDebugInspectGroupStore(): DebugInspectGroupStore { + return {}; +} + +export const DebugInspectGroupStore = { + encode(_: DebugInspectGroupStore, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugInspectGroupStore { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugInspectGroupStore(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DebugInspectGroupStore { + return {}; + }, + + toJSON(_: DebugInspectGroupStore): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DebugInspectGroupStore { + return DebugInspectGroupStore.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DebugInspectGroupStore { + const message = createBaseDebugInspectGroupStore(); + return message; + }, +}; + +function createBaseDebugInspectGroupStore_Request(): DebugInspectGroupStore_Request { + return { groupPk: new Uint8Array(0), logType: 0 }; +} + +export const DebugInspectGroupStore_Request = { + encode(message: DebugInspectGroupStore_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.logType !== 0) { + writer.uint32(16).int32(message.logType); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugInspectGroupStore_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugInspectGroupStore_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.logType = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DebugInspectGroupStore_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + logType: isSet(object.logType) ? debugInspectGroupLogTypeFromJSON(object.logType) : 0, + }; + }, + + toJSON(message: DebugInspectGroupStore_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.logType !== 0) { + obj.logType = debugInspectGroupLogTypeToJSON(message.logType); + } + return obj; + }, + + create, I>>(base?: I): DebugInspectGroupStore_Request { + return DebugInspectGroupStore_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): DebugInspectGroupStore_Request { + const message = createBaseDebugInspectGroupStore_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.logType = object.logType ?? 0; + return message; + }, +}; + +function createBaseDebugInspectGroupStore_Reply(): DebugInspectGroupStore_Reply { + return { + cid: new Uint8Array(0), + parentCids: [], + metadataEventType: 0, + devicePk: new Uint8Array(0), + payload: new Uint8Array(0), + }; +} + +export const DebugInspectGroupStore_Reply = { + encode(message: DebugInspectGroupStore_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.cid.length !== 0) { + writer.uint32(10).bytes(message.cid); + } + for (const v of message.parentCids) { + writer.uint32(18).bytes(v!); + } + if (message.metadataEventType !== 0) { + writer.uint32(24).int32(message.metadataEventType); + } + if (message.devicePk.length !== 0) { + writer.uint32(34).bytes(message.devicePk); + } + if (message.payload.length !== 0) { + writer.uint32(50).bytes(message.payload); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugInspectGroupStore_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugInspectGroupStore_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cid = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.parentCids.push(reader.bytes()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.metadataEventType = reader.int32() as any; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DebugInspectGroupStore_Reply { + return { + cid: isSet(object.cid) ? bytesFromBase64(object.cid) : new Uint8Array(0), + parentCids: globalThis.Array.isArray(object?.parentCids) + ? object.parentCids.map((e: any) => bytesFromBase64(e)) + : [], + metadataEventType: isSet(object.metadataEventType) ? eventTypeFromJSON(object.metadataEventType) : 0, + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0), + }; + }, + + toJSON(message: DebugInspectGroupStore_Reply): unknown { + const obj: any = {}; + if (message.cid.length !== 0) { + obj.cid = base64FromBytes(message.cid); + } + if (message.parentCids?.length) { + obj.parentCids = message.parentCids.map((e) => base64FromBytes(e)); + } + if (message.metadataEventType !== 0) { + obj.metadataEventType = eventTypeToJSON(message.metadataEventType); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): DebugInspectGroupStore_Reply { + return DebugInspectGroupStore_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DebugInspectGroupStore_Reply { + const message = createBaseDebugInspectGroupStore_Reply(); + message.cid = object.cid ?? new Uint8Array(0); + message.parentCids = object.parentCids?.map((e) => e) || []; + message.metadataEventType = object.metadataEventType ?? 0; + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDebugGroup(): DebugGroup { + return {}; +} + +export const DebugGroup = { + encode(_: DebugGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): DebugGroup { + return {}; + }, + + toJSON(_: DebugGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): DebugGroup { + return DebugGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): DebugGroup { + const message = createBaseDebugGroup(); + return message; + }, +}; + +function createBaseDebugGroup_Request(): DebugGroup_Request { + return { groupPk: new Uint8Array(0) }; +} + +export const DebugGroup_Request = { + encode(message: DebugGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DebugGroup_Request { + return { groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0) }; + }, + + toJSON(message: DebugGroup_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + return obj; + }, + + create, I>>(base?: I): DebugGroup_Request { + return DebugGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DebugGroup_Request { + const message = createBaseDebugGroup_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDebugGroup_Reply(): DebugGroup_Reply { + return { peerIds: [] }; +} + +export const DebugGroup_Reply = { + encode(message: DebugGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.peerIds) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DebugGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDebugGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peerIds.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DebugGroup_Reply { + return { + peerIds: globalThis.Array.isArray(object?.peerIds) ? object.peerIds.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: DebugGroup_Reply): unknown { + const obj: any = {}; + if (message.peerIds?.length) { + obj.peerIds = message.peerIds; + } + return obj; + }, + + create, I>>(base?: I): DebugGroup_Reply { + return DebugGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DebugGroup_Reply { + const message = createBaseDebugGroup_Reply(); + message.peerIds = object.peerIds?.map((e) => e) || []; + return message; + }, +}; + +function createBaseShareableContact(): ShareableContact { + return { pk: new Uint8Array(0), publicRendezvousSeed: new Uint8Array(0), metadata: new Uint8Array(0) }; +} + +export const ShareableContact = { + encode(message: ShareableContact, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.pk.length !== 0) { + writer.uint32(10).bytes(message.pk); + } + if (message.publicRendezvousSeed.length !== 0) { + writer.uint32(18).bytes(message.publicRendezvousSeed); + } + if (message.metadata.length !== 0) { + writer.uint32(26).bytes(message.metadata); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ShareableContact { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseShareableContact(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicRendezvousSeed = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.metadata = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ShareableContact { + return { + pk: isSet(object.pk) ? bytesFromBase64(object.pk) : new Uint8Array(0), + publicRendezvousSeed: isSet(object.publicRendezvousSeed) + ? bytesFromBase64(object.publicRendezvousSeed) + : new Uint8Array(0), + metadata: isSet(object.metadata) ? bytesFromBase64(object.metadata) : new Uint8Array(0), + }; + }, + + toJSON(message: ShareableContact): unknown { + const obj: any = {}; + if (message.pk.length !== 0) { + obj.pk = base64FromBytes(message.pk); + } + if (message.publicRendezvousSeed.length !== 0) { + obj.publicRendezvousSeed = base64FromBytes(message.publicRendezvousSeed); + } + if (message.metadata.length !== 0) { + obj.metadata = base64FromBytes(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): ShareableContact { + return ShareableContact.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ShareableContact { + const message = createBaseShareableContact(); + message.pk = object.pk ?? new Uint8Array(0); + message.publicRendezvousSeed = object.publicRendezvousSeed ?? new Uint8Array(0); + message.metadata = object.metadata ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseServiceTokenSupportedService(): ServiceTokenSupportedService { + return { serviceType: "", serviceEndpoint: "" }; +} + +export const ServiceTokenSupportedService = { + encode(message: ServiceTokenSupportedService, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.serviceType !== "") { + writer.uint32(10).string(message.serviceType); + } + if (message.serviceEndpoint !== "") { + writer.uint32(18).string(message.serviceEndpoint); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceTokenSupportedService { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceTokenSupportedService(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.serviceType = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.serviceEndpoint = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceTokenSupportedService { + return { + serviceType: isSet(object.serviceType) ? globalThis.String(object.serviceType) : "", + serviceEndpoint: isSet(object.serviceEndpoint) ? globalThis.String(object.serviceEndpoint) : "", + }; + }, + + toJSON(message: ServiceTokenSupportedService): unknown { + const obj: any = {}; + if (message.serviceType !== "") { + obj.serviceType = message.serviceType; + } + if (message.serviceEndpoint !== "") { + obj.serviceEndpoint = message.serviceEndpoint; + } + return obj; + }, + + create, I>>(base?: I): ServiceTokenSupportedService { + return ServiceTokenSupportedService.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceTokenSupportedService { + const message = createBaseServiceTokenSupportedService(); + message.serviceType = object.serviceType ?? ""; + message.serviceEndpoint = object.serviceEndpoint ?? ""; + return message; + }, +}; + +function createBaseServiceToken(): ServiceToken { + return { token: "", authenticationUrl: "", supportedServices: [], expiration: 0 }; +} + +export const ServiceToken = { + encode(message: ServiceToken, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.token !== "") { + writer.uint32(10).string(message.token); + } + if (message.authenticationUrl !== "") { + writer.uint32(18).string(message.authenticationUrl); + } + for (const v of message.supportedServices) { + ServiceTokenSupportedService.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.expiration !== 0) { + writer.uint32(32).int64(message.expiration); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ServiceToken { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceToken(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.token = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.authenticationUrl = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.supportedServices.push(ServiceTokenSupportedService.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.expiration = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceToken { + return { + token: isSet(object.token) ? globalThis.String(object.token) : "", + authenticationUrl: isSet(object.authenticationUrl) ? globalThis.String(object.authenticationUrl) : "", + supportedServices: globalThis.Array.isArray(object?.supportedServices) + ? object.supportedServices.map((e: any) => ServiceTokenSupportedService.fromJSON(e)) + : [], + expiration: isSet(object.expiration) ? globalThis.Number(object.expiration) : 0, + }; + }, + + toJSON(message: ServiceToken): unknown { + const obj: any = {}; + if (message.token !== "") { + obj.token = message.token; + } + if (message.authenticationUrl !== "") { + obj.authenticationUrl = message.authenticationUrl; + } + if (message.supportedServices?.length) { + obj.supportedServices = message.supportedServices.map((e) => ServiceTokenSupportedService.toJSON(e)); + } + if (message.expiration !== 0) { + obj.expiration = Math.round(message.expiration); + } + return obj; + }, + + create, I>>(base?: I): ServiceToken { + return ServiceToken.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceToken { + const message = createBaseServiceToken(); + message.token = object.token ?? ""; + message.authenticationUrl = object.authenticationUrl ?? ""; + message.supportedServices = object.supportedServices?.map((e) => ServiceTokenSupportedService.fromPartial(e)) || []; + message.expiration = object.expiration ?? 0; + return message; + }, +}; + +function createBaseCredentialVerificationServiceInitFlow(): CredentialVerificationServiceInitFlow { + return {}; +} + +export const CredentialVerificationServiceInitFlow = { + encode(_: CredentialVerificationServiceInitFlow, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceInitFlow { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceInitFlow(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): CredentialVerificationServiceInitFlow { + return {}; + }, + + toJSON(_: CredentialVerificationServiceInitFlow): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceInitFlow { + return CredentialVerificationServiceInitFlow.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): CredentialVerificationServiceInitFlow { + const message = createBaseCredentialVerificationServiceInitFlow(); + return message; + }, +}; + +function createBaseCredentialVerificationServiceInitFlow_Request(): CredentialVerificationServiceInitFlow_Request { + return { serviceUrl: "", publicKey: new Uint8Array(0), link: "" }; +} + +export const CredentialVerificationServiceInitFlow_Request = { + encode(message: CredentialVerificationServiceInitFlow_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.serviceUrl !== "") { + writer.uint32(10).string(message.serviceUrl); + } + if (message.publicKey.length !== 0) { + writer.uint32(18).bytes(message.publicKey); + } + if (message.link !== "") { + writer.uint32(26).string(message.link); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceInitFlow_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceInitFlow_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.serviceUrl = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.link = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CredentialVerificationServiceInitFlow_Request { + return { + serviceUrl: isSet(object.serviceUrl) ? globalThis.String(object.serviceUrl) : "", + publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0), + link: isSet(object.link) ? globalThis.String(object.link) : "", + }; + }, + + toJSON(message: CredentialVerificationServiceInitFlow_Request): unknown { + const obj: any = {}; + if (message.serviceUrl !== "") { + obj.serviceUrl = message.serviceUrl; + } + if (message.publicKey.length !== 0) { + obj.publicKey = base64FromBytes(message.publicKey); + } + if (message.link !== "") { + obj.link = message.link; + } + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceInitFlow_Request { + return CredentialVerificationServiceInitFlow_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CredentialVerificationServiceInitFlow_Request { + const message = createBaseCredentialVerificationServiceInitFlow_Request(); + message.serviceUrl = object.serviceUrl ?? ""; + message.publicKey = object.publicKey ?? new Uint8Array(0); + message.link = object.link ?? ""; + return message; + }, +}; + +function createBaseCredentialVerificationServiceInitFlow_Reply(): CredentialVerificationServiceInitFlow_Reply { + return { url: "", secureUrl: false }; +} + +export const CredentialVerificationServiceInitFlow_Reply = { + encode(message: CredentialVerificationServiceInitFlow_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.url !== "") { + writer.uint32(10).string(message.url); + } + if (message.secureUrl === true) { + writer.uint32(16).bool(message.secureUrl); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceInitFlow_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceInitFlow_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.url = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.secureUrl = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CredentialVerificationServiceInitFlow_Reply { + return { + url: isSet(object.url) ? globalThis.String(object.url) : "", + secureUrl: isSet(object.secureUrl) ? globalThis.Boolean(object.secureUrl) : false, + }; + }, + + toJSON(message: CredentialVerificationServiceInitFlow_Reply): unknown { + const obj: any = {}; + if (message.url !== "") { + obj.url = message.url; + } + if (message.secureUrl === true) { + obj.secureUrl = message.secureUrl; + } + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceInitFlow_Reply { + return CredentialVerificationServiceInitFlow_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CredentialVerificationServiceInitFlow_Reply { + const message = createBaseCredentialVerificationServiceInitFlow_Reply(); + message.url = object.url ?? ""; + message.secureUrl = object.secureUrl ?? false; + return message; + }, +}; + +function createBaseCredentialVerificationServiceCompleteFlow(): CredentialVerificationServiceCompleteFlow { + return {}; +} + +export const CredentialVerificationServiceCompleteFlow = { + encode(_: CredentialVerificationServiceCompleteFlow, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceCompleteFlow { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceCompleteFlow(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): CredentialVerificationServiceCompleteFlow { + return {}; + }, + + toJSON(_: CredentialVerificationServiceCompleteFlow): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceCompleteFlow { + return CredentialVerificationServiceCompleteFlow.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): CredentialVerificationServiceCompleteFlow { + const message = createBaseCredentialVerificationServiceCompleteFlow(); + return message; + }, +}; + +function createBaseCredentialVerificationServiceCompleteFlow_Request(): CredentialVerificationServiceCompleteFlow_Request { + return { callbackUri: "" }; +} + +export const CredentialVerificationServiceCompleteFlow_Request = { + encode( + message: CredentialVerificationServiceCompleteFlow_Request, + writer: _m0.Writer = _m0.Writer.create(), + ): _m0.Writer { + if (message.callbackUri !== "") { + writer.uint32(10).string(message.callbackUri); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceCompleteFlow_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceCompleteFlow_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.callbackUri = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CredentialVerificationServiceCompleteFlow_Request { + return { callbackUri: isSet(object.callbackUri) ? globalThis.String(object.callbackUri) : "" }; + }, + + toJSON(message: CredentialVerificationServiceCompleteFlow_Request): unknown { + const obj: any = {}; + if (message.callbackUri !== "") { + obj.callbackUri = message.callbackUri; + } + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceCompleteFlow_Request { + return CredentialVerificationServiceCompleteFlow_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CredentialVerificationServiceCompleteFlow_Request { + const message = createBaseCredentialVerificationServiceCompleteFlow_Request(); + message.callbackUri = object.callbackUri ?? ""; + return message; + }, +}; + +function createBaseCredentialVerificationServiceCompleteFlow_Reply(): CredentialVerificationServiceCompleteFlow_Reply { + return { identifier: "" }; +} + +export const CredentialVerificationServiceCompleteFlow_Reply = { + encode( + message: CredentialVerificationServiceCompleteFlow_Reply, + writer: _m0.Writer = _m0.Writer.create(), + ): _m0.Writer { + if (message.identifier !== "") { + writer.uint32(10).string(message.identifier); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CredentialVerificationServiceCompleteFlow_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCredentialVerificationServiceCompleteFlow_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.identifier = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CredentialVerificationServiceCompleteFlow_Reply { + return { identifier: isSet(object.identifier) ? globalThis.String(object.identifier) : "" }; + }, + + toJSON(message: CredentialVerificationServiceCompleteFlow_Reply): unknown { + const obj: any = {}; + if (message.identifier !== "") { + obj.identifier = message.identifier; + } + return obj; + }, + + create, I>>( + base?: I, + ): CredentialVerificationServiceCompleteFlow_Reply { + return CredentialVerificationServiceCompleteFlow_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CredentialVerificationServiceCompleteFlow_Reply { + const message = createBaseCredentialVerificationServiceCompleteFlow_Reply(); + message.identifier = object.identifier ?? ""; + return message; + }, +}; + +function createBaseVerifiedCredentialsList(): VerifiedCredentialsList { + return {}; +} + +export const VerifiedCredentialsList = { + encode(_: VerifiedCredentialsList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): VerifiedCredentialsList { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVerifiedCredentialsList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): VerifiedCredentialsList { + return {}; + }, + + toJSON(_: VerifiedCredentialsList): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): VerifiedCredentialsList { + return VerifiedCredentialsList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): VerifiedCredentialsList { + const message = createBaseVerifiedCredentialsList(); + return message; + }, +}; + +function createBaseVerifiedCredentialsList_Request(): VerifiedCredentialsList_Request { + return { filterIdentifier: "", filterIssuer: "", excludeExpired: false }; +} + +export const VerifiedCredentialsList_Request = { + encode(message: VerifiedCredentialsList_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.filterIdentifier !== "") { + writer.uint32(10).string(message.filterIdentifier); + } + if (message.filterIssuer !== "") { + writer.uint32(18).string(message.filterIssuer); + } + if (message.excludeExpired === true) { + writer.uint32(24).bool(message.excludeExpired); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): VerifiedCredentialsList_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVerifiedCredentialsList_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.filterIdentifier = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.filterIssuer = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.excludeExpired = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): VerifiedCredentialsList_Request { + return { + filterIdentifier: isSet(object.filterIdentifier) ? globalThis.String(object.filterIdentifier) : "", + filterIssuer: isSet(object.filterIssuer) ? globalThis.String(object.filterIssuer) : "", + excludeExpired: isSet(object.excludeExpired) ? globalThis.Boolean(object.excludeExpired) : false, + }; + }, + + toJSON(message: VerifiedCredentialsList_Request): unknown { + const obj: any = {}; + if (message.filterIdentifier !== "") { + obj.filterIdentifier = message.filterIdentifier; + } + if (message.filterIssuer !== "") { + obj.filterIssuer = message.filterIssuer; + } + if (message.excludeExpired === true) { + obj.excludeExpired = message.excludeExpired; + } + return obj; + }, + + create, I>>(base?: I): VerifiedCredentialsList_Request { + return VerifiedCredentialsList_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): VerifiedCredentialsList_Request { + const message = createBaseVerifiedCredentialsList_Request(); + message.filterIdentifier = object.filterIdentifier ?? ""; + message.filterIssuer = object.filterIssuer ?? ""; + message.excludeExpired = object.excludeExpired ?? false; + return message; + }, +}; + +function createBaseVerifiedCredentialsList_Reply(): VerifiedCredentialsList_Reply { + return { credential: undefined }; +} + +export const VerifiedCredentialsList_Reply = { + encode(message: VerifiedCredentialsList_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.credential !== undefined) { + AccountVerifiedCredentialRegistered.encode(message.credential, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): VerifiedCredentialsList_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVerifiedCredentialsList_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.credential = AccountVerifiedCredentialRegistered.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): VerifiedCredentialsList_Reply { + return { + credential: isSet(object.credential) + ? AccountVerifiedCredentialRegistered.fromJSON(object.credential) + : undefined, + }; + }, + + toJSON(message: VerifiedCredentialsList_Reply): unknown { + const obj: any = {}; + if (message.credential !== undefined) { + obj.credential = AccountVerifiedCredentialRegistered.toJSON(message.credential); + } + return obj; + }, + + create, I>>(base?: I): VerifiedCredentialsList_Reply { + return VerifiedCredentialsList_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): VerifiedCredentialsList_Reply { + const message = createBaseVerifiedCredentialsList_Reply(); + message.credential = (object.credential !== undefined && object.credential !== null) + ? AccountVerifiedCredentialRegistered.fromPartial(object.credential) + : undefined; + return message; + }, +}; + +function createBaseReplicationServiceRegisterGroup(): ReplicationServiceRegisterGroup { + return {}; +} + +export const ReplicationServiceRegisterGroup = { + encode(_: ReplicationServiceRegisterGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceRegisterGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceRegisterGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicationServiceRegisterGroup { + return {}; + }, + + toJSON(_: ReplicationServiceRegisterGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ReplicationServiceRegisterGroup { + return ReplicationServiceRegisterGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ReplicationServiceRegisterGroup { + const message = createBaseReplicationServiceRegisterGroup(); + return message; + }, +}; + +function createBaseReplicationServiceRegisterGroup_Request(): ReplicationServiceRegisterGroup_Request { + return { groupPk: new Uint8Array(0), token: "", authenticationUrl: "", replicationServer: "" }; +} + +export const ReplicationServiceRegisterGroup_Request = { + encode(message: ReplicationServiceRegisterGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPk.length !== 0) { + writer.uint32(10).bytes(message.groupPk); + } + if (message.token !== "") { + writer.uint32(18).string(message.token); + } + if (message.authenticationUrl !== "") { + writer.uint32(26).string(message.authenticationUrl); + } + if (message.replicationServer !== "") { + writer.uint32(34).string(message.replicationServer); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceRegisterGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceRegisterGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.token = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.authenticationUrl = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.replicationServer = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicationServiceRegisterGroup_Request { + return { + groupPk: isSet(object.groupPk) ? bytesFromBase64(object.groupPk) : new Uint8Array(0), + token: isSet(object.token) ? globalThis.String(object.token) : "", + authenticationUrl: isSet(object.authenticationUrl) ? globalThis.String(object.authenticationUrl) : "", + replicationServer: isSet(object.replicationServer) ? globalThis.String(object.replicationServer) : "", + }; + }, + + toJSON(message: ReplicationServiceRegisterGroup_Request): unknown { + const obj: any = {}; + if (message.groupPk.length !== 0) { + obj.groupPk = base64FromBytes(message.groupPk); + } + if (message.token !== "") { + obj.token = message.token; + } + if (message.authenticationUrl !== "") { + obj.authenticationUrl = message.authenticationUrl; + } + if (message.replicationServer !== "") { + obj.replicationServer = message.replicationServer; + } + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceRegisterGroup_Request { + return ReplicationServiceRegisterGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ReplicationServiceRegisterGroup_Request { + const message = createBaseReplicationServiceRegisterGroup_Request(); + message.groupPk = object.groupPk ?? new Uint8Array(0); + message.token = object.token ?? ""; + message.authenticationUrl = object.authenticationUrl ?? ""; + message.replicationServer = object.replicationServer ?? ""; + return message; + }, +}; + +function createBaseReplicationServiceRegisterGroup_Reply(): ReplicationServiceRegisterGroup_Reply { + return {}; +} + +export const ReplicationServiceRegisterGroup_Reply = { + encode(_: ReplicationServiceRegisterGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceRegisterGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceRegisterGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicationServiceRegisterGroup_Reply { + return {}; + }, + + toJSON(_: ReplicationServiceRegisterGroup_Reply): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceRegisterGroup_Reply { + return ReplicationServiceRegisterGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): ReplicationServiceRegisterGroup_Reply { + const message = createBaseReplicationServiceRegisterGroup_Reply(); + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup(): ReplicationServiceReplicateGroup { + return {}; +} + +export const ReplicationServiceReplicateGroup = { + encode(_: ReplicationServiceReplicateGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicationServiceReplicateGroup { + return {}; + }, + + toJSON(_: ReplicationServiceReplicateGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup { + return ReplicationServiceReplicateGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): ReplicationServiceReplicateGroup { + const message = createBaseReplicationServiceReplicateGroup(); + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup_Request(): ReplicationServiceReplicateGroup_Request { + return { group: undefined }; +} + +export const ReplicationServiceReplicateGroup_Request = { + encode(message: ReplicationServiceReplicateGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicationServiceReplicateGroup_Request { + return { group: isSet(object.group) ? Group.fromJSON(object.group) : undefined }; + }, + + toJSON(message: ReplicationServiceReplicateGroup_Request): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup_Request { + return ReplicationServiceReplicateGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ReplicationServiceReplicateGroup_Request { + const message = createBaseReplicationServiceReplicateGroup_Request(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup_Reply(): ReplicationServiceReplicateGroup_Reply { + return { ok: false }; +} + +export const ReplicationServiceReplicateGroup_Reply = { + encode(message: ReplicationServiceReplicateGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.ok === true) { + writer.uint32(8).bool(message.ok); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.ok = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicationServiceReplicateGroup_Reply { + return { ok: isSet(object.ok) ? globalThis.Boolean(object.ok) : false }; + }, + + toJSON(message: ReplicationServiceReplicateGroup_Reply): unknown { + const obj: any = {}; + if (message.ok === true) { + obj.ok = message.ok; + } + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup_Reply { + return ReplicationServiceReplicateGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ReplicationServiceReplicateGroup_Reply { + const message = createBaseReplicationServiceReplicateGroup_Reply(); + message.ok = object.ok ?? false; + return message; + }, +}; + +function createBaseSystemInfo(): SystemInfo { + return {}; +} + +export const SystemInfo = { + encode(_: SystemInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): SystemInfo { + return {}; + }, + + toJSON(_: SystemInfo): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): SystemInfo { + return SystemInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): SystemInfo { + const message = createBaseSystemInfo(); + return message; + }, +}; + +function createBaseSystemInfo_Request(): SystemInfo_Request { + return {}; +} + +export const SystemInfo_Request = { + encode(_: SystemInfo_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): SystemInfo_Request { + return {}; + }, + + toJSON(_: SystemInfo_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): SystemInfo_Request { + return SystemInfo_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): SystemInfo_Request { + const message = createBaseSystemInfo_Request(); + return message; + }, +}; + +function createBaseSystemInfo_Reply(): SystemInfo_Reply { + return { process: undefined, p2p: undefined, orbitdb: undefined, warns: [] }; +} + +export const SystemInfo_Reply = { + encode(message: SystemInfo_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.process !== undefined) { + SystemInfo_Process.encode(message.process, writer.uint32(10).fork()).ldelim(); + } + if (message.p2p !== undefined) { + SystemInfo_P2P.encode(message.p2p, writer.uint32(18).fork()).ldelim(); + } + if (message.orbitdb !== undefined) { + SystemInfo_OrbitDB.encode(message.orbitdb, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.warns) { + writer.uint32(34).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.process = SystemInfo_Process.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.p2p = SystemInfo_P2P.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.orbitdb = SystemInfo_OrbitDB.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.warns.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SystemInfo_Reply { + return { + process: isSet(object.process) ? SystemInfo_Process.fromJSON(object.process) : undefined, + p2p: isSet(object.p2p) ? SystemInfo_P2P.fromJSON(object.p2p) : undefined, + orbitdb: isSet(object.orbitdb) ? SystemInfo_OrbitDB.fromJSON(object.orbitdb) : undefined, + warns: globalThis.Array.isArray(object?.warns) ? object.warns.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: SystemInfo_Reply): unknown { + const obj: any = {}; + if (message.process !== undefined) { + obj.process = SystemInfo_Process.toJSON(message.process); + } + if (message.p2p !== undefined) { + obj.p2p = SystemInfo_P2P.toJSON(message.p2p); + } + if (message.orbitdb !== undefined) { + obj.orbitdb = SystemInfo_OrbitDB.toJSON(message.orbitdb); + } + if (message.warns?.length) { + obj.warns = message.warns; + } + return obj; + }, + + create, I>>(base?: I): SystemInfo_Reply { + return SystemInfo_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SystemInfo_Reply { + const message = createBaseSystemInfo_Reply(); + message.process = (object.process !== undefined && object.process !== null) + ? SystemInfo_Process.fromPartial(object.process) + : undefined; + message.p2p = (object.p2p !== undefined && object.p2p !== null) + ? SystemInfo_P2P.fromPartial(object.p2p) + : undefined; + message.orbitdb = (object.orbitdb !== undefined && object.orbitdb !== null) + ? SystemInfo_OrbitDB.fromPartial(object.orbitdb) + : undefined; + message.warns = object.warns?.map((e) => e) || []; + return message; + }, +}; + +function createBaseSystemInfo_OrbitDB(): SystemInfo_OrbitDB { + return { accountMetadata: undefined }; +} + +export const SystemInfo_OrbitDB = { + encode(message: SystemInfo_OrbitDB, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.accountMetadata !== undefined) { + SystemInfo_OrbitDB_ReplicationStatus.encode(message.accountMetadata, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_OrbitDB { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_OrbitDB(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.accountMetadata = SystemInfo_OrbitDB_ReplicationStatus.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SystemInfo_OrbitDB { + return { + accountMetadata: isSet(object.accountMetadata) + ? SystemInfo_OrbitDB_ReplicationStatus.fromJSON(object.accountMetadata) + : undefined, + }; + }, + + toJSON(message: SystemInfo_OrbitDB): unknown { + const obj: any = {}; + if (message.accountMetadata !== undefined) { + obj.accountMetadata = SystemInfo_OrbitDB_ReplicationStatus.toJSON(message.accountMetadata); + } + return obj; + }, + + create, I>>(base?: I): SystemInfo_OrbitDB { + return SystemInfo_OrbitDB.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SystemInfo_OrbitDB { + const message = createBaseSystemInfo_OrbitDB(); + message.accountMetadata = (object.accountMetadata !== undefined && object.accountMetadata !== null) + ? SystemInfo_OrbitDB_ReplicationStatus.fromPartial(object.accountMetadata) + : undefined; + return message; + }, +}; + +function createBaseSystemInfo_OrbitDB_ReplicationStatus(): SystemInfo_OrbitDB_ReplicationStatus { + return { progress: 0, maximum: 0, buffered: 0, queued: 0 }; +} + +export const SystemInfo_OrbitDB_ReplicationStatus = { + encode(message: SystemInfo_OrbitDB_ReplicationStatus, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.progress !== 0) { + writer.uint32(8).int64(message.progress); + } + if (message.maximum !== 0) { + writer.uint32(16).int64(message.maximum); + } + if (message.buffered !== 0) { + writer.uint32(24).int64(message.buffered); + } + if (message.queued !== 0) { + writer.uint32(32).int64(message.queued); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_OrbitDB_ReplicationStatus { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_OrbitDB_ReplicationStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.progress = longToNumber(reader.int64() as Long); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.maximum = longToNumber(reader.int64() as Long); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.buffered = longToNumber(reader.int64() as Long); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.queued = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SystemInfo_OrbitDB_ReplicationStatus { + return { + progress: isSet(object.progress) ? globalThis.Number(object.progress) : 0, + maximum: isSet(object.maximum) ? globalThis.Number(object.maximum) : 0, + buffered: isSet(object.buffered) ? globalThis.Number(object.buffered) : 0, + queued: isSet(object.queued) ? globalThis.Number(object.queued) : 0, + }; + }, + + toJSON(message: SystemInfo_OrbitDB_ReplicationStatus): unknown { + const obj: any = {}; + if (message.progress !== 0) { + obj.progress = Math.round(message.progress); + } + if (message.maximum !== 0) { + obj.maximum = Math.round(message.maximum); + } + if (message.buffered !== 0) { + obj.buffered = Math.round(message.buffered); + } + if (message.queued !== 0) { + obj.queued = Math.round(message.queued); + } + return obj; + }, + + create, I>>( + base?: I, + ): SystemInfo_OrbitDB_ReplicationStatus { + return SystemInfo_OrbitDB_ReplicationStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SystemInfo_OrbitDB_ReplicationStatus { + const message = createBaseSystemInfo_OrbitDB_ReplicationStatus(); + message.progress = object.progress ?? 0; + message.maximum = object.maximum ?? 0; + message.buffered = object.buffered ?? 0; + message.queued = object.queued ?? 0; + return message; + }, +}; + +function createBaseSystemInfo_P2P(): SystemInfo_P2P { + return { connectedPeers: 0 }; +} + +export const SystemInfo_P2P = { + encode(message: SystemInfo_P2P, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.connectedPeers !== 0) { + writer.uint32(8).int64(message.connectedPeers); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_P2P { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_P2P(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.connectedPeers = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SystemInfo_P2P { + return { connectedPeers: isSet(object.connectedPeers) ? globalThis.Number(object.connectedPeers) : 0 }; + }, + + toJSON(message: SystemInfo_P2P): unknown { + const obj: any = {}; + if (message.connectedPeers !== 0) { + obj.connectedPeers = Math.round(message.connectedPeers); + } + return obj; + }, + + create, I>>(base?: I): SystemInfo_P2P { + return SystemInfo_P2P.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SystemInfo_P2P { + const message = createBaseSystemInfo_P2P(); + message.connectedPeers = object.connectedPeers ?? 0; + return message; + }, +}; + +function createBaseSystemInfo_Process(): SystemInfo_Process { + return { + version: "", + vcsRef: "", + uptimeMs: 0, + userCpuTimeMs: 0, + systemCpuTimeMs: 0, + startedAt: 0, + rlimitCur: 0, + numGoroutine: 0, + nofile: 0, + tooManyOpenFiles: false, + numCpu: 0, + goVersion: "", + operatingSystem: "", + hostName: "", + arch: "", + rlimitMax: 0, + pid: 0, + ppid: 0, + priority: 0, + uid: 0, + workingDir: "", + systemUsername: "", + }; +} + +export const SystemInfo_Process = { + encode(message: SystemInfo_Process, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.version !== "") { + writer.uint32(10).string(message.version); + } + if (message.vcsRef !== "") { + writer.uint32(18).string(message.vcsRef); + } + if (message.uptimeMs !== 0) { + writer.uint32(24).int64(message.uptimeMs); + } + if (message.userCpuTimeMs !== 0) { + writer.uint32(80).int64(message.userCpuTimeMs); + } + if (message.systemCpuTimeMs !== 0) { + writer.uint32(88).int64(message.systemCpuTimeMs); + } + if (message.startedAt !== 0) { + writer.uint32(96).int64(message.startedAt); + } + if (message.rlimitCur !== 0) { + writer.uint32(104).uint64(message.rlimitCur); + } + if (message.numGoroutine !== 0) { + writer.uint32(112).int64(message.numGoroutine); + } + if (message.nofile !== 0) { + writer.uint32(120).int64(message.nofile); + } + if (message.tooManyOpenFiles === true) { + writer.uint32(128).bool(message.tooManyOpenFiles); + } + if (message.numCpu !== 0) { + writer.uint32(136).int64(message.numCpu); + } + if (message.goVersion !== "") { + writer.uint32(146).string(message.goVersion); + } + if (message.operatingSystem !== "") { + writer.uint32(154).string(message.operatingSystem); + } + if (message.hostName !== "") { + writer.uint32(162).string(message.hostName); + } + if (message.arch !== "") { + writer.uint32(170).string(message.arch); + } + if (message.rlimitMax !== 0) { + writer.uint32(176).uint64(message.rlimitMax); + } + if (message.pid !== 0) { + writer.uint32(184).int64(message.pid); + } + if (message.ppid !== 0) { + writer.uint32(192).int64(message.ppid); + } + if (message.priority !== 0) { + writer.uint32(200).int64(message.priority); + } + if (message.uid !== 0) { + writer.uint32(208).int64(message.uid); + } + if (message.workingDir !== "") { + writer.uint32(218).string(message.workingDir); + } + if (message.systemUsername !== "") { + writer.uint32(226).string(message.systemUsername); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): SystemInfo_Process { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSystemInfo_Process(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.version = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.vcsRef = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.uptimeMs = longToNumber(reader.int64() as Long); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.userCpuTimeMs = longToNumber(reader.int64() as Long); + continue; + case 11: + if (tag !== 88) { + break; + } + + message.systemCpuTimeMs = longToNumber(reader.int64() as Long); + continue; + case 12: + if (tag !== 96) { + break; + } + + message.startedAt = longToNumber(reader.int64() as Long); + continue; + case 13: + if (tag !== 104) { + break; + } + + message.rlimitCur = longToNumber(reader.uint64() as Long); + continue; + case 14: + if (tag !== 112) { + break; + } + + message.numGoroutine = longToNumber(reader.int64() as Long); + continue; + case 15: + if (tag !== 120) { + break; + } + + message.nofile = longToNumber(reader.int64() as Long); + continue; + case 16: + if (tag !== 128) { + break; + } + + message.tooManyOpenFiles = reader.bool(); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.numCpu = longToNumber(reader.int64() as Long); + continue; + case 18: + if (tag !== 146) { + break; + } + + message.goVersion = reader.string(); + continue; + case 19: + if (tag !== 154) { + break; + } + + message.operatingSystem = reader.string(); + continue; + case 20: + if (tag !== 162) { + break; + } + + message.hostName = reader.string(); + continue; + case 21: + if (tag !== 170) { + break; + } + + message.arch = reader.string(); + continue; + case 22: + if (tag !== 176) { + break; + } + + message.rlimitMax = longToNumber(reader.uint64() as Long); + continue; + case 23: + if (tag !== 184) { + break; + } + + message.pid = longToNumber(reader.int64() as Long); + continue; + case 24: + if (tag !== 192) { + break; + } + + message.ppid = longToNumber(reader.int64() as Long); + continue; + case 25: + if (tag !== 200) { + break; + } + + message.priority = longToNumber(reader.int64() as Long); + continue; + case 26: + if (tag !== 208) { + break; + } + + message.uid = longToNumber(reader.int64() as Long); + continue; + case 27: + if (tag !== 218) { + break; + } + + message.workingDir = reader.string(); + continue; + case 28: + if (tag !== 226) { + break; + } + + message.systemUsername = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): SystemInfo_Process { + return { + version: isSet(object.version) ? globalThis.String(object.version) : "", + vcsRef: isSet(object.vcsRef) ? globalThis.String(object.vcsRef) : "", + uptimeMs: isSet(object.uptimeMs) ? globalThis.Number(object.uptimeMs) : 0, + userCpuTimeMs: isSet(object.userCpuTimeMs) ? globalThis.Number(object.userCpuTimeMs) : 0, + systemCpuTimeMs: isSet(object.systemCpuTimeMs) ? globalThis.Number(object.systemCpuTimeMs) : 0, + startedAt: isSet(object.startedAt) ? globalThis.Number(object.startedAt) : 0, + rlimitCur: isSet(object.rlimitCur) ? globalThis.Number(object.rlimitCur) : 0, + numGoroutine: isSet(object.numGoroutine) ? globalThis.Number(object.numGoroutine) : 0, + nofile: isSet(object.nofile) ? globalThis.Number(object.nofile) : 0, + tooManyOpenFiles: isSet(object.tooManyOpenFiles) ? globalThis.Boolean(object.tooManyOpenFiles) : false, + numCpu: isSet(object.numCpu) ? globalThis.Number(object.numCpu) : 0, + goVersion: isSet(object.goVersion) ? globalThis.String(object.goVersion) : "", + operatingSystem: isSet(object.operatingSystem) ? globalThis.String(object.operatingSystem) : "", + hostName: isSet(object.hostName) ? globalThis.String(object.hostName) : "", + arch: isSet(object.arch) ? globalThis.String(object.arch) : "", + rlimitMax: isSet(object.rlimitMax) ? globalThis.Number(object.rlimitMax) : 0, + pid: isSet(object.pid) ? globalThis.Number(object.pid) : 0, + ppid: isSet(object.ppid) ? globalThis.Number(object.ppid) : 0, + priority: isSet(object.priority) ? globalThis.Number(object.priority) : 0, + uid: isSet(object.uid) ? globalThis.Number(object.uid) : 0, + workingDir: isSet(object.workingDir) ? globalThis.String(object.workingDir) : "", + systemUsername: isSet(object.systemUsername) ? globalThis.String(object.systemUsername) : "", + }; + }, + + toJSON(message: SystemInfo_Process): unknown { + const obj: any = {}; + if (message.version !== "") { + obj.version = message.version; + } + if (message.vcsRef !== "") { + obj.vcsRef = message.vcsRef; + } + if (message.uptimeMs !== 0) { + obj.uptimeMs = Math.round(message.uptimeMs); + } + if (message.userCpuTimeMs !== 0) { + obj.userCpuTimeMs = Math.round(message.userCpuTimeMs); + } + if (message.systemCpuTimeMs !== 0) { + obj.systemCpuTimeMs = Math.round(message.systemCpuTimeMs); + } + if (message.startedAt !== 0) { + obj.startedAt = Math.round(message.startedAt); + } + if (message.rlimitCur !== 0) { + obj.rlimitCur = Math.round(message.rlimitCur); + } + if (message.numGoroutine !== 0) { + obj.numGoroutine = Math.round(message.numGoroutine); + } + if (message.nofile !== 0) { + obj.nofile = Math.round(message.nofile); + } + if (message.tooManyOpenFiles === true) { + obj.tooManyOpenFiles = message.tooManyOpenFiles; + } + if (message.numCpu !== 0) { + obj.numCpu = Math.round(message.numCpu); + } + if (message.goVersion !== "") { + obj.goVersion = message.goVersion; + } + if (message.operatingSystem !== "") { + obj.operatingSystem = message.operatingSystem; + } + if (message.hostName !== "") { + obj.hostName = message.hostName; + } + if (message.arch !== "") { + obj.arch = message.arch; + } + if (message.rlimitMax !== 0) { + obj.rlimitMax = Math.round(message.rlimitMax); + } + if (message.pid !== 0) { + obj.pid = Math.round(message.pid); + } + if (message.ppid !== 0) { + obj.ppid = Math.round(message.ppid); + } + if (message.priority !== 0) { + obj.priority = Math.round(message.priority); + } + if (message.uid !== 0) { + obj.uid = Math.round(message.uid); + } + if (message.workingDir !== "") { + obj.workingDir = message.workingDir; + } + if (message.systemUsername !== "") { + obj.systemUsername = message.systemUsername; + } + return obj; + }, + + create, I>>(base?: I): SystemInfo_Process { + return SystemInfo_Process.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SystemInfo_Process { + const message = createBaseSystemInfo_Process(); + message.version = object.version ?? ""; + message.vcsRef = object.vcsRef ?? ""; + message.uptimeMs = object.uptimeMs ?? 0; + message.userCpuTimeMs = object.userCpuTimeMs ?? 0; + message.systemCpuTimeMs = object.systemCpuTimeMs ?? 0; + message.startedAt = object.startedAt ?? 0; + message.rlimitCur = object.rlimitCur ?? 0; + message.numGoroutine = object.numGoroutine ?? 0; + message.nofile = object.nofile ?? 0; + message.tooManyOpenFiles = object.tooManyOpenFiles ?? false; + message.numCpu = object.numCpu ?? 0; + message.goVersion = object.goVersion ?? ""; + message.operatingSystem = object.operatingSystem ?? ""; + message.hostName = object.hostName ?? ""; + message.arch = object.arch ?? ""; + message.rlimitMax = object.rlimitMax ?? 0; + message.pid = object.pid ?? 0; + message.ppid = object.ppid ?? 0; + message.priority = object.priority ?? 0; + message.uid = object.uid ?? 0; + message.workingDir = object.workingDir ?? ""; + message.systemUsername = object.systemUsername ?? ""; + return message; + }, +}; + +function createBasePeerList(): PeerList { + return {}; +} + +export const PeerList = { + encode(_: PeerList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): PeerList { + return {}; + }, + + toJSON(_: PeerList): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): PeerList { + return PeerList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): PeerList { + const message = createBasePeerList(); + return message; + }, +}; + +function createBasePeerList_Request(): PeerList_Request { + return {}; +} + +export const PeerList_Request = { + encode(_: PeerList_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): PeerList_Request { + return {}; + }, + + toJSON(_: PeerList_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): PeerList_Request { + return PeerList_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): PeerList_Request { + const message = createBasePeerList_Request(); + return message; + }, +}; + +function createBasePeerList_Reply(): PeerList_Reply { + return { peers: [] }; +} + +export const PeerList_Reply = { + encode(message: PeerList_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.peers) { + PeerList_Peer.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peers.push(PeerList_Peer.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerList_Reply { + return { + peers: globalThis.Array.isArray(object?.peers) ? object.peers.map((e: any) => PeerList_Peer.fromJSON(e)) : [], + }; + }, + + toJSON(message: PeerList_Reply): unknown { + const obj: any = {}; + if (message.peers?.length) { + obj.peers = message.peers.map((e) => PeerList_Peer.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): PeerList_Reply { + return PeerList_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerList_Reply { + const message = createBasePeerList_Reply(); + message.peers = object.peers?.map((e) => PeerList_Peer.fromPartial(e)) || []; + return message; + }, +}; + +function createBasePeerList_Peer(): PeerList_Peer { + return { id: "", routes: [], errors: [], features: [], minLatency: 0, isActive: false, direction: 0 }; +} + +export const PeerList_Peer = { + encode(message: PeerList_Peer, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + for (const v of message.routes) { + PeerList_Route.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.errors) { + writer.uint32(26).string(v!); + } + writer.uint32(34).fork(); + for (const v of message.features) { + writer.int32(v); + } + writer.ldelim(); + if (message.minLatency !== 0) { + writer.uint32(40).int64(message.minLatency); + } + if (message.isActive === true) { + writer.uint32(48).bool(message.isActive); + } + if (message.direction !== 0) { + writer.uint32(56).int32(message.direction); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList_Peer { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList_Peer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.routes.push(PeerList_Route.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.errors.push(reader.string()); + continue; + case 4: + if (tag === 32) { + message.features.push(reader.int32() as any); + + continue; + } + + if (tag === 34) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.features.push(reader.int32() as any); + } + + continue; + } + + break; + case 5: + if (tag !== 40) { + break; + } + + message.minLatency = longToNumber(reader.int64() as Long); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.isActive = reader.bool(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.direction = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerList_Peer { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + routes: globalThis.Array.isArray(object?.routes) ? object.routes.map((e: any) => PeerList_Route.fromJSON(e)) : [], + errors: globalThis.Array.isArray(object?.errors) ? object.errors.map((e: any) => globalThis.String(e)) : [], + features: globalThis.Array.isArray(object?.features) + ? object.features.map((e: any) => peerList_FeatureFromJSON(e)) + : [], + minLatency: isSet(object.minLatency) ? globalThis.Number(object.minLatency) : 0, + isActive: isSet(object.isActive) ? globalThis.Boolean(object.isActive) : false, + direction: isSet(object.direction) ? directionFromJSON(object.direction) : 0, + }; + }, + + toJSON(message: PeerList_Peer): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.routes?.length) { + obj.routes = message.routes.map((e) => PeerList_Route.toJSON(e)); + } + if (message.errors?.length) { + obj.errors = message.errors; + } + if (message.features?.length) { + obj.features = message.features.map((e) => peerList_FeatureToJSON(e)); + } + if (message.minLatency !== 0) { + obj.minLatency = Math.round(message.minLatency); + } + if (message.isActive === true) { + obj.isActive = message.isActive; + } + if (message.direction !== 0) { + obj.direction = directionToJSON(message.direction); + } + return obj; + }, + + create, I>>(base?: I): PeerList_Peer { + return PeerList_Peer.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerList_Peer { + const message = createBasePeerList_Peer(); + message.id = object.id ?? ""; + message.routes = object.routes?.map((e) => PeerList_Route.fromPartial(e)) || []; + message.errors = object.errors?.map((e) => e) || []; + message.features = object.features?.map((e) => e) || []; + message.minLatency = object.minLatency ?? 0; + message.isActive = object.isActive ?? false; + message.direction = object.direction ?? 0; + return message; + }, +}; + +function createBasePeerList_Route(): PeerList_Route { + return { isActive: false, address: "", direction: 0, latency: 0, streams: [] }; +} + +export const PeerList_Route = { + encode(message: PeerList_Route, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.isActive === true) { + writer.uint32(8).bool(message.isActive); + } + if (message.address !== "") { + writer.uint32(18).string(message.address); + } + if (message.direction !== 0) { + writer.uint32(24).int32(message.direction); + } + if (message.latency !== 0) { + writer.uint32(32).int64(message.latency); + } + for (const v of message.streams) { + PeerList_Stream.encode(v!, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList_Route { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList_Route(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.isActive = reader.bool(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.address = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.direction = reader.int32() as any; + continue; + case 4: + if (tag !== 32) { + break; + } + + message.latency = longToNumber(reader.int64() as Long); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.streams.push(PeerList_Stream.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerList_Route { + return { + isActive: isSet(object.isActive) ? globalThis.Boolean(object.isActive) : false, + address: isSet(object.address) ? globalThis.String(object.address) : "", + direction: isSet(object.direction) ? directionFromJSON(object.direction) : 0, + latency: isSet(object.latency) ? globalThis.Number(object.latency) : 0, + streams: globalThis.Array.isArray(object?.streams) + ? object.streams.map((e: any) => PeerList_Stream.fromJSON(e)) + : [], + }; + }, + + toJSON(message: PeerList_Route): unknown { + const obj: any = {}; + if (message.isActive === true) { + obj.isActive = message.isActive; + } + if (message.address !== "") { + obj.address = message.address; + } + if (message.direction !== 0) { + obj.direction = directionToJSON(message.direction); + } + if (message.latency !== 0) { + obj.latency = Math.round(message.latency); + } + if (message.streams?.length) { + obj.streams = message.streams.map((e) => PeerList_Stream.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): PeerList_Route { + return PeerList_Route.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerList_Route { + const message = createBasePeerList_Route(); + message.isActive = object.isActive ?? false; + message.address = object.address ?? ""; + message.direction = object.direction ?? 0; + message.latency = object.latency ?? 0; + message.streams = object.streams?.map((e) => PeerList_Stream.fromPartial(e)) || []; + return message; + }, +}; + +function createBasePeerList_Stream(): PeerList_Stream { + return { id: "" }; +} + +export const PeerList_Stream = { + encode(message: PeerList_Stream, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PeerList_Stream { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerList_Stream(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerList_Stream { + return { id: isSet(object.id) ? globalThis.String(object.id) : "" }; + }, + + toJSON(message: PeerList_Stream): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + return obj; + }, + + create, I>>(base?: I): PeerList_Stream { + return PeerList_Stream.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerList_Stream { + const message = createBasePeerList_Stream(); + message.id = object.id ?? ""; + return message; + }, +}; + +function createBaseProgress(): Progress { + return { state: "", doing: "", progress: 0, completed: 0, total: 0, delay: 0 }; +} + +export const Progress = { + encode(message: Progress, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.state !== "") { + writer.uint32(10).string(message.state); + } + if (message.doing !== "") { + writer.uint32(18).string(message.doing); + } + if (message.progress !== 0) { + writer.uint32(29).float(message.progress); + } + if (message.completed !== 0) { + writer.uint32(32).uint64(message.completed); + } + if (message.total !== 0) { + writer.uint32(40).uint64(message.total); + } + if (message.delay !== 0) { + writer.uint32(48).uint64(message.delay); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Progress { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProgress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.state = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.doing = reader.string(); + continue; + case 3: + if (tag !== 29) { + break; + } + + message.progress = reader.float(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.completed = longToNumber(reader.uint64() as Long); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.total = longToNumber(reader.uint64() as Long); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.delay = longToNumber(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Progress { + return { + state: isSet(object.state) ? globalThis.String(object.state) : "", + doing: isSet(object.doing) ? globalThis.String(object.doing) : "", + progress: isSet(object.progress) ? globalThis.Number(object.progress) : 0, + completed: isSet(object.completed) ? globalThis.Number(object.completed) : 0, + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + delay: isSet(object.delay) ? globalThis.Number(object.delay) : 0, + }; + }, + + toJSON(message: Progress): unknown { + const obj: any = {}; + if (message.state !== "") { + obj.state = message.state; + } + if (message.doing !== "") { + obj.doing = message.doing; + } + if (message.progress !== 0) { + obj.progress = message.progress; + } + if (message.completed !== 0) { + obj.completed = Math.round(message.completed); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + if (message.delay !== 0) { + obj.delay = Math.round(message.delay); + } + return obj; + }, + + create, I>>(base?: I): Progress { + return Progress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Progress { + const message = createBaseProgress(); + message.state = object.state ?? ""; + message.doing = object.doing ?? ""; + message.progress = object.progress ?? 0; + message.completed = object.completed ?? 0; + message.total = object.total ?? 0; + message.delay = object.delay ?? 0; + return message; + }, +}; + +function createBaseOutOfStoreMessage(): OutOfStoreMessage { + return { + cid: new Uint8Array(0), + devicePk: new Uint8Array(0), + counter: 0, + sig: new Uint8Array(0), + flags: 0, + encryptedPayload: new Uint8Array(0), + nonce: new Uint8Array(0), + }; +} + +export const OutOfStoreMessage = { + encode(message: OutOfStoreMessage, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.cid.length !== 0) { + writer.uint32(10).bytes(message.cid); + } + if (message.devicePk.length !== 0) { + writer.uint32(18).bytes(message.devicePk); + } + if (message.counter !== 0) { + writer.uint32(25).fixed64(message.counter); + } + if (message.sig.length !== 0) { + writer.uint32(34).bytes(message.sig); + } + if (message.flags !== 0) { + writer.uint32(45).fixed32(message.flags); + } + if (message.encryptedPayload.length !== 0) { + writer.uint32(50).bytes(message.encryptedPayload); + } + if (message.nonce.length !== 0) { + writer.uint32(58).bytes(message.nonce); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreMessage { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreMessage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cid = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 3: + if (tag !== 25) { + break; + } + + message.counter = longToNumber(reader.fixed64() as Long); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.sig = reader.bytes(); + continue; + case 5: + if (tag !== 45) { + break; + } + + message.flags = reader.fixed32(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.encryptedPayload = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.nonce = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreMessage { + return { + cid: isSet(object.cid) ? bytesFromBase64(object.cid) : new Uint8Array(0), + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + counter: isSet(object.counter) ? globalThis.Number(object.counter) : 0, + sig: isSet(object.sig) ? bytesFromBase64(object.sig) : new Uint8Array(0), + flags: isSet(object.flags) ? globalThis.Number(object.flags) : 0, + encryptedPayload: isSet(object.encryptedPayload) ? bytesFromBase64(object.encryptedPayload) : new Uint8Array(0), + nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0), + }; + }, + + toJSON(message: OutOfStoreMessage): unknown { + const obj: any = {}; + if (message.cid.length !== 0) { + obj.cid = base64FromBytes(message.cid); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.counter !== 0) { + obj.counter = Math.round(message.counter); + } + if (message.sig.length !== 0) { + obj.sig = base64FromBytes(message.sig); + } + if (message.flags !== 0) { + obj.flags = Math.round(message.flags); + } + if (message.encryptedPayload.length !== 0) { + obj.encryptedPayload = base64FromBytes(message.encryptedPayload); + } + if (message.nonce.length !== 0) { + obj.nonce = base64FromBytes(message.nonce); + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreMessage { + return OutOfStoreMessage.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreMessage { + const message = createBaseOutOfStoreMessage(); + message.cid = object.cid ?? new Uint8Array(0); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.counter = object.counter ?? 0; + message.sig = object.sig ?? new Uint8Array(0); + message.flags = object.flags ?? 0; + message.encryptedPayload = object.encryptedPayload ?? new Uint8Array(0); + message.nonce = object.nonce ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseOutOfStoreMessageEnvelope(): OutOfStoreMessageEnvelope { + return { nonce: new Uint8Array(0), box: new Uint8Array(0), groupReference: new Uint8Array(0) }; +} + +export const OutOfStoreMessageEnvelope = { + encode(message: OutOfStoreMessageEnvelope, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.nonce.length !== 0) { + writer.uint32(10).bytes(message.nonce); + } + if (message.box.length !== 0) { + writer.uint32(18).bytes(message.box); + } + if (message.groupReference.length !== 0) { + writer.uint32(26).bytes(message.groupReference); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreMessageEnvelope { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreMessageEnvelope(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.nonce = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.box = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.groupReference = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreMessageEnvelope { + return { + nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0), + box: isSet(object.box) ? bytesFromBase64(object.box) : new Uint8Array(0), + groupReference: isSet(object.groupReference) ? bytesFromBase64(object.groupReference) : new Uint8Array(0), + }; + }, + + toJSON(message: OutOfStoreMessageEnvelope): unknown { + const obj: any = {}; + if (message.nonce.length !== 0) { + obj.nonce = base64FromBytes(message.nonce); + } + if (message.box.length !== 0) { + obj.box = base64FromBytes(message.box); + } + if (message.groupReference.length !== 0) { + obj.groupReference = base64FromBytes(message.groupReference); + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreMessageEnvelope { + return OutOfStoreMessageEnvelope.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreMessageEnvelope { + const message = createBaseOutOfStoreMessageEnvelope(); + message.nonce = object.nonce ?? new Uint8Array(0); + message.box = object.box ?? new Uint8Array(0); + message.groupReference = object.groupReference ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseOutOfStoreReceive(): OutOfStoreReceive { + return {}; +} + +export const OutOfStoreReceive = { + encode(_: OutOfStoreReceive, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreReceive { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreReceive(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): OutOfStoreReceive { + return {}; + }, + + toJSON(_: OutOfStoreReceive): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): OutOfStoreReceive { + return OutOfStoreReceive.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): OutOfStoreReceive { + const message = createBaseOutOfStoreReceive(); + return message; + }, +}; + +function createBaseOutOfStoreReceive_Request(): OutOfStoreReceive_Request { + return { payload: new Uint8Array(0) }; +} + +export const OutOfStoreReceive_Request = { + encode(message: OutOfStoreReceive_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.payload.length !== 0) { + writer.uint32(10).bytes(message.payload); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreReceive_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreReceive_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreReceive_Request { + return { payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0) }; + }, + + toJSON(message: OutOfStoreReceive_Request): unknown { + const obj: any = {}; + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreReceive_Request { + return OutOfStoreReceive_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreReceive_Request { + const message = createBaseOutOfStoreReceive_Request(); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseOutOfStoreReceive_Reply(): OutOfStoreReceive_Reply { + return { + message: undefined, + cleartext: new Uint8Array(0), + groupPublicKey: new Uint8Array(0), + alreadyReceived: false, + }; +} + +export const OutOfStoreReceive_Reply = { + encode(message: OutOfStoreReceive_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.message !== undefined) { + OutOfStoreMessage.encode(message.message, writer.uint32(10).fork()).ldelim(); + } + if (message.cleartext.length !== 0) { + writer.uint32(18).bytes(message.cleartext); + } + if (message.groupPublicKey.length !== 0) { + writer.uint32(26).bytes(message.groupPublicKey); + } + if (message.alreadyReceived === true) { + writer.uint32(32).bool(message.alreadyReceived); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreReceive_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreReceive_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message = OutOfStoreMessage.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.cleartext = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.groupPublicKey = reader.bytes(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.alreadyReceived = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreReceive_Reply { + return { + message: isSet(object.message) ? OutOfStoreMessage.fromJSON(object.message) : undefined, + cleartext: isSet(object.cleartext) ? bytesFromBase64(object.cleartext) : new Uint8Array(0), + groupPublicKey: isSet(object.groupPublicKey) ? bytesFromBase64(object.groupPublicKey) : new Uint8Array(0), + alreadyReceived: isSet(object.alreadyReceived) ? globalThis.Boolean(object.alreadyReceived) : false, + }; + }, + + toJSON(message: OutOfStoreReceive_Reply): unknown { + const obj: any = {}; + if (message.message !== undefined) { + obj.message = OutOfStoreMessage.toJSON(message.message); + } + if (message.cleartext.length !== 0) { + obj.cleartext = base64FromBytes(message.cleartext); + } + if (message.groupPublicKey.length !== 0) { + obj.groupPublicKey = base64FromBytes(message.groupPublicKey); + } + if (message.alreadyReceived === true) { + obj.alreadyReceived = message.alreadyReceived; + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreReceive_Reply { + return OutOfStoreReceive_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreReceive_Reply { + const message = createBaseOutOfStoreReceive_Reply(); + message.message = (object.message !== undefined && object.message !== null) + ? OutOfStoreMessage.fromPartial(object.message) + : undefined; + message.cleartext = object.cleartext ?? new Uint8Array(0); + message.groupPublicKey = object.groupPublicKey ?? new Uint8Array(0); + message.alreadyReceived = object.alreadyReceived ?? false; + return message; + }, +}; + +function createBaseOutOfStoreSeal(): OutOfStoreSeal { + return {}; +} + +export const OutOfStoreSeal = { + encode(_: OutOfStoreSeal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreSeal { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreSeal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): OutOfStoreSeal { + return {}; + }, + + toJSON(_: OutOfStoreSeal): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): OutOfStoreSeal { + return OutOfStoreSeal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): OutOfStoreSeal { + const message = createBaseOutOfStoreSeal(); + return message; + }, +}; + +function createBaseOutOfStoreSeal_Request(): OutOfStoreSeal_Request { + return { cid: new Uint8Array(0), groupPublicKey: new Uint8Array(0) }; +} + +export const OutOfStoreSeal_Request = { + encode(message: OutOfStoreSeal_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.cid.length !== 0) { + writer.uint32(10).bytes(message.cid); + } + if (message.groupPublicKey.length !== 0) { + writer.uint32(18).bytes(message.groupPublicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreSeal_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreSeal_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cid = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.groupPublicKey = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreSeal_Request { + return { + cid: isSet(object.cid) ? bytesFromBase64(object.cid) : new Uint8Array(0), + groupPublicKey: isSet(object.groupPublicKey) ? bytesFromBase64(object.groupPublicKey) : new Uint8Array(0), + }; + }, + + toJSON(message: OutOfStoreSeal_Request): unknown { + const obj: any = {}; + if (message.cid.length !== 0) { + obj.cid = base64FromBytes(message.cid); + } + if (message.groupPublicKey.length !== 0) { + obj.groupPublicKey = base64FromBytes(message.groupPublicKey); + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreSeal_Request { + return OutOfStoreSeal_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreSeal_Request { + const message = createBaseOutOfStoreSeal_Request(); + message.cid = object.cid ?? new Uint8Array(0); + message.groupPublicKey = object.groupPublicKey ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseOutOfStoreSeal_Reply(): OutOfStoreSeal_Reply { + return { encrypted: new Uint8Array(0) }; +} + +export const OutOfStoreSeal_Reply = { + encode(message: OutOfStoreSeal_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.encrypted.length !== 0) { + writer.uint32(10).bytes(message.encrypted); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OutOfStoreSeal_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutOfStoreSeal_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.encrypted = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OutOfStoreSeal_Reply { + return { encrypted: isSet(object.encrypted) ? bytesFromBase64(object.encrypted) : new Uint8Array(0) }; + }, + + toJSON(message: OutOfStoreSeal_Reply): unknown { + const obj: any = {}; + if (message.encrypted.length !== 0) { + obj.encrypted = base64FromBytes(message.encrypted); + } + return obj; + }, + + create, I>>(base?: I): OutOfStoreSeal_Reply { + return OutOfStoreSeal_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OutOfStoreSeal_Reply { + const message = createBaseOutOfStoreSeal_Reply(); + message.encrypted = object.encrypted ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAccountVerifiedCredentialRegistered(): AccountVerifiedCredentialRegistered { + return { + devicePk: new Uint8Array(0), + signedIdentityPublicKey: new Uint8Array(0), + verifiedCredential: "", + registrationDate: 0, + expirationDate: 0, + identifier: "", + issuer: "", + }; +} + +export const AccountVerifiedCredentialRegistered = { + encode(message: AccountVerifiedCredentialRegistered, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.devicePk.length !== 0) { + writer.uint32(10).bytes(message.devicePk); + } + if (message.signedIdentityPublicKey.length !== 0) { + writer.uint32(18).bytes(message.signedIdentityPublicKey); + } + if (message.verifiedCredential !== "") { + writer.uint32(26).string(message.verifiedCredential); + } + if (message.registrationDate !== 0) { + writer.uint32(32).int64(message.registrationDate); + } + if (message.expirationDate !== 0) { + writer.uint32(40).int64(message.expirationDate); + } + if (message.identifier !== "") { + writer.uint32(50).string(message.identifier); + } + if (message.issuer !== "") { + writer.uint32(58).string(message.issuer); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountVerifiedCredentialRegistered { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountVerifiedCredentialRegistered(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signedIdentityPublicKey = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.verifiedCredential = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.registrationDate = longToNumber(reader.int64() as Long); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.expirationDate = longToNumber(reader.int64() as Long); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.identifier = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.issuer = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountVerifiedCredentialRegistered { + return { + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + signedIdentityPublicKey: isSet(object.signedIdentityPublicKey) + ? bytesFromBase64(object.signedIdentityPublicKey) + : new Uint8Array(0), + verifiedCredential: isSet(object.verifiedCredential) ? globalThis.String(object.verifiedCredential) : "", + registrationDate: isSet(object.registrationDate) ? globalThis.Number(object.registrationDate) : 0, + expirationDate: isSet(object.expirationDate) ? globalThis.Number(object.expirationDate) : 0, + identifier: isSet(object.identifier) ? globalThis.String(object.identifier) : "", + issuer: isSet(object.issuer) ? globalThis.String(object.issuer) : "", + }; + }, + + toJSON(message: AccountVerifiedCredentialRegistered): unknown { + const obj: any = {}; + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.signedIdentityPublicKey.length !== 0) { + obj.signedIdentityPublicKey = base64FromBytes(message.signedIdentityPublicKey); + } + if (message.verifiedCredential !== "") { + obj.verifiedCredential = message.verifiedCredential; + } + if (message.registrationDate !== 0) { + obj.registrationDate = Math.round(message.registrationDate); + } + if (message.expirationDate !== 0) { + obj.expirationDate = Math.round(message.expirationDate); + } + if (message.identifier !== "") { + obj.identifier = message.identifier; + } + if (message.issuer !== "") { + obj.issuer = message.issuer; + } + return obj; + }, + + create, I>>( + base?: I, + ): AccountVerifiedCredentialRegistered { + return AccountVerifiedCredentialRegistered.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AccountVerifiedCredentialRegistered { + const message = createBaseAccountVerifiedCredentialRegistered(); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.signedIdentityPublicKey = object.signedIdentityPublicKey ?? new Uint8Array(0); + message.verifiedCredential = object.verifiedCredential ?? ""; + message.registrationDate = object.registrationDate ?? 0; + message.expirationDate = object.expirationDate ?? 0; + message.identifier = object.identifier ?? ""; + message.issuer = object.issuer ?? ""; + return message; + }, +}; + +function createBaseFirstLastCounters(): FirstLastCounters { + return { first: 0, last: 0 }; +} + +export const FirstLastCounters = { + encode(message: FirstLastCounters, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.first !== 0) { + writer.uint32(8).uint64(message.first); + } + if (message.last !== 0) { + writer.uint32(16).uint64(message.last); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): FirstLastCounters { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFirstLastCounters(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.first = longToNumber(reader.uint64() as Long); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.last = longToNumber(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): FirstLastCounters { + return { + first: isSet(object.first) ? globalThis.Number(object.first) : 0, + last: isSet(object.last) ? globalThis.Number(object.last) : 0, + }; + }, + + toJSON(message: FirstLastCounters): unknown { + const obj: any = {}; + if (message.first !== 0) { + obj.first = Math.round(message.first); + } + if (message.last !== 0) { + obj.last = Math.round(message.last); + } + return obj; + }, + + create, I>>(base?: I): FirstLastCounters { + return FirstLastCounters.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FirstLastCounters { + const message = createBaseFirstLastCounters(); + message.first = object.first ?? 0; + message.last = object.last ?? 0; + return message; + }, +}; + +function createBaseOrbitDBMessageHeads(): OrbitDBMessageHeads { + return { sealedBox: new Uint8Array(0), rawRotation: new Uint8Array(0) }; +} + +export const OrbitDBMessageHeads = { + encode(message: OrbitDBMessageHeads, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sealedBox.length !== 0) { + writer.uint32(18).bytes(message.sealedBox); + } + if (message.rawRotation.length !== 0) { + writer.uint32(26).bytes(message.rawRotation); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OrbitDBMessageHeads { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOrbitDBMessageHeads(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.sealedBox = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.rawRotation = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OrbitDBMessageHeads { + return { + sealedBox: isSet(object.sealedBox) ? bytesFromBase64(object.sealedBox) : new Uint8Array(0), + rawRotation: isSet(object.rawRotation) ? bytesFromBase64(object.rawRotation) : new Uint8Array(0), + }; + }, + + toJSON(message: OrbitDBMessageHeads): unknown { + const obj: any = {}; + if (message.sealedBox.length !== 0) { + obj.sealedBox = base64FromBytes(message.sealedBox); + } + if (message.rawRotation.length !== 0) { + obj.rawRotation = base64FromBytes(message.rawRotation); + } + return obj; + }, + + create, I>>(base?: I): OrbitDBMessageHeads { + return OrbitDBMessageHeads.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OrbitDBMessageHeads { + const message = createBaseOrbitDBMessageHeads(); + message.sealedBox = object.sealedBox ?? new Uint8Array(0); + message.rawRotation = object.rawRotation ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseOrbitDBMessageHeads_Box(): OrbitDBMessageHeads_Box { + return { address: "", heads: new Uint8Array(0), devicePk: new Uint8Array(0), peerId: new Uint8Array(0) }; +} + +export const OrbitDBMessageHeads_Box = { + encode(message: OrbitDBMessageHeads_Box, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.heads.length !== 0) { + writer.uint32(18).bytes(message.heads); + } + if (message.devicePk.length !== 0) { + writer.uint32(26).bytes(message.devicePk); + } + if (message.peerId.length !== 0) { + writer.uint32(34).bytes(message.peerId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): OrbitDBMessageHeads_Box { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOrbitDBMessageHeads_Box(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.heads = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.devicePk = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.peerId = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): OrbitDBMessageHeads_Box { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + heads: isSet(object.heads) ? bytesFromBase64(object.heads) : new Uint8Array(0), + devicePk: isSet(object.devicePk) ? bytesFromBase64(object.devicePk) : new Uint8Array(0), + peerId: isSet(object.peerId) ? bytesFromBase64(object.peerId) : new Uint8Array(0), + }; + }, + + toJSON(message: OrbitDBMessageHeads_Box): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.heads.length !== 0) { + obj.heads = base64FromBytes(message.heads); + } + if (message.devicePk.length !== 0) { + obj.devicePk = base64FromBytes(message.devicePk); + } + if (message.peerId.length !== 0) { + obj.peerId = base64FromBytes(message.peerId); + } + return obj; + }, + + create, I>>(base?: I): OrbitDBMessageHeads_Box { + return OrbitDBMessageHeads_Box.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OrbitDBMessageHeads_Box { + const message = createBaseOrbitDBMessageHeads_Box(); + message.address = object.address ?? ""; + message.heads = object.heads ?? new Uint8Array(0); + message.devicePk = object.devicePk ?? new Uint8Array(0); + message.peerId = object.peerId ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseRefreshContactRequest(): RefreshContactRequest { + return {}; +} + +export const RefreshContactRequest = { + encode(_: RefreshContactRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RefreshContactRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRefreshContactRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): RefreshContactRequest { + return {}; + }, + + toJSON(_: RefreshContactRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): RefreshContactRequest { + return RefreshContactRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): RefreshContactRequest { + const message = createBaseRefreshContactRequest(); + return message; + }, +}; + +function createBaseRefreshContactRequest_Peer(): RefreshContactRequest_Peer { + return { id: "", addrs: [] }; +} + +export const RefreshContactRequest_Peer = { + encode(message: RefreshContactRequest_Peer, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + for (const v of message.addrs) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RefreshContactRequest_Peer { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRefreshContactRequest_Peer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.addrs.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): RefreshContactRequest_Peer { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + addrs: globalThis.Array.isArray(object?.addrs) ? object.addrs.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: RefreshContactRequest_Peer): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.addrs?.length) { + obj.addrs = message.addrs; + } + return obj; + }, + + create, I>>(base?: I): RefreshContactRequest_Peer { + return RefreshContactRequest_Peer.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RefreshContactRequest_Peer { + const message = createBaseRefreshContactRequest_Peer(); + message.id = object.id ?? ""; + message.addrs = object.addrs?.map((e) => e) || []; + return message; + }, +}; + +function createBaseRefreshContactRequest_Request(): RefreshContactRequest_Request { + return { contactPk: new Uint8Array(0), timeout: 0 }; +} + +export const RefreshContactRequest_Request = { + encode(message: RefreshContactRequest_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contactPk.length !== 0) { + writer.uint32(10).bytes(message.contactPk); + } + if (message.timeout !== 0) { + writer.uint32(16).int64(message.timeout); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RefreshContactRequest_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRefreshContactRequest_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contactPk = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.timeout = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): RefreshContactRequest_Request { + return { + contactPk: isSet(object.contactPk) ? bytesFromBase64(object.contactPk) : new Uint8Array(0), + timeout: isSet(object.timeout) ? globalThis.Number(object.timeout) : 0, + }; + }, + + toJSON(message: RefreshContactRequest_Request): unknown { + const obj: any = {}; + if (message.contactPk.length !== 0) { + obj.contactPk = base64FromBytes(message.contactPk); + } + if (message.timeout !== 0) { + obj.timeout = Math.round(message.timeout); + } + return obj; + }, + + create, I>>(base?: I): RefreshContactRequest_Request { + return RefreshContactRequest_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RefreshContactRequest_Request { + const message = createBaseRefreshContactRequest_Request(); + message.contactPk = object.contactPk ?? new Uint8Array(0); + message.timeout = object.timeout ?? 0; + return message; + }, +}; + +function createBaseRefreshContactRequest_Reply(): RefreshContactRequest_Reply { + return { peersFound: [] }; +} + +export const RefreshContactRequest_Reply = { + encode(message: RefreshContactRequest_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.peersFound) { + RefreshContactRequest_Peer.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RefreshContactRequest_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRefreshContactRequest_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.peersFound.push(RefreshContactRequest_Peer.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): RefreshContactRequest_Reply { + return { + peersFound: globalThis.Array.isArray(object?.peersFound) + ? object.peersFound.map((e: any) => RefreshContactRequest_Peer.fromJSON(e)) + : [], + }; + }, + + toJSON(message: RefreshContactRequest_Reply): unknown { + const obj: any = {}; + if (message.peersFound?.length) { + obj.peersFound = message.peersFound.map((e) => RefreshContactRequest_Peer.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): RefreshContactRequest_Reply { + return RefreshContactRequest_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RefreshContactRequest_Reply { + const message = createBaseRefreshContactRequest_Reply(); + message.peersFound = object.peersFound?.map((e) => RefreshContactRequest_Peer.fromPartial(e)) || []; + return message; + }, +}; + +/** + * ProtocolService is the top-level API to manage the Wesh protocol service. + * Each active Wesh protocol service is considered as a Wesh device and is associated with a Wesh user. + */ +export interface ProtocolService { + /** ServiceExportData exports the current data of the protocol service */ + ServiceExportData( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + /** ServiceGetConfiguration gets the current configuration of the protocol service */ + ServiceGetConfiguration( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestReference retrieves the information required to create a reference (ie. included in a shareable link) to the current account */ + ContactRequestReference( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestDisable disables incoming contact requests */ + ContactRequestDisable( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestEnable enables incoming contact requests */ + ContactRequestEnable( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestResetReference changes the contact request reference */ + ContactRequestResetReference( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestSend attempt to send a contact request */ + ContactRequestSend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestAccept accepts a contact request */ + ContactRequestAccept( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** ContactRequestDiscard ignores a contact request, without informing the other user */ + ContactRequestDiscard( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** + * ShareContact uses ContactRequestReference to get the contact information for the current account and + * returns the Protobuf encoding of a shareable contact which you can further encode and share. If needed, this + * will reset the contact request reference and enable contact requests. To decode the result, see DecodeContact. + */ + ShareContact(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. */ + DecodeContact(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** ContactBlock blocks a contact from sending requests */ + ContactBlock(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** ContactUnblock unblocks a contact from sending requests */ + ContactUnblock(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** ContactAliasKeySend send an alias key to a contact, the contact will be able to assert that your account is being present on a multi-member group */ + ContactAliasKeySend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupCreate creates a new multi-member group */ + MultiMemberGroupCreate( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupJoin joins a multi-member group */ + MultiMemberGroupJoin( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupLeave leaves a multi-member group */ + MultiMemberGroupLeave( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupAliasResolverDisclose discloses your alias resolver key */ + MultiMemberGroupAliasResolverDisclose( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupAdminRoleGrant grants an admin role to a group member */ + MultiMemberGroupAdminRoleGrant( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** MultiMemberGroupInvitationCreate creates an invitation to a multi-member group */ + MultiMemberGroupInvitationCreate( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** AppMetadataSend adds an app event to the metadata store, the message is encrypted using a symmetric key and readable by future group members */ + AppMetadataSend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** AppMessageSend adds an app event to the message store, the message is encrypted using a derived key and readable by current group members */ + AppMessageSend(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** GroupMetadataList replays previous and subscribes to new metadata events from the group */ + GroupMetadataList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + /** GroupMessageList replays previous and subscribes to new message events from the group */ + GroupMessageList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + /** GroupInfo retrieves information about a group */ + GroupInfo(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** ActivateGroup explicitly opens a group */ + ActivateGroup(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** DeactivateGroup closes a group */ + DeactivateGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** GroupDeviceStatus monitor device status */ + GroupDeviceStatus( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + DebugListGroups( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + DebugInspectGroupStore( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + DebugGroup(request: DeepPartial, metadata?: grpc.Metadata): Promise; + SystemInfo(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** CredentialVerificationServiceInitFlow Initialize a credential verification flow */ + CredentialVerificationServiceInitFlow( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** CredentialVerificationServiceCompleteFlow Completes a credential verification flow */ + CredentialVerificationServiceCompleteFlow( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** VerifiedCredentialsList Retrieves the list of verified credentials */ + VerifiedCredentialsList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable; + /** ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents */ + ReplicationServiceRegisterGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** PeerList returns a list of P2P peers */ + PeerList(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** OutOfStoreReceive parses a payload received outside a synchronized store */ + OutOfStoreReceive( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + /** OutOfStoreSeal creates a payload of a message present in store to be sent outside a synchronized store */ + OutOfStoreSeal(request: DeepPartial, metadata?: grpc.Metadata): Promise; + /** RefreshContactRequest try to refresh the contact request for the given contact */ + RefreshContactRequest( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; +} + +export class ProtocolServiceClientImpl implements ProtocolService { + private readonly rpc: Rpc; + + constructor(rpc: Rpc) { + this.rpc = rpc; + this.ServiceExportData = this.ServiceExportData.bind(this); + this.ServiceGetConfiguration = this.ServiceGetConfiguration.bind(this); + this.ContactRequestReference = this.ContactRequestReference.bind(this); + this.ContactRequestDisable = this.ContactRequestDisable.bind(this); + this.ContactRequestEnable = this.ContactRequestEnable.bind(this); + this.ContactRequestResetReference = this.ContactRequestResetReference.bind(this); + this.ContactRequestSend = this.ContactRequestSend.bind(this); + this.ContactRequestAccept = this.ContactRequestAccept.bind(this); + this.ContactRequestDiscard = this.ContactRequestDiscard.bind(this); + this.ShareContact = this.ShareContact.bind(this); + this.DecodeContact = this.DecodeContact.bind(this); + this.ContactBlock = this.ContactBlock.bind(this); + this.ContactUnblock = this.ContactUnblock.bind(this); + this.ContactAliasKeySend = this.ContactAliasKeySend.bind(this); + this.MultiMemberGroupCreate = this.MultiMemberGroupCreate.bind(this); + this.MultiMemberGroupJoin = this.MultiMemberGroupJoin.bind(this); + this.MultiMemberGroupLeave = this.MultiMemberGroupLeave.bind(this); + this.MultiMemberGroupAliasResolverDisclose = this.MultiMemberGroupAliasResolverDisclose.bind(this); + this.MultiMemberGroupAdminRoleGrant = this.MultiMemberGroupAdminRoleGrant.bind(this); + this.MultiMemberGroupInvitationCreate = this.MultiMemberGroupInvitationCreate.bind(this); + this.AppMetadataSend = this.AppMetadataSend.bind(this); + this.AppMessageSend = this.AppMessageSend.bind(this); + this.GroupMetadataList = this.GroupMetadataList.bind(this); + this.GroupMessageList = this.GroupMessageList.bind(this); + this.GroupInfo = this.GroupInfo.bind(this); + this.ActivateGroup = this.ActivateGroup.bind(this); + this.DeactivateGroup = this.DeactivateGroup.bind(this); + this.GroupDeviceStatus = this.GroupDeviceStatus.bind(this); + this.DebugListGroups = this.DebugListGroups.bind(this); + this.DebugInspectGroupStore = this.DebugInspectGroupStore.bind(this); + this.DebugGroup = this.DebugGroup.bind(this); + this.SystemInfo = this.SystemInfo.bind(this); + this.CredentialVerificationServiceInitFlow = this.CredentialVerificationServiceInitFlow.bind(this); + this.CredentialVerificationServiceCompleteFlow = this.CredentialVerificationServiceCompleteFlow.bind(this); + this.VerifiedCredentialsList = this.VerifiedCredentialsList.bind(this); + this.ReplicationServiceRegisterGroup = this.ReplicationServiceRegisterGroup.bind(this); + this.PeerList = this.PeerList.bind(this); + this.OutOfStoreReceive = this.OutOfStoreReceive.bind(this); + this.OutOfStoreSeal = this.OutOfStoreSeal.bind(this); + this.RefreshContactRequest = this.RefreshContactRequest.bind(this); + } + + ServiceExportData( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceServiceExportDataDesc, + ServiceExportData_Request.fromPartial(request), + metadata, + ); + } + + ServiceGetConfiguration( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceServiceGetConfigurationDesc, + ServiceGetConfiguration_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestReference( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestReferenceDesc, + ContactRequestReference_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestDisable( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestDisableDesc, + ContactRequestDisable_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestEnable( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestEnableDesc, + ContactRequestEnable_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestResetReference( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestResetReferenceDesc, + ContactRequestResetReference_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestSend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestSendDesc, + ContactRequestSend_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestAccept( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestAcceptDesc, + ContactRequestAccept_Request.fromPartial(request), + metadata, + ); + } + + ContactRequestDiscard( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactRequestDiscardDesc, + ContactRequestDiscard_Request.fromPartial(request), + metadata, + ); + } + + ShareContact(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceShareContactDesc, ShareContact_Request.fromPartial(request), metadata); + } + + DecodeContact(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceDecodeContactDesc, DecodeContact_Request.fromPartial(request), metadata); + } + + ContactBlock(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceContactBlockDesc, ContactBlock_Request.fromPartial(request), metadata); + } + + ContactUnblock( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary(ProtocolServiceContactUnblockDesc, ContactUnblock_Request.fromPartial(request), metadata); + } + + ContactAliasKeySend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceContactAliasKeySendDesc, + ContactAliasKeySend_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupCreate( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupCreateDesc, + MultiMemberGroupCreate_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupJoin( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupJoinDesc, + MultiMemberGroupJoin_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupLeave( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupLeaveDesc, + MultiMemberGroupLeave_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupAliasResolverDisclose( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupAliasResolverDiscloseDesc, + MultiMemberGroupAliasResolverDisclose_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupAdminRoleGrant( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupAdminRoleGrantDesc, + MultiMemberGroupAdminRoleGrant_Request.fromPartial(request), + metadata, + ); + } + + MultiMemberGroupInvitationCreate( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceMultiMemberGroupInvitationCreateDesc, + MultiMemberGroupInvitationCreate_Request.fromPartial(request), + metadata, + ); + } + + AppMetadataSend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary(ProtocolServiceAppMetadataSendDesc, AppMetadataSend_Request.fromPartial(request), metadata); + } + + AppMessageSend( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary(ProtocolServiceAppMessageSendDesc, AppMessageSend_Request.fromPartial(request), metadata); + } + + GroupMetadataList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceGroupMetadataListDesc, + GroupMetadataList_Request.fromPartial(request), + metadata, + ); + } + + GroupMessageList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceGroupMessageListDesc, + GroupMessageList_Request.fromPartial(request), + metadata, + ); + } + + GroupInfo(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceGroupInfoDesc, GroupInfo_Request.fromPartial(request), metadata); + } + + ActivateGroup(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceActivateGroupDesc, ActivateGroup_Request.fromPartial(request), metadata); + } + + DeactivateGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary(ProtocolServiceDeactivateGroupDesc, DeactivateGroup_Request.fromPartial(request), metadata); + } + + GroupDeviceStatus( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceGroupDeviceStatusDesc, + GroupDeviceStatus_Request.fromPartial(request), + metadata, + ); + } + + DebugListGroups( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke(ProtocolServiceDebugListGroupsDesc, DebugListGroups_Request.fromPartial(request), metadata); + } + + DebugInspectGroupStore( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceDebugInspectGroupStoreDesc, + DebugInspectGroupStore_Request.fromPartial(request), + metadata, + ); + } + + DebugGroup(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceDebugGroupDesc, DebugGroup_Request.fromPartial(request), metadata); + } + + SystemInfo(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServiceSystemInfoDesc, SystemInfo_Request.fromPartial(request), metadata); + } + + CredentialVerificationServiceInitFlow( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceCredentialVerificationServiceInitFlowDesc, + CredentialVerificationServiceInitFlow_Request.fromPartial(request), + metadata, + ); + } + + CredentialVerificationServiceCompleteFlow( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceCredentialVerificationServiceCompleteFlowDesc, + CredentialVerificationServiceCompleteFlow_Request.fromPartial(request), + metadata, + ); + } + + VerifiedCredentialsList( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Observable { + return this.rpc.invoke( + ProtocolServiceVerifiedCredentialsListDesc, + VerifiedCredentialsList_Request.fromPartial(request), + metadata, + ); + } + + ReplicationServiceRegisterGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceReplicationServiceRegisterGroupDesc, + ReplicationServiceRegisterGroup_Request.fromPartial(request), + metadata, + ); + } + + PeerList(request: DeepPartial, metadata?: grpc.Metadata): Promise { + return this.rpc.unary(ProtocolServicePeerListDesc, PeerList_Request.fromPartial(request), metadata); + } + + OutOfStoreReceive( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceOutOfStoreReceiveDesc, + OutOfStoreReceive_Request.fromPartial(request), + metadata, + ); + } + + OutOfStoreSeal( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary(ProtocolServiceOutOfStoreSealDesc, OutOfStoreSeal_Request.fromPartial(request), metadata); + } + + RefreshContactRequest( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ProtocolServiceRefreshContactRequestDesc, + RefreshContactRequest_Request.fromPartial(request), + metadata, + ); + } +} + +export const ProtocolServiceDesc = { serviceName: "weshnet.protocol.v1.ProtocolService" }; + +export const ProtocolServiceServiceExportDataDesc: UnaryMethodDefinitionish = { + methodName: "ServiceExportData", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return ServiceExportData_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ServiceExportData_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceServiceGetConfigurationDesc: UnaryMethodDefinitionish = { + methodName: "ServiceGetConfiguration", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ServiceGetConfiguration_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ServiceGetConfiguration_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestReferenceDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestReference", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestReference_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestReference_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestDisableDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestDisable", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestDisable_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestDisable_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestEnableDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestEnable", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestEnable_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestEnable_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestResetReferenceDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestResetReference", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestResetReference_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestResetReference_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestSendDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestSend", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestSend_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestSend_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestAcceptDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestAccept", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestAccept_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestAccept_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactRequestDiscardDesc: UnaryMethodDefinitionish = { + methodName: "ContactRequestDiscard", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactRequestDiscard_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactRequestDiscard_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceShareContactDesc: UnaryMethodDefinitionish = { + methodName: "ShareContact", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ShareContact_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ShareContact_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceDecodeContactDesc: UnaryMethodDefinitionish = { + methodName: "DecodeContact", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return DecodeContact_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = DecodeContact_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactBlockDesc: UnaryMethodDefinitionish = { + methodName: "ContactBlock", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactBlock_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactBlock_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactUnblockDesc: UnaryMethodDefinitionish = { + methodName: "ContactUnblock", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactUnblock_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactUnblock_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceContactAliasKeySendDesc: UnaryMethodDefinitionish = { + methodName: "ContactAliasKeySend", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ContactAliasKeySend_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ContactAliasKeySend_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupCreateDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupCreate", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupCreate_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupCreate_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupJoinDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupJoin", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupJoin_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupJoin_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupLeaveDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupLeave", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupLeave_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupLeave_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupAliasResolverDiscloseDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupAliasResolverDisclose", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupAliasResolverDisclose_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupAliasResolverDisclose_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupAdminRoleGrantDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupAdminRoleGrant", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupAdminRoleGrant_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupAdminRoleGrant_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceMultiMemberGroupInvitationCreateDesc: UnaryMethodDefinitionish = { + methodName: "MultiMemberGroupInvitationCreate", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return MultiMemberGroupInvitationCreate_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = MultiMemberGroupInvitationCreate_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceAppMetadataSendDesc: UnaryMethodDefinitionish = { + methodName: "AppMetadataSend", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return AppMetadataSend_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = AppMetadataSend_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceAppMessageSendDesc: UnaryMethodDefinitionish = { + methodName: "AppMessageSend", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return AppMessageSend_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = AppMessageSend_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceGroupMetadataListDesc: UnaryMethodDefinitionish = { + methodName: "GroupMetadataList", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return GroupMetadataList_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = GroupMetadataEvent.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceGroupMessageListDesc: UnaryMethodDefinitionish = { + methodName: "GroupMessageList", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return GroupMessageList_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = GroupMessageEvent.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceGroupInfoDesc: UnaryMethodDefinitionish = { + methodName: "GroupInfo", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return GroupInfo_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = GroupInfo_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceActivateGroupDesc: UnaryMethodDefinitionish = { + methodName: "ActivateGroup", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ActivateGroup_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ActivateGroup_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceDeactivateGroupDesc: UnaryMethodDefinitionish = { + methodName: "DeactivateGroup", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return DeactivateGroup_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = DeactivateGroup_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceGroupDeviceStatusDesc: UnaryMethodDefinitionish = { + methodName: "GroupDeviceStatus", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return GroupDeviceStatus_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = GroupDeviceStatus_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceDebugListGroupsDesc: UnaryMethodDefinitionish = { + methodName: "DebugListGroups", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return DebugListGroups_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = DebugListGroups_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceDebugInspectGroupStoreDesc: UnaryMethodDefinitionish = { + methodName: "DebugInspectGroupStore", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return DebugInspectGroupStore_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = DebugInspectGroupStore_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceDebugGroupDesc: UnaryMethodDefinitionish = { + methodName: "DebugGroup", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return DebugGroup_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = DebugGroup_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceSystemInfoDesc: UnaryMethodDefinitionish = { + methodName: "SystemInfo", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return SystemInfo_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = SystemInfo_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceCredentialVerificationServiceInitFlowDesc: UnaryMethodDefinitionish = { + methodName: "CredentialVerificationServiceInitFlow", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return CredentialVerificationServiceInitFlow_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = CredentialVerificationServiceInitFlow_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceCredentialVerificationServiceCompleteFlowDesc: UnaryMethodDefinitionish = { + methodName: "CredentialVerificationServiceCompleteFlow", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return CredentialVerificationServiceCompleteFlow_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = CredentialVerificationServiceCompleteFlow_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceVerifiedCredentialsListDesc: UnaryMethodDefinitionish = { + methodName: "VerifiedCredentialsList", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: true, + requestType: { + serializeBinary() { + return VerifiedCredentialsList_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = VerifiedCredentialsList_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceReplicationServiceRegisterGroupDesc: UnaryMethodDefinitionish = { + methodName: "ReplicationServiceRegisterGroup", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ReplicationServiceRegisterGroup_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ReplicationServiceRegisterGroup_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServicePeerListDesc: UnaryMethodDefinitionish = { + methodName: "PeerList", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return PeerList_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = PeerList_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceOutOfStoreReceiveDesc: UnaryMethodDefinitionish = { + methodName: "OutOfStoreReceive", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return OutOfStoreReceive_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = OutOfStoreReceive_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceOutOfStoreSealDesc: UnaryMethodDefinitionish = { + methodName: "OutOfStoreSeal", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return OutOfStoreSeal_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = OutOfStoreSeal_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ProtocolServiceRefreshContactRequestDesc: UnaryMethodDefinitionish = { + methodName: "RefreshContactRequest", + service: ProtocolServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return RefreshContactRequest_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = RefreshContactRequest_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { + requestStream: any; + responseStream: any; +} + +type UnaryMethodDefinitionish = UnaryMethodDefinitionishR; + +interface Rpc { + unary( + methodDesc: T, + request: any, + metadata: grpc.Metadata | undefined, + ): Promise; + invoke( + methodDesc: T, + request: any, + metadata: grpc.Metadata | undefined, + ): Observable; +} + +export class GrpcWebImpl { + private host: string; + private options: { + transport?: grpc.TransportFactory; + streamingTransport?: grpc.TransportFactory; + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }; + + constructor( + host: string, + options: { + transport?: grpc.TransportFactory; + streamingTransport?: grpc.TransportFactory; + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }, + ) { + this.host = host; + this.options = options; + } + + unary( + methodDesc: T, + _request: any, + metadata: grpc.Metadata | undefined, + ): Promise { + const request = { ..._request, ...methodDesc.requestType }; + const maybeCombinedMetadata = metadata && this.options.metadata + ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap }) + : metadata ?? this.options.metadata; + return new Promise((resolve, reject) => { + grpc.unary(methodDesc, { + request, + host: this.host, + metadata: maybeCombinedMetadata ?? {}, + ...(this.options.transport !== undefined ? { transport: this.options.transport } : {}), + debug: this.options.debug ?? false, + onEnd: function (response) { + if (response.status === grpc.Code.OK) { + resolve(response.message!.toObject()); + } else { + const err = new GrpcWebError(response.statusMessage, response.status, response.trailers); + reject(err); + } + }, + }); + }); + } + + invoke( + methodDesc: T, + _request: any, + metadata: grpc.Metadata | undefined, + ): Observable { + const upStreamCodes = this.options.upStreamRetryCodes ?? []; + const DEFAULT_TIMEOUT_TIME: number = 3_000; + const request = { ..._request, ...methodDesc.requestType }; + const transport = this.options.streamingTransport ?? this.options.transport; + const maybeCombinedMetadata = metadata && this.options.metadata + ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap }) + : metadata ?? this.options.metadata; + return new Observable((observer) => { + const upStream = () => { + const client = grpc.invoke(methodDesc, { + host: this.host, + request, + ...(transport !== undefined ? { transport } : {}), + metadata: maybeCombinedMetadata ?? {}, + debug: this.options.debug ?? false, + onMessage: (next) => observer.next(next), + onEnd: (code: grpc.Code, message: string, trailers: grpc.Metadata) => { + if (code === 0) { + observer.complete(); + } else if (upStreamCodes.includes(code)) { + setTimeout(upStream, DEFAULT_TIMEOUT_TIME); + } else { + const err = new Error(message) as any; + err.code = code; + err.metadata = trailers; + observer.error(err); + } + }, + }); + observer.add(() => { + return client.close(); + }); + }; + upStream(); + }).pipe(share()); + } +} + +function bytesFromBase64(b64: string): Uint8Array { + if (globalThis.Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (globalThis.Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(globalThis.Number.MAX_SAFE_INTEGER)) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isObject(value: any): boolean { + return typeof value === "object" && value !== null; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} + +export class GrpcWebError extends globalThis.Error { + constructor(message: string, public code: grpc.Code, public metadata: grpc.Metadata) { + super(message); + } +} diff --git a/packages/api/weshnet/replicationtypes/bertyreplication.ts b/packages/api/weshnet/replicationtypes/bertyreplication.ts new file mode 100644 index 0000000000..ff054bf23f --- /dev/null +++ b/packages/api/weshnet/replicationtypes/bertyreplication.ts @@ -0,0 +1,1127 @@ +/* eslint-disable */ +import { grpc } from "@improbable-eng/grpc-web"; +import { BrowserHeaders } from "browser-headers"; +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Group } from "../protocoltypes"; + +export const protobufPackage = "weshnet.replication.v1"; + +export interface ReplicatedGroup { + publicKey: string; + signPub: string; + linkKey: string; + createdAt: number; + updatedAt: number; + metadataEntriesCount: number; + metadataLatestHead: string; + messageEntriesCount: number; + messageLatestHead: string; +} + +export interface ReplicatedGroupToken { + replicatedGroupPublicKey: string; + replicatedGroup: ReplicatedGroup | undefined; + tokenIssuer: string; + tokenId: string; + createdAt: number; +} + +export interface ReplicationServiceReplicateGroup { +} + +export interface ReplicationServiceReplicateGroup_Request { + group: Group | undefined; +} + +export interface ReplicationServiceReplicateGroup_Reply { + ok: boolean; +} + +export interface ReplicateGlobalStats { +} + +export interface ReplicateGlobalStats_Request { +} + +export interface ReplicateGlobalStats_Reply { + startedAt: number; + replicatedGroups: number; + totalMetadataEntries: number; + totalMessageEntries: number; +} + +export interface ReplicateGroupStats { +} + +export interface ReplicateGroupStats_Request { + groupPublicKey: string; +} + +export interface ReplicateGroupStats_Reply { + group: ReplicatedGroup | undefined; +} + +function createBaseReplicatedGroup(): ReplicatedGroup { + return { + publicKey: "", + signPub: "", + linkKey: "", + createdAt: 0, + updatedAt: 0, + metadataEntriesCount: 0, + metadataLatestHead: "", + messageEntriesCount: 0, + messageLatestHead: "", + }; +} + +export const ReplicatedGroup = { + encode(message: ReplicatedGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + if (message.signPub !== "") { + writer.uint32(18).string(message.signPub); + } + if (message.linkKey !== "") { + writer.uint32(26).string(message.linkKey); + } + if (message.createdAt !== 0) { + writer.uint32(800).int64(message.createdAt); + } + if (message.updatedAt !== 0) { + writer.uint32(808).int64(message.updatedAt); + } + if (message.metadataEntriesCount !== 0) { + writer.uint32(816).int64(message.metadataEntriesCount); + } + if (message.metadataLatestHead !== "") { + writer.uint32(826).string(message.metadataLatestHead); + } + if (message.messageEntriesCount !== 0) { + writer.uint32(832).int64(message.messageEntriesCount); + } + if (message.messageLatestHead !== "") { + writer.uint32(842).string(message.messageLatestHead); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicatedGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicatedGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signPub = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.linkKey = reader.string(); + continue; + case 100: + if (tag !== 800) { + break; + } + + message.createdAt = longToNumber(reader.int64() as Long); + continue; + case 101: + if (tag !== 808) { + break; + } + + message.updatedAt = longToNumber(reader.int64() as Long); + continue; + case 102: + if (tag !== 816) { + break; + } + + message.metadataEntriesCount = longToNumber(reader.int64() as Long); + continue; + case 103: + if (tag !== 826) { + break; + } + + message.metadataLatestHead = reader.string(); + continue; + case 104: + if (tag !== 832) { + break; + } + + message.messageEntriesCount = longToNumber(reader.int64() as Long); + continue; + case 105: + if (tag !== 842) { + break; + } + + message.messageLatestHead = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicatedGroup { + return { + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + signPub: isSet(object.signPub) ? globalThis.String(object.signPub) : "", + linkKey: isSet(object.linkKey) ? globalThis.String(object.linkKey) : "", + createdAt: isSet(object.createdAt) ? globalThis.Number(object.createdAt) : 0, + updatedAt: isSet(object.updatedAt) ? globalThis.Number(object.updatedAt) : 0, + metadataEntriesCount: isSet(object.metadataEntriesCount) ? globalThis.Number(object.metadataEntriesCount) : 0, + metadataLatestHead: isSet(object.metadataLatestHead) ? globalThis.String(object.metadataLatestHead) : "", + messageEntriesCount: isSet(object.messageEntriesCount) ? globalThis.Number(object.messageEntriesCount) : 0, + messageLatestHead: isSet(object.messageLatestHead) ? globalThis.String(object.messageLatestHead) : "", + }; + }, + + toJSON(message: ReplicatedGroup): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.signPub !== "") { + obj.signPub = message.signPub; + } + if (message.linkKey !== "") { + obj.linkKey = message.linkKey; + } + if (message.createdAt !== 0) { + obj.createdAt = Math.round(message.createdAt); + } + if (message.updatedAt !== 0) { + obj.updatedAt = Math.round(message.updatedAt); + } + if (message.metadataEntriesCount !== 0) { + obj.metadataEntriesCount = Math.round(message.metadataEntriesCount); + } + if (message.metadataLatestHead !== "") { + obj.metadataLatestHead = message.metadataLatestHead; + } + if (message.messageEntriesCount !== 0) { + obj.messageEntriesCount = Math.round(message.messageEntriesCount); + } + if (message.messageLatestHead !== "") { + obj.messageLatestHead = message.messageLatestHead; + } + return obj; + }, + + create, I>>(base?: I): ReplicatedGroup { + return ReplicatedGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ReplicatedGroup { + const message = createBaseReplicatedGroup(); + message.publicKey = object.publicKey ?? ""; + message.signPub = object.signPub ?? ""; + message.linkKey = object.linkKey ?? ""; + message.createdAt = object.createdAt ?? 0; + message.updatedAt = object.updatedAt ?? 0; + message.metadataEntriesCount = object.metadataEntriesCount ?? 0; + message.metadataLatestHead = object.metadataLatestHead ?? ""; + message.messageEntriesCount = object.messageEntriesCount ?? 0; + message.messageLatestHead = object.messageLatestHead ?? ""; + return message; + }, +}; + +function createBaseReplicatedGroupToken(): ReplicatedGroupToken { + return { replicatedGroupPublicKey: "", replicatedGroup: undefined, tokenIssuer: "", tokenId: "", createdAt: 0 }; +} + +export const ReplicatedGroupToken = { + encode(message: ReplicatedGroupToken, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.replicatedGroupPublicKey !== "") { + writer.uint32(10).string(message.replicatedGroupPublicKey); + } + if (message.replicatedGroup !== undefined) { + ReplicatedGroup.encode(message.replicatedGroup, writer.uint32(18).fork()).ldelim(); + } + if (message.tokenIssuer !== "") { + writer.uint32(26).string(message.tokenIssuer); + } + if (message.tokenId !== "") { + writer.uint32(34).string(message.tokenId); + } + if (message.createdAt !== 0) { + writer.uint32(40).int64(message.createdAt); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicatedGroupToken { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicatedGroupToken(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.replicatedGroupPublicKey = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.replicatedGroup = ReplicatedGroup.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tokenIssuer = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.tokenId = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.createdAt = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicatedGroupToken { + return { + replicatedGroupPublicKey: isSet(object.replicatedGroupPublicKey) + ? globalThis.String(object.replicatedGroupPublicKey) + : "", + replicatedGroup: isSet(object.replicatedGroup) ? ReplicatedGroup.fromJSON(object.replicatedGroup) : undefined, + tokenIssuer: isSet(object.tokenIssuer) ? globalThis.String(object.tokenIssuer) : "", + tokenId: isSet(object.tokenId) ? globalThis.String(object.tokenId) : "", + createdAt: isSet(object.createdAt) ? globalThis.Number(object.createdAt) : 0, + }; + }, + + toJSON(message: ReplicatedGroupToken): unknown { + const obj: any = {}; + if (message.replicatedGroupPublicKey !== "") { + obj.replicatedGroupPublicKey = message.replicatedGroupPublicKey; + } + if (message.replicatedGroup !== undefined) { + obj.replicatedGroup = ReplicatedGroup.toJSON(message.replicatedGroup); + } + if (message.tokenIssuer !== "") { + obj.tokenIssuer = message.tokenIssuer; + } + if (message.tokenId !== "") { + obj.tokenId = message.tokenId; + } + if (message.createdAt !== 0) { + obj.createdAt = Math.round(message.createdAt); + } + return obj; + }, + + create, I>>(base?: I): ReplicatedGroupToken { + return ReplicatedGroupToken.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ReplicatedGroupToken { + const message = createBaseReplicatedGroupToken(); + message.replicatedGroupPublicKey = object.replicatedGroupPublicKey ?? ""; + message.replicatedGroup = (object.replicatedGroup !== undefined && object.replicatedGroup !== null) + ? ReplicatedGroup.fromPartial(object.replicatedGroup) + : undefined; + message.tokenIssuer = object.tokenIssuer ?? ""; + message.tokenId = object.tokenId ?? ""; + message.createdAt = object.createdAt ?? 0; + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup(): ReplicationServiceReplicateGroup { + return {}; +} + +export const ReplicationServiceReplicateGroup = { + encode(_: ReplicationServiceReplicateGroup, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicationServiceReplicateGroup { + return {}; + }, + + toJSON(_: ReplicationServiceReplicateGroup): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup { + return ReplicationServiceReplicateGroup.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): ReplicationServiceReplicateGroup { + const message = createBaseReplicationServiceReplicateGroup(); + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup_Request(): ReplicationServiceReplicateGroup_Request { + return { group: undefined }; +} + +export const ReplicationServiceReplicateGroup_Request = { + encode(message: ReplicationServiceReplicateGroup_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + Group.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = Group.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicationServiceReplicateGroup_Request { + return { group: isSet(object.group) ? Group.fromJSON(object.group) : undefined }; + }, + + toJSON(message: ReplicationServiceReplicateGroup_Request): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = Group.toJSON(message.group); + } + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup_Request { + return ReplicationServiceReplicateGroup_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ReplicationServiceReplicateGroup_Request { + const message = createBaseReplicationServiceReplicateGroup_Request(); + message.group = (object.group !== undefined && object.group !== null) ? Group.fromPartial(object.group) : undefined; + return message; + }, +}; + +function createBaseReplicationServiceReplicateGroup_Reply(): ReplicationServiceReplicateGroup_Reply { + return { ok: false }; +} + +export const ReplicationServiceReplicateGroup_Reply = { + encode(message: ReplicationServiceReplicateGroup_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.ok === true) { + writer.uint32(8).bool(message.ok); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicationServiceReplicateGroup_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicationServiceReplicateGroup_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.ok = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicationServiceReplicateGroup_Reply { + return { ok: isSet(object.ok) ? globalThis.Boolean(object.ok) : false }; + }, + + toJSON(message: ReplicationServiceReplicateGroup_Reply): unknown { + const obj: any = {}; + if (message.ok === true) { + obj.ok = message.ok; + } + return obj; + }, + + create, I>>( + base?: I, + ): ReplicationServiceReplicateGroup_Reply { + return ReplicationServiceReplicateGroup_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): ReplicationServiceReplicateGroup_Reply { + const message = createBaseReplicationServiceReplicateGroup_Reply(); + message.ok = object.ok ?? false; + return message; + }, +}; + +function createBaseReplicateGlobalStats(): ReplicateGlobalStats { + return {}; +} + +export const ReplicateGlobalStats = { + encode(_: ReplicateGlobalStats, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGlobalStats { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGlobalStats(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicateGlobalStats { + return {}; + }, + + toJSON(_: ReplicateGlobalStats): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ReplicateGlobalStats { + return ReplicateGlobalStats.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ReplicateGlobalStats { + const message = createBaseReplicateGlobalStats(); + return message; + }, +}; + +function createBaseReplicateGlobalStats_Request(): ReplicateGlobalStats_Request { + return {}; +} + +export const ReplicateGlobalStats_Request = { + encode(_: ReplicateGlobalStats_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGlobalStats_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGlobalStats_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicateGlobalStats_Request { + return {}; + }, + + toJSON(_: ReplicateGlobalStats_Request): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ReplicateGlobalStats_Request { + return ReplicateGlobalStats_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ReplicateGlobalStats_Request { + const message = createBaseReplicateGlobalStats_Request(); + return message; + }, +}; + +function createBaseReplicateGlobalStats_Reply(): ReplicateGlobalStats_Reply { + return { startedAt: 0, replicatedGroups: 0, totalMetadataEntries: 0, totalMessageEntries: 0 }; +} + +export const ReplicateGlobalStats_Reply = { + encode(message: ReplicateGlobalStats_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.startedAt !== 0) { + writer.uint32(8).int64(message.startedAt); + } + if (message.replicatedGroups !== 0) { + writer.uint32(16).int64(message.replicatedGroups); + } + if (message.totalMetadataEntries !== 0) { + writer.uint32(24).int64(message.totalMetadataEntries); + } + if (message.totalMessageEntries !== 0) { + writer.uint32(32).int64(message.totalMessageEntries); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGlobalStats_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGlobalStats_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.startedAt = longToNumber(reader.int64() as Long); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.replicatedGroups = longToNumber(reader.int64() as Long); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.totalMetadataEntries = longToNumber(reader.int64() as Long); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.totalMessageEntries = longToNumber(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicateGlobalStats_Reply { + return { + startedAt: isSet(object.startedAt) ? globalThis.Number(object.startedAt) : 0, + replicatedGroups: isSet(object.replicatedGroups) ? globalThis.Number(object.replicatedGroups) : 0, + totalMetadataEntries: isSet(object.totalMetadataEntries) ? globalThis.Number(object.totalMetadataEntries) : 0, + totalMessageEntries: isSet(object.totalMessageEntries) ? globalThis.Number(object.totalMessageEntries) : 0, + }; + }, + + toJSON(message: ReplicateGlobalStats_Reply): unknown { + const obj: any = {}; + if (message.startedAt !== 0) { + obj.startedAt = Math.round(message.startedAt); + } + if (message.replicatedGroups !== 0) { + obj.replicatedGroups = Math.round(message.replicatedGroups); + } + if (message.totalMetadataEntries !== 0) { + obj.totalMetadataEntries = Math.round(message.totalMetadataEntries); + } + if (message.totalMessageEntries !== 0) { + obj.totalMessageEntries = Math.round(message.totalMessageEntries); + } + return obj; + }, + + create, I>>(base?: I): ReplicateGlobalStats_Reply { + return ReplicateGlobalStats_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ReplicateGlobalStats_Reply { + const message = createBaseReplicateGlobalStats_Reply(); + message.startedAt = object.startedAt ?? 0; + message.replicatedGroups = object.replicatedGroups ?? 0; + message.totalMetadataEntries = object.totalMetadataEntries ?? 0; + message.totalMessageEntries = object.totalMessageEntries ?? 0; + return message; + }, +}; + +function createBaseReplicateGroupStats(): ReplicateGroupStats { + return {}; +} + +export const ReplicateGroupStats = { + encode(_: ReplicateGroupStats, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGroupStats { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGroupStats(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): ReplicateGroupStats { + return {}; + }, + + toJSON(_: ReplicateGroupStats): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ReplicateGroupStats { + return ReplicateGroupStats.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ReplicateGroupStats { + const message = createBaseReplicateGroupStats(); + return message; + }, +}; + +function createBaseReplicateGroupStats_Request(): ReplicateGroupStats_Request { + return { groupPublicKey: "" }; +} + +export const ReplicateGroupStats_Request = { + encode(message: ReplicateGroupStats_Request, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.groupPublicKey !== "") { + writer.uint32(10).string(message.groupPublicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGroupStats_Request { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGroupStats_Request(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.groupPublicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicateGroupStats_Request { + return { groupPublicKey: isSet(object.groupPublicKey) ? globalThis.String(object.groupPublicKey) : "" }; + }, + + toJSON(message: ReplicateGroupStats_Request): unknown { + const obj: any = {}; + if (message.groupPublicKey !== "") { + obj.groupPublicKey = message.groupPublicKey; + } + return obj; + }, + + create, I>>(base?: I): ReplicateGroupStats_Request { + return ReplicateGroupStats_Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ReplicateGroupStats_Request { + const message = createBaseReplicateGroupStats_Request(); + message.groupPublicKey = object.groupPublicKey ?? ""; + return message; + }, +}; + +function createBaseReplicateGroupStats_Reply(): ReplicateGroupStats_Reply { + return { group: undefined }; +} + +export const ReplicateGroupStats_Reply = { + encode(message: ReplicateGroupStats_Reply, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.group !== undefined) { + ReplicatedGroup.encode(message.group, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ReplicateGroupStats_Reply { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReplicateGroupStats_Reply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.group = ReplicatedGroup.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ReplicateGroupStats_Reply { + return { group: isSet(object.group) ? ReplicatedGroup.fromJSON(object.group) : undefined }; + }, + + toJSON(message: ReplicateGroupStats_Reply): unknown { + const obj: any = {}; + if (message.group !== undefined) { + obj.group = ReplicatedGroup.toJSON(message.group); + } + return obj; + }, + + create, I>>(base?: I): ReplicateGroupStats_Reply { + return ReplicateGroupStats_Reply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ReplicateGroupStats_Reply { + const message = createBaseReplicateGroupStats_Reply(); + message.group = (object.group !== undefined && object.group !== null) + ? ReplicatedGroup.fromPartial(object.group) + : undefined; + return message; + }, +}; + +/** ReplicationService */ +export interface ReplicationService { + /** ReplicateGroup */ + ReplicateGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + ReplicateGlobalStats( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; + ReplicateGroupStats( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise; +} + +export class ReplicationServiceClientImpl implements ReplicationService { + private readonly rpc: Rpc; + + constructor(rpc: Rpc) { + this.rpc = rpc; + this.ReplicateGroup = this.ReplicateGroup.bind(this); + this.ReplicateGlobalStats = this.ReplicateGlobalStats.bind(this); + this.ReplicateGroupStats = this.ReplicateGroupStats.bind(this); + } + + ReplicateGroup( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ReplicationServiceReplicateGroupDesc, + ReplicationServiceReplicateGroup_Request.fromPartial(request), + metadata, + ); + } + + ReplicateGlobalStats( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ReplicationServiceReplicateGlobalStatsDesc, + ReplicateGlobalStats_Request.fromPartial(request), + metadata, + ); + } + + ReplicateGroupStats( + request: DeepPartial, + metadata?: grpc.Metadata, + ): Promise { + return this.rpc.unary( + ReplicationServiceReplicateGroupStatsDesc, + ReplicateGroupStats_Request.fromPartial(request), + metadata, + ); + } +} + +export const ReplicationServiceDesc = { serviceName: "weshnet.replication.v1.ReplicationService" }; + +export const ReplicationServiceReplicateGroupDesc: UnaryMethodDefinitionish = { + methodName: "ReplicateGroup", + service: ReplicationServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ReplicationServiceReplicateGroup_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ReplicationServiceReplicateGroup_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ReplicationServiceReplicateGlobalStatsDesc: UnaryMethodDefinitionish = { + methodName: "ReplicateGlobalStats", + service: ReplicationServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ReplicateGlobalStats_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ReplicateGlobalStats_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +export const ReplicationServiceReplicateGroupStatsDesc: UnaryMethodDefinitionish = { + methodName: "ReplicateGroupStats", + service: ReplicationServiceDesc, + requestStream: false, + responseStream: false, + requestType: { + serializeBinary() { + return ReplicateGroupStats_Request.encode(this).finish(); + }, + } as any, + responseType: { + deserializeBinary(data: Uint8Array) { + const value = ReplicateGroupStats_Reply.decode(data); + return { + ...value, + toObject() { + return value; + }, + }; + }, + } as any, +}; + +interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { + requestStream: any; + responseStream: any; +} + +type UnaryMethodDefinitionish = UnaryMethodDefinitionishR; + +interface Rpc { + unary( + methodDesc: T, + request: any, + metadata: grpc.Metadata | undefined, + ): Promise; +} + +export class GrpcWebImpl { + private host: string; + private options: { + transport?: grpc.TransportFactory; + + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }; + + constructor( + host: string, + options: { + transport?: grpc.TransportFactory; + + debug?: boolean; + metadata?: grpc.Metadata; + upStreamRetryCodes?: number[]; + }, + ) { + this.host = host; + this.options = options; + } + + unary( + methodDesc: T, + _request: any, + metadata: grpc.Metadata | undefined, + ): Promise { + const request = { ..._request, ...methodDesc.requestType }; + const maybeCombinedMetadata = metadata && this.options.metadata + ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap }) + : metadata ?? this.options.metadata; + return new Promise((resolve, reject) => { + grpc.unary(methodDesc, { + request, + host: this.host, + metadata: maybeCombinedMetadata ?? {}, + ...(this.options.transport !== undefined ? { transport: this.options.transport } : {}), + debug: this.options.debug ?? false, + onEnd: function (response) { + if (response.status === grpc.Code.OK) { + resolve(response.message!.toObject()); + } else { + const err = new GrpcWebError(response.statusMessage, response.status, response.trailers); + reject(err); + } + }, + }); + }); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(globalThis.Number.MAX_SAFE_INTEGER)) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} + +export class GrpcWebError extends globalThis.Error { + constructor(message: string, public code: grpc.Code, public metadata: grpc.Metadata) { + super(message); + } +} diff --git a/packages/api/weshnet/verifiablecredstypes/bertyverifiablecreds.ts b/packages/api/weshnet/verifiablecredstypes/bertyverifiablecreds.ts new file mode 100644 index 0000000000..fd022f71e7 --- /dev/null +++ b/packages/api/weshnet/verifiablecredstypes/bertyverifiablecreds.ts @@ -0,0 +1,498 @@ +/* eslint-disable */ +import _m0 from "protobufjs/minimal"; + +export const protobufPackage = "weshnet.account.v1"; + +export enum FlowType { + FlowTypeUndefined = 0, + /** FlowTypeCode - FlowTypeCode asks users a code sent on a side channel */ + FlowTypeCode = 1, + /** FlowTypeAuth - FlowTypeAuth currently unimplemented */ + FlowTypeAuth = 2, + /** FlowTypeProof - FlowTypeProof currently unimplemented */ + FlowTypeProof = 3, + UNRECOGNIZED = -1, +} + +export function flowTypeFromJSON(object: any): FlowType { + switch (object) { + case 0: + case "FlowTypeUndefined": + return FlowType.FlowTypeUndefined; + case 1: + case "FlowTypeCode": + return FlowType.FlowTypeCode; + case 2: + case "FlowTypeAuth": + return FlowType.FlowTypeAuth; + case 3: + case "FlowTypeProof": + return FlowType.FlowTypeProof; + case -1: + case "UNRECOGNIZED": + default: + return FlowType.UNRECOGNIZED; + } +} + +export function flowTypeToJSON(object: FlowType): string { + switch (object) { + case FlowType.FlowTypeUndefined: + return "FlowTypeUndefined"; + case FlowType.FlowTypeCode: + return "FlowTypeCode"; + case FlowType.FlowTypeAuth: + return "FlowTypeAuth"; + case FlowType.FlowTypeProof: + return "FlowTypeProof"; + case FlowType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum CodeStrategy { + CodeStrategyUndefined = 0, + /** CodeStrategy6Digits - CodeStrategy6Digits currently unimplemented */ + CodeStrategy6Digits = 1, + /** CodeStrategy10Chars - CodeStrategy10Chars currently unimplemented */ + CodeStrategy10Chars = 2, + /** CodeStrategyMocked6Zeroes - CodeStrategyMocked6Zeroes must only be used in testing */ + CodeStrategyMocked6Zeroes = 999, + UNRECOGNIZED = -1, +} + +export function codeStrategyFromJSON(object: any): CodeStrategy { + switch (object) { + case 0: + case "CodeStrategyUndefined": + return CodeStrategy.CodeStrategyUndefined; + case 1: + case "CodeStrategy6Digits": + return CodeStrategy.CodeStrategy6Digits; + case 2: + case "CodeStrategy10Chars": + return CodeStrategy.CodeStrategy10Chars; + case 999: + case "CodeStrategyMocked6Zeroes": + return CodeStrategy.CodeStrategyMocked6Zeroes; + case -1: + case "UNRECOGNIZED": + default: + return CodeStrategy.UNRECOGNIZED; + } +} + +export function codeStrategyToJSON(object: CodeStrategy): string { + switch (object) { + case CodeStrategy.CodeStrategyUndefined: + return "CodeStrategyUndefined"; + case CodeStrategy.CodeStrategy6Digits: + return "CodeStrategy6Digits"; + case CodeStrategy.CodeStrategy10Chars: + return "CodeStrategy10Chars"; + case CodeStrategy.CodeStrategyMocked6Zeroes: + return "CodeStrategyMocked6Zeroes"; + case CodeStrategy.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** StateChallenge serialized and signed state used when requesting a challenge */ +export interface StateChallenge { + timestamp: Uint8Array; + nonce: Uint8Array; + bertyLink: string; + redirectUri: string; + state: string; +} + +/** StateCode serialized and signed state used when requesting a code */ +export interface StateCode { + timestamp: Uint8Array; + bertyLink: string; + codeStrategy: CodeStrategy; + identifier: string; + code: string; + redirectUri: string; + state: string; +} + +export interface AccountCryptoChallenge { + challenge: string; +} + +function createBaseStateChallenge(): StateChallenge { + return { timestamp: new Uint8Array(0), nonce: new Uint8Array(0), bertyLink: "", redirectUri: "", state: "" }; +} + +export const StateChallenge = { + encode(message: StateChallenge, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.timestamp.length !== 0) { + writer.uint32(10).bytes(message.timestamp); + } + if (message.nonce.length !== 0) { + writer.uint32(18).bytes(message.nonce); + } + if (message.bertyLink !== "") { + writer.uint32(26).string(message.bertyLink); + } + if (message.redirectUri !== "") { + writer.uint32(34).string(message.redirectUri); + } + if (message.state !== "") { + writer.uint32(42).string(message.state); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): StateChallenge { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStateChallenge(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.timestamp = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.nonce = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.bertyLink = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.redirectUri = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.state = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): StateChallenge { + return { + timestamp: isSet(object.timestamp) ? bytesFromBase64(object.timestamp) : new Uint8Array(0), + nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0), + bertyLink: isSet(object.bertyLink) ? globalThis.String(object.bertyLink) : "", + redirectUri: isSet(object.redirectUri) ? globalThis.String(object.redirectUri) : "", + state: isSet(object.state) ? globalThis.String(object.state) : "", + }; + }, + + toJSON(message: StateChallenge): unknown { + const obj: any = {}; + if (message.timestamp.length !== 0) { + obj.timestamp = base64FromBytes(message.timestamp); + } + if (message.nonce.length !== 0) { + obj.nonce = base64FromBytes(message.nonce); + } + if (message.bertyLink !== "") { + obj.bertyLink = message.bertyLink; + } + if (message.redirectUri !== "") { + obj.redirectUri = message.redirectUri; + } + if (message.state !== "") { + obj.state = message.state; + } + return obj; + }, + + create, I>>(base?: I): StateChallenge { + return StateChallenge.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StateChallenge { + const message = createBaseStateChallenge(); + message.timestamp = object.timestamp ?? new Uint8Array(0); + message.nonce = object.nonce ?? new Uint8Array(0); + message.bertyLink = object.bertyLink ?? ""; + message.redirectUri = object.redirectUri ?? ""; + message.state = object.state ?? ""; + return message; + }, +}; + +function createBaseStateCode(): StateCode { + return { + timestamp: new Uint8Array(0), + bertyLink: "", + codeStrategy: 0, + identifier: "", + code: "", + redirectUri: "", + state: "", + }; +} + +export const StateCode = { + encode(message: StateCode, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.timestamp.length !== 0) { + writer.uint32(10).bytes(message.timestamp); + } + if (message.bertyLink !== "") { + writer.uint32(18).string(message.bertyLink); + } + if (message.codeStrategy !== 0) { + writer.uint32(24).int32(message.codeStrategy); + } + if (message.identifier !== "") { + writer.uint32(34).string(message.identifier); + } + if (message.code !== "") { + writer.uint32(42).string(message.code); + } + if (message.redirectUri !== "") { + writer.uint32(50).string(message.redirectUri); + } + if (message.state !== "") { + writer.uint32(58).string(message.state); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): StateCode { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStateCode(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.timestamp = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.bertyLink = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.codeStrategy = reader.int32() as any; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.identifier = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.code = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.redirectUri = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.state = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): StateCode { + return { + timestamp: isSet(object.timestamp) ? bytesFromBase64(object.timestamp) : new Uint8Array(0), + bertyLink: isSet(object.bertyLink) ? globalThis.String(object.bertyLink) : "", + codeStrategy: isSet(object.codeStrategy) ? codeStrategyFromJSON(object.codeStrategy) : 0, + identifier: isSet(object.identifier) ? globalThis.String(object.identifier) : "", + code: isSet(object.code) ? globalThis.String(object.code) : "", + redirectUri: isSet(object.redirectUri) ? globalThis.String(object.redirectUri) : "", + state: isSet(object.state) ? globalThis.String(object.state) : "", + }; + }, + + toJSON(message: StateCode): unknown { + const obj: any = {}; + if (message.timestamp.length !== 0) { + obj.timestamp = base64FromBytes(message.timestamp); + } + if (message.bertyLink !== "") { + obj.bertyLink = message.bertyLink; + } + if (message.codeStrategy !== 0) { + obj.codeStrategy = codeStrategyToJSON(message.codeStrategy); + } + if (message.identifier !== "") { + obj.identifier = message.identifier; + } + if (message.code !== "") { + obj.code = message.code; + } + if (message.redirectUri !== "") { + obj.redirectUri = message.redirectUri; + } + if (message.state !== "") { + obj.state = message.state; + } + return obj; + }, + + create, I>>(base?: I): StateCode { + return StateCode.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StateCode { + const message = createBaseStateCode(); + message.timestamp = object.timestamp ?? new Uint8Array(0); + message.bertyLink = object.bertyLink ?? ""; + message.codeStrategy = object.codeStrategy ?? 0; + message.identifier = object.identifier ?? ""; + message.code = object.code ?? ""; + message.redirectUri = object.redirectUri ?? ""; + message.state = object.state ?? ""; + return message; + }, +}; + +function createBaseAccountCryptoChallenge(): AccountCryptoChallenge { + return { challenge: "" }; +} + +export const AccountCryptoChallenge = { + encode(message: AccountCryptoChallenge, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.challenge !== "") { + writer.uint32(10).string(message.challenge); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccountCryptoChallenge { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountCryptoChallenge(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.challenge = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccountCryptoChallenge { + return { challenge: isSet(object.challenge) ? globalThis.String(object.challenge) : "" }; + }, + + toJSON(message: AccountCryptoChallenge): unknown { + const obj: any = {}; + if (message.challenge !== "") { + obj.challenge = message.challenge; + } + return obj; + }, + + create, I>>(base?: I): AccountCryptoChallenge { + return AccountCryptoChallenge.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccountCryptoChallenge { + const message = createBaseAccountCryptoChallenge(); + message.challenge = object.challenge ?? ""; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if (globalThis.Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (globalThis.Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/screens/Settings/SettingsScreen.tsx b/packages/screens/Settings/SettingsScreen.tsx index bd305073b7..fab104d815 100644 --- a/packages/screens/Settings/SettingsScreen.tsx +++ b/packages/screens/Settings/SettingsScreen.tsx @@ -12,9 +12,12 @@ import { BrandText } from "../../components/BrandText"; import { SVG } from "../../components/SVG"; import { ScreenContainer } from "../../components/ScreenContainer"; import { CustomPressable } from "../../components/buttons/CustomPressable"; +import { PrimaryButton } from "../../components/buttons/PrimaryButton"; import { TertiaryButton } from "../../components/buttons/TertiaryButton"; +import ModalBase from "../../components/modals/ModalBase"; import { NetworksListModal } from "../../components/modals/NetworksListModal"; import { SpacerColumn } from "../../components/spacer"; +import { useFeedbacks } from "../../context/FeedbacksProvider"; import { useIsKeplrConnected } from "../../hooks/useIsKeplrConnected"; import { selectAreTestnetsEnabled, @@ -28,6 +31,8 @@ import { useAppDispatch } from "../../store/store"; import { ScreenFC, useAppNavigation } from "../../utils/navigation"; import { neutralA3, primaryColor } from "../../utils/style/colors"; import { fontSemibold14 } from "../../utils/style/fonts"; +import { modalMarginPadding } from "../../utils/style/modals"; +import { createWeshClient } from "../../utils/weshnet"; const NFTAPIKeyInput: React.FC = () => { const userIPFSKey = useSelector(selectNFTStorageAPI); @@ -153,6 +158,10 @@ export const SettingsScreen: ScreenFC<"Settings"> = () => { /> + + + + {/*Please note that the "user profile customization" part of this task was changed to navigate to the TNS manage page.*/} {/*I left the files ( committed to the repo UserProfileModal.tsx) as by the previous developer.*/} {/* = () => { ); }; + +const TestWeshnetButton: React.FC = () => { + const [rdvSeed, setRDVSeed] = React.useState(""); + const { wrapWithFeedback } = useFeedbacks(); + const [modalVisible, setModalVisible] = React.useState(false); + const [systemInfo, setSystemInfo] = React.useState(""); + return ( + <> + { + const client = createWeshClient("http://localhost:4242"); + await client.ContactRequestEnable({}); + const res = await client.ContactRequestReference({}); + let rdvSeed = res.publicRendezvousSeed; + if (rdvSeed.length === 0) { + const res = await client.ContactRequestResetReference({}); + if (res.publicRendezvousSeed.length === 0) { + throw new Error("No rendezvous seed"); + } + rdvSeed = res.publicRendezvousSeed; + } + setRDVSeed(Buffer.from(rdvSeed).toString("base64")); + try { + const info = await client.SystemInfo({}); + setSystemInfo(JSON.stringify(info, null, 4)); + } catch (e) { + setSystemInfo(`${e}`); + } + setModalVisible(true); + })} + /> + setModalVisible(false)} + scrollable + > + RDV Seed: {rdvSeed} + System Info: + + {systemInfo} + + + + ); +}; diff --git a/packages/utils/weshnet.ts b/packages/utils/weshnet.ts new file mode 100644 index 0000000000..651bdfc86d --- /dev/null +++ b/packages/utils/weshnet.ts @@ -0,0 +1,10 @@ +import { + GrpcWebImpl, + ProtocolServiceClientImpl, +} from "../api/weshnet/protocoltypes"; + +export const createWeshClient = (url: string) => { + const rpc = new GrpcWebImpl(url, { debug: false }); + const client = new ProtocolServiceClientImpl(rpc); + return client; +}; diff --git a/weshnet.buf.gen.yaml b/weshnet.buf.gen.yaml new file mode 100644 index 0000000000..5cca21b0c5 --- /dev/null +++ b/weshnet.buf.gen.yaml @@ -0,0 +1,8 @@ +version: v1 +plugins: + - name: ts + out: packages/api + path: node_modules/ts-proto/protoc-gen-ts_proto + opt: + - outputClientImpl=grpc-web + - esModuleInterop=true diff --git a/yarn.lock b/yarn.lock index fe022912c0..81d70a1b43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15421,6 +15421,13 @@ __metadata: languageName: node linkType: hard +"google-protobuf@npm:^3.21.2": + version: 3.21.2 + resolution: "google-protobuf@npm:3.21.2" + checksum: 3caa2e1e2654714cc1a201ac5e5faabcaa48f5fba3d8ff9b64ca66fe19e4e0506b94053f32eddc77bf3a7a47ac1660315c6744185c1e2bb27654fd76fe91b988 + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -24668,6 +24675,7 @@ __metadata: expo-linear-gradient: ~12.3.0 expo-optimize: ^0.2.19 expo-status-bar: ~1.6.0 + google-protobuf: ^3.21.2 html-to-draftjs: ^1.5.0 lodash: ^4.17.21 long: ^5.2.1