@toshicloud/sdk 0.6.0 → 0.7.0

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 (44) hide show
  1. package/README.md +39 -510
  2. package/dist/client.d.ts +6 -4
  3. package/dist/client.js +4 -2
  4. package/dist/gen/toshi/permission_pb.d.ts +12 -0
  5. package/dist/gen/toshi/permission_pb.js +14 -2
  6. package/dist/gen/toshi/workspace/v1/connections_pb.d.ts +213 -19
  7. package/dist/gen/toshi/workspace/v1/connections_pb.js +97 -25
  8. package/dist/gen/toshi/workspace/v1/domains_pb.d.ts +26 -26
  9. package/dist/gen/toshi/workspace/v1/domains_pb.js +4 -4
  10. package/dist/gen/toshi/workspace/v1/{channels_pb.d.ts → endpoints_pb.d.ts} +945 -822
  11. package/dist/gen/toshi/workspace/v1/endpoints_pb.js +488 -0
  12. package/dist/gen/toshi/workspace/v1/grants_pb.d.ts +10 -10
  13. package/dist/gen/toshi/workspace/v1/grants_pb.js +3 -3
  14. package/dist/gen/toshi/workspace/v1/hostjobs_pb.d.ts +46 -22
  15. package/dist/gen/toshi/workspace/v1/hostjobs_pb.js +1 -1
  16. package/dist/gen/toshi/workspace/v1/hosts_pb.d.ts +110 -36
  17. package/dist/gen/toshi/workspace/v1/hosts_pb.js +1 -1
  18. package/dist/gen/toshi/workspace/v1/model_credentials_pb.d.ts +654 -0
  19. package/dist/gen/toshi/workspace/v1/model_credentials_pb.js +110 -0
  20. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +21 -2
  21. package/dist/gen/toshi/workspace/v1/recordings_pb.js +1 -1
  22. package/dist/gen/toshi/workspace/v1/roles_pb.d.ts +1 -1
  23. package/dist/gen/toshi/workspace/v1/roles_pb.js +1 -1
  24. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +19 -2
  25. package/dist/gen/toshi/workspace/v1/secrets_pb.js +1 -1
  26. package/dist/gen/toshi/workspace/v1/triggers_pb.d.ts +28 -28
  27. package/dist/gen/toshi/workspace/v1/triggers_pb.js +6 -6
  28. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +202 -202
  29. package/dist/gen/toshi/workspace/v1/webhook_pb.js +46 -46
  30. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +552 -29
  31. package/dist/gen/toshi/workspace/v1/workloads_pb.js +85 -55
  32. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +639 -119
  33. package/dist/gen/toshi/workspace/v1/workspace_pb.js +174 -88
  34. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +101 -4
  35. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +20 -15
  36. package/dist/index.d.ts +2 -1
  37. package/dist/index.js +2 -1
  38. package/dist/retry.js +33 -22
  39. package/dist/test/alarms.js +1 -1
  40. package/dist/test/procedures.js +35 -25
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/package.json +1 -1
  44. package/dist/gen/toshi/workspace/v1/channels_pb.js +0 -483
@@ -9,7 +9,7 @@ import { file_toshi_workspace_v1_recordings } from "./recordings_pb.js";
9
9
  /**
10
10
  * Describes the file toshi/workspace/v1/workspace.proto.
11
11
  */
