@alphauspkgs/blue-sdk-ts 1.0.36 → 1.0.38

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/gc/v1/gc_pb.ts CHANGED
@@ -14,7 +14,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
14
14
  * Describes the file gc/v1/gc.proto.
15
15
  */
16
16
  export const file_gc_v1_gc: GenFile = /*@__PURE__*/
17
- fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCJnChpHZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkSDwoHZ3JvdXBCeRgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSI4CiBHZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkirQIKElJlZ2lzdGVyT3JnUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAQgASgJEiUKBXVzZXJzGAUgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgGIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgHIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAkgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAogASgJIlcKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiYQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiWQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJHChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiMAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCSLCBwohU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIWCg5yZXNlcnZhdGlvbklkcxgCIAMoCRITCgtyZXNvdXJjZUlkcxgDIAMoCRIWCg5tYXhVcGZyb250Q29zdBgEIAEoARIpCghwcm92aWRlchgFIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZW5kRGF0ZRgGIAEoCRIRCglzdGFydERhdGUYByABKAkSEQoJc2VnbWVudElkGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtkZXNjcmlwdGlvbhgKIAEoCRIMCgRuYW1lGAsgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YDCABKAkSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGA0gAygJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgOIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEioKCmNvdmVyYWdlSWQYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GBAgASgJEikKCWNyZWF0ZWRCeRgRIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRISCgpkYXRhU291cmNlGBIgASgJEi8KD2V4ZWN1dGlvblBvbGljeRgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIWCg5mbGFnZ2VkQWN0aW9ucxgUIAMoCRIKCgJpZBgVIAEoCRIVCg1pc0NhbGN1bGF0aW5nGBYgASgIEhEKCWlzRGVmYXVsdBgXIAEoCBIQCghpc0xvY2tlZBgYIAEoCBIVCg1pc1JlY29tbWVuZGVkGBkgASgIEhEKCWlzUmVuZXdhbBgaIAEoCBIPCgdpc1NhdmVkGBsgASgIEhQKDGxhc3RNb2RpZmllZBgcIAEoCRISCgptZXRhUGxhbklkGB0gASgJEjoKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGB4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg0KBW9yZ0lkGB8gASgJEhAKCHBsYW5UeXBlGCAgASgJEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxghIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRInCgdzZWdtZW50GCIgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Ih8KHUxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0IjAKHkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiPwopR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QSEgoKZXh0ZXJuYWxJZBgBIAEoCSJNCidDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhIKCmV4dGVybmFsSWQYAiABKAkiMQoDT3JnEg0KBW9yZ0lkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAki8wQKFUNvbW1pdG1lbnRQbGFuRGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCRIVCg1pc0NhbGN1bGF0aW5nGAYgASgIEg4KBnN0YXR1cxgHIAEoCRIPCgdtYXhUZXJtGAggASgJEiEKGWNvdmVyZWRPbmRlbWFuZENvc3RIb3VybHkYCSABKAESIAoYYmVmb3JlT25kZW1hbmRDb3N0SG91cmx5GAogASgBEiAKGGJlZm9yZVJlc2VydmVkQ29zdEhvdXJseRgLIAEoARIbChNhbW9ydGl6ZWRDb3N0SG91cmx5GAwgASgBEhsKE3JlY3VycmluZ0Nvc3RIb3VybHkYDSABKAESGQoRdXBmcm9udENvc3RIb3VybHkYDiABKAESGAoQYmVmb3JlQ29zdEhvdXJseRgPIAEoARIXCg9hZnRlckNvc3RIb3VybHkYECABKAESFwoPdG90YWxDb3N0SG91cmx5GBEgASgBEhUKDXNhdmluZ3NIb3VybHkYEiABKAESEQoJZmVlSG91cmx5GBMgASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgUIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYFSABKAESFgoOYnJlYWtldmVuSG91cnMYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEhYKDm1vbnRobHlTYXZpbmdzGBggASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYGSABKAEiWQoiTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZRIzCgVwbGFucxgBIAMoCzIkLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIukFChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJfCiNMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXNwb25zZRI4CglsaW5lSXRlbXMYASADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0i9wQKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0InAKKUxpc3RDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2hlc1Jlc3BvbnNlEkMKD3Jlc291cmNlTWF0Y2hlcxgBIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEizQMKD01ldHJpY3NSZXNwb25zZRIXCg9saWZldGltZVNhdmluZ3MYASABKAESEgoKbXRkU2F2aW5ncxgCIAEoARIhChlwdXJjaGFzZUF1dG9tYXRpb25FbmFibGVkGAMgASgIEiAKGGJ1eWJhY2tBdXRvbWF0aW9uRW5hYmxlZBgEIAEoCBIXCg9oYXNBY3Rpb25lZFBsYW4YBSABKAgSGQoRaGFzUGVuZGluZ0FjdGlvbnMYBiABKAgSGwoTbGF0ZXN0RXhlY3V0aW9uRGF0ZRgHIAEoCRIdChVwdXJjaGFzZU1pc3NlZFNhdmluZ3MYCCABKAESHAoUYnV5YmFja01pc3NlZFNhdmluZ3MYCSABKAESHwoXdG90YWxEYWlseU1pc3NlZFNhdmluZ3MYCiABKAESGwoTaG91cmx5TWlzc2VkU2F2aW5ncxgLIAEoARIeChZtaXNzZWRTYXZpbmdzU3RhcnREYXRlGAwgASgJEhwKFG1pc3NlZFNhdmluZ3NFbmREYXRlGA0gASgJEhcKD2V4cGlyaW5nU2F2aW5ncxgOIAEoARIQCghjb3ZlcmFnZRgPIAEoARITCgt1dGlsaXphdGlvbhgQIAEoASKICAoIUmVzb3VyY2USCgoCaWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISGgoScHJvdmlkZXJSZXNvdXJjZUlkGAQgASgJEg4KBmlzU3BvdBgFIAEoCBIMCgRuYW1lGAYgASgJEhUKDXJlc291cmNlR3JvdXAYByABKAkSEAoIdXNhZ2VFbmQYCCABKAkSEgoKdXNhZ2VTdGFydBgJIAEoCRIlCgR0YWdzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJEhIKCmluc3RhbmNlSWQYDSABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgOIAEoCRIUCgxzdWJBY2NvdW50SWQYDyABKAkSGwoTbWFuYWdlbWVudEFjY291bnRJZBgQIAEoCRIWCg5vd25lckFjY291bnRJZBgRIAEoCRIQCghza3VUaXRsZRgSIAEoCRIPCgdza3VOYW1lGBMgASgJEhgKEGF2YWlsYWJpbGl0eVpvbmUYFCABKAkSEwoLY2FjaGVFbmdpbmUYFSABKAkSFgoOZGF0YWJhc2VFbmdpbmUYFiABKAkSEwoLZGVzY3JpcHRpb24YFyABKAkSDgoGZmFtaWx5GBggASgJEhYKDmZ1bGxSZWdpb25OYW1lGBkgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYGiABKAgSFAoMaW5zdGFuY2VUeXBlGBsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRgcIAEoCRIUCgxpc1Jlc2VydmFibGUYHSABKAgSFAoMbGljZW5zZU1vZGVsGB4gASgJEhQKDGxvY2F0aW9uVHlwZRgfIAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3RvchggIAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YISABKAkSFgoOcHJlSW5zdGFsbGVkU3cYIiABKAkSFQoNcHJpY2VDdXJyZW5jeRgjIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYJCABKAkSFQoNcHJvdmlkZXJTa3VJZBglIAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYJiABKAkSDgoGcmVnaW9uGCcgASgJEg8KB3NlcnZpY2UYKCABKAkSDwoHdGVuYW5jeRgpIAEoCRIRCgl1c2FnZVR5cGUYKiABKAkSDwoHdmVyc2lvbhgrIAEoCRIcChR2cGNOZXR3b3JraW5nU3VwcG9ydBgsIAEoCBIZChFvbmRlbWFuZFVzYWdlVW5pdBgtIAEoCSJDChVMaXN0UmVzb3VyY2VzUmVzcG9uc2USKgoJcmVzb3VyY2VzGAEgAygLMhcuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZSLUAgoSUmVzb3VyY2VEYWlseVVzYWdlEgwKBGRhdGUYASABKAkSFgoOdXNhZ2VBY2NvdW50SWQYAiABKAkSFAoMc3ViQWNjb3VudElkGAMgASgJEg0KBXVzYWdlGAQgASgBEhgKEHJlc2VydmF0aW9uVXNhZ2UYBSABKAESFQoNZnJlZVRpZXJVc2FnZRgGIAEoARIUCgxvbmRlbWFuZENvc3QYByABKAESFAoMcmVzZXJ2ZWRDb3N0GAggASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAkgASgBEhAKCHNwb3RDb3N0GAogASgBEhcKD2ZyZWVUaWVyU2F2aW5ncxgLIAEoARIRCgl1c2FnZVR5cGUYDCABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGA0gASgJEhQKDGNvdmVyZWRVc2FnZRgOIAEoARIOCgZ1cHRpbWUYDyABKAEiVgodR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2USNQoKZGFpbHlVc2FnZRgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJAChRMaXN0U2VnbWVudHNSZXNwb25zZRIoCghzZWdtZW50cxgBIAMoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEi1QoKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkiVwoiTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiLnBAoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IjsKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCLdAQoqR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkSJQodZ3VhcmFudGVlZENvbW1pdG1lbnRQcmluY2lwYWwYBiABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAcgASgJIr4CCihDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlEg4KBnRhcmdldBgBIAEoCRIVCg1yaXBwbGVSb2xlQXJuGAIgASgJEhgKEHJpcHBsZUV4dGVybmFsSWQYAyABKAkSIwobZ3VhcmFudGVlZENvbW1pdG1lbnRSb2xlQXJuGAQgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgFIAEoCRIPCgdzdGFja0lkGAYgASgJEhMKC3N0YWNrUmVnaW9uGAcgASgJEhMKC3RlbXBsYXRlVXJsGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtsYXN0VXBkYXRlZBgKIAEoCRIkChxndWFyYW50ZWVkQ29tbWl0bWVudFZlcmlmaWVkGAsgASgIKl4KCFByb3ZpZGVyEhgKFFBST1ZJREVSX1VOU1BFQ0lGSUVEEAASBwoDQVdTEAESCQoFQVpVUkUQAhIHCgNHQ1AQAxIOCgpLVUJFUk5FVEVTEAQSCwoHVU5LTk9XThAFKpgBChBDb21taXRtZW50U3RhdHVzEiEKHUNPTU1JVE1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBwoDTkVXEAESDAoIUkVWSUVXRUQQAhINCglTQ0hFRFVMRUQQAxINCglDT01QTEVURUQQBBIJCgVEUkFGVBAFEhAKDE5FRURTX1JFVklFVxAGEg8KC0lOX1BST0dSRVNTEAcqigEKGUNvbW1pdG1lbnRJbnZlbnRvcnlTdGF0dXMSKwonQ09NTUlUTUVOVF9JTlZFTlRPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVUSVJFRBACEhMKD1BBWU1FTlRfUEVORElORxADEhIKDlBBWU1FTlRfRkFJTEVEEAQqQwoFU2NvcGUSFQoRU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZTSEFSRUQQARIMCghSRUdJT05BTBACEgkKBVpPTkFMEAMqQQoJVXNhZ2VUeXBlEhoKFlVTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdSVU5OSU5HEAESCwoHU1RPUFBFRBACMsclChVHdWFyYW50ZWVkQ29tbWl0bWVudHMSYwoITGlzdE9yZ3MSHi5ibHVlYXBpLmdjLnYxLkxpc3RPcmdzUmVxdWVzdBoSLmJsdWVhcGkuZ2MudjEuT3JnIiGC0+STAhs6ASoiFi92MS9vcmdhbml6YXRpb25zOnJlYWQwARKYAQoZR2V0Q29tbWl0bWVudHNQbGFuRGV0YWlscxIuLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIiWC0+STAh8SHS92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9EpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRKnAQoaTGlzdERlZmF1bHRDb21taXRtZW50c1BsYW4SMC5ibHVlYXBpLmdjLnYxLkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29tbWl0bWVudHMvcGxhbi9kZWZhdWx0EqMBCh1HZXRSZWNvbW1lbmRlZENvbW1pdG1lbnRzUGxhbhIyLmJsdWVhcGkuZ2MudjEuR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIogtPkkwIiEiAvdjEvY29tbWl0bWVudHMvcGxhbi9yZWNvbW1lbmRlZBK2AQocTGlzdENvbW1pdG1lbnRzUGxhbkxpbmVJdGVtcxIxLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVzcG9uc2UiL4LT5JMCKRInL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vbGluZWl0ZW1zEs4BCiJMaXN0Q29tbWl0bWVudHNQbGFuUmVzb3VyY2VNYXRjaGVzEjcuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXF1ZXN0GjguYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXNwb25zZSI1gtPkkwIvEi0vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9yZXNvdXJjZW1hdGNoZXMSeQoPTGlzdENvbW1pdG1lbnRzEiUuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXNwb25zZSIXgtPkkwIREg8vdjEvY29tbWl0bWVudHMSlwEKE0dldENvbW1pdG1lbnRzQ2hhcnQSKS5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0GicuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0UmVzcG9uc2UiLILT5JMCJhIkL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L2NoYXJ0Eq8BChlHZXRDb21taXRtZW50c1V0aWxpemF0aW9uEi8uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlIjKC0+STAiwSKi92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS91dGlsaXphdGlvbhJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKhAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSItgtPkkwInEiUvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseXVzYWdlEqcBChpMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudBIwLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0GjEuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlIiSC0+STAh4SHC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4SqgEKGlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0EjAuYmx1ZWFwaS5nYy52MS5TYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iNoLT5JMCMDoBKiIrL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbi97cGxhbklkfS9kcmFmdBKhAQoWTGlzdERyYWZ0UHVyY2hhc2VQbGFucxIsLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZSIqgtPkkwIkEiIvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL2RyYWZ0Eq0BChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjOC0+STAi0qKy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4ve3BsYW5JZH0vZHJhZnQSbwoLUmVnaXN0ZXJPcmcSIS5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvb25ib2FyZGluZxKOAQoSU3RhcnRBd3NPbmJvYXJkaW5nEiguYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvb25ib2FyZGluZy9hd3Mvc3RhcnQSuwEKHEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGUSMi5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0GjMuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2UiMoLT5JMCLBIqL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL3RlbXBsYXRlEqkBChRHZXRBd3NMYXVuY2hTdGFja1VybBIqLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi9sYXVuY2hzdGFja3VybBKSAQoTVmVyaWZ5QXdzT25ib2FyZGluZxIpLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvb25ib2FyZGluZy9hd3MvdmVyaWZ5EpMBChNHZXRPbmJvYXJkaW5nU3RhdHVzEikuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vbmJvYXJkaW5nL3N0YXR1czpyZWFkEogBChFMaXN0UGF5ZXJBY2NvdW50cxInLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlIiCC0+STAhoSGC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cxKmAQoWU2V0UGF5ZXJBY2NvdW50RW5hYmxlZBIsLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMve2NvbXBhbnlJZH0SmwEKFUdldFBheWVyQWNjb3VudFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3N0YXR1cxKgAQoUVmFsaWRhdGVCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvb25ib2FyZGluZy9iaWxsaW5nZ3JvdXA6dmFsaWRhdGUSzwEKIkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmwSOC5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0GjkuYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZDp1cmwSyAEKIENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzEjYuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
17
+ fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIhgKFkxpc3RDb21taXRtZW50c1JlcXVlc3QiZwoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJEg8KB2dyb3VwQnkYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiOAogR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIjCiFMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QiMAoeR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCSImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIq0CChJSZWdpc3Rlck9yZ1JlcXVlc3QSDQoFbXNwSWQYASABKAkSEQoJYmlsbGluZ0lkGAIgASgJEgwKBG5hbWUYAyABKAkSGwoTbGFicmFTdWJzY3JpcHRpb25JZBgEIAEoCRIlCgV1c2VycxgFIAMoCzIWLmJsdWVhcGkuZ2MudjEuT3JnVXNlchIOCgZkb21haW4YBiABKAkSLgoOcHJpbWFyeUFkZHJlc3MYByABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgJIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgKIAEoCSJXChlTdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJImEKI0dldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIlkKG0dldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCSK1AQoaVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFAoMb25ib2FyZGluZ0lkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRIyCgtleGlzdGluZ0N1chgGIAEoCzIdLmJsdWVhcGkuZ2MudjEuQXdzRXhpc3RpbmdDdXIiRwoaR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJIhoKGExpc3RQYXllckFjY291bnRzUmVxdWVzdCJDCh1TZXRQYXllckFjY291bnRFbmFibGVkUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCCIeChxHZXRQYXllckFjY291bnRTdGF0dXNSZXF1ZXN0IjAKG1ZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkiwgcKIVNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBIOCgZwbGFuSWQYASABKAkSFgoOcmVzZXJ2YXRpb25JZHMYAiADKAkSEwoLcmVzb3VyY2VJZHMYAyADKAkSFgoObWF4VXBmcm9udENvc3QYBCABKAESKQoIcHJvdmlkZXIYBSABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2VuZERhdGUYBiABKAkSEQoJc3RhcnREYXRlGAcgASgJEhEKCXNlZ21lbnRJZBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLZGVzY3JpcHRpb24YCiABKAkSDAoEbmFtZRgLIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGAwgASgJEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgNIAMoCRI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYDiADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIqCgpjb3ZlcmFnZUlkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgQIAEoCRIpCgljcmVhdGVkQnkYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEgoKZGF0YVNvdXJjZRgSIAEoCRIvCg9leGVjdXRpb25Qb2xpY3kYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoOZmxhZ2dlZEFjdGlvbnMYFCADKAkSCgoCaWQYFSABKAkSFQoNaXNDYWxjdWxhdGluZxgWIAEoCBIRCglpc0RlZmF1bHQYFyABKAgSEAoIaXNMb2NrZWQYGCABKAgSFQoNaXNSZWNvbW1lbmRlZBgZIAEoCBIRCglpc1JlbmV3YWwYGiABKAgSDwoHaXNTYXZlZBgbIAEoCBIUCgxsYXN0TW9kaWZpZWQYHCABKAkSEgoKbWV0YVBsYW5JZBgdIAEoCRI6ChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgeIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRINCgVvcmdJZBgfIAEoCRIQCghwbGFuVHlwZRggIAEoCRI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYISABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJwoHc2VnbWVudBgiIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCIfCh1MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdCI1Ch5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QSEwoLZHJhZnRQbGFuSWQYASABKAkiPwopR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QSEgoKZXh0ZXJuYWxJZBgBIAEoCSJNCidDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhIKCmV4dGVybmFsSWQYAiABKAkiMQoDT3JnEg0KBW9yZ0lkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAki8wQKFUNvbW1pdG1lbnRQbGFuRGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCRIVCg1pc0NhbGN1bGF0aW5nGAYgASgIEg4KBnN0YXR1cxgHIAEoCRIPCgdtYXhUZXJtGAggASgJEiEKGWNvdmVyZWRPbmRlbWFuZENvc3RIb3VybHkYCSABKAESIAoYYmVmb3JlT25kZW1hbmRDb3N0SG91cmx5GAogASgBEiAKGGJlZm9yZVJlc2VydmVkQ29zdEhvdXJseRgLIAEoARIbChNhbW9ydGl6ZWRDb3N0SG91cmx5GAwgASgBEhsKE3JlY3VycmluZ0Nvc3RIb3VybHkYDSABKAESGQoRdXBmcm9udENvc3RIb3VybHkYDiABKAESGAoQYmVmb3JlQ29zdEhvdXJseRgPIAEoARIXCg9hZnRlckNvc3RIb3VybHkYECABKAESFwoPdG90YWxDb3N0SG91cmx5GBEgASgBEhUKDXNhdmluZ3NIb3VybHkYEiABKAESEQoJZmVlSG91cmx5GBMgASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgUIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYFSABKAESFgoOYnJlYWtldmVuSG91cnMYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEhYKDm1vbnRobHlTYXZpbmdzGBggASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYGSABKAEitAYKFkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0SCgoCaWQYASABKAkSDgoGcGxhbklkGAIgASgJEg8KB29mZmVySWQYAyABKAkSFwoPbGVhc2VNZW51SXRlbUlkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRIbChNyZWNvbW1lbmRlZFF1YW50aXR5GAYgASgBEhgKEHNlbGVjdGVkUXVhbnRpdHkYByABKAESHQoVcmVjb21tZW5kZWRDb21taXRtZW50GAggASgBEhoKEnNlbGVjdGVkQ29tbWl0bWVudBgJIAEoARISCgppc1NlbGVjdGVkGAogASgIEhoKEmFmdGVyQW1vcnRpemVkQ29zdBgLIAEoARITCgt1cGZyb250Q29zdBgMIAEoARIVCg1yZWN1cnJpbmdDb3N0GA0gASgBEhIKCmJlZm9yZUNvc3QYDiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBgQIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GBEgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGBIgASgBEhEKCXRvdGFsQ29zdBgTIAEoARITCgttb250aGx5Q29zdBgUIAEoARIPCgdzYXZpbmdzGBUgASgBEhYKDm1vbnRobHlTYXZpbmdzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARILCgNmZWUYGCABKAESFAoMZGlzY291bnRSYXRlGBkgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBogASgBEhQKDGNvbnRyYWN0VGVybRgbIAEoCRIVCg1wYXltZW50T3B0aW9uGBwgASgJEi0KDGNvbnRyYWN0U3BlYxgdIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJgoFb2ZmZXIYHiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKFHJlbmV3YWxSZXNlcnZhdGlvbklkGB8gASgJEhQKDGNvdmVyZWRVbml0cxggIAEoARIVCg1hbW9ydGl6ZWRDb3N0GCEgASgBItcFChtDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSCgoCaWQYASABKAkSEgoKdG90YWxVbml0cxgCIAEoARIcChRiZWZvcmVVbmNvdmVyZWRVbml0cxgDIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgEIAEoARIbChNhZnRlclVuY292ZXJlZFVuaXRzGAUgASgBEhUKDW9uZGVtYW5kUHJpY2UYBiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYByABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GAggASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GAkgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYCiABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GAsgASgBEhkKEWFmdGVyUmVzZXJ2ZWRDb3N0GAwgASgBEhIKCmJlZm9yZUNvc3QYDSABKAESEQoJYWZ0ZXJDb3N0GA4gASgBEhkKEW1vbnRobHlCZWZvcmVDb3N0GA8gASgBEhgKEG1vbnRobHlBZnRlckNvc3QYECABKAESIAoYbW9udGhseUFmdGVyUmVzZXJ2ZWRDb3N0GBEgASgBEiAKGG1vbnRobHlBZnRlck9uZGVtYW5kQ29zdBgSIAEoARIWCg5hdmVyYWdlU2F2aW5ncxgTIAEoARIdChVhdmVyYWdlTW9udGhseVNhdmluZ3MYFCABKAESEQoJdXNhZ2VUeXBlGBUgASgJEhAKCGNvdmVyYWdlGBYgASgBEikKCHJlc291cmNlGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb3ZlcmVkVW5pdHMYGCABKAESHAoUZXhwbGFuYXRpb25Vbm1hdGNoZWQYGSABKAESFAoMb25kZW1hbmRDb3N0GBogASgBEhQKDHJlc2VydmVkQ29zdBgbIAEoASLuAQoFTGVhc2USCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSHQoVcHJvdmlkZXJSZXNlcnZhdGlvbklkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIOCgZzdGF0dXMYBSABKAkSEQoJc3RhcnREYXRlGAYgASgJEg8KB2VuZERhdGUYByABKAkSEgoKbG9ja2luRGF0ZRgIIAEoCRITCgt1cGZyb250Q29zdBgJIAEoARIVCg1yZWN1cnJpbmdDb3N0GAogASgBEhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkiSQoQRGFpbHlVdGlsaXphdGlvbhIMCgRkYXRlGAEgASgJEhMKC3V0aWxpemF0aW9uGAIgASgBEhIKCm5ldFNhdmluZ3MYAyABKAEi0AcKCkNvbW1pdG1lbnQSCgoCaWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhUKDWFtb3J0aXplZENvc3QYAyABKAESGAoQYmlsbGluZ0FjY291bnRJZBgEIAEoCRIRCgljYW5SZWJhdGUYBSABKAgSFAoMY29udHJhY3RUZXJtGAYgASgJEhMKC2Rpc3BsYXlOYW1lGAcgASgJEhcKD2R1cmF0aW9uU2Vjb25kcxgIIAEoARIeChZlZmZlY3RpdmVJbnN0YW5jZUNvdW50GAkgASgDEg8KB2VuZERhdGUYCiABKAkSFQoNaW5zdGFuY2VDb3VudBgLIAEoAxIWCg5pbnN0YW5jZUZhbWlseRgMIAEoCRIUCgxpbnN0YW5jZVR5cGUYDSABKAkSEAoIaXNBY3RpdmUYDiABKAgSEgoKaXNGbGV4aWJsZRgPIAEoCBIQCghpc0xlYXNlZBgQIAEoCBIRCglpc011bHRpQXoYESABKAgSFwoPbGVhc2VMb2NraW5EYXRlGBIgASgJEhIKCmxlYXNlU3RhcnQYEyABKAkSGQoRbGVhc2VkRGlzcGxheU5hbWUYFCABKAkSEwoLbW9udGhseUNvc3QYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESDAoEbmFtZRgXIAEoCRISCgpuZXRTYXZpbmdzGBggASgBEhIKCm9mZmVyaW5nSWQYGSABKAkSFQoNcGF5bWVudE9wdGlvbhgaIAEoCRIYChBwb3RlbnRpYWxTYXZpbmdzGBsgASgBEhoKEnByb2R1Y3REZXNjcmlwdGlvbhgcIAEoCRIQCghwcm92aWRlchgdIAEoCRIeChZwcm92aWRlclJlc2VydmF0aW9uX2lkGB4gASgJEhUKDXJlY3VycmluZ0Nvc3QYHyABKAESDgoGcmVnaW9uGCAgASgJEhMKC3JlbmV3YWxQbGFuGCEgASgJEhYKDnJlc2VydmF0aW9uRW5kGCIgASgJEhgKEHJlc2VydmF0aW9uU3RhcnQYIyABKAkSFAoMcnVubmluZ0hvdXJzGCQgASgBEg8KB3NhdmluZ3MYJSABKAESEQoJc3RhcnREYXRlGCYgASgJEg4KBnN0YXR1cxgnIAEoCRIeChZ0cmFuc2ZlclJlc2VydmF0aW9uRW5kGCggASgJEiAKGHRyYW5zZmVyUmVzZXJ2YXRpb25TdGFydBgpIAEoCRIMCgR0eXBlGCogASgJEhMKC3VwZnJvbnRDb3N0GCsgASgBEhMKC3V0aWxpemF0aW9uGCwgASgBIkkKF0xpc3RDb21taXRtZW50c1Jlc3BvbnNlEi4KC2NvbW1pdG1lbnRzGAEgAygLMhkuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50IkoKFENvbW1pdG1lbnRzQ2hhcnREYXRhEgwKBGRhdGUYASABKAkSEAoIY2hhcnRLZXkYAiABKAkSEgoKY2hhcnRWYWx1ZRgDIAEoASJNChhDb21taXRtZW50c0NoYXJ0UmVzcG9uc2USMQoEZGF0YRgBIAMoCzIjLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydERhdGEi/AEKGkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhEhcKD3V0aWxpemF0aW9uRGF0ZRgBIAEoCRIMCgRjb3N0GAIgASgBEhMKC2NvdmVyZWRDb3N0GAMgASgBEg8KB2dyaUZlZXMYBCABKAESEgoKbmV0U2F2aW5ncxgFIAEoARIYChBwb3RlbnRpYWxTYXZpbmdzGAYgASgBEh4KFnJlc2VydmF0aW9uVXRpbGl6YXRpb24YByABKAESFAoMcnVubmluZ0hvdXJzGAggASgBEg8KB3NhdmluZ3MYCSABKAESHAoUdW51dGlsaXplZENvbW1pdG1lbnQYCiABKAEiWQoeQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlEjcKBGRhdGEYASADKAsyKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhIs0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui1AIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJ0CgdTZWdtZW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCWlzRGVmYXVsdBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkiQAoOU2VnbWVudENyZWF0b3ISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkiSwoMUHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCWlzUmVuZXdhbBgEIAEoCCKlBQoOU2VnbWVudERldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIpCghwcm92aWRlchgEIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISFgoOY2xvdWRQcm92aWRlcnMYBSADKAkSEQoJaXNEZWZhdWx0GAYgASgIEhEKCWNyZWF0ZWRBdBgHIAEoCRIwCgljcmVhdGVkQnkYCCABKAsyHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnRDcmVhdG9yEhAKCHBhcmVudElkGAkgASgJEg4KBnN0YXR1cxgKIAEoCRIUCgxzZWdtZW50Q2xhc3MYCyABKAkSJwoGcGFyYW1zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgttb250aGx5Q29zdBgNIAEoARIWCg5tb250aGx5TmV0Q29zdBgOIAEoARIgChhtb250aGx5SWZBbGxPbmRlbWFuZENvc3QYDyABKAESGwoTbW9udGhseU9uZGVtYW5kQ29zdBgQIAEoARIbChNtb250aGx5UmVzZXJ2ZWRDb3N0GBEgASgBEhcKD21vbnRobHlTcG90Q29zdBgSIAEoARIWCg5tb250aGx5U2F2aW5ncxgTIAEoARIVCg1tb250aGx5QnVkZ2V0GBQgASgBEhAKCGNvdmVyYWdlGBUgASgBEhsKE3JlY29tbWVuZGVkQ292ZXJhZ2UYFiABKAESFgoOdGFyZ2V0Q292ZXJhZ2UYFyABKAESHAoUbW9udGhseVJlc291cmNlQ291bnQYGCABKAUSMgoNcHVyY2hhc2VQbGFucxgZIAMoCzIbLmJsdWVhcGkuZ2MudjEuUHVyY2hhc2VQbGFuIngKDENvbnRyYWN0U3BlYxIWCg5jb21taXRtZW50VHlwZRgBIAEoCRIVCg1wYXltZW50T3B0aW9uGAIgASgJEgwKBHRlcm0YAyABKAkSKwoKcHJvcGVydGllcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3gIKC1BsYW5TdW1tYXJ5EgsKA2tleRgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5udW1Db21taXRtZW50cxgDIAEoBRIVCg1taW5Db21taXRtZW50GAQgASgBEhkKEW1vbnRobHlDb21taXRtZW50GAUgASgBEhMKC3VwZnJvbnRDb3N0GAYgASgBEhIKCm1pblNhdmluZ3MYByABKAESEgoKbWF4U2F2aW5ncxgIIAEoARIWCg5tb250aGx5U2F2aW5ncxgJIAEoARIUCgxtaW5UZXJtSG91cnMYCiABKAUSFAoMbWF4VGVybUhvdXJzGAsgASgFEhMKC2dyaVByZW1pdW1zGAwgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgNIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgOIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgPIAEoASLlAgoOU2VydmljZVN1bW1hcnkSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoObnVtQ29tbWl0bWVudHMYBSABKAUSFwoPY3VycmVudENvdmVyYWdlGAYgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAcgASgBEhUKDW1pbkNvbW1pdG1lbnQYCCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYCSABKAESEwoLdXBmcm9udENvc3QYCiABKAESEgoKbWluU2F2aW5ncxgLIAEoARISCgptYXhTYXZpbmdzGAwgASgBEhYKDm1vbnRobHlTYXZpbmdzGA0gASgBEhQKDG1pblRlcm1Ib3VycxgOIAEoBRIUCgxtYXhUZXJtSG91cnMYDyABKAUSEgoKZ3JpUHJlbWl1bRgQIAEoASLaAQoQQWdncmVnYXRlTWV0cmljcxIXCg9jdXJyZW50Q292ZXJhZ2UYASABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYAiABKAESQQoJc3VtbWFyaWVzGAMgAygLMi4uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzLlN1bW1hcmllc0VudHJ5Gk8KDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VydmljZVN1bW1hcnk6AjgBItUKChNEZWZhdWx0UHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJc2VnbWVudElkGAUgASgJEicKB3NlZ21lbnQYBiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQSDgoGc3RhdHVzGAcgASgJEhAKCHBsYW5UeXBlGAggASgJEhEKCWNyZWF0ZWRBdBgJIAEoCRIUCgxsYXN0TW9kaWZpZWQYCiABKAkSKQoJY3JlYXRlZEJ5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD2V4ZWN1dGlvblBvbGljeRgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglpc0RlZmF1bHQYDSABKAgSFQoNaXNSZWNvbW1lbmRlZBgOIAEoCBIRCglpc1JlbmV3YWwYDyABKAgSFQoNaXNDYWxjdWxhdGluZxgQIAEoCBIQCghpc0xvY2tlZBgRIAEoCBIPCgdpc1NhdmVkGBIgASgIEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgTIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgUIAMoCRIPCgdtYXhUZXJtGBUgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YFiABKAkSFgoObWF4VXBmcm9udENvc3QYFyABKAESIgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYGCABKAESPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXN0YXJ0RGF0ZRgaIAEoCRIPCgdlbmREYXRlGBsgASgJEhIKCmRhdGFTb3VyY2UYHCABKAkSEgoKYmVmb3JlQ29zdBgdIAEoARIRCglhZnRlckNvc3QYHiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GB8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBggIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GCEgASgBEhUKDWFtb3J0aXplZENvc3QYIiABKAESFQoNcmVjdXJyaW5nQ29zdBgjIAEoARITCgt1cGZyb250Q29zdBgkIAEoARIRCgl0b3RhbENvc3QYJSABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgmIAEoARIPCgdzYXZpbmdzGCcgASgBEhYKDm1vbnRobHlTYXZpbmdzGCggASgBEhQKDHRvdGFsU2F2aW5ncxgpIAEoARILCgNmZWUYKiABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGCsgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgsIAEoARIWCg5icmVha2V2ZW5Ib3VycxgtIAEoARI5ChBhZ2dyZWdhdGVNZXRyaWNzGC4gASgLMh8uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzEi0KCXN1bW1hcmllcxgvIAMoCzIaLmJsdWVhcGkuZ2MudjEuUGxhblN1bW1hcnkSFgoOcmVzZXJ2YXRpb25JZHMYMCADKAkSEwoLcmVzb3VyY2VJZHMYMSADKAkSFgoOZmxhZ2dlZEFjdGlvbnMYMiADKAkSEgoKbWV0YVBsYW5JZBgzIAEoCRISCgpjb3ZlcmFnZUlkGDQgASgJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQQoPUGxhbkhpc3RvcnlVc2VyEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIvcBChBQbGFuSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSDQoFb3JnSWQYAyABKAkSFwoPcmVsYXRlZE9iamVjdElkGAQgASgJEhkKEXJlbGF0ZWRPYmplY3RUeXBlGAUgASgJEhEKCXRpbWVzdGFtcBgGIAEoCRIMCgR0eXBlGAcgASgJEg4KBnVzZXJJZBgIIAEoCRIkCgRkYXRhGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiwKBHVzZXIYCiABKAsyHi5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5VXNlciKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiLnBAoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IjsKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCLdAQoqR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkSJQodZ3VhcmFudGVlZENvbW1pdG1lbnRQcmluY2lwYWwYBiABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAcgASgJIr4CCihDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlEg4KBnRhcmdldBgBIAEoCRIVCg1yaXBwbGVSb2xlQXJuGAIgASgJEhgKEHJpcHBsZUV4dGVybmFsSWQYAyABKAkSIwobZ3VhcmFudGVlZENvbW1pdG1lbnRSb2xlQXJuGAQgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgFIAEoCRIPCgdzdGFja0lkGAYgASgJEhMKC3N0YWNrUmVnaW9uGAcgASgJEhMKC3RlbXBsYXRlVXJsGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtsYXN0VXBkYXRlZBgKIAEoCRIkChxndWFyYW50ZWVkQ29tbWl0bWVudFZlcmlmaWVkGAsgASgIIoQCCh9HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlEjAKBHBsYW4YASABKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4SOAoJbGluZUl0ZW1zGAIgAygLMiUuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkxpbmVJdGVtEkMKD3Jlc291cmNlTWF0Y2hlcxgDIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEjAKB2hpc3RvcnkYBCADKAsyHy5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5RW50cnkqXgoIUHJvdmlkZXISGAoUUFJPVklERVJfVU5TUEVDSUZJRUQQABIHCgNBV1MQARIJCgVBWlVSRRACEgcKA0dDUBADEg4KCktVQkVSTkVURVMQBBILCgdVTktOT1dOEAUqmAEKEENvbW1pdG1lbnRTdGF0dXMSIQodQ09NTUlUTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIHCgNORVcQARIMCghSRVZJRVdFRBACEg0KCVNDSEVEVUxFRBADEg0KCUNPTVBMRVRFRBAEEgkKBURSQUZUEAUSEAoMTkVFRFNfUkVWSUVXEAYSDwoLSU5fUFJPR1JFU1MQByqKAQoZQ29tbWl0bWVudEludmVudG9yeVN0YXR1cxIrCidDT01NSVRNRU5UX0lOVkVOVE9SWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdSRVRJUkVEEAISEwoPUEFZTUVOVF9QRU5ESU5HEAMSEgoOUEFZTUVOVF9GQUlMRUQQBCpDCgVTY29wZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEgoKBlNIQVJFRBABEgwKCFJFR0lPTkFMEAISCQoFWk9OQUwQAypBCglVc2FnZVR5cGUSGgoWVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAIyhiAKFUd1YXJhbnRlZWRDb21taXRtZW50cxJjCghMaXN0T3JncxIeLmJsdWVhcGkuZ2MudjEuTGlzdE9yZ3NSZXF1ZXN0GhIuYmx1ZWFwaS5nYy52MS5PcmciIYLT5JMCGzoBKiIWL3YxL29yZ2FuaXphdGlvbnM6cmVhZDABEpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRJ5Cg9MaXN0Q29tbWl0bWVudHMSJS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1JlcXVlc3QaJi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1Jlc3BvbnNlIheC0+STAhESDy92MS9jb21taXRtZW50cxKXAQoTR2V0Q29tbWl0bWVudHNDaGFydBIpLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QaJy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZSIsgtPkkwImEiQvdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vY2hhcnQSrwEKGUdldENvbW1pdG1lbnRzVXRpbGl6YXRpb24SLy5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L3V0aWxpemF0aW9uEmMKCkdldE1ldHJpY3MSIC5ibHVlYXBpLmdjLnYxLkdldE1ldHJpY3NSZXF1ZXN0Gh4uYmx1ZWFwaS5nYy52MS5NZXRyaWNzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21ldHJpY3MScQoNTGlzdFJlc291cmNlcxIjLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXNwb25zZSIVgtPkkwIPEg0vdjEvcmVzb3VyY2VzEqEBChVHZXRSZXNvdXJjZURhaWx5VXNhZ2USKy5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlIi2C0+STAicSJS92MS9yZXNvdXJjZXMve3Jlc291cmNlSWR9L2RhaWx5dXNhZ2USqAEKGkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjAuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMSqAEKF0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzEi0uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2UiLoLT5JMCKBImL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMve3BsYW5JZH0SqwEKGlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0EjAuYmx1ZWFwaS5nYy52MS5TYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iN4LT5JMCMToBKiIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve3BsYW5JZH0SogEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQSswEKF0RlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuEi0uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVzcG9uc2UiOYLT5JMCMyoxL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve2RyYWZ0UGxhbklkfRJvCgtSZWdpc3Rlck9yZxIhLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1Jlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9vbmJvYXJkaW5nEo4BChJTdGFydEF3c09uYm9hcmRpbmcSKC5ibHVlYXBpLmdjLnYxLlN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QaKS5ibHVlYXBpLmdjLnYxLlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlIiOC0+STAh06ASoiGC92MS9vbmJvYXJkaW5nL2F3cy9zdGFydBK7AQocR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZRIyLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QaMy5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXNwb25zZSIygtPkkwIsEiovdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vdGVtcGxhdGUSqQEKFEdldEF3c0xhdW5jaFN0YWNrVXJsEiouYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2UiOILT5JMCMhIwL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL2xhdW5jaHN0YWNrdXJsEpIBChNWZXJpZnlBd3NPbmJvYXJkaW5nEikuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlIiSC0+STAh46ASoiGS92MS9vbmJvYXJkaW5nL2F3cy92ZXJpZnkSkwEKE0dldE9uYm9hcmRpbmdTdGF0dXMSKS5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvc3RhdHVzOnJlYWQSiAEKEUxpc3RQYXllckFjY291bnRzEicuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaKC5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UiIILT5JMCGhIYL3YxL21hbmFnZW1lbnRzL2FjY291bnRzEqYBChZTZXRQYXllckFjY291bnRFbmFibGVkEiwuYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy97Y29tcGFueUlkfRKbAQoVR2V0UGF5ZXJBY2NvdW50U3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRQYXllckFjY291bnRTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZSIngtPkkwIhEh8vdjEvbWFuYWdlbWVudHMvYWNjb3VudHMvc3RhdHVzEqABChRWYWxpZGF0ZUJpbGxpbmdHcm91cBIqLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9vbmJvYXJkaW5nL2JpbGxpbmdncm91cDp2YWxpZGF0ZRLPAQoiR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybBI4LmJsdWVhcGkuZ2MudjEuR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QaOS5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXNwb25zZSI0gtPkkwIuEiwvdjEvb25ib2FyZGluZy9hd3MvY2Z0ZW1wbGF0ZS9ndWFyYW50ZWVkOnVybBLIAQogQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3MSNi5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVxdWVzdBo3LmJsdWVhcGkuZ2MudjEuQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXNwb25zZSIzgtPkkwItOgEqIigvdjEvb25ib2FyZGluZy9hd3MvY2Z0ZW1wbGF0ZS9ndWFyYW50ZWVkGqIBkkGeARJQKEFscGhhKSBHdWFyYW50ZWVkQ29tbWl0bWVudHMgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvZ2MaSgoSU2VydmljZSBkZWZpbml0aW9uEjRodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vZ2MvQlUKFGNsb3VkLmFscGhhdXMuYXBpLmdjQhpHdWFyYW50ZWVkQ29tbWl0bWVudHNQcm90b1ohZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2djYgZwcm90bzM", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
18
18
 
