@alphauspkgs/blue-sdk-ts 1.0.11 → 1.0.13
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/api/ripple/v1/accountsupportplan_pb.js +21 -3
- package/api/ripple/v1/accountsupportplan_pb.ts +24 -3
- package/billing/v1/billing_pb.js +108 -2
- package/billing/v1/billing_pb.ts +708 -18
- package/cover/v1/cover_pb.js +1 -1
- package/cover/v1/cover_pb.ts +6 -16
- package/gc/v1/gc_pb.js +500 -0
- package/gc/v1/gc_pb.ts +3572 -0
- package/package.json +1 -1
- package/protos/entity_pb.js +1 -1
- package/protos/entity_pb.ts +1 -1
- package/protos/message_pb.js +1 -1
- package/protos/message_pb.ts +1 -1
- package/protos/operation_pb.js +1 -1
- package/protos/operation_pb.ts +1 -1
package/billing/v1/billing_pb.ts
CHANGED
|
@@ -51,7 +51,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
51
51
|
* Describes the file billing/v1/billing.proto.
|
|
52
52
|
*/
|
|
53
53
|
export const file_billing_v1_billing: GenFile = /*@__PURE__*/
|
|
54
|
-
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKOBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLTAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkilAQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJIjUKCkF3c09wdGlvbnMSFgoOdXNlUHJvRm9ybWFDdXIYASABKAgSDwoHcGF5ZXJJZBgCIAEoCSKrAQoOQWNjb3VudE9wdGlvbnMSMQoDYXdzGAEgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMSMQoDZ2NwGAIgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMSMwoFYXp1cmUYAyABKAsyJC5ibHVlYXBpLmJpbGxpbmcudjEuUmVnaXN0ZXJBY2NvdW50cyI2ChBSZWdpc3RlckFjY291bnRzEg8KB2VuYWJsZWQYASABKAgSEQoJYWNjb3VudElkGAIgASgJIlQKDlZlbmRvckFjY291bnRzEg4KBnZlbmRvchgBIAEoCRIyCghhY2NvdW50cxgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQiYAoMQXp1cmVPcHRpb25zEhUKDXJlc291cmNlR3JvdXAYASABKAgSGwoTYXBwbHlQY0Vhcm5lZENyZWRpdBgCIAEoCBIcChRhcHBseUNhbXBhaWduUHJpY2luZxgDIAEoCCKqBwofQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhQKDGJpbGxpbmdUaXRsZRgEIAEoCRITCgtwaG9uZU51bWJlchgFIAEoCRISCgpwb3N0YWxDb2RlGAYgASgJEg8KB2FkZHJlc3MYByABKAkSEAoIcGVyc29uYWwYCCABKAkSDwoHcmVtYXJrcxgJIAEoCRIRCglwcm9qZWN0SWQYCiABKAkSEAoIbGFuZ3VhZ2UYCyABKAkSEwoLZGlzcGxheUNvc3QYDCABKAkSGAoQZXhjaGFuZ2VSYXRlVHlwZRgNIAEoCRI6Cg5hY2NvdW50T3B0aW9ucxgPIAEoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50T3B0aW9ucxJGCghpbnZvaWNlcxgOIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZRIyCgphd3NPcHRpb25zGBAgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMSDAoEY2l0eRgRIAEoCRISCgpwcmVmZWN0dXJlGBIgASgJEg8KB2NvdW50cnkYEyABKAkSGQoRaW52b2ljZVRlbXBsYXRlSWQYFCABKAkSMwoLdGFnU2V0dGluZ3MYFSADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI4Cg1ub25UYWdTZXR0aW5nGBYgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmcSOgoOdmVuZG9yQWNjb3VudHMYFyADKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuVmVuZG9yQWNjb3VudHMSWwoMY3VzdG9tRmllbGRzGBggAygLMkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QuQ3VzdG9tRmllbGRzRW50cnkSNgoMYXp1cmVPcHRpb25zGBkgASgLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkF6dXJlT3B0aW9ucxozChFDdXN0b21GaWVsZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIv8BCiBDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZRJHCgNhd3MYASABKAsyOi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISSQoFYXp1cmUYAiABKAsyOi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISRwoDZ2NwGAMgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yItcDCiZDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvchIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJImMKFkdldEJpbGxpbmdHcm91cFJlcXVlc3QSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siUQoXR2V0QmlsbGluZ0dyb3VwUmVzcG9uc2USNgoMYmlsbGluZ0dyb3VwGAEgASgLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCKWAQoLQWNjZXNzR3JvdXASFQoNYWNjZXNzR3JvdXBJZBgBIAEoCRIXCg9hY2Nlc3NHcm91cE5hbWUYAiABKAkSHgoWYWNjZXNzR3JvdXBEZXNjcmlwdGlvbhgDIAEoCRI3Cg1iaWxsaW5nR3JvdXBzGAQgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCJeChVHZXRBY2Nlc3NHcm91cFJlcXVlc3QSFQoNYWNjZXNzR3JvdXBJZBgBIAEoCRIuCgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJOChZHZXRBY2Nlc3NHcm91cFJlc3BvbnNlEjQKC2FjY2Vzc0dyb3VwGAEgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY2Vzc0dyb3VwIq8CChJBd3NEYWlseVJ1bkhpc3RvcnkSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDQoFbW9udGgYAyABKAkSQAoIYWNjb3VudHMYBCADKAsyLi5ibHVlYXBpLmJpbGxpbmcudjEuQXdzRGFpbHlSdW5IaXN0b3J5LkFjY291bnQalAEKB0FjY291bnQSEQoJYWNjb3VudElkGAEgASgJEkcKB2hpc3RvcnkYAiADKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQXdzRGFpbHlSdW5IaXN0b3J5LkFjY291bnQuSGlzdG9yeRotCgdIaXN0b3J5EhEKCXRpbWVzdGFtcBgBIAEoCRIPCgd0cmlnZ2VyGAIgASgJIj8KHUxpc3RBd3NEYWlseVJ1bkhpc3RvcnlSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEg8KB2dyb3VwSWQYAiABKAkiVgoaTGlzdFVzYWdlQ29zdHNEcmlmdFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEg0KBW1vbnRoGAMgASgJIoYBCg9Vc2FnZUNvc3RzRHJpZnQSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDwoHYWNjb3VudBgDIAEoCRIQCghzbmFwc2hvdBgEIAEoARIPCgdjdXJyZW50GAUgASgBEgwKBGRpZmYYBiABKAEiMgoRR2V0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIjkKGEV4cG9ydEludm9pY2VGaWxlUmVxdWVzdBIMCgRkYXRlGAEgASgJEg8KB2dyb3VwSWQYAiABKAkiKAoZRXhwb3J0SW52b2ljZUZpbGVSZXNwb25zZRILCgN1cmwYASABKAkiNQojUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIiQKIkxpc3RJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QiXgohR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EgoKAmlkGAEgASgJEi0KCWZpZWxkTWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siagoXSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdjcmVhdGVkGAQgASgJEg8KB3VwZGF0ZWQYBSABKAkiHAoaTGlzdEludm9pY2VUZW1wbGF0ZVJlcXVlc3QiXQooVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIfChFpbnZvaWNlVGVtcGxhdGVJZBgCIAEoCUIE4kEBAiKeAgobTGlzdEludm9pY2VUZW1wbGF0ZVJlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJEhkKEW51bWJlck9mQ29ubmVjdGVkGAYgASgFElAKFWNvbm5lY3RlZEJpbGxpbmdHcm91cBgHIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlQ29ubmVjdGVkQmlsbGluZ0dyb3VwcxJBCghpbnZvaWNlcxgIIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MiIgogR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QiSAohR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1Jlc3BvbnNlEiMKG3Nob3dSSVNQVXBmcm9udFRpbWVJbnRlcnZhbBgBIAEoCCKsAQojVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QSVQoHc2V0dGluZxgBIAMoCzJELmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVxdWVzdC5TZXR0aW5nRW50cnkaLgoMU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEibAodSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCSI8CilMaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIocBCh5BY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSCgoCaWQYASABKAkSDwoHYWNjb3VudBgCIAEoCRJIChBzZXJ2aWNlRGlzY291bnRzGAMgASgLMi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIjgKF0FjY291bnRTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCSJ9CitDcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMibQosQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMifQorVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLFVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIj4KK0RlbGV0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJ9CitSZW1vdmVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMiTwowQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJPCjBVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIKCgJpZBgCIAEoCSI/CjFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEgoKAmlkGAEgASgJIkMKMERlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIlcKFENyZWF0ZUludm9pY2VSZXF1ZXN0EgwKBGRhdGUYBCABKAkSDgoGdmVuZG9yGAEgASgJEhEKCWFsbEdyb3VwcxgCIAEoCBIOCgZncm91cHMYAyADKAkiJQoXR2V0SW52b2ljZVN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiKAoYTGlzdEludm9pY2VTdGF0dXNSZXF1ZXN0EgwKBGRhdGUYASABKAkiYAocVXBkYXRlSW52b2ljZVByZXZpZXdzUmVxdWVzdBIMCgRkYXRlGAEgASgJEhEKCWFsbEdyb3VwcxgCIAEoCBIOCgZncm91cHMYAyADKAkSDwoHZW5hYmxlZBgEIAEoCCLPAQoVQ3JlYXRlUmVzZWxsZXJSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDQoFZW1haWwYAiABKAkSEAoIcGFzc3dvcmQYAyABKAkSFAoMbm90aWZpY2F0aW9uGAQgASgIEjYKCndhdmVDb25maWcYBSADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWcSNgoKYXF1YUNvbmZpZxgGIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZyJGChRMaXN0UmVzZWxsZXJzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJQChJHZXRSZXNlbGxlclJlcXVlc3QSCgoCaWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sipgIKFVVwZGF0ZVJlc2VsbGVyUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhITCgVlbWFpbBgCIAEoCUIE4kEBARIXCghwYXNzd29yZBgDIAEoCUIF4kECBAESPAoKd2F2ZUNvbmZpZxgEIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZ0IE4kEBARI8CgphcXVhQ29uZmlnGAUgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnQgTiQQEBEhsKDG5vdGlmaWNhdGlvbhgGIAEoCEIF4kECBAESNAoKdXBkYXRlTWFzaxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiIwoVRGVsZXRlUmVzZWxsZXJSZXF1ZXN0EgoKAmlkGAEgASgJIkoKGEdldEJpbGxpbmdTZXR0aW5nUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayLHAgoZR2V0QmlsbGluZ1NldHRpbmdSZXNwb25zZRIwCgl5ZWFyTW9udGgYASADKAsyHS5ibHVlYXBpLmFwaS5yaXBwbGUuWWVhck1vbnRoEjQKDnJvdW5kaW5nTWV0aG9kGAIgASgLMhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJvdW5kaW5nEjoKFGV4cG9ydFJvdW5kaW5nTWV0aG9kGAMgASgLMhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJvdW5kaW5nEjgKDWludm9pY2VMYXlvdXQYBCABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dBIzCg5pbnZvaWNlRHVlRGF0ZRgFIAEoCzIbLmJsdWVhcGkuYXBpLnJpcHBsZS5EdWVEYXRlEhcKD3N1cHBvcnRDdXJyZW5jeRgGIAMoCSI5ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJImUKHFNldEdsb2JhbEV4Y2hhbmdlUmF0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgEIAEoASJ3ChtTZXRQYXllckV4Y2hhbmdlUmF0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRINCgVtb250aBgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCRIUCgxleGNoYW5nZVJhdGUYBSABKAEibAoiU2V0QmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg0KBW1vbnRoGAIgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgEIAEoASLiAQoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVtb250aBgBIAEoCRI2CgZjb21tb24YAiABKAsyJi5ibHVlYXBpLmFwaS5yaXBwbGUuQ29tbW9uRXhjaGFuZ2VSYXRlEkIKDGJpbGxpbmdHcm91cBgDIAMoCzIsLmJsdWVhcGkuYXBpLnJpcHBsZS5CaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGUSOgoFcGF5ZXIYBCABKAsyKy5ibHVlYXBpLmFwaS5yaXBwbGUuVmVuZG9yUGF5ZXJFeGNoYW5nZVJhdGUiSQoXTGlzdEFjY2Vzc0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siVAoYQ3JlYXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSFQoNYmlsbGluZ0dyb3VwcxgDIAMoCSJgChhVcGRhdGVBY2Nlc3NHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAQgAygJIiYKGERlbGV0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSIyChJMaXN0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAki8ggKE0xpc3RJbnZvaWNlUmVzcG9uc2USGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIaChJmaW5hbGl6YXRpb25TdGF0dXMYBSABKAkSEQoJaXNDcmVhdGVkGAYgASgIEhkKEWlzU2V0dGluZ01vZGlmaWVkGAcgASgIEhMKC2NyZWF0ZWREYXRlGAggASgJEhMKC3VwZGF0ZWREYXRlGAkgASgJEhYKDmNyZWF0ZWRWZW5kb3JzGAogAygJEhMKC2lzUHVibGlzaGVkGAsgASgIEl0KE3ZlbmRvckJpbGxpbmdBbW91bnQYDCADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5WZW5kb3JCaWxsaW5nQW1vdW50RW50cnkSGgoSYmlsbGluZ0Ftb3VudFRvdGFsGA0gASgJEhAKCGN1cnJlbmN5GA4gASgJEg0KBXVybElkGA8gASgJEm0KG2NyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZxgQIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkNyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EmkKGXNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmcYESADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5TYXZlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSbQobZGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nGBIgAygLMkguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuRGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkaOgoYVmVuZG9yQmlsbGluZ0Ftb3VudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaZwogQ3JlYXRlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5nczoCOAEaZQoeU2F2ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBGmcKIERlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBIikKG0xpc3RBYmNCaWxsaW5nR3JvdXBzUmVxdWVzdBIKCgJpZBgBIAEoCSJOCiJMaXN0QWJjQmlsbGluZ0dyb3VwQWNjb3VudHNSZXF1ZXN0Eg8KB3BheWVySWQYASABKAkSFwoPYmlsbGluZ0dyb3VwQXJuGAIgASgJIo8BCg9BYmNCaWxsaW5nR3JvdXASCwoDYXJuGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMY3JlYXRpb25UaW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEHByaW1hcnlBY2NvdW50SWQYBSABKAkSDAoEc2l6ZRgGIAEoCRIOCgZzdGF0dXMYByABKAkiNAoKQWJjQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkiYgodUmVhZEludm9pY2VBZGp1c3RtZW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRINCgVtb250aBgDIAEoCRIPCgdmZWVUeXBlGAQgASgJIpkBChxSZWFkQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhITCgVtb250aBgCIAEoCUIE4kEBARpOCiJBZGp1c3RtZW50RW50cmllc1JlcXVlc3RBd3NPcHRpb25zEhMKC3NwcERpc2NvdW50GAEgASgIEhMKC2VkcERpc2NvdW50GAIgASgIIkMKGUdldEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECIp4DChtBcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECElMKB3NldHRpbmcYAiABKAsyPC5ibHVlYXBpLmJpbGxpbmcudjEuQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFwcGx5U2V0dGluZ0IE4kEBAhIVCgdlbnRyaWVzGAMgAygJQgTiQQECGvwBCgxBcHBseVNldHRpbmcSEwoFbW9udGgYASABKAlCBOJBAQESFQoHdGF4RnJlZRgCIAEoCEIE4kEBARJqCgxleGNoYW5nZVJhdGUYAyADKAsyTi5ibHVlYXBpLmJpbGxpbmcudjEuQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFwcGx5U2V0dGluZy5FeGNoYW5nZVJhdGVFbnRyeUIE4kEBARIfChFiaWxsaW5nSW50ZXJuYWxJZBgEIAEoCUIE4kEBARozChFFeGNoYW5nZVJhdGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBIkwKHVJlc3RvcmVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIVCgdlbnRyaWVzGAMgAygJQgTiQQECIl8KG1NwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQISGAoKc3RhcnRNb250aBgDIAEoCUIE4kEBAiL8AQoeQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAhJWCgZjb25maWcYAyADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFjY291bnRDb25maWdCBOJBAQISIQoTYWNjb3VudEZvclJlbWFpbmluZxgEIAEoCUIE4kEBAho3Cg1BY2NvdW50Q29uZmlnEhAKAmlkGAEgASgJQgTiQQECEhQKBmFtb3VudBgCIAEoAUIE4kEBAiJMCiJSZXN0b3JlU3BsaXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiJPCiVSZXN0b3JlQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiI8ChtMaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIkoKD1Jlc291cmNlQWNjb3VudBIPCgdwYXllcklkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSEgoKcmVnaXN0ZXJlZBgDIAEoCCIsChpHZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkijQEKHUNyZWF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIqCgZjb25maWcYAiADKAsyGi5ibHVlYXBpLmFwaS5Db25maWdGaWx0ZXJzEjAKCGFjY291bnRzGAMgAygLMh4uYmx1ZWFwaS5hcGkuTWFuYWdlbWVudEFjY291bnQijQEKHVVwZGF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIqCgZjb25maWcYAiADKAsyGi5ibHVlYXBpLmFwaS5Db25maWdGaWx0ZXJzEjAKCGFjY291bnRzGAMgAygLMh4uYmx1ZWFwaS5hcGkuTWFuYWdlbWVudEFjY291bnQiLwodRGVsZXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJImcKGVJlYWRVbnRhZ2dlZEdyb3Vwc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEjQKCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQEBIlwKJFJlYWRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VzUmVxdWVzdBI0CgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJmCiJHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgoKAmlkGAEgASgJEjQKCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQEBInwKJUNyZWF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIwCgZjb25maWcYAyABKAsyIC5ibHVlYXBpLmFwaS5yaXBwbGUuTWV0aG9kQ29uZmlnIsUBCiVVcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECElQKGGN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRgCIAEoCzIsLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCBOJBAQISNAoKdXBkYXRlTWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMwolRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoCSJdCi5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIskBCi9HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXNwb25zZRIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAyABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISLAoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50QgTiQQEBIvcCCi5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEoABCgdzZXR0aW5nGAMgAygLMmkuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmdCBOJBAQIalAEKJkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nEhAKAmlkGAEgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAIgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEhYKCGFjY291bnRzGAMgAygJQgTiQQEBImAKMURlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QSFQoHZ3JvdXBJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQIikQEKJENyZWF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEkYKB3NldHRpbmcYAyABKAsyNS5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHNTZXR0aW5nIsUBCiRVcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISVQoXaW52b2ljZVNlcnZpY2VEaXNjb3VudHMYAiABKAsyLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHNCBOJBAQISNAoKdXBkYXRlTWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMgokRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EgoKAmlkGAEgASgJIm4KB1RhZ0RhdGESEgoKY3VzdG9tZXJJZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFAoMY3VzdG9tZXJOYW1lGAMgASgJEiYKBHRhZ3MYBCADKAsyGC5ibHVlYXBpLmJpbGxpbmcudjEuVGFncyIjCgRUYWdzEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkiLgoOR2V0VGFnc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgwKBHR5cGUYAiABKAkiOwoLQ3VzdG9tRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIl4KF0JpbGxpbmdHcm91cEN1c3RvbUZpZWxkEg0KBXZhbHVlGAEgASgJEjQKC2N1c3RvbUZpZWxkGAIgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIjUKIkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKFAQojTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRJNChhiaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQiPAoYQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJIChhVcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIiYKGERlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBIKCgJpZBgBIAEoCSIYChZMaXN0Q3VzdG9tRmllbGRSZXF1ZXN0ImsKF0NyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSJhCgxGcmVlRm9ybUl0ZW0SDQoFbGFiZWwYASABKAkSEAoIdW5pdENvc3QYAiABKAMSDQoFdG90YWwYBSABKAMSEAoIcXVhbnRpdHkYAyABKA0SDwoHZW5hYmxlZBgEIAEoCCI6ChdEZWxldGVGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCSI9ChRHZXRGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEhQKDGlzQXNzb2NpYXRlZBgCIAEoCCJuChVHZXRGcmVlRm9ybWF0UmVzcG9uc2USDwoHZ3JvdXBJZBgDIAEoCRIOCgZ2ZW5kb3IYASABKAkSNAoKZnJlZUZvcm1hdBgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0idwoeVXBkYXRlVGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEjQKBWl0ZW1zGAMgAygLMiUuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3NBZGRpbmdTZXR0aW5nIj4KG0dldFRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSJJChFUYWdzQWRkaW5nU2V0dGluZxIPCgdncm91cElkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSDwoHdGFnS2V5cxgDIAMoCSJNCh1FeHBvcnRTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQEibworRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESEgoKZGlyZWN0TGluaxgDIAEoCCJ0CjBFeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhIKCmRpcmVjdExpbmsYAyABKAgiNgocRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVxdWVzdBIWCghsYW5ndWFnZRgCIAEoCUIE4kEBASI1Ch1FeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXNwb25zZRIUCgxkb3dubG9hZExpbmsYASABKAkiXAoeRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXF1ZXN0EhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEiIKFGluY2x1ZGVNaXNjZWxsYW5lb3VzGAMgASgIQgTiQQEBIjcKH0V4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVzcG9uc2USFAoMZG93bmxvYWRMaW5rGAEgASgJIkAKLUdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIjwKLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiuQEKIUFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBIPCgdncm91cElkGAEgASgJElMKB2lkVG9LZXkYAiADKAsyQi5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0LklkVG9LZXlFbnRyeRouCgxJZFRvS2V5RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJOCiREZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIVCg1jdXN0b21GaWVsZElkGAIgASgJInYKH0FkZEFjY291bnRUb0JpbGxpbmdHcm91cFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMgoIYWNjb3VudHMYAyADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkIlEKDEFjY291bnRUb0FkZBISCgpjdXN0b21lcklkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBG5vdGUYBCABKAkiqwEKHEFkZFRhZ3NUb0JpbGxpbmdHcm91cFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMAoIc2V0dGluZ3MYAyADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI4Cg1ub25UYWdTZXR0aW5nGAQgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmciRwoKVGFnU2V0dGluZxISCgpjdXN0b21lcklkGAEgASgJEiUKBHRhZ3MYAiADKAsyFy5ibHVlYXBpLmJpbGxpbmcudjEuVGFnIjEKA1RhZxILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSDgoGYXNzaWduGAMgASgFIj4KDU5vblRhZ1NldHRpbmcSDwoHaW5jbHVkZRgBIAEoCBIMCgR0eXBlGAIgASgJEg4KBmFtb3VudBgDIAEoASI+Ch1TYXZlVGFnSW52b2ljZVNldHRpbmdSZXNwb25zZRIOCgZzdGF0dXMYASABKAkSDQoFZXJyb3IYAiABKAkifgomVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjgKCHNldHRpbmdzGAMgAygLMiYuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ0dyb3VwU2V0dGluZyI+ChJOb25UYWdHcm91cFNldHRpbmcSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRIOCgZhbW91bnQYAyABKAEimgEKGlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhEKCWFsbEdyb3VwcxgDIAEoCBIOCgZncm91cHMYBCADKAkSOwoOaW52b2ljZVNldHRpbmcYBSABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzIpUECg9JbnZvaWNlU2V0dGluZ3MSEQoJaW52b2ljZU5vGAIgASgJEhQKDGRpc2NvdW50UmF0ZRgEIAEoARIbChNkaXNjb3VudFRhcmdldFVzYWdlGAUgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGAYgASgJEg8KB3RheFJhdGUYByABKAESEgoKc3VwcG9ydEZlZRgIIAEoCRITCgtzdXBwb3J0UmF0ZRgJIAEoARIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgKIAEoCRISCgpzdXBwb3J0Rml4GAsgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgMIAEoCRIYChBzdWJzdGl0dXRpb25SYXRlGA0gASgBEhcKD3N1YnN0aXR1dGlvbkZpeBgOIAEoARIhChlzdWJzdGl0dXRpb25GZWVDYWxjVGFyZ2V0GA8gASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGBAgASgJEh8KF3N1YnN0aXR1dGlvbkZlZUNhbGNUeXBlGBEgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgSIAEoARIMCgRtZW1vGBMgASgJEhAKCGNhbGNUeXBlGBQgASgJEjkKD2FkZGl0aW9uYWxJdGVtcxgVIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0irQMKEEJhc2ljSW5mb3JtYXRpb24SGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIWCglhZGRyZXNzZWUYBSABKAlIAIgBARIUCgdjb3VudHJ5GAYgASgJSAGIAQESFwoKcG9zdGFsQ29kZRgHIAEoCUgCiAEBEhEKBGNpdHkYCCABKAlIA4gBARIYCgtwaG9uZU51bWJlchgJIAEoCUgEiAEBEhkKDGFkZHJlc3NMaW5lMRgKIAEoCUgFiAEBEhkKDGFkZHJlc3NMaW5lMhgLIAEoCUgGiAEBEhIKBXN0YXRlGAwgASgJSAeIAQESFwoKcHJlZmVjdHVyZRgNIAEoCUgIiAEBQgwKCl9hZGRyZXNzZWVCCgoIX2NvdW50cnlCDQoLX3Bvc3RhbENvZGVCBwoFX2NpdHlCDgoMX3Bob25lTnVtYmVyQg8KDV9hZGRyZXNzTGluZTFCDwoNX2FkZHJlc3NMaW5lMkIICgZfc3RhdGVCDQoLX3ByZWZlY3R1cmUidwopVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvblJlcXVlc3QSCgoCaWQYASABKAkSPgoQYmFzaWNJbmZvcm1hdGlvbhgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5CYXNpY0luZm9ybWF0aW9uIrwBCiVVcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0EgoKAmlkGAEgASgJElcKB2lkVG9LZXkYAiADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdC5JZFRvS2V5RW50cnkaLgoMSWRUb0tleUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgojVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdFJlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSLqAgooVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSFwoPc2VsZWN0aW9uTWV0aG9kGAMgASgJEjIKCGFjY291bnRzGAQgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRUb0FkZBIwCghzZXR0aW5ncxgFIAMoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5UYWdTZXR0aW5nEj0KDW5vblRhZ1NldHRpbmcYBiABKAsyIS5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnU2V0dGluZ0gAiAEBEj8KDmFjY291bnRPcHRpb25zGAcgASgLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRPcHRpb25zSAGIAQFCEAoOX25vblRhZ1NldHRpbmdCEQoPX2FjY291bnRPcHRpb25zIrgBCihVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0EgoKAmlkGAEgASgJEhkKDGJpbGxpbmdUaXRsZRgCIAEoCUgAiAEBEhwKD2NhbGN1bGF0aW9uVHlwZRgDIAEoCUgBiAEBEhUKCGxhbmd1YWdlGAQgASgJSAKIAQFCDwoNX2JpbGxpbmdUaXRsZUISChBfY2FsY3VsYXRpb25UeXBlQgsKCV9sYW5ndWFnZSKvAQooVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIcCg9pbnZvaWNlVGVtcGxhdGUYAiABKAlIAIgBARJFCgdpbnZvaWNlGAMgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlQhIKEF9pbnZvaWNlVGVtcGxhdGUivwQKKlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRJ4CgNhd3MYAiADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECEnoKBWF6dXJlGAMgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ4CgNnY3AYBCADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASInChlEZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIlIKKEdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIqABCilHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSDwoHZW5hYmxlZBgDIAEoCBJGCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLwAQorVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFQoHZW5hYmxlZBgDIAEoCEIE4kEBARJMCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbkIE4kEBARI0Cgp1cGRhdGVNYXNrGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIxChdHZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSKnAQoZQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBINCgVsYWJlbBgBIAEoCRIMCgR0eXBlGAIgASgJEhAKCGNvbnRlbnRzGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkSGAoQYWxsQmlsbGluZ0dyb3VwcxgFIAEoCBINCgVzdGFydBgGIAEoAxILCgNlbmQYByABKAMSDgoGc3RhdHVzGAggASgJIngKGVVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkSQwoMYW5ub3VuY2VtZW50GAIgASgLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QiSgogVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASADKAkSDgoGc3RhdHVzGAIgASgJIkUKHVVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEgwKBGRhdGUYAiABKAMiMwoZRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSLpAQoMQW5ub3VuY2VtZW50EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEgwKBHR5cGUYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAUgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYDSABKAgSDQoFc3RhcnQYBiABKAkSCwoDZW5kGAcgASgJEgwKBGRhdGUYCCABKAkSDgoGc3RhdHVzGAkgASgJEhIKCnVzZXJTdGF0dXMYCiABKAkSDwoHY3JlYXRlZBgLIAEoCRIPCgd1cGRhdGVkGAwgASgJIjYKI0dldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkilgEKJEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZRIPCgdncm91cElkGAEgASgJEhEKCWdyb3VwTmFtZRgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSNwoNYW5ub3VuY2VtZW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiEwoRR2V0Q3JlZGl0c1JlcXVlc3QixAEKBkNyZWRpdBIKCgJpZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRIUCgxjcmVkaXRBbW91bnQYBCABKAESDAoEdGVybRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgdjcmVhdGVkGAcgASgJEhIKCmluaXRpYWxGZWUYCCABKAESFQoNY3JlZGl0QmFsYW5jZRgJIAEoARIPCgdhcHBsaWVkGAogASgIIhcKFUdldENzdlNldHRpbmdzUmVxdWVzdCKkAQoKQ3N2U2V0dGluZxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjIKA2NvbBgDIAMoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nLkNvbHVtbhpICgZDb2x1bW4SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuYBCiBVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSXAoMZXhjaGFuZ2VSYXRlGAMgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0LkV4Y2hhbmdlUmF0ZUVudHJ5EhAKCGdyb3VwSWRzGAQgAygJGjMKEUV4Y2hhbmdlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiWwoaQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIVCg1iaWxsaW5nZ3JvdXBzGAIgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYAyABKAgiRAobQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlEhAKCHByb2dyZXNzGAEgASgJEhMKC2Rvd25sb2FkVXJsGAIgASgJIogCCiFMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIQCghwYWdlU2l6ZRgJIAEoBRISCgpwYWdlTnVtYmVyGAogASgFIpcCChRCaWxsaW5nR3JvdXBMaXN0SXRlbRIYChBiaWxsaW5nR3JvdXBOYW1lGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhgKEGJpbGxpbmdHcm91cFR5cGUYBCABKAkSTAoHdmVuZG9ycxgFIAMoCzI7LmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBMaXN0SXRlbS5CaWxsaW5nR3JvdXBWZW5kb3ISGQoRYmlsbGluZ0ludGVybmFsSWQYBiABKAkaNQoSQmlsbGluZ0dyb3VwVmVuZG9yEg4KBnZlbmRvchgBIAEoCRIPCgdlbmFibGVkGAIgASgIIrQBCiJMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlEj8KDWJpbGxpbmdHcm91cHMYASADKAsyKC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0SEgoKdG90YWxDb3VudBgCIAEoBRITCgtjdXJyZW50UGFnZRgDIAEoBRIQCghwYWdlU2l6ZRgEIAEoBRISCgp0b3RhbFBhZ2VzGAUgASgFInoKIUNoaWxkQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhIKCgJpZBgBIAEoCRIQCghwYXJlbnRJZBgCIAEoCRIUCgxyb290UGFyZW50SWQYBSABKAkSDAoEbmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCSK+AQokQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEi/gIKEUNoaWxkQmlsbGluZ0dyb3VwEiMKG2NoaWxkQmlsbGluZ0dyb3VwSW50ZXJuYWxJZBgBIAEoCRJPChBiYXNpY0luZm9ybWF0aW9uGAIgASgLMjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhJICg9pbnZvaWNlU2V0dGluZ3MYAyABKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEkwKEHNlcnZpY2VEaXNjb3VudHMYBCABKAsyMi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzElsKGWN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXMYBSABKAsyOC5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwIuUBCiBDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJDCgNhd3MYASABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIhChlhY2NvdW50U3VwcG9ydFBsYW5FbmFibGVkGAIgASgIElkKGmFjY291bnRTdXBwb3J0UGxhblNldHRpbmdzGAMgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLAAQoeQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0Ek8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncyIhCh9DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlMpaVAQoHQmlsbGluZxKAAQoRTGlzdEJpbGxpbmdHcm91cHMSLC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIZgtPkkwITEhEvdjEvYmlsbGluZ2dyb3VwczABErABChpMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZBI1LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QaNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXNwb25zZSIjgtPkkwIdEhsvdjEvYmlsbGluZ2dyb3VwczpwYWdpbmF0ZWQSgwEKEkNyZWF0ZUJpbGxpbmdHcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIcgtPkkwIWOgEqIhEvdjEvYmlsbGluZ2dyb3VwcxKWAQoYQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIiOC0+STAh06ASoiGC92MS9iaWxsaW5nZ3JvdXBzL21lcmdlZBJ5ChFEZWxldGVCaWxsaW5Hcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9iaWxsaW5nZ3JvdXAve2lkfRKMAQoYQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEFjY291bnRUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHToBKiIYL3YxL2JpbGxpbmdncm91cC9hY2NvdW50EpkBCg9HZXRCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBSZXNwb25zZSItgtPkkwInEiUvdjEvYmlsbGluZ2dyb3Vwcy97YmlsbGluZ0ludGVybmFsSWR9EpEBCg5HZXRBY2Nlc3NHcm91cBIpLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBY2Nlc3NHcm91cFJlcXVlc3QaKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWNjZXNzR3JvdXBSZXNwb25zZSIogtPkkwIiEiAvdjEvYWNjZXNzZ3JvdXBzL3thY2Nlc3NHcm91cElkfRKeAQoWTGlzdEF3c0RhaWx5UnVuSGlzdG9yeRIxLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBomLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NEYWlseVJ1bkhpc3RvcnkiJ4LT5JMCIToBKiIcL3YxL2F3cy9kYWlseXJ1bmhpc3Rvcnk6cmVhZDABEpoBChNMaXN0VXNhZ2VDb3N0c0RyaWZ0Ei4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlVzYWdlQ29zdHNEcmlmdCIsgtPkkwImOgEqIiEvdjEve3ZlbmRvcn0vdXNhZ2Vjb3N0c2RyaWZ0OnJlYWQwARJ8Cg1DcmVhdGVJbnZvaWNlEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiJILT5JMCHjoBKiIZL3YxL2ludm9pY2Uve2RhdGV9OmNyZWF0ZRKbAQoZQ3JlYXRlSW52b2ljZVdpdGhTZXR0aW5ncxIuLmJsdWVhcGkuYmlsbGluZy52MS5TYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIjGC0+STAis6ASoiJi92MS9pbnZvaWNlL3tkYXRlfTpjcmVhdGUmc2F2ZXNldHRpbmdzEokBChNTYXZlSW52b2ljZVNldHRpbmdzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpzYXZlc2V0dGluZ3MSogEKE0NvbnZlcnRJbnZvaWNlVG9QZGYSLi5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlIiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpjb252ZXJ0dG9wZGYSfQoQR2V0SW52b2ljZVN0YXR1cxIrLmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlU3RhdHVzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIh+C0+STAhkSFy92MS9pbnZvaWNlL3N0YXR1cy97aWR9EosBChFMaXN0SW52b2ljZVN0YXR1cxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVN0YXR1c1JlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIpgtPkkwIjOgEqIh4vdjEvaW52b2ljZS9zdGF0dXMve2RhdGV9OnJlYWQwARJtCgpHZXRJbnZvaWNlEiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuSW52b2ljZSIigtPkkwIcOgEqIhcvdjEvaW52b2ljZS97ZGF0ZX06cmVhZBJ9CgtMaXN0SW52b2ljZRImLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlcXVlc3QaJy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZSIbgtPkkwIVOgEqIhAvdjEvaW52b2ljZTpyZWFkMAESiAEKFVVwZGF0ZUludm9pY2VQcmV2aWV3cxIwLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlUHJldmlld3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiWC0+STAh86ASoaGi92MS9pbnZvaWNlL3tkYXRlfTpwcmV2aWV3EpYBChFFeHBvcnRJbnZvaWNlRmlsZRIsLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZUZpbGVSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZS97ZGF0ZX06ZXhwb3J0EpYBChNMaXN0SW52b2ljZVRlbXBsYXRlEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZSIcgtPkkwIWEhQvdjEvaW52b2ljZS90ZW1wbGF0ZTABEq0BChlHZXRJbnZvaWNlRGlzcGxheVNldHRpbmdzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZSIjgtPkkwIdEhsvdjEvaW52b2ljZS9kaXNwbGF5c2V0dGluZ3MSlwEKHFVwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3MSNy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCIDoBKiIbL3YxL2ludm9pY2UvZGlzcGxheXNldHRpbmdzEpYBChlVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoaIC92MS9pbnZvaWNlL2V4Y2hhbmdlcmF0ZS97bW9udGh9EqwBCiFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlVGVtcGxhdGUSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqIiYvdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2V0ZW1wbGF0ZRKxAQocUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlcxI3LmJsdWVhcGkuYmlsbGluZy52MS5SZWFkU2VydmljZURpc2NvdW50c1NlcnZpY2VzUmVxdWVzdBoeLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5TZXJ2aWNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3t2ZW5kb3J9L3NlcnZpY2VzOnJlYWQwARKqAQodQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIh+C0+STAhk6ASoiFC92MS9zZXJ2aWNlZGlzY291bnRzEq8BCh1VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiJILT5JMCHjoBKhoZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKUAQodRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiGC0+STAhsqGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SqgEKG0xpc3RJbnZvaWNlU2VydmljZURpc2NvdW50cxI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GisuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiSC0+STAh46ASoiGS92MS9zZXJ2aWNlZGlzY291bnRzOnJlYWQwARKmAQoaR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSNS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiGC0+STAhsSGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SogEKFkV4cG9ydFNlcnZpY2VEaXNjb3VudHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0U2VydmljZURpc2NvdW50c1JlcXVlc3QaLS5ibHVlYXBpLmFwaS5yaXBwbGUudjEuU2VydmljZURpc2NvdW50c0V4cG9ydCImgtPkkwIgOgEqIhsvdjEvc2VydmljZWRpc2NvdW50czpleHBvcnQS8AEKKUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAS8AEKKVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoaKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXASvgEKKURlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItKisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEtEBCiJMaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cyI2gtPkkwIwOgEqIisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudDpyZWFkMAES3AEKJENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjGC0+STAis6ASoiJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50EtwBCiRVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpALmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIxgtPkkwIrOgEqGiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBK5AQokUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlbW92ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKhotL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQ6cmVtb3ZlEq8BCiREZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoKiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBLNAQokRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaNC5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiLoLT5JMCKDoBKiIjL3YxL3NlcnZpY2VkaXNjb3VudHMvYWNjb3VudDpleHBvcnQS2gEKKUV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5Hcm91cFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiM4LT5JMCLToBKiIoL3YxL3NlcnZpY2VkaXNjb3VudHMvYmlsbGluZ2dyb3VwOmV4cG9ydBLkAQomR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSQS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiM4LT5JMCLRIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBJzCg5DcmVhdGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGILT5JMCEjoBKiINL3YxL3Jlc2VsbGVycxJwCg1MaXN0UmVzZWxsZXJzEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RSZXNlbGxlcnNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIhWC0+STAg8SDS92MS9yZXNlbGxlcnMwARJvCgtHZXRSZXNlbGxlchImLmJsdWVhcGkuYmlsbGluZy52MS5HZXRSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGoLT5JMCFBISL3YxL3Jlc2VsbGVycy97aWR9EngKDlVwZGF0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZVJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIdgtPkkwIXOgEqGhIvdjEvcmVzZWxsZXJzL3tpZH0SbwoORGVsZXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlUmVzZWxsZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQqEi92MS9yZXNlbGxlcnMve2lkfRKGAQoRR2V0QmlsbGluZ1NldHRpbmcSLC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ1NldHRpbmdSZXF1ZXN0Gi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdTZXR0aW5nUmVzcG9uc2UiFILT5JMCDhIML3YxL3NldHRpbmdzEpsBChFMaXN0RXhjaGFuZ2VSYXRlcxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vZXhjaGFuZ2VyYXRlL3ttb250aH0SlgEKFVNldEdsb2JhbEV4Y2hhbmdlUmF0ZRIwLmJsdWVhcGkuYmlsbGluZy52MS5TZXRHbG9iYWxFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi06ASoiKC92MS9leGNoYW5nZXJhdGUvZ2xvYmFsL3t2ZW5kb3J9L3ttb250aH0SigEKFFNldFBheWVyRXhjaGFuZ2VSYXRlEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldFBheWVyRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqIh4vdjEvZXhjaGFuZ2VyYXRlL3BheWVyL3ttb250aH0SnwEKG1NldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZRI2LmJsdWVhcGkuYmlsbGluZy52MS5TZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoiJS92MS9leGNoYW5nZXJhdGUvYmlsbGluZ2dyb3VwL3ttb250aH0SfAoQTGlzdEFjY2Vzc0dyb3VwcxIrLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjZXNzR3JvdXBzUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIYgtPkkwISEhAvdjEvYWNjZXNzZ3JvdXBzMAESfwoRQ3JlYXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjZXNzR3JvdXBSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIhuC0+STAhU6ASoiEC92MS9hY2Nlc3Nncm91cHMShAEKEVVwZGF0ZUFjY2Vzc0dyb3VwEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIggtPkkwIaOgEqGhUvdjEvYWNjZXNzZ3JvdXBzL3tpZH0SeAoRRGVsZXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjZXNzR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9hY2Nlc3Nncm91cHMve2lkfRKfAQoUTGlzdEFiY0JpbGxpbmdHcm91cHMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFiY0JpbGxpbmdHcm91cHNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFiY0JpbGxpbmdHcm91cCIvgtPkkwIpEicvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3tpZH0wARK2AQobTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBYmNCaWxsaW5nR3JvdXBBY2NvdW50c1JlcXVlc3QaHi5ibHVlYXBpLmJpbGxpbmcudjEuQWJjQWNjb3VudCI9gtPkkwI3EjUvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3twYXllcklkfS9hY2NvdW50czABEpwBChZSZWFkSW52b2ljZUFkanVzdG1lbnRzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkud2F2ZS5BZGp1c3RtZW50Ii+C0+STAik6ASoiJC92MS97dmVuZG9yfS9pbnZvaWNlYWRqdXN0bWVudHM6cmVhZDABEqMBChVSZWFkQWRqdXN0bWVudEVudHJpZXMSMC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOnJlYWQwARKYAQoSR2V0QWRqdXN0bWVudEVudHJ5Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWRqdXN0bWVudEVudHJ5IiuC0+STAiUSIy92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9EpABChRBcHBseUFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5BcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOmFwcGx5EpYBChZSZXN0b3JlQWRqdXN0bWVudEVudHJ5EjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoiJi92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllczpyZXN0b3JlEpUBChRTcGxpdEFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5TcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQSngEKF0FsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI3gtPkkwIxOgEqIiwvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9hbGxvY2F0ZRKrAQobUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5EjYuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNjoBKiIxL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQ6cmVzdG9yZRK0AQoeUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOToBKiI0L3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vYWxsb2NhdGU6cmVzdG9yZRKXAQoUTGlzdEFjY291bnRSZXNvdXJjZXMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY291bnRSZXNvdXJjZXNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc291cmNlQWNjb3VudCIngtPkkwIhEh8vdjEvcmVzb3VyY2VzL2FjY291bnRzL3t2ZW5kb3J9MAESiwEKE0dldEFkanVzdG1lbnRDb25maWcSLi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiWC0+STAh8SHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpQBChZDcmVhdGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIogtPkkwIiOgEqIh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKUAQoWVXBkYXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciKILT5JMCIjoBKhodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SigEKFkRlbGV0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHyodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlQEKElJlYWRVbnRhZ2dlZEdyb3VwcxItLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0GiEuYmx1ZWFwaS5hcGkucmlwcGxlLlVudGFnZ2VkR3JvdXAiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzOnJlYWQwARK4AQodUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXMSOC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXNSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqIiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlczpyZWFkMAESrwEKG0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI2LmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSIqgtPkkwIkEiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9ErMBCh5DcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiKILT5JMCIjoBKiIdL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMSuAEKHlVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqGiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9Ep8BCh5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkKiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9EvsBCidHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXASQi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBpDLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXNwb25zZSJFgtPkkwI/Ej0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy9iaWxsaW5nZ3JvdXAve2dyb3VwSWR9L3t2ZW5kb3J9MAESzwEKJ1NldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJCLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkiC0+STAkI6ASoiPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0S0gEKKkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJFLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkWC0+STAj8qPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0SXgoHR2V0VGFncxIiLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzUmVxdWVzdBobLmJsdWVhcGkuYmlsbGluZy52MS5UYWdEYXRhIhCC0+STAgoSCC92MS90YWdzMAESfgoRQ3JlYXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIhqC0+STAhQ6ASoiDy92MS9jdXN0b21maWVsZBKBAQoPTGlzdEN1c3RvbUZpZWxkEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKiIUL3YxL2N1c3RvbWZpZWxkOnJlYWQwARKUAQoaQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSNS5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQSvgEKG0xpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GjcuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlc3BvbnNlIiyC0+STAiY6ASoiIS92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQ6cmVhZDABEoMBChVBZGRUYWdzVG9CaWxsaW5nR3JvdXASMC5ibHVlYXBpLmJpbGxpbmcudjEuQWRkVGFnc1RvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaOgEqIhUvdjEvYmlsbGluZ2dyb3VwL3RhZ3MSrwEKH1VwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXASOi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKiItL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzErEBCh1EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI4LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPoLT5JMCOCo2L3YxL2JpbGxpbmdncm91cC9jdXN0b21maWVsZC97Z3JvdXBJZH0ve2N1c3RvbUZpZWxkSWR9EoMBChFVcGRhdGVDdXN0b21GaWVsZBIsLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKhoUL3YxL2N1c3RvbWZpZWxkL3tpZH0SdwoRRGVsZXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9jdXN0b21maWVsZC97aWR9EnIKEENyZWF0ZUZyZWVGb3JtYXQSKy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGYLT5JMCEzoBKiIOL3YxL2ZyZWVmb3JtYXQSeQoQRGVsZXRlRnJlZUZvcm1hdBIrLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEvZnJlZWZvcm1hdC97Z3JvdXBJZH0SiAEKDUdldEZyZWVGb3JtYXQSKC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlcXVlc3QaKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlc3BvbnNlIiCC0+STAhoSGC92MS9mcmVlZm9ybWF0L3tncm91cElkfTABEqIBChRHZXRUYWdzQWRkaW5nU2V0dGluZxIvLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciMILT5JMCKhIoL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfTABEpoBChdVcGRhdGVUYWdzQWRkaW5nU2V0dGluZxIyLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLToBKhooL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfRKhAQoVRXhwb3J0QmlsbGluZ0dyb3VwQ3N2EjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cENzdlJlcXVlc3QaMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2UiI4LT5JMCHRIbL3YxL2V4cG9ydGNzdi9iaWxsaW5nLWdyb3VwEqkBChdFeHBvcnRJbnZvaWNlU2V0dGluZ0NzdhIyLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXNwb25zZSIlgtPkkwIfEh0vdjEvZXhwb3J0Y3N2L2ludm9pY2Utc2V0dGluZxKnAQoiVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhI9LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYmlsbGluZ2dyb3VwL3tpZH06YmFzaWNJbmZvEqIBCh5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMSOS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwInOgEqGiIvdjEvYmlsbGluZ2dyb3VwL3tpZH06Y3VzdG9tRmllbGRzEpwBChxVcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0EjcuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoaIC92MS9iaWxsaW5nZ3JvdXAve2lkfTpmcmVlRm9ybWF0EqUBCiFVcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXMSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYmlsbGluZ2dyb3VwL3tpZH06cmVzb3VyY2VzEqsBCiFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEvYmlsbGluZ2dyb3VwL3tpZH06aW52b2ljZVNldHRpbmdzEqsBCiFVcGRhdGVCaWxsaW5nR3JvdXBSZXNlbGxlckNoYXJnZXMSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEvYmlsbGluZ2dyb3VwL3tpZH06cmVzZWxsZXJDaGFyZ2VzErEBCiNVcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlcxI+LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLDoBKhonL3YxL2JpbGxpbmdncm91cC97aWR9OmFkZGl0aW9uYWxDaGFyZ2VzEtQBCiFHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SPC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBo9LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZSIygtPkkwIsEiovdjEvYmlsbGluZ2dyb3VwL3tpZH0ve3ZlbmRvcn0vc3VwcG9ydHBsYW4StgEKJFVwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbhI/LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi86ASoaKi92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS9zdXBwb3J0cGxhbhKBAQoSQ3JlYXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHjoBKiIZL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudBKSAQoSVXBkYXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKhoqL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudC97YW5ub3VuY2VtZW50SWR9EpwBChlVcGRhdGVBbm5vdW5jZW1lbnRzU3RhdHVzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoyJi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL2J1bGsvc3RhdHVzEqABChZVcGRhdGVBbm5vdW5jZW1lbnREYXRlEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjU6ASoyMC92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3thbm5vdW5jZW1lbnRJZH0vZGF0ZRKPAQoSRGVsZXRlQW5ub3VuY2VtZW50Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUFubm91bmNlbWVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLCoqL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudC97YW5ub3VuY2VtZW50SWR9EqABChBHZXRBbm5vdW5jZW1lbnRzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFubm91bmNlbWVudHNSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFubm91bmNlbWVudCI7gtPkkwI1EjMvYmlsbGluZy92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3thbm5vdW5jZW1lbnRJZH0wARLOAQocR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50cxI3LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVxdWVzdBo4LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVzcG9uc2UiOYLT5JMCMxIxL3YxL2JpbGxpbmdncm91cC9yZXNlbGxlci9hbm5vdW5jZW1lbnRzL3tncm91cElkfTABEmYKCkdldENyZWRpdHMSJS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3JlZGl0c1JlcXVlc3QaGi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlZGl0IhOC0+STAg0SCy92MS9jcmVkaXRzMAESdgoOR2V0Q3N2U2V0dGluZ3MSKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3N2U2V0dGluZ3NSZXF1ZXN0Gh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkNzdlNldHRpbmciF4LT5JMCERIPL3YxL2NzdnNldHRpbmdzMAESpQEKF0NyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIiGC0+STAhs6ASoiFi92MS9iaWxsaW5nZ3JvdXAvY2hpbGQanQGSQZkBEkYoQkVUQSkgQmlsbGluZyBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9iaWxsaW5nGk8KElNlcnZpY2UgZGVmaW5pdGlvbhI5aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2JpbGxpbmcvQlEKGWNsb3VkLmFscGhhdXMuYXBpLmJpbGxpbmdCDEJpbGxpbmdQcm90b1omZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2JpbGxpbmdiBnByb3RvMw", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask]);
|
|
54
|
+
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKOBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLTAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkilAQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJIjUKCkF3c09wdGlvbnMSFgoOdXNlUHJvRm9ybWFDdXIYASABKAgSDwoHcGF5ZXJJZBgCIAEoCSKrAQoOQWNjb3VudE9wdGlvbnMSMQoDYXdzGAEgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMSMQoDZ2NwGAIgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMSMwoFYXp1cmUYAyABKAsyJC5ibHVlYXBpLmJpbGxpbmcudjEuUmVnaXN0ZXJBY2NvdW50cyI2ChBSZWdpc3RlckFjY291bnRzEg8KB2VuYWJsZWQYASABKAgSEQoJYWNjb3VudElkGAIgASgJIlQKDlZlbmRvckFjY291bnRzEg4KBnZlbmRvchgBIAEoCRIyCghhY2NvdW50cxgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQiYAoMQXp1cmVPcHRpb25zEhUKDXJlc291cmNlR3JvdXAYASABKAgSGwoTYXBwbHlQY0Vhcm5lZENyZWRpdBgCIAEoCBIcChRhcHBseUNhbXBhaWduUHJpY2luZxgDIAEoCCKqBwofQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhQKDGJpbGxpbmdUaXRsZRgEIAEoCRITCgtwaG9uZU51bWJlchgFIAEoCRISCgpwb3N0YWxDb2RlGAYgASgJEg8KB2FkZHJlc3MYByABKAkSEAoIcGVyc29uYWwYCCABKAkSDwoHcmVtYXJrcxgJIAEoCRIRCglwcm9qZWN0SWQYCiABKAkSEAoIbGFuZ3VhZ2UYCyABKAkSEwoLZGlzcGxheUNvc3QYDCABKAkSGAoQZXhjaGFuZ2VSYXRlVHlwZRgNIAEoCRI6Cg5hY2NvdW50T3B0aW9ucxgPIAEoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50T3B0aW9ucxJGCghpbnZvaWNlcxgOIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZRIyCgphd3NPcHRpb25zGBAgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMSDAoEY2l0eRgRIAEoCRISCgpwcmVmZWN0dXJlGBIgASgJEg8KB2NvdW50cnkYEyABKAkSGQoRaW52b2ljZVRlbXBsYXRlSWQYFCABKAkSMwoLdGFnU2V0dGluZ3MYFSADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI4Cg1ub25UYWdTZXR0aW5nGBYgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmcSOgoOdmVuZG9yQWNjb3VudHMYFyADKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuVmVuZG9yQWNjb3VudHMSWwoMY3VzdG9tRmllbGRzGBggAygLMkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QuQ3VzdG9tRmllbGRzRW50cnkSNgoMYXp1cmVPcHRpb25zGBkgASgLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkF6dXJlT3B0aW9ucxozChFDdXN0b21GaWVsZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIv8BCiBDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZRJHCgNhd3MYASABKAsyOi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISSQoFYXp1cmUYAiABKAsyOi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISRwoDZ2NwGAMgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yItcDCiZDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvchIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJImMKFkdldEJpbGxpbmdHcm91cFJlcXVlc3QSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siUQoXR2V0QmlsbGluZ0dyb3VwUmVzcG9uc2USNgoMYmlsbGluZ0dyb3VwGAEgASgLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCKWAQoLQWNjZXNzR3JvdXASFQoNYWNjZXNzR3JvdXBJZBgBIAEoCRIXCg9hY2Nlc3NHcm91cE5hbWUYAiABKAkSHgoWYWNjZXNzR3JvdXBEZXNjcmlwdGlvbhgDIAEoCRI3Cg1iaWxsaW5nR3JvdXBzGAQgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCJeChVHZXRBY2Nlc3NHcm91cFJlcXVlc3QSFQoNYWNjZXNzR3JvdXBJZBgBIAEoCRIuCgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJOChZHZXRBY2Nlc3NHcm91cFJlc3BvbnNlEjQKC2FjY2Vzc0dyb3VwGAEgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY2Vzc0dyb3VwIq8CChJBd3NEYWlseVJ1bkhpc3RvcnkSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDQoFbW9udGgYAyABKAkSQAoIYWNjb3VudHMYBCADKAsyLi5ibHVlYXBpLmJpbGxpbmcudjEuQXdzRGFpbHlSdW5IaXN0b3J5LkFjY291bnQalAEKB0FjY291bnQSEQoJYWNjb3VudElkGAEgASgJEkcKB2hpc3RvcnkYAiADKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQXdzRGFpbHlSdW5IaXN0b3J5LkFjY291bnQuSGlzdG9yeRotCgdIaXN0b3J5EhEKCXRpbWVzdGFtcBgBIAEoCRIPCgd0cmlnZ2VyGAIgASgJIj8KHUxpc3RBd3NEYWlseVJ1bkhpc3RvcnlSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEg8KB2dyb3VwSWQYAiABKAkiVgoaTGlzdFVzYWdlQ29zdHNEcmlmdFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEg0KBW1vbnRoGAMgASgJIoYBCg9Vc2FnZUNvc3RzRHJpZnQSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDwoHYWNjb3VudBgDIAEoCRIQCghzbmFwc2hvdBgEIAEoARIPCgdjdXJyZW50GAUgASgBEgwKBGRpZmYYBiABKAEiMgoRR2V0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIjkKGEV4cG9ydEludm9pY2VGaWxlUmVxdWVzdBIMCgRkYXRlGAEgASgJEg8KB2dyb3VwSWQYAiABKAkiKAoZRXhwb3J0SW52b2ljZUZpbGVSZXNwb25zZRILCgN1cmwYASABKAkiNQojUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIiQKIkxpc3RJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QiXgohR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EgoKAmlkGAEgASgJEi0KCWZpZWxkTWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siagoXSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdjcmVhdGVkGAQgASgJEg8KB3VwZGF0ZWQYBSABKAkiHAoaTGlzdEludm9pY2VUZW1wbGF0ZVJlcXVlc3QiXQooVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIfChFpbnZvaWNlVGVtcGxhdGVJZBgCIAEoCUIE4kEBAiKeAgobTGlzdEludm9pY2VUZW1wbGF0ZVJlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJEhkKEW51bWJlck9mQ29ubmVjdGVkGAYgASgFElAKFWNvbm5lY3RlZEJpbGxpbmdHcm91cBgHIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlQ29ubmVjdGVkQmlsbGluZ0dyb3VwcxJBCghpbnZvaWNlcxgIIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MiIgogR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QiSAohR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1Jlc3BvbnNlEiMKG3Nob3dSSVNQVXBmcm9udFRpbWVJbnRlcnZhbBgBIAEoCCKsAQojVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QSVQoHc2V0dGluZxgBIAMoCzJELmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVxdWVzdC5TZXR0aW5nRW50cnkaLgoMU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEibAodSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCSI8CilMaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIocBCh5BY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSCgoCaWQYASABKAkSDwoHYWNjb3VudBgCIAEoCRJIChBzZXJ2aWNlRGlzY291bnRzGAMgASgLMi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIjgKF0FjY291bnRTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCSJ9CitDcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMibQosQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMifQorVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLFVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIj4KK0RlbGV0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJ9CitSZW1vdmVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSPQoIYWNjb3VudHMYBCADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMiTwowQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJPCjBVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIKCgJpZBgCIAEoCSI/CjFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEgoKAmlkGAEgASgJIkMKMERlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIlcKFENyZWF0ZUludm9pY2VSZXF1ZXN0EgwKBGRhdGUYBCABKAkSDgoGdmVuZG9yGAEgASgJEhEKCWFsbEdyb3VwcxgCIAEoCBIOCgZncm91cHMYAyADKAkiJQoXR2V0SW52b2ljZVN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiKAoYTGlzdEludm9pY2VTdGF0dXNSZXF1ZXN0EgwKBGRhdGUYASABKAkiYAocVXBkYXRlSW52b2ljZVByZXZpZXdzUmVxdWVzdBIMCgRkYXRlGAEgASgJEhEKCWFsbEdyb3VwcxgCIAEoCBIOCgZncm91cHMYAyADKAkSDwoHZW5hYmxlZBgEIAEoCCLPAQoVQ3JlYXRlUmVzZWxsZXJSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDQoFZW1haWwYAiABKAkSEAoIcGFzc3dvcmQYAyABKAkSFAoMbm90aWZpY2F0aW9uGAQgASgIEjYKCndhdmVDb25maWcYBSADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWcSNgoKYXF1YUNvbmZpZxgGIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZyJGChRMaXN0UmVzZWxsZXJzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJQChJHZXRSZXNlbGxlclJlcXVlc3QSCgoCaWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sipgIKFVVwZGF0ZVJlc2VsbGVyUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhITCgVlbWFpbBgCIAEoCUIE4kEBARIXCghwYXNzd29yZBgDIAEoCUIF4kECBAESPAoKd2F2ZUNvbmZpZxgEIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZ0IE4kEBARI8CgphcXVhQ29uZmlnGAUgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnQgTiQQEBEhsKDG5vdGlmaWNhdGlvbhgGIAEoCEIF4kECBAESNAoKdXBkYXRlTWFzaxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiIwoVRGVsZXRlUmVzZWxsZXJSZXF1ZXN0EgoKAmlkGAEgASgJIkoKGEdldEJpbGxpbmdTZXR0aW5nUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayLHAgoZR2V0QmlsbGluZ1NldHRpbmdSZXNwb25zZRIwCgl5ZWFyTW9udGgYASADKAsyHS5ibHVlYXBpLmFwaS5yaXBwbGUuWWVhck1vbnRoEjQKDnJvdW5kaW5nTWV0aG9kGAIgASgLMhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJvdW5kaW5nEjoKFGV4cG9ydFJvdW5kaW5nTWV0aG9kGAMgASgLMhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJvdW5kaW5nEjgKDWludm9pY2VMYXlvdXQYBCABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dBIzCg5pbnZvaWNlRHVlRGF0ZRgFIAEoCzIbLmJsdWVhcGkuYXBpLnJpcHBsZS5EdWVEYXRlEhcKD3N1cHBvcnRDdXJyZW5jeRgGIAMoCSI5ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJImUKHFNldEdsb2JhbEV4Y2hhbmdlUmF0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgEIAEoASJ3ChtTZXRQYXllckV4Y2hhbmdlUmF0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRINCgVtb250aBgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCRIUCgxleGNoYW5nZVJhdGUYBSABKAEibAoiU2V0QmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg0KBW1vbnRoGAIgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgEIAEoASLiAQoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVtb250aBgBIAEoCRI2CgZjb21tb24YAiABKAsyJi5ibHVlYXBpLmFwaS5yaXBwbGUuQ29tbW9uRXhjaGFuZ2VSYXRlEkIKDGJpbGxpbmdHcm91cBgDIAMoCzIsLmJsdWVhcGkuYXBpLnJpcHBsZS5CaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGUSOgoFcGF5ZXIYBCABKAsyKy5ibHVlYXBpLmFwaS5yaXBwbGUuVmVuZG9yUGF5ZXJFeGNoYW5nZVJhdGUiSQoXTGlzdEFjY2Vzc0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siVAoYQ3JlYXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSFQoNYmlsbGluZ0dyb3VwcxgDIAMoCSJgChhVcGRhdGVBY2Nlc3NHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAQgAygJIiYKGERlbGV0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSIyChJMaXN0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAki8ggKE0xpc3RJbnZvaWNlUmVzcG9uc2USGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIaChJmaW5hbGl6YXRpb25TdGF0dXMYBSABKAkSEQoJaXNDcmVhdGVkGAYgASgIEhkKEWlzU2V0dGluZ01vZGlmaWVkGAcgASgIEhMKC2NyZWF0ZWREYXRlGAggASgJEhMKC3VwZGF0ZWREYXRlGAkgASgJEhYKDmNyZWF0ZWRWZW5kb3JzGAogAygJEhMKC2lzUHVibGlzaGVkGAsgASgIEl0KE3ZlbmRvckJpbGxpbmdBbW91bnQYDCADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5WZW5kb3JCaWxsaW5nQW1vdW50RW50cnkSGgoSYmlsbGluZ0Ftb3VudFRvdGFsGA0gASgJEhAKCGN1cnJlbmN5GA4gASgJEg0KBXVybElkGA8gASgJEm0KG2NyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZxgQIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkNyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EmkKGXNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmcYESADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5TYXZlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSbQobZGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nGBIgAygLMkguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuRGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkaOgoYVmVuZG9yQmlsbGluZ0Ftb3VudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaZwogQ3JlYXRlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5nczoCOAEaZQoeU2F2ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBGmcKIERlZmF1bHRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBIikKG0xpc3RBYmNCaWxsaW5nR3JvdXBzUmVxdWVzdBIKCgJpZBgBIAEoCSJOCiJMaXN0QWJjQmlsbGluZ0dyb3VwQWNjb3VudHNSZXF1ZXN0Eg8KB3BheWVySWQYASABKAkSFwoPYmlsbGluZ0dyb3VwQXJuGAIgASgJIo8BCg9BYmNCaWxsaW5nR3JvdXASCwoDYXJuGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMY3JlYXRpb25UaW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEHByaW1hcnlBY2NvdW50SWQYBSABKAkSDAoEc2l6ZRgGIAEoCRIOCgZzdGF0dXMYByABKAkiNAoKQWJjQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkiYgodUmVhZEludm9pY2VBZGp1c3RtZW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRINCgVtb250aBgDIAEoCRIPCgdmZWVUeXBlGAQgASgJIpkBChxSZWFkQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhITCgVtb250aBgCIAEoCUIE4kEBARpOCiJBZGp1c3RtZW50RW50cmllc1JlcXVlc3RBd3NPcHRpb25zEhMKC3NwcERpc2NvdW50GAEgASgIEhMKC2VkcERpc2NvdW50GAIgASgIIkMKGUdldEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECIp4DChtBcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECElMKB3NldHRpbmcYAiABKAsyPC5ibHVlYXBpLmJpbGxpbmcudjEuQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFwcGx5U2V0dGluZ0IE4kEBAhIVCgdlbnRyaWVzGAMgAygJQgTiQQECGvwBCgxBcHBseVNldHRpbmcSEwoFbW9udGgYASABKAlCBOJBAQESFQoHdGF4RnJlZRgCIAEoCEIE4kEBARJqCgxleGNoYW5nZVJhdGUYAyADKAsyTi5ibHVlYXBpLmJpbGxpbmcudjEuQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFwcGx5U2V0dGluZy5FeGNoYW5nZVJhdGVFbnRyeUIE4kEBARIfChFiaWxsaW5nSW50ZXJuYWxJZBgEIAEoCUIE4kEBARozChFFeGNoYW5nZVJhdGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBIkwKHVJlc3RvcmVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIVCgdlbnRyaWVzGAMgAygJQgTiQQECIl8KG1NwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQISGAoKc3RhcnRNb250aBgDIAEoCUIE4kEBAiL8AQoeQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAhJWCgZjb25maWcYAyADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0LkFjY291bnRDb25maWdCBOJBAQISIQoTYWNjb3VudEZvclJlbWFpbmluZxgEIAEoCUIE4kEBAho3Cg1BY2NvdW50Q29uZmlnEhAKAmlkGAEgASgJQgTiQQECEhQKBmFtb3VudBgCIAEoAUIE4kEBAiJMCiJSZXN0b3JlU3BsaXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiJPCiVSZXN0b3JlQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiI8ChtMaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIkoKD1Jlc291cmNlQWNjb3VudBIPCgdwYXllcklkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSEgoKcmVnaXN0ZXJlZBgDIAEoCCIsChpHZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkijQEKHUNyZWF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIqCgZjb25maWcYAiADKAsyGi5ibHVlYXBpLmFwaS5Db25maWdGaWx0ZXJzEjAKCGFjY291bnRzGAMgAygLMh4uYmx1ZWFwaS5hcGkuTWFuYWdlbWVudEFjY291bnQijQEKHVVwZGF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIqCgZjb25maWcYAiADKAsyGi5ibHVlYXBpLmFwaS5Db25maWdGaWx0ZXJzEjAKCGFjY291bnRzGAMgAygLMh4uYmx1ZWFwaS5hcGkuTWFuYWdlbWVudEFjY291bnQiLwodRGVsZXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJImcKGVJlYWRVbnRhZ2dlZEdyb3Vwc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEjQKCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQEBIlwKJFJlYWRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VzUmVxdWVzdBI0CgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJmCiJHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgoKAmlkGAEgASgJEjQKCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQEBInwKJUNyZWF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIwCgZjb25maWcYAyABKAsyIC5ibHVlYXBpLmFwaS5yaXBwbGUuTWV0aG9kQ29uZmlnIsUBCiVVcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECElQKGGN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRgCIAEoCzIsLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCBOJBAQISNAoKdXBkYXRlTWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMwolRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoCSJdCi5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIskBCi9HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXNwb25zZRIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAyABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISLAoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50QgTiQQEBIvcCCi5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEoABCgdzZXR0aW5nGAMgAygLMmkuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmdCBOJBAQIalAEKJkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nEhAKAmlkGAEgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAIgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEhYKCGFjY291bnRzGAMgAygJQgTiQQEBImAKMURlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QSFQoHZ3JvdXBJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQIikQEKJENyZWF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEkYKB3NldHRpbmcYAyABKAsyNS5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHNTZXR0aW5nIsUBCiRVcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISVQoXaW52b2ljZVNlcnZpY2VEaXNjb3VudHMYAiABKAsyLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHNCBOJBAQISNAoKdXBkYXRlTWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMgokRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EgoKAmlkGAEgASgJIm4KB1RhZ0RhdGESEgoKY3VzdG9tZXJJZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFAoMY3VzdG9tZXJOYW1lGAMgASgJEiYKBHRhZ3MYBCADKAsyGC5ibHVlYXBpLmJpbGxpbmcudjEuVGFncyIjCgRUYWdzEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkiLgoOR2V0VGFnc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgwKBHR5cGUYAiABKAkiOwoLQ3VzdG9tRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIl4KF0JpbGxpbmdHcm91cEN1c3RvbUZpZWxkEg0KBXZhbHVlGAEgASgJEjQKC2N1c3RvbUZpZWxkGAIgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIjUKIkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKFAQojTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRJNChhiaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQiPAoYQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJIChhVcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIiYKGERlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBIKCgJpZBgBIAEoCSIYChZMaXN0Q3VzdG9tRmllbGRSZXF1ZXN0ImsKF0NyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSJhCgxGcmVlRm9ybUl0ZW0SDQoFbGFiZWwYASABKAkSEAoIdW5pdENvc3QYAiABKAMSDQoFdG90YWwYBSABKAMSEAoIcXVhbnRpdHkYAyABKA0SDwoHZW5hYmxlZBgEIAEoCCI6ChdEZWxldGVGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCSI9ChRHZXRGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEhQKDGlzQXNzb2NpYXRlZBgCIAEoCCJuChVHZXRGcmVlRm9ybWF0UmVzcG9uc2USDwoHZ3JvdXBJZBgDIAEoCRIOCgZ2ZW5kb3IYASABKAkSNAoKZnJlZUZvcm1hdBgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0idwoeVXBkYXRlVGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEjQKBWl0ZW1zGAMgAygLMiUuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3NBZGRpbmdTZXR0aW5nIj4KG0dldFRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSJJChFUYWdzQWRkaW5nU2V0dGluZxIPCgdncm91cElkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSDwoHdGFnS2V5cxgDIAMoCSJNCh1FeHBvcnRTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQEibworRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESEgoKZGlyZWN0TGluaxgDIAEoCCJ0CjBFeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhIKCmRpcmVjdExpbmsYAyABKAgiNgocRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVxdWVzdBIWCghsYW5ndWFnZRgCIAEoCUIE4kEBASI1Ch1FeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXNwb25zZRIUCgxkb3dubG9hZExpbmsYASABKAkiXAoeRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXF1ZXN0EhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEiIKFGluY2x1ZGVNaXNjZWxsYW5lb3VzGAMgASgIQgTiQQEBIjcKH0V4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVzcG9uc2USFAoMZG93bmxvYWRMaW5rGAEgASgJIkAKLUdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIjwKLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiuQEKIUFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBIPCgdncm91cElkGAEgASgJElMKB2lkVG9LZXkYAiADKAsyQi5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0LklkVG9LZXlFbnRyeRouCgxJZFRvS2V5RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJOCiREZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIVCg1jdXN0b21GaWVsZElkGAIgASgJInYKH0FkZEFjY291bnRUb0JpbGxpbmdHcm91cFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMgoIYWNjb3VudHMYAyADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkIlEKDEFjY291bnRUb0FkZBISCgpjdXN0b21lcklkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBG5vdGUYBCABKAkiqwEKHEFkZFRhZ3NUb0JpbGxpbmdHcm91cFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMAoIc2V0dGluZ3MYAyADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI4Cg1ub25UYWdTZXR0aW5nGAQgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmciRwoKVGFnU2V0dGluZxISCgpjdXN0b21lcklkGAEgASgJEiUKBHRhZ3MYAiADKAsyFy5ibHVlYXBpLmJpbGxpbmcudjEuVGFnIjEKA1RhZxILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSDgoGYXNzaWduGAMgASgFIj4KDU5vblRhZ1NldHRpbmcSDwoHaW5jbHVkZRgBIAEoCBIMCgR0eXBlGAIgASgJEg4KBmFtb3VudBgDIAEoASI+Ch1TYXZlVGFnSW52b2ljZVNldHRpbmdSZXNwb25zZRIOCgZzdGF0dXMYASABKAkSDQoFZXJyb3IYAiABKAkifgomVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjgKCHNldHRpbmdzGAMgAygLMiYuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ0dyb3VwU2V0dGluZyI+ChJOb25UYWdHcm91cFNldHRpbmcSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRIOCgZhbW91bnQYAyABKAEimgEKGlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhEKCWFsbEdyb3VwcxgDIAEoCBIOCgZncm91cHMYBCADKAkSOwoOaW52b2ljZVNldHRpbmcYBSABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzIpUECg9JbnZvaWNlU2V0dGluZ3MSEQoJaW52b2ljZU5vGAIgASgJEhQKDGRpc2NvdW50UmF0ZRgEIAEoARIbChNkaXNjb3VudFRhcmdldFVzYWdlGAUgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGAYgASgJEg8KB3RheFJhdGUYByABKAESEgoKc3VwcG9ydEZlZRgIIAEoCRITCgtzdXBwb3J0UmF0ZRgJIAEoARIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgKIAEoCRISCgpzdXBwb3J0Rml4GAsgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgMIAEoCRIYChBzdWJzdGl0dXRpb25SYXRlGA0gASgBEhcKD3N1YnN0aXR1dGlvbkZpeBgOIAEoARIhChlzdWJzdGl0dXRpb25GZWVDYWxjVGFyZ2V0GA8gASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGBAgASgJEh8KF3N1YnN0aXR1dGlvbkZlZUNhbGNUeXBlGBEgASgJEhAKCGN1cnJlbmN5GAMgASgJEhQKDGV4Y2hhbmdlUmF0ZRgSIAEoARIMCgRtZW1vGBMgASgJEhAKCGNhbGNUeXBlGBQgASgJEjkKD2FkZGl0aW9uYWxJdGVtcxgVIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0irQMKEEJhc2ljSW5mb3JtYXRpb24SGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIWCglhZGRyZXNzZWUYBSABKAlIAIgBARIUCgdjb3VudHJ5GAYgASgJSAGIAQESFwoKcG9zdGFsQ29kZRgHIAEoCUgCiAEBEhEKBGNpdHkYCCABKAlIA4gBARIYCgtwaG9uZU51bWJlchgJIAEoCUgEiAEBEhkKDGFkZHJlc3NMaW5lMRgKIAEoCUgFiAEBEhkKDGFkZHJlc3NMaW5lMhgLIAEoCUgGiAEBEhIKBXN0YXRlGAwgASgJSAeIAQESFwoKcHJlZmVjdHVyZRgNIAEoCUgIiAEBQgwKCl9hZGRyZXNzZWVCCgoIX2NvdW50cnlCDQoLX3Bvc3RhbENvZGVCBwoFX2NpdHlCDgoMX3Bob25lTnVtYmVyQg8KDV9hZGRyZXNzTGluZTFCDwoNX2FkZHJlc3NMaW5lMkIICgZfc3RhdGVCDQoLX3ByZWZlY3R1cmUidwopVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvblJlcXVlc3QSCgoCaWQYASABKAkSPgoQYmFzaWNJbmZvcm1hdGlvbhgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5CYXNpY0luZm9ybWF0aW9uIrwBCiVVcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0EgoKAmlkGAEgASgJElcKB2lkVG9LZXkYAiADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdC5JZFRvS2V5RW50cnkaLgoMSWRUb0tleUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgojVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdFJlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSLqAgooVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSFwoPc2VsZWN0aW9uTWV0aG9kGAMgASgJEjIKCGFjY291bnRzGAQgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRUb0FkZBIwCghzZXR0aW5ncxgFIAMoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5UYWdTZXR0aW5nEj0KDW5vblRhZ1NldHRpbmcYBiABKAsyIS5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnU2V0dGluZ0gAiAEBEj8KDmFjY291bnRPcHRpb25zGAcgASgLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRPcHRpb25zSAGIAQFCEAoOX25vblRhZ1NldHRpbmdCEQoPX2FjY291bnRPcHRpb25zIrgBCihVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0EgoKAmlkGAEgASgJEhkKDGJpbGxpbmdUaXRsZRgCIAEoCUgAiAEBEhwKD2NhbGN1bGF0aW9uVHlwZRgDIAEoCUgBiAEBEhUKCGxhbmd1YWdlGAQgASgJSAKIAQFCDwoNX2JpbGxpbmdUaXRsZUISChBfY2FsY3VsYXRpb25UeXBlQgsKCV9sYW5ndWFnZSKvAQooVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIcCg9pbnZvaWNlVGVtcGxhdGUYAiABKAlIAIgBARJFCgdpbnZvaWNlGAMgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlQhIKEF9pbnZvaWNlVGVtcGxhdGUivwQKKlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRJ4CgNhd3MYAiADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECEnoKBWF6dXJlGAMgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ4CgNnY3AYBCADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASInChlEZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIlIKKEdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIqABCilHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSDwoHZW5hYmxlZBgDIAEoCBJGCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLwAQorVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFQoHZW5hYmxlZBgDIAEoCEIE4kEBARJMCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbkIE4kEBARI0Cgp1cGRhdGVNYXNrGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIxChdHZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSKnAQoZQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBINCgVsYWJlbBgBIAEoCRIMCgR0eXBlGAIgASgJEhAKCGNvbnRlbnRzGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkSGAoQYWxsQmlsbGluZ0dyb3VwcxgFIAEoCBINCgVzdGFydBgGIAEoAxILCgNlbmQYByABKAMSDgoGc3RhdHVzGAggASgJIngKGVVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkSQwoMYW5ub3VuY2VtZW50GAIgASgLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QiSgogVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASADKAkSDgoGc3RhdHVzGAIgASgJIkUKHVVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEgwKBGRhdGUYAiABKAMiMwoZRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSLpAQoMQW5ub3VuY2VtZW50EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEgwKBHR5cGUYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAUgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYDSABKAgSDQoFc3RhcnQYBiABKAkSCwoDZW5kGAcgASgJEgwKBGRhdGUYCCABKAkSDgoGc3RhdHVzGAkgASgJEhIKCnVzZXJTdGF0dXMYCiABKAkSDwoHY3JlYXRlZBgLIAEoCRIPCgd1cGRhdGVkGAwgASgJIjYKI0dldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkilgEKJEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZRIPCgdncm91cElkGAEgASgJEhEKCWdyb3VwTmFtZRgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSNwoNYW5ub3VuY2VtZW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiEwoRR2V0Q3JlZGl0c1JlcXVlc3QixAEKBkNyZWRpdBIKCgJpZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRIUCgxjcmVkaXRBbW91bnQYBCABKAESDAoEdGVybRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgdjcmVhdGVkGAcgASgJEhIKCmluaXRpYWxGZWUYCCABKAESFQoNY3JlZGl0QmFsYW5jZRgJIAEoARIPCgdhcHBsaWVkGAogASgIIhcKFUdldENzdlNldHRpbmdzUmVxdWVzdCKkAQoKQ3N2U2V0dGluZxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjIKA2NvbBgDIAMoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nLkNvbHVtbhpICgZDb2x1bW4SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuYBCiBVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSXAoMZXhjaGFuZ2VSYXRlGAMgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0LkV4Y2hhbmdlUmF0ZUVudHJ5EhAKCGdyb3VwSWRzGAQgAygJGjMKEUV4Y2hhbmdlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiWwoaQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIVCg1iaWxsaW5nZ3JvdXBzGAIgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYAyABKAgiRAobQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlEhAKCHByb2dyZXNzGAEgASgJEhMKC2Rvd25sb2FkVXJsGAIgASgJIogCCiFMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIQCghwYWdlU2l6ZRgJIAEoBRISCgpwYWdlTnVtYmVyGAogASgFIpcCChRCaWxsaW5nR3JvdXBMaXN0SXRlbRIYChBiaWxsaW5nR3JvdXBOYW1lGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhgKEGJpbGxpbmdHcm91cFR5cGUYBCABKAkSTAoHdmVuZG9ycxgFIAMoCzI7LmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBMaXN0SXRlbS5CaWxsaW5nR3JvdXBWZW5kb3ISGQoRYmlsbGluZ0ludGVybmFsSWQYBiABKAkaNQoSQmlsbGluZ0dyb3VwVmVuZG9yEg4KBnZlbmRvchgBIAEoCRIPCgdlbmFibGVkGAIgASgIIrQBCiJMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlEj8KDWJpbGxpbmdHcm91cHMYASADKAsyKC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0SEgoKdG90YWxDb3VudBgCIAEoBRITCgtjdXJyZW50UGFnZRgDIAEoBRIQCghwYWdlU2l6ZRgEIAEoBRISCgp0b3RhbFBhZ2VzGAUgASgFIo4BCiFDaGlsZEJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SCgoCaWQYASABKAkSEgoKaW50ZXJuYWxJZBgGIAEoCRIQCghwYXJlbnRJZBgCIAEoCRIUCgxyb290UGFyZW50SWQYBSABKAkSDAoEbmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCSK+AQokQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEi7gEKEUNoaWxkQmlsbGluZ0dyb3VwEk8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxI5CgtiaWxsaW5nSW5mbxgDIAEoCzIkLmJsdWVhcGkuYXBpLnJpcHBsZS5CaWxsaW5nR3JvdXBJbmZvIuUBCiBDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJDCgNhd3MYASABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIhChlhY2NvdW50U3VwcG9ydFBsYW5FbmFibGVkGAIgASgIElkKGmFjY291bnRTdXBwb3J0UGxhblNldHRpbmdzGAMgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLAAQoeQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0Ek8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncyIhCh9DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjEKG0dldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIlYKHEdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2USNgoHZGV0YWlscxgBIAEoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCJBCh1MaXN0Q2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBIOCgZyb290SWQYASABKAkSEAoIcGFyZW50SWQYAiABKAkiwAEKHlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEk8KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8iIQofVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSI0Ch5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSIhCh9EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIpIBCi1VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MiMAouVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXNwb25zZSJfCh1CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBI+CgdyZXF1ZXN0GAEgAygLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QimgEKHkJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBSZXNwb25zZRI3Cg1iaWxsaW5nR3JvdXBzGAEgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cBI/CgZlcnJvcnMYAiADKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cEVycm9yIlUKG0J1bGtDcmVhdGVCaWxsaW5nR3JvdXBFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIrkBChNFeGNsdWRlU2VydmljZUVudHJ5Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCRIOCgZhY3Rpb24YByABKAkSDgoGc3RhdHVzGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkijwEKIENyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCSJbCiFDcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2USNgoFZW50cnkYASABKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSKPAQogVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJIlsKIVVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5InYKIERlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJIlsKIURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5IjwKGkxpc3RFeGNsdWRlU2VydmljZXNSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiVwobTGlzdEV4Y2x1ZGVTZXJ2aWNlc1Jlc3BvbnNlEjgKB2VudHJpZXMYASADKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeTLaowEKB0JpbGxpbmcSgAEKEUxpc3RCaWxsaW5nR3JvdXBzEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiGYLT5JMCExIRL3YxL2JpbGxpbmdncm91cHMwARKwAQoaTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWQSNS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXF1ZXN0GjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBzUGFnaW5hdGVkUmVzcG9uc2UiI4LT5JMCHRIbL3YxL2JpbGxpbmdncm91cHM6cGFnaW5hdGVkEoMBChJDcmVhdGVCaWxsaW5nR3JvdXASLS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiHILT5JMCFjoBKiIRL3YxL2JpbGxpbmdncm91cHMSlgEKGENyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZBIzLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWRSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIjgtPkkwIdOgEqIhgvdjEvYmlsbGluZ2dyb3Vwcy9tZXJnZWQSeQoRRGVsZXRlQmlsbGluR3JvdXASLS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXKhUvdjEvYmlsbGluZ2dyb3VwL3tpZH0SjAEKGEFkZEFjY291bnRUb0JpbGxpbmdHcm91cBIzLmJsdWVhcGkuYmlsbGluZy52MS5BZGRBY2NvdW50VG9CaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiOC0+STAh06ASoiGC92MS9iaWxsaW5nZ3JvdXAvYWNjb3VudBKZAQoPR2V0QmlsbGluZ0dyb3VwEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cFJlcXVlc3QaKy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwUmVzcG9uc2UiLYLT5JMCJxIlL3YxL2JpbGxpbmdncm91cHMve2JpbGxpbmdJbnRlcm5hbElkfRKRAQoOR2V0QWNjZXNzR3JvdXASKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWNjZXNzR3JvdXBSZXF1ZXN0GiouYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFjY2Vzc0dyb3VwUmVzcG9uc2UiKILT5JMCIhIgL3YxL2FjY2Vzc2dyb3Vwcy97YWNjZXNzR3JvdXBJZH0SngEKFkxpc3RBd3NEYWlseVJ1bkhpc3RvcnkSMS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEF3c0RhaWx5UnVuSGlzdG9yeVJlcXVlc3QaJi5ibHVlYXBpLmJpbGxpbmcudjEuQXdzRGFpbHlSdW5IaXN0b3J5IieC0+STAiE6ASoiHC92MS9hd3MvZGFpbHlydW5oaXN0b3J5OnJlYWQwARKaAQoTTGlzdFVzYWdlQ29zdHNEcmlmdBIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0VXNhZ2VDb3N0c0RyaWZ0UmVxdWVzdBojLmJsdWVhcGkuYmlsbGluZy52MS5Vc2FnZUNvc3RzRHJpZnQiLILT5JMCJjoBKiIhL3YxL3t2ZW5kb3J9L3VzYWdlY29zdHNkcmlmdDpyZWFkMAESfAoNQ3JlYXRlSW52b2ljZRIoLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVJbnZvaWNlUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIiSC0+STAh46ASoiGS92MS9pbnZvaWNlL3tkYXRlfTpjcmVhdGUSmwEKGUNyZWF0ZUludm9pY2VXaXRoU2V0dGluZ3MSLi5ibHVlYXBpLmJpbGxpbmcudjEuU2F2ZUludm9pY2VTZXR0aW5nc1JlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIxgtPkkwIrOgEqIiYvdjEvaW52b2ljZS97ZGF0ZX06Y3JlYXRlJnNhdmVzZXR0aW5ncxKJAQoTU2F2ZUludm9pY2VTZXR0aW5ncxIuLmJsdWVhcGkuYmlsbGluZy52MS5TYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqIh8vdjEvaW52b2ljZS97ZGF0ZX06c2F2ZXNldHRpbmdzEqIBChNDb252ZXJ0SW52b2ljZVRvUGRmEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkNvbnZlcnRJbnZvaWNlVG9QZGZSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkNvbnZlcnRJbnZvaWNlVG9QZGZSZXNwb25zZSIqgtPkkwIkOgEqIh8vdjEvaW52b2ljZS97ZGF0ZX06Y29udmVydHRvcGRmEn0KEEdldEludm9pY2VTdGF0dXMSKy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVN0YXR1c1JlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIfgtPkkwIZEhcvdjEvaW52b2ljZS9zdGF0dXMve2lkfRKLAQoRTGlzdEludm9pY2VTdGF0dXMSLC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VTdGF0dXNSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiKYLT5JMCIzoBKiIeL3YxL2ludm9pY2Uvc3RhdHVzL3tkYXRlfTpyZWFkMAESbQoKR2V0SW52b2ljZRIlLmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlUmVxdWVzdBoULmJsdWVhcGkuYXBpLkludm9pY2UiIoLT5JMCHDoBKiIXL3YxL2ludm9pY2Uve2RhdGV9OnJlYWQSfQoLTGlzdEludm9pY2USJi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXF1ZXN0GicuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UiG4LT5JMCFToBKiIQL3YxL2ludm9pY2U6cmVhZDABEogBChVVcGRhdGVJbnZvaWNlUHJldmlld3MSMC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZVByZXZpZXdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfOgEqGhovdjEvaW52b2ljZS97ZGF0ZX06cHJldmlldxKWAQoRRXhwb3J0SW52b2ljZUZpbGUSLC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZUZpbGVSZXF1ZXN0Gi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VGaWxlUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL2ludm9pY2Uve2RhdGV9OmV4cG9ydBKWAQoTTGlzdEludm9pY2VUZW1wbGF0ZRIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVRlbXBsYXRlUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2UiHILT5JMCFhIUL3YxL2ludm9pY2UvdGVtcGxhdGUwARKtAQoZR2V0SW52b2ljZURpc3BsYXlTZXR0aW5ncxI0LmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVzcG9uc2UiI4LT5JMCHRIbL3YxL2ludm9pY2UvZGlzcGxheXNldHRpbmdzEpcBChxVcGRhdGVJbnZvaWNlRGlzcGxheVNldHRpbmdzEjcuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiA6ASoiGy92MS9pbnZvaWNlL2Rpc3BsYXlzZXR0aW5ncxKWAQoZVXBkYXRlSW52b2ljZUV4Y2hhbmdlUmF0ZRI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlOgEqGiAvdjEvaW52b2ljZS9leGNoYW5nZXJhdGUve21vbnRofRKsAQohVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKzoBKiImL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNldGVtcGxhdGUSsQEKHFJlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXMSNy5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlc1JlcXVlc3QaHi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuU2VydmljZSI2gtPkkwIwOgEqIisvdjEvc2VydmljZWRpc2NvdW50cy97dmVuZG9yfS9zZXJ2aWNlczpyZWFkMAESqgEKHUNyZWF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzEjguYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBouLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyIfgtPkkwIZOgEqIhQvdjEvc2VydmljZWRpc2NvdW50cxKvAQodVXBkYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiSC0+STAh46ASoaGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SlAEKHURlbGV0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzEjguYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIhgtPkkwIbKhkvdjEvc2VydmljZWRpc2NvdW50cy97aWR9EqoBChtMaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyIkgtPkkwIeOgEqIhkvdjEvc2VydmljZWRpc2NvdW50czpyZWFkMAESpgEKGkdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzEjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBouLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyIhgtPkkwIbEhkvdjEvc2VydmljZWRpc2NvdW50cy97aWR9EqIBChZFeHBvcnRTZXJ2aWNlRGlzY291bnRzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydFNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi0uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlNlcnZpY2VEaXNjb3VudHNFeHBvcnQiJoLT5JMCIDoBKiIbL3YxL3NlcnZpY2VkaXNjb3VudHM6ZXhwb3J0EvABCilDcmVhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJELmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaRS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSI2gtPkkwIwOgEqIisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEvABCilVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJELmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaRS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSI2gtPkkwIwOgEqGisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEr4BCilEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJELmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLSorL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBLRAQoiTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI9LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMiNoLT5JMCMDoBKiIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQ6cmVhZDABEtwBCiRDcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpALmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIxgtPkkwIrOgEqIiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBLcAQokVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaQC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiMYLT5JMCKzoBKhomL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQSuQEKJFJlbW92ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5SZW1vdmVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjiC0+STAjI6ASoaLS92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50OnJlbW92ZRKvAQokRGVsZXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQSzQEKJEV4cG9ydEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjQuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzRXhwb3J0Ii6C0+STAig6ASoiIy92MS9zZXJ2aWNlZGlzY291bnRzL2FjY291bnQ6ZXhwb3J0EtoBCilFeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJELmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuR3JvdXBTZXJ2aWNlRGlzY291bnRzRXhwb3J0IjOC0+STAi06ASoiKC92MS9zZXJ2aWNlZGlzY291bnRzL2JpbGxpbmdncm91cDpleHBvcnQS5AEKJkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkEuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpCLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjOC0+STAi0SKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAScwoOQ3JlYXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlUmVzZWxsZXJSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIhiC0+STAhI6ASoiDS92MS9yZXNlbGxlcnMScAoNTGlzdFJlc2VsbGVycxIoLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0UmVzZWxsZXJzUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIVgtPkkwIPEg0vdjEvcmVzZWxsZXJzMAESbwoLR2V0UmVzZWxsZXISJi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0UmVzZWxsZXJSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIhqC0+STAhQSEi92MS9yZXNlbGxlcnMve2lkfRJ4Cg5VcGRhdGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiHYLT5JMCFzoBKhoSL3YxL3Jlc2VsbGVycy97aWR9Em8KDkRlbGV0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZVJlc2VsbGVyUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUKhIvdjEvcmVzZWxsZXJzL3tpZH0ShgEKEUdldEJpbGxpbmdTZXR0aW5nEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdTZXR0aW5nUmVxdWVzdBotLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nU2V0dGluZ1Jlc3BvbnNlIhSC0+STAg4SDC92MS9zZXR0aW5ncxKbAQoRTGlzdEV4Y2hhbmdlUmF0ZXMSLC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXF1ZXN0Gi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL3t2ZW5kb3J9L2V4Y2hhbmdlcmF0ZS97bW9udGh9EpYBChVTZXRHbG9iYWxFeGNoYW5nZVJhdGUSMC5ibHVlYXBpLmJpbGxpbmcudjEuU2V0R2xvYmFsRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItOgEqIigvdjEvZXhjaGFuZ2VyYXRlL2dsb2JhbC97dmVuZG9yfS97bW9udGh9EooBChRTZXRQYXllckV4Y2hhbmdlUmF0ZRIvLmJsdWVhcGkuYmlsbGluZy52MS5TZXRQYXllckV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIzoBKiIeL3YxL2V4Y2hhbmdlcmF0ZS9wYXllci97bW9udGh9Ep8BChtTZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGUSNi5ibHVlYXBpLmJpbGxpbmcudjEuU2V0QmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqIiUvdjEvZXhjaGFuZ2VyYXRlL2JpbGxpbmdncm91cC97bW9udGh9EnwKEExpc3RBY2Nlc3NHcm91cHMSKy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY2Vzc0dyb3Vwc1JlcXVlc3QaHy5ibHVlYXBpLmFwaS5yaXBwbGUuQWNjZXNzR3JvdXAiGILT5JMCEhIQL3YxL2FjY2Vzc2dyb3VwczABEn8KEUNyZWF0ZUFjY2Vzc0dyb3VwEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIbgtPkkwIVOgEqIhAvdjEvYWNjZXNzZ3JvdXBzEoQBChFVcGRhdGVBY2Nlc3NHcm91cBIsLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2Nlc3NHcm91cFJlcXVlc3QaHy5ibHVlYXBpLmFwaS5yaXBwbGUuQWNjZXNzR3JvdXAiIILT5JMCGjoBKhoVL3YxL2FjY2Vzc2dyb3Vwcy97aWR9EngKEURlbGV0ZUFjY2Vzc0dyb3VwEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUFjY2Vzc0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXKhUvdjEvYWNjZXNzZ3JvdXBzL3tpZH0SnwEKFExpc3RBYmNCaWxsaW5nR3JvdXBzEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBYmNCaWxsaW5nR3JvdXBzUmVxdWVzdBojLmJsdWVhcGkuYmlsbGluZy52MS5BYmNCaWxsaW5nR3JvdXAiL4LT5JMCKRInL3YxL2JpbGxpbmdncm91cHMvYmlsbGluZ2NvbmR1Y3Rvci97aWR9MAEStgEKG0xpc3RBYmNCaWxsaW5nR3JvdXBBY2NvdW50cxI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWJjQmlsbGluZ0dyb3VwQWNjb3VudHNSZXF1ZXN0Gh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkFiY0FjY291bnQiPYLT5JMCNxI1L3YxL2JpbGxpbmdncm91cHMvYmlsbGluZ2NvbmR1Y3Rvci97cGF5ZXJJZH0vYWNjb3VudHMwARKcAQoWUmVhZEludm9pY2VBZGp1c3RtZW50cxIxLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkSW52b2ljZUFkanVzdG1lbnRzUmVxdWVzdBocLmJsdWVhcGkuYXBpLndhdmUuQWRqdXN0bWVudCIvgtPkkwIpOgEqIiQvdjEve3ZlbmRvcn0vaW52b2ljZWFkanVzdG1lbnRzOnJlYWQwARKjAQoVUmVhZEFkanVzdG1lbnRFbnRyaWVzEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRBZGp1c3RtZW50RW50cmllc1JlcXVlc3QaJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWRqdXN0bWVudEVudHJ5Ii6C0+STAig6ASoiIy92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllczpyZWFkMAESmAEKEkdldEFkanVzdG1lbnRFbnRyeRItLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0GiYuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkFkanVzdG1lbnRFbnRyeSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfRKQAQoUQXBwbHlBZGp1c3RtZW50RW50cnkSLy5ibHVlYXBpLmJpbGxpbmcudjEuQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii+C0+STAik6ASoiJC92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllczphcHBseRKWAQoWUmVzdG9yZUFkanVzdG1lbnRFbnRyeRIxLmJsdWVhcGkuYmlsbGluZy52MS5SZXN0b3JlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqIiYvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXM6cmVzdG9yZRKVAQoUU3BsaXRBZGp1c3RtZW50RW50cnkSLy5ibHVlYXBpLmJpbGxpbmcudjEuU3BsaXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjSC0+STAi46ASoiKS92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9L3NwbGl0Ep4BChdBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeRIyLmJsdWVhcGkuYmlsbGluZy52MS5BbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiN4LT5JMCMToBKiIsL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vYWxsb2NhdGUSqwEKG1Jlc3RvcmVTcGxpdEFkanVzdG1lbnRFbnRyeRI2LmJsdWVhcGkuYmlsbGluZy52MS5SZXN0b3JlU3BsaXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjyC0+STAjY6ASoiMS92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9L3NwbGl0OnJlc3RvcmUStAEKHlJlc3RvcmVBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeRI5LmJsdWVhcGkuYmlsbGluZy52MS5SZXN0b3JlQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ij+C0+STAjk6ASoiNC92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9L2FsbG9jYXRlOnJlc3RvcmUSlwEKFExpc3RBY2NvdW50UmVzb3VyY2VzEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2NvdW50UmVzb3VyY2VzUmVxdWVzdBojLmJsdWVhcGkuYmlsbGluZy52MS5SZXNvdXJjZUFjY291bnQiJ4LT5JMCIRIfL3YxL3Jlc291cmNlcy9hY2NvdW50cy97dmVuZG9yfTABEosBChNHZXRBZGp1c3RtZW50Q29uZmlnEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIlgtPkkwIfEh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKUAQoWQ3JlYXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciKILT5JMCIjoBKiIdL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlAEKFlVwZGF0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiiC0+STAiI6ASoaHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EooBChZEZWxldGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiWC0+STAh8qHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpUBChJSZWFkVW50YWdnZWRHcm91cHMSLS5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZFVudGFnZ2VkR3JvdXBzUmVxdWVzdBohLmJsdWVhcGkuYXBpLnJpcHBsZS5VbnRhZ2dlZEdyb3VwIiuC0+STAiU6ASoiIC92MS97dmVuZG9yfS91bnRhZ2dlZGdyb3VwczpyZWFkMAESuAEKHVJlYWRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VzEjguYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VzUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiLYLT5JMCJzoBKiIiL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXM6cmVhZDABEq8BChtHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USNi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiKoLT5JMCJBIiL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMve2lkfRKzAQoeQ3JlYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIiiC0+STAiI6ASoiHS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzErgBCh5VcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiLYLT5JMCJzoBKhoiL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMve2lkfRKfAQoeRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJCoiL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMve2lkfRL7AQonR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QaQy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVzcG9uc2UiRYLT5JMCPxI9L3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMvYmlsbGluZ2dyb3VwL3tncm91cElkfS97dmVuZG9yfTABEs8BCidTZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXASQi5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJIgtPkkwJCOgEqIj0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy9iaWxsaW5nZ3JvdXAve2dyb3VwSWR9L3t2ZW5kb3J9EtIBCipEZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXASRS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJFgtPkkwI/Kj0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy9iaWxsaW5nZ3JvdXAve2dyb3VwSWR9L3t2ZW5kb3J9El4KB0dldFRhZ3MSIi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0VGFnc1JlcXVlc3QaGy5ibHVlYXBpLmJpbGxpbmcudjEuVGFnRGF0YSIQgtPkkwIKEggvdjEvdGFnczABEn4KEUNyZWF0ZUN1c3RvbUZpZWxkEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUN1c3RvbUZpZWxkUmVxdWVzdBofLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GaWVsZCIagtPkkwIUOgEqIg8vdjEvY3VzdG9tZmllbGQSgQEKD0xpc3RDdXN0b21GaWVsZBIqLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0Q3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIh+C0+STAhk6ASoiFC92MS9jdXN0b21maWVsZDpyZWFkMAESlAEKGkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkEjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhOgEqIhwvdjEvYmlsbGluZ2dyb3VwL2N1c3RvbWZpZWxkEr4BChtMaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBo3LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXNwb25zZSIsgtPkkwImOgEqIiEvdjEvYmlsbGluZ2dyb3VwL2N1c3RvbWZpZWxkOnJlYWQwARKDAQoVQWRkVGFnc1RvQmlsbGluZ0dyb3VwEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZFRhZ3NUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGjoBKiIVL3YxL2JpbGxpbmdncm91cC90YWdzEq8BCh9VcGRhdGVOb25UYWdHcm91cFRvQmlsbGluZ0dyb3VwEjouYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjiC0+STAjI6ASoiLS92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS91bnRhZ2dlZGdyb3VwcxKxAQodRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSOC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ij6C0+STAjgqNi92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQve2dyb3VwSWR9L3tjdXN0b21GaWVsZElkfRKDAQoRVXBkYXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIh+C0+STAhk6ASoaFC92MS9jdXN0b21maWVsZC97aWR9EncKEURlbGV0ZUN1c3RvbUZpZWxkEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIcgtPkkwIWKhQvdjEvY3VzdG9tZmllbGQve2lkfRJyChBDcmVhdGVGcmVlRm9ybWF0EisuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhmC0+STAhM6ASoiDi92MS9mcmVlZm9ybWF0EnkKEERlbGV0ZUZyZWVGb3JtYXQSKy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGioYL3YxL2ZyZWVmb3JtYXQve2dyb3VwSWR9EogBCg1HZXRGcmVlRm9ybWF0EiguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEZyZWVGb3JtYXRSZXF1ZXN0GikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEZyZWVGb3JtYXRSZXNwb25zZSIggtPkkwIaEhgvdjEvZnJlZWZvcm1hdC97Z3JvdXBJZH0wARKiAQoUR2V0VGFnc0FkZGluZ1NldHRpbmcSLy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0VGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0GiUuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3NBZGRpbmdTZXR0aW5nIjCC0+STAioSKC92MS97dmVuZG9yfS90YWdzYWRkaW5nc2V0dGluZy97Z3JvdXBJZH0wARKaAQoXVXBkYXRlVGFnc0FkZGluZ1NldHRpbmcSMi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlVGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi06ASoaKC92MS97dmVuZG9yfS90YWdzYWRkaW5nc2V0dGluZy97Z3JvdXBJZH0SoQEKFUV4cG9ydEJpbGxpbmdHcm91cENzdhIwLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0GjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cENzdlJlc3BvbnNlIiOC0+STAh0SGy92MS9leHBvcnRjc3YvYmlsbGluZy1ncm91cBKpAQoXRXhwb3J0SW52b2ljZVNldHRpbmdDc3YSMi5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2V4cG9ydGNzdi9pbnZvaWNlLXNldHRpbmcSpwEKIlVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SPS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKhofL3YxL2JpbGxpbmdncm91cC97aWR9OmJhc2ljSW5mbxKiAQoeVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLYLT5JMCJzoBKhoiL3YxL2JpbGxpbmdncm91cC97aWR9OmN1c3RvbUZpZWxkcxKcAQocVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdBI3LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlOgEqGiAvdjEvYmlsbGluZ2dyb3VwL3tpZH06ZnJlZUZvcm1hdBKlAQohVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKhofL3YxL2JpbGxpbmdncm91cC97aWR9OnJlc291cmNlcxKrAQohVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL2JpbGxpbmdncm91cC97aWR9Omludm9pY2VTZXR0aW5ncxKrAQohVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL2JpbGxpbmdncm91cC97aWR9OnJlc2VsbGVyQ2hhcmdlcxKxAQojVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXMSPi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiw6ASoaJy92MS9iaWxsaW5nZ3JvdXAve2lkfTphZGRpdGlvbmFsQ2hhcmdlcxLUAQohR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QaPS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3N1cHBvcnRwbGFuErYBCiRVcGRhdGVCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SPy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvOgEqGiovdjEvYmlsbGluZ2dyb3VwL3tpZH0ve3ZlbmRvcn0vc3VwcG9ydHBsYW4SgQEKEkNyZWF0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh46ASoiGS92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQSkgEKElVwZGF0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi86ASoaKi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQve2Fubm91bmNlbWVudElkfRKcAQoZVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1cxI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnRzU3RhdHVzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqMiYvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy9idWxrL3N0YXR1cxKgAQoWVXBkYXRlQW5ub3VuY2VtZW50RGF0ZRIxLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnREYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1OgEqMjAvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97YW5ub3VuY2VtZW50SWR9L2RhdGUSjwEKEkRlbGV0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiwqKi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQve2Fubm91bmNlbWVudElkfRKgAQoQR2V0QW5ub3VuY2VtZW50cxIrLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiO4LT5JMCNRIzL2JpbGxpbmcvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97YW5ub3VuY2VtZW50SWR9MAESzgEKHEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHMSNy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50c1JlcXVlc3QaOC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50c1Jlc3BvbnNlIjmC0+STAjMSMS92MS9iaWxsaW5nZ3JvdXAvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97Z3JvdXBJZH0wARJmCgpHZXRDcmVkaXRzEiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENyZWRpdHNSZXF1ZXN0GhouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWRpdCITgtPkkwINEgsvdjEvY3JlZGl0czABEnYKDkdldENzdlNldHRpbmdzEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENzdlNldHRpbmdzUmVxdWVzdBoeLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nIheC0+STAhESDy92MS9jc3ZzZXR0aW5nczABEqYBChdDcmVhdGVDaGlsZEJpbGxpbmdHcm91cBIyLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIigtPkkwIcOgEqIhcvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZBKnAQoUR2V0Q2hpbGRCaWxsaW5nR3JvdXASLy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiLILT5JMCJhIkL3YxL2JpbGxpbmdncm91cHMvY2hpbGQve2ludGVybmFsSWR9Ep0BChZMaXN0Q2hpbGRCaWxsaW5nR3JvdXBzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RDaGlsZEJpbGxpbmdHcm91cHNSZXF1ZXN0GiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwIieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkOnJlYWQwARKzAQoXVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKToBKhokL3YxL2JpbGxpbmdncm91cHMvY2hpbGQve2ludGVybmFsSWR9ErABChdEZWxldGVDaGlsZEJpbGxpbmdHcm91cBIyLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIsgtPkkwImKiQvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZC97aW50ZXJuYWxJZH0S8AEKJlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEkEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBpCLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1Jlc3BvbnNlIj+C0+STAjk6ASoaNC92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkL3tpbnRlcm5hbElkfS9pbnZvaWNlU2V0dGluZ3MSqgEKFkJ1bGtDcmVhdGVCaWxsaW5nR3JvdXASMS5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaMi5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cFJlc3BvbnNlIieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXBzOmJ1bGtDcmVhdGUwARK/AQoZQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeRI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEr8BChlVcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5EjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZSI1gtPkkwIvOgEqGiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSvAEKGURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnkSNC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlIjKC0+STAiwqKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxKqAQoTTGlzdEV4Y2x1ZGVTZXJ2aWNlcxIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzGp0BkkGZARJGKEJFVEEpIEJpbGxpbmcgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvYmlsbGluZxpPChJTZXJ2aWNlIGRlZmluaXRpb24SOWh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL3RyZWUvbWFpbi9iaWxsaW5nL0JRChljbG91ZC5hbHBoYXVzLmFwaS5iaWxsaW5nQgxCaWxsaW5nUHJvdG9aJmdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9iaWxsaW5nYgZwcm90bzM", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask]);
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* @generated from message blueapi.billing.v1.BillingGroup
|
|
@@ -6634,6 +6634,13 @@ export type ChildBillingGroupBasicInformation = Message<"blueapi.billing.v1.Chil
|
|
|
6634
6634
|
*/
|
|
6635
6635
|
id: string;
|
|
6636
6636
|
|
|
6637
|
+
/**
|
|
6638
|
+
* Child billing group internal Id. Required for get and list, optional for create and update.
|
|
6639
|
+
*
|
|
6640
|
+
* @generated from field: string internalId = 6;
|
|
6641
|
+
*/
|
|
6642
|
+
internalId: string;
|
|
6643
|
+
|
|
6637
6644
|
/**
|
|
6638
6645
|
* Required. Parent internal Id.
|
|
6639
6646
|
*
|
|
@@ -6711,35 +6718,27 @@ export const CustomizedBillingServiceBillingGroupSchema: GenMessage<CustomizedBi
|
|
|
6711
6718
|
messageDesc(file_billing_v1_billing, 178);
|
|
6712
6719
|
|
|
6713
6720
|
/**
|
|
6721
|
+
* Contains basic information and invoice settings related data.
|
|
6722
|
+
*
|
|
6714
6723
|
* @generated from message blueapi.billing.v1.ChildBillingGroup
|
|
6715
6724
|
*/
|
|
6716
6725
|
export type ChildBillingGroup = Message<"blueapi.billing.v1.ChildBillingGroup"> & {
|
|
6717
6726
|
/**
|
|
6718
|
-
*
|
|
6719
|
-
*
|
|
6720
|
-
* @generated from field: string childBillingGroupInternalId = 1;
|
|
6721
|
-
*/
|
|
6722
|
-
childBillingGroupInternalId: string;
|
|
6723
|
-
|
|
6724
|
-
/**
|
|
6725
|
-
* @generated from field: blueapi.billing.v1.ChildBillingGroupBasicInformation basicInformation = 2;
|
|
6727
|
+
* @generated from field: blueapi.billing.v1.ChildBillingGroupBasicInformation basicInformation = 1;
|
|
6726
6728
|
*/
|
|
6727
6729
|
basicInformation?: ChildBillingGroupBasicInformation;
|
|
6728
6730
|
|
|
6729
6731
|
/**
|
|
6730
|
-
* @generated from field: blueapi.billing.v1.
|
|
6731
|
-
*/
|
|
6732
|
-
invoiceSettings?: BillingGroupInvoiceSettings;
|
|
6733
|
-
|
|
6734
|
-
/**
|
|
6735
|
-
* @generated from field: blueapi.billing.v1.AccountInvoiceServiceDiscounts serviceDiscounts = 4;
|
|
6732
|
+
* @generated from field: blueapi.billing.v1.ChildBillingGroupInvoiceSettings invoiceSettings = 2;
|
|
6736
6733
|
*/
|
|
6737
|
-
|
|
6734
|
+
invoiceSettings?: ChildBillingGroupInvoiceSettings;
|
|
6738
6735
|
|
|
6739
6736
|
/**
|
|
6740
|
-
*
|
|
6737
|
+
* AccountInvoiceServiceDiscounts serviceDiscounts = 3;
|
|
6738
|
+
*
|
|
6739
|
+
* @generated from field: blueapi.api.ripple.BillingGroupInfo billingInfo = 3;
|
|
6741
6740
|
*/
|
|
6742
|
-
|
|
6741
|
+
billingInfo?: BillingGroupInfo;
|
|
6743
6742
|
};
|
|
6744
6743
|
|
|
6745
6744
|
/**
|
|
@@ -6819,6 +6818,597 @@ export type CreateChildBillingGroupResponse = Message<"blueapi.billing.v1.Create
|
|
|
6819
6818
|
export const CreateChildBillingGroupResponseSchema: GenMessage<CreateChildBillingGroupResponse> = /*@__PURE__*/
|
|
6820
6819
|
messageDesc(file_billing_v1_billing, 182);
|
|
6821
6820
|
|
|
6821
|
+
/**
|
|
6822
|
+
* @generated from message blueapi.billing.v1.GetChildBillingGroupRequest
|
|
6823
|
+
*/
|
|
6824
|
+
export type GetChildBillingGroupRequest = Message<"blueapi.billing.v1.GetChildBillingGroupRequest"> & {
|
|
6825
|
+
/**
|
|
6826
|
+
* Required. Internal Id
|
|
6827
|
+
*
|
|
6828
|
+
* @generated from field: string internalId = 1;
|
|
6829
|
+
*/
|
|
6830
|
+
internalId: string;
|
|
6831
|
+
};
|
|
6832
|
+
|
|
6833
|
+
/**
|
|
6834
|
+
* Describes the message blueapi.billing.v1.GetChildBillingGroupRequest.
|
|
6835
|
+
* Use `create(GetChildBillingGroupRequestSchema)` to create a new message.
|
|
6836
|
+
*/
|
|
6837
|
+
export const GetChildBillingGroupRequestSchema: GenMessage<GetChildBillingGroupRequest> = /*@__PURE__*/
|
|
6838
|
+
messageDesc(file_billing_v1_billing, 183);
|
|
6839
|
+
|
|
6840
|
+
/**
|
|
6841
|
+
* @generated from message blueapi.billing.v1.GetChildBillingGroupResponse
|
|
6842
|
+
*/
|
|
6843
|
+
export type GetChildBillingGroupResponse = Message<"blueapi.billing.v1.GetChildBillingGroupResponse"> & {
|
|
6844
|
+
/**
|
|
6845
|
+
* @generated from field: blueapi.billing.v1.ChildBillingGroup details = 1;
|
|
6846
|
+
*/
|
|
6847
|
+
details?: ChildBillingGroup;
|
|
6848
|
+
};
|
|
6849
|
+
|
|
6850
|
+
/**
|
|
6851
|
+
* Describes the message blueapi.billing.v1.GetChildBillingGroupResponse.
|
|
6852
|
+
* Use `create(GetChildBillingGroupResponseSchema)` to create a new message.
|
|
6853
|
+
*/
|
|
6854
|
+
export const GetChildBillingGroupResponseSchema: GenMessage<GetChildBillingGroupResponse> = /*@__PURE__*/
|
|
6855
|
+
messageDesc(file_billing_v1_billing, 184);
|
|
6856
|
+
|
|
6857
|
+
/**
|
|
6858
|
+
* @generated from message blueapi.billing.v1.ListChildBillingGroupsRequest
|
|
6859
|
+
*/
|
|
6860
|
+
export type ListChildBillingGroupsRequest = Message<"blueapi.billing.v1.ListChildBillingGroupsRequest"> & {
|
|
6861
|
+
/**
|
|
6862
|
+
* Root parent Id. If not empty return all child billing group under the root parent.
|
|
6863
|
+
* If both root and parent are empty returns all child billing groups under the MSP.
|
|
6864
|
+
*
|
|
6865
|
+
* @generated from field: string rootId = 1;
|
|
6866
|
+
*/
|
|
6867
|
+
rootId: string;
|
|
6868
|
+
|
|
6869
|
+
/**
|
|
6870
|
+
* Parent Id. If not empty return all child billing group under the parent only,
|
|
6871
|
+
* If both root and parent are empty returns all child billing groups under the MSP.
|
|
6872
|
+
*
|
|
6873
|
+
* @generated from field: string parentId = 2;
|
|
6874
|
+
*/
|
|
6875
|
+
parentId: string;
|
|
6876
|
+
};
|
|
6877
|
+
|
|
6878
|
+
/**
|
|
6879
|
+
* Describes the message blueapi.billing.v1.ListChildBillingGroupsRequest.
|
|
6880
|
+
* Use `create(ListChildBillingGroupsRequestSchema)` to create a new message.
|
|
6881
|
+
*/
|
|
6882
|
+
export const ListChildBillingGroupsRequestSchema: GenMessage<ListChildBillingGroupsRequest> = /*@__PURE__*/
|
|
6883
|
+
messageDesc(file_billing_v1_billing, 185);
|
|
6884
|
+
|
|
6885
|
+
/**
|
|
6886
|
+
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupRequest
|
|
6887
|
+
*/
|
|
6888
|
+
export type UpdateChildBillingGroupRequest = Message<"blueapi.billing.v1.UpdateChildBillingGroupRequest"> & {
|
|
6889
|
+
/**
|
|
6890
|
+
* Required. Internal Id
|
|
6891
|
+
*
|
|
6892
|
+
* @generated from field: string internalId = 1;
|
|
6893
|
+
*/
|
|
6894
|
+
internalId: string;
|
|
6895
|
+
|
|
6896
|
+
/**
|
|
6897
|
+
* Required. Basic information for the child billing group.
|
|
6898
|
+
*
|
|
6899
|
+
* @generated from field: blueapi.billing.v1.ChildBillingGroupBasicInformation basicInformation = 2;
|
|
6900
|
+
*/
|
|
6901
|
+
basicInformation?: ChildBillingGroupBasicInformation;
|
|
6902
|
+
|
|
6903
|
+
/**
|
|
6904
|
+
* Required. Billing info for the child billing group.
|
|
6905
|
+
*
|
|
6906
|
+
* @generated from field: blueapi.api.ripple.BillingGroupInfo billingInfo = 3;
|
|
6907
|
+
*/
|
|
6908
|
+
billingInfo?: BillingGroupInfo;
|
|
6909
|
+
};
|
|
6910
|
+
|
|
6911
|
+
/**
|
|
6912
|
+
* Describes the message blueapi.billing.v1.UpdateChildBillingGroupRequest.
|
|
6913
|
+
* Use `create(UpdateChildBillingGroupRequestSchema)` to create a new message.
|
|
6914
|
+
*/
|
|
6915
|
+
export const UpdateChildBillingGroupRequestSchema: GenMessage<UpdateChildBillingGroupRequest> = /*@__PURE__*/
|
|
6916
|
+
messageDesc(file_billing_v1_billing, 186);
|
|
6917
|
+
|
|
6918
|
+
/**
|
|
6919
|
+
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupResponse
|
|
6920
|
+
*/
|
|
6921
|
+
export type UpdateChildBillingGroupResponse = Message<"blueapi.billing.v1.UpdateChildBillingGroupResponse"> & {
|
|
6922
|
+
};
|
|
6923
|
+
|
|
6924
|
+
/**
|
|
6925
|
+
* Describes the message blueapi.billing.v1.UpdateChildBillingGroupResponse.
|
|
6926
|
+
* Use `create(UpdateChildBillingGroupResponseSchema)` to create a new message.
|
|
6927
|
+
*/
|
|
6928
|
+
export const UpdateChildBillingGroupResponseSchema: GenMessage<UpdateChildBillingGroupResponse> = /*@__PURE__*/
|
|
6929
|
+
messageDesc(file_billing_v1_billing, 187);
|
|
6930
|
+
|
|
6931
|
+
/**
|
|
6932
|
+
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupRequest
|
|
6933
|
+
*/
|
|
6934
|
+
export type DeleteChildBillingGroupRequest = Message<"blueapi.billing.v1.DeleteChildBillingGroupRequest"> & {
|
|
6935
|
+
/**
|
|
6936
|
+
* Required. Child billing group's internal Id
|
|
6937
|
+
*
|
|
6938
|
+
* @generated from field: string internalId = 1;
|
|
6939
|
+
*/
|
|
6940
|
+
internalId: string;
|
|
6941
|
+
};
|
|
6942
|
+
|
|
6943
|
+
/**
|
|
6944
|
+
* Describes the message blueapi.billing.v1.DeleteChildBillingGroupRequest.
|
|
6945
|
+
* Use `create(DeleteChildBillingGroupRequestSchema)` to create a new message.
|
|
6946
|
+
*/
|
|
6947
|
+
export const DeleteChildBillingGroupRequestSchema: GenMessage<DeleteChildBillingGroupRequest> = /*@__PURE__*/
|
|
6948
|
+
messageDesc(file_billing_v1_billing, 188);
|
|
6949
|
+
|
|
6950
|
+
/**
|
|
6951
|
+
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupResponse
|
|
6952
|
+
*/
|
|
6953
|
+
export type DeleteChildBillingGroupResponse = Message<"blueapi.billing.v1.DeleteChildBillingGroupResponse"> & {
|
|
6954
|
+
};
|
|
6955
|
+
|
|
6956
|
+
/**
|
|
6957
|
+
* Describes the message blueapi.billing.v1.DeleteChildBillingGroupResponse.
|
|
6958
|
+
* Use `create(DeleteChildBillingGroupResponseSchema)` to create a new message.
|
|
6959
|
+
*/
|
|
6960
|
+
export const DeleteChildBillingGroupResponseSchema: GenMessage<DeleteChildBillingGroupResponse> = /*@__PURE__*/
|
|
6961
|
+
messageDesc(file_billing_v1_billing, 189);
|
|
6962
|
+
|
|
6963
|
+
/**
|
|
6964
|
+
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsRequest
|
|
6965
|
+
*/
|
|
6966
|
+
export type UpdateChildBillingGroupInvoiceSettingsRequest = Message<"blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsRequest"> & {
|
|
6967
|
+
/**
|
|
6968
|
+
* Required. Internal Id
|
|
6969
|
+
*
|
|
6970
|
+
* @generated from field: string internalId = 1;
|
|
6971
|
+
*/
|
|
6972
|
+
internalId: string;
|
|
6973
|
+
|
|
6974
|
+
/**
|
|
6975
|
+
* Required. Invoice settings for the child billing group.
|
|
6976
|
+
*
|
|
6977
|
+
* @generated from field: blueapi.billing.v1.ChildBillingGroupInvoiceSettings invoiceSettings = 2;
|
|
6978
|
+
*/
|
|
6979
|
+
invoiceSettings?: ChildBillingGroupInvoiceSettings;
|
|
6980
|
+
};
|
|
6981
|
+
|
|
6982
|
+
/**
|
|
6983
|
+
* Describes the message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsRequest.
|
|
6984
|
+
* Use `create(UpdateChildBillingGroupInvoiceSettingsRequestSchema)` to create a new message.
|
|
6985
|
+
*/
|
|
6986
|
+
export const UpdateChildBillingGroupInvoiceSettingsRequestSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsRequest> = /*@__PURE__*/
|
|
6987
|
+
messageDesc(file_billing_v1_billing, 190);
|
|
6988
|
+
|
|
6989
|
+
/**
|
|
6990
|
+
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsResponse
|
|
6991
|
+
*/
|
|
6992
|
+
export type UpdateChildBillingGroupInvoiceSettingsResponse = Message<"blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsResponse"> & {
|
|
6993
|
+
};
|
|
6994
|
+
|
|
6995
|
+
/**
|
|
6996
|
+
* Describes the message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsResponse.
|
|
6997
|
+
* Use `create(UpdateChildBillingGroupInvoiceSettingsResponseSchema)` to create a new message.
|
|
6998
|
+
*/
|
|
6999
|
+
export const UpdateChildBillingGroupInvoiceSettingsResponseSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsResponse> = /*@__PURE__*/
|
|
7000
|
+
messageDesc(file_billing_v1_billing, 191);
|
|
7001
|
+
|
|
7002
|
+
/**
|
|
7003
|
+
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupRequest
|
|
7004
|
+
*/
|
|
7005
|
+
export type BulkCreateBillingGroupRequest = Message<"blueapi.billing.v1.BulkCreateBillingGroupRequest"> & {
|
|
7006
|
+
/**
|
|
7007
|
+
* Required. The list of billing group to create.
|
|
7008
|
+
*
|
|
7009
|
+
* @generated from field: repeated blueapi.billing.v1.CreateBillingGroupRequest request = 1;
|
|
7010
|
+
*/
|
|
7011
|
+
request: CreateBillingGroupRequest[];
|
|
7012
|
+
};
|
|
7013
|
+
|
|
7014
|
+
/**
|
|
7015
|
+
* Describes the message blueapi.billing.v1.BulkCreateBillingGroupRequest.
|
|
7016
|
+
* Use `create(BulkCreateBillingGroupRequestSchema)` to create a new message.
|
|
7017
|
+
*/
|
|
7018
|
+
export const BulkCreateBillingGroupRequestSchema: GenMessage<BulkCreateBillingGroupRequest> = /*@__PURE__*/
|
|
7019
|
+
messageDesc(file_billing_v1_billing, 192);
|
|
7020
|
+
|
|
7021
|
+
/**
|
|
7022
|
+
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupResponse
|
|
7023
|
+
*/
|
|
7024
|
+
export type BulkCreateBillingGroupResponse = Message<"blueapi.billing.v1.BulkCreateBillingGroupResponse"> & {
|
|
7025
|
+
/**
|
|
7026
|
+
* List of billing groups created in bulk.
|
|
7027
|
+
*
|
|
7028
|
+
* @generated from field: repeated blueapi.billing.v1.BillingGroup billingGroups = 1;
|
|
7029
|
+
*/
|
|
7030
|
+
billingGroups: BillingGroup[];
|
|
7031
|
+
|
|
7032
|
+
/**
|
|
7033
|
+
* If an error occurs for a specific billing group, it will be included here.
|
|
7034
|
+
*
|
|
7035
|
+
* @generated from field: repeated blueapi.billing.v1.BulkCreateBillingGroupError errors = 2;
|
|
7036
|
+
*/
|
|
7037
|
+
errors: BulkCreateBillingGroupError[];
|
|
7038
|
+
};
|
|
7039
|
+
|
|
7040
|
+
/**
|
|
7041
|
+
* Describes the message blueapi.billing.v1.BulkCreateBillingGroupResponse.
|
|
7042
|
+
* Use `create(BulkCreateBillingGroupResponseSchema)` to create a new message.
|
|
7043
|
+
*/
|
|
7044
|
+
export const BulkCreateBillingGroupResponseSchema: GenMessage<BulkCreateBillingGroupResponse> = /*@__PURE__*/
|
|
7045
|
+
messageDesc(file_billing_v1_billing, 193);
|
|
7046
|
+
|
|
7047
|
+
/**
|
|
7048
|
+
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupError
|
|
7049
|
+
*/
|
|
7050
|
+
export type BulkCreateBillingGroupError = Message<"blueapi.billing.v1.BulkCreateBillingGroupError"> & {
|
|
7051
|
+
/**
|
|
7052
|
+
* The index of the request failed (zero-based).
|
|
7053
|
+
*
|
|
7054
|
+
* @generated from field: int32 index = 1;
|
|
7055
|
+
*/
|
|
7056
|
+
index: number;
|
|
7057
|
+
|
|
7058
|
+
/**
|
|
7059
|
+
* The billing group ID that failed to create.
|
|
7060
|
+
*
|
|
7061
|
+
* @generated from field: string billingGroupId = 2;
|
|
7062
|
+
*/
|
|
7063
|
+
billingGroupId: string;
|
|
7064
|
+
|
|
7065
|
+
/**
|
|
7066
|
+
* Error message.
|
|
7067
|
+
*
|
|
7068
|
+
* @generated from field: string message = 3;
|
|
7069
|
+
*/
|
|
7070
|
+
message: string;
|
|
7071
|
+
};
|
|
7072
|
+
|
|
7073
|
+
/**
|
|
7074
|
+
* Describes the message blueapi.billing.v1.BulkCreateBillingGroupError.
|
|
7075
|
+
* Use `create(BulkCreateBillingGroupErrorSchema)` to create a new message.
|
|
7076
|
+
*/
|
|
7077
|
+
export const BulkCreateBillingGroupErrorSchema: GenMessage<BulkCreateBillingGroupError> = /*@__PURE__*/
|
|
7078
|
+
messageDesc(file_billing_v1_billing, 194);
|
|
7079
|
+
|
|
7080
|
+
/**
|
|
7081
|
+
* @generated from message blueapi.billing.v1.ExcludeServiceEntry
|
|
7082
|
+
*/
|
|
7083
|
+
export type ExcludeServiceEntry = Message<"blueapi.billing.v1.ExcludeServiceEntry"> & {
|
|
7084
|
+
/**
|
|
7085
|
+
* MSP (Managed Service Provider) ID.
|
|
7086
|
+
*
|
|
7087
|
+
* @generated from field: string msp_id = 1;
|
|
7088
|
+
*/
|
|
7089
|
+
mspId: string;
|
|
7090
|
+
|
|
7091
|
+
/**
|
|
7092
|
+
* Cloud vendor (e.g., "aws", "gcp").
|
|
7093
|
+
*
|
|
7094
|
+
* @generated from field: string vendor = 2;
|
|
7095
|
+
*/
|
|
7096
|
+
vendor: string;
|
|
7097
|
+
|
|
7098
|
+
/**
|
|
7099
|
+
* Payer/account ID.
|
|
7100
|
+
*
|
|
7101
|
+
* @generated from field: string payer_id = 3;
|
|
7102
|
+
*/
|
|
7103
|
+
payerId: string;
|
|
7104
|
+
|
|
7105
|
+
/**
|
|
7106
|
+
* Cloud service name.
|
|
7107
|
+
*
|
|
7108
|
+
* @generated from field: string service = 4;
|
|
7109
|
+
*/
|
|
7110
|
+
service: string;
|
|
7111
|
+
|
|
7112
|
+
/**
|
|
7113
|
+
* Product or SKU code.
|
|
7114
|
+
*
|
|
7115
|
+
* @generated from field: string product = 5;
|
|
7116
|
+
*/
|
|
7117
|
+
product: string;
|
|
7118
|
+
|
|
7119
|
+
/**
|
|
7120
|
+
* List of payer IDs excepted from exclusion.
|
|
7121
|
+
*
|
|
7122
|
+
* @generated from field: repeated string except_payer_id = 6;
|
|
7123
|
+
*/
|
|
7124
|
+
exceptPayerId: string[];
|
|
7125
|
+
|
|
7126
|
+
/**
|
|
7127
|
+
* Action performed (e.g., "added", "updated", "deleted").
|
|
7128
|
+
*
|
|
7129
|
+
* @generated from field: string action = 7;
|
|
7130
|
+
*/
|
|
7131
|
+
action: string;
|
|
7132
|
+
|
|
7133
|
+
/**
|
|
7134
|
+
* Operation status (e.g., "success", "error").
|
|
7135
|
+
*
|
|
7136
|
+
* @generated from field: string status = 8;
|
|
7137
|
+
*/
|
|
7138
|
+
status: string;
|
|
7139
|
+
|
|
7140
|
+
/**
|
|
7141
|
+
* Optional error message if operation failed.
|
|
7142
|
+
*
|
|
7143
|
+
* @generated from field: string error_message = 9;
|
|
7144
|
+
*/
|
|
7145
|
+
errorMessage: string;
|
|
7146
|
+
};
|
|
7147
|
+
|
|
7148
|
+
/**
|
|
7149
|
+
* Describes the message blueapi.billing.v1.ExcludeServiceEntry.
|
|
7150
|
+
* Use `create(ExcludeServiceEntrySchema)` to create a new message.
|
|
7151
|
+
*/
|
|
7152
|
+
export const ExcludeServiceEntrySchema: GenMessage<ExcludeServiceEntry> = /*@__PURE__*/
|
|
7153
|
+
messageDesc(file_billing_v1_billing, 195);
|
|
7154
|
+
|
|
7155
|
+
/**
|
|
7156
|
+
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryRequest
|
|
7157
|
+
*/
|
|
7158
|
+
export type CreateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.CreateExcludeServiceEntryRequest"> & {
|
|
7159
|
+
/**
|
|
7160
|
+
* MSP (Managed Service Provider) ID. Partition key for the exclude service entry.
|
|
7161
|
+
*
|
|
7162
|
+
* @generated from field: string msp_id = 1;
|
|
7163
|
+
*/
|
|
7164
|
+
mspId: string;
|
|
7165
|
+
|
|
7166
|
+
/**
|
|
7167
|
+
* Cloud vendor (e.g., "aws", "gcp").
|
|
7168
|
+
*
|
|
7169
|
+
* @generated from field: string vendor = 2;
|
|
7170
|
+
*/
|
|
7171
|
+
vendor: string;
|
|
7172
|
+
|
|
7173
|
+
/**
|
|
7174
|
+
* Payer/account ID to exclude. Use "all" or "*" to apply to all accounts.
|
|
7175
|
+
*
|
|
7176
|
+
* @generated from field: string payer_id = 3;
|
|
7177
|
+
*/
|
|
7178
|
+
payerId: string;
|
|
7179
|
+
|
|
7180
|
+
/**
|
|
7181
|
+
* Cloud service name (e.g., "EC2", "BigQuery").
|
|
7182
|
+
*
|
|
7183
|
+
* @generated from field: string service = 4;
|
|
7184
|
+
*/
|
|
7185
|
+
service: string;
|
|
7186
|
+
|
|
7187
|
+
/**
|
|
7188
|
+
* Product or SKU code (used for GCP or detailed exclusions).
|
|
7189
|
+
*
|
|
7190
|
+
* @generated from field: string product = 5;
|
|
7191
|
+
*/
|
|
7192
|
+
product: string;
|
|
7193
|
+
|
|
7194
|
+
/**
|
|
7195
|
+
* List of payer IDs to be excepted from exclusion (used when payer_id is "all").
|
|
7196
|
+
*
|
|
7197
|
+
* @generated from field: repeated string except_payer_id = 6;
|
|
7198
|
+
*/
|
|
7199
|
+
exceptPayerId: string[];
|
|
7200
|
+
};
|
|
7201
|
+
|
|
7202
|
+
/**
|
|
7203
|
+
* Describes the message blueapi.billing.v1.CreateExcludeServiceEntryRequest.
|
|
7204
|
+
* Use `create(CreateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
7205
|
+
*/
|
|
7206
|
+
export const CreateExcludeServiceEntryRequestSchema: GenMessage<CreateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
7207
|
+
messageDesc(file_billing_v1_billing, 196);
|
|
7208
|
+
|
|
7209
|
+
/**
|
|
7210
|
+
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryResponse
|
|
7211
|
+
*/
|
|
7212
|
+
export type CreateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.CreateExcludeServiceEntryResponse"> & {
|
|
7213
|
+
/**
|
|
7214
|
+
* The created exclude service entry.
|
|
7215
|
+
*
|
|
7216
|
+
* @generated from field: blueapi.billing.v1.ExcludeServiceEntry entry = 1;
|
|
7217
|
+
*/
|
|
7218
|
+
entry?: ExcludeServiceEntry;
|
|
7219
|
+
};
|
|
7220
|
+
|
|
7221
|
+
/**
|
|
7222
|
+
* Describes the message blueapi.billing.v1.CreateExcludeServiceEntryResponse.
|
|
7223
|
+
* Use `create(CreateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
7224
|
+
*/
|
|
7225
|
+
export const CreateExcludeServiceEntryResponseSchema: GenMessage<CreateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
7226
|
+
messageDesc(file_billing_v1_billing, 197);
|
|
7227
|
+
|
|
7228
|
+
/**
|
|
7229
|
+
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryRequest
|
|
7230
|
+
*/
|
|
7231
|
+
export type UpdateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.UpdateExcludeServiceEntryRequest"> & {
|
|
7232
|
+
/**
|
|
7233
|
+
* MSP (Managed Service Provider) ID. Partition key for the exclude service entry.
|
|
7234
|
+
*
|
|
7235
|
+
* @generated from field: string msp_id = 1;
|
|
7236
|
+
*/
|
|
7237
|
+
mspId: string;
|
|
7238
|
+
|
|
7239
|
+
/**
|
|
7240
|
+
* Cloud vendor (e.g., "aws", "gcp").
|
|
7241
|
+
*
|
|
7242
|
+
* @generated from field: string vendor = 2;
|
|
7243
|
+
*/
|
|
7244
|
+
vendor: string;
|
|
7245
|
+
|
|
7246
|
+
/**
|
|
7247
|
+
* Payer/account ID to update. Use "all" or "*" to apply to all accounts.
|
|
7248
|
+
*
|
|
7249
|
+
* @generated from field: string payer_id = 3;
|
|
7250
|
+
*/
|
|
7251
|
+
payerId: string;
|
|
7252
|
+
|
|
7253
|
+
/**
|
|
7254
|
+
* Cloud service name (e.g., "EC2", "BigQuery").
|
|
7255
|
+
*
|
|
7256
|
+
* @generated from field: string service = 4;
|
|
7257
|
+
*/
|
|
7258
|
+
service: string;
|
|
7259
|
+
|
|
7260
|
+
/**
|
|
7261
|
+
* Product or SKU code (used for GCP or detailed exclusions).
|
|
7262
|
+
*
|
|
7263
|
+
* @generated from field: string product = 5;
|
|
7264
|
+
*/
|
|
7265
|
+
product: string;
|
|
7266
|
+
|
|
7267
|
+
/**
|
|
7268
|
+
* List of payer IDs to be excepted from exclusion (used when payer_id is "all").
|
|
7269
|
+
*
|
|
7270
|
+
* @generated from field: repeated string except_payer_id = 6;
|
|
7271
|
+
*/
|
|
7272
|
+
exceptPayerId: string[];
|
|
7273
|
+
};
|
|
7274
|
+
|
|
7275
|
+
/**
|
|
7276
|
+
* Describes the message blueapi.billing.v1.UpdateExcludeServiceEntryRequest.
|
|
7277
|
+
* Use `create(UpdateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
7278
|
+
*/
|
|
7279
|
+
export const UpdateExcludeServiceEntryRequestSchema: GenMessage<UpdateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
7280
|
+
messageDesc(file_billing_v1_billing, 198);
|
|
7281
|
+
|
|
7282
|
+
/**
|
|
7283
|
+
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryResponse
|
|
7284
|
+
*/
|
|
7285
|
+
export type UpdateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.UpdateExcludeServiceEntryResponse"> & {
|
|
7286
|
+
/**
|
|
7287
|
+
* The updated exclude service entry.
|
|
7288
|
+
*
|
|
7289
|
+
* @generated from field: blueapi.billing.v1.ExcludeServiceEntry entry = 1;
|
|
7290
|
+
*/
|
|
7291
|
+
entry?: ExcludeServiceEntry;
|
|
7292
|
+
};
|
|
7293
|
+
|
|
7294
|
+
/**
|
|
7295
|
+
* Describes the message blueapi.billing.v1.UpdateExcludeServiceEntryResponse.
|
|
7296
|
+
* Use `create(UpdateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
7297
|
+
*/
|
|
7298
|
+
export const UpdateExcludeServiceEntryResponseSchema: GenMessage<UpdateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
7299
|
+
messageDesc(file_billing_v1_billing, 199);
|
|
7300
|
+
|
|
7301
|
+
/**
|
|
7302
|
+
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryRequest
|
|
7303
|
+
*/
|
|
7304
|
+
export type DeleteExcludeServiceEntryRequest = Message<"blueapi.billing.v1.DeleteExcludeServiceEntryRequest"> & {
|
|
7305
|
+
/**
|
|
7306
|
+
* MSP (Managed Service Provider) ID. Partition key for the exclude service entry.
|
|
7307
|
+
*
|
|
7308
|
+
* @generated from field: string msp_id = 1;
|
|
7309
|
+
*/
|
|
7310
|
+
mspId: string;
|
|
7311
|
+
|
|
7312
|
+
/**
|
|
7313
|
+
* Cloud vendor (e.g., "aws", "gcp").
|
|
7314
|
+
*
|
|
7315
|
+
* @generated from field: string vendor = 2;
|
|
7316
|
+
*/
|
|
7317
|
+
vendor: string;
|
|
7318
|
+
|
|
7319
|
+
/**
|
|
7320
|
+
* Payer/account ID to delete. Use "all" or "*" to apply to all accounts.
|
|
7321
|
+
*
|
|
7322
|
+
* @generated from field: string payer_id = 3;
|
|
7323
|
+
*/
|
|
7324
|
+
payerId: string;
|
|
7325
|
+
|
|
7326
|
+
/**
|
|
7327
|
+
* Cloud service name (e.g., "EC2", "BigQuery").
|
|
7328
|
+
*
|
|
7329
|
+
* @generated from field: string service = 4;
|
|
7330
|
+
*/
|
|
7331
|
+
service: string;
|
|
7332
|
+
|
|
7333
|
+
/**
|
|
7334
|
+
* Product or SKU code (used for GCP or detailed exclusions).
|
|
7335
|
+
*
|
|
7336
|
+
* @generated from field: string product = 5;
|
|
7337
|
+
*/
|
|
7338
|
+
product: string;
|
|
7339
|
+
};
|
|
7340
|
+
|
|
7341
|
+
/**
|
|
7342
|
+
* Describes the message blueapi.billing.v1.DeleteExcludeServiceEntryRequest.
|
|
7343
|
+
* Use `create(DeleteExcludeServiceEntryRequestSchema)` to create a new message.
|
|
7344
|
+
*/
|
|
7345
|
+
export const DeleteExcludeServiceEntryRequestSchema: GenMessage<DeleteExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
7346
|
+
messageDesc(file_billing_v1_billing, 200);
|
|
7347
|
+
|
|
7348
|
+
/**
|
|
7349
|
+
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryResponse
|
|
7350
|
+
*/
|
|
7351
|
+
export type DeleteExcludeServiceEntryResponse = Message<"blueapi.billing.v1.DeleteExcludeServiceEntryResponse"> & {
|
|
7352
|
+
/**
|
|
7353
|
+
* The deleted exclude service entry (or just status).
|
|
7354
|
+
*
|
|
7355
|
+
* @generated from field: blueapi.billing.v1.ExcludeServiceEntry entry = 1;
|
|
7356
|
+
*/
|
|
7357
|
+
entry?: ExcludeServiceEntry;
|
|
7358
|
+
};
|
|
7359
|
+
|
|
7360
|
+
/**
|
|
7361
|
+
* Describes the message blueapi.billing.v1.DeleteExcludeServiceEntryResponse.
|
|
7362
|
+
* Use `create(DeleteExcludeServiceEntryResponseSchema)` to create a new message.
|
|
7363
|
+
*/
|
|
7364
|
+
export const DeleteExcludeServiceEntryResponseSchema: GenMessage<DeleteExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
7365
|
+
messageDesc(file_billing_v1_billing, 201);
|
|
7366
|
+
|
|
7367
|
+
/**
|
|
7368
|
+
* @generated from message blueapi.billing.v1.ListExcludeServicesRequest
|
|
7369
|
+
*/
|
|
7370
|
+
export type ListExcludeServicesRequest = Message<"blueapi.billing.v1.ListExcludeServicesRequest"> & {
|
|
7371
|
+
/**
|
|
7372
|
+
* MSP (Managed Service Provider) ID. Partition key for the exclude service entries.
|
|
7373
|
+
*
|
|
7374
|
+
* @generated from field: string msp_id = 1;
|
|
7375
|
+
*/
|
|
7376
|
+
mspId: string;
|
|
7377
|
+
|
|
7378
|
+
/**
|
|
7379
|
+
* Cloud vendor (e.g., "aws", "gcp"). If empty, returns all vendors for the MSP.
|
|
7380
|
+
*
|
|
7381
|
+
* @generated from field: string vendor = 2;
|
|
7382
|
+
*/
|
|
7383
|
+
vendor: string;
|
|
7384
|
+
};
|
|
7385
|
+
|
|
7386
|
+
/**
|
|
7387
|
+
* Describes the message blueapi.billing.v1.ListExcludeServicesRequest.
|
|
7388
|
+
* Use `create(ListExcludeServicesRequestSchema)` to create a new message.
|
|
7389
|
+
*/
|
|
7390
|
+
export const ListExcludeServicesRequestSchema: GenMessage<ListExcludeServicesRequest> = /*@__PURE__*/
|
|
7391
|
+
messageDesc(file_billing_v1_billing, 202);
|
|
7392
|
+
|
|
7393
|
+
/**
|
|
7394
|
+
* @generated from message blueapi.billing.v1.ListExcludeServicesResponse
|
|
7395
|
+
*/
|
|
7396
|
+
export type ListExcludeServicesResponse = Message<"blueapi.billing.v1.ListExcludeServicesResponse"> & {
|
|
7397
|
+
/**
|
|
7398
|
+
* List of all exclude service entries for the request.
|
|
7399
|
+
*
|
|
7400
|
+
* @generated from field: repeated blueapi.billing.v1.ExcludeServiceEntry entries = 1;
|
|
7401
|
+
*/
|
|
7402
|
+
entries: ExcludeServiceEntry[];
|
|
7403
|
+
};
|
|
7404
|
+
|
|
7405
|
+
/**
|
|
7406
|
+
* Describes the message blueapi.billing.v1.ListExcludeServicesResponse.
|
|
7407
|
+
* Use `create(ListExcludeServicesResponseSchema)` to create a new message.
|
|
7408
|
+
*/
|
|
7409
|
+
export const ListExcludeServicesResponseSchema: GenMessage<ListExcludeServicesResponse> = /*@__PURE__*/
|
|
7410
|
+
messageDesc(file_billing_v1_billing, 203);
|
|
7411
|
+
|
|
6822
7412
|
/**
|
|
6823
7413
|
* Billing service definition.
|
|
6824
7414
|
*
|
|
@@ -8012,6 +8602,106 @@ export const Billing: GenService<{
|
|
|
8012
8602
|
input: typeof CreateChildBillingGroupRequestSchema;
|
|
8013
8603
|
output: typeof CreateChildBillingGroupResponseSchema;
|
|
8014
8604
|
},
|
|
8605
|
+
/**
|
|
8606
|
+
* Gets child billing group info
|
|
8607
|
+
*
|
|
8608
|
+
* @generated from rpc blueapi.billing.v1.Billing.GetChildBillingGroup
|
|
8609
|
+
*/
|
|
8610
|
+
getChildBillingGroup: {
|
|
8611
|
+
methodKind: "unary";
|
|
8612
|
+
input: typeof GetChildBillingGroupRequestSchema;
|
|
8613
|
+
output: typeof GetChildBillingGroupResponseSchema;
|
|
8614
|
+
},
|
|
8615
|
+
/**
|
|
8616
|
+
* Lists child billing groups under a specific filter
|
|
8617
|
+
*
|
|
8618
|
+
* @generated from rpc blueapi.billing.v1.Billing.ListChildBillingGroups
|
|
8619
|
+
*/
|
|
8620
|
+
listChildBillingGroups: {
|
|
8621
|
+
methodKind: "server_streaming";
|
|
8622
|
+
input: typeof ListChildBillingGroupsRequestSchema;
|
|
8623
|
+
output: typeof ChildBillingGroupSchema;
|
|
8624
|
+
},
|
|
8625
|
+
/**
|
|
8626
|
+
* Updates child billing group's basic info
|
|
8627
|
+
*
|
|
8628
|
+
* @generated from rpc blueapi.billing.v1.Billing.UpdateChildBillingGroup
|
|
8629
|
+
*/
|
|
8630
|
+
updateChildBillingGroup: {
|
|
8631
|
+
methodKind: "unary";
|
|
8632
|
+
input: typeof UpdateChildBillingGroupRequestSchema;
|
|
8633
|
+
output: typeof UpdateChildBillingGroupResponseSchema;
|
|
8634
|
+
},
|
|
8635
|
+
/**
|
|
8636
|
+
* Deletes all child billing group info
|
|
8637
|
+
*
|
|
8638
|
+
* @generated from rpc blueapi.billing.v1.Billing.DeleteChildBillingGroup
|
|
8639
|
+
*/
|
|
8640
|
+
deleteChildBillingGroup: {
|
|
8641
|
+
methodKind: "unary";
|
|
8642
|
+
input: typeof DeleteChildBillingGroupRequestSchema;
|
|
8643
|
+
output: typeof DeleteChildBillingGroupResponseSchema;
|
|
8644
|
+
},
|
|
8645
|
+
/**
|
|
8646
|
+
* Updates child billing group's invoice settings
|
|
8647
|
+
*
|
|
8648
|
+
* @generated from rpc blueapi.billing.v1.Billing.UpdateChildBillingGroupInvoiceSettings
|
|
8649
|
+
*/
|
|
8650
|
+
updateChildBillingGroupInvoiceSettings: {
|
|
8651
|
+
methodKind: "unary";
|
|
8652
|
+
input: typeof UpdateChildBillingGroupInvoiceSettingsRequestSchema;
|
|
8653
|
+
output: typeof UpdateChildBillingGroupInvoiceSettingsResponseSchema;
|
|
8654
|
+
},
|
|
8655
|
+
/**
|
|
8656
|
+
* Create billing group in bulk
|
|
8657
|
+
*
|
|
8658
|
+
* @generated from rpc blueapi.billing.v1.Billing.BulkCreateBillingGroup
|
|
8659
|
+
*/
|
|
8660
|
+
bulkCreateBillingGroup: {
|
|
8661
|
+
methodKind: "server_streaming";
|
|
8662
|
+
input: typeof BulkCreateBillingGroupRequestSchema;
|
|
8663
|
+
output: typeof BulkCreateBillingGroupResponseSchema;
|
|
8664
|
+
},
|
|
8665
|
+
/**
|
|
8666
|
+
* Create Exclude Service Entry
|
|
8667
|
+
*
|
|
8668
|
+
* @generated from rpc blueapi.billing.v1.Billing.CreateExcludeServiceEntry
|
|
8669
|
+
*/
|
|
8670
|
+
createExcludeServiceEntry: {
|
|
8671
|
+
methodKind: "unary";
|
|
8672
|
+
input: typeof CreateExcludeServiceEntryRequestSchema;
|
|
8673
|
+
output: typeof CreateExcludeServiceEntryResponseSchema;
|
|
8674
|
+
},
|
|
8675
|
+
/**
|
|
8676
|
+
* Update Exclude Service Entry
|
|
8677
|
+
*
|
|
8678
|
+
* @generated from rpc blueapi.billing.v1.Billing.UpdateExcludeServiceEntry
|
|
8679
|
+
*/
|
|
8680
|
+
updateExcludeServiceEntry: {
|
|
8681
|
+
methodKind: "unary";
|
|
8682
|
+
input: typeof UpdateExcludeServiceEntryRequestSchema;
|
|
8683
|
+
output: typeof UpdateExcludeServiceEntryResponseSchema;
|
|
8684
|
+
},
|
|
8685
|
+
/**
|
|
8686
|
+
* Delete Exclude Service Entry
|
|
8687
|
+
*
|
|
8688
|
+
* @generated from rpc blueapi.billing.v1.Billing.DeleteExcludeServiceEntry
|
|
8689
|
+
*/
|
|
8690
|
+
deleteExcludeServiceEntry: {
|
|
8691
|
+
methodKind: "unary";
|
|
8692
|
+
input: typeof DeleteExcludeServiceEntryRequestSchema;
|
|
8693
|
+
output: typeof DeleteExcludeServiceEntryResponseSchema;
|
|
8694
|
+
},
|
|
8695
|
+
/**
|
|
8696
|
+
* List Exclude Service Entries
|
|
8697
|
+
*
|
|
8698
|
+
* @generated from rpc blueapi.billing.v1.Billing.ListExcludeServices
|
|
8699
|
+
*/
|
|
8700
|
+
listExcludeServices: {
|
|
8701
|
+
methodKind: "unary";
|
|
8702
|
+
input: typeof ListExcludeServicesRequestSchema;
|
|
8703
|
+
output: typeof ListExcludeServicesResponseSchema;
|
|
8704
|
+
},
|
|
8015
8705
|
}> = /*@__PURE__*/
|
|
8016
8706
|
serviceDesc(file_billing_v1_billing, 0);
|
|
8017
8707
|
|