12
- export const file_toshi_workspace_v1_workspace = /*@__PURE__*/ fileDesc("CiJ0b3NoaS93b3Jrc3BhY2UvdjEvd29ya3NwYWNlLnByb3RvEhJ0b3NoaS53b3Jrc3BhY2UudjEi4wMKA0pvYhIKCgJpZBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEjMKBmxhYmVscxgEIAMoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5Kb2IuTGFiZWxzRW50cnkSKQoEc3BlYxgFIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTcGVjEi0KBnN0YXR1cxgGIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTdGF0dXMSNgoJcmVjb3JkaW5nGAcgASgOMiMudG9zaGkud29ya3NwYWNlLnYxLlJlY29yZGluZ1BvbGljeRINCgVhZ2VudBgIIAEoCBIwCgd3YWl0aW5nGAkgAygLMh8udG9zaGkud29ya3NwYWNlLnYxLkFnZW50UHJvbXB0EjQKB25ldHdvcmsYCiABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuV29ya2xvYWROZXR3b3JrEj0KEHJlY29yZGluZ19zb3VyY2UYCyABKA4yIy50b3NoaS53b3Jrc3BhY2UudjEuUmVjb3JkaW5nU291cmNlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi7QQKCUpvYlN0YXR1cxIrCgVzdGF0ZRgBIAEoDjIcLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTdGF0ZRIxCgplbmRfcmVhc29uGAIgASgOMh0udG9zaGkud29ya3NwYWNlLnYxLkVuZFJlYXNvbhItCgpsYXN0X2Vycm9yGAMgASgLMhkudG9zaGkud29ya3NwYWNlLnYxLkVycm9yEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCXF1ZXVlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWV4aXRfY29kZRgJIAEoBUgAiAEBEg4KBnN0YXR1cxgKIAEoCRISCgpjb25jbHVzaW9uGAsgASgJEjAKDGNvbXBsZXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLYXNzaWduZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXJ1bm5lcl9pZBgOIAEoCRITCgtydW5uZXJfbmFtZRgPIAEoCRIPCgdhdHRlbXB0GBAgASgFQgwKCl9leGl0X2NvZGUi+QEKCkpvYkF0dGVtcHQSDwoHYXR0ZW1wdBgBIAEoBRIRCglydW5uZXJfaWQYAiABKAkSEwoLcnVubmVyX25hbWUYAyABKAkSLwoLYXNzaWduZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY29uY2x1c2lvbhgHIAEoCRILCgNlbmQYCCABKAki1wQKB1NhbmRib3gSCgoCaWQYASABKAkSDwoHcHJvamVjdBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRI3CgZsYWJlbHMYBCADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuU2FuZGJveC5MYWJlbHNFbnRyeRItCgRzcGVjGAUgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLlNhbmRib3hTcGVjEjEKBnN0YXR1cxgGIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94U3RhdHVzEjYKCXJlY29yZGluZxgHIAEoDjIjLnRvc2hpLndvcmtzcGFjZS52MS5SZWNvcmRpbmdQb2xpY3kSDQoFYWdlbnQYCCABKAgSMAoHd2FpdGluZxgJIAMoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5BZ2VudFByb21wdBI0CgduZXR3b3JrGAogASgLMiMudG9zaGkud29ya3NwYWNlLnYxLldvcmtsb2FkTmV0d29yaxIwCgZzaGFyZWQYCyABKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuU2hhcmVkQWNjZXNzEg4KBmpvYl9pZBgMIAEoCRI9ChByZWNvcmRpbmdfc291cmNlGA0gASgOMiMudG9zaGkud29ya3NwYWNlLnYxLlJlY29yZGluZ1NvdXJjZRIgChhyZWNvcmRpbmdfc3RvcHBlZF9yZWFzb24YDiABKAkaLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK3BgoNU2FuZGJveFN0YXR1cxIvCgVzdGF0ZRgBIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94U3RhdGUSMQoKZW5kX3JlYXNvbhgCIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5FbmRSZWFzb24SLQoKbGFzdF9lcnJvchgDIAEoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5FcnJvchIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglxdWV1ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgtzdG9wX3JlYXNvbhgJIAEoDjIeLnRvc2hpLndvcmtzcGFjZS52MS5TdG9wUmVhc29uEjQKCHByZXZpZXdzGAogAygLMiIudG9zaGkud29ya3NwYWNlLnYxLlNhbmRib3hQcmV2aWV3EjYKEnByb2Nlc3Nfc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoJZXhpdF9jb2RlGAwgASgFSACIAQESLgoKc3RvcHBlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoKc3RvcF9jYXVzZRgOIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5TdG9wQ2F1c2USNwoNb3BlcmF0b3JfaG9sZBgPIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5PcGVyYXRvckhvbGQSKwoHaGVsZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMaG9sZF9jb250YWN0GBEgASgJQgwKCl9leGl0X2NvZGUiigQKB1NlcnZpY2USCgoCaWQYASABKAkSDwoHcHJvamVjdBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRI3CgZsYWJlbHMYBCADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZS5MYWJlbHNFbnRyeRItCgRzcGVjGAUgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTcGVjEjEKBnN0YXR1cxgGIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU3RhdHVzEg0KBWFnZW50GAcgASgIEjAKB3dhaXRpbmcYCCADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuQWdlbnRQcm9tcHQSNAoHbmV0d29yaxgJIAEoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5Xb3JrbG9hZE5ldHdvcmsSLgoFaG9sZHMYCiADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUhvbGQSEgoKbWFuYWdlZF9ieRgLIAEoCRIXCg9tYW5pZmVzdF9kaWdlc3QYDCABKAkSFgoObWFuYWdlZF9maWVsZHMYDSADKAkSFwoPbWFuaWZlc3Rfb3JpZ2luGA4gASgJGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi3QEKD1dvcmtsb2FkTmV0d29yaxIwCgZsYXllcnMYASADKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuTmV0d29ya0xheWVyEhAKCGVuZm9yY2VkGAIgASgIEhsKE25vdF9lbmZvcmNlZF9yZWFzb24YAyABKAkSNgoMbGFzdF9kZW5pYWxzGAQgAygLMiAudG9zaGkud29ya3NwYWNlLnYxLkVncmVzc0RlbmlhbBIUCgxlZ3Jlc3NfYnl0ZXMYBSABKAQSGwoTZWdyZXNzX2V4ZW1wdF9ieXRlcxgGIAEoBCJPCgxOZXR3b3JrTGF5ZXISDAoEbmFtZRgBIAEoCRIxCgZwb2xpY3kYAiABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuTmV0d29ya1BvbGljeSKxBgoNU2VydmljZVN0YXR1cxIvCgVzdGF0ZRgBIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU3RhdGUSMQoKZW5kX3JlYXNvbhgCIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5FbmRSZWFzb24SLQoKbGFzdF9lcnJvchgDIAEoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5FcnJvchIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglxdWV1ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCghsaXZlX3J1bhgJIAEoCzIeLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlUnVuEjgKDnByb3ZpZGVkX25hbWVzGAogAygLMiAudG9zaGkud29ya3NwYWNlLnYxLlByb3ZpZGVkTmFtZRIdChVwcm92aWRlZF9uYW1lc19yZWFzb24YCyABKAkSMQoGYmFja3VwGAwgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VCYWNrdXASMwoLc3RvcF9yZWFzb24YDSABKA4yHi50b3NoaS53b3Jrc3BhY2UudjEuU3RvcFJlYXNvbhIxCgpzdG9wX2NhdXNlGA4gASgOMh0udG9zaGkud29ya3NwYWNlLnYxLlN0b3BDYXVzZRI3Cg1vcGVyYXRvcl9ob2xkGA8gASgOMiAudG9zaGkud29ya3NwYWNlLnYxLk9wZXJhdG9ySG9sZBIrCgdoZWxkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgxob2xkX2NvbnRhY3QYESABKAkiygEKDVNlcnZpY2VCYWNrdXASEQoJdm9sdW1lX2lkGAEgASgJEhYKDmxhdGVzdF92ZXJzaW9uGAIgASgDEjcKE2xhdGVzdF92ZXJzaW9uX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWxhc3Rfc2F2ZV9mYWlsdXJlGAQgASgJEjoKFmxhc3Rfc2F2ZV9mYWlsdXJlX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi0KDFByb3ZpZGVkTmFtZRIPCgdjaGFubmVsGAEgASgJEgwKBGhvc3QYAiABKAki+QEKB0pvYlNwZWMSLAoHY29tbWFuZBgBIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Db21tYW5kEi0KCGJpbmRpbmdzGAIgAygLMhsudG9zaGkud29ya3NwYWNlLnYxLkJpbmRpbmcSDAoEc2l6ZRgDIAEoCRIXCg9jb250YWluZXJfaW1hZ2UYBCABKAkSHgoWY29udGFpbmVyX2ltYWdlX2RpZ2VzdBgFIAEoCRIhChljb250YWluZXJfcmVnaXN0cnlfc2VjcmV0GAYgASgJEg0KBWltYWdlGAcgASgJEhgKEGltYWdlX3ZlcnNpb25faWQYCCABKAkivQEKB0JpbmRpbmcSDAoEbmFtZRgBIAEoCRI1CgdzZXJ2aWNlGAIgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VDaGFubmVsSAASOQoHc2VjcmV0cxgDIAEoCzImLnRvc2hpLndvcmtzcGFjZS52MS5FbnZpcm9ubWVudFNlY3JldHNIABIoCgRtYWlsGAQgASgLMhgudG9zaGkud29ya3NwYWNlLnYxLk1haWxIAEIICgZ0YXJnZXQiMgoOU2VydmljZUNoYW5uZWwSDwoHc2VydmljZRgBIAEoCRIPCgdjaGFubmVsGAIgASgJIhQKEkVudmlyb25tZW50U2VjcmV0cyIGCgRNYWlsIu0BCgxCb3VuZEJpbmRpbmcSDAoEbmFtZRgBIAEoCRIzCgdzZXJ2aWNlGAIgASgLMiAudG9zaGkud29ya3NwYWNlLnYxLkJvdW5kU2VydmljZUgAEjMKB3NlY3JldHMYAyABKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuQm91bmRTZWNyZXRzSAASLQoEbWFpbBgFIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Cb3VuZE1haWxIABIsCgh0YWtlbl9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGdGFyZ2V0IrABCgxCb3VuZFNlcnZpY2USDwoHc2VydmljZRgBIAEoCRISCgpzZXJ2aWNlX2lkGAIgASgJEhAKCHJldmlzaW9uGAMgASgDEg8KB2NoYW5uZWwYBCABKAkSDQoFc2hhcGUYBSABKAkSDAoEcG9ydBgGIAEoBRISCgpjcmVkZW50aWFsGAcgASgJEhAKCGF1ZGllbmNlGAggASgJEhUKDWNyZWRlbnRpYWxfaWQYCSABKAkiSAoJQm91bmRNYWlsEhIKCmNyZWRlbnRpYWwYASABKAkSEAoIYXVkaWVuY2UYAiABKAkSFQoNY3JlZGVudGlhbF9pZBgDIAEoCSJKCgxCb3VuZFNlY3JldHMSDgoGc2V0X2lkGAEgASgJEioKBGtleXMYAiADKAsyHC50b3NoaS53b3Jrc3BhY2UudjEuQm91bmRLZXkiOQoIQm91bmRLZXkSDgoGc2V0X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoAyIgCg5SZXF1ZXN0TmV0d29yaxIOCgZlZ3Jlc3MYASADKAki7AMKC1NhbmRib3hTcGVjEgwKBHNpemUYASABKAkSLwoMbWF4X2R1cmF0aW9uGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi0KCGJpbmRpbmdzGAMgAygLMhsudG9zaGkud29ya3NwYWNlLnYxLkJpbmRpbmcSFwoPc3RhdGVfdm9sdW1lX2lkGAQgASgJEhcKD2NvbnRhaW5lcl9pbWFnZRgFIAEoCRIeChZjb250YWluZXJfaW1hZ2VfZGlnZXN0GAYgASgJEiEKGWNvbnRhaW5lcl9yZWdpc3RyeV9zZWNyZXQYByABKAkSKgoFc2V0dXAYCCABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZBIsCgdwcm9jZXNzGAkgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLkNvbW1hbmQSDQoFaW1hZ2UYCiABKAkSGAoQaW1hZ2VfdmVyc2lvbl9pZBgLIAEoCRIxCgZzb3VyY2UYDCABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuU2FuZGJveFNvdXJjZRIzCgduZXR3b3JrGA0gASgLMiIudG9zaGkud29ya3NwYWNlLnYxLlJlcXVlc3ROZXR3b3JrEg8KB2tlZXBfdm0YDiABKAgiVAoNU2FuZGJveFNvdXJjZRISCgpjb25uZWN0aW9uGAEgASgJEhIKCnJlcG9zaXRvcnkYAiABKAkSCwoDcmVmGAMgASgJEg4KBmNvbW1pdBgEIAEoCSLTAwoLU2VydmljZVNwZWMSDAoEc2l6ZRgBIAEoCRItCgRtb2RlGAIgASgOMh8udG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VNb2RlEhAKCHJldmlzaW9uGAMgASgDEgwKBG5hbWUYBCABKAkSEAoIdGVtcGxhdGUYBSABKAkSDgoGcmVjaXBlGAYgASgJEjkKDHN0YXRlX3ZvbHVtZRgHIAEoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TdGF0ZVZvbHVtZVNwZWMSLQoIYmluZGluZ3MYCCADKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQmluZGluZxIQCghzbGVlcGluZxgJIAEoCBIvCgthd2FrZV91bnRpbBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWY29udGFpbmVyX2ltYWdlX2RpZ2VzdBgLIAEoCRI1Cgh2aXNpdG9ycxgMIAEoDjIjLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlVmlzaXRvcnMSDwoHa2VlcF92bRgNIAEoCBIwCgpob3N0X2tpbmRzGA4gAygOMhwudG9zaGkud29ya3NwYWNlLnYxLkhvc3RLaW5kIikKD1N0YXRlVm9sdW1lU3BlYxIWCg5zaXplX2NhcF9ieXRlcxgBIAEoAyKDAQoHQ29tbWFuZBIMCgRhcmd2GAEgAygJEjEKA2VudhgCIAMoCzIkLnRvc2hpLndvcmtzcGFjZS52MS5Db21tYW5kLkVudkVudHJ5EgsKA2N3ZBgDIAEoCRoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjwKDlNhbmRib3hQcmV2aWV3Eg8KB2NoYW5uZWwYASABKAkSDAoEcG9ydBgCIAEoBRILCgN1cmwYAyABKAkiJgoFRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIjsKBk91dHB1dBIOCgZzdGRvdXQYASABKAwSDgoGc3RkZXJyGAIgASgMEhEKCXRydW5jYXRlZBgDIAEoCCJ0ChJXYXRjaE91dHB1dFJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRIVCg1zdGRvdXRfb2Zmc2V0GAQgASgDEhUKDXN0ZGVycl9vZmZzZXQYBSABKAMicgoTV2F0Y2hPdXRwdXRSZXNwb25zZRIQCgZzdGRvdXQYASABKAxIABIQCgZzdGRlcnIYAiABKAxIABIsCgNlbmQYAyABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuT3V0cHV0RW5kSABCCQoHbWVzc2FnZSJXCglPdXRwdXRFbmQSFgoJZXhpdF9jb2RlGAEgASgFSACIAQESEQoJY2FuY2VsbGVkGAIgASgIEhEKCXRydW5jYXRlZBgDIAEoCEIMCgpfZXhpdF9jb2RlImwKFVdhdGNoVGVsZW1ldHJ5UmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEg4KBmN1cnNvchgEIAEoCRIRCglrZWVwYWxpdmUYBSABKAgivwEKFldhdGNoVGVsZW1ldHJ5UmVzcG9uc2USNQoGc2FtcGxlGAEgASgLMiMudG9zaGkud29ya3NwYWNlLnYxLlRlbGVtZXRyeVNhbXBsZUgAEjIKCWtlZXBhbGl2ZRgCIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5LZWVwYWxpdmVIABIvCgNlbmQYAyABKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuVGVsZW1ldHJ5RW5kSABCCQoHbWVzc2FnZSL/AgoPVGVsZW1ldHJ5U2FtcGxlEg4KBmN1cnNvchgBIAEoCRImCgJhdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJd2luZG93X21zGAMgASgFEg4KBmNwdV9tcxgEIAEoAxITCgtjcHVfd2FpdF9tcxgFIAEoAxIdChBndWVzdF9tZW1vcnlfbWliGAYgASgDSACIAQESFwoPaG9zdF9tZW1vcnlfbWliGAcgASgDEhcKD2Rpc2tfcmVhZF9ieXRlcxgIIAEoAxIYChBkaXNrX3dyaXRlX2J5dGVzGAkgASgDEhkKDG5ldF9yeF9ieXRlcxgKIAEoA0gBiAEBEhkKDG5ldF90eF9ieXRlcxgLIAEoA0gCiAEBEhYKCW9vbV9raWxscxgMIAEoBUgDiAEBQhMKEV9ndWVzdF9tZW1vcnlfbWliQg8KDV9uZXRfcnhfYnl0ZXNCDwoNX25ldF90eF9ieXRlc0IMCgpfb29tX2tpbGxzIg4KDFRlbGVtZXRyeUVuZCJ/ChRXYXRjaEd1ZXN0TG9nUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEg4KBmN1cnNvchgEIAEoCRIRCglrZWVwYWxpdmUYBSABKAgSEgoKdGFpbF9ieXRlcxgGIAEoAyK6AQoVV2F0Y2hHdWVzdExvZ1Jlc3BvbnNlEjIKBWNodW5rGAEgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLkd1ZXN0TG9nQ2h1bmtIABIyCglrZWVwYWxpdmUYAiABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuS2VlcGFsaXZlSAASLgoDZW5kGAMgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLkd1ZXN0TG9nRW5kSABCCQoHbWVzc2FnZSJMCg1HdWVzdExvZ0NodW5rEg4KBm9mZnNldBgBIAEoAxIMCgRkYXRhGAIgASgMEg0KBXN0YXJ0GAMgASgJEg4KBmN1cnNvchgEIAEoCSINCgtHdWVzdExvZ0VuZCJ2Cg5FeGVjdXRlUmVxdWVzdBIxCgVzdGFydBgBIAEoCzIgLnRvc2hpLndvcmtzcGFjZS52MS5FeGVjdXRlU3RhcnRIABIPCgVzdGRpbhgCIAEoDEgAEhUKC2Nsb3NlX3N0ZGluGAMgASgISABCCQoHbWVzc2FnZSKaAQoMRXhlY3V0ZVN0YXJ0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2FuZGJveF9pZBgDIAEoCRIsCgdjb21tYW5kGAQgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLkNvbW1hbmQSEwoLcmVxdWVzdF9rZXkYBSABKAkSDQoFZ3JhbnQYBiABKAkirAEKD0V4ZWN1dGVSZXNwb25zZRI3CgdzdGFydGVkGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvblN0YXJ0ZWRIABIQCgZzdGRvdXQYAiABKAxIABIQCgZzdGRlcnIYAyABKAxIABIxCgRleGl0GAQgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvbkV4aXRIAEIJCgdtZXNzYWdlIqMBChVFeGVjdXRlQ29tbWFuZFJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzYW5kYm94X2lkGAMgASgJEiwKB2NvbW1hbmQYBCABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZBITCgtyZXF1ZXN0X2tleRgFIAEoCRINCgVncmFudBgGIAEoCSKzAQoWRXhlY3V0ZUNvbW1hbmRSZXNwb25zZRI3CgdzdGFydGVkGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvblN0YXJ0ZWRIABIQCgZzdGRvdXQYAiABKAxIABIQCgZzdGRlcnIYAyABKAxIABIxCgRleGl0GAQgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvbkV4aXRIAEIJCgdtZXNzYWdlIigKEEV4ZWN1dGlvblN0YXJ0ZWQSFAoMZXhlY3V0aW9uX2lkGAEgASgJIkgKDUV4ZWN1dGlvbkV4aXQSFgoJZXhpdF9jb2RlGAEgASgFSACIAQESEQoJY2FuY2VsbGVkGAIgASgIQgwKCl9leGl0X2NvZGUieAoWQ2FuY2VsRXhlY3V0aW9uUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhQKDGV4ZWN1dGlvbl9pZBgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCRINCgVncmFudBgFIAEoCSIZChdDYW5jZWxFeGVjdXRpb25SZXNwb25zZSLBAQoJT3BlcmF0aW9uEgoKAmlkGAEgASgJEhMKC3dvcmtsb2FkX2lkGAIgASgJEgwKBGRvbmUYAyABKAgSKAoFZXJyb3IYBCABKAsyGS50b3NoaS53b3Jrc3BhY2UudjEuRXJyb3ISLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoHZG9uZV9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiRwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJIkgKFEdldE9wZXJhdGlvblJlc3BvbnNlEjAKCW9wZXJhdGlvbhgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5PcGVyYXRpb24idAoUV2FpdE9wZXJhdGlvblJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRIqCgd0aW1lb3V0GAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIkkKFVdhaXRPcGVyYXRpb25SZXNwb25zZRIwCglvcGVyYXRpb24YASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuT3BlcmF0aW9uIqEICgVFdmVudBIKCgJpZBgBIAEoCRIrCgR0eXBlGAIgASgOMh0udG9zaGkud29ya3NwYWNlLnYxLkV2ZW50VHlwZRIMCgRuYW1lGAMgASgJEhMKC3dvcmtsb2FkX2lkGAQgASgJEigKBHRpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmN1cnNvchgGIAEoCRImCgNqb2IYDSABKAsyFy50b3NoaS53b3Jrc3BhY2UudjEuSm9iSAASLgoHc2FuZGJveBgOIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94SAASLgoHc2VydmljZRgPIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSAASNwoJZXhlY3V0aW9uGAggASgLMiIudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvbkV2ZW50SAASMwoHZW1pdHRlZBgJIAEoCzIgLnRvc2hpLndvcmtzcGFjZS52MS5FbWl0dGVkRXZlbnRIABI3CglyZWNvcmRpbmcYCiABKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuUmVjb3JkaW5nRXZlbnRIABI5Cgpjb25uZWN0aW9uGBEgASgLMiMudG9zaGkud29ya3NwYWNlLnYxLkNvbm5lY3Rpb25FdmVudEgAEkIKD3NlY3JldF93aXRoaGVsZBgSIAEoCzInLnRvc2hpLndvcmtzcGFjZS52MS5TZWNyZXRXaXRoaGVsZEV2ZW50SAASNAoHdHJpZ2dlchgTIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5UcmlnZ2VyUmVzdWx0SAASSQoTdXBncmFkZV9yb2xsZWRfYmFjaxgUIAEoCzIqLnRvc2hpLndvcmtzcGFjZS52MS5VcGdyYWRlUm9sbGVkQmFja0V2ZW50SAASPAoMYWdlbnRfYW5zd2VyGBUgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLkFnZW50QW5zd2VyRXZlbnRIABI+Cg1lZ3Jlc3NfZGVuaWVkGBYgASgLMiUudG9zaGkud29ya3NwYWNlLnYxLkVncmVzc0RlbmllZEV2ZW50SAASNgoJbWFpbF9zZW50GBcgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLk1haWxTZW50RXZlbnRIABJFChFrZXB0X3ZtX2Rpc2NhcmRlZBgYIAEoCzIoLnRvc2hpLndvcmtzcGFjZS52MS5LZXB0Vk1EaXNjYXJkZWRFdmVudEgAEg8KB3Byb2plY3QYCyABKAkSEwoLZW52aXJvbm1lbnQYDCABKAkSFQoNY29ubmVjdGlvbl9pZBgQIAEoCUIJCgdwYXlsb2FkSgQIBxAIUgh3b3JrbG9hZCI2ChRLZXB0Vk1EaXNjYXJkZWRFdmVudBIOCgZydW5faWQYASABKAkSDgoGcmVhc29uGAIgASgJImkKFlVwZ3JhZGVSb2xsZWRCYWNrRXZlbnQSEAoIcmV2aXNpb24YASABKAMSFQoNZnJvbV9yZXZpc2lvbhgCIAEoAxIOCgZyZWFzb24YAyABKAkSFgoOdm9sdW1lX3ZlcnNpb24YBCABKAMibQoTU2VjcmV0V2l0aGhlbGRFdmVudBIOCgZydW5faWQYASABKAkSFAoMZXhlY3V0aW9uX2lkGAIgASgJEjAKBGtleXMYAyADKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuV2l0aGhlbGRTZWNyZXQiPQoOV2l0aGhlbGRTZWNyZXQSDAoEbmFtZRgBIAEoCRINCgVvd25lchgCIAEoCRIOCgZyZWFzb24YAyABKAkiVgoRRWdyZXNzRGVuaWVkRXZlbnQSDgoGcnVuX2lkGAEgASgJEjEKB2RlbmlhbHMYAiADKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuRWdyZXNzRGVuaWFsIpgBCgxFZ3Jlc3NEZW5pYWwSDwoHYWRkcmVzcxgBIAEoCRIQCghwcm90b2NvbBgCIAEoCRIMCgRwb3J0GAMgASgFEg0KBWxheWVyGAQgASgJEg0KBWVudHJ5GAUgASgJEg8KB3BhY2tldHMYBiABKAMSKAoEdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1AEKDVRyaWdnZXJSZXN1bHQSEgoKdHJpZ2dlcl9pZBgBIAEoCRIUCgx0cmlnZ2VyX25hbWUYAiABKAkSCwoDa2V5GAMgASgJEhMKC3dvcmtsb2FkX2lkGAQgASgJEhAKCGV2ZW50X2lkGAUgASgJEgwKBGxpbmsYBiABKAkSDgoGcmVhc29uGAcgASgJEhAKCGhlYWRfc2hhGAggASgJEhYKCWV4aXRfY29kZRgJIAEoBUgAiAEBEg8KB21lc3NhZ2UYCiABKAlCDAoKX2V4aXRfY29kZSJlCg5FeGVjdXRpb25FdmVudBIUCgxleGVjdXRpb25faWQYASABKAkSDAoEYXJndhgCIAMoCRIvCgRleGl0GAMgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvbkV4aXQiHAoMRW1pdHRlZEV2ZW50EgwKBGRhdGEYASABKAwiSgoQQWdlbnRBbnN3ZXJFdmVudBIRCglwcm9tcHRfaWQYASABKAkSDgoGYW5zd2VyGAIgASgJEhMKC2Fuc3dlcmVkX2J5GAMgASgJImUKDU1haWxTZW50RXZlbnQSDwoHYmluZGluZxgBIAEoCRISCgptZXNzYWdlX2lkGAIgASgJEhIKCnJlY2lwaWVudHMYAyABKAUSGwoTcHJvdmlkZXJfbWVzc2FnZV9pZBgEIAEoCSKUAQoLQWdlbnRQcm9tcHQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRraW5kGAMgASgJEgwKBHRleHQYBCABKAkSDwoHb3B0aW9ucxgFIAMoCRIQCghldmVudF9pZBgGIAEoCRIsCghhc2tlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiHwoPQ29ubmVjdGlvbkV2ZW50EgwKBGRhdGEYASABKAwibAoOUmVjb3JkaW5nRXZlbnQSFAoMcmVjb3JkaW5nX2lkGAEgASgJEhMKC2FydGlmYWN0X2lkGAIgASgJEi8KBGtpbmQYAyABKA4yIS50b3NoaS53b3Jrc3BhY2UudjEuUmVjb3JkaW5nS2luZCKEAQoRTGlzdEV2ZW50c1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRITCgt3b3JrbG9hZF9pZBgDIAEoCRISCgpwYWdlX3Rva2VuGAQgASgJEhEKCXBhZ2Vfc2l6ZRgFIAEoBRINCgVncmFudBgGIAEoCSJ9ChJMaXN0RXZlbnRzUmVzcG9uc2USKQoGZXZlbnRzGAEgAygLMhkudG9zaGkud29ya3NwYWNlLnYxLkV2ZW50Eg4KBmN1cnNvchgCIAEoCRIXCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAkSEwoLdG90YWxfYnl0ZXMYBCABKAMicgoSV2F0Y2hFdmVudHNSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEwoLd29ya2xvYWRfaWQYAyABKAkSDgoGY3Vyc29yGAQgASgJEhEKCWtlZXBhbGl2ZRgFIAEoCCJxChNXYXRjaEV2ZW50c1Jlc3BvbnNlEigKBWV2ZW50GAEgASgLMhkudG9zaGkud29ya3NwYWNlLnYxLkV2ZW50EjAKCWtlZXBhbGl2ZRgCIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5LZWVwYWxpdmUiSAoJS2VlcGFsaXZlEisKB3NlbnRfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmN1cnNvchgCIAEoCSKfAwoQUHJldmlld1NoYXJlTGluaxIKCgJpZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEjgKBXN0YXRlGAMgASgOMikudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmtTdGF0ZRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgltYXhfYnl0ZXMYBiABKAMSEgoKdXNlZF9ieXRlcxgHIAEoAxItCglvcGVuZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnJldm9rZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjaGFubmVsGAsgASgJEgwKBHBvcnQYDCABKAUizQEKHUNyZWF0ZVByZXZpZXdTaGFyZUxpbmtSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2FuZGJveF9pZBgDIAEoCRItCgpleHBpcmVzX2luGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhEKCW1heF9ieXRlcxgFIAEoAxIRCgdjaGFubmVsGAYgASgJSAASDgoEcG9ydBgHIAEoBUgAQg0KC2NoYW5uZWxfcmVmImcKHkNyZWF0ZVByZXZpZXdTaGFyZUxpbmtSZXNwb25zZRI4CgpzaGFyZV9saW5rGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmsSCwoDdXJsGAIgASgJIn8KHExpc3RQcmV2aWV3U2hhcmVMaW5rc1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzYW5kYm94X2lkGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJInMKHUxpc3RQcmV2aWV3U2hhcmVMaW5rc1Jlc3BvbnNlEjkKC3NoYXJlX2xpbmtzGAEgAygLMiQudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmsSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJInAKHVJldm9rZVByZXZpZXdTaGFyZUxpbmtSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2FuZGJveF9pZBgDIAEoCRIVCg1zaGFyZV9saW5rX2lkGAQgASgJIloKHlJldm9rZVByZXZpZXdTaGFyZUxpbmtSZXNwb25zZRI4CgpzaGFyZV9saW5rGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmsikQMKEFNlcnZpY2VTaGFyZUxpbmsSCgoCaWQYASABKAkSEgoKc2VydmljZV9pZBgCIAEoCRIPCgdjaGFubmVsGAMgASgJEjgKBXN0YXRlGAQgASgOMikudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmtTdGF0ZRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgltYXhfYnl0ZXMYByABKAMSEgoKdXNlZF9ieXRlcxgIIAEoAxItCglvcGVuZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnJldm9rZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKsAQodQ3JlYXRlU2VydmljZVNoYXJlTGlua1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEg8KB2NoYW5uZWwYBCABKAkSLQoKZXhwaXJlc19pbhgFIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIRCgltYXhfYnl0ZXMYBiABKAMiZwoeQ3JlYXRlU2VydmljZVNoYXJlTGlua1Jlc3BvbnNlEjgKCnNoYXJlX2xpbmsYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNoYXJlTGluaxILCgN1cmwYAiABKAkifwocTGlzdFNlcnZpY2VTaGFyZUxpbmtzUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNlcnZpY2VfaWQYAyABKAkSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkicwodTGlzdFNlcnZpY2VTaGFyZUxpbmtzUmVzcG9uc2USOQoLc2hhcmVfbGlua3MYASADKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNoYXJlTGluaxIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkicAodUmV2b2tlU2VydmljZVNoYXJlTGlua1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEhUKDXNoYXJlX2xpbmtfaWQYBCABKAkiWgoeUmV2b2tlU2VydmljZVNoYXJlTGlua1Jlc3BvbnNlEjgKCnNoYXJlX2xpbmsYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNoYXJlTGluayJcChNTdGFydFNhbmRib3hSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEwoLcmVxdWVzdF9rZXkYBCABKAkiRAoUU3RhcnRTYW5kYm94UmVzcG9uc2USLAoHc2FuZGJveBgBIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94IlsKElN0b3BTYW5kYm94UmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhMKC3JlcXVlc3Rfa2V5GAQgASgJIkMKE1N0b3BTYW5kYm94UmVzcG9uc2USLAoHc2FuZGJveBgBIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94IlwKE1N0YXJ0U2VydmljZVJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCSJUChRTdGFydFNlcnZpY2VSZXNwb25zZRIsCgdzZXJ2aWNlGAIgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VKBAgBEAJSCHdvcmtsb2FkIlsKElN0b3BTZXJ2aWNlUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhMKC3JlcXVlc3Rfa2V5GAQgASgJIlMKE1N0b3BTZXJ2aWNlUmVzcG9uc2USLAoHc2VydmljZRgCIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSgQIARACUgh3b3JrbG9hZCKNAQoVU2V0U2VydmljZU1vZGVSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSLQoEbW9kZRgEIAEoDjIfLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlTW9kZRITCgtyZXF1ZXN0X2tleRgFIAEoCSJWChZTZXRTZXJ2aWNlTW9kZVJlc3BvbnNlEiwKB3NlcnZpY2UYAiABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUoECAEQAlIId29ya2xvYWQiWwoSV2FrZVNlcnZpY2VSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEwoLcmVxdWVzdF9rZXkYBCABKAkiUwoTV2FrZVNlcnZpY2VSZXNwb25zZRIsCgdzZXJ2aWNlGAIgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VKBAgBEAJSCHdvcmtsb2FkIoABChNIb2xkV29ya2xvYWRSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEwoLd29ya2xvYWRfaWQYAyABKAkSLgoEaG9sZBgEIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5PcGVyYXRvckhvbGQiFgoUSG9sZFdvcmtsb2FkUmVzcG9uc2UiUwoWUmVsZWFzZVdvcmtsb2FkUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhMKC3dvcmtsb2FkX2lkGAMgASgJIhkKF1JlbGVhc2VXb3JrbG9hZFJlc3BvbnNlIoMBChJIb2xkU2VydmljZVJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRImCgN0dGwYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEwoLcmVxdWVzdF9rZXkYBSABKAkiggEKE0hvbGRTZXJ2aWNlUmVzcG9uc2USLQoEaG9sZBgCIAEoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSG9sZBIsCgdzZXJ2aWNlGAMgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VKBAgBEAJSCHdvcmtsb2FkIk0KC1NlcnZpY2VIb2xkEg4KBmhvbGRlchgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJeChVSZWxlYXNlU2VydmljZVJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCSJWChZSZWxlYXNlU2VydmljZVJlc3BvbnNlEiwKB3NlcnZpY2UYAiABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUoECAEQAlIId29ya2xvYWQiZgoZU3RhcnRTZXJ2aWNlU2lnbkluUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNlcnZpY2VfaWQYAyABKAkSDwoHcHJvZ3JhbRgEIAEoCSKvAQoaU3RhcnRTZXJ2aWNlU2lnbkluUmVzcG9uc2USOwoHc3RhcnRlZBgBIAEoCzIoLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU2lnbkluU3RhcnRlZEgAEhAKBm91dHB1dBgCIAEoDEgAEjcKBWVuZGVkGAMgASgLMiYudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTaWduSW5FbmRlZEgAQgkKB21lc3NhZ2UiVwoUU2VydmljZVNpZ25JblN0YXJ0ZWQSEgoKc2lnbl9pbl9pZBgBIAEoCRIrCgdlbmRzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ1ChJTZXJ2aWNlU2lnbkluRW5kZWQSOQoHb3V0Y29tZRgBIAEoDjIoLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU2lnbkluT3V0Y29tZRIWCglleGl0X2NvZGUYAiABKAVIAIgBAUIMCgpfZXhpdF9jb2RlIngKGkFuc3dlclNlcnZpY2VTaWduSW5SZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2VydmljZV9pZBgDIAEoCRISCgpzaWduX2luX2lkGAQgASgJEgwKBHRleHQYBSABKAkiHQobQW5zd2VyU2VydmljZVNpZ25JblJlc3BvbnNlImoKGkNhbmNlbFNlcnZpY2VTaWduSW5SZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2VydmljZV9pZBgDIAEoCRISCgpzaWduX2luX2lkGAQgASgJIh0KG0NhbmNlbFNlcnZpY2VTaWduSW5SZXNwb25zZSJqCh1HZXRTZXJ2aWNlU2lnbkluU3RhdHVzUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNlcnZpY2VfaWQYAyABKAkSDwoHcHJvZ3JhbRgEIAEoCSJbCh5HZXRTZXJ2aWNlU2lnbkluU3RhdHVzUmVzcG9uc2USOQoIc3RhdHVzZXMYASADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNpZ25JblN0YXR1cyJcChNTZXJ2aWNlU2lnbkluU3RhdHVzEg8KB3Byb2dyYW0YASABKAkSEQoJc2lnbmVkX2luGAIgASgIEhEKCWV4aXRfY29kZRgDIAEoBRIOCgZvdXRwdXQYBCABKAkicQoWTGlzdFNlcnZpY2VSdW5zUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJImAKF0xpc3RTZXJ2aWNlUnVuc1Jlc3BvbnNlEiwKBHJ1bnMYASADKAsyHi50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJ1bhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkidgobTGlzdFNlcnZpY2VSZXZpc2lvbnNSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkibwocTGlzdFNlcnZpY2VSZXZpc2lvbnNSZXNwb25zZRI2CglyZXZpc2lvbnMYASADKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJldmlzaW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJdChlHZXRTZXJ2aWNlUmV2aXNpb25SZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSDgoGbnVtYmVyGAQgASgDIlMKGkdldFNlcnZpY2VSZXZpc2lvblJlc3BvbnNlEjUKCHJldmlzaW9uGAEgASgLMiMudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSZXZpc2lvbiKLAwoPU2VydmljZVJldmlzaW9uEg4KBm51bWJlchgBIAEoAxI5CgZyZWFzb24YAiABKA4yKS50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJldmlzaW9uUmVhc29uEg4KBnJlY2lwZRgDIAEoCRIOCgZzZWNyZXQYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPY29udGFpbmVyX2ltYWdlGAYgASgJEh4KFmNvbnRhaW5lcl9pbWFnZV9kaWdlc3QYByABKAkSEAoIZWxpZ2libGUYCCABKAgSGQoRaW5lbGlnaWJsZV9yZWFzb24YCSABKAkSQgoLaW1hZ2VfY2hlY2sYCiABKAsyLS50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJldmlzaW9uSW1hZ2VDaGVjaxIzCgd1cGdyYWRlGAsgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VVcGdyYWRlIowECg5TZXJ2aWNlVXBncmFkZRI2CgVzdGF0ZRgBIAEoDjInLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlVXBncmFkZVN0YXRlEhUKDWZyb21fcmV2aXNpb24YAiABKAMSKQoGd2luZG93GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEXdpbmRvd19zdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg93aW5kb3dfZW5kX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDnZvbHVtZV92ZXJzaW9uGAYgASgDEhcKD3JvbGxiYWNrX3JlYXNvbhgHIAEoCRIvCgtmaW5pc2hfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoWdm9sdW1lX3NhdmVfc3RhcnRfdGltZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOwoXdm9sdW1lX3NhdmVfZmluaXNoX3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKE3ZvbHVtZV9zYXZlX21lc3NhZ2UYCyABKAkSHAoUYWxsb3dfdW5zYXZlZF92b2x1bWUYDCABKAgirgEKGVNlcnZpY2VSZXZpc2lvbkltYWdlQ2hlY2sSQAoHb3V0Y29tZRgBIAEoDjIvLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlUmV2aXNpb25JbWFnZU91dGNvbWUSDgoGc3RhdHVzGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSLgoKY2hlY2tlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAijAEKFlJvbGxiYWNrU2VydmljZVJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRIQCghyZXZpc2lvbhgEIAEoAxIZChFleHBlY3RlZF9yZXZpc2lvbhgFIAEoAxITCgtyZXF1ZXN0X2tleRgGIAEoCSKCAQoXUm9sbGJhY2tTZXJ2aWNlUmVzcG9uc2USLAoHc2VydmljZRgBIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlEjkKCmFjdGl2YXRpb24YAiABKAsyJS50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUFjdGl2YXRpb24ieAodTGlzdFNlcnZpY2VBY3RpdmF0aW9uc1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRIRCglwYWdlX3NpemUYBCABKAUSEgoKcGFnZV90b2tlbhgFIAEoCSJ1Ch5MaXN0U2VydmljZUFjdGl2YXRpb25zUmVzcG9uc2USOgoLYWN0aXZhdGlvbnMYASADKAsyJS50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUFjdGl2YXRpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIoEDChFTZXJ2aWNlQWN0aXZhdGlvbhIQCghzZXF1ZW5jZRgBIAEoAxI3CgRraW5kGAIgASgOMikudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VBY3RpdmF0aW9uS2luZBINCgVhY3RvchgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCRIVCg1mcm9tX3JldmlzaW9uGAUgASgDEhMKC3RvX3JldmlzaW9uGAYgASgDEjAKDHJlcXVlc3RlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGcnVuX2lkGAggASgJEj0KB291dGNvbWUYCSABKA4yLC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUFjdGl2YXRpb25PdXRjb21lEg0KBWVycm9yGAogASgJEkEKD3NlY3JldF92ZXJzaW9ucxgLIAMoCzIoLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU2VjcmV0VmVyc2lvbiI1ChRTZXJ2aWNlU2VjcmV0VmVyc2lvbhIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAMi3AIKClNlcnZpY2VSdW4SCgoCaWQYASABKAkSEAoIcmV2aXNpb24YAiABKAMSMgoFc3RhdGUYAyABKA4yIy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJ1blN0YXRlEgwKBGhlbGQYBCABKAkSLQoJcXVldWVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghyZWFkeV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWV4aXRfY29kZRgJIAEoBUgAiAEBEg0KBWVycm9yGAogASgJQgwKCl9leGl0X2NvZGUqnAEKCUVuZFJlYXNvbhIaChZFTkRfUkVBU09OX1VOU1BFQ0lGSUVEEAASFQoRRU5EX1JFQVNPTl9FWElURUQQARIWChJFTkRfUkVBU09OX1NUT1BQRUQQAhIYChRFTkRfUkVBU09OX0NBTkNFTExFRBADEhUKEUVORF9SRUFTT05fRkFJTEVEEAQSEwoPRU5EX1JFQVNPTl9MT1NUEAUq7QEKClN0b3BSZWFzb24SGwoXU1RPUF9SRUFTT05fVU5TUEVDSUZJRUQQABIVChFTVE9QX1JFQVNPTl9PV05FUhABEhwKGFNUT1BfUkVBU09OX01BWF9EVVJBVElPThACEhkKFVNUT1BfUkVBU09OX1NQRU5EX0NBUBADEiAKHFNUT1BfUkVBU09OX1RFTkFOVF9TVVNQRU5ERUQQBBIeChpTVE9QX1JFQVNPTl9URU5BTlRfREVMRVRFRBAFEhgKFFNUT1BfUkVBU09OX09QRVJBVE9SEAYSFgoSU1RPUF9SRUFTT05fUE9MSUNZEAcqygEKCVN0b3BDYXVzZRIaChZTVE9QX0NBVVNFX1VOU1BFQ0lGSUVEEAASGAoUU1RPUF9DQVVTRV9FWEVDX1JBVEUQARIeChpTVE9QX0NBVVNFX0NPTk5FQ1RJT05fUkFURRACEhsKF1NUT1BfQ0FVU0VfUkVRVUVTVF9SQVRFEAMSFQoRU1RPUF9DQVVTRV9NSU5JTkcQBBIXChNTVE9QX0NBVVNFX09QRVJBVE9SEAUSGgoWU1RPUF9DQVVTRV9SVU5ORVJfU1dBUBAGKnMKDE9wZXJhdG9ySG9sZBIdChlPUEVSQVRPUl9IT0xEX1VOU1BFQ0lGSUVEEAASIQodT1BFUkFUT1JfSE9MRF9BQlVTRV9TVVNQRUNURUQQARIhCh1PUEVSQVRPUl9IT0xEX0FCVVNFX0NPTkZJUk1FRBACKn4KCEpvYlN0YXRlEhkKFUpPQl9TVEFURV9VTlNQRUNJRklFRBAAEhUKEUpPQl9TVEFURV9DUkVBVEVEEAESFAoQSk9CX1NUQVRFX1FVRVVFRBACEhUKEUpPQl9TVEFURV9SVU5OSU5HEAMSEwoPSk9CX1NUQVRFX0VOREVEEAQqlgEKDFNhbmRib3hTdGF0ZRIdChlTQU5EQk9YX1NUQVRFX1VOU1BFQ0lGSUVEEAASGQoVU0FOREJPWF9TVEFURV9DUkVBVEVEEAESGAoUU0FOREJPWF9TVEFURV9RVUVVRUQQAhIZChVTQU5EQk9YX1NUQVRFX1JVTk5JTkcQAxIXChNTQU5EQk9YX1NUQVRFX0VOREVEEAQqlgEKDFNlcnZpY2VTdGF0ZRIdChlTRVJWSUNFX1NUQVRFX1VOU1BFQ0lGSUVEEAASGQoVU0VSVklDRV9TVEFURV9DUkVBVEVEEAESGAoUU0VSVklDRV9TVEFURV9RVUVVRUQQAhIZChVTRVJWSUNFX1NUQVRFX1JVTk5JTkcQAxIXChNTRVJWSUNFX1NUQVRFX0VOREVEEAQqhQEKD1JlY29yZGluZ1BvbGljeRIgChxSRUNPUkRJTkdfUE9MSUNZX1VOU1BFQ0lGSUVEEAASGAoUUkVDT1JESU5HX1BPTElDWV9PRkYQARIaChZSRUNPUkRJTkdfUE9MSUNZX1NUUklQEAISGgoWUkVDT1JESU5HX1BPTElDWV9WSURFTxADKpABCg9SZWNvcmRpbmdTb3VyY2USIAocUkVDT1JESU5HX1NPVVJDRV9VTlNQRUNJRklFRBAAEhwKGFJFQ09SRElOR19TT1VSQ0VfUkVRVUVTVBABEhkKFVJFQ09SRElOR19TT1VSQ0VfUExBThACEiIKHlJFQ09SRElOR19TT1VSQ0VfV09SS1NQQUNFX09GRhADKmMKCEhvc3RLaW5kEhkKFUhPU1RfS0lORF9VTlNQRUNJRklFRBAAEhQKEEhPU1RfS0lORF9TSEFSRUQQARIRCg1IT1NUX0tJTkRfT1dOEAISEwoPSE9TVF9LSU5EX0NMT1VEEAMqagoPU2VydmljZVZpc2l0b3JzEiAKHFNFUlZJQ0VfVklTSVRPUlNfVU5TUEVDSUZJRUQQABIaChZTRVJWSUNFX1ZJU0lUT1JTX0dBVEVEEAESGQoVU0VSVklDRV9WSVNJVE9SU19PUEVOEAIqYwoLU2VydmljZU1vZGUSHAoYU0VSVklDRV9NT0RFX1VOU1BFQ0lGSUVEEAASGgoWU0VSVklDRV9NT0RFX0FMV0FZU19PThABEhoKFlNFUlZJQ0VfTU9ERV9PTl9ERU1BTkQQAirgBAoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1dPUktMT0FEX0NSRUFURUQQARIlCiFFVkVOVF9UWVBFX1dPUktMT0FEX1NUQVRFX0NIQU5HRUQQAhIfChtFVkVOVF9UWVBFX1dPUktMT0FEX1VQREFURUQQAxIfChtFVkVOVF9UWVBFX1dPUktMT0FEX0RFTEVURUQQBBIgChxFVkVOVF9UWVBFX0VYRUNVVElPTl9TVEFSVEVEEAUSHgoaRVZFTlRfVFlQRV9FWEVDVVRJT05fRU5ERUQQBhIWChJFVkVOVF9UWVBFX0VNSVRURUQQBxIeChpFVkVOVF9UWVBFX1JFQ09SRElOR19SRUFEWRAIEhkKFUVWRU5UX1RZUEVfQ09OTkVDVElPThAJEh4KGkVWRU5UX1RZUEVfU0VDUkVUX1dJVEhIRUxEEAoSHAoYRVZFTlRfVFlQRV9UUklHR0VSX1JFQURZEAsSHQoZRVZFTlRfVFlQRV9UUklHR0VSX0ZBSUxFRBAMEh4KGkVWRU5UX1RZUEVfVFJJR0dFUl9SRU1PVkVEEA0SIgoeRVZFTlRfVFlQRV9VUEdSQURFX1JPTExFRF9CQUNLEA4SHQoZRVZFTlRfVFlQRV9BR0VOVF9BTlNXRVJFRBAPEhwKGEVWRU5UX1RZUEVfRUdSRVNTX0RFTklFRBAQEhgKFEVWRU5UX1RZUEVfTUFJTF9TRU5UEBESIAocRVZFTlRfVFlQRV9LRVBUX1ZNX0RJU0NBUkRFRBASKvkBChVQcmV2aWV3U2hhcmVMaW5rU3RhdGUSKAokUFJFVklFV19TSEFSRV9MSU5LX1NUQVRFX1VOU1BFQ0lGSUVEEAASIQodUFJFVklFV19TSEFSRV9MSU5LX1NUQVRFX09QRU4QARIjCh9QUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfSU5fVVNFEAISJAogUFJFVklFV19TSEFSRV9MSU5LX1NUQVRFX1JFVk9LRUQQAxIiCh5QUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfRU5ERUQQBBIkCiBQUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfRVhQSVJFRBAFKtgBChRTZXJ2aWNlU2lnbkluT3V0Y29tZRInCiNTRVJWSUNFX1NJR05fSU5fT1VUQ09NRV9VTlNQRUNJRklFRBAAEiUKIVNFUlZJQ0VfU0lHTl9JTl9PVVRDT01FX1NJR05FRF9JThABEiIKHlNFUlZJQ0VfU0lHTl9JTl9PVVRDT01FX0ZBSUxFRBACEiUKIVNFUlZJQ0VfU0lHTl9JTl9PVVRDT01FX0NBTkNFTExFRBADEiUKIVNFUlZJQ0VfU0lHTl9JTl9PVVRDT01FX1RJTUVEX09VVBAEKpQCChNTZXJ2aWNlVXBncmFkZVN0YXRlEiUKIVNFUlZJQ0VfVVBHUkFERV9TVEFURV9VTlNQRUNJRklFRBAAEiIKHlNFUlZJQ0VfVVBHUkFERV9TVEFURV9XQVRDSElORxABEiAKHFNFUlZJQ0VfVVBHUkFERV9TVEFURV9QQVNTRUQQAhImCiJTRVJWSUNFX1VQR1JBREVfU1RBVEVfUk9MTElOR19CQUNLEAMSJQohU0VSVklDRV9VUEdSQURFX1NUQVRFX1JPTExFRF9CQUNLEAQSHwobU0VSVklDRV9VUEdSQURFX1NUQVRFX0VOREVEEAUSIAocU0VSVklDRV9VUEdSQURFX1NUQVRFX1NBVklORxAGKtgBChtTZXJ2aWNlUmV2aXNpb25JbWFnZU91dGNvbWUSLgoqU0VSVklDRV9SRVZJU0lPTl9JTUFHRV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASKQolU0VSVklDRV9SRVZJU0lPTl9JTUFHRV9PVVRDT01FX1NFUlZFRBABEi0KKVNFUlZJQ0VfUkVWSVNJT05fSU1BR0VfT1VUQ09NRV9OT1RfU0VSVkVEEAISLworU0VSVklDRV9SRVZJU0lPTl9JTUFHRV9PVVRDT01FX0NIRUNLX0ZBSUxFRBADKogBChVTZXJ2aWNlUmV2aXNpb25SZWFzb24SJwojU0VSVklDRV9SRVZJU0lPTl9SRUFTT05fVU5TUEVDSUZJRUQQABIiCh5TRVJWSUNFX1JFVklTSU9OX1JFQVNPTl9ERVBMT1kQARIiCh5TRVJWSUNFX1JFVklTSU9OX1JFQVNPTl9TRUNSRVQQAiquAQoVU2VydmljZUFjdGl2YXRpb25LaW5kEicKI1NFUlZJQ0VfQUNUSVZBVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIgoeU0VSVklDRV9BQ1RJVkFUSU9OX0tJTkRfQ1JFQVRFEAESIgoeU0VSVklDRV9BQ1RJVkFUSU9OX0tJTkRfREVQTE9ZEAISJAogU0VSVklDRV9BQ1RJVkFUSU9OX0tJTkRfUk9MTEJBQ0sQAyrhAQoYU2VydmljZUFjdGl2YXRpb25PdXRjb21lEioKJlNFUlZJQ0VfQUNUSVZBVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASJwojU0VSVklDRV9BQ1RJVkFUSU9OX09VVENPTUVfU0VMRUNURUQQARIkCiBTRVJWSUNFX0FDVElWQVRJT05fT1VUQ09NRV9SRUFEWRACEiUKIVNFUlZJQ0VfQUNUSVZBVElPTl9PVVRDT01FX0ZBSUxFRBADEiMKH1NFUlZJQ0VfQUNUSVZBVElPTl9PVVRDT01FX0hFTEQQBCqsAgoPU2VydmljZVJ1blN0YXRlEiEKHVNFUlZJQ0VfUlVOX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYU0VSVklDRV9SVU5fU1RBVEVfUVVFVUVEEAESHgoaU0VSVklDRV9SVU5fU1RBVEVfU1RBUlRJTkcQAhIdChlTRVJWSUNFX1JVTl9TVEFURV9SVU5OSU5HEAMSHgoaU0VSVklDRV9SVU5fU1RBVEVfU1RPUFBJTkcQBBIfChtTRVJWSUNFX1JVTl9TVEFURV9DT01QTEVURUQQBRIcChhTRVJWSUNFX1JVTl9TVEFURV9GQUlMRUQQBhIdChlTRVJWSUNFX1JVTl9TVEFURV9TVE9QUEVEEAcSGwoXU0VSVklDRV9SVU5fU1RBVEVfU0xFUFQQCEIiWiBnby50b3NoaWNsb3VkLmlvL2FwaS93b3Jrc3BhY2V2MWIGcHJvdG8z", [file_google_protobuf_duration, file_google_protobuf_timestamp, file_toshi_workspace_v1_grants, file_toshi_workspace_v1_projects, file_toshi_workspace_v1_recordings]);
12
+ export const file_toshi_workspace_v1_workspace = /*@__PURE__*/ fileDesc("CiJ0b3NoaS93b3Jrc3BhY2UvdjEvd29ya3NwYWNlLnByb3RvEhJ0b3NoaS53b3Jrc3BhY2UudjEi4wMKA0pvYhIKCgJpZBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEjMKBmxhYmVscxgEIAMoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5Kb2IuTGFiZWxzRW50cnkSKQoEc3BlYxgFIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTcGVjEi0KBnN0YXR1cxgGIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTdGF0dXMSNgoJcmVjb3JkaW5nGAcgASgOMiMudG9zaGkud29ya3NwYWNlLnYxLlJlY29yZGluZ1BvbGljeRINCgVhZ2VudBgIIAEoCBIwCgd3YWl0aW5nGAkgAygLMh8udG9zaGkud29ya3NwYWNlLnYxLkFnZW50UHJvbXB0EjQKB25ldHdvcmsYCiABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuV29ya2xvYWROZXR3b3JrEj0KEHJlY29yZGluZ19zb3VyY2UYCyABKA4yIy50b3NoaS53b3Jrc3BhY2UudjEuUmVjb3JkaW5nU291cmNlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi7QQKCUpvYlN0YXR1cxIrCgVzdGF0ZRgBIAEoDjIcLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JTdGF0ZRIxCgplbmRfcmVhc29uGAIgASgOMh0udG9zaGkud29ya3NwYWNlLnYxLkVuZFJlYXNvbhItCgpsYXN0X2Vycm9yGAMgASgLMhkudG9zaGkud29ya3NwYWNlLnYxLkVycm9yEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCXF1ZXVlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWV4aXRfY29kZRgJIAEoBUgAiAEBEg4KBnN0YXR1cxgKIAEoCRISCgpjb25jbHVzaW9uGAsgASgJEjAKDGNvbXBsZXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLYXNzaWduZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXJ1bm5lcl9pZBgOIAEoCRITCgtydW5uZXJfbmFtZRgPIAEoCRIPCgdhdHRlbXB0GBAgASgFQgwKCl9leGl0X2NvZGUi+QEKCkpvYkF0dGVtcHQSDwoHYXR0ZW1wdBgBIAEoBRIRCglydW5uZXJfaWQYAiABKAkSEwoLcnVubmVyX25hbWUYAyABKAkSLwoLYXNzaWduZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY29uY2x1c2lvbhgHIAEoCRILCgNlbmQYCCABKAki1wQKB1NhbmRib3gSCgoCaWQYASABKAkSDwoHcHJvamVjdBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRI3CgZsYWJlbHMYBCADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuU2FuZGJveC5MYWJlbHNFbnRyeRItCgRzcGVjGAUgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLlNhbmRib3hTcGVjEjEKBnN0YXR1cxgGIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94U3RhdHVzEjYKCXJlY29yZGluZxgHIAEoDjIjLnRvc2hpLndvcmtzcGFjZS52MS5SZWNvcmRpbmdQb2xpY3kSDQoFYWdlbnQYCCABKAgSMAoHd2FpdGluZxgJIAMoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5BZ2VudFByb21wdBI0CgduZXR3b3JrGAogASgLMiMudG9zaGkud29ya3NwYWNlLnYxLldvcmtsb2FkTmV0d29yaxIwCgZzaGFyZWQYCyABKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuU2hhcmVkQWNjZXNzEg4KBmpvYl9pZBgMIAEoCRI9ChByZWNvcmRpbmdfc291cmNlGA0gASgOMiMudG9zaGkud29ya3NwYWNlLnYxLlJlY29yZGluZ1NvdXJjZRIgChhyZWNvcmRpbmdfc3RvcHBlZF9yZWFzb24YDiABKAkaLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK3BgoNU2FuZGJveFN0YXR1cxIvCgVzdGF0ZRgBIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94U3RhdGUSMQoKZW5kX3JlYXNvbhgCIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5FbmRSZWFzb24SLQoKbGFzdF9lcnJvchgDIAEoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5FcnJvchIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglxdWV1ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgtzdG9wX3JlYXNvbhgJIAEoDjIeLnRvc2hpLndvcmtzcGFjZS52MS5TdG9wUmVhc29uEjQKCHByZXZpZXdzGAogAygLMiIudG9zaGkud29ya3NwYWNlLnYxLlNhbmRib3hQcmV2aWV3EjYKEnByb2Nlc3Nfc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoJZXhpdF9jb2RlGAwgASgFSACIAQESLgoKc3RvcHBlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoKc3RvcF9jYXVzZRgOIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5TdG9wQ2F1c2USNwoNb3BlcmF0b3JfaG9sZBgPIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5PcGVyYXRvckhvbGQSKwoHaGVsZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMaG9sZF9jb250YWN0GBEgASgJQgwKCl9leGl0X2NvZGUiigQKB1NlcnZpY2USCgoCaWQYASABKAkSDwoHcHJvamVjdBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRI3CgZsYWJlbHMYBCADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZS5MYWJlbHNFbnRyeRItCgRzcGVjGAUgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTcGVjEjEKBnN0YXR1cxgGIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU3RhdHVzEg0KBWFnZW50GAcgASgIEjAKB3dhaXRpbmcYCCADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuQWdlbnRQcm9tcHQSNAoHbmV0d29yaxgJIAEoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5Xb3JrbG9hZE5ldHdvcmsSLgoFaG9sZHMYCiADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUhvbGQSEgoKbWFuYWdlZF9ieRgLIAEoCRIXCg9tYW5pZmVzdF9kaWdlc3QYDCABKAkSFgoObWFuYWdlZF9maWVsZHMYDSADKAkSFwoPbWFuaWZlc3Rfb3JpZ2luGA4gASgJGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi3QEKD1dvcmtsb2FkTmV0d29yaxIwCgZsYXllcnMYASADKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuTmV0d29ya0xheWVyEhAKCGVuZm9yY2VkGAIgASgIEhsKE25vdF9lbmZvcmNlZF9yZWFzb24YAyABKAkSNgoMbGFzdF9kZW5pYWxzGAQgAygLMiAudG9zaGkud29ya3NwYWNlLnYxLkVncmVzc0RlbmlhbBIUCgxlZ3Jlc3NfYnl0ZXMYBSABKAQSGwoTZWdyZXNzX2V4ZW1wdF9ieXRlcxgGIAEoBCJPCgxOZXR3b3JrTGF5ZXISDAoEbmFtZRgBIAEoCRIxCgZwb2xpY3kYAiABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuTmV0d29ya1BvbGljeSKxBgoNU2VydmljZVN0YXR1cxIvCgVzdGF0ZRgBIAEoDjIgLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU3RhdGUSMQoKZW5kX3JlYXNvbhgCIAEoDjIdLnRvc2hpLndvcmtzcGFjZS52MS5FbmRSZWFzb24SLQoKbGFzdF9lcnJvchgDIAEoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5FcnJvchIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglxdWV1ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCghsaXZlX3J1bhgJIAEoCzIeLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlUnVuEjgKDnByb3ZpZGVkX25hbWVzGAogAygLMiAudG9zaGkud29ya3NwYWNlLnYxLlByb3ZpZGVkTmFtZRIdChVwcm92aWRlZF9uYW1lc19yZWFzb24YCyABKAkSMQoGYmFja3VwGAwgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VCYWNrdXASMwoLc3RvcF9yZWFzb24YDSABKA4yHi50b3NoaS53b3Jrc3BhY2UudjEuU3RvcFJlYXNvbhIxCgpzdG9wX2NhdXNlGA4gASgOMh0udG9zaGkud29ya3NwYWNlLnYxLlN0b3BDYXVzZRI3Cg1vcGVyYXRvcl9ob2xkGA8gASgOMiAudG9zaGkud29ya3NwYWNlLnYxLk9wZXJhdG9ySG9sZBIrCgdoZWxkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgxob2xkX2NvbnRhY3QYESABKAkiygEKDVNlcnZpY2VCYWNrdXASEQoJdm9sdW1lX2lkGAEgASgJEhYKDmxhdGVzdF92ZXJzaW9uGAIgASgDEjcKE2xhdGVzdF92ZXJzaW9uX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWxhc3Rfc2F2ZV9mYWlsdXJlGAQgASgJEjoKFmxhc3Rfc2F2ZV9mYWlsdXJlX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi4KDFByb3ZpZGVkTmFtZRIQCghlbmRwb2ludBgBIAEoCRIMCgRob3N0GAIgASgJIvkBCgdKb2JTcGVjEiwKB2NvbW1hbmQYASABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZBItCghiaW5kaW5ncxgCIAMoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5CaW5kaW5nEgwKBHNpemUYAyABKAkSFwoPY29udGFpbmVyX2ltYWdlGAQgASgJEh4KFmNvbnRhaW5lcl9pbWFnZV9kaWdlc3QYBSABKAkSIQoZY29udGFpbmVyX3JlZ2lzdHJ5X3NlY3JldBgGIAEoCRINCgVpbWFnZRgHIAEoCRIYChBpbWFnZV92ZXJzaW9uX2lkGAggASgJIr4BCgdCaW5kaW5nEgwKBG5hbWUYASABKAkSNgoHc2VydmljZRgCIAEoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlRW5kcG9pbnRIABI5CgdzZWNyZXRzGAMgASgLMiYudG9zaGkud29ya3NwYWNlLnYxLkVudmlyb25tZW50U2VjcmV0c0gAEigKBG1haWwYBCABKAsyGC50b3NoaS53b3Jrc3BhY2UudjEuTWFpbEgAQggKBnRhcmdldCI0Cg9TZXJ2aWNlRW5kcG9pbnQSDwoHc2VydmljZRgBIAEoCRIQCghlbmRwb2ludBgCIAEoCSIUChJFbnZpcm9ubWVudFNlY3JldHMiBgoETWFpbCLtAQoMQm91bmRCaW5kaW5nEgwKBG5hbWUYASABKAkSMwoHc2VydmljZRgCIAEoCzIgLnRvc2hpLndvcmtzcGFjZS52MS5Cb3VuZFNlcnZpY2VIABIzCgdzZWNyZXRzGAMgASgLMiAudG9zaGkud29ya3NwYWNlLnYxLkJvdW5kU2VjcmV0c0gAEi0KBG1haWwYBSABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuQm91bmRNYWlsSAASLAoIdGFrZW5fYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBnRhcmdldCKxAQoMQm91bmRTZXJ2aWNlEg8KB3NlcnZpY2UYASABKAkSEgoKc2VydmljZV9pZBgCIAEoCRIQCghyZXZpc2lvbhgDIAEoAxIQCghlbmRwb2ludBgEIAEoCRINCgVzaGFwZRgFIAEoCRIMCgRwb3J0GAYgASgFEhIKCmNyZWRlbnRpYWwYByABKAkSEAoIYXVkaWVuY2UYCCABKAkSFQoNY3JlZGVudGlhbF9pZBgJIAEoCSJICglCb3VuZE1haWwSEgoKY3JlZGVudGlhbBgBIAEoCRIQCghhdWRpZW5jZRgCIAEoCRIVCg1jcmVkZW50aWFsX2lkGAMgASgJIkoKDEJvdW5kU2VjcmV0cxIOCgZzZXRfaWQYASABKAkSKgoEa2V5cxgCIAMoCzIcLnRvc2hpLndvcmtzcGFjZS52MS5Cb3VuZEtleSI5CghCb3VuZEtleRIOCgZzZXRfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIPCgd2ZXJzaW9uGAMgASgDIiAKDlJlcXVlc3ROZXR3b3JrEg4KBmVncmVzcxgBIAMoCSKbBAoLU2FuZGJveFNwZWMSDAoEc2l6ZRgBIAEoCRIvCgxtYXhfZHVyYXRpb24YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLQoIYmluZGluZ3MYAyADKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQmluZGluZxIXCg9zdGF0ZV92b2x1bWVfaWQYBCABKAkSFwoPY29udGFpbmVyX2ltYWdlGAUgASgJEh4KFmNvbnRhaW5lcl9pbWFnZV9kaWdlc3QYBiABKAkSIQoZY29udGFpbmVyX3JlZ2lzdHJ5X3NlY3JldBgHIAEoCRIqCgVzZXR1cBgIIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Db21tYW5kEiwKB3Byb2Nlc3MYCSABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZBINCgVpbWFnZRgKIAEoCRIYChBpbWFnZV92ZXJzaW9uX2lkGAsgASgJEjEKBnNvdXJjZRgMIAEoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5TYW5kYm94U291cmNlEjMKB25ldHdvcmsYDSABKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuUmVxdWVzdE5ldHdvcmsSDwoHa2VlcF92bRgOIAEoCBItCghwcmVfc3RvcBgPIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Db21tYW5kIlQKDVNhbmRib3hTb3VyY2USEgoKY29ubmVjdGlvbhgBIAEoCRISCgpyZXBvc2l0b3J5GAIgASgJEgsKA3JlZhgDIAEoCRIOCgZjb21taXQYBCABKAki0wMKC1NlcnZpY2VTcGVjEgwKBHNpemUYASABKAkSLQoEbW9kZRgCIAEoDjIfLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlTW9kZRIQCghyZXZpc2lvbhgDIAEoAxIMCgRuYW1lGAQgASgJEhAKCHRlbXBsYXRlGAUgASgJEg4KBnJlY2lwZRgGIAEoCRI5CgxzdGF0ZV92b2x1bWUYByABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVWb2x1bWVTcGVjEi0KCGJpbmRpbmdzGAggAygLMhsudG9zaGkud29ya3NwYWNlLnYxLkJpbmRpbmcSEAoIc2xlZXBpbmcYCSABKAgSLwoLYXdha2VfdW50aWwYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh4KFmNvbnRhaW5lcl9pbWFnZV9kaWdlc3QYCyABKAkSNQoIdmlzaXRvcnMYDCABKA4yIy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVZpc2l0b3JzEg8KB2tlZXBfdm0YDSABKAgSMAoKaG9zdF9raW5kcxgOIAMoDjIcLnRvc2hpLndvcmtzcGFjZS52MS5Ib3N0S2luZCIpCg9TdGF0ZVZvbHVtZVNwZWMSFgoOc2l6ZV9jYXBfYnl0ZXMYASABKAMigwEKB0NvbW1hbmQSDAoEYXJndhgBIAMoCRIxCgNlbnYYAiADKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZC5FbnZFbnRyeRILCgNjd2QYAyABKAkaKgoIRW52RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI9Cg5TYW5kYm94UHJldmlldxIQCghlbmRwb2ludBgBIAEoCRIMCgRwb3J0GAIgASgFEgsKA3VybBgDIAEoCSImCgVFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkiOwoGT3V0cHV0Eg4KBnN0ZG91dBgBIAEoDBIOCgZzdGRlcnIYAiABKAwSEQoJdHJ1bmNhdGVkGAMgASgIInQKEldhdGNoT3V0cHV0UmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhUKDXN0ZG91dF9vZmZzZXQYBCABKAMSFQoNc3RkZXJyX29mZnNldBgFIAEoAyJyChNXYXRjaE91dHB1dFJlc3BvbnNlEhAKBnN0ZG91dBgBIAEoDEgAEhAKBnN0ZGVychgCIAEoDEgAEiwKA2VuZBgDIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5PdXRwdXRFbmRIAEIJCgdtZXNzYWdlIlcKCU91dHB1dEVuZBIWCglleGl0X2NvZGUYASABKAVIAIgBARIRCgljYW5jZWxsZWQYAiABKAgSEQoJdHJ1bmNhdGVkGAMgASgIQgwKCl9leGl0X2NvZGUibAoVV2F0Y2hUZWxlbWV0cnlSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSDgoGY3Vyc29yGAQgASgJEhEKCWtlZXBhbGl2ZRgFIAEoCCK/AQoWV2F0Y2hUZWxlbWV0cnlSZXNwb25zZRI1CgZzYW1wbGUYASABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuVGVsZW1ldHJ5U2FtcGxlSAASMgoJa2VlcGFsaXZlGAIgASgLMh0udG9zaGkud29ya3NwYWNlLnYxLktlZXBhbGl2ZUgAEi8KA2VuZBgDIAEoCzIgLnRvc2hpLndvcmtzcGFjZS52MS5UZWxlbWV0cnlFbmRIAEIJCgdtZXNzYWdlIv8CCg9UZWxlbWV0cnlTYW1wbGUSDgoGY3Vyc29yGAEgASgJEiYKAmF0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl3aW5kb3dfbXMYAyABKAUSDgoGY3B1X21zGAQgASgDEhMKC2NwdV93YWl0X21zGAUgASgDEh0KEGd1ZXN0X21lbW9yeV9taWIYBiABKANIAIgBARIXCg9ob3N0X21lbW9yeV9taWIYByABKAMSFwoPZGlza19yZWFkX2J5dGVzGAggASgDEhgKEGRpc2tfd3JpdGVfYnl0ZXMYCSABKAMSGQoMbmV0X3J4X2J5dGVzGAogASgDSAGIAQESGQoMbmV0X3R4X2J5dGVzGAsgASgDSAKIAQESFgoJb29tX2tpbGxzGAwgASgFSAOIAQFCEwoRX2d1ZXN0X21lbW9yeV9taWJCDwoNX25ldF9yeF9ieXRlc0IPCg1fbmV0X3R4X2J5dGVzQgwKCl9vb21fa2lsbHMiDgoMVGVsZW1ldHJ5RW5kIn8KFFdhdGNoR3Vlc3RMb2dSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSDgoGY3Vyc29yGAQgASgJEhEKCWtlZXBhbGl2ZRgFIAEoCBISCgp0YWlsX2J5dGVzGAYgASgDIroBChVXYXRjaEd1ZXN0TG9nUmVzcG9uc2USMgoFY2h1bmsYASABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuR3Vlc3RMb2dDaHVua0gAEjIKCWtlZXBhbGl2ZRgCIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5LZWVwYWxpdmVIABIuCgNlbmQYAyABKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuR3Vlc3RMb2dFbmRIAEIJCgdtZXNzYWdlIkwKDUd1ZXN0TG9nQ2h1bmsSDgoGb2Zmc2V0GAEgASgDEgwKBGRhdGEYAiABKAwSDQoFc3RhcnQYAyABKAkSDgoGY3Vyc29yGAQgASgJIg0KC0d1ZXN0TG9nRW5kInYKDkV4ZWN1dGVSZXF1ZXN0EjEKBXN0YXJ0GAEgASgLMiAudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGVTdGFydEgAEg8KBXN0ZGluGAIgASgMSAASFQoLY2xvc2Vfc3RkaW4YAyABKAhIAEIJCgdtZXNzYWdlIpoBCgxFeGVjdXRlU3RhcnQSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzYW5kYm94X2lkGAMgASgJEiwKB2NvbW1hbmQYBCABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuQ29tbWFuZBITCgtyZXF1ZXN0X2tleRgFIAEoCRINCgVncmFudBgGIAEoCSKsAQoPRXhlY3V0ZVJlc3BvbnNlEjcKB3N0YXJ0ZWQYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuRXhlY3V0aW9uU3RhcnRlZEgAEhAKBnN0ZG91dBgCIAEoDEgAEhAKBnN0ZGVychgDIAEoDEgAEjEKBGV4aXQYBCABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuRXhlY3V0aW9uRXhpdEgAQgkKB21lc3NhZ2UiowEKFUV4ZWN1dGVDb21tYW5kUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNhbmRib3hfaWQYAyABKAkSLAoHY29tbWFuZBgEIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5Db21tYW5kEhMKC3JlcXVlc3Rfa2V5GAUgASgJEg0KBWdyYW50GAYgASgJIrMBChZFeGVjdXRlQ29tbWFuZFJlc3BvbnNlEjcKB3N0YXJ0ZWQYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuRXhlY3V0aW9uU3RhcnRlZEgAEhAKBnN0ZG91dBgCIAEoDEgAEhAKBnN0ZGVychgDIAEoDEgAEjEKBGV4aXQYBCABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuRXhlY3V0aW9uRXhpdEgAQgkKB21lc3NhZ2UiKAoQRXhlY3V0aW9uU3RhcnRlZBIUCgxleGVjdXRpb25faWQYASABKAkiSAoNRXhlY3V0aW9uRXhpdBIWCglleGl0X2NvZGUYASABKAVIAIgBARIRCgljYW5jZWxsZWQYAiABKAhCDAoKX2V4aXRfY29kZSJ4ChZDYW5jZWxFeGVjdXRpb25SZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSFAoMZXhlY3V0aW9uX2lkGAMgASgJEhMKC3JlcXVlc3Rfa2V5GAQgASgJEg0KBWdyYW50GAUgASgJIhkKF0NhbmNlbEV4ZWN1dGlvblJlc3BvbnNlIsEBCglPcGVyYXRpb24SCgoCaWQYASABKAkSEwoLd29ya2xvYWRfaWQYAiABKAkSDAoEZG9uZRgDIAEoCBIoCgVlcnJvchgEIAEoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5FcnJvchIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgdkb25lX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJHChNHZXRPcGVyYXRpb25SZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkiSAoUR2V0T3BlcmF0aW9uUmVzcG9uc2USMAoJb3BlcmF0aW9uGAEgASgLMh0udG9zaGkud29ya3NwYWNlLnYxLk9wZXJhdGlvbiJ0ChRXYWl0T3BlcmF0aW9uUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEioKB3RpbWVvdXQYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24iSQoVV2FpdE9wZXJhdGlvblJlc3BvbnNlEjAKCW9wZXJhdGlvbhgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5PcGVyYXRpb24i9woKBUV2ZW50EgoKAmlkGAEgASgJEisKBHR5cGUYAiABKA4yHS50b3NoaS53b3Jrc3BhY2UudjEuRXZlbnRUeXBlEgwKBG5hbWUYAyABKAkSEwoLd29ya2xvYWRfaWQYBCABKAkSKAoEdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGY3Vyc29yGAYgASgJEiYKA2pvYhgNIAEoCzIXLnRvc2hpLndvcmtzcGFjZS52MS5Kb2JIABIuCgdzYW5kYm94GA4gASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNhbmRib3hIABIuCgdzZXJ2aWNlGA8gASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VIABI3CglleGVjdXRpb24YCCABKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuRXhlY3V0aW9uRXZlbnRIABIzCgdlbWl0dGVkGAkgASgLMiAudG9zaGkud29ya3NwYWNlLnYxLkVtaXR0ZWRFdmVudEgAEjcKCXJlY29yZGluZxgKIAEoCzIiLnRvc2hpLndvcmtzcGFjZS52MS5SZWNvcmRpbmdFdmVudEgAEjkKCmNvbm5lY3Rpb24YESABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuQ29ubmVjdGlvbkV2ZW50SAASQgoPc2VjcmV0X3dpdGhoZWxkGBIgASgLMicudG9zaGkud29ya3NwYWNlLnYxLlNlY3JldFdpdGhoZWxkRXZlbnRIABI0Cgd0cmlnZ2VyGBMgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLlRyaWdnZXJSZXN1bHRIABJJChN1cGdyYWRlX3JvbGxlZF9iYWNrGBQgASgLMioudG9zaGkud29ya3NwYWNlLnYxLlVwZ3JhZGVSb2xsZWRCYWNrRXZlbnRIABI8CgxhZ2VudF9hbnN3ZXIYFSABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuQWdlbnRBbnN3ZXJFdmVudEgAEj4KDWVncmVzc19kZW5pZWQYFiABKAsyJS50b3NoaS53b3Jrc3BhY2UudjEuRWdyZXNzRGVuaWVkRXZlbnRIABI2CgltYWlsX3NlbnQYFyABKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuTWFpbFNlbnRFdmVudEgAEkUKEWtlcHRfdm1fZGlzY2FyZGVkGBggASgLMigudG9zaGkud29ya3NwYWNlLnYxLktlcHRWTURpc2NhcmRlZEV2ZW50SAASPAoMZW5kcG9pbnRfYWNwGBkgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLkVuZHBvaW50QUNQRXZlbnRIABJEChBzZXJ2aWNlX3Jlc3RvcmVkGBogASgLMigudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSZXN0b3JlZEV2ZW50SAASUQoXc2VydmljZV9zbmFwc2hvdF9mYWlsZWQYGyABKAsyLi50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNuYXBzaG90RmFpbGVkRXZlbnRIABJBCg9zZXJ2aWNlX3NpZ25faW4YHCABKAsyJi50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNpZ25JbkV2ZW50SAASOgoLbWFpbF9ub3RpY2UYHSABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuTWFpbE5vdGljZUV2ZW50SAASDwoHcHJvamVjdBgLIAEoCRITCgtlbnZpcm9ubWVudBgMIAEoCRIVCg1jb25uZWN0aW9uX2lkGBAgASgJQgkKB3BheWxvYWRKBAgHEAhSCHdvcmtsb2FkImUKD01haWxOb3RpY2VFdmVudBISCgptZXNzYWdlX2lkGAEgASgJEhsKE3Byb3ZpZGVyX21lc3NhZ2VfaWQYAiABKAkSEQoJcmVjaXBpZW50GAMgASgJEg4KBmRldGFpbBgEIAEoCSI2ChRLZXB0Vk1EaXNjYXJkZWRFdmVudBIOCgZydW5faWQYASABKAkSDgoGcmVhc29uGAIgASgJIswBChRTZXJ2aWNlUmVzdG9yZWRFdmVudBIOCgZydW5faWQYASABKAkSEwoLc25hcHNob3RfaWQYAiABKAkSNQoRc25hcHNob3RfdGFrZW5fYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3Jlc3RvcmVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBInCgRsb3N0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIl4KGlNlcnZpY2VTbmFwc2hvdEZhaWxlZEV2ZW50Eg4KBnJ1bl9pZBgBIAEoCRITCgtzbmFwc2hvdF9pZBgCIAEoCRIMCgRzdGVwGAMgASgJEg0KBWVycm9yGAQgASgJIiUKElNlcnZpY2VTaWduSW5FdmVudBIPCgdwcm9ncmFtGAEgASgJImkKFlVwZ3JhZGVSb2xsZWRCYWNrRXZlbnQSEAoIcmV2aXNpb24YASABKAMSFQoNZnJvbV9yZXZpc2lvbhgCIAEoAxIOCgZyZWFzb24YAyABKAkSFgoOdm9sdW1lX3ZlcnNpb24YBCABKAMibQoTU2VjcmV0V2l0aGhlbGRFdmVudBIOCgZydW5faWQYASABKAkSFAoMZXhlY3V0aW9uX2lkGAIgASgJEjAKBGtleXMYAyADKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuV2l0aGhlbGRTZWNyZXQiPQoOV2l0aGhlbGRTZWNyZXQSDAoEbmFtZRgBIAEoCRINCgVvd25lchgCIAEoCRIOCgZyZWFzb24YAyABKAkiVgoRRWdyZXNzRGVuaWVkRXZlbnQSDgoGcnVuX2lkGAEgASgJEjEKB2RlbmlhbHMYAiADKAsyIC50b3NoaS53b3Jrc3BhY2UudjEuRWdyZXNzRGVuaWFsIpgBCgxFZ3Jlc3NEZW5pYWwSDwoHYWRkcmVzcxgBIAEoCRIQCghwcm90b2NvbBgCIAEoCRIMCgRwb3J0GAMgASgFEg0KBWxheWVyGAQgASgJEg0KBWVudHJ5GAUgASgJEg8KB3BhY2tldHMYBiABKAMSKAoEdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1AEKDVRyaWdnZXJSZXN1bHQSEgoKdHJpZ2dlcl9pZBgBIAEoCRIUCgx0cmlnZ2VyX25hbWUYAiABKAkSCwoDa2V5GAMgASgJEhMKC3dvcmtsb2FkX2lkGAQgASgJEhAKCGV2ZW50X2lkGAUgASgJEgwKBGxpbmsYBiABKAkSDgoGcmVhc29uGAcgASgJEhAKCGhlYWRfc2hhGAggASgJEhYKCWV4aXRfY29kZRgJIAEoBUgAiAEBEg8KB21lc3NhZ2UYCiABKAlCDAoKX2V4aXRfY29kZSJlCg5FeGVjdXRpb25FdmVudBIUCgxleGVjdXRpb25faWQYASABKAkSDAoEYXJndhgCIAMoCRIvCgRleGl0GAMgASgLMiEudG9zaGkud29ya3NwYWNlLnYxLkV4ZWN1dGlvbkV4aXQiHAoMRW1pdHRlZEV2ZW50EgwKBGRhdGEYASABKAwiSgoQQWdlbnRBbnN3ZXJFdmVudBIRCglwcm9tcHRfaWQYASABKAkSDgoGYW5zd2VyGAIgASgJEhMKC2Fuc3dlcmVkX2J5GAMgASgJImUKDU1haWxTZW50RXZlbnQSDwoHYmluZGluZxgBIAEoCRISCgptZXNzYWdlX2lkGAIgASgJEhIKCnJlY2lwaWVudHMYAyABKAUSGwoTcHJvdmlkZXJfbWVzc2FnZV9pZBgEIAEoCSJgChBFbmRwb2ludEFDUEV2ZW50EhAKCGVuZHBvaW50GAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSEQoJdG9vbF9raW5kGAMgASgJEhMKC3N0b3BfcmVhc29uGAQgASgJIpQBCgtBZ2VudFByb21wdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGtpbmQYAyABKAkSDAoEdGV4dBgEIAEoCRIPCgdvcHRpb25zGAUgAygJEhAKCGV2ZW50X2lkGAYgASgJEiwKCGFza2VkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIfCg9Db25uZWN0aW9uRXZlbnQSDAoEZGF0YRgBIAEoDCJsCg5SZWNvcmRpbmdFdmVudBIUCgxyZWNvcmRpbmdfaWQYASABKAkSEwoLYXJ0aWZhY3RfaWQYAiABKAkSLwoEa2luZBgDIAEoDjIhLnRvc2hpLndvcmtzcGFjZS52MS5SZWNvcmRpbmdLaW5kIoQBChFMaXN0RXZlbnRzUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhMKC3dvcmtsb2FkX2lkGAMgASgJEhIKCnBhZ2VfdG9rZW4YBCABKAkSEQoJcGFnZV9zaXplGAUgASgFEg0KBWdyYW50GAYgASgJIn0KEkxpc3RFdmVudHNSZXNwb25zZRIpCgZldmVudHMYASADKAsyGS50b3NoaS53b3Jrc3BhY2UudjEuRXZlbnQSDgoGY3Vyc29yGAIgASgJEhcKD25leHRfcGFnZV90b2tlbhgDIAEoCRITCgt0b3RhbF9ieXRlcxgEIAEoAyJyChJXYXRjaEV2ZW50c1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRITCgt3b3JrbG9hZF9pZBgDIAEoCRIOCgZjdXJzb3IYBCABKAkSEQoJa2VlcGFsaXZlGAUgASgIInEKE1dhdGNoRXZlbnRzUmVzcG9uc2USKAoFZXZlbnQYASABKAsyGS50b3NoaS53b3Jrc3BhY2UudjEuRXZlbnQSMAoJa2VlcGFsaXZlGAIgASgLMh0udG9zaGkud29ya3NwYWNlLnYxLktlZXBhbGl2ZSJICglLZWVwYWxpdmUSKwoHc2VudF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGY3Vyc29yGAIgASgJIqADChBQcmV2aWV3U2hhcmVMaW5rEgoKAmlkGAEgASgJEhIKCnNhbmRib3hfaWQYAiABKAkSOAoFc3RhdGUYAyABKA4yKS50b3NoaS53b3Jrc3BhY2UudjEuUHJldmlld1NoYXJlTGlua1N0YXRlEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCW1heF9ieXRlcxgGIAEoAxISCgp1c2VkX2J5dGVzGAcgASgDEi0KCW9wZW5lZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKcmV2b2tlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCGVuZHBvaW50GAsgASgJEgwKBHBvcnQYDCABKAUizwEKHUNyZWF0ZVByZXZpZXdTaGFyZUxpbmtSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2FuZGJveF9pZBgDIAEoCRItCgpleHBpcmVzX2luGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhEKCW1heF9ieXRlcxgFIAEoAxISCghlbmRwb2ludBgGIAEoCUgAEg4KBHBvcnQYByABKAVIAEIOCgxlbmRwb2ludF9yZWYiZwoeQ3JlYXRlUHJldmlld1NoYXJlTGlua1Jlc3BvbnNlEjgKCnNoYXJlX2xpbmsYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuUHJldmlld1NoYXJlTGluaxILCgN1cmwYAiABKAkifwocTGlzdFByZXZpZXdTaGFyZUxpbmtzUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNhbmRib3hfaWQYAyABKAkSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkicwodTGlzdFByZXZpZXdTaGFyZUxpbmtzUmVzcG9uc2USOQoLc2hhcmVfbGlua3MYASADKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuUHJldmlld1NoYXJlTGluaxIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkicAodUmV2b2tlUHJldmlld1NoYXJlTGlua1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzYW5kYm94X2lkGAMgASgJEhUKDXNoYXJlX2xpbmtfaWQYBCABKAkiWgoeUmV2b2tlUHJldmlld1NoYXJlTGlua1Jlc3BvbnNlEjgKCnNoYXJlX2xpbmsYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuUHJldmlld1NoYXJlTGluayKSAwoQU2VydmljZVNoYXJlTGluaxIKCgJpZBgBIAEoCRISCgpzZXJ2aWNlX2lkGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEjgKBXN0YXRlGAQgASgOMikudG9zaGkud29ya3NwYWNlLnYxLlByZXZpZXdTaGFyZUxpbmtTdGF0ZRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgltYXhfYnl0ZXMYByABKAMSEgoKdXNlZF9ieXRlcxgIIAEoAxItCglvcGVuZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnJldm9rZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKtAQodQ3JlYXRlU2VydmljZVNoYXJlTGlua1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEhAKCGVuZHBvaW50GAQgASgJEi0KCmV4cGlyZXNfaW4YBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J5dGVzGAYgASgDImcKHkNyZWF0ZVNlcnZpY2VTaGFyZUxpbmtSZXNwb25zZRI4CgpzaGFyZV9saW5rGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTaGFyZUxpbmsSCwoDdXJsGAIgASgJIn8KHExpc3RTZXJ2aWNlU2hhcmVMaW5rc1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJInMKHUxpc3RTZXJ2aWNlU2hhcmVMaW5rc1Jlc3BvbnNlEjkKC3NoYXJlX2xpbmtzGAEgAygLMiQudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTaGFyZUxpbmsSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJInAKHVJldm9rZVNlcnZpY2VTaGFyZUxpbmtSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSEgoKc2VydmljZV9pZBgDIAEoCRIVCg1zaGFyZV9saW5rX2lkGAQgASgJIloKHlJldm9rZVNlcnZpY2VTaGFyZUxpbmtSZXNwb25zZRI4CgpzaGFyZV9saW5rGAEgASgLMiQudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTaGFyZUxpbmsiXAoTU3RhcnRTYW5kYm94UmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhMKC3JlcXVlc3Rfa2V5GAQgASgJIkQKFFN0YXJ0U2FuZGJveFJlc3BvbnNlEiwKB3NhbmRib3gYASABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2FuZGJveCJbChJTdG9wU2FuZGJveFJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCSJDChNTdG9wU2FuZGJveFJlc3BvbnNlEiwKB3NhbmRib3gYASABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2FuZGJveCJcChNTdGFydFNlcnZpY2VSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEwoLcmVxdWVzdF9rZXkYBCABKAkiVAoUU3RhcnRTZXJ2aWNlUmVzcG9uc2USLAoHc2VydmljZRgCIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSgQIARACUgh3b3JrbG9hZCJbChJTdG9wU2VydmljZVJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRITCgtyZXF1ZXN0X2tleRgEIAEoCSJTChNTdG9wU2VydmljZVJlc3BvbnNlEiwKB3NlcnZpY2UYAiABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUoECAEQAlIId29ya2xvYWQijQEKFVNldFNlcnZpY2VNb2RlUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEi0KBG1vZGUYBCABKA4yHy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZU1vZGUSEwoLcmVxdWVzdF9rZXkYBSABKAkiVgoWU2V0U2VydmljZU1vZGVSZXNwb25zZRIsCgdzZXJ2aWNlGAIgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VKBAgBEAJSCHdvcmtsb2FkIlsKEldha2VTZXJ2aWNlUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhMKC3JlcXVlc3Rfa2V5GAQgASgJIlMKE1dha2VTZXJ2aWNlUmVzcG9uc2USLAoHc2VydmljZRgCIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSgQIARACUgh3b3JrbG9hZCKAAQoTSG9sZFdvcmtsb2FkUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhMKC3dvcmtsb2FkX2lkGAMgASgJEi4KBGhvbGQYBCABKA4yIC50b3NoaS53b3Jrc3BhY2UudjEuT3BlcmF0b3JIb2xkIhYKFEhvbGRXb3JrbG9hZFJlc3BvbnNlIlMKFlJlbGVhc2VXb3JrbG9hZFJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRITCgt3b3JrbG9hZF9pZBgDIAEoCSIZChdSZWxlYXNlV29ya2xvYWRSZXNwb25zZSKDAQoSSG9sZFNlcnZpY2VSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSJgoDdHRsGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhMKC3JlcXVlc3Rfa2V5GAUgASgJIoIBChNIb2xkU2VydmljZVJlc3BvbnNlEi0KBGhvbGQYAiABKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZUhvbGQSLAoHc2VydmljZRgDIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlSgQIARACUgh3b3JrbG9hZCJNCgtTZXJ2aWNlSG9sZBIOCgZob2xkZXIYASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiXgoVUmVsZWFzZVNlcnZpY2VSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEwoLcmVxdWVzdF9rZXkYBCABKAkiVgoWUmVsZWFzZVNlcnZpY2VSZXNwb25zZRIsCgdzZXJ2aWNlGAIgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VKBAgBEAJSCHdvcmtsb2FkImYKGVN0YXJ0U2VydmljZVNpZ25JblJlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEg8KB3Byb2dyYW0YBCABKAkirwEKGlN0YXJ0U2VydmljZVNpZ25JblJlc3BvbnNlEjsKB3N0YXJ0ZWQYASABKAsyKC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNpZ25JblN0YXJ0ZWRIABIQCgZvdXRwdXQYAiABKAxIABI3CgVlbmRlZBgDIAEoCzImLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlU2lnbkluRW5kZWRIAEIJCgdtZXNzYWdlIlcKFFNlcnZpY2VTaWduSW5TdGFydGVkEhIKCnNpZ25faW5faWQYASABKAkSKwoHZW5kc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAidQoSU2VydmljZVNpZ25JbkVuZGVkEjkKB291dGNvbWUYASABKA4yKC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNpZ25Jbk91dGNvbWUSFgoJZXhpdF9jb2RlGAIgASgFSACIAQFCDAoKX2V4aXRfY29kZSJ4ChpBbnN3ZXJTZXJ2aWNlU2lnbkluUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNlcnZpY2VfaWQYAyABKAkSEgoKc2lnbl9pbl9pZBgEIAEoCRIMCgR0ZXh0GAUgASgJIh0KG0Fuc3dlclNlcnZpY2VTaWduSW5SZXNwb25zZSJqChpDYW5jZWxTZXJ2aWNlU2lnbkluUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEhIKCnNlcnZpY2VfaWQYAyABKAkSEgoKc2lnbl9pbl9pZBgEIAEoCSIdChtDYW5jZWxTZXJ2aWNlU2lnbkluUmVzcG9uc2UiagodR2V0U2VydmljZVNpZ25JblN0YXR1c1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRISCgpzZXJ2aWNlX2lkGAMgASgJEg8KB3Byb2dyYW0YBCABKAkiWwoeR2V0U2VydmljZVNpZ25JblN0YXR1c1Jlc3BvbnNlEjkKCHN0YXR1c2VzGAEgAygLMicudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VTaWduSW5TdGF0dXMiXAoTU2VydmljZVNpZ25JblN0YXR1cxIPCgdwcm9ncmFtGAEgASgJEhEKCXNpZ25lZF9pbhgCIAEoCBIRCglleGl0X2NvZGUYAyABKAUSDgoGb3V0cHV0GAQgASgJInEKFkxpc3RTZXJ2aWNlUnVuc1JlcXVlc3QSDwoHcHJvamVjdBgBIAEoCRITCgtlbnZpcm9ubWVudBgCIAEoCRIKCgJpZBgDIAEoCRIRCglwYWdlX3NpemUYBCABKAUSEgoKcGFnZV90b2tlbhgFIAEoCSJgChdMaXN0U2VydmljZVJ1bnNSZXNwb25zZRIsCgRydW5zGAEgAygLMh4udG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSdW4SFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJInYKG0xpc3RTZXJ2aWNlUmV2aXNpb25zUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJIm8KHExpc3RTZXJ2aWNlUmV2aXNpb25zUmVzcG9uc2USNgoJcmV2aXNpb25zGAEgAygLMiMudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSZXZpc2lvbhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXQoZR2V0U2VydmljZVJldmlzaW9uUmVxdWVzdBIPCgdwcm9qZWN0GAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJEgoKAmlkGAMgASgJEg4KBm51bWJlchgEIAEoAyJTChpHZXRTZXJ2aWNlUmV2aXNpb25SZXNwb25zZRI1CghyZXZpc2lvbhgBIAEoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlUmV2aXNpb24iiwMKD1NlcnZpY2VSZXZpc2lvbhIOCgZudW1iZXIYASABKAMSOQoGcmVhc29uGAIgASgOMikudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSZXZpc2lvblJlYXNvbhIOCgZyZWNpcGUYAyABKAkSDgoGc2VjcmV0GAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2NvbnRhaW5lcl9pbWFnZRgGIAEoCRIeChZjb250YWluZXJfaW1hZ2VfZGlnZXN0GAcgASgJEhAKCGVsaWdpYmxlGAggASgIEhkKEWluZWxpZ2libGVfcmVhc29uGAkgASgJEkIKC2ltYWdlX2NoZWNrGAogASgLMi0udG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSZXZpc2lvbkltYWdlQ2hlY2sSMwoHdXBncmFkZRgLIAEoCzIiLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlVXBncmFkZSKMBAoOU2VydmljZVVwZ3JhZGUSNgoFc3RhdGUYASABKA4yJy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVVwZ3JhZGVTdGF0ZRIVCg1mcm9tX3JldmlzaW9uGAIgASgDEikKBndpbmRvdxgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI1ChF3aW5kb3dfc3RhcnRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoPd2luZG93X2VuZF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg52b2x1bWVfdmVyc2lvbhgGIAEoAxIXCg9yb2xsYmFja19yZWFzb24YByABKAkSLwoLZmluaXNoX3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKFnZvbHVtZV9zYXZlX3N0YXJ0X3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjsKF3ZvbHVtZV9zYXZlX2ZpbmlzaF90aW1lGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIbChN2b2x1bWVfc2F2ZV9tZXNzYWdlGAsgASgJEhwKFGFsbG93X3Vuc2F2ZWRfdm9sdW1lGAwgASgIIq4BChlTZXJ2aWNlUmV2aXNpb25JbWFnZUNoZWNrEkAKB291dGNvbWUYASABKA4yLy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVJldmlzaW9uSW1hZ2VPdXRjb21lEg4KBnN0YXR1cxgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEi4KCmNoZWNrZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIowBChZSb2xsYmFja1NlcnZpY2VSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEAoIcmV2aXNpb24YBCABKAMSGQoRZXhwZWN0ZWRfcmV2aXNpb24YBSABKAMSEwoLcmVxdWVzdF9rZXkYBiABKAkiggEKF1JvbGxiYWNrU2VydmljZVJlc3BvbnNlEiwKB3NlcnZpY2UYASABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZRI5CgphY3RpdmF0aW9uGAIgASgLMiUudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VBY3RpdmF0aW9uIngKHUxpc3RTZXJ2aWNlQWN0aXZhdGlvbnNSZXF1ZXN0Eg8KB3Byb2plY3QYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkSCgoCaWQYAyABKAkSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkidQoeTGlzdFNlcnZpY2VBY3RpdmF0aW9uc1Jlc3BvbnNlEjoKC2FjdGl2YXRpb25zGAEgAygLMiUudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VBY3RpdmF0aW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKBAwoRU2VydmljZUFjdGl2YXRpb24SEAoIc2VxdWVuY2UYASABKAMSNwoEa2luZBgCIAEoDjIpLnRvc2hpLndvcmtzcGFjZS52MS5TZXJ2aWNlQWN0aXZhdGlvbktpbmQSDQoFYWN0b3IYAyABKAkSEwoLcmVxdWVzdF9rZXkYBCABKAkSFQoNZnJvbV9yZXZpc2lvbhgFIAEoAxITCgt0b19yZXZpc2lvbhgGIAEoAxIwCgxyZXF1ZXN0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnJ1bl9pZBgIIAEoCRI9CgdvdXRjb21lGAkgASgOMiwudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VBY3RpdmF0aW9uT3V0Y29tZRINCgVlcnJvchgKIAEoCRJBCg9zZWNyZXRfdmVyc2lvbnMYCyADKAsyKC50b3NoaS53b3Jrc3BhY2UudjEuU2VydmljZVNlY3JldFZlcnNpb24iNQoUU2VydmljZVNlY3JldFZlcnNpb24SDAoEbmFtZRgBIAEoCRIPCgd2ZXJzaW9uGAIgASgDIvMCCgpTZXJ2aWNlUnVuEgoKAmlkGAEgASgJEhAKCHJldmlzaW9uGAIgASgDEjIKBXN0YXRlGAMgASgOMiMudG9zaGkud29ya3NwYWNlLnYxLlNlcnZpY2VSdW5TdGF0ZRIMCgRoZWxkGAQgASgJEi0KCXF1ZXVlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIcmVhZHlfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCglleGl0X2NvZGUYCSABKAVIAIgBARINCgVlcnJvchgKIAEoCRIVCg1yZXN0b3JlZF9mcm9tGAsgASgJQgwKCl9leGl0X2NvZGUqnAEKCUVuZFJlYXNvbhIaChZFTkRfUkVBU09OX1VOU1BFQ0lGSUVEEAASFQoRRU5EX1JFQVNPTl9FWElURUQQARIWChJFTkRfUkVBU09OX1NUT1BQRUQQAhIYChRFTkRfUkVBU09OX0NBTkNFTExFRBADEhUKEUVORF9SRUFTT05fRkFJTEVEEAQSEwoPRU5EX1JFQVNPTl9MT1NUEAUq7QEKClN0b3BSZWFzb24SGwoXU1RPUF9SRUFTT05fVU5TUEVDSUZJRUQQABIVChFTVE9QX1JFQVNPTl9PV05FUhABEhwKGFNUT1BfUkVBU09OX01BWF9EVVJBVElPThACEhkKFVNUT1BfUkVBU09OX1NQRU5EX0NBUBADEiAKHFNUT1BfUkVBU09OX1RFTkFOVF9TVVNQRU5ERUQQBBIeChpTVE9QX1JFQVNPTl9URU5BTlRfREVMRVRFRBAFEhgKFFNUT1BfUkVBU09OX09QRVJBVE9SEAYSFgoSU1RPUF9SRUFTT05fUE9MSUNZEAcqygEKCVN0b3BDYXVzZRIaChZTVE9QX0NBVVNFX1VOU1BFQ0lGSUVEEAASGAoUU1RPUF9DQVVTRV9FWEVDX1JBVEUQARIeChpTVE9QX0NBVVNFX0NPTk5FQ1RJT05fUkFURRACEhsKF1NUT1BfQ0FVU0VfUkVRVUVTVF9SQVRFEAMSFQoRU1RPUF9DQVVTRV9NSU5JTkcQBBIXChNTVE9QX0NBVVNFX09QRVJBVE9SEAUSGgoWU1RPUF9DQVVTRV9SVU5ORVJfU1dBUBAGKnMKDE9wZXJhdG9ySG9sZBIdChlPUEVSQVRPUl9IT0xEX1VOU1BFQ0lGSUVEEAASIQodT1BFUkFUT1JfSE9MRF9BQlVTRV9TVVNQRUNURUQQARIhCh1PUEVSQVRPUl9IT0xEX0FCVVNFX0NPTkZJUk1FRBACKn4KCEpvYlN0YXRlEhkKFUpPQl9TVEFURV9VTlNQRUNJRklFRBAAEhUKEUpPQl9TVEFURV9DUkVBVEVEEAESFAoQSk9CX1NUQVRFX1FVRVVFRBACEhUKEUpPQl9TVEFURV9SVU5OSU5HEAMSEwoPSk9CX1NUQVRFX0VOREVEEAQqlgEKDFNhbmRib3hTdGF0ZRIdChlTQU5EQk9YX1NUQVRFX1VOU1BFQ0lGSUVEEAASGQoVU0FOREJPWF9TVEFURV9DUkVBVEVEEAESGAoUU0FOREJPWF9TVEFURV9RVUVVRUQQAhIZChVTQU5EQk9YX1NUQVRFX1JVTk5JTkcQAxIXChNTQU5EQk9YX1NUQVRFX0VOREVEEAQqlgEKDFNlcnZpY2VTdGF0ZRIdChlTRVJWSUNFX1NUQVRFX1VOU1BFQ0lGSUVEEAASGQoVU0VSVklDRV9TVEFURV9DUkVBVEVEEAESGAoUU0VSVklDRV9TVEFURV9RVUVVRUQQAhIZChVTRVJWSUNFX1NUQVRFX1JVTk5JTkcQAxIXChNTRVJWSUNFX1NUQVRFX0VOREVEEAQqhQEKD1JlY29yZGluZ1BvbGljeRIgChxSRUNPUkRJTkdfUE9MSUNZX1VOU1BFQ0lGSUVEEAASGAoUUkVDT1JESU5HX1BPTElDWV9PRkYQARIaChZSRUNPUkRJTkdfUE9MSUNZX1NUUklQEAISGgoWUkVDT1JESU5HX1BPTElDWV9WSURFTxADKpABCg9SZWNvcmRpbmdTb3VyY2USIAocUkVDT1JESU5HX1NPVVJDRV9VTlNQRUNJRklFRBAAEhwKGFJFQ09SRElOR19TT1VSQ0VfUkVRVUVTVBABEhkKFVJFQ09SRElOR19TT1VSQ0VfUExBThACEiIKHlJFQ09SRElOR19TT1VSQ0VfV09SS1NQQUNFX09GRhADKmMKCEhvc3RLaW5kEhkKFUhPU1RfS0lORF9VTlNQRUNJRklFRBAAEhQKEEhPU1RfS0lORF9TSEFSRUQQARIRCg1IT1NUX0tJTkRfT1dOEAISEwoPSE9TVF9LSU5EX0NMT1VEEAMqagoPU2VydmljZVZpc2l0b3JzEiAKHFNFUlZJQ0VfVklTSVRPUlNfVU5TUEVDSUZJRUQQABIaChZTRVJWSUNFX1ZJU0lUT1JTX0dBVEVEEAESGQoVU0VSVklDRV9WSVNJVE9SU19PUEVOEAIqYwoLU2VydmljZU1vZGUSHAoYU0VSVklDRV9NT0RFX1VOU1BFQ0lGSUVEEAASGgoWU0VSVklDRV9NT0RFX0FMV0FZU19PThABEhoKFlNFUlZJQ0VfTU9ERV9PTl9ERU1BTkQQAir/BgoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1dPUktMT0FEX0NSRUFURUQQARIlCiFFVkVOVF9UWVBFX1dPUktMT0FEX1NUQVRFX0NIQU5HRUQQAhIfChtFVkVOVF9UWVBFX1dPUktMT0FEX1VQREFURUQQAxIfChtFVkVOVF9UWVBFX1dPUktMT0FEX0RFTEVURUQQBBIgChxFVkVOVF9UWVBFX0VYRUNVVElPTl9TVEFSVEVEEAUSHgoaRVZFTlRfVFlQRV9FWEVDVVRJT05fRU5ERUQQBhIWChJFVkVOVF9UWVBFX0VNSVRURUQQBxIeChpFVkVOVF9UWVBFX1JFQ09SRElOR19SRUFEWRAIEhkKFUVWRU5UX1RZUEVfQ09OTkVDVElPThAJEh4KGkVWRU5UX1RZUEVfU0VDUkVUX1dJVEhIRUxEEAoSHAoYRVZFTlRfVFlQRV9UUklHR0VSX1JFQURZEAsSHQoZRVZFTlRfVFlQRV9UUklHR0VSX0ZBSUxFRBAMEh4KGkVWRU5UX1RZUEVfVFJJR0dFUl9SRU1PVkVEEA0SIgoeRVZFTlRfVFlQRV9VUEdSQURFX1JPTExFRF9CQUNLEA4SHQoZRVZFTlRfVFlQRV9BR0VOVF9BTlNXRVJFRBAPEhwKGEVWRU5UX1RZUEVfRUdSRVNTX0RFTklFRBAQEhgKFEVWRU5UX1RZUEVfTUFJTF9TRU5UEBESIAocRVZFTlRfVFlQRV9LRVBUX1ZNX0RJU0NBUkRFRBASEjAKLEVWRU5UX1RZUEVfRU5EUE9JTlRfQUNQX1BFUk1JU1NJT05fUkVRVUVTVEVEEBMSJgoiRVZFTlRfVFlQRV9FTkRQT0lOVF9BQ1BfVFVSTl9FTkRFRBAUEh8KG0VWRU5UX1RZUEVfU0VSVklDRV9SRVNUT1JFRBAVEiYKIkVWRU5UX1RZUEVfU0VSVklDRV9TTkFQU0hPVF9GQUlMRUQQFhIdChlFVkVOVF9UWVBFX1NFUlZJQ0VfU0lHTklOEBcSHgoaRVZFTlRfVFlQRV9TRVJWSUNFX1NJR05PVVQQGBIbChdFVkVOVF9UWVBFX01BSUxfQk9VTkNFRBAZEh4KGkVWRU5UX1RZUEVfTUFJTF9DT01QTEFJTkVEEBoq+QEKFVByZXZpZXdTaGFyZUxpbmtTdGF0ZRIoCiRQUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfVU5TUEVDSUZJRUQQABIhCh1QUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfT1BFThABEiMKH1BSRVZJRVdfU0hBUkVfTElOS19TVEFURV9JTl9VU0UQAhIkCiBQUkVWSUVXX1NIQVJFX0xJTktfU1RBVEVfUkVWT0tFRBADEiIKHlBSRVZJRVdfU0hBUkVfTElOS19TVEFURV9FTkRFRBAEEiQKIFBSRVZJRVdfU0hBUkVfTElOS19TVEFURV9FWFBJUkVEEAUq2AEKFFNlcnZpY2VTaWduSW5PdXRjb21lEicKI1NFUlZJQ0VfU0lHTl9JTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASJQohU0VSVklDRV9TSUdOX0lOX09VVENPTUVfU0lHTkVEX0lOEAESIgoeU0VSVklDRV9TSUdOX0lOX09VVENPTUVfRkFJTEVEEAISJQohU0VSVklDRV9TSUdOX0lOX09VVENPTUVfQ0FOQ0VMTEVEEAMSJQohU0VSVklDRV9TSUdOX0lOX09VVENPTUVfVElNRURfT1VUEAQqlAIKE1NlcnZpY2VVcGdyYWRlU3RhdGUSJQohU0VSVklDRV9VUEdSQURFX1NUQVRFX1VOU1BFQ0lGSUVEEAASIgoeU0VSVklDRV9VUEdSQURFX1NUQVRFX1dBVENISU5HEAESIAocU0VSVklDRV9VUEdSQURFX1NUQVRFX1BBU1NFRBACEiYKIlNFUlZJQ0VfVVBHUkFERV9TVEFURV9ST0xMSU5HX0JBQ0sQAxIlCiFTRVJWSUNFX1VQR1JBREVfU1RBVEVfUk9MTEVEX0JBQ0sQBBIfChtTRVJWSUNFX1VQR1JBREVfU1RBVEVfRU5ERUQQBRIgChxTRVJWSUNFX1VQR1JBREVfU1RBVEVfU0FWSU5HEAYq2AEKG1NlcnZpY2VSZXZpc2lvbkltYWdlT3V0Y29tZRIuCipTRVJWSUNFX1JFVklTSU9OX0lNQUdFX09VVENPTUVfVU5TUEVDSUZJRUQQABIpCiVTRVJWSUNFX1JFVklTSU9OX0lNQUdFX09VVENPTUVfU0VSVkVEEAESLQopU0VSVklDRV9SRVZJU0lPTl9JTUFHRV9PVVRDT01FX05PVF9TRVJWRUQQAhIvCitTRVJWSUNFX1JFVklTSU9OX0lNQUdFX09VVENPTUVfQ0hFQ0tfRkFJTEVEEAMqiAEKFVNlcnZpY2VSZXZpc2lvblJlYXNvbhInCiNTRVJWSUNFX1JFVklTSU9OX1JFQVNPTl9VTlNQRUNJRklFRBAAEiIKHlNFUlZJQ0VfUkVWSVNJT05fUkVBU09OX0RFUExPWRABEiIKHlNFUlZJQ0VfUkVWSVNJT05fUkVBU09OX1NFQ1JFVBACKq4BChVTZXJ2aWNlQWN0aXZhdGlvbktpbmQSJwojU0VSVklDRV9BQ1RJVkFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIiCh5TRVJWSUNFX0FDVElWQVRJT05fS0lORF9DUkVBVEUQARIiCh5TRVJWSUNFX0FDVElWQVRJT05fS0lORF9ERVBMT1kQAhIkCiBTRVJWSUNFX0FDVElWQVRJT05fS0lORF9ST0xMQkFDSxADKuEBChhTZXJ2aWNlQWN0aXZhdGlvbk91dGNvbWUSKgomU0VSVklDRV9BQ1RJVkFUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABInCiNTRVJWSUNFX0FDVElWQVRJT05fT1VUQ09NRV9TRUxFQ1RFRBABEiQKIFNFUlZJQ0VfQUNUSVZBVElPTl9PVVRDT01FX1JFQURZEAISJQohU0VSVklDRV9BQ1RJVkFUSU9OX09VVENPTUVfRkFJTEVEEAMSIwofU0VSVklDRV9BQ1RJVkFUSU9OX09VVENPTUVfSEVMRBAEKqwCCg9TZXJ2aWNlUnVuU3RhdGUSIQodU0VSVklDRV9SVU5fU1RBVEVfVU5TUEVDSUZJRUQQABIcChhTRVJWSUNFX1JVTl9TVEFURV9RVUVVRUQQARIeChpTRVJWSUNFX1JVTl9TVEFURV9TVEFSVElORxACEh0KGVNFUlZJQ0VfUlVOX1NUQVRFX1JVTk5JTkcQAxIeChpTRVJWSUNFX1JVTl9TVEFURV9TVE9QUElORxAEEh8KG1NFUlZJQ0VfUlVOX1NUQVRFX0NPTVBMRVRFRBAFEhwKGFNFUlZJQ0VfUlVOX1NUQVRFX0ZBSUxFRBAGEh0KGVNFUlZJQ0VfUlVOX1NUQVRFX1NUT1BQRUQQBxIbChdTRVJWSUNFX1JVTl9TVEFURV9TTEVQVBAIQiJaIGdvLnRvc2hpY2xvdWQuaW8vYXBpL3dvcmtzcGFjZXYxYgZwcm90bzM", [file_google_protobuf_duration, file_google_protobuf_timestamp, file_toshi_workspace_v1_grants, file_toshi_workspace_v1_projects, file_toshi_workspace_v1_recordings]);
13
13
  /**
14
14
  * Describes the message toshi.workspace.v1.Job.
15
15
  * Use `create(JobSchema)` to create a new message.
@@ -76,10 +76,10 @@ export const JobSpecSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_w
76
76
  */