19
19
  /**
20
20
  * @generated from message blueapi.gc.v1.ListOrgsRequest
@@ -29,23 +29,6 @@ export type ListOrgsRequest = Message<"blueapi.gc.v1.ListOrgsRequest"> & {
29
29
  export const ListOrgsRequestSchema: GenMessage<ListOrgsRequest> = /*@__PURE__*/
30
30
  messageDesc(file_gc_v1_gc, 0);
31
31
 
32
- /**
33
- * @generated from message blueapi.gc.v1.GetCommitmentPlanDetailsRequest
34
- */
35
- export type GetCommitmentPlanDetailsRequest = Message<"blueapi.gc.v1.GetCommitmentPlanDetailsRequest"> & {
36
- /**
37
- * @generated from field: string planId = 1;
38
- */
39
- planId: string;
40
- };
41
-
42
- /**
43
- * Describes the message blueapi.gc.v1.GetCommitmentPlanDetailsRequest.
44
- * Use `create(GetCommitmentPlanDetailsRequestSchema)` to create a new message.
45
- */
46
- export const GetCommitmentPlanDetailsRequestSchema: GenMessage<GetCommitmentPlanDetailsRequest> = /*@__PURE__*/
47
- messageDesc(file_gc_v1_gc, 1);
48
-
49
32
  /**
50
33
  * @generated from message blueapi.gc.v1.CommitmentPlanApplyRequest
51
34
  */
