@dxos/protocols 0.7.5-labs.a8b535d → 0.7.5-labs.d199c0f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts +23 -7
  2. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  3. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js +53 -48
  4. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  5. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +1 -1
  6. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  7. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  8. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  9. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +15 -11
  10. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  11. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  12. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts +1 -4
  13. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  14. package/dist/cjs/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  15. package/dist/cjs/src/proto/gen/index.d.ts +1 -0
  16. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/index.js +1 -1
  18. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  19. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  20. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts +23 -7
  21. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  22. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js +51 -46
  23. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  24. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +1 -1
  25. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  26. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  27. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  28. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +15 -11
  29. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  30. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  31. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts +1 -4
  32. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  33. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  34. package/dist/esm/src/proto/gen/index.d.ts +1 -0
  35. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  36. package/dist/esm/src/proto/gen/index.js +1 -1
  37. package/dist/esm/src/proto/gen/index.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/buf/proto/gen/dxos/client/services_pb.ts +72 -53
  40. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +2 -2
  41. package/src/proto/dxos/client/services.proto +10 -5
  42. package/src/proto/dxos/halo/credentials.proto +1 -1
  43. package/src/proto/gen/dxos/client/services.ts +15 -11
  44. package/src/proto/gen/dxos/halo/credentials.ts +1 -4
  45. package/src/proto/gen/index.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmEhE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AA0lBhD,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,ystHAAystH,CAAC,CAAC,CAAC;AAClwtH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmEhE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AA2lBhD,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,8ptHAA8ptH,CAAC,CAAC,CAAC;AACvttH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/protocols",
3
- "version": "0.7.5-labs.a8b535d",
3
+ "version": "0.7.5-labs.d199c0f",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -72,12 +72,12 @@
72
72
  ],