77
77
  export const BindingSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 12);
78
78
  /**
79
- * Describes the message toshi.workspace.v1.ServiceChannel.
80
- * Use `create(ServiceChannelSchema)` to create a new message.
79
+ * Describes the message toshi.workspace.v1.ServiceEndpoint.
80
+ * Use `create(ServiceEndpointSchema)` to create a new message.
81
81
  */
82
- export const ServiceChannelSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 13);
82
+ export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 13);
83
83
  /**
84
84
  * Describes the message toshi.workspace.v1.EnvironmentSecrets.
85
85
  * Use `create(EnvironmentSecretsSchema)` to create a new message.
@@ -290,411 +290,436 @@ export const WaitOperationResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_
290
290
  * Use `create(EventSchema)` to create a new message.
291
291
  */
292
292
  export const EventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 55);
293
+ /**
294
+ * Describes the message toshi.workspace.v1.MailNoticeEvent.
295
+ * Use `create(MailNoticeEventSchema)` to create a new message.
296
+ */
297
+ export const MailNoticeEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 56);
293
298
  /**
294
299
  * Describes the message toshi.workspace.v1.KeptVMDiscardedEvent.
295
300
  * Use `create(KeptVMDiscardedEventSchema)` to create a new message.
296
301
  */
297
- export const KeptVMDiscardedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 56);
302
+ export const KeptVMDiscardedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 57);
303
+ /**
304
+ * Describes the message toshi.workspace.v1.ServiceRestoredEvent.
305
+ * Use `create(ServiceRestoredEventSchema)` to create a new message.
306
+ */
307
+ export const ServiceRestoredEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 58);
308
+ /**
309
+ * Describes the message toshi.workspace.v1.ServiceSnapshotFailedEvent.
310
+ * Use `create(ServiceSnapshotFailedEventSchema)` to create a new message.
311
+ */
312
+ export const ServiceSnapshotFailedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 59);
313
+ /**
314
+ * Describes the message toshi.workspace.v1.ServiceSignInEvent.
315
+ * Use `create(ServiceSignInEventSchema)` to create a new message.
316
+ */
317
+ export const ServiceSignInEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 60);
298
318
  /**
299
319
  * Describes the message toshi.workspace.v1.UpgradeRolledBackEvent.
300
320
  * Use `create(UpgradeRolledBackEventSchema)` to create a new message.
301
321
  */