@@ -61,140 +44,7 @@ export type CommitmentPlanApplyRequest = Message<"blueapi.gc.v1.CommitmentPlanAp
61
44
  * Use `create(CommitmentPlanApplyRequestSchema)` to create a new message.
62
45
  */
63
46
  export const CommitmentPlanApplyRequestSchema: GenMessage<CommitmentPlanApplyRequest> = /*@__PURE__*/
64
- messageDesc(file_gc_v1_gc, 2);
65
-
66
- /**
67
- * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansRequest
68
- */
69
- export type ListDefaultCommitmentPlansRequest = Message<"blueapi.gc.v1.ListDefaultCommitmentPlansRequest"> & {
70
- /**
71
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
72
- */
73
- provider: Provider;
74
- };
75
-
76
- /**
77
- * Describes the message blueapi.gc.v1.ListDefaultCommitmentPlansRequest.
78
- * Use `create(ListDefaultCommitmentPlansRequestSchema)` to create a new message.
79
- */
80
- export const ListDefaultCommitmentPlansRequestSchema: GenMessage<ListDefaultCommitmentPlansRequest> = /*@__PURE__*/
81
- messageDesc(file_gc_v1_gc, 3);
82
-
83
- /**
84
- * @generated from message blueapi.gc.v1.GetRecommendedCommitmentPlanRequest
85
- */
86
- export type GetRecommendedCommitmentPlanRequest = Message<"blueapi.gc.v1.GetRecommendedCommitmentPlanRequest"> & {
87
- /**
88
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
89
- */
90
- provider: Provider;
91
- };
92
-
93
- /**
94
- * Describes the message blueapi.gc.v1.GetRecommendedCommitmentPlanRequest.
95
- * Use `create(GetRecommendedCommitmentPlanRequestSchema)` to create a new message.
96
- */
97
- export const GetRecommendedCommitmentPlanRequestSchema: GenMessage<GetRecommendedCommitmentPlanRequest> = /*@__PURE__*/
98
- messageDesc(file_gc_v1_gc, 4);
99
-
100
- /**
101
- * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsRequest
102
- */
103
- export type ListCommitmentPlanLineItemsRequest = Message<"blueapi.gc.v1.ListCommitmentPlanLineItemsRequest"> & {
104
- /**
105
- * @generated from field: string planId = 1;
106
- */
107
- planId: string;
108
-
109
- /**
110
- * @generated from field: string orderBy = 2;
111
- */
112
- orderBy: string;
113
-
114
- /**
115
- * @generated from field: bool desc = 3;
116
- */
117
- desc: boolean;
118
-
119
- /**
120
- * @generated from field: string segmentId = 4;
121
- */
122
- segmentId: string;
123
-
124
- /**
125
- * @generated from field: repeated string resourceMatchIds = 5;
126
- */
127
- resourceMatchIds: string[];
128
-
129
- /**
130
- * @generated from field: int32 page = 6;
131
- */
132
- page: number;
133
-
134
- /**
135
- * @generated from field: int32 pageSize = 7;
136
- */
137
- pageSize: number;
138
- };
139
-
140
- /**
141
- * Describes the message blueapi.gc.v1.ListCommitmentPlanLineItemsRequest.
142
- * Use `create(ListCommitmentPlanLineItemsRequestSchema)` to create a new message.
143
- */
144
- export const ListCommitmentPlanLineItemsRequestSchema: GenMessage<ListCommitmentPlanLineItemsRequest> = /*@__PURE__*/
145
- messageDesc(file_gc_v1_gc, 5);
146
-
147
- /**
148
- * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest
149
- */
150
- export type ListCommitmentPlanResourceMatchesRequest = Message<"blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest"> & {
151
- /**
152
- * @generated from field: string planId = 1;
153
- */
154
- planId: string;
155
-
156
- /**
157
- * @generated from field: string orderBy = 2;
158
- */
159
- orderBy: string;
160
-
161
- /**
162
- * @generated from field: bool desc = 3;
163
- */
164
- desc: boolean;
165
-
166
- /**
167
- * @generated from field: string startDate = 4;
168
- */
169
- startDate: string;
170
-
171
- /**
172
- * @generated from field: string endDate = 5;
173
- */
174
- endDate: string;
175
-
176
- /**
177
- * @generated from field: repeated string lineItemIds = 6;
178
- */
179
- lineItemIds: string[];
180
-
181
- /**
182
- * @generated from field: int32 page = 7;
183
- */
184
- page: number;
185
-
186
- /**
187
- * @generated from field: int32 pageSize = 8;
188
- */
189
- pageSize: number;
190
- };
191
-
192
- /**
193
- * Describes the message blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest.
194
- * Use `create(ListCommitmentPlanResourceMatchesRequestSchema)` to create a new message.
195
- */
196
- export const ListCommitmentPlanResourceMatchesRequestSchema: GenMessage<ListCommitmentPlanResourceMatchesRequest> = /*@__PURE__*/
197
- messageDesc(file_gc_v1_gc, 6);
47
+ messageDesc(file_gc_v1_gc, 1);
198
48
 
