@opsee/mcp-server 0.9.60 → 0.10.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 (38) hide show
  1. package/gen/api/v1/billing_pb.d.ts +0 -40
  2. package/gen/api/v1/billing_pb.js +22 -36
  3. package/gen/api/v1/developer_metrics_pb.d.ts +9 -3
  4. package/gen/api/v1/developer_metrics_pb.js +2 -1
  5. package/gen/api/v1/models_pb.d.ts +116 -5
  6. package/gen/api/v1/models_pb.js +33 -26
  7. package/gen/api/v1/project_pb.d.ts +18 -13
  8. package/gen/api/v1/project_pb.js +1 -1
  9. package/gen/api/v1/vcs_connection_pb.d.ts +34 -3
  10. package/gen/api/v1/vcs_connection_pb.js +28 -20
  11. package/gen/api/v1/vcs_integration_pb.d.ts +11 -1
  12. package/gen/api/v1/vcs_integration_pb.js +2 -1
  13. package/gen/fk/foreign_key_pb.d.ts +22 -0
  14. package/gen/fk/foreign_key_pb.js +24 -0
  15. package/package.json +11 -11
  16. package/src/auth/kv-store.ts +12 -33
  17. package/src/auth/manager.ts +1 -6
  18. package/src/auth/oauth-provider.ts +32 -104
  19. package/src/auth/renew.ts +5 -15
  20. package/src/client/api.ts +3 -5
  21. package/src/server-http.ts +14 -30
  22. package/src/tools/acceptance-criteria.ts +4 -14
  23. package/src/tools/descriptions.ts +2 -7
  24. package/src/tools/doc-links.ts +4 -9
  25. package/src/tools/doc-spaces.ts +1 -1
  26. package/src/tools/docs.ts +8 -19
  27. package/src/tools/notifications.ts +2 -6
  28. package/src/tools/tasks-bulk.ts +3 -8
  29. package/src/tools/tasks-read-write.ts +1 -8
  30. package/src/utils/format/blocknote.ts +8 -23
  31. package/src/utils/tool-schema.ts +7 -29
  32. package/README.md +0 -304
  33. package/gen/api/v1/deployment_pb.d.ts +0 -277
  34. package/gen/api/v1/deployment_pb.js +0 -89
  35. package/gen/api/v1/environment_pb.d.ts +0 -277
  36. package/gen/api/v1/environment_pb.js +0 -89
  37. package/gen/api/v1/test_run_pb.d.ts +0 -277
  38. package/gen/api/v1/test_run_pb.js +0 -89
@@ -303,38 +303,6 @@ export declare type GetProductConfigsResponse = Message<"api.v1.GetProductConfig
303
303
  */
304
304
  export declare const GetProductConfigsResponseSchema: GenMessage<GetProductConfigsResponse>;
305
305
 
306
- /**
307
- * @generated from message api.v1.UpsertProductConfigRequest
308
- */
309
- export declare type UpsertProductConfigRequest = Message<"api.v1.UpsertProductConfigRequest"> & {
310
- /**
311
- * @generated from field: api.v1.BillingProductConfig product_config = 1;
312
- */
313
- productConfig?: BillingProductConfig;
314
- };
315
-
316
- /**
317
- * Describes the message api.v1.UpsertProductConfigRequest.
318
- * Use `create(UpsertProductConfigRequestSchema)` to create a new message.
319
- */
320
- export declare const UpsertProductConfigRequestSchema: GenMessage<UpsertProductConfigRequest>;
321
-
322
- /**
323
- * @generated from message api.v1.UpsertProductConfigResponse
324
- */
325
- export declare type UpsertProductConfigResponse = Message<"api.v1.UpsertProductConfigResponse"> & {
326
- /**
327
- * @generated from field: api.v1.BillingProductConfig product_config = 1;
328
- */
329
- productConfig?: BillingProductConfig;
330
- };
331
-
332
- /**
333
- * Describes the message api.v1.UpsertProductConfigResponse.
334
- * Use `create(UpsertProductConfigResponseSchema)` to create a new message.
335
- */
336
- export declare const UpsertProductConfigResponseSchema: GenMessage<UpsertProductConfigResponse>;
337
-
338
306
  /**
339
307
  * Credit Transactions
340
308
  *
@@ -1246,13 +1214,5 @@ export declare const BillingAdminService: GenService<{
1246
1214
  input: typeof GetProductConfigsRequestSchema;
1247
1215
  output: typeof GetProductConfigsResponseSchema;
1248
1216
  },
1249
- /**
1250
- * @generated from rpc api.v1.BillingAdminService.UpsertProductConfig
1251
- */
1252
- upsertProductConfig: {
1253
- methodKind: "unary";
1254
- input: typeof UpsertProductConfigRequestSchema;
1255
- output: typeof UpsertProductConfigResponseSchema;
1256
- },
1257
1217
  }>;
1258
1218
 
@@ -11,7 +11,7 @@ import { file_validate_validate } from "../../validate/validate_pb";
11
11
  * Describes the file api/v1/billing.proto.
12
12
  */
13
13
  export const file_api_v1_billing = /*@__PURE__*/