302
- export const UpgradeRolledBackEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 57);
322
+ export const UpgradeRolledBackEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 61);
303
323
  /**
304
324
  * Describes the message toshi.workspace.v1.SecretWithheldEvent.
305
325
  * Use `create(SecretWithheldEventSchema)` to create a new message.
306
326
  */
307
- export const SecretWithheldEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 58);
327
+ export const SecretWithheldEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 62);
308
328
  /**
309
329
  * Describes the message toshi.workspace.v1.WithheldSecret.
310
330
  * Use `create(WithheldSecretSchema)` to create a new message.
311
331
  */
312
- export const WithheldSecretSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 59);
332
+ export const WithheldSecretSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 63);
313
333
  /**
314
334
  * Describes the message toshi.workspace.v1.EgressDeniedEvent.
315
335
  * Use `create(EgressDeniedEventSchema)` to create a new message.
316
336
  */
317
- export const EgressDeniedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 60);
337
+ export const EgressDeniedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 64);
318
338
  /**
319
339
  * Describes the message toshi.workspace.v1.EgressDenial.
320
340
  * Use `create(EgressDenialSchema)` to create a new message.
321
341
  */
322
- export const EgressDenialSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 61);
342
+ export const EgressDenialSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 65);
323
343
  /**
324
344
  * Describes the message toshi.workspace.v1.TriggerResult.
325
345
  * Use `create(TriggerResultSchema)` to create a new message.
326
346
  */