199
49
  /**
200
50
  * @generated from message blueapi.gc.v1.ListCommitmentsRequest
@@ -207,7 +57,7 @@ export type ListCommitmentsRequest = Message<"blueapi.gc.v1.ListCommitmentsReque
207
57
  * Use `create(ListCommitmentsRequestSchema)` to create a new message.
208
58
  */
209
59
  export const ListCommitmentsRequestSchema: GenMessage<ListCommitmentsRequest> = /*@__PURE__*/
210
- messageDesc(file_gc_v1_gc, 7);
60
+ messageDesc(file_gc_v1_gc, 2);
211
61
 
212
62
  /**
213
63
  * @generated from message blueapi.gc.v1.GetCommitmentsChartRequest
@@ -243,7 +93,7 @@ export type GetCommitmentsChartRequest = Message<"blueapi.gc.v1.GetCommitmentsCh
243
93
  * Use `create(GetCommitmentsChartRequestSchema)` to create a new message.
244
94
  */
245
95
  export const GetCommitmentsChartRequestSchema: GenMessage<GetCommitmentsChartRequest> = /*@__PURE__*/
246
- messageDesc(file_gc_v1_gc, 8);
96
+ messageDesc(file_gc_v1_gc, 3);
247
97
 
248
98
  /**
249
99
  * @generated from message blueapi.gc.v1.GetCommitmentsUtilizationRequest
@@ -262,7 +112,7 @@ export type GetCommitmentsUtilizationRequest = Message<"blueapi.gc.v1.GetCommitm
262
112
  * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
263
113
  */
264
114
  export const GetCommitmentsUtilizationRequestSchema: GenMessage<GetCommitmentsUtilizationRequest> = /*@__PURE__*/
265
- messageDesc(file_gc_v1_gc, 9);
115
+ messageDesc(file_gc_v1_gc, 4);
266
116
 
267
117
  /**
268
118
  * @generated from message blueapi.gc.v1.GetMetricsRequest
@@ -279,7 +129,7 @@ export type GetMetricsRequest = Message<"blueapi.gc.v1.GetMetricsRequest"> & {
279
129
  * Use `create(GetMetricsRequestSchema)` to create a new message.
280
130
  */
281
131
  export const GetMetricsRequestSchema: GenMessage<GetMetricsRequest> = /*@__PURE__*/
282
- messageDesc(file_gc_v1_gc, 10);
132
+ messageDesc(file_gc_v1_gc, 5);
283
133
 
284
134
  /**
285
135
  * @generated from message blueapi.gc.v1.ListResourcesRequest
@@ -326,7 +176,7 @@ export type ListResourcesRequest = Message<"blueapi.gc.v1.ListResourcesRequest">
326
176
  * Use `create(ListResourcesRequestSchema)` to create a new message.
327
177
  */
328
178
  export const ListResourcesRequestSchema: GenMessage<ListResourcesRequest> = /*@__PURE__*/
329
- messageDesc(file_gc_v1_gc, 11);
179
+ messageDesc(file_gc_v1_gc, 6);
330
180
 
331
181
  /**
332
182
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageRequest
@@ -368,54 +218,37 @@ export type GetResourceDailyUsageRequest = Message<"blueapi.gc.v1.GetResourceDai
368
218
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
369
219
  */
370
220
  export const GetResourceDailyUsageRequestSchema: GenMessage<GetResourceDailyUsageRequest> = /*@__PURE__*/
371
- messageDesc(file_gc_v1_gc, 12);
221
+ messageDesc(file_gc_v1_gc, 7);
372
222
 
373
223
  /**
374
- * @generated from message blueapi.gc.v1.ListSegmentsRequest
224
+ * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
375
225
  */