14
- fileDesc("ChRhcGkvdjEvYmlsbGluZy5wcm90bxIGYXBpLnYxIu8BChlDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0EjgKBWl0ZW1zGAEgAygLMh8uYXBpLnYxLlN1YnNjcmlwdGlvbkl0ZW1SZXF1ZXN0Qgj6QgWSAQIIARIsChBiaWxsaW5nX2ludGVydmFsGAIgASgJQhL6Qg9yDVIFbW9udGhSBHllYXISIQoUcGF5bWVudF9tZXRob2RfdG9rZW4YAyABKAlIAIgBARIbCg5wcm9tb3Rpb25fY29kZRgEIAEoCUgBiAEBQhcKFV9wYXltZW50X21ldGhvZF90b2tlbkIRCg9fcHJvbW90aW9uX2NvZGUicQoXU3Vic2NyaXB0aW9uSXRlbVJlcXVlc3QSOwoMcHJvZHVjdF90eXBlGAEgASgJQiX6QiJyIFIJdXNlcl9zZWF0Ugdwcm9qZWN0UgphaV9jcmVkaXRzEhkKCHF1YW50aXR5GAIgASgFQgf6QgQaAigBIk8KGkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlEjEKDHN1YnNjcmlwdGlvbhgBIAEoCzIbLmFwaS52MS5CaWxsaW5nU3Vic2NyaXB0aW9uIh8KHUdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXF1ZXN0IlMKHkdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXNwb25zZRIxCgxzdWJzY3JpcHRpb24YASABKAsyGy5hcGkudjEuQmlsbGluZ1N1YnNjcmlwdGlvbiIRCg9HZXRVc2FnZVJlcXVlc3Qi3wEKEEdldFVzYWdlUmVzcG9uc2USEgoKdXNlcnNfdXNlZBgBIAEoBRITCgt1c2Vyc19saW1pdBgCIAEoBRIVCg1wcm9qZWN0c191c2VkGAMgASgFEhYKDnByb2plY3RzX2xpbWl0GAQgASgFEhkKEWNyZWRpdHNfYXZhaWxhYmxlGAUgASgFEh8KF2NyZWRpdHNfdXNlZF90aGlzX21vbnRoGAYgASgFEhoKEnN0b3JhZ2VfdXNlZF9ieXRlcxgHIAEoAxIbChNzdG9yYWdlX2xpbWl0X2J5dGVzGAggASgDIlMKGkNyZWF0ZVBheW1lbnRNZXRob2RSZXF1ZXN0Eh0KDHN0cmlwZV90b2tlbhgBIAEoCUIH+kIEcgIQARIWCg5zZXRfYXNfZGVmYXVsdBgCIAEoCCJTChtDcmVhdGVQYXltZW50TWV0aG9kUmVzcG9uc2USNAoOcGF5bWVudF9tZXRob2QYASABKAsyHC5hcGkudjEuQmlsbGluZ1BheW1lbnRNZXRob2QiGgoYR2V0UGF5bWVudE1ldGhvZHNSZXF1ZXN0IlIKGUdldFBheW1lbnRNZXRob2RzUmVzcG9uc2USNQoPcGF5bWVudF9tZXRob2RzGAEgAygLMhwuYXBpLnYxLkJpbGxpbmdQYXltZW50TWV0aG9kIkQKHlNldERlZmF1bHRQYXltZW50TWV0aG9kUmVxdWVzdBIiChFwYXltZW50X21ldGhvZF9pZBgBIAEoDUIH+kIEKgIoASJAChpEZWxldGVQYXltZW50TWV0aG9kUmVxdWVzdBIiChFwYXltZW50X21ldGhvZF9pZBgBIAEoDUIH+kIEKgIoASIaChhHZXRQcm9kdWN0Q29uZmlnc1JlcXVlc3QiUgoZR2V0UHJvZHVjdENvbmZpZ3NSZXNwb25zZRI1Cg9wcm9kdWN0X2NvbmZpZ3MYASADKAsyHC5hcGkudjEuQmlsbGluZ1Byb2R1Y3RDb25maWciXAoaVXBzZXJ0UHJvZHVjdENvbmZpZ1JlcXVlc3QSPgoOcHJvZHVjdF9jb25maWcYASABKAsyHC5hcGkudjEuQmlsbGluZ1Byb2R1Y3RDb25maWdCCPpCBYoBAhABIlMKG1Vwc2VydFByb2R1Y3RDb25maWdSZXNwb25zZRI0Cg5wcm9kdWN0X2NvbmZpZxgBIAEoCzIcLmFwaS52MS5CaWxsaW5nUHJvZHVjdENvbmZpZyJjCiNHZXRCaWxsaW5nQ3JlZGl0VHJhbnNhY3Rpb25zUmVxdWVzdBISCgVsaW1pdBgBIAEoBUgAiAEBEhMKBm9mZnNldBgCIAEoBUgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0InMKJEdldEJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbnNSZXNwb25zZRI2Cgx0cmFuc2FjdGlvbnMYASADKAsyIC5hcGkudjEuQmlsbGluZ0NyZWRpdFRyYW5zYWN0aW9uEhMKC3RvdGFsX2NvdW50GAIgASgFImcKFlB1cmNoYXNlQ3JlZGl0c1JlcXVlc3QSFwoGYW1vdW50GAEgASgFQgf6QgQaAigBEh4KEXBheW1lbnRfbWV0aG9kX2lkGAIgASgJSACIAQFCFAoSX3BheW1lbnRfbWV0aG9kX2lkIlAKF1B1cmNoYXNlQ3JlZGl0c1Jlc3BvbnNlEjUKC3RyYW5zYWN0aW9uGAEgASgLMiAuYXBpLnYxLkJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbiJNChVQcm9jZXNzV2ViaG9va1JlcXVlc3QSGAoHcGF5bG9hZBgBIAEoCUIH+kIEcgIQARIaCglzaWduYXR1cmUYAiABKAlCB/pCBHICEAEiOgoWUHJvY2Vzc1dlYmhvb2tSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiyQQKE0JpbGxpbmdTdWJzY3JpcHRpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARIuCgVpdGVtcxgJIAMoCzIfLmFwaS52MS5CaWxsaW5nU3Vic2NyaXB0aW9uSXRlbRI0Cg5wYXltZW50X21ldGhvZBgKIAEoCzIcLmFwaS52MS5CaWxsaW5nUGF5bWVudE1ldGhvZBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIZChdfc3RyaXBlX3N1YnNjcmlwdGlvbl9pZEIXChVfY3VycmVudF9wZXJpb2Rfc3RhcnRCFQoTX2N1cnJlbnRfcGVyaW9kX2VuZEIUChJfcGF5bWVudF9tZXRob2RfaWQihwIKF0JpbGxpbmdTdWJzY3JpcHRpb25JdGVtEgoKAmlkGAEgASgNEhcKD3N1YnNjcmlwdGlvbl9pZBgCIAEoDRIUCgxwcm9kdWN0X3R5cGUYAyABKAkSEAoIcXVhbnRpdHkYBCABKAUSEgoKdW5pdF9wcmljZRgFIAEoAxIYChBiaWxsaW5nX2ludGVydmFsGAYgASgJEhEKCWlzX2FjdGl2ZRgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKbAgoUQmlsbGluZ1BheW1lbnRNZXRob2QSCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIYChBzdHJpcGVfbWV0aG9kX2lkGAMgASgJEgwKBHR5cGUYBCABKAkSDQoFbGFzdDQYBSABKAkSDQoFYnJhbmQYBiABKAkSFAoMZXhwaXJ5X21vbnRoGAcgASgFEhMKC2V4cGlyeV95ZWFyGAggASgFEhIKCmlzX2RlZmF1bHQYCSABKAgSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAipwIKFEJpbGxpbmdQcm9kdWN0Q29uZmlnEgoKAmlkGAEgASgNEhQKDHByb2R1Y3RfdHlwZRgCIAEoCRIVCg1tb250aGx5X3ByaWNlGAMgASgDEhQKDHllYXJseV9wcmljZRgEIAEoAxIVCg1mcmVlX3F1YW50aXR5GAUgASgFEhQKDGlzX3JlY3VycmluZxgGIAEoCBIZChFzdHJpcGVfbW9udGhseV9pZBgHIAEoCRIYChBzdHJpcGVfeWVhcmx5X2lkGAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrECChVCaWxsaW5nQ29tcGFueUNyZWRpdHMSCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIVCg10b3RhbF9jcmVkaXRzGAMgASgFEhQKDHVzZWRfY3JlZGl0cxgEIAEoBRIZChFhdmFpbGFibGVfY3JlZGl0cxgFIAEoBRI6ChFsYXN0X2FsbG9jYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIUChJfbGFzdF9hbGxvY2F0ZWRfYXQiiAIKGEJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbhIKCgJpZBgBIAEoDRISCgpjb21wYW55X2lkGAIgASgNEg4KBmFtb3VudBgDIAEoBRIOCgZyZWFzb24YBCABKAkSGAoLZW50aXR5X3R5cGUYBSABKAlIAIgBARIWCgllbnRpdHlfaWQYBiABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAcgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWRCEAoOX21ldGFkYXRhX2pzb24iPQoZQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdBIgCg9zdWJzY3JpcHRpb25faWQYASABKA1CB/pCBCoCKAEiPgoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIjUKHFZhbGlkYXRlUHJvbW90aW9uQ29kZVJlcXVlc3QSFQoEY29kZRgBIAEoCUIH+kIEcgIQASKIAQodVmFsaWRhdGVQcm9tb3Rpb25Db2RlUmVzcG9uc2USGQoRcHJvbW90aW9uX2NvZGVfaWQYASABKAkSDAoEY29kZRgCIAEoCRINCgV2YWxpZBgDIAEoCBIvCghkaXNjb3VudBgEIAEoCzIdLmFwaS52MS5Qcm9tb3Rpb25Db2RlRGlzY291bnQijgEKFVByb21vdGlvbkNvZGVEaXNjb3VudBISCgphbW91bnRfb2ZmGAEgASgDEhMKC3BlcmNlbnRfb2ZmGAIgASgBEhAKCGN1cnJlbmN5GAMgASgJEhAKCGR1cmF0aW9uGAQgASgJEhoKEmR1cmF0aW9uX2luX21vbnRocxgFIAEoBRIMCgRuYW1lGAYgASgJImIKEkdldEludm9pY2VzUmVxdWVzdBISCgVsaW1pdBgBIAEoBUgAiAEBEhsKDnN0YXJ0aW5nX2FmdGVyGAIgASgJSAGIAQFCCAoGX2xpbWl0QhEKD19zdGFydGluZ19hZnRlciJRChNHZXRJbnZvaWNlc1Jlc3BvbnNlEigKCGludm9pY2VzGAEgAygLMhYuYXBpLnYxLkJpbGxpbmdJbnZvaWNlEhAKCGhhc19tb3JlGAIgASgIIpYCCg5CaWxsaW5nSW52b2ljZRIKCgJpZBgBIAEoCRISCgphbW91bnRfZHVlGAIgASgDEhMKC2Ftb3VudF9wYWlkGAMgASgDEhgKEGFtb3VudF9yZW1haW5pbmcYBCABKAMSKwoHY3JlYXRlZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIY3VycmVuY3kYBiABKAkSFgoOY3VzdG9tZXJfZW1haWwYByABKAkSGgoSaG9zdGVkX2ludm9pY2VfdXJsGAggASgJEhMKC2ludm9pY2VfcGRmGAkgASgJEg4KBm51bWJlchgKIAEoCRIOCgZzdGF0dXMYCyABKAkSDQoFdG90YWwYDCABKAMinwEKDUJpbGxpbmdOb3RpY2USDAoEdGllchgBIAEoCRIQCghzZXZlcml0eRgCIAEoCRINCgV0aXRsZRgDIAEoCRIMCgRib2R5GAQgASgJEhIKCmFjdGlvbl91cmwYBSABKAkSEwoLZGlzbWlzc2libGUYBiABKAgSGAoLZGlzbWlzc19rZXkYByABKAlIAIgBAUIOCgxfZGlzbWlzc19rZXkyjA4KDkJpbGxpbmdTZXJ2aWNlEoUBChJDcmVhdGVTdWJzY3JpcHRpb24SIS5hcGkudjEuQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdBoiLmFwaS52MS5DcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIogtPkkwIiOgEqIh0vYXBpL3YxL2JpbGxpbmcvc3Vic2NyaXB0aW9ucxKGAQoPR2V0U3Vic2NyaXB0aW9uEiUuYXBpLnYxLkdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXF1ZXN0GiYuYXBpLnYxLkdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXNwb25zZSIkgtPkkwIeEhwvYXBpL3YxL2JpbGxpbmcvc3Vic2NyaXB0aW9uEp4BChJDYW5jZWxTdWJzY3JpcHRpb24SIS5hcGkudjEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdBoiLmFwaS52MS5DYW5jZWxTdWJzY3JpcHRpb25SZXNwb25zZSJBgtPkkwI7OgEqIjYvYXBpL3YxL2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97c3Vic2NyaXB0aW9uX2lkfS9jYW5jZWwSXAoIR2V0VXNhZ2USFy5hcGkudjEuR2V0VXNhZ2VSZXF1ZXN0GhguYXBpLnYxLkdldFVzYWdlUmVzcG9uc2UiHYLT5JMCFxIVL2FwaS92MS9iaWxsaW5nL3VzYWdlEooBChNDcmVhdGVQYXltZW50TWV0aG9kEiIuYXBpLnYxLkNyZWF0ZVBheW1lbnRNZXRob2RSZXF1ZXN0GiMuYXBpLnYxLkNyZWF0ZVBheW1lbnRNZXRob2RSZXNwb25zZSIqgtPkkwIkOgEqIh8vYXBpL3YxL2JpbGxpbmcvcGF5bWVudC1tZXRob2RzEoEBChFHZXRQYXltZW50TWV0aG9kcxIgLmFwaS52MS5HZXRQYXltZW50TWV0aG9kc1JlcXVlc3QaIS5hcGkudjEuR2V0UGF5bWVudE1ldGhvZHNSZXNwb25zZSIngtPkkwIhEh8vYXBpL3YxL2JpbGxpbmcvcGF5bWVudC1tZXRob2RzEqEBChdTZXREZWZhdWx0UGF5bWVudE1ldGhvZBImLmFwaS52MS5TZXREZWZhdWx0UGF5bWVudE1ldGhvZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiRoLT5JMCQDoBKho7L2FwaS92MS9iaWxsaW5nL3BheW1lbnQtbWV0aG9kcy97cGF5bWVudF9tZXRob2RfaWR9L2RlZmF1bHQSjgEKE0RlbGV0ZVBheW1lbnRNZXRob2QSIi5hcGkudjEuRGVsZXRlUGF5bWVudE1ldGhvZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiO4LT5JMCNSozL2FwaS92MS9iaWxsaW5nL3BheW1lbnQtbWV0aG9kcy97cGF5bWVudF9tZXRob2RfaWR9Ep8BChVHZXRDcmVkaXRUcmFuc2FjdGlvbnMSKy5hcGkudjEuR2V0QmlsbGluZ0NyZWRpdFRyYW5zYWN0aW9uc1JlcXVlc3QaLC5hcGkudjEuR2V0QmlsbGluZ0NyZWRpdFRyYW5zYWN0aW9uc1Jlc3BvbnNlIiuC0+STAiUSIy9hcGkvdjEvYmlsbGluZy9jcmVkaXQtdHJhbnNhY3Rpb25zEn8KD1B1cmNoYXNlQ3JlZGl0cxIeLmFwaS52MS5QdXJjaGFzZUNyZWRpdHNSZXF1ZXN0Gh8uYXBpLnYxLlB1cmNoYXNlQ3JlZGl0c1Jlc3BvbnNlIiuC0+STAiU6ASoiIC9hcGkvdjEvYmlsbGluZy9jcmVkaXRzL3B1cmNoYXNlEmgKC0dldEludm9pY2VzEhouYXBpLnYxLkdldEludm9pY2VzUmVxdWVzdBobLmFwaS52MS5HZXRJbnZvaWNlc1Jlc3BvbnNlIiCC0+STAhoSGC9hcGkvdjEvYmlsbGluZy9pbnZvaWNlcxKZAQoVVmFsaWRhdGVQcm9tb3Rpb25Db2RlEiQuYXBpLnYxLlZhbGlkYXRlUHJvbW90aW9uQ29kZVJlcXVlc3QaJS5hcGkudjEuVmFsaWRhdGVQcm9tb3Rpb25Db2RlUmVzcG9uc2UiM4LT5JMCLToBKiIoL2FwaS92MS9iaWxsaW5nL3Byb21vdGlvbi1jb2Rlcy92YWxpZGF0ZRJ7Cg5Qcm9jZXNzV2ViaG9vaxIdLmFwaS52MS5Qcm9jZXNzV2ViaG9va1JlcXVlc3QaHi5hcGkudjEuUHJvY2Vzc1dlYmhvb2tSZXNwb25zZSIqgtPkkwIkOgEqIh8vYXBpL3YxL2JpbGxpbmcvd2ViaG9va3Mvc3RyaXBlMrICChNCaWxsaW5nQWRtaW5TZXJ2aWNlEocBChFHZXRQcm9kdWN0Q29uZmlncxIgLmFwaS52MS5HZXRQcm9kdWN0Q29uZmlnc1JlcXVlc3QaIS5hcGkudjEuR2V0UHJvZHVjdENvbmZpZ3NSZXNwb25zZSItgtPkkwInEiUvYXBpL3YxL2FkbWluL2JpbGxpbmcvcHJvZHVjdC1jb25maWdzEpABChNVcHNlcnRQcm9kdWN0Q29uZmlnEiIuYXBpLnYxLlVwc2VydFByb2R1Y3RDb25maWdSZXF1ZXN0GiMuYXBpLnYxLlVwc2VydFByb2R1Y3RDb25maWdSZXNwb25zZSIwgtPkkwIqOgEqGiUvYXBpL3YxL2FkbWluL2JpbGxpbmcvcHJvZHVjdC1jb25maWdzQnEKCmNvbS5hcGkudjFCDEJpbGxpbmdQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_google_api_annotations, file_validate_validate]);
14
+ fileDesc("ChRhcGkvdjEvYmlsbGluZy5wcm90bxIGYXBpLnYxIu8BChlDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0EjgKBWl0ZW1zGAEgAygLMh8uYXBpLnYxLlN1YnNjcmlwdGlvbkl0ZW1SZXF1ZXN0Qgj6QgWSAQIIARIsChBiaWxsaW5nX2ludGVydmFsGAIgASgJQhL6Qg9yDVIFbW9udGhSBHllYXISIQoUcGF5bWVudF9tZXRob2RfdG9rZW4YAyABKAlIAIgBARIbCg5wcm9tb3Rpb25fY29kZRgEIAEoCUgBiAEBQhcKFV9wYXltZW50X21ldGhvZF90b2tlbkIRCg9fcHJvbW90aW9uX2NvZGUicQoXU3Vic2NyaXB0aW9uSXRlbVJlcXVlc3QSOwoMcHJvZHVjdF90eXBlGAEgASgJQiX6QiJyIFIJdXNlcl9zZWF0Ugdwcm9qZWN0UgphaV9jcmVkaXRzEhkKCHF1YW50aXR5GAIgASgFQgf6QgQaAigBIk8KGkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlEjEKDHN1YnNjcmlwdGlvbhgBIAEoCzIbLmFwaS52MS5CaWxsaW5nU3Vic2NyaXB0aW9uIh8KHUdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXF1ZXN0IlMKHkdldEJpbGxpbmdTdWJzY3JpcHRpb25SZXNwb25zZRIxCgxzdWJzY3JpcHRpb24YASABKAsyGy5hcGkudjEuQmlsbGluZ1N1YnNjcmlwdGlvbiIRCg9HZXRVc2FnZVJlcXVlc3Qi3wEKEEdldFVzYWdlUmVzcG9uc2USEgoKdXNlcnNfdXNlZBgBIAEoBRITCgt1c2Vyc19saW1pdBgCIAEoBRIVCg1wcm9qZWN0c191c2VkGAMgASgFEhYKDnByb2plY3RzX2xpbWl0GAQgASgFEhkKEWNyZWRpdHNfYXZhaWxhYmxlGAUgASgFEh8KF2NyZWRpdHNfdXNlZF90aGlzX21vbnRoGAYgASgFEhoKEnN0b3JhZ2VfdXNlZF9ieXRlcxgHIAEoAxIbChNzdG9yYWdlX2xpbWl0X2J5dGVzGAggASgDIlMKGkNyZWF0ZVBheW1lbnRNZXRob2RSZXF1ZXN0Eh0KDHN0cmlwZV90b2tlbhgBIAEoCUIH+kIEcgIQARIWCg5zZXRfYXNfZGVmYXVsdBgCIAEoCCJTChtDcmVhdGVQYXltZW50TWV0aG9kUmVzcG9uc2USNAoOcGF5bWVudF9tZXRob2QYASABKAsyHC5hcGkudjEuQmlsbGluZ1BheW1lbnRNZXRob2QiGgoYR2V0UGF5bWVudE1ldGhvZHNSZXF1ZXN0IlIKGUdldFBheW1lbnRNZXRob2RzUmVzcG9uc2USNQoPcGF5bWVudF9tZXRob2RzGAEgAygLMhwuYXBpLnYxLkJpbGxpbmdQYXltZW50TWV0aG9kIkQKHlNldERlZmF1bHRQYXltZW50TWV0aG9kUmVxdWVzdBIiChFwYXltZW50X21ldGhvZF9pZBgBIAEoDUIH+kIEKgIoASJAChpEZWxldGVQYXltZW50TWV0aG9kUmVxdWVzdBIiChFwYXltZW50X21ldGhvZF9pZBgBIAEoDUIH+kIEKgIoASIaChhHZXRQcm9kdWN0Q29uZmlnc1JlcXVlc3QiUgoZR2V0UHJvZHVjdENvbmZpZ3NSZXNwb25zZRI1Cg9wcm9kdWN0X2NvbmZpZ3MYASADKAsyHC5hcGkudjEuQmlsbGluZ1Byb2R1Y3RDb25maWciYwojR2V0QmlsbGluZ0NyZWRpdFRyYW5zYWN0aW9uc1JlcXVlc3QSEgoFbGltaXQYASABKAVIAIgBARITCgZvZmZzZXQYAiABKAVIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJzCiRHZXRCaWxsaW5nQ3JlZGl0VHJhbnNhY3Rpb25zUmVzcG9uc2USNgoMdHJhbnNhY3Rpb25zGAEgAygLMiAuYXBpLnYxLkJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbhITCgt0b3RhbF9jb3VudBgCIAEoBSJnChZQdXJjaGFzZUNyZWRpdHNSZXF1ZXN0EhcKBmFtb3VudBgBIAEoBUIH+kIEGgIoARIeChFwYXltZW50X21ldGhvZF9pZBgCIAEoCUgAiAEBQhQKEl9wYXltZW50X21ldGhvZF9pZCJQChdQdXJjaGFzZUNyZWRpdHNSZXNwb25zZRI1Cgt0cmFuc2FjdGlvbhgBIAEoCzIgLmFwaS52MS5CaWxsaW5nQ3JlZGl0VHJhbnNhY3Rpb24iTQoVUHJvY2Vzc1dlYmhvb2tSZXF1ZXN0EhgKB3BheWxvYWQYASABKAlCB/pCBHICEAESGgoJc2lnbmF0dXJlGAIgASgJQgf6QgRyAhABIjoKFlByb2Nlc3NXZWJob29rUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIskEChNCaWxsaW5nU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SGgoSc3RyaXBlX2N1c3RvbWVyX2lkGAMgASgJEiMKFnN0cmlwZV9zdWJzY3JpcHRpb25faWQYBCABKAlIAIgBARIOCgZzdGF0dXMYBSABKAkSPQoUY3VycmVudF9wZXJpb2Rfc3RhcnQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESOwoSY3VycmVudF9wZXJpb2RfZW5kGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEh4KEXBheW1lbnRfbWV0aG9kX2lkGAggASgNSAOIAQESLgoFaXRlbXMYCSADKAsyHy5hcGkudjEuQmlsbGluZ1N1YnNjcmlwdGlvbkl0ZW0SNAoOcGF5bWVudF9tZXRob2QYCiABKAsyHC5hcGkudjEuQmlsbGluZ1BheW1lbnRNZXRob2QSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCGQoXX3N0cmlwZV9zdWJzY3JpcHRpb25faWRCFwoVX2N1cnJlbnRfcGVyaW9kX3N0YXJ0QhUKE19jdXJyZW50X3BlcmlvZF9lbmRCFAoSX3BheW1lbnRfbWV0aG9kX2lkIocCChdCaWxsaW5nU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimwIKFEJpbGxpbmdQYXltZW50TWV0aG9kEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SGAoQc3RyaXBlX21ldGhvZF9pZBgDIAEoCRIMCgR0eXBlGAQgASgJEg0KBWxhc3Q0GAUgASgJEg0KBWJyYW5kGAYgASgJEhQKDGV4cGlyeV9tb250aBgHIAEoBRITCgtleHBpcnlfeWVhchgIIAEoBRISCgppc19kZWZhdWx0GAkgASgIEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIqcCChRCaWxsaW5nUHJvZHVjdENvbmZpZxIKCgJpZBgBIAEoDRIUCgxwcm9kdWN0X3R5cGUYAiABKAkSFQoNbW9udGhseV9wcmljZRgDIAEoAxIUCgx5ZWFybHlfcHJpY2UYBCABKAMSFQoNZnJlZV9xdWFudGl0eRgFIAEoBRIUCgxpc19yZWN1cnJpbmcYBiABKAgSGQoRc3RyaXBlX21vbnRobHlfaWQYByABKAkSGAoQc3RyaXBlX3llYXJseV9pZBgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKxAgoVQmlsbGluZ0NvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2xhc3RfYWxsb2NhdGVkX2F0IogCChhCaWxsaW5nQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9lbnRpdHlfdHlwZUIMCgpfZW50aXR5X2lkQhAKDl9tZXRhZGF0YV9qc29uIj0KGUNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QSIAoPc3Vic2NyaXB0aW9uX2lkGAEgASgNQgf6QgQqAigBIj4KGkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSI1ChxWYWxpZGF0ZVByb21vdGlvbkNvZGVSZXF1ZXN0EhUKBGNvZGUYASABKAlCB/pCBHICEAEiiAEKHVZhbGlkYXRlUHJvbW90aW9uQ29kZVJlc3BvbnNlEhkKEXByb21vdGlvbl9jb2RlX2lkGAEgASgJEgwKBGNvZGUYAiABKAkSDQoFdmFsaWQYAyABKAgSLwoIZGlzY291bnQYBCABKAsyHS5hcGkudjEuUHJvbW90aW9uQ29kZURpc2NvdW50Io4BChVQcm9tb3Rpb25Db2RlRGlzY291bnQSEgoKYW1vdW50X29mZhgBIAEoAxITCgtwZXJjZW50X29mZhgCIAEoARIQCghjdXJyZW5jeRgDIAEoCRIQCghkdXJhdGlvbhgEIAEoCRIaChJkdXJhdGlvbl9pbl9tb250aHMYBSABKAUSDAoEbmFtZRgGIAEoCSJiChJHZXRJbnZvaWNlc1JlcXVlc3QSEgoFbGltaXQYASABKAVIAIgBARIbCg5zdGFydGluZ19hZnRlchgCIAEoCUgBiAEBQggKBl9saW1pdEIRCg9fc3RhcnRpbmdfYWZ0ZXIiUQoTR2V0SW52b2ljZXNSZXNwb25zZRIoCghpbnZvaWNlcxgBIAMoCzIWLmFwaS52MS5CaWxsaW5nSW52b2ljZRIQCghoYXNfbW9yZRgCIAEoCCKWAgoOQmlsbGluZ0ludm9pY2USCgoCaWQYASABKAkSEgoKYW1vdW50X2R1ZRgCIAEoAxITCgthbW91bnRfcGFpZBgDIAEoAxIYChBhbW91bnRfcmVtYWluaW5nGAQgASgDEisKB2NyZWF0ZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCGN1cnJlbmN5GAYgASgJEhYKDmN1c3RvbWVyX2VtYWlsGAcgASgJEhoKEmhvc3RlZF9pbnZvaWNlX3VybBgIIAEoCRITCgtpbnZvaWNlX3BkZhgJIAEoCRIOCgZudW1iZXIYCiABKAkSDgoGc3RhdHVzGAsgASgJEg0KBXRvdGFsGAwgASgDIp8BCg1CaWxsaW5nTm90aWNlEgwKBHRpZXIYASABKAkSEAoIc2V2ZXJpdHkYAiABKAkSDQoFdGl0bGUYAyABKAkSDAoEYm9keRgEIAEoCRISCgphY3Rpb25fdXJsGAUgASgJEhMKC2Rpc21pc3NpYmxlGAYgASgIEhgKC2Rpc21pc3Nfa2V5GAcgASgJSACIAQFCDgoMX2Rpc21pc3Nfa2V5MowOCg5CaWxsaW5nU2VydmljZRKFAQoSQ3JlYXRlU3Vic2NyaXB0aW9uEiEuYXBpLnYxLkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QaIi5hcGkudjEuQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiKILT5JMCIjoBKiIdL2FwaS92MS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMShgEKD0dldFN1YnNjcmlwdGlvbhIlLmFwaS52MS5HZXRCaWxsaW5nU3Vic2NyaXB0aW9uUmVxdWVzdBomLmFwaS52MS5HZXRCaWxsaW5nU3Vic2NyaXB0aW9uUmVzcG9uc2UiJILT5JMCHhIcL2FwaS92MS9iaWxsaW5nL3N1YnNjcmlwdGlvbhKeAQoSQ2FuY2VsU3Vic2NyaXB0aW9uEiEuYXBpLnYxLkNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QaIi5hcGkudjEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiQYLT5JMCOzoBKiI2L2FwaS92MS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbl9pZH0vY2FuY2VsElwKCEdldFVzYWdlEhcuYXBpLnYxLkdldFVzYWdlUmVxdWVzdBoYLmFwaS52MS5HZXRVc2FnZVJlc3BvbnNlIh2C0+STAhcSFS9hcGkvdjEvYmlsbGluZy91c2FnZRKKAQoTQ3JlYXRlUGF5bWVudE1ldGhvZBIiLmFwaS52MS5DcmVhdGVQYXltZW50TWV0aG9kUmVxdWVzdBojLmFwaS52MS5DcmVhdGVQYXltZW50TWV0aG9kUmVzcG9uc2UiKoLT5JMCJDoBKiIfL2FwaS92MS9iaWxsaW5nL3BheW1lbnQtbWV0aG9kcxKBAQoRR2V0UGF5bWVudE1ldGhvZHMSIC5hcGkudjEuR2V0UGF5bWVudE1ldGhvZHNSZXF1ZXN0GiEuYXBpLnYxLkdldFBheW1lbnRNZXRob2RzUmVzcG9uc2UiJ4LT5JMCIRIfL2FwaS92MS9iaWxsaW5nL3BheW1lbnQtbWV0aG9kcxKhAQoXU2V0RGVmYXVsdFBheW1lbnRNZXRob2QSJi5hcGkudjEuU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkaC0+STAkA6ASoaOy9hcGkvdjEvYmlsbGluZy9wYXltZW50LW1ldGhvZHMve3BheW1lbnRfbWV0aG9kX2lkfS9kZWZhdWx0Eo4BChNEZWxldGVQYXltZW50TWV0aG9kEiIuYXBpLnYxLkRlbGV0ZVBheW1lbnRNZXRob2RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjUqMy9hcGkvdjEvYmlsbGluZy9wYXltZW50LW1ldGhvZHMve3BheW1lbnRfbWV0aG9kX2lkfRKfAQoVR2V0Q3JlZGl0VHJhbnNhY3Rpb25zEisuYXBpLnYxLkdldEJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbnNSZXF1ZXN0GiwuYXBpLnYxLkdldEJpbGxpbmdDcmVkaXRUcmFuc2FjdGlvbnNSZXNwb25zZSIrgtPkkwIlEiMvYXBpL3YxL2JpbGxpbmcvY3JlZGl0LXRyYW5zYWN0aW9ucxJ/Cg9QdXJjaGFzZUNyZWRpdHMSHi5hcGkudjEuUHVyY2hhc2VDcmVkaXRzUmVxdWVzdBofLmFwaS52MS5QdXJjaGFzZUNyZWRpdHNSZXNwb25zZSIrgtPkkwIlOgEqIiAvYXBpL3YxL2JpbGxpbmcvY3JlZGl0cy9wdXJjaGFzZRJoCgtHZXRJbnZvaWNlcxIaLmFwaS52MS5HZXRJbnZvaWNlc1JlcXVlc3QaGy5hcGkudjEuR2V0SW52b2ljZXNSZXNwb25zZSIggtPkkwIaEhgvYXBpL3YxL2JpbGxpbmcvaW52b2ljZXMSmQEKFVZhbGlkYXRlUHJvbW90aW9uQ29kZRIkLmFwaS52MS5WYWxpZGF0ZVByb21vdGlvbkNvZGVSZXF1ZXN0GiUuYXBpLnYxLlZhbGlkYXRlUHJvbW90aW9uQ29kZVJlc3BvbnNlIjOC0+STAi06ASoiKC9hcGkvdjEvYmlsbGluZy9wcm9tb3Rpb24tY29kZXMvdmFsaWRhdGUSewoOUHJvY2Vzc1dlYmhvb2sSHS5hcGkudjEuUHJvY2Vzc1dlYmhvb2tSZXF1ZXN0Gh4uYXBpLnYxLlByb2Nlc3NXZWJob29rUmVzcG9uc2UiKoLT5JMCJDoBKiIfL2FwaS92MS9iaWxsaW5nL3dlYmhvb2tzL3N0cmlwZTKfAQoTQmlsbGluZ0FkbWluU2VydmljZRKHAQoRR2V0UHJvZHVjdENvbmZpZ3MSIC5hcGkudjEuR2V0UHJvZHVjdENvbmZpZ3NSZXF1ZXN0GiEuYXBpLnYxLkdldFByb2R1Y3RDb25maWdzUmVzcG9uc2UiLYLT5JMCJxIlL2FwaS92MS9hZG1pbi9iaWxsaW5nL3Byb2R1Y3QtY29uZmlnc0JxCgpjb20uYXBpLnYxQgxCaWxsaW5nUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_google_api_annotations, file_validate_validate]);
15
15
 
16
16
  /**
17
17
  * Describes the message api.v1.CreateSubscriptionRequest.
@@ -118,166 +118,152 @@ export const GetProductConfigsRequestSchema = /*@__PURE__*/
118
118
  export const GetProductConfigsResponseSchema = /*@__PURE__*/
119
119
  messageDesc(file_api_v1_billing, 14);
120
120
 
121
- /**
122
- * Describes the message api.v1.UpsertProductConfigRequest.
123
- * Use `create(UpsertProductConfigRequestSchema)` to create a new message.
124
- */
125
- export const UpsertProductConfigRequestSchema = /*@__PURE__*/
126
- messageDesc(file_api_v1_billing, 15);
127
-
128
- /**
129
- * Describes the message api.v1.UpsertProductConfigResponse.
130
- * Use `create(UpsertProductConfigResponseSchema)` to create a new message.
131
- */
132
- export const UpsertProductConfigResponseSchema = /*@__PURE__*/
133
- messageDesc(file_api_v1_billing, 16);
134
-
135
121
  /**
136
122
  * Describes the message api.v1.GetBillingCreditTransactionsRequest.
137
123
  * Use `create(GetBillingCreditTransactionsRequestSchema)` to create a new message.
138
124
  */
139
125
  export const GetBillingCreditTransactionsRequestSchema = /*@__PURE__*/
140
- messageDesc(file_api_v1_billing, 17);
126
+ messageDesc(file_api_v1_billing, 15);
141
127
 
142
128
  /**
143
129
  * Describes the message api.v1.GetBillingCreditTransactionsResponse.
144
130
  * Use `create(GetBillingCreditTransactionsResponseSchema)` to create a new message.
145
131
  */
146
132
  export const GetBillingCreditTransactionsResponseSchema = /*@__PURE__*/
147
- messageDesc(file_api_v1_billing, 18);
133
+ messageDesc(file_api_v1_billing, 16);
148
134
 
149
135
  /**
150
136
  * Describes the message api.v1.PurchaseCreditsRequest.
151
137
  * Use `create(PurchaseCreditsRequestSchema)` to create a new message.
152
138
  */
153
139
  export const PurchaseCreditsRequestSchema = /*@__PURE__*/
154
- messageDesc(file_api_v1_billing, 19);
140
+ messageDesc(file_api_v1_billing, 17);
155
141
 
156
142
  /**
157
143
  * Describes the message api.v1.PurchaseCreditsResponse.
158
144
  * Use `create(PurchaseCreditsResponseSchema)` to create a new message.
159
145
  */
160
146
  export const PurchaseCreditsResponseSchema = /*@__PURE__*/
161
- messageDesc(file_api_v1_billing, 20);
147
+ messageDesc(file_api_v1_billing, 18);
162
148
 
163
149
  /**
164
150
  * Describes the message api.v1.ProcessWebhookRequest.
165
151
  * Use `create(ProcessWebhookRequestSchema)` to create a new message.
166
152
  */
167
153
  export const ProcessWebhookRequestSchema = /*@__PURE__*/
168
- messageDesc(file_api_v1_billing, 21);
154
+ messageDesc(file_api_v1_billing, 19);
169
155
 
170
156
  /**
171
157
  * Describes the message api.v1.ProcessWebhookResponse.
172
158
  * Use `create(ProcessWebhookResponseSchema)` to create a new message.
173
159
  */
174
160
  export const ProcessWebhookResponseSchema = /*@__PURE__*/
175
- messageDesc(file_api_v1_billing, 22);
161
+ messageDesc(file_api_v1_billing, 20);
176
162
 
177
163
  /**
178
164
  * Describes the message api.v1.BillingSubscription.
179
165
  * Use `create(BillingSubscriptionSchema)` to create a new message.
180
166
  */
181
167
  export const BillingSubscriptionSchema = /*@__PURE__*/
182
- messageDesc(file_api_v1_billing, 23);
168
+ messageDesc(file_api_v1_billing, 21);
183
169
 
184
170
  /**
185
171
  * Describes the message api.v1.BillingSubscriptionItem.
186
172
  * Use `create(BillingSubscriptionItemSchema)` to create a new message.
187
173
  */
188
174
  export const BillingSubscriptionItemSchema = /*@__PURE__*/
189
- messageDesc(file_api_v1_billing, 24);
175
+ messageDesc(file_api_v1_billing, 22);
190
176
 
191
177
  /**
192
178
  * Describes the message api.v1.BillingPaymentMethod.
193
179
  * Use `create(BillingPaymentMethodSchema)` to create a new message.
194
180
  */
195
181
  export const BillingPaymentMethodSchema = /*@__PURE__*/
196
- messageDesc(file_api_v1_billing, 25);
182
+ messageDesc(file_api_v1_billing, 23);
197
183
 
198
184
  /**
199
185
  * Describes the message api.v1.BillingProductConfig.
200
186
  * Use `create(BillingProductConfigSchema)` to create a new message.
201
187
  */
202
188
  export const BillingProductConfigSchema = /*@__PURE__*/
203
- messageDesc(file_api_v1_billing, 26);
189
+ messageDesc(file_api_v1_billing, 24);
204
190
 
205
191
  /**
206
192
  * Describes the message api.v1.BillingCompanyCredits.
207
193
  * Use `create(BillingCompanyCreditsSchema)` to create a new message.
208
194
  */
209
195
  export const BillingCompanyCreditsSchema = /*@__PURE__*/
210
- messageDesc(file_api_v1_billing, 27);
196
+ messageDesc(file_api_v1_billing, 25);
211
197
 
212
198
  /**
213
199
  * Describes the message api.v1.BillingCreditTransaction.
214
200
  * Use `create(BillingCreditTransactionSchema)` to create a new message.
215
201
  */
216
202
  export const BillingCreditTransactionSchema = /*@__PURE__*/
217
- messageDesc(file_api_v1_billing, 28);
203
+ messageDesc(file_api_v1_billing, 26);
218
204
 
219
205
  /**
220
206
  * Describes the message api.v1.CancelSubscriptionRequest.
221
207
  * Use `create(CancelSubscriptionRequestSchema)` to create a new message.
222
208
  */
223
209
  export const CancelSubscriptionRequestSchema = /*@__PURE__*/
224
- messageDesc(file_api_v1_billing, 29);
210
+ messageDesc(file_api_v1_billing, 27);
225
211
 
226
212
  /**
227
213
  * Describes the message api.v1.CancelSubscriptionResponse.
228
214
  * Use `create(CancelSubscriptionResponseSchema)` to create a new message.
229
215
  */
230
216
  export const CancelSubscriptionResponseSchema = /*@__PURE__*/
231
- messageDesc(file_api_v1_billing, 30);
217
+ messageDesc(file_api_v1_billing, 28);
232
218
 
233
219
  /**
234
220
  * Describes the message api.v1.ValidatePromotionCodeRequest.
235
221
  * Use `create(ValidatePromotionCodeRequestSchema)` to create a new message.
236
222
  */
237
223
  export const ValidatePromotionCodeRequestSchema = /*@__PURE__*/
238
- messageDesc(file_api_v1_billing, 31);
224
+ messageDesc(file_api_v1_billing, 29);
239
225
 
240
226
  /**
241
227
  * Describes the message api.v1.ValidatePromotionCodeResponse.
242
228
  * Use `create(ValidatePromotionCodeResponseSchema)` to create a new message.
243
229
  */
244
230
  export const ValidatePromotionCodeResponseSchema = /*@__PURE__*/
245
- messageDesc(file_api_v1_billing, 32);
231
+ messageDesc(file_api_v1_billing, 30);
246
232
 
247
233
  /**
248
234
  * Describes the message api.v1.PromotionCodeDiscount.
249
235
  * Use `create(PromotionCodeDiscountSchema)` to create a new message.
250
236
  */
251
237
  export const PromotionCodeDiscountSchema = /*@__PURE__*/
252
- messageDesc(file_api_v1_billing, 33);
238
+ messageDesc(file_api_v1_billing, 31);
253
239
 
254
240
  /**
255
241
  * Describes the message api.v1.GetInvoicesRequest.
256
242
  * Use `create(GetInvoicesRequestSchema)` to create a new message.
257
243
  */
258
244
  export const GetInvoicesRequestSchema = /*@__PURE__*/
259
- messageDesc(file_api_v1_billing, 34);
245
+ messageDesc(file_api_v1_billing, 32);
260
246
 
261
247
  /**
262
248
  * Describes the message api.v1.GetInvoicesResponse.
263
249
  * Use `create(GetInvoicesResponseSchema)` to create a new message.
264
250
  */
265
251
  export const GetInvoicesResponseSchema = /*@__PURE__*/
266
- messageDesc(file_api_v1_billing, 35);
252
+ messageDesc(file_api_v1_billing, 33);
267
253
 
268
254
  /**
269
255
  * Describes the message api.v1.BillingInvoice.
270
256
  * Use `create(BillingInvoiceSchema)` to create a new message.
271
257
  */
272
258
  export const BillingInvoiceSchema = /*@__PURE__*/
273
- messageDesc(file_api_v1_billing, 36);
259
+ messageDesc(file_api_v1_billing, 34);
274
260
 
275
261
  /**
276
262
  * Describes the message api.v1.BillingNotice.
277
263
  * Use `create(BillingNoticeSchema)` to create a new message.
278
264
  */
279
265
  export const BillingNoticeSchema = /*@__PURE__*/
280
- messageDesc(file_api_v1_billing, 37);
266
+ messageDesc(file_api_v1_billing, 35);
281
267
 
282
268
  /**
283
269
  * @generated from service api.v1.BillingService
@@ -1299,11 +1299,17 @@ export declare type ActivityFeedItem = Message<"api.v1.ActivityFeedItem"> & {
1299
1299
  url: string;
1300
1300
 
1301
1301
  /**
1302
- * Task UUID for task items
1302
+ * Task identifier and title for task items. A task's URL is built from its
1303
+ * identifier plus a slug of its title, so both travel with the item.
1303
1304
  *
1304
- * @generated from field: string entity_uuid = 9;
1305
+ * @generated from field: string entity_identifier = 9;
1305
1306
  */
1306
- entityUuid: string;
1307
+ entityIdentifier: string;
1308
+
1309
+ /**
1310
+ * @generated from field: string entity_title = 10;
1311
+ */
1312
+ entityTitle: string;
1307
1313
  };
1308
1314
 
1309
1315
  /**
@@ -5,12 +5,13 @@
5
5
  import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv1";
6
6
  import { file_google_api_annotations } from "../../google/api/annotations_pb";
7
7
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
8
+ import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
8
9
 
9
10
  /**
10
11
  * Describes the file api/v1/developer_metrics.proto.
11
12
  */
12
13
  export const file_api_v1_developer_metrics = /*@__PURE__*/
13
- fileDesc("Ch5hcGkvdjEvZGV2ZWxvcGVyX21ldHJpY3MucHJvdG8SBmFwaS52MSJDChpHZXREZXZlbG9wZXJNZXRyaWNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhEKCXBlcmlvZF9pZBgCIAEoDSI+ChVHZXRUZWFtTWV0cmljc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRIRCglwZXJpb2RfaWQYAiABKA0iZgoYR2V0RGV2ZWxvcGVyVHJlbmRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SDwoHdXNlcl9pZBgCIAEoDRIUCgx2Y3NfdXNlcm5hbWUYAyABKAkSDwoHcGVyaW9kcxgEIAEoBSI6ChNHZXRUZWFtVHJlbmRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SDwoHcGVyaW9kcxgCIAEoBSJDChhUcmlnZ2VyTWV0cmljc1J1blJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRITCgtwZXJpb2RfdHlwZRgCIAEoCSIuChhHZXRNZXRyaWNzUGVyaW9kc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDSJGChpHZXREZXZlbG9wZXJQcm9maWxlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCSJqCh9HZXREZXZlbG9wZXJBY3Rpdml0eUZlZWRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SFAoMdmNzX3VzZXJuYW1lGAIgASgJEg0KBWxpbWl0GAMgASgFEg4KBm9mZnNldBgEIAEoBSJSChVMaW5rVkNTUHJvZmlsZVJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRIUCgx2Y3NfdXNlcm5hbWUYAiABKAkSDwoHdXNlcl9pZBgDIAEoDSJDChdVbmxpbmtWQ1NQcm9maWxlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCSJ4ChtHZXREZXZlbG9wZXJNZXRyaWNzUmVzcG9uc2USLwoKZGV2ZWxvcGVycxgBIAMoCzIbLmFwaS52MS5EZXZlbG9wZXJNZXRyaWNEYXRhEigKBnBlcmlvZBgCIAEoCzIYLmFwaS52MS5NZXRyaWNQZXJpb2REYXRhImgKFkdldFRlYW1NZXRyaWNzUmVzcG9uc2USJAoEdGVhbRgBIAEoCzIWLmFwaS52MS5UZWFtTWV0cmljRGF0YRIoCgZwZXJpb2QYAiABKAsyGC5hcGkudjEuTWV0cmljUGVyaW9kRGF0YSJGChlHZXREZXZlbG9wZXJUcmVuZFJlc3BvbnNlEikKBGRhdGEYASADKAsyGy5hcGkudjEuRGV2ZWxvcGVyVHJlbmRQb2ludCI8ChRHZXRUZWFtVHJlbmRSZXNwb25zZRIkCgRkYXRhGAEgAygLMhYuYXBpLnYxLlRlYW1UcmVuZFBvaW50Im8KGVRyaWdnZXJNZXRyaWNzUnVuUmVzcG9uc2USEQoJcGVyaW9kX2lkGAEgASgNEg4KBnN0YXR1cxgCIAEoCRIUCgxjcmVkaXRzX3VzZWQYAyABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBCABKAUiRgoZR2V0TWV0cmljc1BlcmlvZHNSZXNwb25zZRIpCgdwZXJpb2RzGAEgAygLMhguYXBpLnYxLk1ldHJpY1BlcmlvZERhdGEiTAobR2V0RGV2ZWxvcGVyUHJvZmlsZVJlc3BvbnNlEi0KB3Byb2ZpbGUYASABKAsyHC5hcGkudjEuRGV2ZWxvcGVyUHJvZmlsZURhdGEiSwogR2V0RGV2ZWxvcGVyQWN0aXZpdHlGZWVkUmVzcG9uc2USJwoFaXRlbXMYASADKAsyGC5hcGkudjEuQWN0aXZpdHlGZWVkSXRlbSJHChZMaW5rVkNTUHJvZmlsZVJlc3BvbnNlEi0KB3Byb2ZpbGUYASABKAsyHC5hcGkudjEuRGV2ZWxvcGVyUHJvZmlsZURhdGEiKwoYVW5saW5rVkNTUHJvZmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirQoKE0RldmVsb3Blck1ldHJpY0RhdGESDwoHdXNlcl9pZBgBIAEoDRIUCgx2Y3NfdXNlcm5hbWUYAiABKAkSEQoJdXNlcl9uYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEhYKDnZlbG9jaXR5X3Njb3JlGAUgASgBEhoKEmNvZGVfcXVhbGl0eV9zY29yZRgGIAEoARIbChNjb2xsYWJvcmF0aW9uX3Njb3JlGAcgASgBEhkKEXJlbGlhYmlsaXR5X3Njb3JlGAggASgBEhQKDGltcGFjdF9zY29yZRgJIAEoARIVCg1vdmVyYWxsX3Njb3JlGAogASgBEjAKC3Jhd19tZXRyaWNzGA8gASgLMhsuYXBpLnYxLkRldmVsb3BlclJhd01ldHJpY3MSGQoRdGVzdGluZ19zdWJfc2NvcmUYECABKAESGgoScmV2aWV3X2RlcHRoX3Njb3JlGBEgASgBEhgKEG1lbnRvcnNoaXBfc2NvcmUYEiABKAESGQoRY29uc2lzdGVuY3lfc2NvcmUYEyABKAESGgoScGVyY2VudGlsZV9vdmVyYWxsGBQgASgBEhsKE3BlcmNlbnRpbGVfdmVsb2NpdHkYFSABKAESHwoXcGVyY2VudGlsZV9jb2RlX3F1YWxpdHkYFiABKAESIAoYcGVyY2VudGlsZV9jb2xsYWJvcmF0aW9uGBcgASgBEh4KFnBlcmNlbnRpbGVfcmVsaWFiaWxpdHkYGCABKAESGQoRcGVyY2VudGlsZV9pbXBhY3QYGSABKAESHgoWYXZnX3ByX2xpZmVjeWNsZV9ob3VycxgaIAEoARImCh5hdmdfdGltZV90b19maXJzdF9yZXZpZXdfaG91cnMYGyABKAESHQoVdGFza19jb21wbGV4aXR5X3Njb3JlGBwgASgBEjIKD2ltcGFjdF9hbmFseXNpcxgeIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxIzChBxdWFsaXR5X2FuYWx5c2lzGB8gASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjcKFHJlbGlhYmlsaXR5X2FuYWx5c2lzGCAgASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjkKFmNvbGxhYm9yYXRpb25fYW5hbHlzaXMYISABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSNAoRdmVsb2NpdHlfYW5hbHlzaXMYIiABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSGQoRb3ZlcmFsbF9uYXJyYXRpdmUYIyABKAkSGQoRb3ZlcmFsbF9zdHJlbmd0aHMYJCADKAkSIAoYb3ZlcmFsbF9hcmVhc190b19pbXByb3ZlGCUgAygJEh8KF292ZXJhbGxfcmVjb21tZW5kYXRpb25zGCYgAygJElYKFmNvbW1pdF9jbGFzc2lmaWNhdGlvbnMYJyADKAsyNi5hcGkudjEuRGV2ZWxvcGVyTWV0cmljRGF0YS5Db21taXRDbGFzc2lmaWNhdGlvbnNFbnRyeRo8ChpDb21taXRDbGFzc2lmaWNhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBSgQICxAMSgQIDBANSgQIDRAOSgQIDhAPUgphaV9zdW1tYXJ5UgxhaV9zdHJlbmd0aHNSDWFpX3dlYWtuZXNzZXNSEmFpX3JlY29tbWVuZGF0aW9ucyLCAQoTRGV2ZWxvcGVyUmF3TWV0cmljcxISCgpwcnNfbWVyZ2VkGAEgASgFEg8KB2NvbW1pdHMYAiABKAUSFQoNcmV2aWV3c19naXZlbhgDIAEoBRIZChFhdmdfcHJfc2l6ZV9saW5lcxgEIAEoARIjChthdmdfcmV2aWV3X3R1cm5hcm91bmRfaG91cnMYBSABKAESFQoNaXNzdWVzX2Nsb3NlZBgGIAEoBRIYChBzZWxmX21lcmdlX3JhdGlvGAcgASgBIv0BCg5UZWFtTWV0cmljRGF0YRIWCg52ZWxvY2l0eV9zY29yZRgBIAEoARIaChJjb2RlX3F1YWxpdHlfc2NvcmUYAiABKAESGwoTY29sbGFib3JhdGlvbl9zY29yZRgDIAEoARIZChFyZWxpYWJpbGl0eV9zY29yZRgEIAEoARIUCgxpbXBhY3Rfc2NvcmUYBSABKAESFQoNb3ZlcmFsbF9zY29yZRgGIAEoARIXCg9haV90ZWFtX3N1bW1hcnkYByABKAkSHwoXYWlfdGVhbV9yZWNvbW1lbmRhdGlvbnMYCCADKAkSGAoQdG90YWxfZGV2ZWxvcGVycxgJIAEoBSLJAQoQTWV0cmljUGVyaW9kRGF0YRIKCgJpZBgBIAEoDRITCgtwZXJpb2RfdHlwZRgCIAEoCRISCgpzdGFydF9kYXRlGAMgASgJEhAKCGVuZF9kYXRlGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIXCg9haV9jcmVkaXRzX3VzZWQYBiABKAUSFQoNZXJyb3JfbWVzc2FnZRgHIAEoCRIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLEAQoTRGV2ZWxvcGVyVHJlbmRQb2ludBIUCgxwZXJpb2RfbGFiZWwYASABKAkSFgoOdmVsb2NpdHlfc2NvcmUYAiABKAESGgoSY29kZV9xdWFsaXR5X3Njb3JlGAMgASgBEhsKE2NvbGxhYm9yYXRpb25fc2NvcmUYBCABKAESGQoRcmVsaWFiaWxpdHlfc2NvcmUYBSABKAESFAoMaW1wYWN0X3Njb3JlGAYgASgBEhUKDW92ZXJhbGxfc2NvcmUYByABKAEivwEKDlRlYW1UcmVuZFBvaW50EhQKDHBlcmlvZF9sYWJlbBgBIAEoCRIWCg52ZWxvY2l0eV9zY29yZRgCIAEoARIaChJjb2RlX3F1YWxpdHlfc2NvcmUYAyABKAESGwoTY29sbGFib3JhdGlvbl9zY29yZRgEIAEoARIZChFyZWxpYWJpbGl0eV9zY29yZRgFIAEoARIUCgxpbXBhY3Rfc2NvcmUYBiABKAESFQoNb3ZlcmFsbF9zY29yZRgHIAEoASJoCgpIZWF0bWFwRGF5EgwKBGRhdGUYASABKAkSDQoFY291bnQYAiABKAUSDwoHY29tbWl0cxgDIAEoBRILCgNwcnMYBCABKAUSDwoHcmV2aWV3cxgFIAEoBRIOCgZpc3N1ZXMYBiABKAUiWQoSRGV2ZWxvcGVyVGFza1N0YXRzEhUKDXRhc2tzX2NyZWF0ZWQYASABKAUSFAoMdGFza3NfY2xvc2VkGAIgASgFEhYKDnRhc2tzX2Fzc2lnbmVkGAMgASgFIpQMChREZXZlbG9wZXJQcm9maWxlRGF0YRIPCgd1c2VyX2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCRIRCgl1c2VyX25hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSEgoKYXZhdGFyX3VybBgFIAEoCRIWCg52ZWxvY2l0eV9zY29yZRgGIAEoARIaChJjb2RlX3F1YWxpdHlfc2NvcmUYByABKAESGwoTY29sbGFib3JhdGlvbl9zY29yZRgIIAEoARIZChFyZWxpYWJpbGl0eV9zY29yZRgJIAEoARIUCgxpbXBhY3Rfc2NvcmUYCiABKAESFQoNb3ZlcmFsbF9zY29yZRgLIAEoARIwCgtyYXdfbWV0cmljcxgQIAEoCzIbLmFwaS52MS5EZXZlbG9wZXJSYXdNZXRyaWNzEiMKB2hlYXRtYXAYESADKAsyEi5hcGkudjEuSGVhdG1hcERheRIuCgp0YXNrX3N0YXRzGBIgASgLMhouYXBpLnYxLkRldmVsb3BlclRhc2tTdGF0cxIRCglpc19saW5rZWQYEyABKAgSFgoObGlua2VkX3VzZXJfaWQYFCABKA0SGAoQbGlua2VkX3VzZXJfbmFtZRgVIAEoCRIZChFsaW5rZWRfdXNlcl9lbWFpbBgWIAEoCRIaChJsaW5rZWRfdXNlcl9hdmF0YXIYFyABKAkSGQoRdGVzdGluZ19zdWJfc2NvcmUYGCABKAESGgoScmV2aWV3X2RlcHRoX3Njb3JlGBkgASgBEhgKEG1lbnRvcnNoaXBfc2NvcmUYGiABKAESGQoRY29uc2lzdGVuY3lfc2NvcmUYGyABKAESGgoScGVyY2VudGlsZV9vdmVyYWxsGBwgASgBEhsKE3BlcmNlbnRpbGVfdmVsb2NpdHkYHSABKAESHwoXcGVyY2VudGlsZV9jb2RlX3F1YWxpdHkYHiABKAESIAoYcGVyY2VudGlsZV9jb2xsYWJvcmF0aW9uGB8gASgBEh4KFnBlcmNlbnRpbGVfcmVsaWFiaWxpdHkYICABKAESGQoRcGVyY2VudGlsZV9pbXBhY3QYISABKAESHgoWYXZnX3ByX2xpZmVjeWNsZV9ob3VycxgiIAEoARImCh5hdmdfdGltZV90b19maXJzdF9yZXZpZXdfaG91cnMYIyABKAESHQoVdGFza19jb21wbGV4aXR5X3Njb3JlGCQgASgBEjIKD2ltcGFjdF9hbmFseXNpcxgoIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxIzChBxdWFsaXR5X2FuYWx5c2lzGCkgASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjcKFHJlbGlhYmlsaXR5X2FuYWx5c2lzGCogASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjkKFmNvbGxhYm9yYXRpb25fYW5hbHlzaXMYKyABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSNAoRdmVsb2NpdHlfYW5hbHlzaXMYLCABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSGQoRb3ZlcmFsbF9uYXJyYXRpdmUYLSABKAkSGQoRb3ZlcmFsbF9zdHJlbmd0aHMYLiADKAkSIAoYb3ZlcmFsbF9hcmVhc190b19pbXByb3ZlGC8gAygJEh8KF292ZXJhbGxfcmVjb21tZW5kYXRpb25zGDAgAygJElcKFmNvbW1pdF9jbGFzc2lmaWNhdGlvbnMYMSADKAsyNy5hcGkudjEuRGV2ZWxvcGVyUHJvZmlsZURhdGEuQ29tbWl0Q2xhc3NpZmljYXRpb25zRW50cnkaPAoaQ29tbWl0Q2xhc3NpZmljYXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4AUoECAwQDUoECA0QDkoECA4QD0oECA8QEFIKYWlfc3VtbWFyeVIMYWlfc3RyZW5ndGhzUg1haV93ZWFrbmVzc2VzUhJhaV9yZWNvbW1lbmRhdGlvbnMiZwoMQ29kZUFyZWFEYXRhEhEKCWFyZWFfcGF0aBgBIAEoCRIUCgxjaGFuZ2VfY291bnQYAiABKAUSFQoNbGluZXNfY2hhbmdlZBgDIAEoBRIXCg9sYXN0X2NoYW5nZWRfYXQYBCABKAkiLQoXQ2FuY2VsTWV0cmljc1J1blJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDSItChhDYW5jZWxNZXRyaWNzUnVuUmVzcG9uc2USEQoJY2FuY2VsbGVkGAEgASgIIlcKHEdldERldmVsb3BlckNvZGVBcmVhc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRIUCgx2Y3NfdXNlcm5hbWUYAiABKAkSDQoFbGltaXQYAyABKAUiRAodR2V0RGV2ZWxvcGVyQ29kZUFyZWFzUmVzcG9uc2USIwoFYXJlYXMYASADKAsyFC5hcGkudjEuQ29kZUFyZWFEYXRhIp0BChBBY3Rpdml0eUZlZWRJdGVtEgoKAmlkGAEgASgJEg4KBnNvdXJjZRgCIAEoCRISCgpldmVudF90eXBlGAMgASgJEg0KBXRpdGxlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhMKC29jY3VycmVkX2F0GAcgASgJEgsKA3VybBgIIAEoCRITCgtlbnRpdHlfdXVpZBgJIAEoCSKwAgoRRGltZW5zaW9uQW5hbHlzaXMSDQoFc2NvcmUYASABKAESEQoJbmFycmF0aXZlGAIgASgJEhEKCXN0cmVuZ3RocxgDIAMoCRIYChBhcmVhc190b19pbXByb3ZlGAQgAygJEioKDGtleV9ldmlkZW5jZRgFIAMoCzIULmFwaS52MS5FdmlkZW5jZUl0ZW0SHgoRdGVzdGluZ19zdWJfc2NvcmUYBiABKAFIAIgBARIfChJyZXZpZXdfZGVwdGhfc2NvcmUYByABKAFIAYgBARIdChBtZW50b3JzaGlwX3Njb3JlGAggASgBSAKIAQFCFAoSX3Rlc3Rpbmdfc3ViX3Njb3JlQhUKE19yZXZpZXdfZGVwdGhfc2NvcmVCEwoRX21lbnRvcnNoaXBfc2NvcmUiOQoMRXZpZGVuY2VJdGVtEgwKBHR5cGUYASABKAkSCwoDcmVmGAIgASgJEg4KBmRldGFpbBgDIAEoCSIzCh1TdHJlYW1BbmFseXNpc1Byb2dyZXNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNIpICChZBbmFseXNpc1Byb2dyZXNzVXBkYXRlEiQKBXN0YWdlGAEgASgOMhUuYXBpLnYxLkFuYWx5c2lzU3RhZ2USDwoHbWVzc2FnZRgCIAEoCRIYChB0b3RhbF9kZXZlbG9wZXJzGAMgASgFEh8KF2N1cnJlbnRfZGV2ZWxvcGVyX2luZGV4GAQgASgFEh4KFmN1cnJlbnRfZGV2ZWxvcGVyX25hbWUYBSABKAkSNQoOZGV2ZWxvcGVyX3N0ZXAYBiABKA4yHS5hcGkudjEuQW5hbHlzaXNEZXZlbG9wZXJTdGVwEhgKEHByb2dyZXNzX3BlcmNlbnQYByABKAESFQoNZXJyb3JfbWVzc2FnZRgIIAEoCSI7ChRUb2dnbGVNZXRyaWNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEg8KB2VuYWJsZWQYAiABKAgiMAoVVG9nZ2xlTWV0cmljc1Jlc3BvbnNlEhcKD21ldHJpY3NfZW5hYmxlZBgBIAEoCCrDAgoNQW5hbHlzaXNTdGFnZRIeChpBTkFMWVNJU19TVEFHRV9VTlNQRUNJRklFRBAAEh8KG0FOQUxZU0lTX1NUQUdFX0lOSVRJQUxJWklORxABEiMKH0FOQUxZU0lTX1NUQUdFX0NPTExFQ1RJTkdfUkVQT1MQAhIlCiFBTkFMWVNJU19TVEFHRV9BR0dSRUdBVElOR19FVkVOVFMQAxImCiJBTkFMWVNJU19TVEFHRV9BTkFMWVpJTkdfREVWRUxPUEVSEAQSIgoeQU5BTFlTSVNfU1RBR0VfUE9TVF9QUk9DRVNTSU5HEAUSIAocQU5BTFlTSVNfU1RBR0VfVEVBTV9BTkFMWVNJUxAGEhwKGEFOQUxZU0lTX1NUQUdFX0NPTVBMRVRFRBAHEhkKFUFOQUxZU0lTX1NUQUdFX0ZBSUxFRBAIKv8BChVBbmFseXNpc0RldmVsb3BlclN0ZXASIQodQU5BTFlTSVNfREVWX1NURVBfVU5TUEVDSUZJRUQQABIrCidBTkFMWVNJU19ERVZfU1RFUF9DT01NSVRfQ0xBU1NJRklDQVRJT04QARIkCiBBTkFMWVNJU19ERVZfU1RFUF9JTVBBQ1RfUVVBTElUWRACEioKJkFOQUxZU0lTX0RFVl9TVEVQX1JFTElBQklMSVRZX1ZFTE9DSVRZEAMSIwofQU5BTFlTSVNfREVWX1NURVBfQ09MTEFCT1JBVElPThAEEh8KG0FOQUxZU0lTX0RFVl9TVEVQX1NZTlRIRVNJUxAFMqERChdEZXZlbG9wZXJNZXRyaWNzU2VydmljZRKYAQoTR2V0RGV2ZWxvcGVyTWV0cmljcxIiLmFwaS52MS5HZXREZXZlbG9wZXJNZXRyaWNzUmVxdWVzdBojLmFwaS52MS5HZXREZXZlbG9wZXJNZXRyaWNzUmVzcG9uc2UiOILT5JMCMhIwL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vbWV0cmljcy9kZXZlbG9wZXJzEoMBCg5HZXRUZWFtTWV0cmljcxIdLmFwaS52MS5HZXRUZWFtTWV0cmljc1JlcXVlc3QaHi5hcGkudjEuR2V0VGVhbU1ldHJpY3NSZXNwb25zZSIygtPkkwIsEiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RlYW0SlwEKEUdldERldmVsb3BlclRyZW5kEiAuYXBpLnYxLkdldERldmVsb3BlclRyZW5kUmVxdWVzdBohLmFwaS52MS5HZXREZXZlbG9wZXJUcmVuZFJlc3BvbnNlIj2C0+STAjcSNS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyLXRyZW5kEoMBCgxHZXRUZWFtVHJlbmQSGy5hcGkudjEuR2V0VGVhbVRyZW5kUmVxdWVzdBocLmFwaS52MS5HZXRUZWFtVHJlbmRSZXNwb25zZSI4gtPkkwIyEjAvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RlYW0vdHJlbmQSjgEKEVRyaWdnZXJNZXRyaWNzUnVuEiAuYXBpLnYxLlRyaWdnZXJNZXRyaWNzUnVuUmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyTWV0cmljc1J1blJlc3BvbnNlIjSC0+STAi46ASoiKS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvcnVuEo8BChFHZXRNZXRyaWNzUGVyaW9kcxIgLmFwaS52MS5HZXRNZXRyaWNzUGVyaW9kc1JlcXVlc3QaIS5hcGkudjEuR2V0TWV0cmljc1BlcmlvZHNSZXNwb25zZSI1gtPkkwIvEi0vYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3BlcmlvZHMSrgEKE0dldERldmVsb3BlclByb2ZpbGUSIi5hcGkudjEuR2V0RGV2ZWxvcGVyUHJvZmlsZVJlcXVlc3QaIy5hcGkudjEuR2V0RGV2ZWxvcGVyUHJvZmlsZVJlc3BvbnNlIk6C0+STAkgSRi9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L3Byb2ZpbGUSugEKGEdldERldmVsb3BlckFjdGl2aXR5RmVlZBInLmFwaS52MS5HZXREZXZlbG9wZXJBY3Rpdml0eUZlZWRSZXF1ZXN0GiguYXBpLnYxLkdldERldmVsb3BlckFjdGl2aXR5RmVlZFJlc3BvbnNlIkuC0+STAkUSQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2ZlZWQSnwEKDkxpbmtWQ1NQcm9maWxlEh0uYXBpLnYxLkxpbmtWQ1NQcm9maWxlUmVxdWVzdBoeLmFwaS52MS5MaW5rVkNTUHJvZmlsZVJlc3BvbnNlIk6C0+STAkg6ASoiQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2xpbmsSogEKEFVubGlua1ZDU1Byb2ZpbGUSHy5hcGkudjEuVW5saW5rVkNTUHJvZmlsZVJlcXVlc3QaIC5hcGkudjEuVW5saW5rVkNTUHJvZmlsZVJlc3BvbnNlIkuC0+STAkUqQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2xpbmsStwEKFUdldERldmVsb3BlckNvZGVBcmVhcxIkLmFwaS52MS5HZXREZXZlbG9wZXJDb2RlQXJlYXNSZXF1ZXN0GiUuYXBpLnYxLkdldERldmVsb3BlckNvZGVBcmVhc1Jlc3BvbnNlIlGC0+STAksSSS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2NvZGUtYXJlYXMSjgEKEENhbmNlbE1ldHJpY3NSdW4SHy5hcGkudjEuQ2FuY2VsTWV0cmljc1J1blJlcXVlc3QaIC5hcGkudjEuQ2FuY2VsTWV0cmljc1J1blJlc3BvbnNlIjeC0+STAjE6ASoiLC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvY2FuY2VsEpkBChZTdHJlYW1BbmFseXNpc1Byb2dyZXNzEiUuYXBpLnYxLlN0cmVhbUFuYWx5c2lzUHJvZ3Jlc3NSZXF1ZXN0Gh4uYXBpLnYxLkFuYWx5c2lzUHJvZ3Jlc3NVcGRhdGUiNoLT5JMCMBIuL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vbWV0cmljcy9wcm9ncmVzczABEoUBCg1Ub2dnbGVNZXRyaWNzEhwuYXBpLnYxLlRvZ2dsZU1ldHJpY3NSZXF1ZXN0Gh0uYXBpLnYxLlRvZ2dsZU1ldHJpY3NSZXNwb25zZSI3gtPkkwIxOgEqIiwvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RvZ2dsZUJ6Cgpjb20uYXBpLnYxQhVEZXZlbG9wZXJNZXRyaWNzUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_api_annotations, file_google_protobuf_timestamp]);
14
+ fileDesc("Ch5hcGkvdjEvZGV2ZWxvcGVyX21ldHJpY3MucHJvdG8SBmFwaS52MSJDChpHZXREZXZlbG9wZXJNZXRyaWNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhEKCXBlcmlvZF9pZBgCIAEoDSI+ChVHZXRUZWFtTWV0cmljc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRIRCglwZXJpb2RfaWQYAiABKA0iZgoYR2V0RGV2ZWxvcGVyVHJlbmRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SDwoHdXNlcl9pZBgCIAEoDRIUCgx2Y3NfdXNlcm5hbWUYAyABKAkSDwoHcGVyaW9kcxgEIAEoBSI6ChNHZXRUZWFtVHJlbmRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SDwoHcGVyaW9kcxgCIAEoBSJDChhUcmlnZ2VyTWV0cmljc1J1blJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDRITCgtwZXJpb2RfdHlwZRgCIAEoCSIuChhHZXRNZXRyaWNzUGVyaW9kc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoDSJGChpHZXREZXZlbG9wZXJQcm9maWxlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCSJqCh9HZXREZXZlbG9wZXJBY3Rpdml0eUZlZWRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SFAoMdmNzX3VzZXJuYW1lGAIgASgJEg0KBWxpbWl0GAMgASgFEg4KBm9mZnNldBgEIAEoBSJgChVMaW5rVkNTUHJvZmlsZVJlcXVlc3QSIAoKcHJvamVjdF9pZBgBIAEoDUIMgrUYCHByb2plY3RzEhQKDHZjc191c2VybmFtZRgCIAEoCRIPCgd1c2VyX2lkGAMgASgNIkMKF1VubGlua1ZDU1Byb2ZpbGVSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKA0SFAoMdmNzX3VzZXJuYW1lGAIgASgJIngKG0dldERldmVsb3Blck1ldHJpY3NSZXNwb25zZRIvCgpkZXZlbG9wZXJzGAEgAygLMhsuYXBpLnYxLkRldmVsb3Blck1ldHJpY0RhdGESKAoGcGVyaW9kGAIgASgLMhguYXBpLnYxLk1ldHJpY1BlcmlvZERhdGEiaAoWR2V0VGVhbU1ldHJpY3NSZXNwb25zZRIkCgR0ZWFtGAEgASgLMhYuYXBpLnYxLlRlYW1NZXRyaWNEYXRhEigKBnBlcmlvZBgCIAEoCzIYLmFwaS52MS5NZXRyaWNQZXJpb2REYXRhIkYKGUdldERldmVsb3BlclRyZW5kUmVzcG9uc2USKQoEZGF0YRgBIAMoCzIbLmFwaS52MS5EZXZlbG9wZXJUcmVuZFBvaW50IjwKFEdldFRlYW1UcmVuZFJlc3BvbnNlEiQKBGRhdGEYASADKAsyFi5hcGkudjEuVGVhbVRyZW5kUG9pbnQibwoZVHJpZ2dlck1ldHJpY3NSdW5SZXNwb25zZRIRCglwZXJpb2RfaWQYASABKA0SDgoGc3RhdHVzGAIgASgJEhQKDGNyZWRpdHNfdXNlZBgDIAEoBRIZChFhdmFpbGFibGVfY3JlZGl0cxgEIAEoBSJGChlHZXRNZXRyaWNzUGVyaW9kc1Jlc3BvbnNlEikKB3BlcmlvZHMYASADKAsyGC5hcGkudjEuTWV0cmljUGVyaW9kRGF0YSJMChtHZXREZXZlbG9wZXJQcm9maWxlUmVzcG9uc2USLQoHcHJvZmlsZRgBIAEoCzIcLmFwaS52MS5EZXZlbG9wZXJQcm9maWxlRGF0YSJLCiBHZXREZXZlbG9wZXJBY3Rpdml0eUZlZWRSZXNwb25zZRInCgVpdGVtcxgBIAMoCzIYLmFwaS52MS5BY3Rpdml0eUZlZWRJdGVtIkcKFkxpbmtWQ1NQcm9maWxlUmVzcG9uc2USLQoHcHJvZmlsZRgBIAEoCzIcLmFwaS52MS5EZXZlbG9wZXJQcm9maWxlRGF0YSIrChhVbmxpbmtWQ1NQcm9maWxlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKtCgoTRGV2ZWxvcGVyTWV0cmljRGF0YRIPCgd1c2VyX2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCRIRCgl1c2VyX25hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoOdmVsb2NpdHlfc2NvcmUYBSABKAESGgoSY29kZV9xdWFsaXR5X3Njb3JlGAYgASgBEhsKE2NvbGxhYm9yYXRpb25fc2NvcmUYByABKAESGQoRcmVsaWFiaWxpdHlfc2NvcmUYCCABKAESFAoMaW1wYWN0X3Njb3JlGAkgASgBEhUKDW92ZXJhbGxfc2NvcmUYCiABKAESMAoLcmF3X21ldHJpY3MYDyABKAsyGy5hcGkudjEuRGV2ZWxvcGVyUmF3TWV0cmljcxIZChF0ZXN0aW5nX3N1Yl9zY29yZRgQIAEoARIaChJyZXZpZXdfZGVwdGhfc2NvcmUYESABKAESGAoQbWVudG9yc2hpcF9zY29yZRgSIAEoARIZChFjb25zaXN0ZW5jeV9zY29yZRgTIAEoARIaChJwZXJjZW50aWxlX292ZXJhbGwYFCABKAESGwoTcGVyY2VudGlsZV92ZWxvY2l0eRgVIAEoARIfChdwZXJjZW50aWxlX2NvZGVfcXVhbGl0eRgWIAEoARIgChhwZXJjZW50aWxlX2NvbGxhYm9yYXRpb24YFyABKAESHgoWcGVyY2VudGlsZV9yZWxpYWJpbGl0eRgYIAEoARIZChFwZXJjZW50aWxlX2ltcGFjdBgZIAEoARIeChZhdmdfcHJfbGlmZWN5Y2xlX2hvdXJzGBogASgBEiYKHmF2Z190aW1lX3RvX2ZpcnN0X3Jldmlld19ob3VycxgbIAEoARIdChV0YXNrX2NvbXBsZXhpdHlfc2NvcmUYHCABKAESMgoPaW1wYWN0X2FuYWx5c2lzGB4gASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjMKEHF1YWxpdHlfYW5hbHlzaXMYHyABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSNwoUcmVsaWFiaWxpdHlfYW5hbHlzaXMYICABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSOQoWY29sbGFib3JhdGlvbl9hbmFseXNpcxghIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxI0ChF2ZWxvY2l0eV9hbmFseXNpcxgiIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxIZChFvdmVyYWxsX25hcnJhdGl2ZRgjIAEoCRIZChFvdmVyYWxsX3N0cmVuZ3RocxgkIAMoCRIgChhvdmVyYWxsX2FyZWFzX3RvX2ltcHJvdmUYJSADKAkSHwoXb3ZlcmFsbF9yZWNvbW1lbmRhdGlvbnMYJiADKAkSVgoWY29tbWl0X2NsYXNzaWZpY2F0aW9ucxgnIAMoCzI2LmFwaS52MS5EZXZlbG9wZXJNZXRyaWNEYXRhLkNvbW1pdENsYXNzaWZpY2F0aW9uc0VudHJ5GjwKGkNvbW1pdENsYXNzaWZpY2F0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAFKBAgLEAxKBAgMEA1KBAgNEA5KBAgOEA9SCmFpX3N1bW1hcnlSDGFpX3N0cmVuZ3Roc1INYWlfd2Vha25lc3Nlc1ISYWlfcmVjb21tZW5kYXRpb25zIsIBChNEZXZlbG9wZXJSYXdNZXRyaWNzEhIKCnByc19tZXJnZWQYASABKAUSDwoHY29tbWl0cxgCIAEoBRIVCg1yZXZpZXdzX2dpdmVuGAMgASgFEhkKEWF2Z19wcl9zaXplX2xpbmVzGAQgASgBEiMKG2F2Z19yZXZpZXdfdHVybmFyb3VuZF9ob3VycxgFIAEoARIVCg1pc3N1ZXNfY2xvc2VkGAYgASgFEhgKEHNlbGZfbWVyZ2VfcmF0aW8YByABKAEi/QEKDlRlYW1NZXRyaWNEYXRhEhYKDnZlbG9jaXR5X3Njb3JlGAEgASgBEhoKEmNvZGVfcXVhbGl0eV9zY29yZRgCIAEoARIbChNjb2xsYWJvcmF0aW9uX3Njb3JlGAMgASgBEhkKEXJlbGlhYmlsaXR5X3Njb3JlGAQgASgBEhQKDGltcGFjdF9zY29yZRgFIAEoARIVCg1vdmVyYWxsX3Njb3JlGAYgASgBEhcKD2FpX3RlYW1fc3VtbWFyeRgHIAEoCRIfChdhaV90ZWFtX3JlY29tbWVuZGF0aW9ucxgIIAMoCRIYChB0b3RhbF9kZXZlbG9wZXJzGAkgASgFIskBChBNZXRyaWNQZXJpb2REYXRhEgoKAmlkGAEgASgNEhMKC3BlcmlvZF90eXBlGAIgASgJEhIKCnN0YXJ0X2RhdGUYAyABKAkSEAoIZW5kX2RhdGUYBCABKAkSDgoGc3RhdHVzGAUgASgJEhcKD2FpX2NyZWRpdHNfdXNlZBgGIAEoBRIVCg1lcnJvcl9tZXNzYWdlGAcgASgJEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsQBChNEZXZlbG9wZXJUcmVuZFBvaW50EhQKDHBlcmlvZF9sYWJlbBgBIAEoCRIWCg52ZWxvY2l0eV9zY29yZRgCIAEoARIaChJjb2RlX3F1YWxpdHlfc2NvcmUYAyABKAESGwoTY29sbGFib3JhdGlvbl9zY29yZRgEIAEoARIZChFyZWxpYWJpbGl0eV9zY29yZRgFIAEoARIUCgxpbXBhY3Rfc2NvcmUYBiABKAESFQoNb3ZlcmFsbF9zY29yZRgHIAEoASK/AQoOVGVhbVRyZW5kUG9pbnQSFAoMcGVyaW9kX2xhYmVsGAEgASgJEhYKDnZlbG9jaXR5X3Njb3JlGAIgASgBEhoKEmNvZGVfcXVhbGl0eV9zY29yZRgDIAEoARIbChNjb2xsYWJvcmF0aW9uX3Njb3JlGAQgASgBEhkKEXJlbGlhYmlsaXR5X3Njb3JlGAUgASgBEhQKDGltcGFjdF9zY29yZRgGIAEoARIVCg1vdmVyYWxsX3Njb3JlGAcgASgBImgKCkhlYXRtYXBEYXkSDAoEZGF0ZRgBIAEoCRINCgVjb3VudBgCIAEoBRIPCgdjb21taXRzGAMgASgFEgsKA3BycxgEIAEoBRIPCgdyZXZpZXdzGAUgASgFEg4KBmlzc3VlcxgGIAEoBSJZChJEZXZlbG9wZXJUYXNrU3RhdHMSFQoNdGFza3NfY3JlYXRlZBgBIAEoBRIUCgx0YXNrc19jbG9zZWQYAiABKAUSFgoOdGFza3NfYXNzaWduZWQYAyABKAUilAwKFERldmVsb3BlclByb2ZpbGVEYXRhEg8KB3VzZXJfaWQYASABKA0SFAoMdmNzX3VzZXJuYW1lGAIgASgJEhEKCXVzZXJfbmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRISCgphdmF0YXJfdXJsGAUgASgJEhYKDnZlbG9jaXR5X3Njb3JlGAYgASgBEhoKEmNvZGVfcXVhbGl0eV9zY29yZRgHIAEoARIbChNjb2xsYWJvcmF0aW9uX3Njb3JlGAggASgBEhkKEXJlbGlhYmlsaXR5X3Njb3JlGAkgASgBEhQKDGltcGFjdF9zY29yZRgKIAEoARIVCg1vdmVyYWxsX3Njb3JlGAsgASgBEjAKC3Jhd19tZXRyaWNzGBAgASgLMhsuYXBpLnYxLkRldmVsb3BlclJhd01ldHJpY3MSIwoHaGVhdG1hcBgRIAMoCzISLmFwaS52MS5IZWF0bWFwRGF5Ei4KCnRhc2tfc3RhdHMYEiABKAsyGi5hcGkudjEuRGV2ZWxvcGVyVGFza1N0YXRzEhEKCWlzX2xpbmtlZBgTIAEoCBIWCg5saW5rZWRfdXNlcl9pZBgUIAEoDRIYChBsaW5rZWRfdXNlcl9uYW1lGBUgASgJEhkKEWxpbmtlZF91c2VyX2VtYWlsGBYgASgJEhoKEmxpbmtlZF91c2VyX2F2YXRhchgXIAEoCRIZChF0ZXN0aW5nX3N1Yl9zY29yZRgYIAEoARIaChJyZXZpZXdfZGVwdGhfc2NvcmUYGSABKAESGAoQbWVudG9yc2hpcF9zY29yZRgaIAEoARIZChFjb25zaXN0ZW5jeV9zY29yZRgbIAEoARIaChJwZXJjZW50aWxlX292ZXJhbGwYHCABKAESGwoTcGVyY2VudGlsZV92ZWxvY2l0eRgdIAEoARIfChdwZXJjZW50aWxlX2NvZGVfcXVhbGl0eRgeIAEoARIgChhwZXJjZW50aWxlX2NvbGxhYm9yYXRpb24YHyABKAESHgoWcGVyY2VudGlsZV9yZWxpYWJpbGl0eRggIAEoARIZChFwZXJjZW50aWxlX2ltcGFjdBghIAEoARIeChZhdmdfcHJfbGlmZWN5Y2xlX2hvdXJzGCIgASgBEiYKHmF2Z190aW1lX3RvX2ZpcnN0X3Jldmlld19ob3VycxgjIAEoARIdChV0YXNrX2NvbXBsZXhpdHlfc2NvcmUYJCABKAESMgoPaW1wYWN0X2FuYWx5c2lzGCggASgLMhkuYXBpLnYxLkRpbWVuc2lvbkFuYWx5c2lzEjMKEHF1YWxpdHlfYW5hbHlzaXMYKSABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSNwoUcmVsaWFiaWxpdHlfYW5hbHlzaXMYKiABKAsyGS5hcGkudjEuRGltZW5zaW9uQW5hbHlzaXMSOQoWY29sbGFib3JhdGlvbl9hbmFseXNpcxgrIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxI0ChF2ZWxvY2l0eV9hbmFseXNpcxgsIAEoCzIZLmFwaS52MS5EaW1lbnNpb25BbmFseXNpcxIZChFvdmVyYWxsX25hcnJhdGl2ZRgtIAEoCRIZChFvdmVyYWxsX3N0cmVuZ3RocxguIAMoCRIgChhvdmVyYWxsX2FyZWFzX3RvX2ltcHJvdmUYLyADKAkSHwoXb3ZlcmFsbF9yZWNvbW1lbmRhdGlvbnMYMCADKAkSVwoWY29tbWl0X2NsYXNzaWZpY2F0aW9ucxgxIAMoCzI3LmFwaS52MS5EZXZlbG9wZXJQcm9maWxlRGF0YS5Db21taXRDbGFzc2lmaWNhdGlvbnNFbnRyeRo8ChpDb21taXRDbGFzc2lmaWNhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBSgQIDBANSgQIDRAOSgQIDhAPSgQIDxAQUgphaV9zdW1tYXJ5UgxhaV9zdHJlbmd0aHNSDWFpX3dlYWtuZXNzZXNSEmFpX3JlY29tbWVuZGF0aW9ucyJnCgxDb2RlQXJlYURhdGESEQoJYXJlYV9wYXRoGAEgASgJEhQKDGNoYW5nZV9jb3VudBgCIAEoBRIVCg1saW5lc19jaGFuZ2VkGAMgASgFEhcKD2xhc3RfY2hhbmdlZF9hdBgEIAEoCSItChdDYW5jZWxNZXRyaWNzUnVuUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNIi0KGENhbmNlbE1ldHJpY3NSdW5SZXNwb25zZRIRCgljYW5jZWxsZWQYASABKAgiVwocR2V0RGV2ZWxvcGVyQ29kZUFyZWFzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEhQKDHZjc191c2VybmFtZRgCIAEoCRINCgVsaW1pdBgDIAEoBSJECh1HZXREZXZlbG9wZXJDb2RlQXJlYXNSZXNwb25zZRIjCgVhcmVhcxgBIAMoCzIULmFwaS52MS5Db2RlQXJlYURhdGEiuQEKEEFjdGl2aXR5RmVlZEl0ZW0SCgoCaWQYASABKAkSDgoGc291cmNlGAIgASgJEhIKCmV2ZW50X3R5cGUYAyABKAkSDQoFdGl0bGUYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSEwoLb2NjdXJyZWRfYXQYByABKAkSCwoDdXJsGAggASgJEhkKEWVudGl0eV9pZGVudGlmaWVyGAkgASgJEhQKDGVudGl0eV90aXRsZRgKIAEoCSKwAgoRRGltZW5zaW9uQW5hbHlzaXMSDQoFc2NvcmUYASABKAESEQoJbmFycmF0aXZlGAIgASgJEhEKCXN0cmVuZ3RocxgDIAMoCRIYChBhcmVhc190b19pbXByb3ZlGAQgAygJEioKDGtleV9ldmlkZW5jZRgFIAMoCzIULmFwaS52MS5FdmlkZW5jZUl0ZW0SHgoRdGVzdGluZ19zdWJfc2NvcmUYBiABKAFIAIgBARIfChJyZXZpZXdfZGVwdGhfc2NvcmUYByABKAFIAYgBARIdChBtZW50b3JzaGlwX3Njb3JlGAggASgBSAKIAQFCFAoSX3Rlc3Rpbmdfc3ViX3Njb3JlQhUKE19yZXZpZXdfZGVwdGhfc2NvcmVCEwoRX21lbnRvcnNoaXBfc2NvcmUiOQoMRXZpZGVuY2VJdGVtEgwKBHR5cGUYASABKAkSCwoDcmVmGAIgASgJEg4KBmRldGFpbBgDIAEoCSIzCh1TdHJlYW1BbmFseXNpc1Byb2dyZXNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNIpICChZBbmFseXNpc1Byb2dyZXNzVXBkYXRlEiQKBXN0YWdlGAEgASgOMhUuYXBpLnYxLkFuYWx5c2lzU3RhZ2USDwoHbWVzc2FnZRgCIAEoCRIYChB0b3RhbF9kZXZlbG9wZXJzGAMgASgFEh8KF2N1cnJlbnRfZGV2ZWxvcGVyX2luZGV4GAQgASgFEh4KFmN1cnJlbnRfZGV2ZWxvcGVyX25hbWUYBSABKAkSNQoOZGV2ZWxvcGVyX3N0ZXAYBiABKA4yHS5hcGkudjEuQW5hbHlzaXNEZXZlbG9wZXJTdGVwEhgKEHByb2dyZXNzX3BlcmNlbnQYByABKAESFQoNZXJyb3JfbWVzc2FnZRgIIAEoCSI7ChRUb2dnbGVNZXRyaWNzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgNEg8KB2VuYWJsZWQYAiABKAgiMAoVVG9nZ2xlTWV0cmljc1Jlc3BvbnNlEhcKD21ldHJpY3NfZW5hYmxlZBgBIAEoCCrDAgoNQW5hbHlzaXNTdGFnZRIeChpBTkFMWVNJU19TVEFHRV9VTlNQRUNJRklFRBAAEh8KG0FOQUxZU0lTX1NUQUdFX0lOSVRJQUxJWklORxABEiMKH0FOQUxZU0lTX1NUQUdFX0NPTExFQ1RJTkdfUkVQT1MQAhIlCiFBTkFMWVNJU19TVEFHRV9BR0dSRUdBVElOR19FVkVOVFMQAxImCiJBTkFMWVNJU19TVEFHRV9BTkFMWVpJTkdfREVWRUxPUEVSEAQSIgoeQU5BTFlTSVNfU1RBR0VfUE9TVF9QUk9DRVNTSU5HEAUSIAocQU5BTFlTSVNfU1RBR0VfVEVBTV9BTkFMWVNJUxAGEhwKGEFOQUxZU0lTX1NUQUdFX0NPTVBMRVRFRBAHEhkKFUFOQUxZU0lTX1NUQUdFX0ZBSUxFRBAIKv8BChVBbmFseXNpc0RldmVsb3BlclN0ZXASIQodQU5BTFlTSVNfREVWX1NURVBfVU5TUEVDSUZJRUQQABIrCidBTkFMWVNJU19ERVZfU1RFUF9DT01NSVRfQ0xBU1NJRklDQVRJT04QARIkCiBBTkFMWVNJU19ERVZfU1RFUF9JTVBBQ1RfUVVBTElUWRACEioKJkFOQUxZU0lTX0RFVl9TVEVQX1JFTElBQklMSVRZX1ZFTE9DSVRZEAMSIwofQU5BTFlTSVNfREVWX1NURVBfQ09MTEFCT1JBVElPThAEEh8KG0FOQUxZU0lTX0RFVl9TVEVQX1NZTlRIRVNJUxAFMqERChdEZXZlbG9wZXJNZXRyaWNzU2VydmljZRKYAQoTR2V0RGV2ZWxvcGVyTWV0cmljcxIiLmFwaS52MS5HZXREZXZlbG9wZXJNZXRyaWNzUmVxdWVzdBojLmFwaS52MS5HZXREZXZlbG9wZXJNZXRyaWNzUmVzcG9uc2UiOILT5JMCMhIwL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vbWV0cmljcy9kZXZlbG9wZXJzEoMBCg5HZXRUZWFtTWV0cmljcxIdLmFwaS52MS5HZXRUZWFtTWV0cmljc1JlcXVlc3QaHi5hcGkudjEuR2V0VGVhbU1ldHJpY3NSZXNwb25zZSIygtPkkwIsEiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RlYW0SlwEKEUdldERldmVsb3BlclRyZW5kEiAuYXBpLnYxLkdldERldmVsb3BlclRyZW5kUmVxdWVzdBohLmFwaS52MS5HZXREZXZlbG9wZXJUcmVuZFJlc3BvbnNlIj2C0+STAjcSNS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyLXRyZW5kEoMBCgxHZXRUZWFtVHJlbmQSGy5hcGkudjEuR2V0VGVhbVRyZW5kUmVxdWVzdBocLmFwaS52MS5HZXRUZWFtVHJlbmRSZXNwb25zZSI4gtPkkwIyEjAvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RlYW0vdHJlbmQSjgEKEVRyaWdnZXJNZXRyaWNzUnVuEiAuYXBpLnYxLlRyaWdnZXJNZXRyaWNzUnVuUmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyTWV0cmljc1J1blJlc3BvbnNlIjSC0+STAi46ASoiKS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvcnVuEo8BChFHZXRNZXRyaWNzUGVyaW9kcxIgLmFwaS52MS5HZXRNZXRyaWNzUGVyaW9kc1JlcXVlc3QaIS5hcGkudjEuR2V0TWV0cmljc1BlcmlvZHNSZXNwb25zZSI1gtPkkwIvEi0vYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3BlcmlvZHMSrgEKE0dldERldmVsb3BlclByb2ZpbGUSIi5hcGkudjEuR2V0RGV2ZWxvcGVyUHJvZmlsZVJlcXVlc3QaIy5hcGkudjEuR2V0RGV2ZWxvcGVyUHJvZmlsZVJlc3BvbnNlIk6C0+STAkgSRi9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L3Byb2ZpbGUSugEKGEdldERldmVsb3BlckFjdGl2aXR5RmVlZBInLmFwaS52MS5HZXREZXZlbG9wZXJBY3Rpdml0eUZlZWRSZXF1ZXN0GiguYXBpLnYxLkdldERldmVsb3BlckFjdGl2aXR5RmVlZFJlc3BvbnNlIkuC0+STAkUSQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2ZlZWQSnwEKDkxpbmtWQ1NQcm9maWxlEh0uYXBpLnYxLkxpbmtWQ1NQcm9maWxlUmVxdWVzdBoeLmFwaS52MS5MaW5rVkNTUHJvZmlsZVJlc3BvbnNlIk6C0+STAkg6ASoiQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2xpbmsSogEKEFVubGlua1ZDU1Byb2ZpbGUSHy5hcGkudjEuVW5saW5rVkNTUHJvZmlsZVJlcXVlc3QaIC5hcGkudjEuVW5saW5rVkNTUHJvZmlsZVJlc3BvbnNlIkuC0+STAkUqQy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2xpbmsStwEKFUdldERldmVsb3BlckNvZGVBcmVhcxIkLmFwaS52MS5HZXREZXZlbG9wZXJDb2RlQXJlYXNSZXF1ZXN0GiUuYXBpLnYxLkdldERldmVsb3BlckNvZGVBcmVhc1Jlc3BvbnNlIlGC0+STAksSSS9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvZGV2ZWxvcGVyL3t2Y3NfdXNlcm5hbWV9L2NvZGUtYXJlYXMSjgEKEENhbmNlbE1ldHJpY3NSdW4SHy5hcGkudjEuQ2FuY2VsTWV0cmljc1J1blJlcXVlc3QaIC5hcGkudjEuQ2FuY2VsTWV0cmljc1J1blJlc3BvbnNlIjeC0+STAjE6ASoiLC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L21ldHJpY3MvY2FuY2VsEpkBChZTdHJlYW1BbmFseXNpc1Byb2dyZXNzEiUuYXBpLnYxLlN0cmVhbUFuYWx5c2lzUHJvZ3Jlc3NSZXF1ZXN0Gh4uYXBpLnYxLkFuYWx5c2lzUHJvZ3Jlc3NVcGRhdGUiNoLT5JMCMBIuL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vbWV0cmljcy9wcm9ncmVzczABEoUBCg1Ub2dnbGVNZXRyaWNzEhwuYXBpLnYxLlRvZ2dsZU1ldHJpY3NSZXF1ZXN0Gh0uYXBpLnYxLlRvZ2dsZU1ldHJpY3NSZXNwb25zZSI3gtPkkwIxOgEqIiwvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9tZXRyaWNzL3RvZ2dsZUJ6Cgpjb20uYXBpLnYxQhVEZXZlbG9wZXJNZXRyaWNzUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_api_annotations, file_google_protobuf_timestamp, file_fk_foreign_key]);
14
15
 
15
16
  /**
16
17
  * Describes the message api.v1.GetDeveloperMetricsRequest.
@@ -878,11 +878,6 @@ export declare type DocPage = Message<"api.v1.DocPage"> & {
878
878
  */
879
879
  displayOrder: number;
880
880
 
881
- /**
882
- * @generated from field: uint32 doc_space_id = 10;
883
- */
884
- docSpaceId: number;
885
-
886
881
  /**
887
882
  * @generated from field: api.v1.DocSpace doc_space = 11;
888
883
  */
@@ -1848,6 +1843,11 @@ export declare type Task = Message<"api.v1.Task"> & {
1848
1843
  * @generated from field: api.v1.Initiative initiative = 48;
1849
1844
  */
1850
1845
  initiative?: Initiative;
1846
+
1847
+ /**
1848
+ * @generated from field: uint32 comment_count = 49;
1849
+ */
1850
+ commentCount: number;
1851
1851
  };
1852
1852
 
1853
1853
  /**
@@ -2130,6 +2130,61 @@ export declare type TaskPullRequest = Message<"api.v1.TaskPullRequest"> & {
2130
2130
  * @generated from field: api.v1.VCSProvider provider = 9;
2131
2131
  */
2132
2132
  provider: VCSProvider;
2133
+
2134
+ /**
2135
+ * @generated from field: string author = 10;
2136
+ */
2137
+ author: string;
2138
+
2139
+ /**
2140
+ * @generated from field: bool draft = 11;
2141
+ */
2142
+ draft: boolean;
2143
+
2144
+ /**
2145
+ * @generated from field: string head_sha = 12;
2146
+ */
2147
+ headSha: string;
2148
+
2149
+ /**
2150
+ * @generated from field: string head_branch = 13;
2151
+ */
2152
+ headBranch: string;
2153
+
2154
+ /**
2155
+ * @generated from field: string base_branch = 14;
2156
+ */
2157
+ baseBranch: string;
2158
+
2159
+ /**
2160
+ * @generated from field: string merge_commit_sha = 15;
2161
+ */
2162
+ mergeCommitSha: string;
2163
+
2164
+ /**
2165
+ * @generated from field: int32 additions = 16;
2166
+ */
2167
+ additions: number;
2168
+
2169
+ /**
2170
+ * @generated from field: int32 deletions = 17;
2171
+ */
2172
+ deletions: number;
2173
+
2174
+ /**
2175
+ * @generated from field: string ci_state = 18;
2176
+ */
2177
+ ciState: string;
2178
+
2179
+ /**
2180
+ * @generated from field: repeated string ci_failing_contexts = 19;
2181
+ */
2182
+ ciFailingContexts: string[];
2183
+
2184
+ /**
2185
+ * @generated from field: int32 ci_total = 20;
2186
+ */
2187
+ ciTotal: number;
2133
2188
  };
2134
2189
 
2135
2190
  /**
@@ -2224,6 +2279,52 @@ export declare type Comment = Message<"api.v1.Comment"> & {
2224
2279
  */
2225
2280
  export declare const CommentSchema: GenMessage<Comment>;
2226
2281
 
2282
+ /**
2283
+ * @generated from message api.v1.TaskSubscription
2284
+ */
2285
+ export declare type TaskSubscription = Message<"api.v1.TaskSubscription"> & {
2286
+ /**
2287
+ * @generated from field: uint32 id = 1;
2288
+ */
2289
+ id: number;
2290
+
2291
+ /**
2292
+ * @generated from field: uint32 task_id = 2;
2293
+ */
2294
+ taskId: number;
2295
+
2296
+ /**
2297
+ * @generated from field: uint32 user_id = 3;
2298
+ */
2299
+ userId: number;
2300
+
2301
+ /**
2302
+ * @generated from field: api.v1.User user = 4;
2303
+ */
2304
+ user?: User;
2305
+
2306
+ /**
2307
+ * @generated from field: uint32 company_id = 5;
2308
+ */
2309
+ companyId: number;
2310
+
2311
+ /**
2312
+ * @generated from field: google.protobuf.Timestamp created_at = 6;
2313
+ */
2314
+ createdAt?: Timestamp;
2315
+
2316
+ /**
2317
+ * @generated from field: google.protobuf.Timestamp updated_at = 7;
2318
+ */
2319
+ updatedAt?: Timestamp;
2320
+ };
2321
+
2322
+ /**
2323
+ * Describes the message api.v1.TaskSubscription.
2324
+ * Use `create(TaskSubscriptionSchema)` to create a new message.
2325
+ */
2326
+ export declare const TaskSubscriptionSchema: GenMessage<TaskSubscription>;
2327
+
2227
2328
  /**
2228
2329
  * @generated from message api.v1.Attachment
2229
2330
  */
@@ -2882,6 +2983,16 @@ export declare type ActivityLog = Message<"api.v1.ActivityLog"> & {
2882
2983
  * @generated from field: api.v1.Project project = 11;
2883
2984
  */
2884
2985
  project?: Project;
2986
+
2987
+ /**
2988
+ * @generated from field: google.protobuf.Timestamp created_at = 12;
2989
+ */
2990
+ createdAt?: Timestamp;
2991
+
2992
+ /**
2993
+ * @generated from field: google.protobuf.Timestamp updated_at = 13;
2994
+ */
2995
+ updatedAt?: Timestamp;
2885
2996
  };
2886
2997
 
2887
2998
  /**