327
- export const TriggerResultSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 62);
347
+ export const TriggerResultSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 66);
328
348
  /**
329
349
  * Describes the message toshi.workspace.v1.ExecutionEvent.
330
350
  * Use `create(ExecutionEventSchema)` to create a new message.
331
351
  */
332
- export const ExecutionEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 63);
352
+ export const ExecutionEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 67);
333
353
  /**
334
354
  * Describes the message toshi.workspace.v1.EmittedEvent.
335
355
  * Use `create(EmittedEventSchema)` to create a new message.
336
356
  */
337
- export const EmittedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 64);
357
+ export const EmittedEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 68);
338
358
  /**
339
359
  * Describes the message toshi.workspace.v1.AgentAnswerEvent.
340
360
  * Use `create(AgentAnswerEventSchema)` to create a new message.
341
361
  */
342
- export const AgentAnswerEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 65);
362
+ export const AgentAnswerEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 69);
343
363
  /**
344
364
  * Describes the message toshi.workspace.v1.MailSentEvent.
345
365
  * Use `create(MailSentEventSchema)` to create a new message.
346
366
  */
347
- export const MailSentEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 66);
367
+ export const MailSentEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 70);
368
+ /**
369
+ * Describes the message toshi.workspace.v1.EndpointACPEvent.
370
+ * Use `create(EndpointACPEventSchema)` to create a new message.
371
+ */
372
+ export const EndpointACPEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 71);
348
373
  /**
349
374
  * Describes the message toshi.workspace.v1.AgentPrompt.
350
375
  * Use `create(AgentPromptSchema)` to create a new message.
351
376
  */