376
- export type ListSegmentsRequest = Message<"blueapi.gc.v1.ListSegmentsRequest"> & {
377
- /**
378
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
379
- */
380
- provider: Provider;
226
+ export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurchasePlansBySegmentRequest"> & {
381
227
  };
382
228
 
383
229
  /**
384
- * Describes the message blueapi.gc.v1.ListSegmentsRequest.
385
- * Use `create(ListSegmentsRequestSchema)` to create a new message.
230
+ * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
231
+ * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
386
232
  */
387
- export const ListSegmentsRequestSchema: GenMessage<ListSegmentsRequest> = /*@__PURE__*/
388
- messageDesc(file_gc_v1_gc, 13);
233
+ export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
234
+ messageDesc(file_gc_v1_gc, 8);
389
235
 
390
236
  /**
391
- * @generated from message blueapi.gc.v1.GetSegmentDetailsRequest
237
+ * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsRequest
392
238
  */
393
- export type GetSegmentDetailsRequest = Message<"blueapi.gc.v1.GetSegmentDetailsRequest"> & {
239
+ export type GetPurchasePlansDetailsRequest = Message<"blueapi.gc.v1.GetPurchasePlansDetailsRequest"> & {
394
240
  /**
395
- * @generated from field: string segmentId = 1;
241
+ * @generated from field: string planId = 1;
396
242
  */
397
- segmentId: string;
398
- };
399
-
400
- /**
401
- * Describes the message blueapi.gc.v1.GetSegmentDetailsRequest.
402
- * Use `create(GetSegmentDetailsRequestSchema)` to create a new message.
403
- */
404
- export const GetSegmentDetailsRequestSchema: GenMessage<GetSegmentDetailsRequest> = /*@__PURE__*/
405
- messageDesc(file_gc_v1_gc, 14);
406
-
407
- /**
408
- * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
409
- */
410
- export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurchasePlansBySegmentRequest"> & {
243
+ planId: string;
411
244
  };
412
245
 
413
246
  /**
414
- * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
415
- * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
247
+ * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsRequest.
248
+ * Use `create(GetPurchasePlansDetailsRequestSchema)` to create a new message.
416
249
  */
417
- export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
418
- messageDesc(file_gc_v1_gc, 15);
250
+ export const GetPurchasePlansDetailsRequestSchema: GenMessage<GetPurchasePlansDetailsRequest> = /*@__PURE__*/
251
+ messageDesc(file_gc_v1_gc, 9);
419
252
 
420
253
  /**
421
254
  * @generated from message blueapi.gc.v1.OrgUser
@@ -437,7 +270,7 @@ export type OrgUser = Message<"blueapi.gc.v1.OrgUser"> & {
437
270
  * Use `create(OrgUserSchema)` to create a new message.
438
271
  */
439
272
  export const OrgUserSchema: GenMessage<OrgUser> = /*@__PURE__*/
440
- messageDesc(file_gc_v1_gc, 16);
273
+ messageDesc(file_gc_v1_gc, 10);
441
274
 
442
275
  /**
443
276
  * @generated from message blueapi.gc.v1.Membership
@@ -459,7 +292,7 @@ export type Membership = Message<"blueapi.gc.v1.Membership"> & {
459
292
  * Use `create(MembershipSchema)` to create a new message.
460
293
  */
461
294
  export const MembershipSchema: GenMessage<Membership> = /*@__PURE__*/
462
- messageDesc(file_gc_v1_gc, 17);
295
+ messageDesc(file_gc_v1_gc, 11);
463
296
 
464
297
  /**
465
298
  * @generated from message blueapi.gc.v1.Address
@@ -513,7 +346,7 @@ export type Address = Message<"blueapi.gc.v1.Address"> & {
513
346
  * Use `create(AddressSchema)` to create a new message.
514
347
  */
515
348
  export const AddressSchema: GenMessage<Address> = /*@__PURE__*/
516
- messageDesc(file_gc_v1_gc, 18);
349
+ messageDesc(file_gc_v1_gc, 12);
517
350
 
518
351
  /**
519
352
  * @generated from message blueapi.gc.v1.AwsExistingCur
@@ -555,7 +388,7 @@ export type AwsExistingCur = Message<"blueapi.gc.v1.AwsExistingCur"> & {
555
388
  * Use `create(AwsExistingCurSchema)` to create a new message.
556
389
  */
557
390
  export const AwsExistingCurSchema: GenMessage<AwsExistingCur> = /*@__PURE__*/
558
- messageDesc(file_gc_v1_gc, 19);
391
+ messageDesc(file_gc_v1_gc, 13);
559
392
 
560
393
  /**
561
394
  * @generated from message blueapi.gc.v1.RegisterOrgRequest
@@ -628,7 +461,7 @@ export type RegisterOrgRequest = Message<"blueapi.gc.v1.RegisterOrgRequest"> & {
628
461
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
629
462
  */
630
463
  export const RegisterOrgRequestSchema: GenMessage<RegisterOrgRequest> = /*@__PURE__*/
631
- messageDesc(file_gc_v1_gc, 20);
464
+ messageDesc(file_gc_v1_gc, 14);
632
465
 
633
466
  /**
634
467
  * @generated from message blueapi.gc.v1.StartAwsOnboardingRequest
@@ -657,7 +490,7 @@ export type StartAwsOnboardingRequest = Message<"blueapi.gc.v1.StartAwsOnboardin
657
490
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
658
491
  */
659
492
  export const StartAwsOnboardingRequestSchema: GenMessage<StartAwsOnboardingRequest> = /*@__PURE__*/
660
- messageDesc(file_gc_v1_gc, 21);
493
+ messageDesc(file_gc_v1_gc, 15);
661
494
 
662
495
  /**
663
496
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest
@@ -686,7 +519,7 @@ export type GetAwsCloudFormationTemplateRequest = Message<"blueapi.gc.v1.GetAwsC
686
519
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
687
520
  */
688
521
  export const GetAwsCloudFormationTemplateRequestSchema: GenMessage<GetAwsCloudFormationTemplateRequest> = /*@__PURE__*/
689
- messageDesc(file_gc_v1_gc, 22);
522
+ messageDesc(file_gc_v1_gc, 16);
690
523
 
691
524
  /**
692
525
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlRequest
@@ -715,7 +548,7 @@ export type GetAwsLaunchStackUrlRequest = Message<"blueapi.gc.v1.GetAwsLaunchSta
715
548
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
716
549
  */
717
550
  export const GetAwsLaunchStackUrlRequestSchema: GenMessage<GetAwsLaunchStackUrlRequest> = /*@__PURE__*/
718
- messageDesc(file_gc_v1_gc, 23);
551
+ messageDesc(file_gc_v1_gc, 17);
719
552
 
720
553
  /**
721
554
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingRequest
@@ -765,7 +598,7 @@ export type VerifyAwsOnboardingRequest = Message<"blueapi.gc.v1.VerifyAwsOnboard
765
598
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
766
599
  */
767
600
  export const VerifyAwsOnboardingRequestSchema: GenMessage<VerifyAwsOnboardingRequest> = /*@__PURE__*/
768
- messageDesc(file_gc_v1_gc, 24);
601
+ messageDesc(file_gc_v1_gc, 18);
769
602
 
770
603
  /**
771
604
  * @generated from message blueapi.gc.v1.GetOnboardingStatusRequest
@@ -791,7 +624,7 @@ export type GetOnboardingStatusRequest = Message<"blueapi.gc.v1.GetOnboardingSta
791
624
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
792
625
  */
793
626
  export const GetOnboardingStatusRequestSchema: GenMessage<GetOnboardingStatusRequest> = /*@__PURE__*/
794
- messageDesc(file_gc_v1_gc, 25);
627
+ messageDesc(file_gc_v1_gc, 19);
795
628
 
796
629
  /**
797
630
  * @generated from message blueapi.gc.v1.ListPayerAccountsRequest
@@ -804,7 +637,7 @@ export type ListPayerAccountsRequest = Message<"blueapi.gc.v1.ListPayerAccountsR
804
637
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
805
638
  */
806
639
  export const ListPayerAccountsRequestSchema: GenMessage<ListPayerAccountsRequest> = /*@__PURE__*/
807
- messageDesc(file_gc_v1_gc, 26);
640
+ messageDesc(file_gc_v1_gc, 20);
808
641
 
809
642
  /**
810
643
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledRequest
@@ -826,7 +659,7 @@ export type SetPayerAccountEnabledRequest = Message<"blueapi.gc.v1.SetPayerAccou
826
659
  * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
827
660
  */
828
661
  export const SetPayerAccountEnabledRequestSchema: GenMessage<SetPayerAccountEnabledRequest> = /*@__PURE__*/
829
- messageDesc(file_gc_v1_gc, 27);
662
+ messageDesc(file_gc_v1_gc, 21);
830
663
 
831
664
  /**
832
665
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusRequest
@@ -839,7 +672,7 @@ export type GetPayerAccountStatusRequest = Message<"blueapi.gc.v1.GetPayerAccoun
839
672
  * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
840
673
  */
841
674
  export const GetPayerAccountStatusRequestSchema: GenMessage<GetPayerAccountStatusRequest> = /*@__PURE__*/
842
- messageDesc(file_gc_v1_gc, 28);
675
+ messageDesc(file_gc_v1_gc, 22);
843
676
 
844
677
  /**
845
678
  * @generated from message blueapi.gc.v1.ValidateBillingGroupRequest
@@ -858,13 +691,15 @@ export type ValidateBillingGroupRequest = Message<"blueapi.gc.v1.ValidateBilling
858
691
  * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
859
692
  */
860
693
  export const ValidateBillingGroupRequestSchema: GenMessage<ValidateBillingGroupRequest> = /*@__PURE__*/
861
- messageDesc(file_gc_v1_gc, 29);
694
+ messageDesc(file_gc_v1_gc, 23);
862
695
 
863
696
  /**
864
697
  * @generated from message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest
865
698
  */
866
699
  export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest"> & {
867
700
  /**
701
+ * Required. The commitment purchase plan ID to save as draft.
702
+ *
868
703
  * @generated from field: string planId = 1;
869
704
  */
870
705
  planId: string;
@@ -905,16 +740,22 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
905
740
  segmentId: string;
906
741
 
907
742
  /**
743
+ * Required.
744
+ *
908
745
  * @generated from field: string status = 9;
909
746
  */
910
747
  status: string;
911
748
 
912
749
  /**
750
+ * Required.
751
+ *
913
752
  * @generated from field: string description = 10;
914
753
  */
915
754
  description: string;
916
755
 
917
756
  /**
757
+ * Required.
758
+ *
918
759
  * @generated from field: string name = 11;
919
760
  */
920
761
  name: string;
@@ -1040,7 +881,7 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
1040
881
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
1041
882
  */
1042
883
  export const SaveCommitmentsPlanAsDraftRequestSchema: GenMessage<SaveCommitmentsPlanAsDraftRequest> = /*@__PURE__*/
1043
- messageDesc(file_gc_v1_gc, 30);
884
+ messageDesc(file_gc_v1_gc, 24);
1044
885
 
1045
886
  /**
1046
887
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansRequest
@@ -1053,18 +894,18 @@ export type ListDraftPurchasePlansRequest = Message<"blueapi.gc.v1.ListDraftPurc
1053
894
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
1054
895
  */
1055
896
  export const ListDraftPurchasePlansRequestSchema: GenMessage<ListDraftPurchasePlansRequest> = /*@__PURE__*/
1056
- messageDesc(file_gc_v1_gc, 31);
897
+ messageDesc(file_gc_v1_gc, 25);
1057
898
 
1058
899
  /**
1059
900
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanRequest
1060
901
  */
1061
902
  export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftPurchasePlanRequest"> & {
1062
903
  /**
1063
- * Required. The plan ID to delete.
904
+ * Required. The draft plan ID to delete.
1064
905
  *
1065
- * @generated from field: string planId = 1;
906
+ * @generated from field: string draftPlanId = 1;
1066
907
  */
1067
- planId: string;
908
+ draftPlanId: string;
1068
909
  };
1069
910
 
1070
911
  /**
@@ -1072,7 +913,7 @@ export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftP
1072
913
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
1073
914
  */
1074
915
  export const DeleteDraftPurchasePlanRequestSchema: GenMessage<DeleteDraftPurchasePlanRequest> = /*@__PURE__*/
1075
- messageDesc(file_gc_v1_gc, 32);
916
+ messageDesc(file_gc_v1_gc, 26);
1076
917
 
1077
918
  /**
1078
919
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlRequest
@@ -1091,7 +932,7 @@ export type GetGuaranteedCommitmentTemplateUrlRequest = Message<"blueapi.gc.v1.G
1091
932
  * Use `create(GetGuaranteedCommitmentTemplateUrlRequestSchema)` to create a new message.
1092
933
  */
1093
934
  export const GetGuaranteedCommitmentTemplateUrlRequestSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlRequest> = /*@__PURE__*/
1094
- messageDesc(file_gc_v1_gc, 33);
935
+ messageDesc(file_gc_v1_gc, 27);
1095
936
 
1096
937
  /**
1097
938
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessRequest
@@ -1117,7 +958,7 @@ export type CreateGuaranteedCommitmentAccessRequest = Message<"blueapi.gc.v1.Cre
1117
958
  * Use `create(CreateGuaranteedCommitmentAccessRequestSchema)` to create a new message.
1118
959
  */
