@eide/foir-proto-ts 0.17.0 → 0.19.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-proto-ts",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./analytics/v1/analytics_pb": "./src/analytics/v1/analytics_pb.js",
@@ -2,7 +2,7 @@
2
2
  // @generated from file models/v1/models.proto (package models.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
5
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { JsonObject, Message } from "@bufbuild/protobuf";
7
7
  import type { Timestamp, Value } from "@bufbuild/protobuf/wkt";
8
8
 
@@ -33,6 +33,10 @@ export declare type Field = Message<"models.v1.Field"> & {
33
33
  label: string;
34
34
 
35
35
  /**
36
+ * String form of a FieldType enum value (lowercase, no prefix). E.g.
37
+ * "text", "content", "flexible". Unknown values are rejected by the
38
+ * platform validator.
39
+ *
36
40
  * @generated from field: string type = 4;
37
41
  */
38
42
  type: string;
@@ -867,6 +871,97 @@ export declare type RestoreModelVersionResponse = Message<"models.v1.RestoreMode
867
871
  */
868
872
  export declare const RestoreModelVersionResponseSchema: GenMessage<RestoreModelVersionResponse>;
869
873
 
874
+ /**
875
+ * Canonical set of field types the platform recognizes. The string form
876
+ * stored in Field.type and persisted as JSON (e.g. "text", "content") is
877
+ * the lowercase name after dropping the FIELD_TYPE_ prefix. Admin UI
878
+ * extends each value with widget metadata; platform validator resolves
879
+ * field type strings against this enum and rejects unknowns.
880
+ *
881
+ * @generated from enum models.v1.FieldType
882
+ */
883
+ export enum FieldType {
884
+ /**
885
+ * @generated from enum value: FIELD_TYPE_UNSPECIFIED = 0;
886
+ */
887
+ UNSPECIFIED = 0,
888
+
889
+ /**
890
+ * @generated from enum value: FIELD_TYPE_TEXT = 1;
891
+ */
892
+ TEXT = 1,
893
+
894
+ /**
895
+ * @generated from enum value: FIELD_TYPE_NUMBER = 2;
896
+ */
897
+ NUMBER = 2,
898
+
899
+ /**
900
+ * @generated from enum value: FIELD_TYPE_BOOLEAN = 3;
901
+ */
902
+ BOOLEAN = 3,
903
+
904
+ /**
905
+ * @generated from enum value: FIELD_TYPE_DATE = 4;
906
+ */
907
+ DATE = 4,
908
+
909
+ /**
910
+ * @generated from enum value: FIELD_TYPE_SELECT = 5;
911
+ */
912
+ SELECT = 5,
913
+
914
+ /**
915
+ * @generated from enum value: FIELD_TYPE_JSON = 6;
916
+ */
917
+ JSON = 6,
918
+
919
+ /**
920
+ * @generated from enum value: FIELD_TYPE_LIST = 7;
921
+ */
922
+ LIST = 7,
923
+
924
+ /**
925
+ * @generated from enum value: FIELD_TYPE_MODEL = 8;
926
+ */
927
+ MODEL = 8,
928
+
929
+ /**
930
+ * @generated from enum value: FIELD_TYPE_REFERENCE = 9;
931
+ */
932
+ REFERENCE = 9,
933
+
934
+ /**
935
+ * @generated from enum value: FIELD_TYPE_FILE = 10;
936
+ */
937
+ FILE = 10,
938
+
939
+ /**
940
+ * @generated from enum value: FIELD_TYPE_IMAGE = 11;
941
+ */
942
+ IMAGE = 11,
943
+
944
+ /**
945
+ * @generated from enum value: FIELD_TYPE_VIDEO = 12;
946
+ */
947
+ VIDEO = 12,
948
+
949
+ /**
950
+ * @generated from enum value: FIELD_TYPE_CONTENT = 13;
951
+ */
952
+ CONTENT = 13,
953
+
954
+ /**
955
+ * @generated from enum value: FIELD_TYPE_FLEXIBLE = 14;
956
+ */
957
+ FLEXIBLE = 14,
958
+ }
959
+
960
+ /**
961
+ * Describes the enum models.v1.FieldType.
962
+ */
963
+ export declare const FieldTypeSchema: GenEnum<FieldType>;
964
+
870
965
  /**
871
966
  * @generated from service models.v1.ModelsService
872
967
  */
@@ -2,14 +2,14 @@
2
2
  // @generated from file models/v1/models.proto (package models.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
 
8
8
  /**
9
9
  * Describes the file models/v1/models.proto.
10
10
  */
11
11
  export const file_models_v1_models = /*@__PURE__*/
12
- fileDesc("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEiuQQKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCEAoOX2RlZmF1bHRfdmFsdWVCDAoKX2l0ZW1fdHlwZUIKCghfc3RvcmFnZUIQCg5fdGVtcGxhdGVfem9uZUINCgtfem9uZV9vcmRlckITChFfcmVmZXJlbmNlX2ZpbHRlckINCgtfdmFsaWRhdGlvbiI8Cg1TaGFyaW5nQ29uZmlnEg8KB2VuYWJsZWQYASABKAgSGgoScmVxdWlyZV9hY2NlcHRhbmNlGAIgASgIIq8FCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgFIAEoCBIuCgdzaGFyaW5nGAYgASgLMhgubW9kZWxzLnYxLlNoYXJpbmdDb25maWdIAIgBARIYCgtwbHVyYWxfbmFtZRgHIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAggASgJSAKIAQESFQoIY2F0ZWdvcnkYCSABKAlIA4gBARIRCgRpY29uGAogASgJSASIAQESGgoNZGlzcGxheV9maWVsZBgLIAEoCUgFiAEBEh4KEW5hdHVyYWxfa2V5X2ZpZWxkGAwgASgJSAaIAQESFQoNc3lzdGVtX2VudGl0eRgNIAEoCBIWCglkZWxldGFibGUYDiABKAhIB4gBARIVCghlZGl0YWJsZRgPIAEoCEgIiAEBEjUKD21ldGFkYXRhX3NjaGVtYRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIrCgVob29rcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIXCgpwbHVyYWxfa2V5GBIgASgJSAuIAQFCCgoIX3NoYXJpbmdCDgoMX3BsdXJhbF9uYW1lQg4KDF9kZXNjcmlwdGlvbkILCglfY2F0ZWdvcnlCBwoFX2ljb25CEAoOX2Rpc3BsYXlfZmllbGRCFAoSX25hdHVyYWxfa2V5X2ZpZWxkQgwKCl9kZWxldGFibGVCCwoJX2VkaXRhYmxlQhIKEF9tZXRhZGF0YV9zY2hlbWFCCAoGX2hvb2tzQg0KC19wbHVyYWxfa2V5IokBChFNb2RlbENhcGFiaWxpdGllcxIUCgxpc192ZXJzaW9uZWQYASABKAgSFgoOaXNfcHVibGlzaGFibGUYAiABKAgSFAoMaGFzX3ZhcmlhbnRzGAMgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgEIAEoCBIXCg9zaGFyaW5nX2VuYWJsZWQYBSABKAgipQQKBU1vZGVsEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEiAKBmZpZWxkcxgEIAMoCzIQLm1vZGVscy52MS5GaWVsZBImCgZjb25maWcYBSABKAsyFi5tb2RlbHMudjEuTW9kZWxDb25maWcSFgoJY29uZmlnX2lkGAYgASgJSACIAQESMgoMY2FwYWJpbGl0aWVzGAcgASgLMhwubW9kZWxzLnYxLk1vZGVsQ2FwYWJpbGl0aWVzEh8KEmN1cnJlbnRfdmVyc2lvbl9pZBgIIAEoCUgBiAEBEiUKGHB1Ymxpc2hlZF92ZXJzaW9uX251bWJlchgJIAEoBUgCiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIA4gBARIXCgp1cGRhdGVkX2J5GBUgASgJSASIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2NvbmZpZ19pZEIVChNfY3VycmVudF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiwgIKDE1vZGVsVmVyc2lvbhIKCgJpZBgBIAEoCRIQCghtb2RlbF9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5Iq8BChJDcmVhdGVNb2RlbFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gAiAEBEhYKCWNvbmZpZ19pZBgFIAEoCUgBiAEBQgkKB19jb25maWdCDAoKX2NvbmZpZ19pZCI2ChNDcmVhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIh0KD0dldE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSIzChBHZXRNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIiMKFEdldE1vZGVsQnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSI4ChVHZXRNb2RlbEJ5S2V5UmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwinAEKEUxpc3RNb2RlbHNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAIgASgJSAGIAQESDQoFbGltaXQYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhYKCWNvbmZpZ19pZBgFIAEoCUgCiAEBQgkKB19zZWFyY2hCCwoJX2NhdGVnb3J5QgwKCl9jb25maWdfaWQiRQoSTGlzdE1vZGVsc1Jlc3BvbnNlEiAKBm1vZGVscxgBIAMoCzIQLm1vZGVscy52MS5Nb2RlbBINCgV0b3RhbBgCIAEoBSLlAQoSVXBkYXRlTW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIgCgZmaWVsZHMYAyADKAsyEC5tb2RlbHMudjEuRmllbGQSKwoGY29uZmlnGAQgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnSAGIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAUgASgJSAKIAQESFQoNdXBkYXRlX2ZpZWxkcxgGIAEoCEIHCgVfbmFtZUIJCgdfY29uZmlnQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iNgoTVXBkYXRlTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIgChJEZWxldGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiJgoTRGVsZXRlTW9kZWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKFUR1cGxpY2F0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgduZXdfa2V5GAIgASgJEhAKCG5ld19uYW1lGAMgASgJIjkKFkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiSwoYTGlzdE1vZGVsVmVyc2lvbnNSZXF1ZXN0EhAKCG1vZGVsX2lkGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBSJVChlMaXN0TW9kZWxWZXJzaW9uc1Jlc3BvbnNlEikKCHZlcnNpb25zGAEgAygLMhcubW9kZWxzLnYxLk1vZGVsVmVyc2lvbhINCgV0b3RhbBgCIAEoBSI+ChZHZXRNb2RlbFZlcnNpb25SZXF1ZXN0EhAKCG1vZGVsX2lkGAEgASgJEhIKCnZlcnNpb25faWQYAiABKAkiQwoXR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USKAoHdmVyc2lvbhgBIAEoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24iQgoaUmVzdG9yZU1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSI+ChtSZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwy1AYKDU1vZGVsc1NlcnZpY2USQwoIR2V0TW9kZWwSGi5tb2RlbHMudjEuR2V0TW9kZWxSZXF1ZXN0GhsubW9kZWxzLnYxLkdldE1vZGVsUmVzcG9uc2USUgoNR2V0TW9kZWxCeUtleRIfLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVxdWVzdBogLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVzcG9uc2USSQoKTGlzdE1vZGVscxIcLm1vZGVscy52MS5MaXN0TW9kZWxzUmVxdWVzdBodLm1vZGVscy52MS5MaXN0TW9kZWxzUmVzcG9uc2USTAoLQ3JlYXRlTW9kZWwSHS5tb2RlbHMudjEuQ3JlYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkNyZWF0ZU1vZGVsUmVzcG9uc2USTAoLVXBkYXRlTW9kZWwSHS5tb2RlbHMudjEuVXBkYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLlVwZGF0ZU1vZGVsUmVzcG9uc2USTAoLRGVsZXRlTW9kZWwSHS5tb2RlbHMudjEuRGVsZXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkRlbGV0ZU1vZGVsUmVzcG9uc2USVQoORHVwbGljYXRlTW9kZWwSIC5tb2RlbHMudjEuRHVwbGljYXRlTW9kZWxSZXF1ZXN0GiEubW9kZWxzLnYxLkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USWAoPR2V0TW9kZWxWZXJzaW9uEiEubW9kZWxzLnYxLkdldE1vZGVsVmVyc2lvblJlcXVlc3QaIi5tb2RlbHMudjEuR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USXgoRTGlzdE1vZGVsVmVyc2lvbnMSIy5tb2RlbHMudjEuTGlzdE1vZGVsVmVyc2lvbnNSZXF1ZXN0GiQubW9kZWxzLnYxLkxpc3RNb2RlbFZlcnNpb25zUmVzcG9uc2USZAoTUmVzdG9yZU1vZGVsVmVyc2lvbhIlLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBomLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2VCOVo3Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL21vZGVscy92MTttb2RlbHN2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
12
+ fileDesc("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEiuQQKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCEAoOX2RlZmF1bHRfdmFsdWVCDAoKX2l0ZW1fdHlwZUIKCghfc3RvcmFnZUIQCg5fdGVtcGxhdGVfem9uZUINCgtfem9uZV9vcmRlckITChFfcmVmZXJlbmNlX2ZpbHRlckINCgtfdmFsaWRhdGlvbiI8Cg1TaGFyaW5nQ29uZmlnEg8KB2VuYWJsZWQYASABKAgSGgoScmVxdWlyZV9hY2NlcHRhbmNlGAIgASgIIq8FCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgFIAEoCBIuCgdzaGFyaW5nGAYgASgLMhgubW9kZWxzLnYxLlNoYXJpbmdDb25maWdIAIgBARIYCgtwbHVyYWxfbmFtZRgHIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAggASgJSAKIAQESFQoIY2F0ZWdvcnkYCSABKAlIA4gBARIRCgRpY29uGAogASgJSASIAQESGgoNZGlzcGxheV9maWVsZBgLIAEoCUgFiAEBEh4KEW5hdHVyYWxfa2V5X2ZpZWxkGAwgASgJSAaIAQESFQoNc3lzdGVtX2VudGl0eRgNIAEoCBIWCglkZWxldGFibGUYDiABKAhIB4gBARIVCghlZGl0YWJsZRgPIAEoCEgIiAEBEjUKD21ldGFkYXRhX3NjaGVtYRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIrCgVob29rcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIXCgpwbHVyYWxfa2V5GBIgASgJSAuIAQFCCgoIX3NoYXJpbmdCDgoMX3BsdXJhbF9uYW1lQg4KDF9kZXNjcmlwdGlvbkILCglfY2F0ZWdvcnlCBwoFX2ljb25CEAoOX2Rpc3BsYXlfZmllbGRCFAoSX25hdHVyYWxfa2V5X2ZpZWxkQgwKCl9kZWxldGFibGVCCwoJX2VkaXRhYmxlQhIKEF9tZXRhZGF0YV9zY2hlbWFCCAoGX2hvb2tzQg0KC19wbHVyYWxfa2V5IokBChFNb2RlbENhcGFiaWxpdGllcxIUCgxpc192ZXJzaW9uZWQYASABKAgSFgoOaXNfcHVibGlzaGFibGUYAiABKAgSFAoMaGFzX3ZhcmlhbnRzGAMgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgEIAEoCBIXCg9zaGFyaW5nX2VuYWJsZWQYBSABKAgipQQKBU1vZGVsEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEiAKBmZpZWxkcxgEIAMoCzIQLm1vZGVscy52MS5GaWVsZBImCgZjb25maWcYBSABKAsyFi5tb2RlbHMudjEuTW9kZWxDb25maWcSFgoJY29uZmlnX2lkGAYgASgJSACIAQESMgoMY2FwYWJpbGl0aWVzGAcgASgLMhwubW9kZWxzLnYxLk1vZGVsQ2FwYWJpbGl0aWVzEh8KEmN1cnJlbnRfdmVyc2lvbl9pZBgIIAEoCUgBiAEBEiUKGHB1Ymxpc2hlZF92ZXJzaW9uX251bWJlchgJIAEoBUgCiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIA4gBARIXCgp1cGRhdGVkX2J5GBUgASgJSASIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2NvbmZpZ19pZEIVChNfY3VycmVudF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiwgIKDE1vZGVsVmVyc2lvbhIKCgJpZBgBIAEoCRIQCghtb2RlbF9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5Iq8BChJDcmVhdGVNb2RlbFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gAiAEBEhYKCWNvbmZpZ19pZBgFIAEoCUgBiAEBQgkKB19jb25maWdCDAoKX2NvbmZpZ19pZCI2ChNDcmVhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIh0KD0dldE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSIzChBHZXRNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIiMKFEdldE1vZGVsQnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSI4ChVHZXRNb2RlbEJ5S2V5UmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwinAEKEUxpc3RNb2RlbHNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAIgASgJSAGIAQESDQoFbGltaXQYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhYKCWNvbmZpZ19pZBgFIAEoCUgCiAEBQgkKB19zZWFyY2hCCwoJX2NhdGVnb3J5QgwKCl9jb25maWdfaWQiRQoSTGlzdE1vZGVsc1Jlc3BvbnNlEiAKBm1vZGVscxgBIAMoCzIQLm1vZGVscy52MS5Nb2RlbBINCgV0b3RhbBgCIAEoBSLlAQoSVXBkYXRlTW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIgCgZmaWVsZHMYAyADKAsyEC5tb2RlbHMudjEuRmllbGQSKwoGY29uZmlnGAQgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnSAGIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAUgASgJSAKIAQESFQoNdXBkYXRlX2ZpZWxkcxgGIAEoCEIHCgVfbmFtZUIJCgdfY29uZmlnQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iNgoTVXBkYXRlTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIgChJEZWxldGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiJgoTRGVsZXRlTW9kZWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKFUR1cGxpY2F0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgduZXdfa2V5GAIgASgJEhAKCG5ld19uYW1lGAMgASgJIjkKFkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiSwoYTGlzdE1vZGVsVmVyc2lvbnNSZXF1ZXN0EhAKCG1vZGVsX2lkGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBSJVChlMaXN0TW9kZWxWZXJzaW9uc1Jlc3BvbnNlEikKCHZlcnNpb25zGAEgAygLMhcubW9kZWxzLnYxLk1vZGVsVmVyc2lvbhINCgV0b3RhbBgCIAEoBSI+ChZHZXRNb2RlbFZlcnNpb25SZXF1ZXN0EhAKCG1vZGVsX2lkGAEgASgJEhIKCnZlcnNpb25faWQYAiABKAkiQwoXR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USKAoHdmVyc2lvbhgBIAEoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24iQgoaUmVzdG9yZU1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSI+ChtSZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwq4wIKCUZpZWxkVHlwZRIaChZGSUVMRF9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPRklFTERfVFlQRV9URVhUEAESFQoRRklFTERfVFlQRV9OVU1CRVIQAhIWChJGSUVMRF9UWVBFX0JPT0xFQU4QAxITCg9GSUVMRF9UWVBFX0RBVEUQBBIVChFGSUVMRF9UWVBFX1NFTEVDVBAFEhMKD0ZJRUxEX1RZUEVfSlNPThAGEhMKD0ZJRUxEX1RZUEVfTElTVBAHEhQKEEZJRUxEX1RZUEVfTU9ERUwQCBIYChRGSUVMRF9UWVBFX1JFRkVSRU5DRRAJEhMKD0ZJRUxEX1RZUEVfRklMRRAKEhQKEEZJRUxEX1RZUEVfSU1BR0UQCxIUChBGSUVMRF9UWVBFX1ZJREVPEAwSFgoSRklFTERfVFlQRV9DT05URU5UEA0SFwoTRklFTERfVFlQRV9GTEVYSUJMRRAOMtQGCg1Nb2RlbHNTZXJ2aWNlEkMKCEdldE1vZGVsEhoubW9kZWxzLnYxLkdldE1vZGVsUmVxdWVzdBobLm1vZGVscy52MS5HZXRNb2RlbFJlc3BvbnNlElIKDUdldE1vZGVsQnlLZXkSHy5tb2RlbHMudjEuR2V0TW9kZWxCeUtleVJlcXVlc3QaIC5tb2RlbHMudjEuR2V0TW9kZWxCeUtleVJlc3BvbnNlEkkKCkxpc3RNb2RlbHMSHC5tb2RlbHMudjEuTGlzdE1vZGVsc1JlcXVlc3QaHS5tb2RlbHMudjEuTGlzdE1vZGVsc1Jlc3BvbnNlEkwKC0NyZWF0ZU1vZGVsEh0ubW9kZWxzLnYxLkNyZWF0ZU1vZGVsUmVxdWVzdBoeLm1vZGVscy52MS5DcmVhdGVNb2RlbFJlc3BvbnNlEkwKC1VwZGF0ZU1vZGVsEh0ubW9kZWxzLnYxLlVwZGF0ZU1vZGVsUmVxdWVzdBoeLm1vZGVscy52MS5VcGRhdGVNb2RlbFJlc3BvbnNlEkwKC0RlbGV0ZU1vZGVsEh0ubW9kZWxzLnYxLkRlbGV0ZU1vZGVsUmVxdWVzdBoeLm1vZGVscy52MS5EZWxldGVNb2RlbFJlc3BvbnNlElUKDkR1cGxpY2F0ZU1vZGVsEiAubW9kZWxzLnYxLkR1cGxpY2F0ZU1vZGVsUmVxdWVzdBohLm1vZGVscy52MS5EdXBsaWNhdGVNb2RlbFJlc3BvbnNlElgKD0dldE1vZGVsVmVyc2lvbhIhLm1vZGVscy52MS5HZXRNb2RlbFZlcnNpb25SZXF1ZXN0GiIubW9kZWxzLnYxLkdldE1vZGVsVmVyc2lvblJlc3BvbnNlEl4KEUxpc3RNb2RlbFZlcnNpb25zEiMubW9kZWxzLnYxLkxpc3RNb2RlbFZlcnNpb25zUmVxdWVzdBokLm1vZGVscy52MS5MaXN0TW9kZWxWZXJzaW9uc1Jlc3BvbnNlEmQKE1Jlc3RvcmVNb2RlbFZlcnNpb24SJS5tb2RlbHMudjEuUmVzdG9yZU1vZGVsVmVyc2lvblJlcXVlc3QaJi5tb2RlbHMudjEuUmVzdG9yZU1vZGVsVmVyc2lvblJlc3BvbnNlQjlaN2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9tb2RlbHMvdjE7bW9kZWxzdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
13
13
 
14
14
  /**
15
15
  * Describes the message models.v1.Field.
@@ -193,6 +193,24 @@ export const RestoreModelVersionRequestSchema = /*@__PURE__*/
193
193
  export const RestoreModelVersionResponseSchema = /*@__PURE__*/
194
194
  messageDesc(file_models_v1_models, 25);
195
195
 
196
+ /**
197
+ * Describes the enum models.v1.FieldType.
198
+ */
199
+ export const FieldTypeSchema = /*@__PURE__*/
200
+ enumDesc(file_models_v1_models, 0);
201
+
202
+ /**
203
+ * Canonical set of field types the platform recognizes. The string form
204
+ * stored in Field.type and persisted as JSON (e.g. "text", "content") is
205
+ * the lowercase name after dropping the FIELD_TYPE_ prefix. Admin UI
206
+ * extends each value with widget metadata; platform validator resolves
207
+ * field type strings against this enum and rejects unknowns.
208
+ *
209
+ * @generated from enum models.v1.FieldType
210
+ */
211
+ export const FieldType = /*@__PURE__*/
212
+ tsEnum(FieldTypeSchema);
213
+
196
214
  /**
197
215
  * @generated from service models.v1.ModelsService
198
216
  */
@@ -152,6 +152,19 @@ export declare type Operation = Message<"operations.v1.Operation"> & {
152
152
  */
153
153
  callbackTimeoutRetryPolicy?: JsonObject;
154
154
 
155
+ /**
156
+ * Capabilities the dispatcher mints into the scoped token delivered
157
+ * with every invocation. Each entry is a capability string in the same
158
+ * grammar used elsewhere (e.g. "credentials:read", "records:read:<model>",
159
+ * "records:write:<model>", "status:write"). Middleware handlers check
160
+ * these against the token they receive. Dispatching an operation whose
161
+ * capabilities list is empty still mints a token (authenticity), just
162
+ * one with no authority over any platform resource.
163
+ *
164
+ * @generated from field: repeated string capabilities = 25;
165
+ */
166
+ capabilities: string[];
167
+
155
168
  /**
156
169
  * Attribution.
157
170
  *
@@ -718,6 +731,13 @@ export declare type CreateOperationRequest = Message<"operations.v1.CreateOperat
718
731
  * @generated from field: optional google.protobuf.Struct callback_timeout_retry_policy = 21;
719
732
  */
720
733
  callbackTimeoutRetryPolicy?: JsonObject;
734
+
735
+ /**
736
+ * See Operation.capabilities for semantics.
737
+ *
738
+ * @generated from field: repeated string capabilities = 22;
739
+ */
740
+ capabilities: string[];
721
741
  };
722
742
 
723
743
  /**
@@ -830,6 +850,14 @@ export declare type UpdateOperationRequest = Message<"operations.v1.UpdateOperat
830
850
  * @generated from field: optional google.protobuf.Struct callback_timeout_retry_policy = 18;
831
851
  */
832
852
  callbackTimeoutRetryPolicy?: JsonObject;
853
+
854
+ /**
855
+ * See Operation.capabilities for semantics. When nil/absent, capabilities
856
+ * are not changed; pass an empty repeated to clear them.
857
+ *
858
+ * @generated from field: repeated string capabilities = 19;
859
+ */
860
+ capabilities: string[];
833
861
  };
834
862
 
835
863
  /**
@@ -9,7 +9,7 @@ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bu
9
9
  * Describes the file operations/v1/operations.proto.
10
10
  */
11
11
  export const file_operations_v1_operations = /*@__PURE__*/
12
- fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEi1ggKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIsCgZxdW90YXMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESFgoJY29uZmlnX2lkGBIgASgJSAmIAQESMgoMcHJlY29uZGl0aW9uGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAuIAQESGwoOc3VwcG9ydHNfYXN5bmMYFiABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgXIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhcKCmNyZWF0ZWRfYnkYHiABKAlID4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CBwoFX2ljb25CCwoJX2NhdGVnb3J5QhAKDl9lbmRwb2ludF9hdXRoQg8KDV9yZXRyeV9wb2xpY3lCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIFCgNfdWlCCQoHX3F1b3Rhc0IMCgpfY29uZmlnX2lkQg8KDV9wcmVjb25kaXRpb25CDQoLX3Byb2plY3RfaWRCEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3lCDQoLX2NyZWF0ZWRfYnki2ggKEk9wZXJhdGlvbkV4ZWN1dGlvbhIKCgJpZBgBIAEoCRIVCg1vcGVyYXRpb25fa2V5GAIgASgJEg4KBnN0YXR1cxgDIAEoCRIZCgx0cmlnZ2VyX3R5cGUYBCABKAlIAIgBARI1Cg90cmlnZ2VyX2NvbnRleHQYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESKwoFaW5wdXQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESGAoLcmVzdWx0X2pzb24YByABKAxIA4gBARIXCgplcnJvcl9qc29uGAggASgMSASIAQESMwoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI1Cgxjb21wbGV0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESGAoLZHVyYXRpb25fbXMYCyABKAVIB4gBARITCgtyZXRyeV9jb3VudBgMIAEoBRIZCgxwcm9ncmVzc19wY3QYDSABKAVICIgBARIdChBwcm9ncmVzc19tZXNzYWdlGA4gASgJSAmIAQESNwoRcHJvZ3Jlc3NfbWV0YWRhdGEYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESPAoTcHJvZ3Jlc3NfdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIC4gBARI8ChNjYWxsYmFja19leHBpcmVzX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEiAKE3BhcmVudF9leGVjdXRpb25faWQYEiABKAlIDYgBARI1CgxjYW5jZWxsZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSA6IAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlID4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fdHJpZ2dlcl90eXBlQhIKEF90cmlnZ2VyX2NvbnRleHRCCAoGX2lucHV0Qg4KDF9yZXN1bHRfanNvbkINCgtfZXJyb3JfanNvbkINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0Qg4KDF9kdXJhdGlvbl9tc0IPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YUIWChRfcHJvZ3Jlc3NfdXBkYXRlZF9hdEIWChRfY2FsbGJhY2tfZXhwaXJlc19hdEIWChRfcGFyZW50X2V4ZWN1dGlvbl9pZEIPCg1fY2FuY2VsbGVkX2F0Qg0KC19wcm9qZWN0X2lkIt8ECg9EZWFkTGV0dGVyRW50cnkSCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIZCgxleGVjdXRpb25faWQYAyABKAlIAIgBARIrCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIZCgx0cmlnZ2VyX3R5cGUYBSABKAlIAogBARIQCghhdHRlbXB0cxgGIAEoBRISCgpsYXN0X2Vycm9yGAcgASgJEhcKCmVycm9yX2NvZGUYCCABKAlIA4gBARIOCgZzdGF0dXMYCSABKAkSLQoJZmFpbGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpyZXRyaWVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjUKDGRpc21pc3NlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIZCgxkaXNtaXNzZWRfYnkYDSABKAlIBogBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fZXhlY3V0aW9uX2lkQggKBl9pbnB1dEIPCg1fdHJpZ2dlcl90eXBlQg0KC19lcnJvcl9jb2RlQg0KC19yZXRyaWVkX2F0Qg8KDV9kaXNtaXNzZWRfYXRCDwoNX2Rpc21pc3NlZF9ieSK1AgoMQ2lyY3VpdFN0YXRlEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSEAoIZW5kcG9pbnQYAiABKAkSDQoFc3RhdGUYAyABKAkSFQoNZmFpbHVyZV9jb3VudBgEIAEoBRI4Cg9sYXN0X2ZhaWx1cmVfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMgoJb3BlbmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjUKDGhhbGZfb3Blbl9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUISChBfbGFzdF9mYWlsdXJlX2F0QgwKCl9vcGVuZWRfYXRCDwoNX2hhbGZfb3Blbl9hdCKBAQoORXhlY3V0aW9uU3RhdHMSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRINCgV0b3RhbBgCIAEoBRIPCgdzdWNjZXNzGAMgASgFEg4KBmZhaWxlZBgEIAEoBRIPCgdwZW5kaW5nGAUgASgFEhcKD2F2Z19kdXJhdGlvbl9tcxgGIAEoASJVCg9EZWFkTGV0dGVyU3RhdHMSDwoHcGVuZGluZxgBIAEoBRIPCgdyZXRyaWVkGAIgASgFEhEKCWRpc21pc3NlZBgDIAEoBRINCgV0b3RhbBgEIAEoBSLGAQoVTGlzdE9wZXJhdGlvbnNSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESFgoJaXNfYWN0aXZlGAIgASgISAGIAQESEwoGc2VhcmNoGAMgASgJSAKIAQESFgoJY29uZmlnX2lkGAQgASgJSAOIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgsKCV9jYXRlZ29yeUIMCgpfaXNfYWN0aXZlQgkKB19zZWFyY2hCDAoKX2NvbmZpZ19pZCJVChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEiwKCm9wZXJhdGlvbnMYASADKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhINCgV0b3RhbBgCIAEoBSI7ChNHZXRPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhAKA2tleRgCIAEoCUgAiAEBQgYKBF9rZXkiQwoUR2V0T3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iuwcKFkNyZWF0ZU9wZXJhdGlvblJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIRCgRpY29uGAQgASgJSAGIAQESFQoIY2F0ZWdvcnkYBSABKAlIAogBARIQCghlbmRwb2ludBgGIAEoCRIaCg1lbmRwb2ludF9hdXRoGAcgASgJSAOIAQESFwoKdGltZW91dF9tcxgIIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWNvbmZpZ19pZBgMIAEoCUgIiAEBEiwKBnF1b3RhcxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEjIKDHJldHJ5X3BvbGljeRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIyCgxwcmVjb25kaXRpb24YESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAuIAQESFgoJaXNfYWN0aXZlGBIgASgISAyIAQESGwoOc3VwcG9ydHNfYXN5bmMYEyABKAhIDYgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgUIAEoBUgOiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBQg4KDF9kZXNjcmlwdGlvbkIHCgVfaWNvbkILCglfY2F0ZWdvcnlCEAoOX2VuZHBvaW50X2F1dGhCDQoLX3RpbWVvdXRfbXNCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIFCgNfdWlCDAoKX2NvbmZpZ19pZEIJCgdfcXVvdGFzQg8KDV9yZXRyeV9wb2xpY3lCDwoNX3ByZWNvbmRpdGlvbkIMCgpfaXNfYWN0aXZlQhEKD19zdXBwb3J0c19hc3luY0IXChVfY2FsbGJhY2tfdHRsX3NlY29uZHNCIAoeX2NhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5IkYKF0NyZWF0ZU9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIvQGChZVcGRhdGVPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhUKCGVuZHBvaW50GAQgASgJSAKIAQESGgoNZW5kcG9pbnRfYXV0aBgFIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYBiABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCglpc19hY3RpdmUYCiABKAhICIgBARIsCgZxdW90YXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESMgoMcmV0cnlfcG9saWN5GA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEjIKDHByZWNvbmRpdGlvbhgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIC4gBARIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEhsKDnN1cHBvcnRzX2FzeW5jGBAgASgISAyIAQESIQoUY2FsbGJhY2tfdHRsX3NlY29uZHMYESABKAVIDYgBARJDCh1jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeRgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIDogBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2VuZHBvaW50QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9pc19hY3RpdmVCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb25CEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kiRgoXVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iJAoWRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIqChdEZWxldGVPcGVyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqgDChdFeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDHRyaWdnZXJfdHlwZRgDIAEoCUgBiAEBEjUKD3RyaWdnZXJfY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIqCgRtb2RlGAUgASgOMhwub3BlcmF0aW9ucy52MS5FeGVjdXRpb25Nb2RlEhgKC2N1c3RvbWVyX2lkGAYgASgJSAOIAQESLAoGcmVjb3JkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi0KB2NvbnRlbnQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQFCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIOCgxfY3VzdG9tZXJfaWRCCQoHX3JlY29yZEIKCghfY29udGVudCKpAgoYRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEhgKC3Jlc3VsdF9qc29uGAIgASgMSACIAQESGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgBiAEBEhEKCWNvbXBsZXRlZBgEIAEoCBIVCghwb2xsX3VybBgKIAEoCUgCiAEBEhcKCmNhbmNlbF91cmwYCyABKAlIA4gBARIUCgdtZXNzYWdlGAwgASgJSASIAQFCDgoMX3Jlc3VsdF9qc29uQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9wb2xsX3VybEINCgtfY2FuY2VsX3VybEIKCghfbWVzc2FnZSJ2Ch5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRITCgZzdGF0dXMYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCQoHX3N0YXR1cyJnCh9MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEjUKCmV4ZWN1dGlvbnMYASADKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbhINCgV0b3RhbBgCIAEoBSJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIosBChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBARITCgZzdGF0dXMYAiABKAlIAYgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCEAoOX29wZXJhdGlvbl9rZXlCCQoHX3N0YXR1cyJfCh1MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRIvCgdlbnRyaWVzGAEgAygLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyRW50cnkSDQoFdG90YWwYAiABKAUiKQobUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIi8KHFJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCh1EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIbChlHZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0IksKGkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEi0KBXN0YXRzGAEgASgLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyU3RhdHMiGgoYTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0IkgKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUiLAoTUmVzZXRDaXJjdWl0UmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJIicKFFJlc2V0Q2lyY3VpdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiGQoXR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QiOgoYR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCRIOCgZwcmVmaXgYAiABKAkiIAoeUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0IjEKH1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJIkIKHkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSDQoFbGltaXQYCiABKAUiTwofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iKgocR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCh1HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRI0CglleGVjdXRpb24YASABKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbiItCh9DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlMKIENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEwoGc3RhdHVzGAIgASgJSACIAQFCCQoHX3N0YXR1cyJLCiBDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhAKCHN0YXR1c2VzGAIgAygJIlMKIUNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRIXCg9jYW5jZWxsZWRfY291bnQYASABKAUSFQoNY2FuY2VsbGVkX2lkcxgCIAMoCSJECiFDb21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkSEwoLcmVzdWx0X2pzb24YAiABKAwiRwoiQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAkSEQoJY2FuY2VsbGVkGAIgASgIIqsBCh1GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQESLQoHZGV0YWlscxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIMCgpfcmV0cnlhYmxlQgoKCF9kZXRhaWxzIkMKHkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAkSEQoJY2FuY2VsbGVkGAIgASgIItsBCh5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1JlcXVlc3QSCgoCaWQYASABKAkSGQoMcHJvZ3Jlc3NfcGN0GAIgASgFSACIAQESHQoQcHJvZ3Jlc3NfbWVzc2FnZRgDIAEoCUgBiAEBEjcKEXByb2dyZXNzX21ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBQg8KDV9wcm9ncmVzc19wY3RCEwoRX3Byb2dyZXNzX21lc3NhZ2VCFAoSX3Byb2dyZXNzX21ldGFkYXRhIkQKH1JlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCKCAQodR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIYCgtjdXN0b21lcl9pZBgCIAEoCUgAiAEBEhQKB3VzZXJfaWQYAyABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCCgoIX3VzZXJfaWQisgEKDlF1b3RhUnVsZVVzYWdlEhIKCnJ1bGVfaW5kZXgYASABKAUSEwoLc2VnbWVudF9rZXkYAiABKAkSDQoFbGltaXQYAyABKAUSDAoEdXNlZBgEIAEoBRIRCglyZW1haW5pbmcYBSABKAUSFQoNcmVzZXRfYXRfdW5peBgGIAEoAxINCgVzY29wZRgHIAEoCRIQCghkdXJhdGlvbhgIIAEoBRIPCgdtZXNzYWdlGAkgASgJIq0BCh5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVzcG9uc2USGAoQdG90YWxfZXhlY3V0aW9ucxgBIAEoAxIZChFwZXJpb2RfZXhlY3V0aW9ucxgCIAEoAxIYCgtxdW90YV9saW1pdBgDIAEoA0gAiAEBEiwKBXJ1bGVzGAQgAygLMh0ub3BlcmF0aW9ucy52MS5RdW90YVJ1bGVVc2FnZUIOCgxfcXVvdGFfbGltaXQiHAoaR2V0U2lnbmluZ1NlY3JldFJhd1JlcXVlc3QiLQobR2V0U2lnbmluZ1NlY3JldFJhd1Jlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSpiCg1FeGVjdXRpb25Nb2RlEh4KGkVYRUNVVElPTl9NT0RFX1VOU1BFQ0lGSUVEEAASFwoTRVhFQ1VUSU9OX01PREVfU1lOQxABEhgKFEVYRUNVVElPTl9NT0RFX0FTWU5DEAIygBYKEU9wZXJhdGlvbnNTZXJ2aWNlEl0KDkxpc3RPcGVyYXRpb25zEiQub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uc1JlcXVlc3QaJS5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25zUmVzcG9uc2USVwoMR2V0T3BlcmF0aW9uEiIub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25SZXF1ZXN0GiMub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25SZXNwb25zZRJgCg9DcmVhdGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLkNyZWF0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLkNyZWF0ZU9wZXJhdGlvblJlc3BvbnNlEmAKD1VwZGF0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuVXBkYXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USYAoPRGVsZXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5EZWxldGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5EZWxldGVPcGVyYXRpb25SZXNwb25zZRJjChBFeGVjdXRlT3BlcmF0aW9uEiYub3BlcmF0aW9ucy52MS5FeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBonLm9wZXJhdGlvbnMudjEuRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEngKF0xpc3RPcGVyYXRpb25FeGVjdXRpb25zEi0ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzEjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2UScgoVTGlzdERlYWRMZXR0ZXJFbnRyaWVzEisub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRJvChRSZXRyeURlYWRMZXR0ZXJFbnRyeRIqLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5SZXRyeURlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkRpc21pc3NEZWFkTGV0dGVyRW50cnkSLC5vcGVyYXRpb25zLnYxLkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USaQoSR2V0RGVhZExldHRlclN0YXRzEigub3BlcmF0aW9ucy52MS5HZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0Gikub3BlcmF0aW9ucy52MS5HZXREZWFkTGV0dGVyU3RhdHNSZXNwb25zZRJmChFMaXN0Q2lyY3VpdFN0YXRlcxInLm9wZXJhdGlvbnMudjEuTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0Gigub3BlcmF0aW9ucy52MS5MaXN0Q2lyY3VpdFN0YXRlc1Jlc3BvbnNlElcKDFJlc2V0Q2lyY3VpdBIiLm9wZXJhdGlvbnMudjEuUmVzZXRDaXJjdWl0UmVxdWVzdBojLm9wZXJhdGlvbnMudjEuUmVzZXRDaXJjdWl0UmVzcG9uc2USeAoXR2V0QXBwbGljYWJsZU9wZXJhdGlvbnMSLS5vcGVyYXRpb25zLnYxLkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBouLm9wZXJhdGlvbnMudjEuR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRJyChVHZXRPcGVyYXRpb25FeGVjdXRpb24SKy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEnsKGENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbhIuLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBovLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USfgoZQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9ucxIvLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaMC5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRKBAQoaQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb24SMC5vcGVyYXRpb25zLnYxLkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBoxLm9wZXJhdGlvbnMudjEuQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ1ChZGYWlsT3BlcmF0aW9uRXhlY3V0aW9uEiwub3BlcmF0aW9ucy52MS5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBotLm9wZXJhdGlvbnMudjEuRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEngKF1JlcG9ydE9wZXJhdGlvblByb2dyZXNzEi0ub3BlcmF0aW9ucy52MS5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVzcG9uc2USdQoWR2V0T3BlcmF0aW9uUXVvdGFVc2FnZRIsLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXNwb25zZRJjChBHZXRTaWduaW5nU2VjcmV0EiYub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmVxdWVzdBonLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEmwKE0dldFNpZ25pbmdTZWNyZXRSYXcSKS5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Gioub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmF3UmVzcG9uc2USeAoXUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXQSLS5vcGVyYXRpb25zLnYxLlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVxdWVzdBouLm9wZXJhdGlvbnMudjEuUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXNwb25zZUJBWj9naXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vb3BlcmF0aW9ucy92MTtvcGVyYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
12
+ fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEi7AgKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIsCgZxdW90YXMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESFgoJY29uZmlnX2lkGBIgASgJSAmIAQESMgoMcHJlY29uZGl0aW9uGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAuIAQESGwoOc3VwcG9ydHNfYXN5bmMYFiABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgXIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgZIAMoCRIXCgpjcmVhdGVkX2J5GB4gASgJSA+IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEIPCg1fcmV0cnlfcG9saWN5Qg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgkKB19xdW90YXNCDAoKX2NvbmZpZ19pZEIPCg1fcHJlY29uZGl0aW9uQg0KC19wcm9qZWN0X2lkQhEKD19zdXBwb3J0c19hc3luY0IXChVfY2FsbGJhY2tfdHRsX3NlY29uZHNCIAoeX2NhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5Qg0KC19jcmVhdGVkX2J5ItoIChJPcGVyYXRpb25FeGVjdXRpb24SCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSGQoMdHJpZ2dlcl90eXBlGAQgASgJSACIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEisKBWlucHV0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhgKC3Jlc3VsdF9qc29uGAcgASgMSAOIAQESFwoKZXJyb3JfanNvbhgIIAEoDEgEiAEBEjMKCnN0YXJ0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESNQoMY29tcGxldGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEhgKC2R1cmF0aW9uX21zGAsgASgFSAeIAQESEwoLcmV0cnlfY291bnQYDCABKAUSGQoMcHJvZ3Jlc3NfcGN0GA0gASgFSAiIAQESHQoQcHJvZ3Jlc3NfbWVzc2FnZRgOIAEoCUgJiAEBEjcKEXByb2dyZXNzX21ldGFkYXRhGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEjwKE3Byb2dyZXNzX3VwZGF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAuIAQESPAoTY2FsbGJhY2tfZXhwaXJlc19hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIDIgBARIgChNwYXJlbnRfZXhlY3V0aW9uX2lkGBIgASgJSA2IAQESNQoMY2FuY2VsbGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgOiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSA+IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX3RyaWdnZXJfdHlwZUISChBfdHJpZ2dlcl9jb250ZXh0QggKBl9pbnB1dEIOCgxfcmVzdWx0X2pzb25CDQoLX2Vycm9yX2pzb25CDQoLX3N0YXJ0ZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIOCgxfZHVyYXRpb25fbXNCDwoNX3Byb2dyZXNzX3BjdEITChFfcHJvZ3Jlc3NfbWVzc2FnZUIUChJfcHJvZ3Jlc3NfbWV0YWRhdGFCFgoUX3Byb2dyZXNzX3VwZGF0ZWRfYXRCFgoUX2NhbGxiYWNrX2V4cGlyZXNfYXRCFgoUX3BhcmVudF9leGVjdXRpb25faWRCDwoNX2NhbmNlbGxlZF9hdEINCgtfcHJvamVjdF9pZCLfBAoPRGVhZExldHRlckVudHJ5EgoKAmlkGAEgASgJEhUKDW9wZXJhdGlvbl9rZXkYAiABKAkSGQoMZXhlY3V0aW9uX2lkGAMgASgJSACIAQESKwoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESGQoMdHJpZ2dlcl90eXBlGAUgASgJSAKIAQESEAoIYXR0ZW1wdHMYBiABKAUSEgoKbGFzdF9lcnJvchgHIAEoCRIXCgplcnJvcl9jb2RlGAggASgJSAOIAQESDgoGc3RhdHVzGAkgASgJEi0KCWZhaWxlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoKcmV0cmllZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARI1CgxkaXNtaXNzZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGQoMZGlzbWlzc2VkX2J5GA0gASgJSAaIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX2V4ZWN1dGlvbl9pZEIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUINCgtfZXJyb3JfY29kZUINCgtfcmV0cmllZF9hdEIPCg1fZGlzbWlzc2VkX2F0Qg8KDV9kaXNtaXNzZWRfYnkitQIKDENpcmN1aXRTdGF0ZRIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhAKCGVuZHBvaW50GAIgASgJEg0KBXN0YXRlGAMgASgJEhUKDWZhaWx1cmVfY291bnQYBCABKAUSOAoPbGFzdF9mYWlsdXJlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjIKCW9wZW5lZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1CgxoYWxmX29wZW5fYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCEgoQX2xhc3RfZmFpbHVyZV9hdEIMCgpfb3BlbmVkX2F0Qg8KDV9oYWxmX29wZW5fYXQigQEKDkV4ZWN1dGlvblN0YXRzEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSDQoFdG90YWwYAiABKAUSDwoHc3VjY2VzcxgDIAEoBRIOCgZmYWlsZWQYBCABKAUSDwoHcGVuZGluZxgFIAEoBRIXCg9hdmdfZHVyYXRpb25fbXMYBiABKAEiVQoPRGVhZExldHRlclN0YXRzEg8KB3BlbmRpbmcYASABKAUSDwoHcmV0cmllZBgCIAEoBRIRCglkaXNtaXNzZWQYAyABKAUSDQoFdG90YWwYBCABKAUixgEKFUxpc3RPcGVyYXRpb25zUmVxdWVzdBIVCghjYXRlZ29yeRgBIAEoCUgAiAEBEhYKCWlzX2FjdGl2ZRgCIAEoCEgBiAEBEhMKBnNlYXJjaBgDIAEoCUgCiAEBEhYKCWNvbmZpZ19pZBgEIAEoCUgDiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUILCglfY2F0ZWdvcnlCDAoKX2lzX2FjdGl2ZUIJCgdfc2VhcmNoQgwKCl9jb25maWdfaWQiVQoWTGlzdE9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SDQoFdG90YWwYAiABKAUiOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uItEHChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIsCgZxdW90YXMYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIyCgxyZXRyeV9wb2xpY3kYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhYKCWlzX2FjdGl2ZRgSIAEoCEgMiAEBEhsKDnN1cHBvcnRzX2FzeW5jGBMgASgISA2IAQESIQoUY2FsbGJhY2tfdHRsX3NlY29uZHMYFCABKAVIDogBARJDCh1jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIUCgxjYXBhYmlsaXRpZXMYFiADKAlCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmVCEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kiRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iigcKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEiwKBnF1b3RhcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIyCgxyZXRyeV9wb2xpY3kYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhUKDWFsbG93ZWRfcm9sZXMYDyADKAkSGwoOc3VwcG9ydHNfYXN5bmMYECABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgRIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgTIAMoCUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2VuZHBvaW50QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9pc19hY3RpdmVCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb25CEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kiRgoXVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iJAoWRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIqChdEZWxldGVPcGVyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqgDChdFeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDHRyaWdnZXJfdHlwZRgDIAEoCUgBiAEBEjUKD3RyaWdnZXJfY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIqCgRtb2RlGAUgASgOMhwub3BlcmF0aW9ucy52MS5FeGVjdXRpb25Nb2RlEhgKC2N1c3RvbWVyX2lkGAYgASgJSAOIAQESLAoGcmVjb3JkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi0KB2NvbnRlbnQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQFCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIOCgxfY3VzdG9tZXJfaWRCCQoHX3JlY29yZEIKCghfY29udGVudCKpAgoYRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEhgKC3Jlc3VsdF9qc29uGAIgASgMSACIAQESGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgBiAEBEhEKCWNvbXBsZXRlZBgEIAEoCBIVCghwb2xsX3VybBgKIAEoCUgCiAEBEhcKCmNhbmNlbF91cmwYCyABKAlIA4gBARIUCgdtZXNzYWdlGAwgASgJSASIAQFCDgoMX3Jlc3VsdF9qc29uQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9wb2xsX3VybEINCgtfY2FuY2VsX3VybEIKCghfbWVzc2FnZSJ2Ch5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRITCgZzdGF0dXMYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCQoHX3N0YXR1cyJnCh9MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEjUKCmV4ZWN1dGlvbnMYASADKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbhINCgV0b3RhbBgCIAEoBSJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIosBChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBARITCgZzdGF0dXMYAiABKAlIAYgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCEAoOX29wZXJhdGlvbl9rZXlCCQoHX3N0YXR1cyJfCh1MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRIvCgdlbnRyaWVzGAEgAygLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyRW50cnkSDQoFdG90YWwYAiABKAUiKQobUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIi8KHFJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCh1EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIbChlHZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0IksKGkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEi0KBXN0YXRzGAEgASgLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyU3RhdHMiGgoYTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0IkgKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUiLAoTUmVzZXRDaXJjdWl0UmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJIicKFFJlc2V0Q2lyY3VpdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiGQoXR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QiOgoYR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCRIOCgZwcmVmaXgYAiABKAkiIAoeUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0IjEKH1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJIkIKHkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSDQoFbGltaXQYCiABKAUiTwofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iKgocR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCh1HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRI0CglleGVjdXRpb24YASABKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbiItCh9DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlMKIENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEwoGc3RhdHVzGAIgASgJSACIAQFCCQoHX3N0YXR1cyJLCiBDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhAKCHN0YXR1c2VzGAIgAygJIlMKIUNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRIXCg9jYW5jZWxsZWRfY291bnQYASABKAUSFQoNY2FuY2VsbGVkX2lkcxgCIAMoCSJECiFDb21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkSEwoLcmVzdWx0X2pzb24YAiABKAwiRwoiQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAkSEQoJY2FuY2VsbGVkGAIgASgIIqsBCh1GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQESLQoHZGV0YWlscxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIMCgpfcmV0cnlhYmxlQgoKCF9kZXRhaWxzIkMKHkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAkSEQoJY2FuY2VsbGVkGAIgASgIItsBCh5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1JlcXVlc3QSCgoCaWQYASABKAkSGQoMcHJvZ3Jlc3NfcGN0GAIgASgFSACIAQESHQoQcHJvZ3Jlc3NfbWVzc2FnZRgDIAEoCUgBiAEBEjcKEXByb2dyZXNzX21ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBQg8KDV9wcm9ncmVzc19wY3RCEwoRX3Byb2dyZXNzX21lc3NhZ2VCFAoSX3Byb2dyZXNzX21ldGFkYXRhIkQKH1JlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCKCAQodR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIYCgtjdXN0b21lcl9pZBgCIAEoCUgAiAEBEhQKB3VzZXJfaWQYAyABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCCgoIX3VzZXJfaWQisgEKDlF1b3RhUnVsZVVzYWdlEhIKCnJ1bGVfaW5kZXgYASABKAUSEwoLc2VnbWVudF9rZXkYAiABKAkSDQoFbGltaXQYAyABKAUSDAoEdXNlZBgEIAEoBRIRCglyZW1haW5pbmcYBSABKAUSFQoNcmVzZXRfYXRfdW5peBgGIAEoAxINCgVzY29wZRgHIAEoCRIQCghkdXJhdGlvbhgIIAEoBRIPCgdtZXNzYWdlGAkgASgJIq0BCh5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVzcG9uc2USGAoQdG90YWxfZXhlY3V0aW9ucxgBIAEoAxIZChFwZXJpb2RfZXhlY3V0aW9ucxgCIAEoAxIYCgtxdW90YV9saW1pdBgDIAEoA0gAiAEBEiwKBXJ1bGVzGAQgAygLMh0ub3BlcmF0aW9ucy52MS5RdW90YVJ1bGVVc2FnZUIOCgxfcXVvdGFfbGltaXQiHAoaR2V0U2lnbmluZ1NlY3JldFJhd1JlcXVlc3QiLQobR2V0U2lnbmluZ1NlY3JldFJhd1Jlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSpiCg1FeGVjdXRpb25Nb2RlEh4KGkVYRUNVVElPTl9NT0RFX1VOU1BFQ0lGSUVEEAASFwoTRVhFQ1VUSU9OX01PREVfU1lOQxABEhgKFEVYRUNVVElPTl9NT0RFX0FTWU5DEAIygBYKEU9wZXJhdGlvbnNTZXJ2aWNlEl0KDkxpc3RPcGVyYXRpb25zEiQub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uc1JlcXVlc3QaJS5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25zUmVzcG9uc2USVwoMR2V0T3BlcmF0aW9uEiIub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25SZXF1ZXN0GiMub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25SZXNwb25zZRJgCg9DcmVhdGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLkNyZWF0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLkNyZWF0ZU9wZXJhdGlvblJlc3BvbnNlEmAKD1VwZGF0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuVXBkYXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USYAoPRGVsZXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5EZWxldGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5EZWxldGVPcGVyYXRpb25SZXNwb25zZRJjChBFeGVjdXRlT3BlcmF0aW9uEiYub3BlcmF0aW9ucy52MS5FeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBonLm9wZXJhdGlvbnMudjEuRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEngKF0xpc3RPcGVyYXRpb25FeGVjdXRpb25zEi0ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzEjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2UScgoVTGlzdERlYWRMZXR0ZXJFbnRyaWVzEisub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRJvChRSZXRyeURlYWRMZXR0ZXJFbnRyeRIqLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5SZXRyeURlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkRpc21pc3NEZWFkTGV0dGVyRW50cnkSLC5vcGVyYXRpb25zLnYxLkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USaQoSR2V0RGVhZExldHRlclN0YXRzEigub3BlcmF0aW9ucy52MS5HZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0Gikub3BlcmF0aW9ucy52MS5HZXREZWFkTGV0dGVyU3RhdHNSZXNwb25zZRJmChFMaXN0Q2lyY3VpdFN0YXRlcxInLm9wZXJhdGlvbnMudjEuTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0Gigub3BlcmF0aW9ucy52MS5MaXN0Q2lyY3VpdFN0YXRlc1Jlc3BvbnNlElcKDFJlc2V0Q2lyY3VpdBIiLm9wZXJhdGlvbnMudjEuUmVzZXRDaXJjdWl0UmVxdWVzdBojLm9wZXJhdGlvbnMudjEuUmVzZXRDaXJjdWl0UmVzcG9uc2USeAoXR2V0QXBwbGljYWJsZU9wZXJhdGlvbnMSLS5vcGVyYXRpb25zLnYxLkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBouLm9wZXJhdGlvbnMudjEuR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRJyChVHZXRPcGVyYXRpb25FeGVjdXRpb24SKy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEnsKGENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbhIuLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBovLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USfgoZQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9ucxIvLm9wZXJhdGlvbnMudjEuQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaMC5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRKBAQoaQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb24SMC5vcGVyYXRpb25zLnYxLkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBoxLm9wZXJhdGlvbnMudjEuQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ1ChZGYWlsT3BlcmF0aW9uRXhlY3V0aW9uEiwub3BlcmF0aW9ucy52MS5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBotLm9wZXJhdGlvbnMudjEuRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEngKF1JlcG9ydE9wZXJhdGlvblByb2dyZXNzEi0ub3BlcmF0aW9ucy52MS5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlcG9ydE9wZXJhdGlvblByb2dyZXNzUmVzcG9uc2USdQoWR2V0T3BlcmF0aW9uUXVvdGFVc2FnZRIsLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXNwb25zZRJjChBHZXRTaWduaW5nU2VjcmV0EiYub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmVxdWVzdBonLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEmwKE0dldFNpZ25pbmdTZWNyZXRSYXcSKS5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Gioub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmF3UmVzcG9uc2USeAoXUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXQSLS5vcGVyYXRpb25zLnYxLlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVxdWVzdBouLm9wZXJhdGlvbnMudjEuUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXNwb25zZUJBWj9naXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vb3BlcmF0aW9ucy92MTtvcGVyYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
13
13
 
14
14
  /**
15
15
  * Describes the message operations.v1.Operation.