352
- export const AgentPromptSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 67);
377
+ export const AgentPromptSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 72);
353
378
  /**
354
379
  * Describes the message toshi.workspace.v1.ConnectionEvent.
355
380
  * Use `create(ConnectionEventSchema)` to create a new message.
356
381
  */
357
- export const ConnectionEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 68);
382
+ export const ConnectionEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 73);
358
383
  /**
359
384
  * Describes the message toshi.workspace.v1.RecordingEvent.
360
385
  * Use `create(RecordingEventSchema)` to create a new message.
361
386
  */
362
- export const RecordingEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 69);
387
+ export const RecordingEventSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 74);
363
388
  /**
364
389
  * Describes the message toshi.workspace.v1.ListEventsRequest.
365
390
  * Use `create(ListEventsRequestSchema)` to create a new message.
366
391
  */
367
- export const ListEventsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 70);
392
+ export const ListEventsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 75);
368
393
  /**
369
394
  * Describes the message toshi.workspace.v1.ListEventsResponse.
370
395
  * Use `create(ListEventsResponseSchema)` to create a new message.
371
396
  */
372
- export const ListEventsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 71);
397
+ export const ListEventsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 76);
373
398
  /**
374
399
  * Describes the message toshi.workspace.v1.WatchEventsRequest.
375
400
  * Use `create(WatchEventsRequestSchema)` to create a new message.
376
401
  */