1119
960
  export const CreateGuaranteedCommitmentAccessRequestSchema: GenMessage<CreateGuaranteedCommitmentAccessRequest> = /*@__PURE__*/
1120
- messageDesc(file_gc_v1_gc, 34);
961
+ messageDesc(file_gc_v1_gc, 28);
1121
962
 
1122
963
  /**
1123
964
  * @generated from message blueapi.gc.v1.Org
@@ -1144,7 +985,7 @@ export type Org = Message<"blueapi.gc.v1.Org"> & {
1144
985
  * Use `create(OrgSchema)` to create a new message.
1145
986
  */
1146
987
  export const OrgSchema: GenMessage<Org> = /*@__PURE__*/
1147
- messageDesc(file_gc_v1_gc, 35);
988
+ messageDesc(file_gc_v1_gc, 29);
1148
989
 
1149
990
  /**
1150
991
  * @generated from message blueapi.gc.v1.CommitmentPlanDetails
@@ -1281,24 +1122,7 @@ export type CommitmentPlanDetails = Message<"blueapi.gc.v1.CommitmentPlanDetails
1281
1122
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
1282
1123
  */
1283
1124
  export const CommitmentPlanDetailsSchema: GenMessage<CommitmentPlanDetails> = /*@__PURE__*/
1284
- messageDesc(file_gc_v1_gc, 36);
1285
-
1286
- /**
1287
- * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansResponse
1288
- */
1289
- export type ListDefaultCommitmentPlansResponse = Message<"blueapi.gc.v1.ListDefaultCommitmentPlansResponse"> & {
1290
- /**
1291
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanDetails plans = 1;
1292
- */
1293
- plans: CommitmentPlanDetails[];
1294
- };
1295
-
1296
- /**
1297
- * Describes the message blueapi.gc.v1.ListDefaultCommitmentPlansResponse.
1298
- * Use `create(ListDefaultCommitmentPlansResponseSchema)` to create a new message.
1299
- */
1300
- export const ListDefaultCommitmentPlansResponseSchema: GenMessage<ListDefaultCommitmentPlansResponse> = /*@__PURE__*/
1301
- messageDesc(file_gc_v1_gc, 37);
1125
+ messageDesc(file_gc_v1_gc, 30);
1302
1126
 
1303
1127
  /**
1304
1128
  * @generated from message blueapi.gc.v1.CommitmentPlanLineItem
@@ -1453,31 +1277,29 @@ export type CommitmentPlanLineItem = Message<"blueapi.gc.v1.CommitmentPlanLineIt
1453
1277
  * @generated from field: google.protobuf.Struct offer = 30;
1454
1278
  */
1455
1279
  offer?: JsonObject;
1456
- };
1457
1280
 
1458
- /**
1459
- * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
1460
- * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1461
- */
1462
- export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1463
- messageDesc(file_gc_v1_gc, 38);
1281
+ /**
1282
+ * @generated from field: string renewalReservationId = 31;
1283
+ */
1284
+ renewalReservationId: string;
1464
1285
 
1465
- /**
1466
- * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse
1467
- */
1468
- export type ListCommitmentPlanLineItemsResponse = Message<"blueapi.gc.v1.ListCommitmentPlanLineItemsResponse"> & {
1469
1286
  /**
1470
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanLineItem lineItems = 1;
1287
+ * @generated from field: double coveredUnits = 32;
1471
1288
  */
1472
- lineItems: CommitmentPlanLineItem[];
1289
+ coveredUnits: number;
1290
+
1291
+ /**
1292
+ * @generated from field: double amortizedCost = 33;
1293
+ */
1294
+ amortizedCost: number;
1473
1295
  };
1474
1296
 
1475
1297
  /**
1476
- * Describes the message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse.
1477
- * Use `create(ListCommitmentPlanLineItemsResponseSchema)` to create a new message.
1298
+ * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
1299
+ * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1478
1300
  */
1479
- export const ListCommitmentPlanLineItemsResponseSchema: GenMessage<ListCommitmentPlanLineItemsResponse> = /*@__PURE__*/
1480
- messageDesc(file_gc_v1_gc, 39);
1301
+ export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1302
+ messageDesc(file_gc_v1_gc, 31);
1481
1303
 
1482
1304
  /**
1483
1305
  * @generated from message blueapi.gc.v1.CommitmentPlanResourceMatch
@@ -1597,31 +1419,34 @@ export type CommitmentPlanResourceMatch = Message<"blueapi.gc.v1.CommitmentPlanR
1597
1419
  * @generated from field: google.protobuf.Struct resource = 23;
1598
1420
  */
1599
1421
  resource?: JsonObject;
1600
- };
1601
1422
 
1602
- /**
1603
- * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
1604
- * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1605
- */
1606
- export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1607
- messageDesc(file_gc_v1_gc, 40);
1423
+ /**
1424
+ * @generated from field: double coveredUnits = 24;
1425
+ */
1426
+ coveredUnits: number;
1608
1427
 
1609
- /**
1610
- * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse
1611
- */
1612
- export type ListCommitmentPlanResourceMatchesResponse = Message<"blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse"> & {
1613
1428
  /**
1614
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanResourceMatch resourceMatches = 1;
1429
+ * @generated from field: double explanationUnmatched = 25;
1615
1430
  */
1616
- resourceMatches: CommitmentPlanResourceMatch[];
1431
+ explanationUnmatched: number;
1432
+
1433
+ /**
1434
+ * @generated from field: double ondemandCost = 26;
1435
+ */
1436
+ ondemandCost: number;
1437
+
1438
+ /**
1439
+ * @generated from field: double reservedCost = 27;
1440
+ */
1441
+ reservedCost: number;
1617
1442
  };
1618
1443
 
1619
1444
  /**
1620
- * Describes the message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse.
1621
- * Use `create(ListCommitmentPlanResourceMatchesResponseSchema)` to create a new message.
1445
+ * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
1446
+ * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1622
1447
  */
1623
- export const ListCommitmentPlanResourceMatchesResponseSchema: GenMessage<ListCommitmentPlanResourceMatchesResponse> = /*@__PURE__*/
1624
- messageDesc(file_gc_v1_gc, 41);
1448
+ export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1449
+ messageDesc(file_gc_v1_gc, 32);
1625
1450
 
1626
1451
  /**
1627
1452
  * @generated from message blueapi.gc.v1.Lease
@@ -1693,7 +1518,7 @@ export type Lease = Message<"blueapi.gc.v1.Lease"> & {
1693
1518
  * Use `create(LeaseSchema)` to create a new message.
1694
1519
  */
1695
1520
  export const LeaseSchema: GenMessage<Lease> = /*@__PURE__*/
1696
- messageDesc(file_gc_v1_gc, 42);
1521
+ messageDesc(file_gc_v1_gc, 33);
1697
1522
 
1698
1523
  /**
1699
1524
  * @generated from message blueapi.gc.v1.DailyUtilization
@@ -1720,7 +1545,7 @@ export type DailyUtilization = Message<"blueapi.gc.v1.DailyUtilization"> & {
1720
1545
  * Use `create(DailyUtilizationSchema)` to create a new message.
1721
1546
  */
1722
1547
  export const DailyUtilizationSchema: GenMessage<DailyUtilization> = /*@__PURE__*/
1723
- messageDesc(file_gc_v1_gc, 43);
1548
+ messageDesc(file_gc_v1_gc, 34);
1724
1549
 
1725
1550
  /**
1726
1551
  * @generated from message blueapi.gc.v1.Commitment
@@ -1952,7 +1777,7 @@ export type Commitment = Message<"blueapi.gc.v1.Commitment"> & {
1952
1777
  * Use `create(CommitmentSchema)` to create a new message.
1953
1778
  */
1954
1779
  export const CommitmentSchema: GenMessage<Commitment> = /*@__PURE__*/
1955
- messageDesc(file_gc_v1_gc, 44);
1780
+ messageDesc(file_gc_v1_gc, 35);
1956
1781
 
1957
1782
  /**
1958
1783
  * @generated from message blueapi.gc.v1.ListCommitmentsResponse
@@ -1969,7 +1794,7 @@ export type ListCommitmentsResponse = Message<"blueapi.gc.v1.ListCommitmentsResp
1969
1794
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
1970
1795
  */
1971
1796
  export const ListCommitmentsResponseSchema: GenMessage<ListCommitmentsResponse> = /*@__PURE__*/
1972
- messageDesc(file_gc_v1_gc, 45);
1797
+ messageDesc(file_gc_v1_gc, 36);
1973
1798
 
1974
1799
  /**
1975
1800
  * @generated from message blueapi.gc.v1.CommitmentsChartData
@@ -1996,7 +1821,7 @@ export type CommitmentsChartData = Message<"blueapi.gc.v1.CommitmentsChartData">
1996
1821
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
1997
1822
  */
1998
1823
  export const CommitmentsChartDataSchema: GenMessage<CommitmentsChartData> = /*@__PURE__*/
1999
- messageDesc(file_gc_v1_gc, 46);
1824
+ messageDesc(file_gc_v1_gc, 37);
2000
1825
 
2001
1826
  /**
2002
1827
  * @generated from message blueapi.gc.v1.CommitmentsChartResponse
@@ -2013,7 +1838,7 @@ export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartRe
2013
1838
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
2014
1839
  */
2015
1840
  export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
2016
- messageDesc(file_gc_v1_gc, 47);
1841
+ messageDesc(file_gc_v1_gc, 38);
2017
1842
 
2018
1843
  /**
2019
1844
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationData
@@ -2075,7 +1900,7 @@ export type CommitmentsUtilizationData = Message<"blueapi.gc.v1.CommitmentsUtili
2075
1900
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
2076
1901
  */
2077
1902
  export const CommitmentsUtilizationDataSchema: GenMessage<CommitmentsUtilizationData> = /*@__PURE__*/
2078
- messageDesc(file_gc_v1_gc, 48);
1903
+ messageDesc(file_gc_v1_gc, 39);
2079
1904
 
2080
1905
  /**
2081
1906
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationResponse
@@ -2092,7 +1917,7 @@ export type CommitmentsUtilizationResponse = Message<"blueapi.gc.v1.CommitmentsU
2092
1917
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
2093
1918
  */
2094
1919
  export const CommitmentsUtilizationResponseSchema: GenMessage<CommitmentsUtilizationResponse> = /*@__PURE__*/
2095
- messageDesc(file_gc_v1_gc, 49);
1920
+ messageDesc(file_gc_v1_gc, 40);
2096
1921
 
2097
1922
  /**
2098
1923
  * @generated from message blueapi.gc.v1.MetricsResponse
@@ -2184,7 +2009,7 @@ export type MetricsResponse = Message<"blueapi.gc.v1.MetricsResponse"> & {
2184
2009
  * Use `create(MetricsResponseSchema)` to create a new message.
2185
2010
  */
2186
2011
  export const MetricsResponseSchema: GenMessage<MetricsResponse> = /*@__PURE__*/
2187
- messageDesc(file_gc_v1_gc, 50);
2012
+ messageDesc(file_gc_v1_gc, 41);
2188
2013
 
2189
2014
  /**
2190
2015
  * @generated from message blueapi.gc.v1.Resource
@@ -2421,7 +2246,7 @@ export type Resource = Message<"blueapi.gc.v1.Resource"> & {
2421
2246
  * Use `create(ResourceSchema)` to create a new message.
2422
2247
  */
2423
2248
  export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
2424
- messageDesc(file_gc_v1_gc, 51);
2249
+ messageDesc(file_gc_v1_gc, 42);
2425
2250
 
2426
2251
  /**
2427
2252
  * @generated from message blueapi.gc.v1.ListResourcesResponse
@@ -2438,7 +2263,7 @@ export type ListResourcesResponse = Message<"blueapi.gc.v1.ListResourcesResponse
2438
2263
  * Use `create(ListResourcesResponseSchema)` to create a new message.
2439
2264
  */
2440
2265
  export const ListResourcesResponseSchema: GenMessage<ListResourcesResponse> = /*@__PURE__*/
2441
- messageDesc(file_gc_v1_gc, 52);
2266
+ messageDesc(file_gc_v1_gc, 43);
2442
2267
 
2443
2268
  /**
2444
2269
  * @generated from message blueapi.gc.v1.ResourceDailyUsage
@@ -2525,7 +2350,7 @@ export type ResourceDailyUsage = Message<"blueapi.gc.v1.ResourceDailyUsage"> & {
2525
2350
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
2526
2351
  */
2527
2352
  export const ResourceDailyUsageSchema: GenMessage<ResourceDailyUsage> = /*@__PURE__*/
2528
- messageDesc(file_gc_v1_gc, 53);
2353
+ messageDesc(file_gc_v1_gc, 44);
2529
2354
 
2530
2355
  /**
2531
2356
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageResponse
@@ -2542,7 +2367,7 @@ export type GetResourceDailyUsageResponse = Message<"blueapi.gc.v1.GetResourceDa
2542
2367
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
2543
2368
  */
2544
2369
  export const GetResourceDailyUsageResponseSchema: GenMessage<GetResourceDailyUsageResponse> = /*@__PURE__*/