73
73
  "dependencies": {
74
74
  "@bufbuild/protobuf": "^2.1.0",
75
- "@dxos/codec-protobuf": "0.7.5-labs.a8b535d",
76
- "@dxos/effect": "0.7.5-labs.a8b535d",
77
- "@dxos/keys": "0.7.5-labs.a8b535d",
78
- "@dxos/invariant": "0.7.5-labs.a8b535d",
79
- "@dxos/util": "0.7.5-labs.a8b535d",
80
- "@dxos/timeframe": "0.7.5-labs.a8b535d"
75
+ "@dxos/codec-protobuf": "0.7.5-labs.d199c0f",
76
+ "@dxos/effect": "0.7.5-labs.d199c0f",
77
+ "@dxos/invariant": "0.7.5-labs.d199c0f",
78
+ "@dxos/keys": "0.7.5-labs.d199c0f",
79
+ "@dxos/timeframe": "0.7.5-labs.d199c0f",
80
+ "@dxos/util": "0.7.5-labs.d199c0f"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@bufbuild/buf": "^1.43.0",
@@ -45,7 +45,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
45
45
  * Describes the file dxos/client/services.proto.
46
46
  */
47
47
  export const file_dxos_client_services: GenFile = /*@__PURE__*/
48
- fileDesc("ChpkeG9zL2NsaWVudC9zZXJ2aWNlcy5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMiSQoTVXBkYXRlU3RhdHVzUmVxdWVzdBIyCgZzdGF0dXMYASABKA4yIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TeXN0ZW1TdGF0dXMiOAoSUXVlcnlTdGF0dXNSZXF1ZXN0EhUKCGludGVydmFsGAEgASgFSACIAQFCCwoJX2ludGVydmFsIkkKE1F1ZXJ5U3RhdHVzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIuZHhvcy5jbGllbnQuc2VydmljZXMuU3lzdGVtU3RhdHVzIp8BChVHZXREaWFnbm9zdGljc1JlcXVlc3QSSQoEa2V5cxgBIAEoDjI2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkdldERpYWdub3N0aWNzUmVxdWVzdC5LRVlfT1BUSU9OSACIAQEiMgoKS0VZX09QVElPThIICgROT05FEAASDAoIVFJVTkNBVEUQARIMCghIVU1BTklaRRACQgcKBV9rZXlzInUKFkdldERpYWdub3N0aWNzUmVzcG9uc2USLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgtkaWFnbm9zdGljcxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5AIKCFBsYXRmb3JtEjoKBHR5cGUYASABKA4yLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybS5QTEFURk9STV9UWVBFEhcKCnVzZXJfYWdlbnQYAiABKAlIAIgBARIVCghwbGF0Zm9ybRgDIAEoCUgBiAEBEhEKBGFyY2gYBCABKAlIAogBARIUCgdydW50aW1lGAUgASgJSAOIAQESEwoGdXB0aW1lGAYgASgNSASIAQESLAoGbWVtb3J5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBIjkKDVBMQVRGT1JNX1RZUEUSCwoHQlJPV1NFUhAAEhEKDVNIQVJFRF9XT1JLRVIQARIICgROT0RFEAJCDQoLX3VzZXJfYWdlbnRCCwoJX3BsYXRmb3JtQgcKBV9hcmNoQgoKCF9ydW50aW1lQgkKB191cHRpbWVCCQoHX21lbW9yeSLJAQoISWRlbnRpdHkSCwoDZGlkGAQgASgJEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLAoJc3BhY2Vfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEjwKB3Byb2ZpbGUYAyABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SAGIAQFCDAoKX3NwYWNlX2tleUIKCghfcHJvZmlsZSKPAQogUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlUmVzcG9uc2USKAoKZGV2aWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJY2hhbGxlbmdlGAMgASgJIqkDChZSZWNvdmVySWRlbnRpdHlSZXF1ZXN0EhcKDXJlY292ZXJ5X2NvZGUYASABKAlIABJSCghleHRlcm5hbBgCIAEoCzI+LmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlY292ZXJJZGVudGl0eVJlcXVlc3QuRXh0ZXJuYWxTaWduYXR1cmVIABqWAgoRRXh0ZXJuYWxTaWduYXR1cmUSKAoKbG9va3VwX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJc2lnbmF0dXJlGAQgASgMEh0KEGNsaWVudF9kYXRhX2pzb24YBSABKAxIAIgBARIfChJhdXRoZW50aWNhdG9yX2RhdGEYBiABKAxIAYgBAUITChFfY2xpZW50X2RhdGFfanNvbkIVChNfYXV0aGVudGljYXRvcl9kYXRhQgkKB3JlcXVlc3QixwEKH0NyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlcXVlc3QSLwoMcmVjb3Zlcnlfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEi0KCmxvb2t1cF9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAGIAQESFgoJYWxnb3JpdGhtGAMgASgJSAKIAQFCDwoNX3JlY292ZXJ5X2tleUINCgtfbG9va3VwX2tleUIMCgpfYWxnb3JpdGhtIlAKIENyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlc3BvbnNlEhoKDXJlY292ZXJ5X2NvZGUYASABKAlIAIgBAUIQCg5fcmVjb3ZlcnlfY29kZSJbChVRdWVyeUlkZW50aXR5UmVzcG9uc2USNQoIaWRlbnRpdHkYASABKAsyHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eUgAiAEBQgsKCV9pZGVudGl0eSJyChdTaWduUHJlc2VudGF0aW9uUmVxdWVzdBI5CgxwcmVzZW50YXRpb24YASABKAsyIy5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJlc2VudGF0aW9uEhIKBW5vbmNlGAIgASgMSACIAQFCCAoGX25vbmNlIsUBChVDcmVhdGVJZGVudGl0eVJlcXVlc3QSPAoHcHJvZmlsZRgBIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARJJCg5kZXZpY2VfcHJvZmlsZRgDIAEoCzIsLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VQcm9maWxlRG9jdW1lbnRIAYgBAUIKCghfcHJvZmlsZUIRCg9fZGV2aWNlX3Byb2ZpbGVKBAgCEAMipwIKBkRldmljZRIoCgpkZXZpY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIuCgRraW5kGAIgASgOMiAuZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlS2luZBJCCgdwcm9maWxlGAMgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBEjwKCHByZXNlbmNlGAQgASgOMiouZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlLlByZXNlbmNlU3RhdGUiNQoNUHJlc2VuY2VTdGF0ZRILCgdPRkZMSU5FEAASCgoGT05MSU5FEAESCwoHUkVNT1ZFRBACQgoKCF9wcm9maWxlIkUKFFF1ZXJ5RGV2aWNlc1Jlc3BvbnNlEi0KB2RldmljZXMYASADKAsyHC5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZXZpY2UiqgEKB0NvbnRhY3QSKQoLaWRlbnRpdHlLZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EjwKB3Byb2ZpbGUYASABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SACIAQESKgoMY29tbW9uU3BhY2VzGAMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUIKCghfcHJvZmlsZSI+CgtDb250YWN0Qm9vaxIvCghjb250YWN0cxgBIAMoCzIdLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3QilgIKC1NwYWNlTWVtYmVyEjAKCGlkZW50aXR5GAEgASgLMh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSQQoIcHJlc2VuY2UYAiABKA4yLy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZU1lbWJlci5QcmVzZW5jZVN0YXRlEjEKCnBlZXJTdGF0ZXMYAyADKAsyHS5keG9zLm1lc2gucHJlc2VuY2UuUGVlclN0YXRlEjUKBHJvbGUYBCABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZSIoCg1QcmVzZW5jZVN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQASLmEgoFU3BhY2USCgoCaWQYBSABKAkSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIvCgVzdGF0ZRgCIAEoDjIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlU3RhdGUSQAoIcGlwZWxpbmUYAyABKAsyKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5QaXBlbGluZVN0YXRlSACIAQESJQoFZXJyb3IYBCABKAsyES5keG9zLmVycm9yLkVycm9ySAGIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgGIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAKIAQESMgoHbWVtYmVycxgKIAMoCzIhLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlTWVtYmVyEioKB2NyZWF0b3IYCyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAOIAQESMgoFY2FjaGUYFCABKAsyHi5keG9zLmVjaG8ubWV0YWRhdGEuU3BhY2VDYWNoZUgEiAEBEjQKB21ldHJpY3MYFSABKAsyIy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5NZXRyaWNzGtcDCgdNZXRyaWNzEi0KBG9wZW4YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESPAoTcGlwZWxpbmVfaW5pdF9iZWdpbhgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI/ChZjb250cm9sX3BpcGVsaW5lX3JlYWR5GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjsKEmRhdGFfcGlwZWxpbmVfb3BlbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI8ChNkYXRhX3BpcGVsaW5lX3JlYWR5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEi4KBXJlYWR5GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQgcKBV9vcGVuQhYKFF9waXBlbGluZV9pbml0X2JlZ2luQhkKF19jb250cm9sX3BpcGVsaW5lX3JlYWR5QhUKE19kYXRhX3BpcGVsaW5lX29wZW5CFgoUX2RhdGFfcGlwZWxpbmVfcmVhZHlCCAoGX3JlYWR5GtwKCg1QaXBlbGluZVN0YXRlEjMKEGNvbnRyb2xfZmVlZF9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESMAoNZGF0YV9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAYgBARIrCg1jb250cm9sX2ZlZWRzGBIgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpkYXRhX2ZlZWRzGBMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI9Cg1jdXJyZW50X2Vwb2NoGBQgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIAogBARI9Cg1hcHBsaWVkX2Vwb2NoGBUgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIA4gBARJMChljdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBIgBARJLChh0YXJnZXRfY29udHJvbF90aW1lZnJhbWUYCyABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgFiAEBEkoKF3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lGA4gASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBogBARJKChdrbm93bl9jb250cm9sX3RpbWVmcmFtZRgPIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAeIAQESRwoUc3RhcnRfZGF0YV90aW1lZnJhbWUYZCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgIiAEBEkkKFmN1cnJlbnRfZGF0YV90aW1lZnJhbWUYDCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgJiAEBEkgKFXRhcmdldF9kYXRhX3RpbWVmcmFtZRgNIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAqIAQESRwoUdG90YWxfZGF0YV90aW1lZnJhbWUYECABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgLiAEBEkcKFGtub3duX2RhdGFfdGltZWZyYW1lGBEgASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIDIgBARIbCg5zcGFjZV9yb290X3VybBgWIAEoCUgNiAEBQhMKEV9jb250cm9sX2ZlZWRfa2V5QhAKDl9kYXRhX2ZlZWRfa2V5QhAKDl9jdXJyZW50X2Vwb2NoQhAKDl9hcHBsaWVkX2Vwb2NoQhwKGl9jdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lQhsKGV90YXJnZXRfY29udHJvbF90aW1lZnJhbWVCGgoYX3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lQhoKGF9rbm93bl9jb250cm9sX3RpbWVmcmFtZUIXChVfc3RhcnRfZGF0YV90aW1lZnJhbWVCGQoXX2N1cnJlbnRfZGF0YV90aW1lZnJhbWVCGAoWX3RhcmdldF9kYXRhX3RpbWVmcmFtZUIXChVfdG90YWxfZGF0YV90aW1lZnJhbWVCFwoVX2tub3duX2RhdGFfdGltZWZyYW1lQhEKD19zcGFjZV9yb290X3VybEILCglfcGlwZWxpbmVCCAoGX2Vycm9yQhMKEV9lZGdlX3JlcGxpY2F0aW9uQgoKCF9jcmVhdG9yQggKBl9jYWNoZSLdAQoSVXBkYXRlU3BhY2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNAoFc3RhdGUYAiABKA4yIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZVN0YXRlSACIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgDIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAGIAQFCCAoGX3N0YXRlQhMKEV9lZGdlX3JlcGxpY2F0aW9uIkIKE1F1ZXJ5U3BhY2VzUmVzcG9uc2USKwoGc3BhY2VzGAEgAygLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UidQoSUG9zdE1lc3NhZ2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSDwoHY2hhbm5lbBgCIAEoCRIlCgdtZXNzYWdlGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueSJUChhTdWJzY3JpYmVNZXNzYWdlc1JlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIPCgdjaGFubmVsGAIgASgJInoKF1dyaXRlQ3JlZGVudGlhbHNSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNgoLY3JlZGVudGlhbHMYAiADKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbCJkChdRdWVyeUNyZWRlbnRpYWxzUmVxdWVzdBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKB25vX3RhaWwYAiABKAhIAIgBAUIKCghfbm9fdGFpbCL1AgoSQ3JlYXRlRXBvY2hSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSSgoJbWlncmF0aW9uGAIgASgOMjIuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXF1ZXN0Lk1pZ3JhdGlvbkgAiAEBEh8KEmF1dG9tZXJnZV9yb290X3VybBgDIAEoCUgBiAEBIqMBCglNaWdyYXRpb24SCAoETk9ORRAAEhIKDklOSVRfQVVUT01FUkdFEAESIAocUFJVTkVfQVVUT01FUkdFX1JPT1RfSElTVE9SWRACEhsKF0ZSQUdNRU5UX0FVVE9NRVJHRV9ST09UEAMSGgoWUkVQTEFDRV9BVVRPTUVSR0VfUk9PVBAEEh0KGU1JR1JBVEVfUkVGRVJFTkNFU19UT19EWE4QBUIMCgpfbWlncmF0aW9uQhUKE19hdXRvbWVyZ2Vfcm9vdF91cmwiyAEKE0NyZWF0ZUVwb2NoUmVzcG9uc2USQAoQZXBvY2hfY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsSACIAQESRAoRY29udHJvbF90aW1lZnJhbWUYAiABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgBiAEBQhMKEV9lcG9jaF9jcmVkZW50aWFsQhQKEl9jb250cm9sX3RpbWVmcmFtZSKnAQoXVXBkYXRlTWVtYmVyUm9sZVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgptZW1iZXJfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI5CghuZXdfcm9sZRgDIAEoDjInLmR4b3MuaGFsby5jcmVkZW50aWFscy5TcGFjZU1lbWJlci5Sb2xlIqUBChNBZG1pdENvbnRhY3RSZXF1ZXN0Ei4KB2NvbnRhY3QYASABKAsyHS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0EjUKBHJvbGUYAiABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZRInCglzcGFjZV9rZXkYAyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IkkKEENvbnRhY3RBZG1pc3Npb24SNQoKY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsIj8KEUpvaW5TcGFjZVJlc3BvbnNlEioKBXNwYWNlGAEgASgLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UiQAoVSm9pbkJ5U3BhY2VLZXlSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkirQEKF0FjY2VwdEludml0YXRpb25SZXF1ZXN0EjQKCmludml0YXRpb24YASABKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uEkkKDmRldmljZV9wcm9maWxlGAIgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBQhEKD19kZXZpY2VfcHJvZmlsZSJBChVBdXRoZW50aWNhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCRIRCglhdXRoX2NvZGUYAiABKAkiMAoXQ2FuY2VsSW52aXRhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCSKFAQoQSW52aXRhdGlvbk1ldGhvZBIzCgdjcmVhdGVkGAEgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAEjQKCGFjY2VwdGVkGAIgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAQgYKBGtpbmQi4gIKGFF1ZXJ5SW52aXRhdGlvbnNSZXNwb25zZRJFCgZhY3Rpb24YASABKA4yNS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuQWN0aW9uEkEKBHR5cGUYAiABKA4yMy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuVHlwZRI1CgtpbnZpdGF0aW9ucxgDIAMoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24SFQoIZXhpc3RpbmcYBCABKAhIAIgBASI+CgZBY3Rpb24SCQoFQURERUQQABILCgdSRU1PVkVEEAESCQoFU0FWRUQQAhIRCg1MT0FEX0NPTVBMRVRFEAMiIQoEVHlwZRILCgdDUkVBVEVEEAASDAoIQUNDRVBURUQQAUILCglfZXhpc3RpbmciWgohTG9hZFBlcnNpc3RlbnRJbnZpdGF0aW9uc1Jlc3BvbnNlEjUKC2ludml0YXRpb25zGAEgAygLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbiKFAgoNTmV0d29ya1N0YXR1cxI0CgVzd2FybRgBIAEoDjIlLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbm5lY3Rpb25TdGF0ZRI9CglzaWduYWxpbmcYAiADKAsyKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5OZXR3b3JrU3RhdHVzLlNpZ25hbBI3Cg9jb25uZWN0aW9uX2luZm8YAyADKAsyHi5keG9zLmRldnRvb2xzLnN3YXJtLlN3YXJtSW5mbxpGCgZTaWduYWwSDgoGc2VydmVyGAEgASgJEiwKBXN0YXRlGAIgASgOMh0uZHhvcy5tZXNoLnNpZ25hbC5TaWduYWxTdGF0ZSJLChNVcGRhdGVDb25maWdSZXF1ZXN0EjQKBXN3YXJtGAEgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuQ29ubmVjdGlvblN0YXRlIkEKGlN1YnNjcmliZVN3YXJtU3RhdGVSZXF1ZXN0EiMKBXRvcGljGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKTAQoXUXVlcnlFZGdlU3RhdHVzUmVzcG9uc2USSAoGc3RhdHVzGAEgASgOMjguZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlFZGdlU3RhdHVzUmVzcG9uc2UuRWRnZVN0YXR1cyIuCgpFZGdlU3RhdHVzEhEKDU5PVF9DT05ORUNURUQQABINCglDT05ORUNURUQQASKrAQoYUXVlcnlBZ2VudFN0YXR1c1Jlc3BvbnNlEkoKBnN0YXR1cxgBIAEoDjI6LmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZS5BZ2VudFN0YXR1cyJDCgtBZ2VudFN0YXR1cxILCgdVTktOT1dOEAASCgoGQUNUSVZFEAESDAoISU5BQ1RJVkUQAhINCglOT1RfRk9VTkQQAyooCgxTeXN0ZW1TdGF0dXMSDAoISU5BQ1RJVkUQABIKCgZBQ1RJVkUQASomCgpEZXZpY2VLaW5kEgsKB0NVUlJFTlQQABILCgdUUlVTVEVEEAEqKgoPQ29ubmVjdGlvblN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQATLvAwoNU3lzdGVtU2VydmljZRI4CglHZXRDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaEy5keG9zLmNvbmZpZy5Db25maWcSawoOR2V0RGlhZ25vc3RpY3MSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5HZXREaWFnbm9zdGljc1JlcXVlc3QaLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5HZXREaWFnbm9zdGljc1Jlc3BvbnNlElEKDFVwZGF0ZVN0YXR1cxIpLmR4b3MuY2xpZW50LnNlcnZpY2VzLlVwZGF0ZVN0YXR1c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZAoLUXVlcnlTdGF0dXMSKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVN0YXR1c1JlcXVlc3QaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVN0YXR1c1Jlc3BvbnNlMAESNwoFUmVzZXQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRQoLR2V0UGxhdGZvcm0SFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybTK1BgoPSWRlbnRpdHlTZXJ2aWNlEl0KDkNyZWF0ZUlkZW50aXR5EisuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlSWRlbnRpdHlSZXF1ZXN0Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSagoYUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GjYuZHhvcy5jbGllbnQuc2VydmljZXMuUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlUmVzcG9uc2USXwoPUmVjb3ZlcklkZW50aXR5EiwuZHhvcy5jbGllbnQuc2VydmljZXMuUmVjb3ZlcklkZW50aXR5UmVxdWVzdBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EokBChhDcmVhdGVSZWNvdmVyeUNyZWRlbnRpYWwSNS5keG9zLmNsaWVudC5zZXJ2aWNlcy5DcmVhdGVSZWNvdmVyeUNyZWRlbnRpYWxSZXF1ZXN0GjYuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVzcG9uc2USVgoNUXVlcnlJZGVudGl0eRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRorLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5SWRlbnRpdHlSZXNwb25zZTABElcKDVVwZGF0ZVByb2ZpbGUSJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSZgoQU2lnblByZXNlbnRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNpZ25QcmVzZW50YXRpb25SZXF1ZXN0GiMuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByZXNlbnRhdGlvbhJRChRDcmVhdGVBdXRoQ3JlZGVudGlhbBIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRohLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsMsIBCg5EZXZpY2VzU2VydmljZRJaCgxVcGRhdGVEZXZpY2USLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50GhwuZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlElQKDFF1ZXJ5RGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoqLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5RGV2aWNlc1Jlc3BvbnNlMAEyqQEKD0NvbnRhY3RzU2VydmljZRJICgtHZXRDb250YWN0cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRohLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3RCb29rEkwKDVF1ZXJ5Q29udGFjdHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0Qm9vazABMvcHCg1TcGFjZXNTZXJ2aWNlEkIKC0NyZWF0ZVNwYWNlEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2USTwoLVXBkYXRlU3BhY2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVTcGFjZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUgoLUXVlcnlTcGFjZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVNwYWNlc1Jlc3BvbnNlMAESWQoQVXBkYXRlTWVtYmVyUm9sZRItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElEKDEFkbWl0Q29udGFjdBIpLmR4b3MuY2xpZW50LnNlcnZpY2VzLkFkbWl0Q29udGFjdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZgoOSm9pbkJ5U3BhY2VLZXkSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5Kb2luQnlTcGFjZUtleVJlcXVlc3QaJy5keG9zLmNsaWVudC5zZXJ2aWNlcy5Kb2luU3BhY2VSZXNwb25zZRJPCgtQb3N0TWVzc2FnZRIoLmR4b3MuY2xpZW50LnNlcnZpY2VzLlBvc3RNZXNzYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJvChFTdWJzY3JpYmVNZXNzYWdlcxIuLmR4b3MuY2xpZW50LnNlcnZpY2VzLlN1YnNjcmliZU1lc3NhZ2VzUmVxdWVzdBooLmR4b3MubWVzaC50ZWxlcG9ydC5nb3NzaXAuR29zc2lwTWVzc2FnZTABElkKEFdyaXRlQ3JlZGVudGlhbHMSLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Xcml0ZUNyZWRlbnRpYWxzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJmChBRdWVyeUNyZWRlbnRpYWxzEi0uZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlDcmVkZW50aWFsc1JlcXVlc3QaIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbDABEmIKC0NyZWF0ZUVwb2NoEiguZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXNwb25zZTLjAwoSSW52aXRhdGlvbnNTZXJ2aWNlElgKEENyZWF0ZUludml0YXRpb24SIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uGiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbjABEmUKEEFjY2VwdEludml0YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BY2NlcHRJbnZpdGF0aW9uUmVxdWVzdBogLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24wARJTCgxBdXRoZW50aWNhdGUSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5BdXRoZW50aWNhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWQoQQ2FuY2VsSW52aXRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNhbmNlbEludml0YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5SW52aXRhdGlvbnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UwATK5BAoOTmV0d29ya1NlcnZpY2USUQoMVXBkYXRlQ29uZmlnEikuZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlQ29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJMCgtRdWVyeVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRojLmR4b3MuY2xpZW50LnNlcnZpY2VzLk5ldHdvcmtTdGF0dXMwARJCCglKb2luU3dhcm0SHS5keG9zLmVkZ2Uuc2lnbmFsLkpvaW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCkxlYXZlU3dhcm0SHi5keG9zLmVkZ2Uuc2lnbmFsLkxlYXZlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJtChNTdWJzY3JpYmVTd2FybVN0YXRlEjAuZHhvcy5jbGllbnQuc2VydmljZXMuU3Vic2NyaWJlU3dhcm1TdGF0ZVJlcXVlc3QaIi5keG9zLmVkZ2UubWVzc2VuZ2VyLlN3YXJtUmVzcG9uc2UwARJACgtTZW5kTWVzc2FnZRIZLmR4b3MuZWRnZS5zaWduYWwuTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJLChFTdWJzY3JpYmVNZXNzYWdlcxIZLmR4b3MuZWRnZS5tZXNzZW5nZXIuUGVlchoZLmR4b3MuZWRnZS5zaWduYWwuTWVzc2FnZTABMosCChBFZGdlQWdlbnRTZXJ2aWNlEloKD1F1ZXJ5RWRnZVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRotLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5RWRnZVN0YXR1c1Jlc3BvbnNlMAESPQoLQ3JlYXRlQWdlbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSXAoQUXVlcnlBZ2VudFN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRouLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZTABYgZwcm90bzM", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_client_invitation, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_metadata, file_dxos_echo_timeframe, file_dxos_edge_messenger, file_dxos_edge_signal, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
48
+ fileDesc("ChpkeG9zL2NsaWVudC9zZXJ2aWNlcy5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMiSQoTVXBkYXRlU3RhdHVzUmVxdWVzdBIyCgZzdGF0dXMYASABKA4yIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TeXN0ZW1TdGF0dXMiOAoSUXVlcnlTdGF0dXNSZXF1ZXN0EhUKCGludGVydmFsGAEgASgFSACIAQFCCwoJX2ludGVydmFsIkkKE1F1ZXJ5U3RhdHVzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIuZHhvcy5jbGllbnQuc2VydmljZXMuU3lzdGVtU3RhdHVzIp8BChVHZXREaWFnbm9zdGljc1JlcXVlc3QSSQoEa2V5cxgBIAEoDjI2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkdldERpYWdub3N0aWNzUmVxdWVzdC5LRVlfT1BUSU9OSACIAQEiMgoKS0VZX09QVElPThIICgROT05FEAASDAoIVFJVTkNBVEUQARIMCghIVU1BTklaRRACQgcKBV9rZXlzInUKFkdldERpYWdub3N0aWNzUmVzcG9uc2USLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgtkaWFnbm9zdGljcxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5AIKCFBsYXRmb3JtEjoKBHR5cGUYASABKA4yLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybS5QTEFURk9STV9UWVBFEhcKCnVzZXJfYWdlbnQYAiABKAlIAIgBARIVCghwbGF0Zm9ybRgDIAEoCUgBiAEBEhEKBGFyY2gYBCABKAlIAogBARIUCgdydW50aW1lGAUgASgJSAOIAQESEwoGdXB0aW1lGAYgASgNSASIAQESLAoGbWVtb3J5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBIjkKDVBMQVRGT1JNX1RZUEUSCwoHQlJPV1NFUhAAEhEKDVNIQVJFRF9XT1JLRVIQARIICgROT0RFEAJCDQoLX3VzZXJfYWdlbnRCCwoJX3BsYXRmb3JtQgcKBV9hcmNoQgoKCF9ydW50aW1lQgkKB191cHRpbWVCCQoHX21lbW9yeSLJAQoISWRlbnRpdHkSCwoDZGlkGAQgASgJEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLAoJc3BhY2Vfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEjwKB3Byb2ZpbGUYAyABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SAGIAQFCDAoKX3NwYWNlX2tleUIKCghfcHJvZmlsZSKPAQogUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlUmVzcG9uc2USKAoKZGV2aWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJY2hhbGxlbmdlGAMgASgJIqkDChZSZWNvdmVySWRlbnRpdHlSZXF1ZXN0EhcKDXJlY292ZXJ5X2NvZGUYASABKAlIABJSCghleHRlcm5hbBgCIAEoCzI+LmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlY292ZXJJZGVudGl0eVJlcXVlc3QuRXh0ZXJuYWxTaWduYXR1cmVIABqWAgoRRXh0ZXJuYWxTaWduYXR1cmUSKAoKbG9va3VwX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJc2lnbmF0dXJlGAQgASgMEh0KEGNsaWVudF9kYXRhX2pzb24YBSABKAxIAIgBARIfChJhdXRoZW50aWNhdG9yX2RhdGEYBiABKAxIAYgBAUITChFfY2xpZW50X2RhdGFfanNvbkIVChNfYXV0aGVudGljYXRvcl9kYXRhQgkKB3JlcXVlc3QigQEKFlJlY292ZXJ5Q3JlZGVudGlhbERhdGESKgoMcmVjb3Zlcnlfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpsb29rdXBfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglhbGdvcml0aG0YAyABKAkiawofQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVxdWVzdBI/CgRkYXRhGAEgASgLMiwuZHhvcy5jbGllbnQuc2VydmljZXMuUmVjb3ZlcnlDcmVkZW50aWFsRGF0YUgAiAEBQgcKBV9kYXRhIlAKIENyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlc3BvbnNlEhoKDXJlY292ZXJ5X2NvZGUYASABKAlIAIgBAUIQCg5fcmVjb3ZlcnlfY29kZSJbChVRdWVyeUlkZW50aXR5UmVzcG9uc2USNQoIaWRlbnRpdHkYASABKAsyHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eUgAiAEBQgsKCV9pZGVudGl0eSJyChdTaWduUHJlc2VudGF0aW9uUmVxdWVzdBI5CgxwcmVzZW50YXRpb24YASABKAsyIy5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJlc2VudGF0aW9uEhIKBW5vbmNlGAIgASgMSACIAQFCCAoGX25vbmNlIsUBChVDcmVhdGVJZGVudGl0eVJlcXVlc3QSPAoHcHJvZmlsZRgBIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARJJCg5kZXZpY2VfcHJvZmlsZRgDIAEoCzIsLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VQcm9maWxlRG9jdW1lbnRIAYgBAUIKCghfcHJvZmlsZUIRCg9fZGV2aWNlX3Byb2ZpbGVKBAgCEAMipwIKBkRldmljZRIoCgpkZXZpY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIuCgRraW5kGAIgASgOMiAuZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlS2luZBJCCgdwcm9maWxlGAMgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBEjwKCHByZXNlbmNlGAQgASgOMiouZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlLlByZXNlbmNlU3RhdGUiNQoNUHJlc2VuY2VTdGF0ZRILCgdPRkZMSU5FEAASCgoGT05MSU5FEAESCwoHUkVNT1ZFRBACQgoKCF9wcm9maWxlIkUKFFF1ZXJ5RGV2aWNlc1Jlc3BvbnNlEi0KB2RldmljZXMYASADKAsyHC5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZXZpY2UiqgEKB0NvbnRhY3QSKQoLaWRlbnRpdHlLZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EjwKB3Byb2ZpbGUYASABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SACIAQESKgoMY29tbW9uU3BhY2VzGAMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUIKCghfcHJvZmlsZSI+CgtDb250YWN0Qm9vaxIvCghjb250YWN0cxgBIAMoCzIdLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3QilgIKC1NwYWNlTWVtYmVyEjAKCGlkZW50aXR5GAEgASgLMh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSQQoIcHJlc2VuY2UYAiABKA4yLy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZU1lbWJlci5QcmVzZW5jZVN0YXRlEjEKCnBlZXJTdGF0ZXMYAyADKAsyHS5keG9zLm1lc2gucHJlc2VuY2UuUGVlclN0YXRlEjUKBHJvbGUYBCABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZSIoCg1QcmVzZW5jZVN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQASLmEgoFU3BhY2USCgoCaWQYBSABKAkSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIvCgVzdGF0ZRgCIAEoDjIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlU3RhdGUSQAoIcGlwZWxpbmUYAyABKAsyKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5QaXBlbGluZVN0YXRlSACIAQESJQoFZXJyb3IYBCABKAsyES5keG9zLmVycm9yLkVycm9ySAGIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgGIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAKIAQESMgoHbWVtYmVycxgKIAMoCzIhLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlTWVtYmVyEioKB2NyZWF0b3IYCyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAOIAQESMgoFY2FjaGUYFCABKAsyHi5keG9zLmVjaG8ubWV0YWRhdGEuU3BhY2VDYWNoZUgEiAEBEjQKB21ldHJpY3MYFSABKAsyIy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5NZXRyaWNzGtcDCgdNZXRyaWNzEi0KBG9wZW4YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESPAoTcGlwZWxpbmVfaW5pdF9iZWdpbhgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI/ChZjb250cm9sX3BpcGVsaW5lX3JlYWR5GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjsKEmRhdGFfcGlwZWxpbmVfb3BlbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI8ChNkYXRhX3BpcGVsaW5lX3JlYWR5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEi4KBXJlYWR5GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQgcKBV9vcGVuQhYKFF9waXBlbGluZV9pbml0X2JlZ2luQhkKF19jb250cm9sX3BpcGVsaW5lX3JlYWR5QhUKE19kYXRhX3BpcGVsaW5lX29wZW5CFgoUX2RhdGFfcGlwZWxpbmVfcmVhZHlCCAoGX3JlYWR5GtwKCg1QaXBlbGluZVN0YXRlEjMKEGNvbnRyb2xfZmVlZF9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESMAoNZGF0YV9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAYgBARIrCg1jb250cm9sX2ZlZWRzGBIgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpkYXRhX2ZlZWRzGBMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI9Cg1jdXJyZW50X2Vwb2NoGBQgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIAogBARI9Cg1hcHBsaWVkX2Vwb2NoGBUgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIA4gBARJMChljdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBIgBARJLChh0YXJnZXRfY29udHJvbF90aW1lZnJhbWUYCyABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgFiAEBEkoKF3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lGA4gASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBogBARJKChdrbm93bl9jb250cm9sX3RpbWVmcmFtZRgPIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAeIAQESRwoUc3RhcnRfZGF0YV90aW1lZnJhbWUYZCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgIiAEBEkkKFmN1cnJlbnRfZGF0YV90aW1lZnJhbWUYDCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgJiAEBEkgKFXRhcmdldF9kYXRhX3RpbWVmcmFtZRgNIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAqIAQESRwoUdG90YWxfZGF0YV90aW1lZnJhbWUYECABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgLiAEBEkcKFGtub3duX2RhdGFfdGltZWZyYW1lGBEgASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIDIgBARIbCg5zcGFjZV9yb290X3VybBgWIAEoCUgNiAEBQhMKEV9jb250cm9sX2ZlZWRfa2V5QhAKDl9kYXRhX2ZlZWRfa2V5QhAKDl9jdXJyZW50X2Vwb2NoQhAKDl9hcHBsaWVkX2Vwb2NoQhwKGl9jdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lQhsKGV90YXJnZXRfY29udHJvbF90aW1lZnJhbWVCGgoYX3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lQhoKGF9rbm93bl9jb250cm9sX3RpbWVmcmFtZUIXChVfc3RhcnRfZGF0YV90aW1lZnJhbWVCGQoXX2N1cnJlbnRfZGF0YV90aW1lZnJhbWVCGAoWX3RhcmdldF9kYXRhX3RpbWVmcmFtZUIXChVfdG90YWxfZGF0YV90aW1lZnJhbWVCFwoVX2tub3duX2RhdGFfdGltZWZyYW1lQhEKD19zcGFjZV9yb290X3VybEILCglfcGlwZWxpbmVCCAoGX2Vycm9yQhMKEV9lZGdlX3JlcGxpY2F0aW9uQgoKCF9jcmVhdG9yQggKBl9jYWNoZSLdAQoSVXBkYXRlU3BhY2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNAoFc3RhdGUYAiABKA4yIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZVN0YXRlSACIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgDIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAGIAQFCCAoGX3N0YXRlQhMKEV9lZGdlX3JlcGxpY2F0aW9uIkIKE1F1ZXJ5U3BhY2VzUmVzcG9uc2USKwoGc3BhY2VzGAEgAygLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UidQoSUG9zdE1lc3NhZ2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSDwoHY2hhbm5lbBgCIAEoCRIlCgdtZXNzYWdlGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueSJUChhTdWJzY3JpYmVNZXNzYWdlc1JlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIPCgdjaGFubmVsGAIgASgJInoKF1dyaXRlQ3JlZGVudGlhbHNSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNgoLY3JlZGVudGlhbHMYAiADKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbCJkChdRdWVyeUNyZWRlbnRpYWxzUmVxdWVzdBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKB25vX3RhaWwYAiABKAhIAIgBAUIKCghfbm9fdGFpbCL1AgoSQ3JlYXRlRXBvY2hSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSSgoJbWlncmF0aW9uGAIgASgOMjIuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXF1ZXN0Lk1pZ3JhdGlvbkgAiAEBEh8KEmF1dG9tZXJnZV9yb290X3VybBgDIAEoCUgBiAEBIqMBCglNaWdyYXRpb24SCAoETk9ORRAAEhIKDklOSVRfQVVUT01FUkdFEAESIAocUFJVTkVfQVVUT01FUkdFX1JPT1RfSElTVE9SWRACEhsKF0ZSQUdNRU5UX0FVVE9NRVJHRV9ST09UEAMSGgoWUkVQTEFDRV9BVVRPTUVSR0VfUk9PVBAEEh0KGU1JR1JBVEVfUkVGRVJFTkNFU19UT19EWE4QBUIMCgpfbWlncmF0aW9uQhUKE19hdXRvbWVyZ2Vfcm9vdF91cmwiyAEKE0NyZWF0ZUVwb2NoUmVzcG9uc2USQAoQZXBvY2hfY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsSACIAQESRAoRY29udHJvbF90aW1lZnJhbWUYAiABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgBiAEBQhMKEV9lcG9jaF9jcmVkZW50aWFsQhQKEl9jb250cm9sX3RpbWVmcmFtZSKnAQoXVXBkYXRlTWVtYmVyUm9sZVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgptZW1iZXJfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI5CghuZXdfcm9sZRgDIAEoDjInLmR4b3MuaGFsby5jcmVkZW50aWFscy5TcGFjZU1lbWJlci5Sb2xlIqUBChNBZG1pdENvbnRhY3RSZXF1ZXN0Ei4KB2NvbnRhY3QYASABKAsyHS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0EjUKBHJvbGUYAiABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZRInCglzcGFjZV9rZXkYAyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IkkKEENvbnRhY3RBZG1pc3Npb24SNQoKY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsIj8KEUpvaW5TcGFjZVJlc3BvbnNlEioKBXNwYWNlGAEgASgLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UiQAoVSm9pbkJ5U3BhY2VLZXlSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkirQEKF0FjY2VwdEludml0YXRpb25SZXF1ZXN0EjQKCmludml0YXRpb24YASABKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uEkkKDmRldmljZV9wcm9maWxlGAIgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBQhEKD19kZXZpY2VfcHJvZmlsZSJBChVBdXRoZW50aWNhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCRIRCglhdXRoX2NvZGUYAiABKAkiMAoXQ2FuY2VsSW52aXRhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCSKFAQoQSW52aXRhdGlvbk1ldGhvZBIzCgdjcmVhdGVkGAEgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAEjQKCGFjY2VwdGVkGAIgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAQgYKBGtpbmQi4gIKGFF1ZXJ5SW52aXRhdGlvbnNSZXNwb25zZRJFCgZhY3Rpb24YASABKA4yNS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuQWN0aW9uEkEKBHR5cGUYAiABKA4yMy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuVHlwZRI1CgtpbnZpdGF0aW9ucxgDIAMoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24SFQoIZXhpc3RpbmcYBCABKAhIAIgBASI+CgZBY3Rpb24SCQoFQURERUQQABILCgdSRU1PVkVEEAESCQoFU0FWRUQQAhIRCg1MT0FEX0NPTVBMRVRFEAMiIQoEVHlwZRILCgdDUkVBVEVEEAASDAoIQUNDRVBURUQQAUILCglfZXhpc3RpbmciWgohTG9hZFBlcnNpc3RlbnRJbnZpdGF0aW9uc1Jlc3BvbnNlEjUKC2ludml0YXRpb25zGAEgAygLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbiKFAgoNTmV0d29ya1N0YXR1cxI0CgVzd2FybRgBIAEoDjIlLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbm5lY3Rpb25TdGF0ZRI9CglzaWduYWxpbmcYAiADKAsyKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5OZXR3b3JrU3RhdHVzLlNpZ25hbBI3Cg9jb25uZWN0aW9uX2luZm8YAyADKAsyHi5keG9zLmRldnRvb2xzLnN3YXJtLlN3YXJtSW5mbxpGCgZTaWduYWwSDgoGc2VydmVyGAEgASgJEiwKBXN0YXRlGAIgASgOMh0uZHhvcy5tZXNoLnNpZ25hbC5TaWduYWxTdGF0ZSJLChNVcGRhdGVDb25maWdSZXF1ZXN0EjQKBXN3YXJtGAEgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuQ29ubmVjdGlvblN0YXRlIkEKGlN1YnNjcmliZVN3YXJtU3RhdGVSZXF1ZXN0EiMKBXRvcGljGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKTAQoXUXVlcnlFZGdlU3RhdHVzUmVzcG9uc2USSAoGc3RhdHVzGAEgASgOMjguZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlFZGdlU3RhdHVzUmVzcG9uc2UuRWRnZVN0YXR1cyIuCgpFZGdlU3RhdHVzEhEKDU5PVF9DT05ORUNURUQQABINCglDT05ORUNURUQQASKrAQoYUXVlcnlBZ2VudFN0YXR1c1Jlc3BvbnNlEkoKBnN0YXR1cxgBIAEoDjI6LmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZS5BZ2VudFN0YXR1cyJDCgtBZ2VudFN0YXR1cxILCgdVTktOT1dOEAASCgoGQUNUSVZFEAESDAoISU5BQ1RJVkUQAhINCglOT1RfRk9VTkQQAyooCgxTeXN0ZW1TdGF0dXMSDAoISU5BQ1RJVkUQABIKCgZBQ1RJVkUQASomCgpEZXZpY2VLaW5kEgsKB0NVUlJFTlQQABILCgdUUlVTVEVEEAEqKgoPQ29ubmVjdGlvblN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQATLvAwoNU3lzdGVtU2VydmljZRI4CglHZXRDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaEy5keG9zLmNvbmZpZy5Db25maWcSawoOR2V0RGlhZ25vc3RpY3MSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5HZXREaWFnbm9zdGljc1JlcXVlc3QaLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5HZXREaWFnbm9zdGljc1Jlc3BvbnNlElEKDFVwZGF0ZVN0YXR1cxIpLmR4b3MuY2xpZW50LnNlcnZpY2VzLlVwZGF0ZVN0YXR1c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZAoLUXVlcnlTdGF0dXMSKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVN0YXR1c1JlcXVlc3QaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVN0YXR1c1Jlc3BvbnNlMAESNwoFUmVzZXQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRQoLR2V0UGxhdGZvcm0SFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybTK1BgoPSWRlbnRpdHlTZXJ2aWNlEl0KDkNyZWF0ZUlkZW50aXR5EisuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlSWRlbnRpdHlSZXF1ZXN0Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSagoYUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GjYuZHhvcy5jbGllbnQuc2VydmljZXMuUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlUmVzcG9uc2USXwoPUmVjb3ZlcklkZW50aXR5EiwuZHhvcy5jbGllbnQuc2VydmljZXMuUmVjb3ZlcklkZW50aXR5UmVxdWVzdBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EokBChhDcmVhdGVSZWNvdmVyeUNyZWRlbnRpYWwSNS5keG9zLmNsaWVudC5zZXJ2aWNlcy5DcmVhdGVSZWNvdmVyeUNyZWRlbnRpYWxSZXF1ZXN0GjYuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVzcG9uc2USVgoNUXVlcnlJZGVudGl0eRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRorLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5SWRlbnRpdHlSZXNwb25zZTABElcKDVVwZGF0ZVByb2ZpbGUSJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSZgoQU2lnblByZXNlbnRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNpZ25QcmVzZW50YXRpb25SZXF1ZXN0GiMuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByZXNlbnRhdGlvbhJRChRDcmVhdGVBdXRoQ3JlZGVudGlhbBIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRohLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsMsIBCg5EZXZpY2VzU2VydmljZRJaCgxVcGRhdGVEZXZpY2USLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50GhwuZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlElQKDFF1ZXJ5RGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoqLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5RGV2aWNlc1Jlc3BvbnNlMAEyqQEKD0NvbnRhY3RzU2VydmljZRJICgtHZXRDb250YWN0cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRohLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3RCb29rEkwKDVF1ZXJ5Q29udGFjdHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0Qm9vazABMvcHCg1TcGFjZXNTZXJ2aWNlEkIKC0NyZWF0ZVNwYWNlEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2USTwoLVXBkYXRlU3BhY2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVTcGFjZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUgoLUXVlcnlTcGFjZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVNwYWNlc1Jlc3BvbnNlMAESWQoQVXBkYXRlTWVtYmVyUm9sZRItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElEKDEFkbWl0Q29udGFjdBIpLmR4b3MuY2xpZW50LnNlcnZpY2VzLkFkbWl0Q29udGFjdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZgoOSm9pbkJ5U3BhY2VLZXkSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5Kb2luQnlTcGFjZUtleVJlcXVlc3QaJy5keG9zLmNsaWVudC5zZXJ2aWNlcy5Kb2luU3BhY2VSZXNwb25zZRJPCgtQb3N0TWVzc2FnZRIoLmR4b3MuY2xpZW50LnNlcnZpY2VzLlBvc3RNZXNzYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJvChFTdWJzY3JpYmVNZXNzYWdlcxIuLmR4b3MuY2xpZW50LnNlcnZpY2VzLlN1YnNjcmliZU1lc3NhZ2VzUmVxdWVzdBooLmR4b3MubWVzaC50ZWxlcG9ydC5nb3NzaXAuR29zc2lwTWVzc2FnZTABElkKEFdyaXRlQ3JlZGVudGlhbHMSLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Xcml0ZUNyZWRlbnRpYWxzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJmChBRdWVyeUNyZWRlbnRpYWxzEi0uZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlDcmVkZW50aWFsc1JlcXVlc3QaIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbDABEmIKC0NyZWF0ZUVwb2NoEiguZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXNwb25zZTLjAwoSSW52aXRhdGlvbnNTZXJ2aWNlElgKEENyZWF0ZUludml0YXRpb24SIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uGiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbjABEmUKEEFjY2VwdEludml0YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BY2NlcHRJbnZpdGF0aW9uUmVxdWVzdBogLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24wARJTCgxBdXRoZW50aWNhdGUSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5BdXRoZW50aWNhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWQoQQ2FuY2VsSW52aXRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNhbmNlbEludml0YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5SW52aXRhdGlvbnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UwATK5BAoOTmV0d29ya1NlcnZpY2USUQoMVXBkYXRlQ29uZmlnEikuZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlQ29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJMCgtRdWVyeVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRojLmR4b3MuY2xpZW50LnNlcnZpY2VzLk5ldHdvcmtTdGF0dXMwARJCCglKb2luU3dhcm0SHS5keG9zLmVkZ2Uuc2lnbmFsLkpvaW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCkxlYXZlU3dhcm0SHi5keG9zLmVkZ2Uuc2lnbmFsLkxlYXZlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJtChNTdWJzY3JpYmVTd2FybVN0YXRlEjAuZHhvcy5jbGllbnQuc2VydmljZXMuU3Vic2NyaWJlU3dhcm1TdGF0ZVJlcXVlc3QaIi5keG9zLmVkZ2UubWVzc2VuZ2VyLlN3YXJtUmVzcG9uc2UwARJACgtTZW5kTWVzc2FnZRIZLmR4b3MuZWRnZS5zaWduYWwuTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJLChFTdWJzY3JpYmVNZXNzYWdlcxIZLmR4b3MuZWRnZS5tZXNzZW5nZXIuUGVlchoZLmR4b3MuZWRnZS5zaWduYWwuTWVzc2FnZTABMosCChBFZGdlQWdlbnRTZXJ2aWNlEloKD1F1ZXJ5RWRnZVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRotLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5RWRnZVN0YXR1c1Jlc3BvbnNlMAESPQoLQ3JlYXRlQWdlbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSXAoQUXVlcnlBZ2VudFN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRouLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZTABYgZwcm90bzM", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_client_invitation, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_metadata, file_dxos_echo_timeframe, file_dxos_edge_messenger, file_dxos_edge_signal, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
49
49
 
50
50
  /**
51
51
  * @generated from message dxos.client.services.UpdateStatusRequest
@@ -382,29 +382,48 @@ export const RecoverIdentityRequest_ExternalSignatureSchema: GenMessage<RecoverI
382
382
  messageDesc(file_dxos_client_services, 8, 0);
383
383
 
384
384
  /**
385
- * @generated from message dxos.client.services.CreateRecoveryCredentialRequest
385
+ * @generated from message dxos.client.services.RecoveryCredentialData
386
386
  */
387
- export type CreateRecoveryCredentialRequest = Message<"dxos.client.services.CreateRecoveryCredentialRequest"> & {
387
+ export type RecoveryCredentialData = Message<"dxos.client.services.RecoveryCredentialData"> & {
388
388
  /**
389
- * / Optional recovery key. If not provided, a new key will be generated.
389
+ * / Recovery key used to validate recovery challenge signature.
390
390
  *
391
- * @generated from field: optional dxos.keys.PublicKey recovery_key = 1;
391
+ * @generated from field: dxos.keys.PublicKey recovery_key = 1;
392
392
  */
393
393
  recoveryKey?: PublicKey;
394
394
 
395
395
  /**
396
396
  * / Public key used to identify the recovery key.
397
397
  *
398
- * @generated from field: optional dxos.keys.PublicKey lookup_key = 2;
398
+ * @generated from field: dxos.keys.PublicKey lookup_key = 2;
399
399
  */
400
400
  lookupKey?: PublicKey;
401
401
 
402
402
  /**
403
403
  * / Algorithm used to generate the recovery key.
404
404
  *
405
- * @generated from field: optional string algorithm = 3;
405
+ * @generated from field: string algorithm = 3;
406
+ */
407
+ algorithm: string;
408
+ };
409
+
410
+ /**
411
+ * Describes the message dxos.client.services.RecoveryCredentialData.
412
+ * Use `create(RecoveryCredentialDataSchema)` to create a new message.
413
+ */
414
+ export const RecoveryCredentialDataSchema: GenMessage<RecoveryCredentialData> = /*@__PURE__*/
415
+ messageDesc(file_dxos_client_services, 9);
416
+
417
+ /**
418
+ * @generated from message dxos.client.services.CreateRecoveryCredentialRequest
419
+ */
420
+ export type CreateRecoveryCredentialRequest = Message<"dxos.client.services.CreateRecoveryCredentialRequest"> & {
421
+ /**
422
+ * / If not provided, a new key will be generated.
423
+ *
424
+ * @generated from field: optional dxos.client.services.RecoveryCredentialData data = 1;
406
425
  */
407
- algorithm?: string;
426
+ data?: RecoveryCredentialData;
408
427
  };
409
428
 
410
429
  /**
@@ -412,7 +431,7 @@ export type CreateRecoveryCredentialRequest = Message<"dxos.client.services.Crea
412
431
  * Use `create(CreateRecoveryCredentialRequestSchema)` to create a new message.
413
432
  */
414
433
  export const CreateRecoveryCredentialRequestSchema: GenMessage<CreateRecoveryCredentialRequest> = /*@__PURE__*/
415
- messageDesc(file_dxos_client_services, 9);
434
+ messageDesc(file_dxos_client_services, 10);
416
435
 
417
436
  /**
418
437
  * @generated from message dxos.client.services.CreateRecoveryCredentialResponse
@@ -429,7 +448,7 @@ export type CreateRecoveryCredentialResponse = Message<"dxos.client.services.Cre
429
448
  * Use `create(CreateRecoveryCredentialResponseSchema)` to create a new message.
430
449
  */
431
450
  export const CreateRecoveryCredentialResponseSchema: GenMessage<CreateRecoveryCredentialResponse> = /*@__PURE__*/
432
- messageDesc(file_dxos_client_services, 10);
451
+ messageDesc(file_dxos_client_services, 11);
433
452
 
434
453
  /**
435
454
  * @generated from message dxos.client.services.QueryIdentityResponse
@@ -446,7 +465,7 @@ export type QueryIdentityResponse = Message<"dxos.client.services.QueryIdentityR
446
465
  * Use `create(QueryIdentityResponseSchema)` to create a new message.
447
466
  */
448
467
  export const QueryIdentityResponseSchema: GenMessage<QueryIdentityResponse> = /*@__PURE__*/
449
- messageDesc(file_dxos_client_services, 11);
468
+ messageDesc(file_dxos_client_services, 12);
450
469
 
451
470
  /**
452
471
  * @generated from message dxos.client.services.SignPresentationRequest
@@ -468,7 +487,7 @@ export type SignPresentationRequest = Message<"dxos.client.services.SignPresenta
468
487
  * Use `create(SignPresentationRequestSchema)` to create a new message.
469
488
  */
470
489
  export const SignPresentationRequestSchema: GenMessage<SignPresentationRequest> = /*@__PURE__*/
471
- messageDesc(file_dxos_client_services, 12);
490
+ messageDesc(file_dxos_client_services, 13);
472
491
 
473
492
  /**
474
493
  * @generated from message dxos.client.services.CreateIdentityRequest
@@ -490,7 +509,7 @@ export type CreateIdentityRequest = Message<"dxos.client.services.CreateIdentity
490
509
  * Use `create(CreateIdentityRequestSchema)` to create a new message.
491
510
  */
492
511
  export const CreateIdentityRequestSchema: GenMessage<CreateIdentityRequest> = /*@__PURE__*/
493
- messageDesc(file_dxos_client_services, 13);
512
+ messageDesc(file_dxos_client_services, 14);
494
513
 
495
514
  /**
496
515
  * TODO(burdon): Preferences (in database).
@@ -524,7 +543,7 @@ export type Device = Message<"dxos.client.services.Device"> & {
524
543
  * Use `create(DeviceSchema)` to create a new message.
525
544
  */
526
545
  export const DeviceSchema: GenMessage<Device> = /*@__PURE__*/
527
- messageDesc(file_dxos_client_services, 14);
546
+ messageDesc(file_dxos_client_services, 15);
528
547
 
529
548
  /**
530
549
  * TODO(nf): dedupe?
@@ -552,7 +571,7 @@ export enum Device_PresenceState {
552
571
  * Describes the enum dxos.client.services.Device.PresenceState.
553
572
  */
554
573
  export const Device_PresenceStateSchema: GenEnum<Device_PresenceState> = /*@__PURE__*/
555
- enumDesc(file_dxos_client_services, 14, 0);
574
+ enumDesc(file_dxos_client_services, 15, 0);
556
575
 
557
576
  /**
558
577
  * @generated from message dxos.client.services.QueryDevicesResponse
@@ -569,7 +588,7 @@ export type QueryDevicesResponse = Message<"dxos.client.services.QueryDevicesRes
569
588
  * Use `create(QueryDevicesResponseSchema)` to create a new message.
570
589
  */
571
590
  export const QueryDevicesResponseSchema: GenMessage<QueryDevicesResponse> = /*@__PURE__*/
572
- messageDesc(file_dxos_client_services, 15);
591
+ messageDesc(file_dxos_client_services, 16);
573
592
 
574
593
  /**
575
594
  * @generated from message dxos.client.services.Contact
@@ -596,7 +615,7 @@ export type Contact = Message<"dxos.client.services.Contact"> & {
596
615
  * Use `create(ContactSchema)` to create a new message.
597
616
  */
598
617
  export const ContactSchema: GenMessage<Contact> = /*@__PURE__*/
599
- messageDesc(file_dxos_client_services, 16);
618
+ messageDesc(file_dxos_client_services, 17);
600
619
 
601
620
  /**
602
621
  * @generated from message dxos.client.services.ContactBook
@@ -613,7 +632,7 @@ export type ContactBook = Message<"dxos.client.services.ContactBook"> & {
613
632
  * Use `create(ContactBookSchema)` to create a new message.
614
633
  */
615
634
  export const ContactBookSchema: GenMessage<ContactBook> = /*@__PURE__*/
616
- messageDesc(file_dxos_client_services, 17);
635
+ messageDesc(file_dxos_client_services, 18);
617
636
 
618
637
  /**
619
638
  * @generated from message dxos.client.services.SpaceMember
@@ -645,7 +664,7 @@ export type SpaceMember = Message<"dxos.client.services.SpaceMember"> & {
645
664
  * Use `create(SpaceMemberSchema)` to create a new message.
646
665
  */
647
666
  export const SpaceMemberSchema: GenMessage<SpaceMember> = /*@__PURE__*/
648
- messageDesc(file_dxos_client_services, 18);
667
+ messageDesc(file_dxos_client_services, 19);
649
668
 
650
669
  /**
651
670
  * @generated from enum dxos.client.services.SpaceMember.PresenceState
@@ -666,7 +685,7 @@ export enum SpaceMember_PresenceState {
666
685
  * Describes the enum dxos.client.services.SpaceMember.PresenceState.
667
686
  */
668
687
  export const SpaceMember_PresenceStateSchema: GenEnum<SpaceMember_PresenceState> = /*@__PURE__*/
669
- enumDesc(file_dxos_client_services, 18, 0);
688
+ enumDesc(file_dxos_client_services, 19, 0);
670
689
 
671
690
  /**
672
691
  * TODO(burdon): Rename SpaceInfo?
@@ -730,7 +749,7 @@ export type Space = Message<"dxos.client.services.Space"> & {
730
749
  * Use `create(SpaceSchema)` to create a new message.
731
750
  */
732
751
  export const SpaceSchema: GenMessage<Space> = /*@__PURE__*/
733
- messageDesc(file_dxos_client_services, 19);
752
+ messageDesc(file_dxos_client_services, 20);
734
753
 
735
754
  /**
736
755
  * @generated from message dxos.client.services.Space.Metrics
@@ -772,7 +791,7 @@ export type Space_Metrics = Message<"dxos.client.services.Space.Metrics"> & {
772
791
  * Use `create(Space_MetricsSchema)` to create a new message.
773
792
  */
774
793
  export const Space_MetricsSchema: GenMessage<Space_Metrics> = /*@__PURE__*/
775
- messageDesc(file_dxos_client_services, 19, 0);
794
+ messageDesc(file_dxos_client_services, 20, 0);
776
795
 
777
796
  /**
778
797
  * TODO(dmaretskyi): Consider merging with space metadata records.
@@ -894,7 +913,7 @@ export type Space_PipelineState = Message<"dxos.client.services.Space.PipelineSt
894
913
  * Use `create(Space_PipelineStateSchema)` to create a new message.
895
914
  */
896
915
  export const Space_PipelineStateSchema: GenMessage<Space_PipelineState> = /*@__PURE__*/
897
- messageDesc(file_dxos_client_services, 19, 1);
916
+ messageDesc(file_dxos_client_services, 20, 1);
898
917
 
899
918
  /**
900
919
  * @generated from message dxos.client.services.UpdateSpaceRequest
@@ -923,7 +942,7 @@ export type UpdateSpaceRequest = Message<"dxos.client.services.UpdateSpaceReques
923
942
  * Use `create(UpdateSpaceRequestSchema)` to create a new message.
924
943
  */
925
944
  export const UpdateSpaceRequestSchema: GenMessage<UpdateSpaceRequest> = /*@__PURE__*/
926
- messageDesc(file_dxos_client_services, 20);
945
+ messageDesc(file_dxos_client_services, 21);
927
946
 
928
947
  /**
929
948
  * @generated from message dxos.client.services.QuerySpacesResponse
@@ -940,7 +959,7 @@ export type QuerySpacesResponse = Message<"dxos.client.services.QuerySpacesRespo
940
959
  * Use `create(QuerySpacesResponseSchema)` to create a new message.
941
960
  */
942
961
  export const QuerySpacesResponseSchema: GenMessage<QuerySpacesResponse> = /*@__PURE__*/
943
- messageDesc(file_dxos_client_services, 21);
962
+ messageDesc(file_dxos_client_services, 22);
944
963
 
945
964
  /**
946
965
  * @generated from message dxos.client.services.PostMessageRequest
@@ -967,7 +986,7 @@ export type PostMessageRequest = Message<"dxos.client.services.PostMessageReques
967
986
  * Use `create(PostMessageRequestSchema)` to create a new message.
968
987
  */
969
988
  export const PostMessageRequestSchema: GenMessage<PostMessageRequest> = /*@__PURE__*/
970
- messageDesc(file_dxos_client_services, 22);
989
+ messageDesc(file_dxos_client_services, 23);
971
990
 
972
991
  /**
973
992
  * @generated from message dxos.client.services.SubscribeMessagesRequest
@@ -989,7 +1008,7 @@ export type SubscribeMessagesRequest = Message<"dxos.client.services.SubscribeMe
989
1008
  * Use `create(SubscribeMessagesRequestSchema)` to create a new message.
990
1009
  */
991
1010
  export const SubscribeMessagesRequestSchema: GenMessage<SubscribeMessagesRequest> = /*@__PURE__*/
992
- messageDesc(file_dxos_client_services, 23);
1011
+ messageDesc(file_dxos_client_services, 24);
993
1012
 
994
1013
  /**
995
1014
  * @generated from message dxos.client.services.WriteCredentialsRequest
@@ -1011,7 +1030,7 @@ export type WriteCredentialsRequest = Message<"dxos.client.services.WriteCredent
1011
1030
  * Use `create(WriteCredentialsRequestSchema)` to create a new message.
1012
1031
  */
1013
1032
  export const WriteCredentialsRequestSchema: GenMessage<WriteCredentialsRequest> = /*@__PURE__*/
1014
- messageDesc(file_dxos_client_services, 24);
1033
+ messageDesc(file_dxos_client_services, 25);
1015
1034
 
1016
1035
  /**
1017
1036
  * @generated from message dxos.client.services.QueryCredentialsRequest
@@ -1033,7 +1052,7 @@ export type QueryCredentialsRequest = Message<"dxos.client.services.QueryCredent
1033
1052
  * Use `create(QueryCredentialsRequestSchema)` to create a new message.
1034
1053
  */
1035
1054
  export const QueryCredentialsRequestSchema: GenMessage<QueryCredentialsRequest> = /*@__PURE__*/
1036
- messageDesc(file_dxos_client_services, 25);
1055
+ messageDesc(file_dxos_client_services, 26);
1037
1056
 
1038
1057
  /**
1039
1058
  * @generated from message dxos.client.services.CreateEpochRequest
@@ -1062,7 +1081,7 @@ export type CreateEpochRequest = Message<"dxos.client.services.CreateEpochReques
1062
1081
  * Use `create(CreateEpochRequestSchema)` to create a new message.
1063
1082
  */
1064
1083
  export const CreateEpochRequestSchema: GenMessage<CreateEpochRequest> = /*@__PURE__*/
1065
- messageDesc(file_dxos_client_services, 26);
1084
+ messageDesc(file_dxos_client_services, 27);
1066
1085
 
1067
1086
  /**
1068
1087
  * @generated from enum dxos.client.services.CreateEpochRequest.Migration
@@ -1113,7 +1132,7 @@ export enum CreateEpochRequest_Migration {
1113
1132
  * Describes the enum dxos.client.services.CreateEpochRequest.Migration.
1114
1133
  */
1115
1134
  export const CreateEpochRequest_MigrationSchema: GenEnum<CreateEpochRequest_Migration> = /*@__PURE__*/
1116
- enumDesc(file_dxos_client_services, 26, 0);
1135
+ enumDesc(file_dxos_client_services, 27, 0);
1117
1136
 
1118
1137
  /**
1119
1138
  * @generated from message dxos.client.services.CreateEpochResponse
@@ -1139,7 +1158,7 @@ export type CreateEpochResponse = Message<"dxos.client.services.CreateEpochRespo
1139
1158
  * Use `create(CreateEpochResponseSchema)` to create a new message.
1140
1159
  */
1141
1160
  export const CreateEpochResponseSchema: GenMessage<CreateEpochResponse> = /*@__PURE__*/
1142
- messageDesc(file_dxos_client_services, 27);
1161
+ messageDesc(file_dxos_client_services, 28);
1143
1162
 
1144
1163
  /**
1145
1164
  * @generated from message dxos.client.services.UpdateMemberRoleRequest
@@ -1166,7 +1185,7 @@ export type UpdateMemberRoleRequest = Message<"dxos.client.services.UpdateMember
1166
1185
  * Use `create(UpdateMemberRoleRequestSchema)` to create a new message.
1167
1186
  */
1168
1187
  export const UpdateMemberRoleRequestSchema: GenMessage<UpdateMemberRoleRequest> = /*@__PURE__*/
1169
- messageDesc(file_dxos_client_services, 28);
1188
+ messageDesc(file_dxos_client_services, 29);
1170
1189
 
1171
1190
  /**
1172
1191
  * @generated from message dxos.client.services.AdmitContactRequest
@@ -1193,7 +1212,7 @@ export type AdmitContactRequest = Message<"dxos.client.services.AdmitContactRequ
1193
1212
  * Use `create(AdmitContactRequestSchema)` to create a new message.
1194
1213
  */
1195
1214
  export const AdmitContactRequestSchema: GenMessage<AdmitContactRequest> = /*@__PURE__*/
1196
- messageDesc(file_dxos_client_services, 29);
1215
+ messageDesc(file_dxos_client_services, 30);
1197
1216
 
1198
1217
  /**
1199
1218
  * @generated from message dxos.client.services.ContactAdmission
@@ -1210,7 +1229,7 @@ export type ContactAdmission = Message<"dxos.client.services.ContactAdmission">
1210
1229
  * Use `create(ContactAdmissionSchema)` to create a new message.
1211
1230
  */
1212
1231
  export const ContactAdmissionSchema: GenMessage<ContactAdmission> = /*@__PURE__*/
1213
- messageDesc(file_dxos_client_services, 30);
1232
+ messageDesc(file_dxos_client_services, 31);
1214
1233
 
1215
1234
  /**
1216
1235
  * @generated from message dxos.client.services.JoinSpaceResponse
@@ -1227,7 +1246,7 @@ export type JoinSpaceResponse = Message<"dxos.client.services.JoinSpaceResponse"
1227
1246
  * Use `create(JoinSpaceResponseSchema)` to create a new message.
1228
1247
  */
1229
1248
  export const JoinSpaceResponseSchema: GenMessage<JoinSpaceResponse> = /*@__PURE__*/
1230
- messageDesc(file_dxos_client_services, 31);
1249
+ messageDesc(file_dxos_client_services, 32);
1231
1250
 
1232
1251
  /**
1233
1252
  * @generated from message dxos.client.services.JoinBySpaceKeyRequest
@@ -1244,7 +1263,7 @@ export type JoinBySpaceKeyRequest = Message<"dxos.client.services.JoinBySpaceKey
1244
1263
  * Use `create(JoinBySpaceKeyRequestSchema)` to create a new message.
1245
1264
  */
1246
1265
  export const JoinBySpaceKeyRequestSchema: GenMessage<JoinBySpaceKeyRequest> = /*@__PURE__*/
1247
- messageDesc(file_dxos_client_services, 32);
1266
+ messageDesc(file_dxos_client_services, 33);
1248
1267
 
1249
1268
  /**
1250
1269
  * @generated from message dxos.client.services.AcceptInvitationRequest
@@ -1266,7 +1285,7 @@ export type AcceptInvitationRequest = Message<"dxos.client.services.AcceptInvita
1266
1285
  * Use `create(AcceptInvitationRequestSchema)` to create a new message.
1267
1286
  */
1268
1287
  export const AcceptInvitationRequestSchema: GenMessage<AcceptInvitationRequest> = /*@__PURE__*/
1269
- messageDesc(file_dxos_client_services, 33);
1288
+ messageDesc(file_dxos_client_services, 34);
1270
1289
 
1271
1290
  /**
1272
1291
  * @generated from message dxos.client.services.AuthenticationRequest
@@ -1288,7 +1307,7 @@ export type AuthenticationRequest = Message<"dxos.client.services.Authentication
1288
1307
  * Use `create(AuthenticationRequestSchema)` to create a new message.
1289
1308
  */
1290
1309
  export const AuthenticationRequestSchema: GenMessage<AuthenticationRequest> = /*@__PURE__*/
1291
- messageDesc(file_dxos_client_services, 34);
1310
+ messageDesc(file_dxos_client_services, 35);
1292
1311
 
1293
1312
  /**
1294
1313
  * @generated from message dxos.client.services.CancelInvitationRequest
@@ -1305,7 +1324,7 @@ export type CancelInvitationRequest = Message<"dxos.client.services.CancelInvita
1305
1324
  * Use `create(CancelInvitationRequestSchema)` to create a new message.
1306
1325
  */
1307
1326
  export const CancelInvitationRequestSchema: GenMessage<CancelInvitationRequest> = /*@__PURE__*/
1308
- messageDesc(file_dxos_client_services, 35);
1327
+ messageDesc(file_dxos_client_services, 36);
1309
1328
 
1310
1329
  /**
1311
1330
  * @generated from message dxos.client.services.InvitationMethod
@@ -1334,7 +1353,7 @@ export type InvitationMethod = Message<"dxos.client.services.InvitationMethod">
1334
1353
  * Use `create(InvitationMethodSchema)` to create a new message.
1335
1354
  */
1336
1355
  export const InvitationMethodSchema: GenMessage<InvitationMethod> = /*@__PURE__*/
1337
- messageDesc(file_dxos_client_services, 36);
1356
+ messageDesc(file_dxos_client_services, 37);
1338
1357
 
1339
1358
  /**
1340
1359
  * @generated from message dxos.client.services.QueryInvitationsResponse
@@ -1368,7 +1387,7 @@ export type QueryInvitationsResponse = Message<"dxos.client.services.QueryInvita
1368
1387
  * Use `create(QueryInvitationsResponseSchema)` to create a new message.
1369
1388
  */
1370
1389
  export const QueryInvitationsResponseSchema: GenMessage<QueryInvitationsResponse> = /*@__PURE__*/
1371
- messageDesc(file_dxos_client_services, 37);
1390
+ messageDesc(file_dxos_client_services, 38);
1372
1391
 
1373
1392
  /**
1374
1393
  * @generated from enum dxos.client.services.QueryInvitationsResponse.Action
@@ -1399,7 +1418,7 @@ export enum QueryInvitationsResponse_Action {
1399
1418
  * Describes the enum dxos.client.services.QueryInvitationsResponse.Action.
1400
1419
  */
1401
1420
  export const QueryInvitationsResponse_ActionSchema: GenEnum<QueryInvitationsResponse_Action> = /*@__PURE__*/
1402
- enumDesc(file_dxos_client_services, 37, 0);
1421
+ enumDesc(file_dxos_client_services, 38, 0);
1403
1422
 
1404
1423
  /**
1405
1424
  * @generated from enum dxos.client.services.QueryInvitationsResponse.Type
@@ -1420,7 +1439,7 @@ export enum QueryInvitationsResponse_Type {
1420
1439
  * Describes the enum dxos.client.services.QueryInvitationsResponse.Type.
1421
1440
  */
1422
1441
  export const QueryInvitationsResponse_TypeSchema: GenEnum<QueryInvitationsResponse_Type> = /*@__PURE__*/
1423
- enumDesc(file_dxos_client_services, 37, 1);
1442
+ enumDesc(file_dxos_client_services, 38, 1);
1424
1443
 
1425
1444
  /**
1426
1445
  * Informational, consumers must share invitations to receive CancellableInvitation
@@ -1439,7 +1458,7 @@ export type LoadPersistentInvitationsResponse = Message<"dxos.client.services.Lo
1439
1458
  * Use `create(LoadPersistentInvitationsResponseSchema)` to create a new message.
1440
1459
  */
1441
1460
  export const LoadPersistentInvitationsResponseSchema: GenMessage<LoadPersistentInvitationsResponse> = /*@__PURE__*/
1442
- messageDesc(file_dxos_client_services, 38);
1461
+ messageDesc(file_dxos_client_services, 39);
1443
1462
 
1444
1463
  /**
1445
1464
  * @generated from message dxos.client.services.NetworkStatus
@@ -1466,7 +1485,7 @@ export type NetworkStatus = Message<"dxos.client.services.NetworkStatus"> & {
1466
1485
  * Use `create(NetworkStatusSchema)` to create a new message.
1467
1486
  */
1468
1487
  export const NetworkStatusSchema: GenMessage<NetworkStatus> = /*@__PURE__*/
1469
- messageDesc(file_dxos_client_services, 39);
1488
+ messageDesc(file_dxos_client_services, 40);
1470
1489
 
1471
1490
  /**
1472
1491
  * @generated from message dxos.client.services.NetworkStatus.Signal
@@ -1490,7 +1509,7 @@ export type NetworkStatus_Signal = Message<"dxos.client.services.NetworkStatus.S
1490
1509
  * Use `create(NetworkStatus_SignalSchema)` to create a new message.
1491
1510
  */
1492
1511
  export const NetworkStatus_SignalSchema: GenMessage<NetworkStatus_Signal> = /*@__PURE__*/
1493
- messageDesc(file_dxos_client_services, 39, 0);
1512
+ messageDesc(file_dxos_client_services, 40, 0);
1494
1513
 
1495
1514
  /**
1496
1515
  * @generated from message dxos.client.services.UpdateConfigRequest
@@ -1507,7 +1526,7 @@ export type UpdateConfigRequest = Message<"dxos.client.services.UpdateConfigRequ
1507
1526
  * Use `create(UpdateConfigRequestSchema)` to create a new message.
1508
1527
  */
1509
1528
  export const UpdateConfigRequestSchema: GenMessage<UpdateConfigRequest> = /*@__PURE__*/
1510
- messageDesc(file_dxos_client_services, 40);
1529
+ messageDesc(file_dxos_client_services, 41);
1511
1530
 
1512
1531
  /**
1513
1532
  * @generated from message dxos.client.services.SubscribeSwarmStateRequest
@@ -1524,7 +1543,7 @@ export type SubscribeSwarmStateRequest = Message<"dxos.client.services.Subscribe
1524
1543
  * Use `create(SubscribeSwarmStateRequestSchema)` to create a new message.
1525
1544
  */
1526
1545
  export const SubscribeSwarmStateRequestSchema: GenMessage<SubscribeSwarmStateRequest> = /*@__PURE__*/
1527
- messageDesc(file_dxos_client_services, 41);
1546
+ messageDesc(file_dxos_client_services, 42);
1528
1547
 
1529
1548
  /**
1530
1549
  * @generated from message dxos.client.services.QueryEdgeStatusResponse
@@ -1541,7 +1560,7 @@ export type QueryEdgeStatusResponse = Message<"dxos.client.services.QueryEdgeSta
1541
1560
  * Use `create(QueryEdgeStatusResponseSchema)` to create a new message.
1542
1561
  */
1543
1562
  export const QueryEdgeStatusResponseSchema: GenMessage<QueryEdgeStatusResponse> = /*@__PURE__*/
1544
- messageDesc(file_dxos_client_services, 42);
1563
+ messageDesc(file_dxos_client_services, 43);
1545
1564
 
1546
1565
  /**
1547
1566
  * @generated from enum dxos.client.services.QueryEdgeStatusResponse.EdgeStatus
@@ -1562,7 +1581,7 @@ export enum QueryEdgeStatusResponse_EdgeStatus {
1562
1581
  * Describes the enum dxos.client.services.QueryEdgeStatusResponse.EdgeStatus.
1563
1582
  */
1564
1583
  export const QueryEdgeStatusResponse_EdgeStatusSchema: GenEnum<QueryEdgeStatusResponse_EdgeStatus> = /*@__PURE__*/
1565
- enumDesc(file_dxos_client_services, 42, 0);
1584
+ enumDesc(file_dxos_client_services, 43, 0);
1566
1585
 
1567
1586
  /**
1568
1587
  * @generated from message dxos.client.services.QueryAgentStatusResponse
@@ -1579,7 +1598,7 @@ export type QueryAgentStatusResponse = Message<"dxos.client.services.QueryAgentS
1579
1598
  * Use `create(QueryAgentStatusResponseSchema)` to create a new message.
1580
1599
  */
1581
1600
  export const QueryAgentStatusResponseSchema: GenMessage<QueryAgentStatusResponse> = /*@__PURE__*/
1582
- messageDesc(file_dxos_client_services, 43);
1601
+ messageDesc(file_dxos_client_services, 44);
1583
1602
 
1584
1603
  /**
1585
1604
  * @generated from enum dxos.client.services.QueryAgentStatusResponse.AgentStatus
@@ -1610,7 +1629,7 @@ export enum QueryAgentStatusResponse_AgentStatus {
1610
1629
  * Describes the enum dxos.client.services.QueryAgentStatusResponse.AgentStatus.
1611
1630
  */
1612
1631
  export const QueryAgentStatusResponse_AgentStatusSchema: GenEnum<QueryAgentStatusResponse_AgentStatus> = /*@__PURE__*/
1613
- enumDesc(file_dxos_client_services, 43, 0);
1632
+ enumDesc(file_dxos_client_services, 44, 0);
1614
1633
 
1615
1634
  /**
1616
1635
  * @generated from enum dxos.client.services.SystemStatus
@@ -20,7 +20,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
20
20
  * Describes the file dxos/halo/credentials.proto.
21
21
  */
22
22
  export const file_dxos_halo_credentials: GenFile = /*@__PURE__*/
23
- fileDesc("ChtkeG9zL2hhbG8vY3JlZGVudGlhbHMucHJvdG8SFWR4b3MuaGFsby5jcmVkZW50aWFscyI3CgxTcGFjZUdlbmVzaXMSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKRAwoLU3BhY2VNZW1iZXISJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgRyb2xlGAIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARIuChBnZW5lc2lzX2ZlZWRfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI7ChhpbnZpdGF0aW9uX2NyZWRlbnRpYWxfaWQYBSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAGIAQEiTgoEUm9sZRILCgdJTlZBTElEEAASCQoFQURNSU4QARIKCgZFRElUT1IQAhIKCgZSRUFERVIQAxIJCgVPV05FUhAEEgsKB1JFTU9WRUQQBUIKCghfcHJvZmlsZUIbChlfaW52aXRhdGlvbl9jcmVkZW50aWFsX2lkIlkKDU1lbWJlclByb2ZpbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBAUIKCghfcHJvZmlsZSJoChBBdXRob3JpemVkRGV2aWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkihgIKDEFkbWl0dGVkRmVlZBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSRAoLZGVzaWduYXRpb24YBCABKA4yLy5keG9zLmhhbG8uY3JlZGVudGlhbHMuQWRtaXR0ZWRGZWVkLkRlc2lnbmF0aW9uIjEKC0Rlc2lnbmF0aW9uEgsKB0dFTkVSQUwQABILCgdDT05UUk9MEAESCAoEREFUQRACIuwBCgVFcG9jaBIOCgZudW1iZXIYASABKA0SLgoLcHJldmlvdXNfaWQYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESNwoJdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3ISGQoMc25hcHNob3RfY2lkGAsgASgJSAGIAQESGwoOYXV0b21lcmdlX3Jvb3QYDCABKAlIAogBAUIOCgxfcHJldmlvdXNfaWRCDwoNX3NuYXBzaG90X2NpZEIRCg9fYXV0b21lcmdlX3Jvb3QiXwoJSGFsb1NwYWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJgoIaGFsb19rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IrsBChBJZGVudGl0eVJlY292ZXJ5EioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMcmVjb3Zlcnlfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglhbGdvcml0aG0YAyABKAkSLQoKbG9va3VwX2tleRgEIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAIgBAUINCgtfbG9va3VwX2tleSKaAQoPUHJvZmlsZURvY3VtZW50EhkKDGRpc3BsYXlfbmFtZRgBIAEoCUgAiAEBEhcKCmF2YXRhcl9jaWQYAiABKAlIAYgBARIqCgRkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBQg8KDV9kaXNwbGF5X25hbWVCDQoLX2F2YXRhcl9jaWRCBwoFX2RhdGEiSgoPSWRlbnRpdHlQcm9maWxlEjcKB3Byb2ZpbGUYASABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50IrgCChVEZXZpY2VQcm9maWxlRG9jdW1lbnQSEgoFbGFiZWwYASABKAlIAIgBARIVCghwbGF0Zm9ybRgCIAEoCUgBiAEBEh0KEHBsYXRmb3JtX3ZlcnNpb24YAyABKAlIAogBARIZCgxhcmNoaXRlY3R1cmUYBCABKAlIA4gBARIPCgJvcxgFIAEoCUgEiAEBEhcKCm9zX3ZlcnNpb24YBiABKAlIBYgBARI0CgR0eXBlGAcgASgOMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVR5cGVIBogBAUIICgZfbGFiZWxCCwoJX3BsYXRmb3JtQhMKEV9wbGF0Zm9ybV92ZXJzaW9uQg8KDV9hcmNoaXRlY3R1cmVCBQoDX29zQg0KC19vc192ZXJzaW9uQgcKBV90eXBlIk4KDURldmljZVByb2ZpbGUSPQoHcHJvZmlsZRgBIAEoCzIsLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VQcm9maWxlRG9jdW1lbnQiIAoMRGVmYXVsdFNwYWNlEhAKCHNwYWNlX2lkGAEgASgJInYKCkt1YmVBY2Nlc3MSJgoIa3ViZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSFAoMY2FwYWJpbGl0aWVzGAMgAygJItsBCg1TZXJ2aWNlQWNjZXNzEhMKC3NlcnZlcl9uYW1lGAEgASgJEjUKD3NlcnZlcl9tZXRhZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIoCgpzZXJ2ZXJfa2V5GAMgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIqCgxpZGVudGl0eV9rZXkYBCABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKDGNhcGFiaWxpdGllcxgFIAMoCUISChBfc2VydmVyX21ldGFkYXRhIiUKB0tleUluZm8SEQoEbmFtZRgBIAEoCUgAiAEBQgcKBV9uYW1lIgYKBEF1dGgiUgoFQ2xhaW0SIAoCaWQYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EicKCWFzc2VydGlvbhgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5Bbnki1wEKBVByb29mEgwKBHR5cGUYASABKAkSMQoNY3JlYXRpb25fZGF0ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJAoGc2lnbmVyGAMgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRISCgVub25jZRgEIAEoDEgAiAEBEg0KBXZhbHVlGAUgASgMEjAKBWNoYWluGAYgASgLMhwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNoYWluSAGIAQFCCAoGX25vbmNlQggKBl9jaGFpbiI+CgVDaGFpbhI1CgpjcmVkZW50aWFsGAEgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWwisQMKCkNyZWRlbnRpYWwSJQoCaWQYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESJAoGaXNzdWVyGAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIxCg1pc3N1YW5jZV9kYXRlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9leHBpcmF0aW9uX2RhdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGwoOZXhwaXJhdGlvbl9yZWYYBSABKAxIAogBARItCgdzdWJqZWN0GAogASgLMhwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNsYWltEjAKBXByb29mGAsgASgLMhwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb29mSAOIAQESMwoVcGFyZW50X2NyZWRlbnRpYWxfaWRzGAwgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUIFCgNfaWRCEgoQX2V4cGlyYXRpb25fZGF0ZUIRCg9fZXhwaXJhdGlvbl9yZWZCCAoGX3Byb29mInQKDFByZXNlbnRhdGlvbhI2CgtjcmVkZW50aWFscxgBIAMoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsEiwKBnByb29mcxgCIAMoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9vZipcCgpEZXZpY2VUeXBlEgsKB1VOS05PV04QABILCgdCUk9XU0VSEAESCgoGTkFUSVZFEAISCQoFQUdFTlQQAxIRCg1BR0VOVF9NQU5BR0VEEAQSCgoGTU9CSUxFEAVCNlo0Z2l0aHViLmNvbS9keG9zL2R4b3MvcHJvdG8vZGVmL2R4b3MvaGFsby9jcmVkZW50aWFsc2IGcHJvdG8z", [file_google_protobuf_any, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_echo_timeframe, file_dxos_keys]);
23
+ fileDesc("ChtkeG9zL2hhbG8vY3JlZGVudGlhbHMucHJvdG8SFWR4b3MuaGFsby5jcmVkZW50aWFscyI3CgxTcGFjZUdlbmVzaXMSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKRAwoLU3BhY2VNZW1iZXISJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgRyb2xlGAIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARIuChBnZW5lc2lzX2ZlZWRfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI7ChhpbnZpdGF0aW9uX2NyZWRlbnRpYWxfaWQYBSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAGIAQEiTgoEUm9sZRILCgdJTlZBTElEEAASCQoFQURNSU4QARIKCgZFRElUT1IQAhIKCgZSRUFERVIQAxIJCgVPV05FUhAEEgsKB1JFTU9WRUQQBUIKCghfcHJvZmlsZUIbChlfaW52aXRhdGlvbl9jcmVkZW50aWFsX2lkIlkKDU1lbWJlclByb2ZpbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBAUIKCghfcHJvZmlsZSJoChBBdXRob3JpemVkRGV2aWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkihgIKDEFkbWl0dGVkRmVlZBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSRAoLZGVzaWduYXRpb24YBCABKA4yLy5keG9zLmhhbG8uY3JlZGVudGlhbHMuQWRtaXR0ZWRGZWVkLkRlc2lnbmF0aW9uIjEKC0Rlc2lnbmF0aW9uEgsKB0dFTkVSQUwQABILCgdDT05UUk9MEAESCAoEREFUQRACIuwBCgVFcG9jaBIOCgZudW1iZXIYASABKA0SLgoLcHJldmlvdXNfaWQYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESNwoJdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3ISGQoMc25hcHNob3RfY2lkGAsgASgJSAGIAQESGwoOYXV0b21lcmdlX3Jvb3QYDCABKAlIAogBAUIOCgxfcHJldmlvdXNfaWRCDwoNX3NuYXBzaG90X2NpZEIRCg9fYXV0b21lcmdlX3Jvb3QiXwoJSGFsb1NwYWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJgoIaGFsb19rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IqcBChBJZGVudGl0eVJlY292ZXJ5EioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMcmVjb3Zlcnlfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglhbGdvcml0aG0YAyABKAkSKAoKbG9va3VwX2tleRgEIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkimgEKD1Byb2ZpbGVEb2N1bWVudBIZCgxkaXNwbGF5X25hbWUYASABKAlIAIgBARIXCgphdmF0YXJfY2lkGAIgASgJSAGIAQESKgoEZGF0YRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIPCg1fZGlzcGxheV9uYW1lQg0KC19hdmF0YXJfY2lkQgcKBV9kYXRhIkoKD0lkZW50aXR5UHJvZmlsZRI3Cgdwcm9maWxlGAEgASgLMiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudCK4AgoVRGV2aWNlUHJvZmlsZURvY3VtZW50EhIKBWxhYmVsGAEgASgJSACIAQESFQoIcGxhdGZvcm0YAiABKAlIAYgBARIdChBwbGF0Zm9ybV92ZXJzaW9uGAMgASgJSAKIAQESGQoMYXJjaGl0ZWN0dXJlGAQgASgJSAOIAQESDwoCb3MYBSABKAlIBIgBARIXCgpvc192ZXJzaW9uGAYgASgJSAWIAQESNAoEdHlwZRgHIAEoDjIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VUeXBlSAaIAQFCCAoGX2xhYmVsQgsKCV9wbGF0Zm9ybUITChFfcGxhdGZvcm1fdmVyc2lvbkIPCg1fYXJjaGl0ZWN0dXJlQgUKA19vc0INCgtfb3NfdmVyc2lvbkIHCgVfdHlwZSJOCg1EZXZpY2VQcm9maWxlEj0KB3Byb2ZpbGUYASABKAsyLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50IiAKDERlZmF1bHRTcGFjZRIQCghzcGFjZV9pZBgBIAEoCSJ2CgpLdWJlQWNjZXNzEiYKCGt1YmVfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIqCgxpZGVudGl0eV9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKDGNhcGFiaWxpdGllcxgDIAMoCSLbAQoNU2VydmljZUFjY2VzcxITCgtzZXJ2ZXJfbmFtZRgBIAEoCRI1Cg9zZXJ2ZXJfbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESKAoKc2VydmVyX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMaWRlbnRpdHlfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIUCgxjYXBhYmlsaXRpZXMYBSADKAlCEgoQX3NlcnZlcl9tZXRhZGF0YSIlCgdLZXlJbmZvEhEKBG5hbWUYASABKAlIAIgBAUIHCgVfbmFtZSIGCgRBdXRoIlIKBUNsYWltEiAKAmlkGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRInCglhc3NlcnRpb24YAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55ItcBCgVQcm9vZhIMCgR0eXBlGAEgASgJEjEKDWNyZWF0aW9uX2RhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKBnNpZ25lchgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEgoFbm9uY2UYBCABKAxIAIgBARINCgV2YWx1ZRgFIAEoDBIwCgVjaGFpbhgGIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5DaGFpbkgBiAEBQggKBl9ub25jZUIICgZfY2hhaW4iPgoFQ2hhaW4SNQoKY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsIrEDCgpDcmVkZW50aWFsEiUKAmlkGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEiQKBmlzc3VlchgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSMQoNaXNzdWFuY2VfZGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPZXhwaXJhdGlvbl9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhsKDmV4cGlyYXRpb25fcmVmGAUgASgMSAKIAQESLQoHc3ViamVjdBgKIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5DbGFpbRIwCgVwcm9vZhgLIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9vZkgDiAEBEjMKFXBhcmVudF9jcmVkZW50aWFsX2lkcxgMIAMoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlCBQoDX2lkQhIKEF9leHBpcmF0aW9uX2RhdGVCEQoPX2V4cGlyYXRpb25fcmVmQggKBl9wcm9vZiJ0CgxQcmVzZW50YXRpb24SNgoLY3JlZGVudGlhbHMYASADKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbBIsCgZwcm9vZnMYAiADKAsyHC5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvb2YqXAoKRGV2aWNlVHlwZRILCgdVTktOT1dOEAASCwoHQlJPV1NFUhABEgoKBk5BVElWRRACEgkKBUFHRU5UEAMSEQoNQUdFTlRfTUFOQUdFRBAEEgoKBk1PQklMRRAFQjZaNGdpdGh1Yi5jb20vZHhvcy9keG9zL3Byb3RvL2RlZi9keG9zL2hhbG8vY3JlZGVudGlhbHNiBnByb3RvMw", [file_google_protobuf_any, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_echo_timeframe, file_dxos_keys]);
24
24
 
25
25
  /**
26
26
  * [ASSERTION]
@@ -368,7 +368,7 @@ export type IdentityRecovery = Message<"dxos.halo.credentials.IdentityRecovery">
368
368
  /**
369
369
  * / Public key used to identify the recovery key (e.g., passkey user handle).
370
370
  *
371
- * @generated from field: optional dxos.keys.PublicKey lookup_key = 4;
371
+ * @generated from field: dxos.keys.PublicKey lookup_key = 4;
372
372
  */
373
373
  lookupKey?: PublicKey;
374
374
  };
@@ -147,15 +147,20 @@ message RecoverIdentityRequest {
147
147
  }
148
148
  }
149
149
 
150
- message CreateRecoveryCredentialRequest {
151
- /// Optional recovery key. If not provided, a new key will be generated.
152
- optional dxos.keys.PublicKey recovery_key = 1;
150
+ message RecoveryCredentialData {
151
+ /// Recovery key used to validate recovery challenge signature.
152
+ dxos.keys.PublicKey recovery_key = 1;
153
153
 
154
154
  /// Public key used to identify the recovery key.
155
- optional dxos.keys.PublicKey lookup_key = 2;
155
+ dxos.keys.PublicKey lookup_key = 2;
156
156
 
157
157
  /// Algorithm used to generate the recovery key.
158
- optional string algorithm = 3;
158
+ string algorithm = 3;
159
+ }
160
+
161
+ message CreateRecoveryCredentialRequest {
162
+ /// If not provided, a new key will be generated.
163
+ optional RecoveryCredentialData data = 1;
159
164
  }
160
165
 
161
166
  message CreateRecoveryCredentialResponse {
@@ -142,7 +142,7 @@ message IdentityRecovery {
142
142
  /// Algorithm used to derive the recovery key (e.g., ED25519, ES256, etc.).
143
143
  string algorithm = 3;
144
144
  /// Public key used to identify the recovery key (e.g., passkey user handle).
145
- optional dxos.keys.PublicKey lookup_key = 4;
145
+ dxos.keys.PublicKey lookup_key = 4;
146
146
  }
147
147
 
148
148
  message ProfileDocument {