377
- export const WatchEventsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 72);
402
+ export const WatchEventsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 77);
378
403
  /**
379
404
  * Describes the message toshi.workspace.v1.WatchEventsResponse.
380
405
  * Use `create(WatchEventsResponseSchema)` to create a new message.
381
406
  */
382
- export const WatchEventsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 73);
407
+ export const WatchEventsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 78);
383
408
  /**
384
409
  * Describes the message toshi.workspace.v1.Keepalive.
385
410
  * Use `create(KeepaliveSchema)` to create a new message.
386
411
  */
387
- export const KeepaliveSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 74);
412
+ export const KeepaliveSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 79);
388
413
  /**
389
414
  * Describes the message toshi.workspace.v1.PreviewShareLink.
390
415
  * Use `create(PreviewShareLinkSchema)` to create a new message.
391
416
  */
392
- export const PreviewShareLinkSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 75);
417
+ export const PreviewShareLinkSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 80);
393
418
  /**
394
419
  * Describes the message toshi.workspace.v1.CreatePreviewShareLinkRequest.
395
420
  * Use `create(CreatePreviewShareLinkRequestSchema)` to create a new message.
396
421
  */
397
- export const CreatePreviewShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 76);
422
+ export const CreatePreviewShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 81);
398
423
  /**
399
424
  * Describes the message toshi.workspace.v1.CreatePreviewShareLinkResponse.
400
425
  * Use `create(CreatePreviewShareLinkResponseSchema)` to create a new message.
401
426
  */
402
- export const CreatePreviewShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 77);
427
+ export const CreatePreviewShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 82);
403
428
  /**
404
429
  * Describes the message toshi.workspace.v1.ListPreviewShareLinksRequest.
405
430
  * Use `create(ListPreviewShareLinksRequestSchema)` to create a new message.
406
431
  */
407
- export const ListPreviewShareLinksRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 78);
432
+ export const ListPreviewShareLinksRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 83);
408
433
  /**
409
434
  * Describes the message toshi.workspace.v1.ListPreviewShareLinksResponse.
410
435
  * Use `create(ListPreviewShareLinksResponseSchema)` to create a new message.
411
436
  */
412
- export const ListPreviewShareLinksResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 79);
437
+ export const ListPreviewShareLinksResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 84);
413
438
  /**
414
439
  * Describes the message toshi.workspace.v1.RevokePreviewShareLinkRequest.
415
440
  * Use `create(RevokePreviewShareLinkRequestSchema)` to create a new message.
416
441
  */
417
- export const RevokePreviewShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 80);
442
+ export const RevokePreviewShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 85);
418
443
  /**
419
444
  * Describes the message toshi.workspace.v1.RevokePreviewShareLinkResponse.
420
445
  * Use `create(RevokePreviewShareLinkResponseSchema)` to create a new message.
421
446
  */
422
- export const RevokePreviewShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 81);
447
+ export const RevokePreviewShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 86);
423
448
  /**
424
449
  * Describes the message toshi.workspace.v1.ServiceShareLink.
425
450
  * Use `create(ServiceShareLinkSchema)` to create a new message.
426
451
  */
427
- export const ServiceShareLinkSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 82);
452
+ export const ServiceShareLinkSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 87);
428
453
  /**
429
454
  * Describes the message toshi.workspace.v1.CreateServiceShareLinkRequest.
430
455
  * Use `create(CreateServiceShareLinkRequestSchema)` to create a new message.
431
456
  */
432
- export const CreateServiceShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 83);
457
+ export const CreateServiceShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 88);
433
458
  /**
434
459
  * Describes the message toshi.workspace.v1.CreateServiceShareLinkResponse.
435
460
  * Use `create(CreateServiceShareLinkResponseSchema)` to create a new message.
436
461
  */
437
- export const CreateServiceShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 84);
462
+ export const CreateServiceShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 89);
438
463
  /**
439
464
  * Describes the message toshi.workspace.v1.ListServiceShareLinksRequest.
440
465
  * Use `create(ListServiceShareLinksRequestSchema)` to create a new message.
441
466
  */
442
- export const ListServiceShareLinksRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 85);
467
+ export const ListServiceShareLinksRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 90);
443
468
  /**
444
469
  * Describes the message toshi.workspace.v1.ListServiceShareLinksResponse.
445
470
  * Use `create(ListServiceShareLinksResponseSchema)` to create a new message.
446
471
  */
447
- export const ListServiceShareLinksResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 86);
472
+ export const ListServiceShareLinksResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 91);
448
473
  /**
449
474
  * Describes the message toshi.workspace.v1.RevokeServiceShareLinkRequest.
450
475
  * Use `create(RevokeServiceShareLinkRequestSchema)` to create a new message.
451
476
  */
452
- export const RevokeServiceShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 87);
477
+ export const RevokeServiceShareLinkRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 92);
453
478
  /**
454
479
  * Describes the message toshi.workspace.v1.RevokeServiceShareLinkResponse.
455
480
  * Use `create(RevokeServiceShareLinkResponseSchema)` to create a new message.
456
481
  */
457
- export const RevokeServiceShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 88);
482
+ export const RevokeServiceShareLinkResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 93);
458
483
  /**
459
484
  * Describes the message toshi.workspace.v1.StartSandboxRequest.
460
485
  * Use `create(StartSandboxRequestSchema)` to create a new message.
461
486
  */
462
- export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 89);
487
+ export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 94);
463
488
  /**
464
489
  * Describes the message toshi.workspace.v1.StartSandboxResponse.
465
490
  * Use `create(StartSandboxResponseSchema)` to create a new message.
466
491
  */
467
- export const StartSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 90);
492
+ export const StartSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 95);
468
493
  /**
469
494
  * Describes the message toshi.workspace.v1.StopSandboxRequest.
470
495
  * Use `create(StopSandboxRequestSchema)` to create a new message.
471
496
  */
472
- export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 91);
497
+ export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 96);
473
498
  /**
474
499
  * Describes the message toshi.workspace.v1.StopSandboxResponse.
475
500
  * Use `create(StopSandboxResponseSchema)` to create a new message.
476
501
  */
477
- export const StopSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 92);
502
+ export const StopSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 97);
478
503
  /**
479
504
  * Describes the message toshi.workspace.v1.StartServiceRequest.
480
505
  * Use `create(StartServiceRequestSchema)` to create a new message.
481
506
  */