2545
- messageDesc(file_gc_v1_gc, 54);
2370
+ messageDesc(file_gc_v1_gc, 45);
2546
2371
 
2547
2372
  /**
2548
2373
  * @generated from message blueapi.gc.v1.Segment
@@ -2579,24 +2404,7 @@ export type Segment = Message<"blueapi.gc.v1.Segment"> & {
2579
2404
  * Use `create(SegmentSchema)` to create a new message.
2580
2405
  */
2581
2406
  export const SegmentSchema: GenMessage<Segment> = /*@__PURE__*/
2582
- messageDesc(file_gc_v1_gc, 55);
2583
-
2584
- /**
2585
- * @generated from message blueapi.gc.v1.ListSegmentsResponse
2586
- */
2587
- export type ListSegmentsResponse = Message<"blueapi.gc.v1.ListSegmentsResponse"> & {
2588
- /**
2589
- * @generated from field: repeated blueapi.gc.v1.Segment segments = 1;
2590
- */
2591
- segments: Segment[];
2592
- };
2593
-
2594
- /**
2595
- * Describes the message blueapi.gc.v1.ListSegmentsResponse.
2596
- * Use `create(ListSegmentsResponseSchema)` to create a new message.
2597
- */
2598
- export const ListSegmentsResponseSchema: GenMessage<ListSegmentsResponse> = /*@__PURE__*/
2599
- messageDesc(file_gc_v1_gc, 56);
2407
+ messageDesc(file_gc_v1_gc, 46);
2600
2408
 
2601
2409
  /**
2602
2410
  * @generated from message blueapi.gc.v1.SegmentCreator
@@ -2623,7 +2431,7 @@ export type SegmentCreator = Message<"blueapi.gc.v1.SegmentCreator"> & {
2623
2431
  * Use `create(SegmentCreatorSchema)` to create a new message.
2624
2432
  */
2625
2433
  export const SegmentCreatorSchema: GenMessage<SegmentCreator> = /*@__PURE__*/
2626
- messageDesc(file_gc_v1_gc, 57);
2434
+ messageDesc(file_gc_v1_gc, 47);
2627
2435
 
2628
2436
  /**
2629
2437
  * @generated from message blueapi.gc.v1.PurchasePlan
@@ -2655,7 +2463,7 @@ export type PurchasePlan = Message<"blueapi.gc.v1.PurchasePlan"> & {
2655
2463
  * Use `create(PurchasePlanSchema)` to create a new message.
2656
2464
  */
2657
2465
  export const PurchasePlanSchema: GenMessage<PurchasePlan> = /*@__PURE__*/
2658
- messageDesc(file_gc_v1_gc, 58);
2466
+ messageDesc(file_gc_v1_gc, 48);
2659
2467
 
2660
2468
  /**
2661
2469
  * @generated from message blueapi.gc.v1.SegmentDetails
@@ -2800,7 +2608,7 @@ export type SegmentDetails = Message<"blueapi.gc.v1.SegmentDetails"> & {
2800
2608
  * Use `create(SegmentDetailsSchema)` to create a new message.
2801
2609
  */
2802
2610
  export const SegmentDetailsSchema: GenMessage<SegmentDetails> = /*@__PURE__*/
2803
- messageDesc(file_gc_v1_gc, 59);
2611
+ messageDesc(file_gc_v1_gc, 49);
2804
2612
 
2805
2613
  /**
2806
2614
  * @generated from message blueapi.gc.v1.ContractSpec
@@ -2832,7 +2640,7 @@ export type ContractSpec = Message<"blueapi.gc.v1.ContractSpec"> & {
2832
2640
  * Use `create(ContractSpecSchema)` to create a new message.
2833
2641
  */
2834
2642
  export const ContractSpecSchema: GenMessage<ContractSpec> = /*@__PURE__*/
2835
- messageDesc(file_gc_v1_gc, 60);
2643
+ messageDesc(file_gc_v1_gc, 50);
2836
2644
 
2837
2645
  /**
2838
2646
  * @generated from message blueapi.gc.v1.PlanSummary
@@ -2919,7 +2727,7 @@ export type PlanSummary = Message<"blueapi.gc.v1.PlanSummary"> & {
2919
2727
  * Use `create(PlanSummarySchema)` to create a new message.
2920
2728
  */
2921
2729
  export const PlanSummarySchema: GenMessage<PlanSummary> = /*@__PURE__*/
2922
- messageDesc(file_gc_v1_gc, 61);
2730
+ messageDesc(file_gc_v1_gc, 51);
2923
2731
 
2924
2732
  /**
2925
2733
  * @generated from message blueapi.gc.v1.ServiceSummary
@@ -3011,7 +2819,7 @@ export type ServiceSummary = Message<"blueapi.gc.v1.ServiceSummary"> & {
3011
2819
  * Use `create(ServiceSummarySchema)` to create a new message.
3012
2820
  */
3013
2821
  export const ServiceSummarySchema: GenMessage<ServiceSummary> = /*@__PURE__*/
3014
- messageDesc(file_gc_v1_gc, 62);
2822
+ messageDesc(file_gc_v1_gc, 52);
3015
2823
 
3016
2824
  /**
3017
2825
  * @generated from message blueapi.gc.v1.AggregateMetrics
@@ -3038,7 +2846,7 @@ export type AggregateMetrics = Message<"blueapi.gc.v1.AggregateMetrics"> & {
3038
2846
  * Use `create(AggregateMetricsSchema)` to create a new message.
3039
2847
  */
3040
2848
  export const AggregateMetricsSchema: GenMessage<AggregateMetrics> = /*@__PURE__*/
3041
- messageDesc(file_gc_v1_gc, 63);
2849
+ messageDesc(file_gc_v1_gc, 53);
3042
2850
 
3043
2851
  /**
3044
2852
  * @generated from message blueapi.gc.v1.DefaultPurchasePlan
@@ -3326,7 +3134,7 @@ export type DefaultPurchasePlan = Message<"blueapi.gc.v1.DefaultPurchasePlan"> &
3326
3134
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
3327
3135
  */
3328
3136
  export const DefaultPurchasePlanSchema: GenMessage<DefaultPurchasePlan> = /*@__PURE__*/
3329
- messageDesc(file_gc_v1_gc, 64);
3137
+ messageDesc(file_gc_v1_gc, 54);
3330
3138
 
3331
3139
  /**
3332
3140
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentResponse
@@ -3343,7 +3151,96 @@ export type ListPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.ListPurc
3343
3151
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
3344
3152
  */
3345
3153
  export const ListPurchasePlansBySegmentResponseSchema: GenMessage<ListPurchasePlansBySegmentResponse> = /*@__PURE__*/
3346
- messageDesc(file_gc_v1_gc, 65);
3154
+ messageDesc(file_gc_v1_gc, 55);
3155
+
3156
+ /**
3157
+ * @generated from message blueapi.gc.v1.PlanHistoryUser
3158
+ */
3159
+ export type PlanHistoryUser = Message<"blueapi.gc.v1.PlanHistoryUser"> & {
3160
+ /**
3161
+ * @generated from field: string id = 1;
3162
+ */
3163
+ id: string;
3164
+
3165
+ /**
3166
+ * @generated from field: string username = 2;
3167
+ */
3168
+ username: string;
3169
+
3170
+ /**
3171
+ * @generated from field: string fullName = 3;
3172
+ */
3173
+ fullName: string;
3174
+ };
3175
+
3176
+ /**
3177
+ * Describes the message blueapi.gc.v1.PlanHistoryUser.
3178
+ * Use `create(PlanHistoryUserSchema)` to create a new message.
3179
+ */
3180
+ export const PlanHistoryUserSchema: GenMessage<PlanHistoryUser> = /*@__PURE__*/
3181
+ messageDesc(file_gc_v1_gc, 56);
3182
+
3183
+ /**
3184
+ * @generated from message blueapi.gc.v1.PlanHistoryEntry
3185
+ */
3186
+ export type PlanHistoryEntry = Message<"blueapi.gc.v1.PlanHistoryEntry"> & {
3187
+ /**
3188
+ * @generated from field: string id = 1;
3189
+ */
3190
+ id: string;
3191
+
3192
+ /**
3193
+ * @generated from field: string message = 2;
3194
+ */
3195
+ message: string;
3196
+
3197
+ /**
3198
+ * @generated from field: string orgId = 3;
3199
+ */
3200
+ orgId: string;
3201
+
3202
+ /**
3203
+ * @generated from field: string relatedObjectId = 4;
3204
+ */
3205
+ relatedObjectId: string;
3206
+
3207
+ /**
3208
+ * @generated from field: string relatedObjectType = 5;
3209
+ */
3210
+ relatedObjectType: string;
3211
+
3212
+ /**
3213
+ * @generated from field: string timestamp = 6;
3214
+ */
3215
+ timestamp: string;
3216
+
3217
+ /**
3218
+ * @generated from field: string type = 7;
3219
+ */
3220
+ type: string;
3221
+
3222
+ /**
3223
+ * @generated from field: string userId = 8;
3224
+ */
3225
+ userId: string;
3226
+
3227
+ /**
3228
+ * @generated from field: google.protobuf.Value data = 9;
3229
+ */
3230
+ data?: Value;
3231
+
3232
+ /**
3233
+ * @generated from field: blueapi.gc.v1.PlanHistoryUser user = 10;
3234
+ */
3235
+ user?: PlanHistoryUser;
3236
+ };
3237
+
3238
+ /**
3239
+ * Describes the message blueapi.gc.v1.PlanHistoryEntry.
3240
+ * Use `create(PlanHistoryEntrySchema)` to create a new message.
3241
+ */
3242
+ export const PlanHistoryEntrySchema: GenMessage<PlanHistoryEntry> = /*@__PURE__*/
3243
+ messageDesc(file_gc_v1_gc, 57);
3347
3244
 
3348
3245
  /**
3349
3246
  * @generated from message blueapi.gc.v1.RegisterOrgResponse
@@ -3397,7 +3294,7 @@ export type RegisterOrgResponse = Message<"blueapi.gc.v1.RegisterOrgResponse"> &
3397
3294
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
3398
3295
  */
3399
3296
  export const RegisterOrgResponseSchema: GenMessage<RegisterOrgResponse> = /*@__PURE__*/
3400
- messageDesc(file_gc_v1_gc, 66);
3297
+ messageDesc(file_gc_v1_gc, 58);
3401
3298
 
3402
3299
  /**
3403
3300
  * @generated from message blueapi.gc.v1.StartAwsOnboardingResponse
@@ -3414,7 +3311,7 @@ export type StartAwsOnboardingResponse = Message<"blueapi.gc.v1.StartAwsOnboardi
3414
3311
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
3415
3312
  */
3416
3313
  export const StartAwsOnboardingResponseSchema: GenMessage<StartAwsOnboardingResponse> = /*@__PURE__*/
3417
- messageDesc(file_gc_v1_gc, 67);
3314
+ messageDesc(file_gc_v1_gc, 59);
3418
3315
 
3419
3316
  /**
3420
3317
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse
@@ -3433,7 +3330,7 @@ export type GetAwsCloudFormationTemplateResponse = Message<"blueapi.gc.v1.GetAws
3433
3330
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
3434
3331
  */
3435
3332
  export const GetAwsCloudFormationTemplateResponseSchema: GenMessage<GetAwsCloudFormationTemplateResponse> = /*@__PURE__*/
3436
- messageDesc(file_gc_v1_gc, 68);
3333
+ messageDesc(file_gc_v1_gc, 60);
3437
3334
 
3438
3335
  /**
3439
3336
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlResponse
@@ -3450,7 +3347,7 @@ export type GetAwsLaunchStackUrlResponse = Message<"blueapi.gc.v1.GetAwsLaunchSt
3450
3347
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
3451
3348
  */
3452
3349
  export const GetAwsLaunchStackUrlResponseSchema: GenMessage<GetAwsLaunchStackUrlResponse> = /*@__PURE__*/
3453
- messageDesc(file_gc_v1_gc, 69);
3350
+ messageDesc(file_gc_v1_gc, 61);
3454
3351
 
3455
3352
  /**
3456
3353
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse
@@ -3467,7 +3364,7 @@ export type VerifyAwsOnboardingResponse = Message<"blueapi.gc.v1.VerifyAwsOnboar
3467
3364
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
3468
3365
  */
3469
3366
  export const VerifyAwsOnboardingResponseSchema: GenMessage<VerifyAwsOnboardingResponse> = /*@__PURE__*/
3470
- messageDesc(file_gc_v1_gc, 70);
3367
+ messageDesc(file_gc_v1_gc, 62);
3471
3368
 
3472
3369
  /**
3473
3370
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck
@@ -3489,7 +3386,7 @@ export type VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck = Message<"blu
3489
3386
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
3490
3387
  */
3491
3388
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema: GenMessage<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck> = /*@__PURE__*/
3492
- messageDesc(file_gc_v1_gc, 70, 0);
3389
+ messageDesc(file_gc_v1_gc, 62, 0);
3493
3390
 
3494
3391
  /**
3495
3392
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
@@ -3525,7 +3422,7 @@ export enum VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingF
3525
3422
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
3526
3423
  */
3527
3424
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema: GenEnum<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus> = /*@__PURE__*/
3528
- enumDesc(file_gc_v1_gc, 70, 0, 0);
3425
+ enumDesc(file_gc_v1_gc, 62, 0, 0);
3529
3426
 
3530
3427
  /**
3531
3428
  * @generated from message blueapi.gc.v1.GetOnboardingStatusResponse
@@ -3608,7 +3505,7 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
3608
3505
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
3609
3506
  */
3610
3507
  export const GetOnboardingStatusResponseSchema: GenMessage<GetOnboardingStatusResponse> = /*@__PURE__*/
3611
- messageDesc(file_gc_v1_gc, 71);
3508
+ messageDesc(file_gc_v1_gc, 63);
3612
3509
 
3613
3510
  /**
3614
3511
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
@@ -3658,7 +3555,7 @@ export enum GetOnboardingStatusResponse_OnboardingStatus {
3658
3555
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
3659
3556
  */
3660
3557
  export const GetOnboardingStatusResponse_OnboardingStatusSchema: GenEnum<GetOnboardingStatusResponse_OnboardingStatus> = /*@__PURE__*/
3661
- enumDesc(file_gc_v1_gc, 71, 0);
3558
+ enumDesc(file_gc_v1_gc, 63, 0);
3662
3559
 
3663
3560
  /**
3664
3561
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse
@@ -3675,7 +3572,7 @@ export type ListPayerAccountsResponse = Message<"blueapi.gc.v1.ListPayerAccounts
3675
3572
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
3676
3573
  */
3677
3574
  export const ListPayerAccountsResponseSchema: GenMessage<ListPayerAccountsResponse> = /*@__PURE__*/
3678
- messageDesc(file_gc_v1_gc, 72);
3575
+ messageDesc(file_gc_v1_gc, 64);
3679
3576
 
3680
3577
  /**
3681
3578
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount
@@ -3734,7 +3631,7 @@ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.List
3734
3631
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
3735
3632
  */
3736
3633
  export const ListPayerAccountsResponse_PayerAccountSchema: GenMessage<ListPayerAccountsResponse_PayerAccount> = /*@__PURE__*/
3737
- messageDesc(file_gc_v1_gc, 72, 0);
3634
+ messageDesc(file_gc_v1_gc, 64, 0);
3738
3635
 
3739
3636
  /**
3740
3637
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
@@ -3760,7 +3657,7 @@ export enum ListPayerAccountsResponse_PayerAccountStatus {
3760
3657
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
3761
3658
  */
3762
3659
  export const ListPayerAccountsResponse_PayerAccountStatusSchema: GenEnum<ListPayerAccountsResponse_PayerAccountStatus> = /*@__PURE__*/
3763
- enumDesc(file_gc_v1_gc, 72, 0);
3660
+ enumDesc(file_gc_v1_gc, 64, 0);
3764
3661
 
3765
3662
  /**
3766
3663
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledResponse
@@ -3779,7 +3676,7 @@ export type SetPayerAccountEnabledResponse = Message<"blueapi.gc.v1.SetPayerAcco
3779
3676
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
3780
3677
  */
3781
3678
  export const SetPayerAccountEnabledResponseSchema: GenMessage<SetPayerAccountEnabledResponse> = /*@__PURE__*/
3782
- messageDesc(file_gc_v1_gc, 73);
3679
+ messageDesc(file_gc_v1_gc, 65);
3783
3680
 
3784
3681
  /**
3785
3682
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusResponse
@@ -3796,7 +3693,7 @@ export type GetPayerAccountStatusResponse = Message<"blueapi.gc.v1.GetPayerAccou
3796
3693
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
3797
3694
  */
3798
3695
  export const GetPayerAccountStatusResponseSchema: GenMessage<GetPayerAccountStatusResponse> = /*@__PURE__*/
3799
- messageDesc(file_gc_v1_gc, 74);
3696
+ messageDesc(file_gc_v1_gc, 66);
3800
3697
 
3801
3698
  /**
3802
3699
  * @generated from message blueapi.gc.v1.ValidateBillingGroupResponse
@@ -3822,7 +3719,7 @@ export type ValidateBillingGroupResponse = Message<"blueapi.gc.v1.ValidateBillin
3822
3719
  * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
3823
3720
  */
3824
3721
  export const ValidateBillingGroupResponseSchema: GenMessage<ValidateBillingGroupResponse> = /*@__PURE__*/
3825
- messageDesc(file_gc_v1_gc, 75);
3722
+ messageDesc(file_gc_v1_gc, 67);
3826
3723
 
3827
3724
  /**
3828
3725
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansResponse
@@ -3839,7 +3736,7 @@ export type ListDraftPurchasePlansResponse = Message<"blueapi.gc.v1.ListDraftPur
3839
3736
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
3840
3737
  */
3841
3738
  export const ListDraftPurchasePlansResponseSchema: GenMessage<ListDraftPurchasePlansResponse> = /*@__PURE__*/
3842
- messageDesc(file_gc_v1_gc, 76);
3739
+ messageDesc(file_gc_v1_gc, 68);
3843
3740
 
3844
3741
  /**
3845
3742
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanResponse
@@ -3865,7 +3762,7 @@ export type DeleteDraftPurchasePlanResponse = Message<"blueapi.gc.v1.DeleteDraft
3865
3762
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
3866
3763
  */
3867
3764
  export const DeleteDraftPurchasePlanResponseSchema: GenMessage<DeleteDraftPurchasePlanResponse> = /*@__PURE__*/
3868
- messageDesc(file_gc_v1_gc, 77);
3765
+ messageDesc(file_gc_v1_gc, 69);
3869
3766
 
3870
3767
  /**
3871
3768
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlResponse
@@ -3926,7 +3823,7 @@ export type GetGuaranteedCommitmentTemplateUrlResponse = Message<"blueapi.gc.v1.
3926
3823
  * Use `create(GetGuaranteedCommitmentTemplateUrlResponseSchema)` to create a new message.
3927
3824
  */
3928
3825
  export const GetGuaranteedCommitmentTemplateUrlResponseSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlResponse> = /*@__PURE__*/
3929
- messageDesc(file_gc_v1_gc, 78);
3826
+ messageDesc(file_gc_v1_gc, 70);
3930
3827
 
3931
3828
  /**
3932
3829
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessResponse
@@ -4015,7 +3912,47 @@ export type CreateGuaranteedCommitmentAccessResponse = Message<"blueapi.gc.v1.Cr
4015
3912
  * Use `create(CreateGuaranteedCommitmentAccessResponseSchema)` to create a new message.
4016
3913
  */
4017
3914
  export const CreateGuaranteedCommitmentAccessResponseSchema: GenMessage<CreateGuaranteedCommitmentAccessResponse> = /*@__PURE__*/
4018
- messageDesc(file_gc_v1_gc, 79);
3915
+ messageDesc(file_gc_v1_gc, 71);
3916
+
3917
+ /**
3918
+ * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsResponse
3919
+ */
3920
+ export type GetPurchasePlansDetailsResponse = Message<"blueapi.gc.v1.GetPurchasePlansDetailsResponse"> & {
3921
+ /**
3922
+ * Plan basic info and detailed metrics
3923
+ *
3924
+ * @generated from field: blueapi.gc.v1.DefaultPurchasePlan plan = 1;
3925
+ */
3926
+ plan?: DefaultPurchasePlan;
3927
+
3928
+ /**
3929
+ * Commitment line item
3930
+ *
3931
+ * @generated from field: repeated blueapi.gc.v1.CommitmentPlanLineItem lineItems = 2;
3932
+ */
3933
+ lineItems: CommitmentPlanLineItem[];
3934
+
3935
+ /**
3936
+ * Covered infrastructure resource matches
3937
+ *
3938
+ * @generated from field: repeated blueapi.gc.v1.CommitmentPlanResourceMatch resourceMatches = 3;
3939
+ */
3940
+ resourceMatches: CommitmentPlanResourceMatch[];
3941
+
3942
+ /**
3943
+ * Audit history of the plan
3944
+ *
3945
+ * @generated from field: repeated blueapi.gc.v1.PlanHistoryEntry history = 4;
3946
+ */
3947
+ history: PlanHistoryEntry[];
3948
+ };
3949
+
3950
+ /**
3951
+ * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsResponse.
3952
+ * Use `create(GetPurchasePlansDetailsResponseSchema)` to create a new message.
3953
+ */
3954
+ export const GetPurchasePlansDetailsResponseSchema: GenMessage<GetPurchasePlansDetailsResponse> = /*@__PURE__*/
3955
+ messageDesc(file_gc_v1_gc, 72);
4019
3956
 
4020
3957
  /**
4021
3958
  * @generated from enum blueapi.gc.v1.Provider
@@ -4218,16 +4155,6 @@ export const GuaranteedCommitments: GenService<{
4218
4155
  input: typeof ListOrgsRequestSchema;
4219
4156
  output: typeof OrgSchema;
4220
4157
  },
4221
- /**
4222
- * WORK-IN-PROGRESS: Do not use. Retrieves detailed information about a specific commitment plan, including costs, savings projections, and commitment coverage.
4223
- *
4224
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetCommitmentsPlanDetails
4225
- */
4226
- getCommitmentsPlanDetails: {
4227
- methodKind: "unary";
4228
- input: typeof GetCommitmentPlanDetailsRequestSchema;
4229
- output: typeof CommitmentPlanDetailsSchema;
4230
- },
4231
4158
  /**
4232
4159
  * WORK-IN-PROGRESS: Executes a commitment purchase plan, initiating the commitment purchase process.
4233
4160
  *
@@ -4238,46 +4165,6 @@ export const GuaranteedCommitments: GenService<{
4238
4165
  input: typeof CommitmentPlanApplyRequestSchema;
4239
4166
  output: typeof CommitmentPlanDetailsSchema;
4240
4167
  },
4241
- /**
4242
- * WORK-IN-PROGRESS: Do not use. Retrieves the three default GuaranteedCommitments commitment plans (High Savings, Balanced, Recommended) for the specified cloud provider.
4243
- *
4244
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListDefaultCommitmentsPlan
4245
- */
4246
- listDefaultCommitmentsPlan: {
4247
- methodKind: "unary";
4248
- input: typeof ListDefaultCommitmentPlansRequestSchema;
4249
- output: typeof ListDefaultCommitmentPlansResponseSchema;
4250
- },
4251
- /**
4252
- * WORK-IN-PROGRESS: Do not use. Retrieves only the recommended GuaranteedCommitments commitment plan for the specified cloud provider.
4253
- *
4254
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetRecommendedCommitmentsPlan
4255
- */
4256
- getRecommendedCommitmentsPlan: {
4257
- methodKind: "unary";
4258
- input: typeof GetRecommendedCommitmentPlanRequestSchema;
4259
- output: typeof CommitmentPlanDetailsSchema;
4260
- },
4261
- /**
4262
- * WORK-IN-PROGRESS: Do not use. Retrieves line items for a specific commitment plan.
4263
- *
4264
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListCommitmentsPlanLineItems
4265
- */
4266
- listCommitmentsPlanLineItems: {
4267
- methodKind: "unary";
4268
- input: typeof ListCommitmentPlanLineItemsRequestSchema;
4269
- output: typeof ListCommitmentPlanLineItemsResponseSchema;
4270
- },
4271
- /**
4272
- * WORK-IN-PROGRESS: Do not use. Retrieves resource matches for a specific commitment plan.
4273
- *
4274
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListCommitmentsPlanResourceMatches
4275
- */
4276
- listCommitmentsPlanResourceMatches: {
4277
- methodKind: "unary";
4278
- input: typeof ListCommitmentPlanResourceMatchesRequestSchema;
4279
- output: typeof ListCommitmentPlanResourceMatchesResponseSchema;
4280
- },
4281
4168
  /**
4282
4169
  * WORK-IN-PROGRESS: Retrieves a list of commitments.
4283
4170
  *
@@ -4348,6 +4235,17 @@ export const GuaranteedCommitments: GenService<{
4348
4235
  input: typeof ListPurchasePlansBySegmentRequestSchema;
4349
4236
  output: typeof ListPurchasePlansBySegmentResponseSchema;
4350
4237
  },
4238
+ /**
4239
+ * WORK-IN-PROGRESS: Retrieves full details of a specific purchase plan of a company.
4240
+ * Includes the basic info, detailed metrics, commitment line items, covered infrastructure resource matches, and audit history.
4241
+ *
4242
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetPurchasePlansDetails
4243
+ */
4244
+ getPurchasePlansDetails: {
4245
+ methodKind: "unary";
4246
+ input: typeof GetPurchasePlansDetailsRequestSchema;
4247
+ output: typeof GetPurchasePlansDetailsResponseSchema;
4248
+ },
4351
4249
  /**
4352
4250
  * WORK-IN-PROGRESS: Saves a commitment purchase plan as draft.
4353
4251
  *
@@ -4369,7 +4267,7 @@ export const GuaranteedCommitments: GenService<{
4369
4267
  output: typeof ListDraftPurchasePlansResponseSchema;
4370
4268
  },
4371
4269
  /**
4372
- * WORK-IN-PROGRESS: Deletes a draft purchase plan.
4270
+ * WORK-IN-PROGRESS: Deletes a drafted purchase plan.
4373
4271
  *
4374
4272
  * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.DeleteDraftPurchasePlan
4375
4273
  */