482
- export const StartServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 93);
507
+ export const StartServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 98);
483
508
  /**
484
509
  * Describes the message toshi.workspace.v1.StartServiceResponse.
485
510
  * Use `create(StartServiceResponseSchema)` to create a new message.
486
511
  */
487
- export const StartServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 94);
512
+ export const StartServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 99);
488
513
  /**
489
514
  * Describes the message toshi.workspace.v1.StopServiceRequest.
490
515
  * Use `create(StopServiceRequestSchema)` to create a new message.
491
516
  */
492
- export const StopServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 95);
517
+ export const StopServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 100);
493
518
  /**
494
519
  * Describes the message toshi.workspace.v1.StopServiceResponse.
495
520
  * Use `create(StopServiceResponseSchema)` to create a new message.
496
521
  */
497
- export const StopServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 96);
522
+ export const StopServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 101);
498
523
  /**
499
524
  * Describes the message toshi.workspace.v1.SetServiceModeRequest.
500
525
  * Use `create(SetServiceModeRequestSchema)` to create a new message.
501
526
  */
502
- export const SetServiceModeRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 97);
527
+ export const SetServiceModeRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 102);
503
528
  /**
504
529
  * Describes the message toshi.workspace.v1.SetServiceModeResponse.
505
530
  * Use `create(SetServiceModeResponseSchema)` to create a new message.
506
531
  */
507
- export const SetServiceModeResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 98);
532
+ export const SetServiceModeResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 103);
508
533
  /**
509
534
  * Describes the message toshi.workspace.v1.WakeServiceRequest.
510
535
  * Use `create(WakeServiceRequestSchema)` to create a new message.
511
536
  */
512
- export const WakeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 99);
537
+ export const WakeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 104);
513
538
  /**
514
539
  * Describes the message toshi.workspace.v1.WakeServiceResponse.
515
540
  * Use `create(WakeServiceResponseSchema)` to create a new message.
516
541
  */
517
- export const WakeServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 100);
542
+ export const WakeServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 105);
518
543
  /**
519
544
  * Describes the message toshi.workspace.v1.HoldWorkloadRequest.
520
545
  * Use `create(HoldWorkloadRequestSchema)` to create a new message.
521
546
  */
522
- export const HoldWorkloadRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 101);
547
+ export const HoldWorkloadRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 106);
523
548
  /**
524
549
  * Describes the message toshi.workspace.v1.HoldWorkloadResponse.
525
550
  * Use `create(HoldWorkloadResponseSchema)` to create a new message.
526
551
  */
527
- export const HoldWorkloadResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 102);
552
+ export const HoldWorkloadResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 107);
528
553
  /**
529
554
  * Describes the message toshi.workspace.v1.ReleaseWorkloadRequest.
530
555
  * Use `create(ReleaseWorkloadRequestSchema)` to create a new message.
531
556
  */
532
- export const ReleaseWorkloadRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 103);
557
+ export const ReleaseWorkloadRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 108);
533
558
  /**
534
559
  * Describes the message toshi.workspace.v1.ReleaseWorkloadResponse.
535
560
  * Use `create(ReleaseWorkloadResponseSchema)` to create a new message.
536
561
  */
537
- export const ReleaseWorkloadResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 104);
562
+ export const ReleaseWorkloadResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 109);
538
563
  /**
539
564
  * Describes the message toshi.workspace.v1.HoldServiceRequest.
540
565
  * Use `create(HoldServiceRequestSchema)` to create a new message.
541
566
  */
542
- export const HoldServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 105);
567
+ export const HoldServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 110);
543
568
  /**
544
569
  * Describes the message toshi.workspace.v1.HoldServiceResponse.
545
570
  * Use `create(HoldServiceResponseSchema)` to create a new message.
546
571
  */
547
- export const HoldServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 106);
572
+ export const HoldServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 111);
548
573
  /**
549
574
  * Describes the message toshi.workspace.v1.ServiceHold.
550
575
  * Use `create(ServiceHoldSchema)` to create a new message.
551
576
  */
552
- export const ServiceHoldSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 107);
577
+ export const ServiceHoldSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 112);
553
578
  /**
554
579
  * Describes the message toshi.workspace.v1.ReleaseServiceRequest.
555
580
  * Use `create(ReleaseServiceRequestSchema)` to create a new message.
556
581
  */
557
- export const ReleaseServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 108);
582
+ export const ReleaseServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 113);
558
583
  /**
559
584
  * Describes the message toshi.workspace.v1.ReleaseServiceResponse.
560
585
  * Use `create(ReleaseServiceResponseSchema)` to create a new message.
561
586
  */
562
- export const ReleaseServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 109);
587
+ export const ReleaseServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 114);
563
588
  /**
564
589
  * Describes the message toshi.workspace.v1.StartServiceSignInRequest.
565
590
  * Use `create(StartServiceSignInRequestSchema)` to create a new message.
566
591
  */
567
- export const StartServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 110);
592
+ export const StartServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 115);
568
593
  /**
569
594
  * Describes the message toshi.workspace.v1.StartServiceSignInResponse.
570
595
  * Use `create(StartServiceSignInResponseSchema)` to create a new message.
571
596
  */
572
- export const StartServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 111);
597
+ export const StartServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 116);
573
598
  /**
574
599
  * Describes the message toshi.workspace.v1.ServiceSignInStarted.
575
600
  * Use `create(ServiceSignInStartedSchema)` to create a new message.
576
601
  */
577
- export const ServiceSignInStartedSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 112);
602
+ export const ServiceSignInStartedSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 117);
578
603
  /**
579
604
  * Describes the message toshi.workspace.v1.ServiceSignInEnded.
580
605
  * Use `create(ServiceSignInEndedSchema)` to create a new message.
581
606
  */
582
- export const ServiceSignInEndedSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 113);
607
+ export const ServiceSignInEndedSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 118);
583
608
  /**
584
609
  * Describes the message toshi.workspace.v1.AnswerServiceSignInRequest.
585
610
  * Use `create(AnswerServiceSignInRequestSchema)` to create a new message.
586
611
  */
587
- export const AnswerServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 114);
612
+ export const AnswerServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 119);
588
613
  /**
589
614
  * Describes the message toshi.workspace.v1.AnswerServiceSignInResponse.
590
615
  * Use `create(AnswerServiceSignInResponseSchema)` to create a new message.
591
616
  */
592
- export const AnswerServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 115);
617
+ export const AnswerServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 120);
593
618
  /**
594
619
  * Describes the message toshi.workspace.v1.CancelServiceSignInRequest.
595
620
  * Use `create(CancelServiceSignInRequestSchema)` to create a new message.
596
621
  */
597
- export const CancelServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 116);
622
+ export const CancelServiceSignInRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 121);
598
623
  /**
599
624
  * Describes the message toshi.workspace.v1.CancelServiceSignInResponse.
600
625
  * Use `create(CancelServiceSignInResponseSchema)` to create a new message.
601
626
  */
602
- export const CancelServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 117);
627
+ export const CancelServiceSignInResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 122);
603
628
  /**
604
629
  * Describes the message toshi.workspace.v1.GetServiceSignInStatusRequest.
605
630
  * Use `create(GetServiceSignInStatusRequestSchema)` to create a new message.
606
631
  */
607
- export const GetServiceSignInStatusRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 118);
632
+ export const GetServiceSignInStatusRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 123);
608
633
  /**
609
634
  * Describes the message toshi.workspace.v1.GetServiceSignInStatusResponse.
610
635
  * Use `create(GetServiceSignInStatusResponseSchema)` to create a new message.
611
636
  */
612
- export const GetServiceSignInStatusResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 119);
637
+ export const GetServiceSignInStatusResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 124);
613
638
  /**
614
639
  * Describes the message toshi.workspace.v1.ServiceSignInStatus.
615
640
  * Use `create(ServiceSignInStatusSchema)` to create a new message.
616
641
  */
617
- export const ServiceSignInStatusSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 120);
642
+ export const ServiceSignInStatusSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 125);
618
643
  /**
619
644
  * Describes the message toshi.workspace.v1.ListServiceRunsRequest.
620
645
  * Use `create(ListServiceRunsRequestSchema)` to create a new message.
621
646
  */
622
- export const ListServiceRunsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 121);
647
+ export const ListServiceRunsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 126);
623
648
  /**
624
649
  * Describes the message toshi.workspace.v1.ListServiceRunsResponse.
625
650
  * Use `create(ListServiceRunsResponseSchema)` to create a new message.
626
651
  */
627
- export const ListServiceRunsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 122);
652
+ export const ListServiceRunsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 127);
628
653
  /**
629
654
  * Describes the message toshi.workspace.v1.ListServiceRevisionsRequest.
630
655
  * Use `create(ListServiceRevisionsRequestSchema)` to create a new message.
631
656
  */
632
- export const ListServiceRevisionsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 123);
657
+ export const ListServiceRevisionsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 128);
633
658
  /**
634
659
  * Describes the message toshi.workspace.v1.ListServiceRevisionsResponse.
635
660
  * Use `create(ListServiceRevisionsResponseSchema)` to create a new message.
636
661
  */
637
- export const ListServiceRevisionsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 124);
662
+ export const ListServiceRevisionsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 129);
638
663
  /**
639
664
  * Describes the message toshi.workspace.v1.GetServiceRevisionRequest.
640
665
  * Use `create(GetServiceRevisionRequestSchema)` to create a new message.
641
666
  */
642
- export const GetServiceRevisionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 125);
667
+ export const GetServiceRevisionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 130);
643
668
  /**
644
669
  * Describes the message toshi.workspace.v1.GetServiceRevisionResponse.
645
670
  * Use `create(GetServiceRevisionResponseSchema)` to create a new message.
646
671
  */
647
- export const GetServiceRevisionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 126);
672
+ export const GetServiceRevisionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 131);
648
673
  /**
649
674
  * Describes the message toshi.workspace.v1.ServiceRevision.
650
675
  * Use `create(ServiceRevisionSchema)` to create a new message.
651
676
  */
652
- export const ServiceRevisionSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 127);
677
+ export const ServiceRevisionSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 132);
653
678
  /**
654
679
  * Describes the message toshi.workspace.v1.ServiceUpgrade.
655
680
  * Use `create(ServiceUpgradeSchema)` to create a new message.
656
681
  */
657
- export const ServiceUpgradeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 128);
682
+ export const ServiceUpgradeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 133);
658
683
  /**
659
684
  * Describes the message toshi.workspace.v1.ServiceRevisionImageCheck.
660
685
  * Use `create(ServiceRevisionImageCheckSchema)` to create a new message.
661
686
  */
662
- export const ServiceRevisionImageCheckSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 129);
687
+ export const ServiceRevisionImageCheckSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 134);
663
688
  /**
664
689
  * Describes the message toshi.workspace.v1.RollbackServiceRequest.
665
690
  * Use `create(RollbackServiceRequestSchema)` to create a new message.
666
691
  */
667
- export const RollbackServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 130);
692
+ export const RollbackServiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 135);
668
693
  /**
669
694
  * Describes the message toshi.workspace.v1.RollbackServiceResponse.
670
695
  * Use `create(RollbackServiceResponseSchema)` to create a new message.
671
696
  */
672
- export const RollbackServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 131);
697
+ export const RollbackServiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 136);
673
698
  /**
674
699
  * Describes the message toshi.workspace.v1.ListServiceActivationsRequest.
675
700
  * Use `create(ListServiceActivationsRequestSchema)` to create a new message.
676
701
  */
677
- export const ListServiceActivationsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 132);
702
+ export const ListServiceActivationsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 137);
678
703
  /**
679
704
  * Describes the message toshi.workspace.v1.ListServiceActivationsResponse.
680
705
  * Use `create(ListServiceActivationsResponseSchema)` to create a new message.
681
706
  */
682
- export const ListServiceActivationsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 133);
707
+ export const ListServiceActivationsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 138);
683
708
  /**
684
709
  * Describes the message toshi.workspace.v1.ServiceActivation.
685
710
  * Use `create(ServiceActivationSchema)` to create a new message.
686
711
  */
687
- export const ServiceActivationSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 134);
712
+ export const ServiceActivationSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 139);
688
713
  /**
689
714
  * Describes the message toshi.workspace.v1.ServiceSecretVersion.
690
715
  * Use `create(ServiceSecretVersionSchema)` to create a new message.
691
716
  */
692
- export const ServiceSecretVersionSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 135);
717
+ export const ServiceSecretVersionSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 140);
693
718
  /**
694
719
  * Describes the message toshi.workspace.v1.ServiceRun.
695
720
  * Use `create(ServiceRunSchema)` to create a new message.
696
721
  */
697
- export const ServiceRunSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 136);
722
+ export const ServiceRunSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace, 141);
698
723
  /**
699
724
  * EndReason says how a workload ended.
700
725
  *
@@ -1181,7 +1206,7 @@ export var ServiceMode;
1181
1206
  ServiceMode[ServiceMode["ALWAYS_ON"] = 1] = "ALWAYS_ON";
1182
1207
  /**
1183
1208
  * Runs while it is awake: woken by WakeService, a hold or a connect on
1184
- * one of its channels, and asleep again after its recipe's idle period
1209
+ * one of its endpoints, and asleep again after its recipe's idle period
1185
1210
  * with no hold.
1186
1211
  *
1187
1212
  * @generated from enum value: SERVICE_MODE_ON_DEMAND = 2;
@@ -1273,7 +1298,7 @@ export var EventType;
1273
1298
  */
1274
1299
  EventType[EventType["SECRET_WITHHELD"] = 10] = "SECRET_WITHHELD";
1275
1300
  /**
1276
- * A workload a trigger made is ready, with the link of its channel. Name:
1301
+ * A workload a trigger made is ready, with the link of its endpoint. Name:
1277
1302
  * "trigger.ready".
1278
1303
  *
1279
1304
  * @generated from enum value: EVENT_TYPE_TRIGGER_READY = 11;
@@ -1328,6 +1353,67 @@ export var EventType;
1328
1353
  * @generated from enum value: EVENT_TYPE_KEPT_VM_DISCARDED = 18;
1329
1354
  */
1330
1355
  EventType[EventType["KEPT_VM_DISCARDED"] = 18] = "KEPT_VM_DISCARDED";
1356
+ /**
1357
+ * An ACP endpoint's agent asked the client's permission to use a tool.
1358
+ * Name: "endpoint.acp.permission_requested". Payload: EndpointACPEvent.
1359
+ *
1360
+ * @generated from enum value: EVENT_TYPE_ENDPOINT_ACP_PERMISSION_REQUESTED = 19;
1361
+ */
1362
+ EventType[EventType["ENDPOINT_ACP_PERMISSION_REQUESTED"] = 19] = "ENDPOINT_ACP_PERMISSION_REQUESTED";
1363
+ /**
1364
+ * An ACP endpoint's agent finished a prompt. Name:
1365
+ * "endpoint.acp.turn_ended". Payload: EndpointACPEvent.
1366
+ *
1367
+ * @generated from enum value: EVENT_TYPE_ENDPOINT_ACP_TURN_ENDED = 20;
1368
+ */
1369
+ EventType[EventType["ENDPOINT_ACP_TURN_ENDED"] = 20] = "ENDPOINT_ACP_TURN_ENDED";
1370
+ /**
1371
+ * A service's run was restored from the snapshot its VM left when the
1372
+ * run before it went to sleep, with when the snapshot was taken and how
1373
+ * much time passed since. Name: "service.restored". Payload:
1374
+ * ServiceRestoredEvent.
1375
+ *
1376
+ * @generated from enum value: EVENT_TYPE_SERVICE_RESTORED = 21;
1377
+ */
1378
+ EventType[EventType["SERVICE_RESTORED"] = 21] = "SERVICE_RESTORED";
1379
+ /**
1380
+ * A service's run could not keep a snapshot when it went to sleep, or
1381
+ * its snapshot could not be restored and the run started cold, with
1382
+ * why. Name: "service.snapshot_failed" or "service.restore_failed".
1383
+ * Payload: ServiceSnapshotFailedEvent.
1384
+ *
1385
+ * @generated from enum value: EVENT_TYPE_SERVICE_SNAPSHOT_FAILED = 22;
1386
+ */
1387
+ EventType[EventType["SERVICE_SNAPSHOT_FAILED"] = 22] = "SERVICE_SNAPSHOT_FAILED";
1388
+ /**
1389
+ * A service's sign-in program signed the service in. Name:
1390
+ * "service.signin". Payload: ServiceSignInEvent.
1391
+ *
1392
+ * @generated from enum value: EVENT_TYPE_SERVICE_SIGNIN = 23;
1393
+ */
1394
+ EventType[EventType["SERVICE_SIGNIN"] = 23] = "SERVICE_SIGNIN";
1395
+ /**
1396
+ * A status command found a service's sign-in program signed out after
1397
+ * Toshi recorded its sign-in. Name: "service.signout". Payload:
1398
+ * ServiceSignInEvent.
1399
+ *
1400
+ * @generated from enum value: EVENT_TYPE_SERVICE_SIGNOUT = 24;
1401
+ */
1402
+ EventType[EventType["SERVICE_SIGNOUT"] = 24] = "SERVICE_SIGNOUT";
1403
+ /**
1404
+ * The mail provider reported that a message the workload sent did not
1405
+ * reach a recipient. Name: "mail.bounced". Payload: MailNoticeEvent.
1406
+ *
1407
+ * @generated from enum value: EVENT_TYPE_MAIL_BOUNCED = 25;
1408
+ */
1409
+ EventType[EventType["MAIL_BOUNCED"] = 25] = "MAIL_BOUNCED";
1410
+ /**
1411
+ * A recipient of a message the workload sent reported it to their mail
1412
+ * provider as unwanted. Name: "mail.complained". Payload: MailNoticeEvent.
1413
+ *
1414
+ * @generated from enum value: EVENT_TYPE_MAIL_COMPLAINED = 26;
1415
+ */
1416
+ EventType[EventType["MAIL_COMPLAINED"] = 26] = "MAIL_COMPLAINED";
1331
1417
  })(EventType || (EventType = {}));
1332
1418
  /**
1333
1419
  * Describes the enum toshi.workspace.v1.EventType.
@@ -1361,7 +1447,7 @@ export var PreviewShareLinkState;
1361
1447
  */
1362
1448
  PreviewShareLinkState[PreviewShareLinkState["REVOKED"] = 3] = "REVOKED";
1363
1449
  /**
1364
- * Its connections carried its byte cap, or its channel was deleted.
1450
+ * Its connections carried its byte cap, or its endpoint was deleted.
1365
1451
  *
1366
1452
  * @generated from enum value: PREVIEW_SHARE_LINK_STATE_ENDED = 4;
1367
1453
  */