@evalops/sdk-ts 0.1.104 → 0.1.106

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.
@@ -11,7 +11,7 @@ import { file_objectives_v1_objectives } from "../../objectives/v1/objectives_pb
11
11
  /**
12
12
  * Describes the file agentruntime/v1/runtime.proto.
13
13
  */
14
- export const file_agentruntime_v1_runtime = /*@__PURE__*/ fileDesc("Ch1hZ2VudHJ1bnRpbWUvdjEvcnVudGltZS5wcm90bxIPYWdlbnRydW50aW1lLnYxIqMDChVSdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEAoIYWN0b3JfaWQYBiABKAkSEQoJcGVybWFsaW5rGAcgASgJEkoKCmF0dHJpYnV0ZXMYCCADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0LkF0dHJpYnV0ZXNFbnRyeRIYChBhY3Rvcl9jaGFubmVsX2lkGAkgASgJEhcKD2FjdG9yX2VudGl0eV9pZBgKIAEoCRIUCgxwcmluY2lwYWxfaWQYCyABKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijQIKE1J1bnRpbWVXb3JrRW52ZWxvcGUSEwoCaWQYASABKAlCB7pIBHICEAESQAoEa2luZBgCIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlS2luZEIIukgFggECEAESDwoHcm9vdF9pZBgDIAEoCRIRCglwYXJlbnRfaWQYBCABKAkSSAoKYXR0cmlidXRlcxgFIAMoCzI0LmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKoAQobUnVudGltZVByb2FjdGl2ZVNvdXJjZUV2ZW50Eg4KBnN0cmVhbRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhAKCHNlcXVlbmNlGAMgASgEEhAKCGV2ZW50X2lkGAQgASgJEhQKDGV2ZW50X2ZhbWlseRgFIAEoCRISCgpldmVudF90eXBlGAYgASgJEhoKEnByb3ZpZGVyX29iamVjdF9pZBgHIAEoCSKUAQoWUnVudGltZVByb2FjdGl2ZVBvbGljeRIZCgx3YWtlX2VuYWJsZWQYASABKAhIAIgBARIVCg10cmlnZ2VyX2tpbmRzGAIgAygJEh0KFWFsbG93X2N1c3RvbWVyX2ZhY2luZxgDIAEoCBIYChBwb3N0X3J1bl9zdGFydGVkGAQgASgIQg8KDV93YWtlX2VuYWJsZWQibQoaUnVudGltZVNvdXJjZUhlYWx0aFN1bW1hcnkSDgoGc3RhdHVzGAEgASgJEhcKD2NoZWNrZWRfc291cmNlcxgCIAMoCRIVCg1zdGFsZV9zb3VyY2VzGAMgAygJEg8KB3N1bW1hcnkYBCABKAki3AMKGlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0EhAKCHByb3ZpZGVyGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRINCgVxdWVyeRgDIAEoCRIRCgl0aGluZ19pZHMYBCADKAkSEAoIZmFjdF9pZHMYBSADKAkSEQoJZXZlbnRfaWRzGAYgAygJEkoKFXNvdXJjZV9oZWFsdGhfc3VtbWFyeRgHIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lU291cmNlSGVhbHRoU3VtbWFyeRIcChRiZWxpZWZfZGVidWdfc3VtbWFyeRgIIAEoCRISCgpyb2xsb3V0X2lkGAkgASgJEhcKD3JvbGxvdXRfc3VtbWFyeRgKIAEoCRIWCg5yb2xsb3V0X3Jlc3VsdBgLIAEoCRJoChByZXRyaWV2YWxfY291bnRzGAwgAygLMkAuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0LlJldHJpZXZhbENvdW50c0VudHJ5Qgy6SAmaAQYqBCICKAAaNgoUUmV0cmlldmFsQ291bnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASLqAgoXUnVudGltZVByb2FjdGl2ZUNvbnRleHQSGQoRcHJvYWN0aXZlX3J1bnRpbWUYASABKAgSGAoQcHJvYWN0aXZlX2luZ2VzdBgCIAEoCRJCCgxzb3VyY2VfZXZlbnQYAyABKAsyLC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVByb2FjdGl2ZVNvdXJjZUV2ZW50EhEKCXRoaW5nX2lkcxgEIAMoCRIUCgxhY3Rpb25fY2xhc3MYBSABKAkSEgoKcmlza19sZXZlbBgGIAEoCRIcChRleHRlcm5hbF9zaWRlX2VmZmVjdBgHIAEoCBJCCg1mYWN0c19jb250ZXh0GAggASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0EjcKBnBvbGljeRgJIAEoCzInLmFnZW50cnVudGltZS52MS5SdW50aW1lUHJvYWN0aXZlUG9saWN5IooBChBSdW50aW1lUmVkYWN0aW9uEj0KBGtpbmQYASABKA4yJS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbktpbmRCCLpIBYIBAhABEhIKCmZpZWxkX3BhdGgYAiABKAkSEwoLcmVwbGFjZW1lbnQYAyABKAkSDgoGcmVhc29uGAQgASgJIrUDChlSdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEkAKBWxldmVsGAEgASgOMicuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TGV2ZWxCCLpIBYIBAhABEkIKCWF1ZGllbmNlcxgCIAMoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCDbpICpIBByIFggECEAESQgoLc2Vuc2l0aXZpdHkYAyABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVNlbnNpdGl2aXR5Qgi6SAWCAQIQARIUCgxzYWZlX3N1bW1hcnkYBCABKAkSNQoKcmVkYWN0aW9ucxgFIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uEk4KCmF0dHJpYnV0ZXMYBiADKAsyOi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YS5BdHRyaWJ1dGVzRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEioAMKEkNoYW5uZWxBY3Rpb25BY3RvchJDCgxjaGFubmVsX2tpbmQYASABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYAiABKAkSEgoKY2hhbm5lbF9pZBgDIAEoCRIRCgl0aHJlYWRfaWQYBCABKAkSEgoKbWVzc2FnZV9pZBgFIAEoCRIRCglhY3Rpb25faWQYBiABKAkSEwoLY2FsbGJhY2tfaWQYByABKAkSGAoQYWN0b3JfY2hhbm5lbF9pZBgIIAEoCRIXCg9hY3Rvcl9lbnRpdHlfaWQYCSABKAkSFAoMcHJpbmNpcGFsX2lkGAogASgJEkcKCmF0dHJpYnV0ZXMYCyADKAsyMy5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkFjdG9yLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLRBwoUQ2hhbm5lbEFjdGlvblJlY2VpcHQSCgoCaWQYASABKAkSHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEiAKD2lkZW1wb3RlbmN5X2tleRgDIAEoCUIHukgEcgIQARIUCgxyZXF1ZXN0X2hhc2gYBCABKAkSMgoMc3VyZmFjZV90eXBlGAUgASgOMhIuY29tbW9uLnYxLlN1cmZhY2VCCLpIBYIBAhABEkEKC2FjdGlvbl9raW5kGAYgASgOMiIuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25LaW5kQgi6SAWCAQIQARJHCgt0YXJnZXRfa2luZBgHIAEoDjIoLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uVGFyZ2V0S2luZEIIukgFggECEAESEQoJdGFyZ2V0X2lkGAggASgJEg4KBnJ1bl9pZBgJIAEoCRIPCgd3YWl0X2lkGAogASgJEhsKE2FwcHJvdmFsX3JlcXVlc3RfaWQYCyABKAkSFAoMb2JqZWN0aXZlX2lkGAwgASgJEjIKBWFjdG9yGA0gASgLMiMuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BY3RvchIoCgdwYXlsb2FkGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJbChVhdXRob3JpemF0aW9uX291dGNvbWUYDyABKA4yMi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkF1dGhvcml6YXRpb25PdXRjb21lQgi6SAWCAQIQARJTChFleGVjdXRpb25fb3V0Y29tZRgQIAEoDjIuLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uRXhlY3V0aW9uT3V0Y29tZUIIukgFggECEAESUQoQZGVsaXZlcnlfb3V0Y29tZRgRIAEoDjItLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uRGVsaXZlcnlPdXRjb21lQgi6SAWCAQIQARIOCgZyZWFzb24YEiABKAkSFAoMZXJyb3JfcmVhc29uGBMgASgJEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkYKGmNvZGV4X2ludGVyYWN0aW9uX2RlY2lzaW9uGBYgASgLMiIuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvbkRlY2lzaW9uIsEFChFOb3JtYWxpemVkVHJpZ2dlchIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESGQoIYWdlbnRfaWQYAiABKAlCB7pIBHICEAESEwoHc3VyZmFjZRgDIAEoCUICGAESEgoKY2hhbm5lbF9pZBgEIAEoCRIgCg9pZGVtcG90ZW5jeV9rZXkYBSABKAlCB7pIBHICEAESFwoPc291cmNlX2V2ZW50X2lkGAYgASgJEh0KEXNvdXJjZV9ldmVudF90eXBlGAcgASgJQgIYARIQCghhY3Rvcl9pZBgIIAEoCRIWCg5jb3JyZWxhdGlvbl9pZBgJIAEoCRIoCgdwYXlsb2FkGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIvCgtyZWNlaXZlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoMc3VyZmFjZV90eXBlGAwgASgOMhIuY29tbW9uLnYxLlN1cmZhY2VCCLpIBYIBAhABEj8KD2NoYW5uZWxfY29udGV4dBgNIAEoCzImLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMdHJpZ2dlcl9raW5kGA4gASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmlnZ2VyS2luZEIIukgFggECEAESOwoNd29ya19lbnZlbG9wZRgPIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlEi4KCmNvZGV4X3dvcmsYECABKAsyGi5jb2RleC52MS5Db2RleFdvcmtSZXF1ZXN0EkMKEXByb2FjdGl2ZV9jb250ZXh0GBEgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVQcm9hY3RpdmVDb250ZXh0Iv4BCg5SdW50aW1lQ29udGV4dBI4CgxkZXBlbmRlbmNpZXMYASADKAsyIi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZURlcGVuZGVuY3kSQwoKYXR0cmlidXRlcxgCIAMoCzIvLmFnZW50cnVudGltZS52MS5SdW50aW1lQ29udGV4dC5BdHRyaWJ1dGVzRW50cnkSOgoNdmlydHVhbF9maWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKElJ1bnRpbWVWaXJ0dWFsRmlsZRIVCgRwYXRoGAEgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgEIAEoCRIbChNzb3VyY2VfcmVmZXJlbmNlX2lkGAUgASgJEkMKCG1ldGFkYXRhGAYgAygLMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZS5NZXRhZGF0YUVudHJ5EkEKCnByb3ZlbmFuY2UYByABKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUHJvdmVuYW5jZRJCCgtzZW5zaXRpdml0eRgIIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lU2Vuc2l0aXZpdHlCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgJIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgKIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKQAwocUnVudGltZVZpcnR1YWxGaWxlUHJvdmVuYW5jZRIYChBwcm9kdWNlcl9zZXJ2aWNlGAEgASgJEhUKDXByb2R1Y2VyX2tpbmQYAiABKAkSGwoTc291cmNlX3JlZmVyZW5jZV9pZBgDIAEoCRIYChBydW50aW1lX2V2ZW50X2lkGAQgASgJEhMKC2FydGlmYWN0X2lkGAUgASgJEg8KB3N0ZXBfaWQYBiABKAkSGQoRdG9vbF9leGVjdXRpb25faWQYByABKAkSFAoMaHlkcmF0aW9uX2lkGAggASgJEhYKDnRyYW5zYWN0aW9uX2lkGAkgASgJEhQKDHByb21vdGlvbl9pZBgKIAEoCRIXCg9ldmlkZW5jZV9oYW5kbGUYCyABKAkSEAoIdHJhY2VfaWQYDCABKAkSDwoHc3Bhbl9pZBgNIAEoCRIbChNwYXJlbnRfcmV2aXNpb25faWRzGA4gAygJEhMKC3Byb3ZpZGVyX2lkGA8gASgJEhUKDWNvbm5lY3Rpb25faWQYECABKAki/AgKF1J1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5EgwKBHBhdGgYASABKAkSEgoKbWVkaWFfdHlwZRgCIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgDIAEoCRIbChNzb3VyY2VfcmVmZXJlbmNlX2lkGAQgASgJEkgKCG1ldGFkYXRhGAUgAygLMjYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5Lk1ldGFkYXRhRW50cnkSGwoKc2l6ZV9ieXRlcxgGIAEoA0IHukgEIgIoABIWCg5jb250ZW50X3NoYTI1NhgHIAEoCRIZChFjb250ZW50X3RydW5jYXRlZBgIIAEoCBINCgVtb3VudBgJIAEoCRIMCgRraW5kGAogASgJEhMKC3Blcm1pc3Npb25zGAsgASgJEgwKBHZpZXcYDCABKAkSEwoLcmV2aXNpb25faWQYDSABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGA4gASgJEhMKC3Byb3ZpZGVyX2lkGA8gASgJEhUKDWNvbm5lY3Rpb25faWQYECABKAkSFAoMY2FjaGVfcG9saWN5GBEgASgJEg4KBnBvbGljeRgSIAEoCRIMCgRsYXp5GBMgASgIEiEKEHNlY3JldF9yZWZfY291bnQYFCABKAVCB7pIBBoCKAASFQoNY2VyZWJyb19pbmRleBgVIAEoCRIXCg9jb250ZW50X2FkZHJlc3MYFiABKAkSQQoKcHJvdmVuYW5jZRgXIAEoCzItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVQcm92ZW5hbmNlEkIKC3NlbnNpdGl2aXR5GBggASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESVAoPcmVkYWN0aW9uX3N0YXRlGBkgASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGBogAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24SSQoJb3BlcmF0aW9uGBsgASgOMiwuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZU9wZXJhdGlvbkIIukgFggECEAESEQoJdG9tYnN0b25lGBwgASgIEhMKC3JlbmFtZV9mcm9tGB0gASgJEhEKCXJlbmFtZV90bxgeIAEoCRIUCgxjYXBhYmlsaXRpZXMYHyADKAkSEAoId3JpdGFibGUYICABKAgSEQoJcmVhZF9vbmx5GCEgASgIEhEKCWdlbmVyYXRlZBgiIAEoCBIXCg9ldmlkZW5jZV9iYWNrZWQYIyABKAgSGgoSZXh0ZXJuYWxseV9pbmRleGVkGCQgASgIGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKPAgoXUnVudGltZVZpcnR1YWxGaWxlTWF0Y2gSDAoEcGF0aBgBIAEoCRIcCgtsaW5lX251bWJlchgCIAEoBUIHukgEGgIoABIPCgdzbmlwcGV0GAMgASgJEg0KBW1vdW50GAQgASgJEhYKDnNvdXJjZV9zZXJ2aWNlGAUgASgJEhYKDmJlZm9yZV9jb250ZXh0GAYgAygJEhUKDWFmdGVyX2NvbnRleHQYByADKAkSFgoFc2NvcmUYCCABKAVCB7pIBBoCKAASFQoNbWF0Y2hfcmVhc29ucxgJIAMoCRIMCgR2aWV3GAogASgJEgwKBGtpbmQYCyABKAkSFgoOdHJhbnNhY3Rpb25faWQYDCABKAkiwwEKEVJ1bnRpbWVEZXBlbmRlbmN5EhgKB3NlcnZpY2UYASABKAlCB7pIBHICEAESDwoHcHVycG9zZRgCIAEoCRIQCghyZXF1aXJlZBgDIAEoCBISCgZzdGF0dXMYBCABKAlCAhgBEhQKDHJlZmVyZW5jZV9pZBgFIAEoCRJHCgtzdGF0dXNfdHlwZRgGIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lRGVwZW5kZW5jeVN0YXR1c0IIukgFggECEAEiXwoPQWdlbnRSdW5MaW5rYWdlEg4KBnJ1bl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEAoIYWdlbnRfaWQYAyABKAkSFAoMb2JqZWN0aXZlX2lkGAQgASgJInkKE1J1bnRpbWVUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAkSDwoHc3Bhbl9pZBgCIAEoCRIWCg5wYXJlbnRfc3Bhbl9pZBgDIAEoCRITCgt0cmFjZXBhcmVudBgEIAEoCRISCgp0cmFjZXN0YXRlGAUgASgJIokLCghBZ2VudFJ1bhIKCgJpZBgBIAEoCRIzCgd0cmlnZ2VyGAIgASgLMiIuYWdlbnRydW50aW1lLnYxLk5vcm1hbGl6ZWRUcmlnZ2VyEi0KBXN0YXRlGAMgASgOMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RhdGUSHwoFYWdlbnQYBCABKAsyEC5hZ2VudHMudjEuQWdlbnQSLAoMYWdlbnRfY29uZmlnGAUgASgLMhYuYWdlbnRzLnYxLkFnZW50Q29uZmlnEisKCW9iamVjdGl2ZRgGIAEoCzIYLm9iamVjdGl2ZXMudjEuT2JqZWN0aXZlEjAKB2NvbnRleHQYByABKAsyHy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNvbnRleHQSFAoMd29ya2VyX3F1ZXVlGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoHbGlua2FnZRgMIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHYXR0ZW1wdBgPIAEoBRIUCgxtYXhfYXR0ZW1wdHMYECABKAUSLQoFbGVhc2UYESABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MZWFzZRI+ChFsYXRlc3RfY2hlY2twb2ludBgSIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSLAoFc3RlcHMYEyADKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwEiwKBXdhaXRzGBQgAygLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBI0CglhcnRpZmFjdHMYFSADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIsCgVjb3N0cxgWIAMoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3QSPQoOc3RyZWFtX2N1cnNvcnMYFyADKAsyJS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdHJlYW1DdXJzb3ISLQoJcXVldWVkX2F0GBggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp3YWl0aW5nX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYGyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNhbmNlbGxlZF9hdBgcIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoNbmV4dF9yZXRyeV9hdBgdIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQZGVhZF9sZXR0ZXJlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTY2FuY2VsbGF0aW9uX3JlYXNvbhgfIAEoCRIaChJkZWFkX2xldHRlcl9yZWFzb24YICABKAkSOAoLY2hlY2twb2ludHMYISADKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EjsKDXRyYWNlX2NvbnRleHQYIiABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVRyYWNlQ29udGV4dCKpAgoNQWdlbnRSdW5MZWFzZRIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIRCgl3b3JrZXJfaWQYBiABKAkSDQoFdG9rZW4YByABKAkSFAoMd29ya2VyX3F1ZXVlGAggASgJEg8KB2F0dGVtcHQYCSABKAUSLgoKY2xhaW1lZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMaGVhcnRiZWF0X2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK/BAoMQWdlbnRSdW5TdGVwEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEgwKBG5hbWUYBiABKAkSEAoEa2luZBgHIAEoCUICGAESMQoFc3RhdGUYCCABKA4yIi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwU3RhdGUSDwoHYXR0ZW1wdBgJIAEoBRImCgVpbnB1dBgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGb3V0cHV0GAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIVCg1lcnJvcl9tZXNzYWdlGAwgASgJEhUKDWNoZWNrcG9pbnRfaWQYDSABKAkSLgoKc3RhcnRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj4KCXN0ZXBfa2luZBgQIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXBLaW5kQgi6SAWCAQIQARIyCg5jb2RleF9wcm9ncmVzcxgRIAEoCzIaLmNvZGV4LnYxLkNvZGV4UnVuUHJvZ3Jlc3MSOwoNdHJhY2VfY29udGV4dBgSIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lVHJhY2VDb250ZXh0IuYBChJBZ2VudFJ1bkNoZWNrcG9pbnQSCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHc3RlcF9pZBgGIAEoCRIQCghzZXF1ZW5jZRgHIAEoAxIUCgxyZXN1bWVfdG9rZW4YCCABKAkSKAoHcGF5bG9hZBgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAivgQKDEFnZW50UnVuV2FpdBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEi8KBHR5cGUYByABKA4yIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0VHlwZRIUCgxleHRlcm5hbF9yZWYYCCABKAkSDgoGcmVhc29uGAkgASgJEigKB3BheWxvYWQYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHJlc3VtZV9hZnRlchgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLcmVzb2x2ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFHJlc29sdmVkX2J5X2V2ZW50X2lkGA8gASgJEj4KCnZpc2liaWxpdHkYECABKAsyKi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YRI8ChFjb2RleF9pbnRlcmFjdGlvbhgRIAEoCzIhLmNvZGV4LnYxLkNvZGV4SW50ZXJhY3Rpb25SZXF1ZXN0IoYDChBBZ2VudFJ1bkFydGlmYWN0EgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB3N0ZXBfaWQYBiABKAkSGQoNYXJ0aWZhY3RfdHlwZRgHIAEoCUICGAESCwoDdXJpGAggASgJEhQKDGNvbnRlbnRfdHlwZRgJIAEoCRIOCgZkaWdlc3QYCiABKAkSKQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkYKDWFydGlmYWN0X2tpbmQYECABKA4yJS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdEtpbmRCCLpIBYIBAhABEjEKDGNvZGV4X291dHB1dBgRIAEoCzIbLmNvZGV4LnYxLkNvZGV4T3V0cHV0VGFyZ2V0IrcCCgxBZ2VudFJ1bkNvc3QSCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHc3RlcF9pZBgGIAEoCRIRCgltZXRlcl9yZWYYByABKAkSEAoIcHJvdmlkZXIYCCABKAkSDQoFbW9kZWwYCSABKAkSFAoMaW5wdXRfdG9rZW5zGAogASgDEhUKDW91dHB1dF90b2tlbnMYCyABKAMSFAoMdG90YWxfdG9rZW5zGAwgASgDEhAKCGN1cnJlbmN5GA0gASgJEh0KFWVzdGltYXRlZF9jb3N0X21pY3JvcxgOIAEoAxIvCgtyZWNvcmRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAirgEKFEFnZW50UnVuU3RyZWFtQ3Vyc29yEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEhAKCGNvbnN1bWVyGAQgASgJEhUKDW5leHRfc2VxdWVuY2UYBSABKAMSLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAikgUKDFJ1bnRpbWVFdmVudBIKCgJpZBgBIAEoCRIOCgZydW5faWQYAiABKAkSEAoIc2VxdWVuY2UYAyABKAMSLwoEdHlwZRgEIAEoDjIhLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnRUeXBlEg8KB21lc3NhZ2UYBSABKAkSKwoKYXR0cmlidXRlcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3N0ZXBfaWQYCyABKAkSFQoNY2hlY2twb2ludF9pZBgMIAEoCRITCgthcnRpZmFjdF9pZBgNIAEoCRIPCgdjb3N0X2lkGA4gASgJEg8KB3dhaXRfaWQYDyABKAkSMQoHbGlua2FnZRgQIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USPgoKdmlzaWJpbGl0eRgRIAEoCzIqLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEjIKDmNvZGV4X3Byb2dyZXNzGBIgASgLMhouY29kZXgudjEuQ29kZXhSdW5Qcm9ncmVzcxI8ChFjb2RleF9pbnRlcmFjdGlvbhgTIAEoCzIhLmNvZGV4LnYxLkNvZGV4SW50ZXJhY3Rpb25SZXF1ZXN0EjMKDWNvZGV4X291dGNvbWUYFCABKAsyHC5jb2RleC52MS5Db2RleE91dGNvbWVTaWduYWwSOwoNdHJhY2VfY29udGV4dBgVIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lVHJhY2VDb250ZXh0IlMKFEhhbmRsZVRyaWdnZXJSZXF1ZXN0EjsKB3RyaWdnZXIYASABKAsyIi5hZ2VudHJ1bnRpbWUudjEuTm9ybWFsaXplZFRyaWdnZXJCBrpIA8gBASKJAQoVSGFuZGxlVHJpZ2dlclJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhItCgZldmVudHMYAiADKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50EhkKEWlkZW1wb3RlbnRfcmVwbGF5GAMgASgIImcKE0NsYWltTmV4dFJ1blJlcXVlc3QSGgoJd29ya2VyX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtlcl9xdWV1ZRgCIAEoCRIeCg1sZWFzZV9zZWNvbmRzGAMgASgFQge6SAQaAigAIpwBChRDbGFpbU5leHRSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLQoFbGVhc2UYAiABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MZWFzZRItCgZldmVudHMYAyADKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50Im0KE0hlYXJ0YmVhdFJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEh8KDmV4dGVuZF9zZWNvbmRzGAMgASgFQge6SAQaAigAIpsBChRIZWFydGJlYXRSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLQoFbGVhc2UYAiABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MZWFzZRIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQibgoUUmVuZXdSdW5MZWFzZVJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEh8KDmV4dGVuZF9zZWNvbmRzGAMgASgFQge6SAQaAigAIroBChVSZW5ld1J1bkxlYXNlUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBWxlYXNlGAIgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50EhwKFHJlbmV3ZWRfYWZ0ZXJfZXhwaXJ5GAQgASgIIoIBChRSZWNvcmRSdW5TdGVwUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESMwoEc3RlcBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXBCBrpIA8gBASKaAQoVUmVjb3JkUnVuU3RlcFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIrCgRzdGVwGAIgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RlcBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQilAEKGlJlY29yZFJ1bkNoZWNrcG9pbnRSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARI/CgpjaGVja3BvaW50GAMgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludEIGukgDyAEBIqwBChtSZWNvcmRSdW5DaGVja3BvaW50UmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjcKCmNoZWNrcG9pbnQYAiABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKOAQoYUmVjb3JkUnVuQXJ0aWZhY3RSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARI7CghhcnRpZmFjdBgDIAEoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0Qga6SAPIAQEipgEKGVJlY29yZFJ1bkFydGlmYWN0UmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjMKCGFydGlmYWN0GAIgASgLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IoIBChRSZWNvcmRSdW5Db3N0UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESMwoEY29zdBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3RCBrpIA8gBASKaAQoVUmVjb3JkUnVuQ29zdFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIrCgRjb3N0GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ29zdBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQidgocUmVjb3JkUnVuU3RyZWFtQ3Vyc29yUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESPQoGY3Vyc29yGAIgASgLMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RyZWFtQ3Vyc29yQga6SAPIAQEirAEKHVJlY29yZFJ1blN0cmVhbUN1cnNvclJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI1CgZjdXJzb3IYAiABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdHJlYW1DdXJzb3ISLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50ItECChVSZWNvcmRSdW5FdmVudFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEjkKBHR5cGUYAiABKA4yIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50VHlwZUIIukgFggECEAESGAoHbWVzc2FnZRgDIAEoCUIHukgEcgIQARIrCgphdHRyaWJ1dGVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdzdGVwX2lkGAUgASgJEhUKDWNoZWNrcG9pbnRfaWQYBiABKAkSEwoLYXJ0aWZhY3RfaWQYByABKAkSDwoHY29zdF9pZBgIIAEoCRIPCgd3YWl0X2lkGAkgASgJEj4KCnZpc2liaWxpdHkYCiABKAsyKi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YSJuChZSZWNvcmRSdW5FdmVudFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQitQEKDldhaXRSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIzCgR3YWl0GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdEIGukgDyAEBEjcKCmNoZWNrcG9pbnQYBCABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50Is0BCg9XYWl0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEisKBHdhaXQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0EjcKCmNoZWNrcG9pbnQYAyABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EiwKBWV2ZW50GAQgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLQAQoQUmVzdW1lUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESGAoHd2FpdF9pZBgCIAEoCUIHukgEcgIQARIXCg9yZXN1bWVfZXZlbnRfaWQYAyABKAkSKAoHcGF5bG9hZBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSRgoaY29kZXhfaW50ZXJhY3Rpb25fZGVjaXNpb24YBSABKAsyIi5jb2RleC52MS5Db2RleEludGVyYWN0aW9uRGVjaXNpb24iaQoRUmVzdW1lUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKtAQoSQ29tcGxldGVSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARInCgZyZXN1bHQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjcKCmNoZWNrcG9pbnQYBCABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50IqQBChNDb21wbGV0ZVJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI3CgpjaGVja3BvaW50GAIgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQioAEKDkZhaWxSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIeCg1lcnJvcl9tZXNzYWdlGAMgASgJQge6SARyAhABEhEKCXJldHJ5YWJsZRgEIAEoCBIkChNyZXRyeV9kZWxheV9zZWNvbmRzGAUgASgFQge6SAQaAigAImcKD0ZhaWxSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IjsKEENhbmNlbFJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEg4KBnJlYXNvbhgCIAEoCSJpChFDYW5jZWxSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50ImAKD1JldHJ5UnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESJAoTcmV0cnlfZGVsYXlfc2Vjb25kcxgCIAEoBUIHukgEGgIoABIOCgZyZWFzb24YAyABKAkiaAoQUmV0cnlSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50Ij8KFERlYWRMZXR0ZXJSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIOCgZyZWFzb24YAiABKAkibQoVRGVhZExldHRlclJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQiJAoNR2V0UnVuUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASI4Cg5HZXRSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4iNwocR2V0VGVhbW1hdGVXb3JrTGVkZ2VyUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAEijgEKHUdldFRlYW1tYXRlV29ya0xlZGdlclJlc3BvbnNlEjMKBmxlZGdlchgBIAEoCzIjLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXISOAoLbGVkZ2VyX2ZpbGUYAiABKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlIugHChJUZWFtbWF0ZVdvcmtMZWRnZXISFgoOc2NoZW1hX3ZlcnNpb24YASABKAkSDgoGcnVuX2lkGAIgASgJEjEKB2xpbmthZ2UYAyABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEi0KBXN0YXRlGAQgASgOMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RhdGUSFwoPb2JqZWN0aXZlX3RpdGxlGAUgASgJEhQKDHdvcmtlcl9xdWV1ZRgGIAEoCRIYCgdhdHRlbXB0GAcgASgFQge6SAQaAigAEhgKEHdvcmtfZW52ZWxvcGVfaWQYCCABKAkSGgoSd29ya19lbnZlbG9wZV9raW5kGAkgASgJEhUKDXdvcmtzdHJlYW1faWQYCiABKAkSEwoLbmV4dF9hY3Rpb24YCyABKAkSPAoIYmxvY2tlcnMYDCADKAsyKi5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyQmxvY2tlchJMChBjb25uZWN0b3JfYWNjZXNzGA0gAygLMjIuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckNvbm5lY3RvckFjY2VzcxJLChBtZW1vcnlfY2l0YXRpb25zGA4gAygLMjEuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlck1lbW9yeUNpdGF0aW9uEkIKC3Zmc19zdW1tYXJ5GA8gASgLMi0uYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlclZmc1N1bW1hcnkSSgoPY2VyZWJyb19jb250ZXh0GBAgASgLMjEuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckNlcmVicm9Db250ZXh0EkwKEHByb2FjdGl2ZV9wb2xpY3kYESABKAsyMi5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyUHJvYWN0aXZlUG9saWN5EkgKDmNoYW5uZWxfc3RhdHVzGBIgASgLMjAuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckNoYW5uZWxTdGF0dXMSFgoOZXZpZGVuY2VfcGF0aHMYEyADKAkSFgoOaGFuZG9mZl9wb2xpY3kYFCABKAkSHgoWcmVzdW1lX2NoZWNrcG9pbnRfcGF0aBgVIAEoCRIuCgp1cGRhdGVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcCgtldmVudF9jb3VudBgXIAEoBUIHukgEGgIoACKhAgoZVGVhbW1hdGVXb3JrTGVkZ2VyQmxvY2tlchIPCgd3YWl0X2lkGAEgASgJEi8KBHR5cGUYAiABKA4yIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0VHlwZRIOCgZyZWFzb24YAyABKAkSFAoMZXh0ZXJuYWxfcmVmGAQgASgJEjAKDHJlc3VtZV9hZnRlchgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSdmlzaWJpbGl0eV9zdW1tYXJ5GAYgASgJEk4KD3Jlc3VtZV9jb250cmFjdBgHIAEoCzI1LmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJXYWl0UmVzdW1lQ29udHJhY3QiwwIKJFRlYW1tYXRlV29ya0xlZGdlcldhaXRSZXN1bWVDb250cmFjdBIWCg5zY2hlbWFfdmVyc2lvbhgBIAEoCRISCgpyZXN1bWVfcnBjGAIgASgJEhIKCmxvb2t1cF9ycGMYAyABKAkSIQoZbG9va3VwX2V4dGVybmFsX3JlZl9maWVsZBgEIAEoCRIeChZyZXF1aXJlZF9yZXN1bWVfZmllbGRzGAUgAygJEhkKEWFsbG93ZWRfZGVjaXNpb25zGAYgAygJEiMKG2NoYW5uZWxfYWN0aW9uX3ZhbHVlX2ZpZWxkcxgHIAMoCRIcChRpZGVtcG90ZW5jeV9qb2luX2tleRgIIAEoCRIbChNhcHByb3ZhbF9yZXF1ZXN0X2lkGAkgASgJEh0KFXJlcXVpcmVzX3NhZmVfc3VtbWFyeRgKIAEoCCKkAgohVGVhbW1hdGVXb3JrTGVkZ2VyQ29ubmVjdG9yQWNjZXNzEhIKCm1vdW50X3BhdGgYASABKAkSEwoLcHJvdmlkZXJfaWQYAiABKAkSFQoNY29ubmVjdGlvbl9pZBgDIAEoCRIUCgxjYXBhYmlsaXRpZXMYBCADKAkSFgoOZ3JhbnRfcmVxdWlyZWQYBSABKAgSFAoMbGVhc2VfcG9saWN5GAYgASgJEhUKDWlkZW50aXR5X21vZGUYByABKAkSIwobY3JlZGVudGlhbF92ZXJzaW9uX3N0cmF0ZWd5GAggASgJEiEKEHNlY3JldF9yZWZfY291bnQYCSABKAVCB7pIBBoCKAASHAoUY3JlZGVudGlhbF9yZWZfbmFtZXMYCiADKAki8gEKIFRlYW1tYXRlV29ya0xlZGdlck1lbW9yeUNpdGF0aW9uEhEKCW1lbW9yeV9pZBgBIAEoCRITCgttZW1vcnlfdHlwZRgCIAEoCRIOCgZzb3VyY2UYAyABKAkSEwoLc291cmNlX3VyaXMYBCADKAkSHAoUc3VwZXJzZWRlc19tZW1vcnlfaWQYBSABKAkSHwoXc3VwZXJzZWRlZF9ieV9tZW1vcnlfaWQYBiABKAkSFQoNcmV2aWV3X3N0YXR1cxgHIAEoCRISCgplbnRpdHlfaWRzGAggAygJEhcKD2NvbnRlbnRfcHJldmlldxgJIAEoCSKeAgocVGVhbW1hdGVXb3JrTGVkZ2VyVmZzU3VtbWFyeRIbCgpmaWxlX2NvdW50GAEgASgFQge6SAQaAigAEhwKC21vdW50X2NvdW50GAIgASgFQge6SAQaAigAEiYKFWNvbm5lY3Rvcl9tb3VudF9jb3VudBgDIAEoBUIHukgEGgIoABIkChNtZW1vcnlfcmVjb3JkX2NvdW50GAQgASgFQge6SAQaAigAEiIKEXRyYW5zYWN0aW9uX2NvdW50GAUgASgFQge6SAQaAigAEjIKIWNlcmVicm9faW5kZXhfZWxpZ2libGVfZmlsZV9jb3VudBgGIAEoBUIHukgEGgIoABIdChVoYXNfcmVzdW1lX2NoZWNrcG9pbnQYByABKAgioQEKIFRlYW1tYXRlV29ya0xlZGdlckNlcmVicm9Db250ZXh0EhAKCHByb3ZpZGVyGAEgASgJEg0KBXF1ZXJ5GAIgASgJEhEKCXRoaW5nX2lkcxgDIAMoCRIQCghmYWN0X2lkcxgEIAMoCRIRCglldmVudF9pZHMYBSADKAkSJAoTZWxpZ2libGVfZmlsZV9jb3VudBgGIAEoBUIHukgEGgIoACKmAQohVGVhbW1hdGVXb3JrTGVkZ2VyUHJvYWN0aXZlUG9saWN5Eg8KB2VuYWJsZWQYASABKAgSFQoNdHJpZ2dlcl9raW5kcxgCIAMoCRIgChhwcm9ncmVzc191cGRhdGVfdHJpZ2dlcnMYAyADKAkSFwoPcHJlc2VuY2VfcG9saWN5GAQgASgJEh4KDXVwZGF0ZV9idWRnZXQYBSABKAVCB7pIBBoCKAAimwEKH1RlYW1tYXRlV29ya0xlZGdlckNoYW5uZWxTdGF0dXMSFAoMY2hhbm5lbF9raW5kGAEgASgJEhIKCmNoYW5uZWxfaWQYAiABKAkSEQoJdGhyZWFkX2lkGAMgASgJEh0KFWxhc3RfdmlzaWJsZV9ldmVudF9pZBgEIAEoCRIcChRsYXN0X3Zpc2libGVfc3VtbWFyeRgFIAEoCSJ5Ch1MaXN0UnVuc0J5V29ya0VudmVsb3BlUmVxdWVzdBIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESIQoQd29ya19lbnZlbG9wZV9pZBgCIAEoCUIHukgEcgIQARIWCgVsaW1pdBgDIAEoBUIHukgEGgIoACJJCh5MaXN0UnVuc0J5V29ya0VudmVsb3BlUmVzcG9uc2USJwoEcnVucxgBIAMoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1biL0BQoVQ2hhbm5lbFRocmVhZEFkb3B0aW9uEgoKAmlkGAEgASgJEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIZCghhZ2VudF9pZBgDIAEoCUIHukgEcgIQARJDCgxjaGFubmVsX2tpbmQYBCABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYBSABKAkSGwoKY2hhbm5lbF9pZBgGIAEoCUIHukgEcgIQARIaCgl0aHJlYWRfaWQYByABKAlCB7pIBHICEAESGAoQd29ya19lbnZlbG9wZV9pZBgIIAEoCRIcChRmaXJzdF9hZG9wdGVkX3J1bl9pZBgJIAEoCRITCgtsYXN0X3J1bl9pZBgKIAEoCRI0ChBmaXJzdF9hZG9wdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9sYXN0X21lc3NhZ2VfaWQYDiABKAkSHAoUbGFzdF9zb3VyY2VfZXZlbnRfaWQYDyABKAkSHAoUbGFzdF9hZG9wdGlvbl9yZWFzb24YECABKAkSFwoPYWRvcHRpb25fcG9saWN5GBEgASgJEikKCG1ldGFkYXRhGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI/Cg9jaGFubmVsX2NvbnRleHQYEyABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0EjsKDXdvcmtfZW52ZWxvcGUYFCABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVdvcmtFbnZlbG9wZSKRAgofR2V0Q2hhbm5lbFRocmVhZEFkb3B0aW9uUmVxdWVzdBIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESGQoIYWdlbnRfaWQYAiABKAlCB7pIBHICEAESQwoMY2hhbm5lbF9raW5kGAMgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAQgASgJEhsKCmNoYW5uZWxfaWQYBSABKAlCB7pIBHICEAESGgoJdGhyZWFkX2lkGAYgASgJQge6SARyAhABEhcKD2luY2x1ZGVfZXhwaXJlZBgHIAEoCCJcCiBHZXRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXNwb25zZRI4CghhZG9wdGlvbhgBIAEoCzImLmFnZW50cnVudGltZS52MS5DaGFubmVsVGhyZWFkQWRvcHRpb24iqgIKIUxpc3RDaGFubmVsVGhyZWFkQWRvcHRpb25zUmVxdWVzdBIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESEAoIYWdlbnRfaWQYAiABKAkSQwoMY2hhbm5lbF9raW5kGAMgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAQgASgJEhIKCmNoYW5uZWxfaWQYBSABKAkSEQoJdGhyZWFkX2lkGAYgASgJEhgKEHdvcmtfZW52ZWxvcGVfaWQYByABKAkSFwoPaW5jbHVkZV9leHBpcmVkGAggASgIEhYKBWxpbWl0GAkgASgFQge6SAQaAigAIl8KIkxpc3RDaGFubmVsVGhyZWFkQWRvcHRpb25zUmVzcG9uc2USOQoJYWRvcHRpb25zGAEgAygLMiYuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxUaHJlYWRBZG9wdGlvbiL+AgoTTGlzdFJ1bldhaXRzUmVxdWVzdBIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESDgoGcnVuX2lkGAIgASgJEhAKCGFnZW50X2lkGAMgASgJEhQKDG9iamVjdGl2ZV9pZBgEIAEoCRIYChB3b3JrX2VudmVsb3BlX2lkGAUgASgJEjsKBXN0YXRlGAYgASgOMiIuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFN0YXRlQgi6SAWCAQIQARI5CgR0eXBlGAcgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGVCCLpIBYIBAhABEjwKCGF1ZGllbmNlGAggASgOMiAuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVBdWRpZW5jZUIIukgFggECEAESFgoFbGltaXQYCSABKAVCB7pIBBoCKAASEgoKcGFnZV90b2tlbhgKIAEoCRIUCgxleHRlcm5hbF9yZWYYCyABKAki2AUKE0FnZW50UnVuV2FpdFN1bW1hcnkSDgoGcnVuX2lkGAEgASgJEg8KB3dhaXRfaWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJEhAKCGFnZW50X2lkGAQgASgJEhQKDG9iamVjdGl2ZV9pZBgFIAEoCRIPCgdzdGVwX2lkGAYgASgJEi8KBHR5cGUYByABKA4yIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0VHlwZRIxCgVzdGF0ZRgIIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRTdGF0ZRIUCgxleHRlcm5hbF9yZWYYCSABKAkSDgoGcmVhc29uGAogASgJEigKB3BheWxvYWQYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHJlc3VtZV9hZnRlchgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLcmVzb2x2ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFHJlc29sdmVkX2J5X2V2ZW50X2lkGBAgASgJEj4KCnZpc2liaWxpdHkYESABKAsyKi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YRI/Cg9jaGFubmVsX2NvbnRleHQYEiABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0EjsKDXdvcmtfZW52ZWxvcGUYEyABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVdvcmtFbnZlbG9wZSJkChRMaXN0UnVuV2FpdHNSZXNwb25zZRIzCgV3YWl0cxgBIAMoCzIkLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRTdW1tYXJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJjCiFSZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlcXVlc3QSPgoHcmVjZWlwdBgBIAEoCzIlLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uUmVjZWlwdEIGukgDyAEBIncKIlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVzcG9uc2USNgoHcmVjZWlwdBgBIAEoCzIlLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uUmVjZWlwdBIZChFpZGVtcG90ZW50X3JlcGxheRgCIAEoCCI1Ch5HZXRDaGFubmVsQWN0aW9uUmVjZWlwdFJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEiWQofR2V0Q2hhbm5lbEFjdGlvblJlY2VpcHRSZXNwb25zZRI2CgdyZWNlaXB0GAEgASgLMiUuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25SZWNlaXB0Iu0DCiBMaXN0Q2hhbm5lbEFjdGlvblJlY2VpcHRzUmVxdWVzdBIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEhcKD2FjdG9yX2VudGl0eV9pZBgDIAEoCRJHCgt0YXJnZXRfa2luZBgEIAEoDjIoLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uVGFyZ2V0S2luZEIIukgFggECEAESEQoJdGFyZ2V0X2lkGAUgASgJEg4KBnJ1bl9pZBgGIAEoCRIPCgd3YWl0X2lkGAcgASgJEhsKE2FwcHJvdmFsX3JlcXVlc3RfaWQYCCABKAkSFAoMb2JqZWN0aXZlX2lkGAkgASgJEkMKDGNoYW5uZWxfa2luZBgKIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbEtpbmRCCLpIBYIBAhABEh0KFXByb3ZpZGVyX3dvcmtzcGFjZV9pZBgLIAEoCRISCgpjaGFubmVsX2lkGAwgASgJEhEKCXRocmVhZF9pZBgNIAEoCRISCgptZXNzYWdlX2lkGA4gASgJEhEKCWFjdGlvbl9pZBgPIAEoCRIWCgVsaW1pdBgQIAEoBUIHukgEGgIoACJcCiFMaXN0Q2hhbm5lbEFjdGlvblJlY2VpcHRzUmVzcG9uc2USNwoIcmVjZWlwdHMYASADKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHQibQoUTGlzdFJ1bkV2ZW50c1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEjwKCGF1ZGllbmNlGAIgASgOMiAuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVBdWRpZW5jZUIIukgFggECEAEiRgoVTGlzdFJ1bkV2ZW50c1Jlc3BvbnNlEi0KBmV2ZW50cxgBIAMoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQifgoaTGlzdFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3BhdGhfcHJlZml4GAIgASgJEhYKBWxpbWl0GAMgASgFQge6SAQaAigAEhoKEmluY2x1ZGVfdG9tYnN0b25lcxgEIAEoCCJYChtMaXN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2USOQoHZW50cmllcxgBIAMoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeSKYAQoZUmVhZFJ1blZpcnR1YWxGaWxlUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFQoEcGF0aBgCIAEoCUIHukgEcgIQARIXCgZvZmZzZXQYAyABKAVCB7pIBBoCKAASFgoFbGltaXQYBCABKAVCB7pIBBoCKAASGgoSaW5jbHVkZV90b21ic3RvbmVzGAUgASgIIqUCChpSZWFkUnVuVmlydHVhbEZpbGVSZXNwb25zZRI3CgVlbnRyeRgBIAEoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeRIPCgdjb250ZW50GAIgASgJEg4KBm9mZnNldBgDIAEoBRITCgtuZXh0X29mZnNldBgEIAEoBRILCgNlb2YYBSABKAgSVAoPcmVkYWN0aW9uX3N0YXRlGAYgASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGAcgAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24iZwoZU3RhdFJ1blZpcnR1YWxGaWxlUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFQoEcGF0aBgCIAEoCUIHukgEcgIQARIaChJpbmNsdWRlX3RvbWJzdG9uZXMYAyABKAgiVQoaU3RhdFJ1blZpcnR1YWxGaWxlUmVzcG9uc2USNwoFZW50cnkYASABKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkiswEKG1dhdGNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFAoMc2luY2VfY3Vyc29yGAIgASgJEhYKBWxpbWl0GAMgASgFQge6SAQaAigAEg4KBmZvbGxvdxgEIAEoCBI9CghzZWxlY3RvchgFIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVTZWxlY3RvciJcChxXYXRjaFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEjwKBWV2ZW50GAEgASgLMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVdhdGNoRXZlbnQi7wMKHFJ1bnRpbWVWaXJ0dWFsRmlsZVdhdGNoRXZlbnQSDgoGY3Vyc29yGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRIMCgRwYXRoGAMgASgJEhMKC3JldmlzaW9uX2lkGAQgASgJEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgFIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgGIAEoCRIMCgR2aWV3GAcgASgJEg8KB3NwYW5faWQYCCABKAkSFwoPZXZpZGVuY2VfaGFuZGxlGAkgASgJEhgKEHJ1bnRpbWVfZXZlbnRfaWQYCiABKAkSEwoLYXJ0aWZhY3RfaWQYCyABKAkSEAoIdHJhY2VfaWQYDCABKAkSFAoMaHlkcmF0aW9uX2lkGA0gASgJEhQKDHByb21vdGlvbl9pZBgOIAEoCRIYChBwcm9kdWNlcl9zZXJ2aWNlGA8gASgJEhUKDXByb2R1Y2VyX2tpbmQYECABKAkSLwoLb2NjdXJyZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWNoZWNrcG9pbnRfaWQYEiABKAkSNwoFZW50cnkYEyABKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnki5wEKGlJ1bnRpbWVWaXJ0dWFsRmlsZVNlbGVjdG9yEg0KBXBhdGhzGAEgAygJEhMKC3BhdGhfcHJlZml4GAIgASgJEg0KBXZpZXdzGAMgAygJEg0KBWtpbmRzGAQgAygJEg4KBm1vdW50cxgFIAMoCRIXCg90cmFuc2FjdGlvbl9pZHMYBiADKAkSEAoIcG9saWNpZXMYByADKAkSFwoPc291cmNlX3NlcnZpY2VzGAggAygJEhcKD2NlcmVicm9faW5kZXhlcxgJIAMoCRIaChJpbmNsdWRlX3RvbWJzdG9uZXMYCiABKAgi+QMKHFJ1bnRpbWVWaXJ0dWFsRmlsZVJlYWRSZXN1bHQSDAoEcGF0aBgBIAEoCRI3CgVlbnRyeRgCIAEoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeRIPCgdjb250ZW50GAMgASgJEhcKBm9mZnNldBgEIAEoBUIHukgEGgIoABIcCgtuZXh0X29mZnNldBgFIAEoBUIHukgEGgIoABILCgNlb2YYBiABKAgSDwoHc2tpcHBlZBgHIAEoCBITCgtza2lwX3JlYXNvbhgIIAEoCRIQCghjaXRhdGlvbhgJIAEoCRIVCgRyYW5rGAogASgFQge6SAQaAigAEhMKC3JhbmtfcmVhc29uGAsgASgJEkwKC3JlYXNvbl9jb2RlGAwgASgOMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlYXNvbkNvZGVCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgNIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgOIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uItABCh9CYXRjaFJlYWRSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI9CghzZWxlY3RvchgCIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVTZWxlY3RvchIfCg5wZXJfZmlsZV9saW1pdBgDIAEoBUIHukgEGgIoABIcCgt0b3RhbF9saW1pdBgEIAEoBUIHukgEGgIoABIWCgVsaW1pdBgFIAEoBUIHukgEGgIoACLAAQogQmF0Y2hSZWFkUnVuVmlydHVhbEZpbGVzUmVzcG9uc2USPAoFZmlsZXMYASADKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVhZFJlc3VsdBIkChN0b3RhbF9jb250ZW50X2J5dGVzGAIgASgFQge6SAQaAigAEhgKEGJ1ZGdldF9leGhhdXN0ZWQYAyABKAgSHgoNc2tpcHBlZF9jb3VudBgEIAEoBUIHukgEGgIoACL5AQolQnVpbGRSdW5WaXJ0dWFsRmlsZUNvbnRleHRQYWNrUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESDQoFcXVlcnkYAiABKAkSPQoIc2VsZWN0b3IYAyABKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlU2VsZWN0b3ISEgoKc2VlZF9wYXRocxgEIAMoCRIfCg5wZXJfZmlsZV9saW1pdBgFIAEoBUIHukgEGgIoABIcCgt0b3RhbF9saW1pdBgGIAEoBUIHukgEGgIoABIWCgVsaW1pdBgHIAEoBUIHukgEGgIoACLgAQomQnVpbGRSdW5WaXJ0dWFsRmlsZUNvbnRleHRQYWNrUmVzcG9uc2USPwoIc25pcHBldHMYASADKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVhZFJlc3VsdBIkChN0b3RhbF9jb250ZW50X2J5dGVzGAIgASgFQge6SAQaAigAEhgKEGJ1ZGdldF9leGhhdXN0ZWQYAyABKAgSHgoNc2tpcHBlZF9jb3VudBgEIAEoBUIHukgEGgIoABIVCg1za2lwcGVkX3BhdGhzGAUgAygJIoICChxTZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIWCgVxdWVyeRgCIAEoCUIHukgEcgIQARITCgtwYXRoX3ByZWZpeBgDIAEoCRIWCgVsaW1pdBgEIAEoBUIHukgEGgIoABI9CghzZWxlY3RvchgFIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVTZWxlY3RvchINCgVyZWdleBgGIAEoCBIeCg1jb250ZXh0X2xpbmVzGAcgASgFQge6SAQaAigAEhYKDmNhc2Vfc2Vuc2l0aXZlGAggASgIIpMBCh1TZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRI5CgdtYXRjaGVzGAEgAygLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZU1hdGNoEh4KDXRvdGFsX21hdGNoZXMYAiABKAVCB7pIBBoCKAASFwoPbGltaXRfZXhoYXVzdGVkGAMgASgIIrEECiNSZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESFQoEcGF0aBgDIAEoCUIHukgEcgIQARISCgptZWRpYV90eXBlGAQgASgJEg8KB2NvbnRlbnQYBSABKAkSFQoNcHJvcG9zYWxfa2luZBgGIAEoCRIPCgdzdGVwX2lkGAcgASgJElQKCG1ldGFkYXRhGAggAygLMkIuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXF1ZXN0Lk1ldGFkYXRhRW50cnkSFwoPaWRlbXBvdGVuY3lfa2V5GAkgASgJEkIKC3NlbnNpdGl2aXR5GAogASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESVAoPcmVkYWN0aW9uX3N0YXRlGAsgASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGAwgAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24aLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuQBCiRSZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjMKCGFydGlmYWN0GAIgASgLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMQoEZmlsZRgDIAEoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IqsEChhSdW50aW1lVmlydHVhbEZpbGVDaGFuZ2USFQoEcGF0aBgBIAEoCUIHukgEcgIQARISCgptZWRpYV90eXBlGAIgASgJEg8KB2NvbnRlbnQYAyABKAkSFQoNcHJvcG9zYWxfa2luZBgEIAEoCRIPCgdzdGVwX2lkGAUgASgJEkkKCG1ldGFkYXRhGAYgAygLMjcuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUNoYW5nZS5NZXRhZGF0YUVudHJ5EkIKC3NlbnNpdGl2aXR5GAcgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESVAoPcmVkYWN0aW9uX3N0YXRlGAggASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGAkgAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24SSQoJb3BlcmF0aW9uGAogASgOMiwuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZU9wZXJhdGlvbkIIukgFggECEAESEwoLcmVuYW1lX2Zyb20YCyABKAkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICCiZSZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESFgoOdHJhbnNhY3Rpb25faWQYAyABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGAQgASgJEjoKB2NoYW5nZXMYBSADKAsyKS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlQ2hhbmdlElcKCG1ldGFkYXRhGAYgAygLMkUuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0Lk1ldGFkYXRhRW50cnkSFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLpAQonUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYAiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IsYCCidQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEh8KDnRyYW5zYWN0aW9uX2lkGAMgASgJQge6SARyAhABEiMKG2V4cGVjdGVkX3BhcmVudF9yZXZpc2lvbl9pZBgEIAEoCRITCgthcHByb3Zlcl9pZBgFIAEoCRJYCghtZXRhZGF0YRgGIAMoCzJGLmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi6gEKKFByb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgCIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAMgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQixgEKGlJ1bnRpbWVWaXJ0dWFsRmlsZURpZmZIdW5rEh8KDm9sZF9zdGFydF9saW5lGAEgASgFQge6SAQaAigAEh8KDm9sZF9saW5lX2NvdW50GAIgASgFQge6SAQaAigAEh8KDm5ld19zdGFydF9saW5lGAMgASgFQge6SAQaAigAEh8KDm5ld19saW5lX2NvdW50GAQgASgFQge6SAQaAigAEg4KBmhlYWRlchgFIAEoCRIUCgx1bmlmaWVkX2RpZmYYBiABKAki/wQKJVJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRmlsZURpZmYSDAoEcGF0aBgBIAEoCRJJCglvcGVyYXRpb24YAiABKA4yLC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlT3BlcmF0aW9uQgi6SAWCAQIQARJZCgxhcHBseV9zdGF0dXMYAyABKA4yOS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25BcHBseVN0YXR1c0IIukgFggECEAESGgoScGFyZW50X3JldmlzaW9uX2lkGAQgASgJEhgKEGJhc2VfcmV2aXNpb25faWQYBSABKAkSGwoTY3VycmVudF9yZXZpc2lvbl9pZBgGIAEoCRIcChRwcm9wb3NlZF9yZXZpc2lvbl9pZBgHIAEoCRIbChNiYXNlX2NvbnRlbnRfc2hhMjU2GAggASgJEh4KFmN1cnJlbnRfY29udGVudF9zaGEyNTYYCSABKAkSHwoXcHJvcG9zZWRfY29udGVudF9zaGEyNTYYCiABKAkSGgoJYWRkaXRpb25zGAsgASgFQge6SAQaAigAEhoKCWRlbGV0aW9ucxgMIAEoBUIHukgEGgIoABIOCgZiaW5hcnkYDSABKAgSEQoJdG9tYnN0b25lGA4gASgIEhMKC3JlbmFtZV9mcm9tGA8gASgJEhEKCXJlbmFtZV90bxgQIAEoCRIUCgx1bmlmaWVkX2RpZmYYESABKAkSOgoFaHVua3MYEiADKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRGlmZkh1bmsinAMKJVJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQ29uZmxpY3QSDAoEcGF0aBgBIAEoCRJMCgtyZWFzb25fY29kZRgCIAEoDjItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWFzb25Db2RlQgi6SAWCAQIQARJZCgxhcHBseV9zdGF0dXMYAyABKA4yOS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25BcHBseVN0YXR1c0IIukgFggECEAESDwoHbWVzc2FnZRgEIAEoCRIaChJwYXJlbnRfcmV2aXNpb25faWQYBSABKAkSGAoQYmFzZV9yZXZpc2lvbl9pZBgGIAEoCRIbChNjdXJyZW50X3JldmlzaW9uX2lkGAcgASgJEhwKFHByb3Bvc2VkX3JldmlzaW9uX2lkGAggASgJEjoKBWh1bmtzGAkgAygLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZURpZmZIdW5rIr4DCiFSdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkRpZmYSFgoOdHJhbnNhY3Rpb25faWQYASABKAkSRQoFZmlsZXMYAiADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25GaWxlRGlmZhIUCgx1bmlmaWVkX2RpZmYYAyABKAkSGwoKZmlsZV9jb3VudBgEIAEoBUIHukgEGgIoABIjChJjaGFuZ2VkX2ZpbGVfY291bnQYBSABKAVCB7pIBBoCKAASGgoJYWRkaXRpb25zGAYgASgFQge6SAQaAigAEhoKCWRlbGV0aW9ucxgHIAEoBUIHukgEGgIoABINCgVzdGFsZRgIIAEoCBJQCgdvdXRjb21lGAkgASgOMjUuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uT3V0Y29tZUIIukgFggECEAESSQoJY29uZmxpY3RzGAogAygLMjYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQ29uZmxpY3QigAEKJERpZmZSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHwoOdHJhbnNhY3Rpb25faWQYAiABKAlCB7pIBHICEAESHgoNY29udGV4dF9saW5lcxgDIAEoBUIHukgEGgIoACJpCiVEaWZmUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEkAKBGRpZmYYASABKAsyMi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25EaWZmIuICCiVBcHBseVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg50cmFuc2FjdGlvbl9pZBgDIAEoCUIHukgEcgIQARIjChtleHBlY3RlZF9wYXJlbnRfcmV2aXNpb25faWQYBCABKAkSEwoLYXBwcm92ZXJfaWQYBSABKAkSVgoIbWV0YWRhdGEYBiADKAsyRC5hZ2VudHJ1bnRpbWUudjEuQXBwbHlSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdC5NZXRhZGF0YUVudHJ5Eh4KDWNvbnRleHRfbGluZXMYByABKAVCB7pIBBoCKAAaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvwCCiZBcHBseVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRJQCgdvdXRjb21lGAEgASgOMjUuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uT3V0Y29tZUIIukgFggECEAESQAoEZGlmZhgCIAEoCzIyLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkRpZmYSJgoDcnVuGAMgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgEIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAUgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgGIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi4gIKJlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARImChVzb3VyY2VfdHJhbnNhY3Rpb25faWQYAyABKAlCB7pIBHICEAESFgoOdHJhbnNhY3Rpb25faWQYBCABKAkSVwoIbWV0YWRhdGEYBSADKAsyRS5hZ2VudHJ1bnRpbWUudjEuUmViYXNlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QuTWV0YWRhdGFFbnRyeRIXCg9pZGVtcG90ZW5jeV9rZXkYBiABKAkSHgoNY29udGV4dF9saW5lcxgHIAEoBUIHukgEGgIoABovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEitAMKJ1JlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRJQCgdvdXRjb21lGAEgASgOMjUuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uT3V0Y29tZUIIukgFggECEAESHQoVc291cmNlX3RyYW5zYWN0aW9uX2lkGAIgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgJEkAKBGRpZmYYBCABKAsyMi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25EaWZmEiYKA3J1bhgFIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYBiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgHIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYCCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IuMCCiFIeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEhYKBW1vdW50GAMgASgJQge6SARyAhABEhMKC3Byb3ZpZGVyX2lkGAQgASgJEhUKDWNvbm5lY3Rpb25faWQYBSABKAkSDQoFcXVlcnkYBiABKAkSFgoFbGltaXQYByABKAVCB7pIBBoCKAASUgoIbWV0YWRhdGEYCCADKAsyQC5hZ2VudHJ1bnRpbWUudjEuSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXF1ZXN0Lk1ldGFkYXRhRW50cnkSFwoPaWRlbXBvdGVuY3lfa2V5GAkgASgJGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLkAQoiSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNAoJYXJ0aWZhY3RzGAIgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMgoFZmlsZXMYAyADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAQgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI4Ch1JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAEi7AUKIlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclN1bW1hcnkSGwoKZmlsZV9jb3VudBgBIAEoBUIHukgEGgIoABIcCgttb3VudF9jb3VudBgCIAEoBUIHukgEGgIoABIiChF0cmFuc2FjdGlvbl9jb3VudBgDIAEoBUIHukgEGgIoABIhChBsYXp5X21vdW50X2NvdW50GAQgASgFQge6SAQaAigAEiQKE2h5ZHJhdGVkX2ZpbGVfY291bnQYBSABKAVCB7pIBBoCKAASKAoXY2VyZWJyb19jYW5kaWRhdGVfY291bnQYBiABKAVCB7pIBBoCKAASJAoTY2VyZWJyb19yZWFkeV9jb3VudBgHIAEoBUIHukgEGgIoABIkChNhY2NlcHRlZF9maWxlX2NvdW50GAggASgFQge6SAQaAigAEiYKFWNvbnRlbnRfYWRkcmVzc19jb3VudBgJIAEoBUIHukgEGgIoABIqChloeWRyYXRpb25fY2FjaGVfaGl0X2NvdW50GAogASgFQge6SAQaAigAEigKF3N0YWxlX3RyYW5zYWN0aW9uX2NvdW50GAsgASgFQge6SAQaAigAEiQKE3NoYWRvd2VkX2ZpbGVfY291bnQYDCABKAVCB7pIBBoCKAASHwoOcHJvZHVjZXJfY291bnQYDSABKAVCB7pIBBoCKAASKAoXcHJldmlld19vbmx5X2ZpbGVfY291bnQYDiABKAVCB7pIBBoCKAASIgoRZGVuaWVkX2ZpbGVfY291bnQYDyABKAVCB7pIBBoCKAASJgoVcmVzdHJpY3RlZF9maWxlX2NvdW50GBAgASgFQge6SAQaAigAEiUKFHRvbWJzdG9uZV9maWxlX2NvdW50GBEgASgFQge6SAQaAigAEiIKEWRlbGV0ZV9maWxlX2NvdW50GBIgASgFQge6SAQaAigAEiIKEXJlbmFtZV9maWxlX2NvdW50GBMgASgFQge6SAQaAigAIpYECiBSdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JNb3VudBIMCgRwYXRoGAEgASgJEhsKCmZpbGVfY291bnQYAiABKAVCB7pIBBoCKAASGwoKc2l6ZV9ieXRlcxgDIAEoA0IHukgEIgIoABIMCgRsYXp5GAQgASgIEhMKC3Byb3ZpZGVyX2lkGAUgASgJEhUKDWNvbm5lY3Rpb25faWQYBiABKAkSFAoMY2FjaGVfcG9saWN5GAcgASgJEg4KBnBvbGljeRgIIAEoCRIVCg1jZXJlYnJvX2luZGV4GAkgASgJEiEKEHNlY3JldF9yZWZfY291bnQYCiABKAVCB7pIBBoCKAASFwoPc291cmNlX3NlcnZpY2VzGAsgAygJEigKF3ByZXZpZXdfb25seV9maWxlX2NvdW50GAwgASgFQge6SAQaAigAEiIKEWRlbmllZF9maWxlX2NvdW50GA0gASgFQge6SAQaAigAEiYKFXJlc3RyaWN0ZWRfZmlsZV9jb3VudBgOIAEoBUIHukgEGgIoABIUCgxjYXBhYmlsaXRpZXMYDyADKAkSEAoId3JpdGFibGUYECABKAgSEQoJcmVhZF9vbmx5GBEgASgIEhEKCWdlbmVyYXRlZBgSIAEoCBIXCg9ldmlkZW5jZV9iYWNrZWQYEyABKAgSGgoSZXh0ZXJuYWxseV9pbmRleGVkGBQgASgIIrgCCiZSdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JUcmFuc2FjdGlvbhIWCg50cmFuc2FjdGlvbl9pZBgBIAEoCRIMCgR2aWV3GAIgASgJEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgDIAEoCRIbCgpmaWxlX2NvdW50GAQgASgFQge6SAQaAigAEg4KBnBvbGljeRgFIAEoCRIVCg1jZXJlYnJvX2luZGV4GAYgASgJEhkKEWNvbnRlbnRfYWRkcmVzc2VzGAcgAygJEiUKFHRvbWJzdG9uZV9maWxlX2NvdW50GAggASgFQge6SAQaAigAEiIKEWRlbGV0ZV9maWxlX2NvdW50GAkgASgFQge6SAQaAigAEiIKEXJlbmFtZV9maWxlX2NvdW50GAogASgFQge6SAQaAigAItMCCiNSdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JQcm9kdWNlchIYChBwcm9kdWNlcl9zZXJ2aWNlGAEgASgJEhUKDXByb2R1Y2VyX2tpbmQYAiABKAkSGwoKZmlsZV9jb3VudBgDIAEoBUIHukgEGgIoABIfCg5yZXZpc2lvbl9jb3VudBgEIAEoBUIHukgEGgIoABIZChFydW50aW1lX2V2ZW50X2lkcxgFIAMoCRIUCgxhcnRpZmFjdF9pZHMYBiADKAkSEAoIc3RlcF9pZHMYByADKAkSGgoSdG9vbF9leGVjdXRpb25faWRzGAggAygJEhEKCXRyYWNlX2lkcxgJIAMoCRIVCg1oeWRyYXRpb25faWRzGAogAygJEhcKD3RyYW5zYWN0aW9uX2lkcxgLIAMoCRIbChNwYXJlbnRfcmV2aXNpb25faWRzGAwgAygJIvwCCh5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2USRAoHc3VtbWFyeRgBIAEoCzIzLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JTdW1tYXJ5EkEKBm1vdW50cxgCIAMoCzIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JNb3VudBJNCgx0cmFuc2FjdGlvbnMYAyADKAsyNy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yVHJhbnNhY3Rpb24SOQoHZW50cmllcxgEIAMoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeRJHCglwcm9kdWNlcnMYBSADKAsyNC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yUHJvZHVjZXIqvwIKDUFnZW50UnVuU3RhdGUSHwobQUdFTlRfUlVOX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYQUdFTlRfUlVOX1NUQVRFX0FDQ0VQVEVEEAESGgoWQUdFTlRfUlVOX1NUQVRFX1FVRVVFRBACEhsKF0FHRU5UX1JVTl9TVEFURV9SVU5OSU5HEAMSGwoXQUdFTlRfUlVOX1NUQVRFX1dBSVRJTkcQBBIdChlBR0VOVF9SVU5fU1RBVEVfU1VDQ0VFREVEEAUSGgoWQUdFTlRfUlVOX1NUQVRFX0ZBSUxFRBAGEh0KGUFHRU5UX1JVTl9TVEFURV9DQU5DRUxMRUQQBxIcChhBR0VOVF9SVU5fU1RBVEVfUkVUUllJTkcQCBIhCh1BR0VOVF9SVU5fU1RBVEVfREVBRF9MRVRURVJFRBAJKqoCChFBZ2VudFJ1blN0ZXBTdGF0ZRIkCiBBR0VOVF9SVU5fU1RFUF9TVEFURV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1BFTkRJTkcQARIgChxBR0VOVF9SVU5fU1RFUF9TVEFURV9SVU5OSU5HEAISIAocQUdFTlRfUlVOX1NURVBfU1RBVEVfV0FJVElORxADEiIKHkFHRU5UX1JVTl9TVEVQX1NUQVRFX1NVQ0NFRURFRBAEEh8KG0FHRU5UX1JVTl9TVEVQX1NUQVRFX0ZBSUxFRBAFEiIKHkFHRU5UX1JVTl9TVEVQX1NUQVRFX0NBTkNFTExFRBAGEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1NLSVBQRUQQByrnAwoQQWdlbnRSdW5TdGVwS2luZBIjCh9BR0VOVF9SVU5fU1RFUF9LSU5EX1VOU1BFQ0lGSUVEEAASIgoeQUdFTlRfUlVOX1NURVBfS0lORF9NT0RFTF9DQUxMEAESKAokQUdFTlRfUlVOX1NURVBfS0lORF9UT09MX0NBTExfSU5URU5UEAISIwofQUdFTlRfUlVOX1NURVBfS0lORF9UT09MX1JFU1VMVBADEiUKIUFHRU5UX1JVTl9TVEVQX0tJTkRfQVBQUk9WQUxfV0FJVBAEEh0KGUFHRU5UX1JVTl9TVEVQX0tJTkRfRVJST1IQBRIeChpBR0VOVF9SVU5fU1RFUF9LSU5EX1NZU1RFTRAGEioKJkFHRU5UX1JVTl9TVEVQX0tJTkRfQ09OVEVYVF9FTlJJQ0hNRU5UEAcSHAoYQUdFTlRfUlVOX1NURVBfS0lORF9QTEFOEAgSHQoZQUdFTlRfUlVOX1NURVBfS0lORF9QQVRDSBAJEhwKGEFHRU5UX1JVTl9TVEVQX0tJTkRfVEVTVBAKEikKJUFHRU5UX1JVTl9TVEVQX0tJTkRfUFVMTF9SRVFVRVNUX1NZTkMQCxIjCh9BR0VOVF9SVU5fU1RFUF9LSU5EX1JFVklFV19TWU5DEAwqtgEKEEFnZW50UnVuV2FpdFR5cGUSIwofQUdFTlRfUlVOX1dBSVRfVFlQRV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX1JVTl9XQUlUX1RZUEVfQVBQUk9WQUwQARIdChlBR0VOVF9SVU5fV0FJVF9UWVBFX0lOUFVUEAISHQoZQUdFTlRfUlVOX1dBSVRfVFlQRV9FVkVOVBADEh0KGUFHRU5UX1JVTl9XQUlUX1RZUEVfVElNRVIQBCrEAQoRQWdlbnRSdW5XYWl0U3RhdGUSJAogQUdFTlRfUlVOX1dBSVRfU1RBVEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9SVU5fV0FJVF9TVEFURV9QRU5ESU5HEAESIQodQUdFTlRfUlVOX1dBSVRfU1RBVEVfUkVTT0xWRUQQAhIgChxBR0VOVF9SVU5fV0FJVF9TVEFURV9FWFBJUkVEEAMSIgoeQUdFTlRfUlVOX1dBSVRfU1RBVEVfQ0FOQ0VMTEVEEAQqxQQKFEFnZW50UnVuQXJ0aWZhY3RLaW5kEicKI0FHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1VOU1BFQ0lGSUVEEAASJwojQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfVE9PTF9SRVNVTFQQARIhCh1BR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9DSEFSVBACEiIKHkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1JFUE9SVBADEiAKHEFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0ZJTEUQBBImCiJBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9UUkFOU0NSSVBUEAUSKQolQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfQVBQUk9WQUxfUExBThAGEiIKHkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1NZU1RFTRAHEiEKHUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1BBVENIEAgSKAokQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUFVMTF9SRVFVRVNUEAkSMAosQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUFVMTF9SRVFVRVNUX0NPTU1FTlQQChIlCiFBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9DSV9TVEFUVVMQCxIlCiFBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9SVU5fUEFORUwQDBIuCipBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9FVkFMVUFUSU9OX0VYQU1QTEUQDSqFCwoQUnVudGltZUV2ZW50VHlwZRIiCh5SVU5USU1FX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABInCiNSVU5USU1FX0VWRU5UX1RZUEVfVFJJR0dFUl9BQ0NFUFRFRBABEiwKKFJVTlRJTUVfRVZFTlRfVFlQRV9BR0VOVF9DT05GSUdfUkVTT0xWRUQQAhIpCiVSVU5USU1FX0VWRU5UX1RZUEVfT0JKRUNUSVZFX1JFU09MVkVEEAMSJAogUlVOVElNRV9FVkVOVF9UWVBFX0NPTlRFWFRfQlVJTFQQBBIoCiRSVU5USU1FX0VWRU5UX1RZUEVfV09SS0VSX0RJU1BBVENIRUQQBRIhCh1SVU5USU1FX0VWRU5UX1RZUEVfUlVOX0ZBSUxFRBAGEiEKHVJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fUVVFVUVEEAcSIgoeUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9DTEFJTUVEEAgSJgoiUlVOVElNRV9FVkVOVF9UWVBFX0xFQVNFX0hFQVJUQkVBVBAJEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9TVEVQX1JFQ09SREVEEAoSKgomUlVOVElNRV9FVkVOVF9UWVBFX0NIRUNLUE9JTlRfUkVDT1JERUQQCxIoCiRSVU5USU1FX0VWRU5UX1RZUEVfQVJUSUZBQ1RfUkVDT1JERUQQDBIkCiBSVU5USU1FX0VWRU5UX1RZUEVfQ09TVF9SRUNPUkRFRBANEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fV0FJVElORxAOEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fUkVTVU1FRBAPEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fU1VDQ0VFREVEEBASJAogUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9DQU5DRUxMRUQQERIqCiZSVU5USU1FX0VWRU5UX1RZUEVfUlVOX1JFVFJZX1NDSEVEVUxFRBASEigKJFJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fREVBRF9MRVRURVJFRBATEi0KKVJVTlRJTUVfRVZFTlRfVFlQRV9TVFJFQU1fQ1VSU09SX1JFQ09SREVEEBQSMgouUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX0lOVEVSQUNUSU9OX1JFUVVFU1RFRBAVEjEKLVJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9JTlRFUkFDVElPTl9SRVNPTFZFRBAWEi4KKlJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9QUk9HUkVTU19SRUNPUkRFRBAXEioKJlJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9PVVRQVVRfU1lOQ0VEEBgSLQopUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX09VVENPTUVfT0JTRVJWRUQQGRIvCitSVU5USU1FX0VWRU5UX1RZUEVfQ0hBTk5FTF9NRVNTQUdFX1JFQ09SREVEEBoSLgoqUlVOVElNRV9FVkVOVF9UWVBFX01PREVMX1JFU1BPTlNFX1JFQ09SREVEEBsSKQolUlVOVElNRV9FVkVOVF9UWVBFX1RPT0xfQ0FMTF9SRUNPUkRFRBAcEisKJ1JVTlRJTUVfRVZFTlRfVFlQRV9UT09MX1JFU1VMVF9SRUNPUkRFRBAdEikKJVJVTlRJTUVfRVZFTlRfVFlQRV9BUFBST1ZBTF9SRVFVRVNURUQQHhIoCiRSVU5USU1FX0VWRU5UX1RZUEVfQVBQUk9WQUxfUkVTT0xWRUQQHxIuCipSVU5USU1FX0VWRU5UX1RZUEVfQUdFTlRfUFJPR1JFU1NfUkVDT1JERUQQICrpAQoXUnVudGltZURlcGVuZGVuY3lTdGF0dXMSKQolUlVOVElNRV9ERVBFTkRFTkNZX1NUQVRVU19VTlNQRUNJRklFRBAAEiYKIlJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfUkVTT0xWRUQQARInCiNSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX05PVF9GT1VORBACEiwKKFJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfTk9UX0NPTkZJR1VSRUQQAxIkCiBSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX0xPQURFRBAEKoQDChdSdW50aW1lV29ya0VudmVsb3BlS2luZBIqCiZSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9VTlNQRUNJRklFRBAAEjIKLlJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX0NPTlZFUlNBVElPTl9USFJFQUQQARIyCi5SVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9ESVJFQ1RfQ09OVkVSU0FUSU9OEAISJQohUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfVElDS0VUEAMSLQopUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfQ0FMRU5EQVJfRVZFTlQQBBIrCidSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9QVUxMX1JFUVVFU1QQBRInCiNSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9JTkNJREVOVBAGEikKJVJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX1JFUE9TSVRPUlkQByqvAwoSUnVudGltZUNoYW5uZWxLaW5kEiQKIFJVTlRJTUVfQ0hBTk5FTF9LSU5EX1VOU1BFQ0lGSUVEEAASHgoaUlVOVElNRV9DSEFOTkVMX0tJTkRfU0xBQ0sQARIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9XRUIQAhIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9BUEkQAxIeChpSVU5USU1FX0NIQU5ORUxfS0lORF9FTUFJTBAEEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0dJVEhVQhAFEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0xJTkVBUhAGEh0KGVJVTlRJTUVfQ0hBTk5FTF9LSU5EX0pJUkEQBxIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9JREUQCBIjCh9SVU5USU1FX0NIQU5ORUxfS0lORF9NT05JVE9SSU5HEAkSKgomUlVOVElNRV9DSEFOTkVMX0tJTkRfQlJPV1NFUl9FWFRFTlNJT04QChInCiNSVU5USU1FX0NIQU5ORUxfS0lORF9ERVNLVE9QX0hFTFBFUhALKqcHChJSdW50aW1lVHJpZ2dlcktpbmQSJAogUlVOVElNRV9UUklHR0VSX0tJTkRfVU5TUEVDSUZJRUQQABIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BUFBfTUVOVElPThABEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0RJUkVDVF9NRVNTQUdFEAISLAooUlVOVElNRV9UUklHR0VSX0tJTkRfU0xBQ0tfU0xBU0hfQ09NTUFORBADEiUKIVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FDVElPThAEEjIKLlJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX1RIUkVBRF9DT05USU5VQVRJT04QBRIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19FVkVOVBAGEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX0VOU0VNQkxFX1dFQl9NRVNTQUdFEAcSLworUlVOVElNRV9UUklHR0VSX0tJTkRfRU5TRU1CTEVfV0VCSE9PS19FVkVOVBAIEiEKHVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NDSEVEVUxFEAkSHgoaUlVOVElNRV9UUklHR0VSX0tJTkRfRU1BSUwQChIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9BUEkQCxIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9XRUIQDBItCilSVU5USU1FX1RSSUdHRVJfS0lORF9HSVRIVUJfSVNTVUVfQ09NTUVOVBANEjQKMFJVTlRJTUVfVFJJR0dFUl9LSU5EX0dJVEhVQl9QVUxMX1JFUVVFU1RfQ09NTUVOVBAOEiYKIlJVTlRJTUVfVFJJR0dFUl9LSU5EX0xJTkVBUl9BQ1RJT04QDxIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9JREVfQ09NTUFORBAQEikKJVJVTlRJTUVfVFJJR0dFUl9LSU5EX01PTklUT1JJTkdfQUxFUlQQERIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9QUk9BQ1RJVkVfUEFUVEVSThASEjcKM1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfU1RBUlRFRBATEj8KO1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfQ09OVEVYVF9DSEFOR0VEEBQqmQIKFlJ1bnRpbWVWaXNpYmlsaXR5TGV2ZWwSKAokUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX1VOU1BFQ0lGSUVEEAASJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FHRU5UX09OTFkQARIpCiVSVU5USU1FX1ZJU0lCSUxJVFlfTEVWRUxfVVNFUl9WSVNJQkxFEAISLAooUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0NIQU5ORUxfVklTSUJMRRADEioKJlJVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9BRE1JTl9WSVNJQkxFEAQSJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FVRElUX09OTFkQBSrxAQoPUnVudGltZUF1ZGllbmNlEiAKHFJVTlRJTUVfQVVESUVOQ0VfVU5TUEVDSUZJRUQQABIaChZSVU5USU1FX0FVRElFTkNFX0FHRU5UEAESIgoeUlVOVElNRV9BVURJRU5DRV9UUklHR0VSX0FDVE9SEAISHAoYUlVOVElNRV9BVURJRU5DRV9DSEFOTkVMEAMSJQohUlVOVElNRV9BVURJRU5DRV9XT1JLU1BBQ0VfQURNSU5TEAQSGgoWUlVOVElNRV9BVURJRU5DRV9BVURJVBAFEhsKF1JVTlRJTUVfQVVESUVOQ0VfU1lTVEVNEAYqnwMKEUNoYW5uZWxBY3Rpb25LaW5kEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0FQUFJPVkFMX0RFQ0lTSU9OEAESIwofQ0hBTk5FTF9BQ1RJT05fS0lORF9XQUlUX1JFU1VNRRACEikKJUNIQU5ORUxfQUNUSU9OX0tJTkRfT0JKRUNUSVZFX0NPTlRST0wQAxInCiNDSEFOTkVMX0FDVElPTl9LSU5EX01FTU9SWV9ERUNJU0lPThAEEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfT1BTX0NPTU1BTkQQBRIfChtDSEFOTkVMX0FDVElPTl9LSU5EX0dFTkVSSUMQBhIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0NPREVYX0lOVEVSQUNUSU9OEAcSJwojQ0hBTk5FTF9BQ1RJT05fS0lORF9CUk9XU0VSX0NPTlRST0wQCBInCiNDSEFOTkVMX0FDVElPTl9LSU5EX0RFU0tUT1BfQ09OVFJPTBAJKqsFChdDaGFubmVsQWN0aW9uVGFyZ2V0S2luZBIqCiZDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9VTlNQRUNJRklFRBAAEiIKHkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1JVThABEiMKH0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1dBSVQQAhInCiNDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9BUFBST1ZBTBADEigKJENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX09CSkVDVElWRRAEEicKI0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0FSVElGQUNUEAUSLworQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfTUVNT1JZX0NBTkRJREFURRAGEi0KKUNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1RPT0xfRVhFQ1VUSU9OEAcSLAooQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQ09ERVhfU0VTU0lPThAIEiQKIENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1BBVENIEAkSKwonQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfUFVMTF9SRVFVRVNUEAoSLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9TRVNTSU9OEAsSKgomQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9UQUIQDBIyCi5DSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9CUk9XU0VSX05BVElWRV9IT1NUEA0SLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfREVTS1RPUF9TRVNTSU9OEA4qkAMKIUNoYW5uZWxBY3Rpb25BdXRob3JpemF0aW9uT3V0Y29tZRI0CjBDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfQUxMT1dFRBABEi8KK0NIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9ERU5JRUQQAhI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5NQVBQRURfQUNUT1IQAxI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfV1JPTkdfQVBQUk9WRVIQBBIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfRVhQSVJFRBAFEi4KKkNIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9TVEFMRRAGKocECh1DaGFubmVsQWN0aW9uRXhlY3V0aW9uT3V0Y29tZRIwCixDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9VTlNQRUNJRklFRBAAEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1BFTkRJTkcQARIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVUNDRUVERUQQAhIrCidDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9GQUlMRUQQAxIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9EVVBMSUNBVEUQBBI1CjFDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9UQVJHRVRfTk9UX0ZPVU5EEAUSNQoxQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfQUxSRUFEWV9SRVNPTFZFRBAGEjEKLUNIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1VOQVVUSE9SSVpFRBAHEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX0VYUElSRUQQCBIqCiZDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVEFMRRAJKogCChxDaGFubmVsQWN0aW9uRGVsaXZlcnlPdXRjb21lEi8KK0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfVU5TUEVDSUZJRUQQABIxCi1DSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX05PVF9BVFRFTVBURUQQARIrCidDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX1VQREFURUQQAhIqCiZDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX0ZBSUxFRBADEisKJ0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfU0tJUFBFRBAEKsUBChJSdW50aW1lU2Vuc2l0aXZpdHkSIwofUlVOVElNRV9TRU5TSVRJVklUWV9VTlNQRUNJRklFRBAAEh4KGlJVTlRJTUVfU0VOU0lUSVZJVFlfUFVCTElDEAESIAocUlVOVElNRV9TRU5TSVRJVklUWV9JTlRFUk5BTBACEiQKIFJVTlRJTUVfU0VOU0lUSVZJVFlfQ09ORklERU5USUFMEAMSIgoeUlVOVElNRV9TRU5TSVRJVklUWV9SRVNUUklDVEVEEAQqggIKFFJ1bnRpbWVSZWRhY3Rpb25LaW5kEiYKIlJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIeChpSVU5USU1FX1JFREFDVElPTl9LSU5EX1BJSRABEiUKIVJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfQ1JFREVOVElBTBACEiQKIFJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVE9PTF9BUkdTEAMSKAokUlVOVElNRV9SRURBQ1RJT05fS0lORF9QT0xJQ1lfREVUQUlMEAQSKwonUlVOVElNRV9SRURBQ1RJT05fS0lORF9JTlRFUk5BTF9DT05URVhUEAUqoQIKIFJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlEjQKMFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFREFDVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEiwKKFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFREFDVElPTl9TVEFURV9SQVcQARIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfUkVEQUNURUQQAhI1CjFSVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfUFJFVklFV19PTkxZEAMSLworUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVEQUNUSU9OX1NUQVRFX0RFTklFRBAEKs0BChtSdW50aW1lVmlydHVhbEZpbGVPcGVyYXRpb24SLgoqUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASKAokUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX1dSSVRFEAESKQolUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX0RFTEVURRACEikKJVJVTlRJTUVfVklSVFVBTF9GSUxFX09QRVJBVElPTl9SRU5BTUUQAyqFBAocUnVudGltZVZpcnR1YWxGaWxlUmVhc29uQ29kZRIwCixSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9VTlNQRUNJRklFRBAAEi4KKlJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX05PVF9GT1VORBABEjEKLVJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX0ZJTFRFUkVEX09VVBACEjsKN1JVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1RPVEFMX0JVREdFVF9FWEhBVVNURUQQAxIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9QQVRIX0lOVkFMSUQQBBI2CjJSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9DQVBBQklMSVRZX0RFTklFRBAFEjYKMlJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1JFVklTSU9OX0NPTkZMSUNUEAYSMgouUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVBU09OX0NPREVfQ1VSU09SX0xBR0dFRBAHEjwKOFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1RFTVBPUkFSSUxZX1VOQVZBSUxBQkxFEAgqnQMKKFJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQXBwbHlTdGF0dXMSPQo5UlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASNwozUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX0NMRUFOEAESOwo3UlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX0lERU5USUNBTBACEjoKNlJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19DT05GTElDVBADEj4KOlJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19NSVNTSU5HX0JBU0UQBBJACjxSVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9BUFBMWV9TVEFUVVNfTUlTU0lOR19UQVJHRVQQBSrqAgokUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25PdXRjb21lEjgKNFJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIyCi5SVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9PVVRDT01FX0NMRUFOEAESNAowUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9BUFBMSUVEEAISNAowUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9SRUJBU0VEEAMSNQoxUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9DT05GTElDVBAEEjEKLVJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfTk9PUBAFMrglChNBZ2VudFJ1bnRpbWVTZXJ2aWNlEl4KDUhhbmRsZVRyaWdnZXISJS5hZ2VudHJ1bnRpbWUudjEuSGFuZGxlVHJpZ2dlclJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuSGFuZGxlVHJpZ2dlclJlc3BvbnNlElsKDENsYWltTmV4dFJ1bhIkLmFnZW50cnVudGltZS52MS5DbGFpbU5leHRSdW5SZXF1ZXN0GiUuYWdlbnRydW50aW1lLnYxLkNsYWltTmV4dFJ1blJlc3BvbnNlElsKDEhlYXJ0YmVhdFJ1bhIkLmFnZW50cnVudGltZS52MS5IZWFydGJlYXRSdW5SZXF1ZXN0GiUuYWdlbnRydW50aW1lLnYxLkhlYXJ0YmVhdFJ1blJlc3BvbnNlEl4KDVJlbmV3UnVuTGVhc2USJS5hZ2VudHJ1bnRpbWUudjEuUmVuZXdSdW5MZWFzZVJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVuZXdSdW5MZWFzZVJlc3BvbnNlEl4KDVJlY29yZFJ1blN0ZXASJS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RlcFJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RlcFJlc3BvbnNlEnAKE1JlY29yZFJ1bkNoZWNrcG9pbnQSKy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ2hlY2twb2ludFJlcXVlc3QaLC5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ2hlY2twb2ludFJlc3BvbnNlEmoKEVJlY29yZFJ1bkFydGlmYWN0EikuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkFydGlmYWN0UmVxdWVzdBoqLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5BcnRpZmFjdFJlc3BvbnNlEl4KDVJlY29yZFJ1bkNvc3QSJS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ29zdFJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ29zdFJlc3BvbnNlEnYKFVJlY29yZFJ1blN0cmVhbUN1cnNvchItLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXF1ZXN0Gi4uYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blN0cmVhbUN1cnNvclJlc3BvbnNlEmEKDlJlY29yZFJ1bkV2ZW50EiYuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkV2ZW50UmVxdWVzdBonLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5FdmVudFJlc3BvbnNlEkwKB1dhaXRSdW4SHy5hZ2VudHJ1bnRpbWUudjEuV2FpdFJ1blJlcXVlc3QaIC5hZ2VudHJ1bnRpbWUudjEuV2FpdFJ1blJlc3BvbnNlElIKCVJlc3VtZVJ1bhIhLmFnZW50cnVudGltZS52MS5SZXN1bWVSdW5SZXF1ZXN0GiIuYWdlbnRydW50aW1lLnYxLlJlc3VtZVJ1blJlc3BvbnNlElgKC0NvbXBsZXRlUnVuEiMuYWdlbnRydW50aW1lLnYxLkNvbXBsZXRlUnVuUmVxdWVzdBokLmFnZW50cnVudGltZS52MS5Db21wbGV0ZVJ1blJlc3BvbnNlEkwKB0ZhaWxSdW4SHy5hZ2VudHJ1bnRpbWUudjEuRmFpbFJ1blJlcXVlc3QaIC5hZ2VudHJ1bnRpbWUudjEuRmFpbFJ1blJlc3BvbnNlElIKCUNhbmNlbFJ1bhIhLmFnZW50cnVudGltZS52MS5DYW5jZWxSdW5SZXF1ZXN0GiIuYWdlbnRydW50aW1lLnYxLkNhbmNlbFJ1blJlc3BvbnNlEk8KCFJldHJ5UnVuEiAuYWdlbnRydW50aW1lLnYxLlJldHJ5UnVuUmVxdWVzdBohLmFnZW50cnVudGltZS52MS5SZXRyeVJ1blJlc3BvbnNlEl4KDURlYWRMZXR0ZXJSdW4SJS5hZ2VudHJ1bnRpbWUudjEuRGVhZExldHRlclJ1blJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuRGVhZExldHRlclJ1blJlc3BvbnNlEkkKBkdldFJ1bhIeLmFnZW50cnVudGltZS52MS5HZXRSdW5SZXF1ZXN0Gh8uYWdlbnRydW50aW1lLnYxLkdldFJ1blJlc3BvbnNlEnYKFUdldFRlYW1tYXRlV29ya0xlZGdlchItLmFnZW50cnVudGltZS52MS5HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXF1ZXN0Gi4uYWdlbnRydW50aW1lLnYxLkdldFRlYW1tYXRlV29ya0xlZGdlclJlc3BvbnNlEnkKFkxpc3RSdW5zQnlXb3JrRW52ZWxvcGUSLi5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlcXVlc3QaLy5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlc3BvbnNlEn8KGEdldENoYW5uZWxUaHJlYWRBZG9wdGlvbhIwLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXF1ZXN0GjEuYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxUaHJlYWRBZG9wdGlvblJlc3BvbnNlEoUBChpMaXN0Q2hhbm5lbFRocmVhZEFkb3B0aW9ucxIyLmFnZW50cnVudGltZS52MS5MaXN0Q2hhbm5lbFRocmVhZEFkb3B0aW9uc1JlcXVlc3QaMy5hZ2VudHJ1bnRpbWUudjEuTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnNSZXNwb25zZRJbCgxMaXN0UnVuV2FpdHMSJC5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldhaXRzUmVxdWVzdBolLmFnZW50cnVudGltZS52MS5MaXN0UnVuV2FpdHNSZXNwb25zZRKFAQoaUmVjb3JkQ2hhbm5lbEFjdGlvblJlY2VpcHQSMi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkQ2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVzcG9uc2USfAoXR2V0Q2hhbm5lbEFjdGlvblJlY2VpcHQSLy5hZ2VudHJ1bnRpbWUudjEuR2V0Q2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0GjAuYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVzcG9uc2USggEKGUxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHMSMS5hZ2VudHJ1bnRpbWUudjEuTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1JlcXVlc3QaMi5hZ2VudHJ1bnRpbWUudjEuTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1Jlc3BvbnNlEl4KDUxpc3RSdW5FdmVudHMSJS5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bkV2ZW50c1JlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bkV2ZW50c1Jlc3BvbnNlEnAKE0xpc3RSdW5WaXJ0dWFsRmlsZXMSKy5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QaLC5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEm0KElJlYWRSdW5WaXJ0dWFsRmlsZRIqLmFnZW50cnVudGltZS52MS5SZWFkUnVuVmlydHVhbEZpbGVSZXF1ZXN0GisuYWdlbnRydW50aW1lLnYxLlJlYWRSdW5WaXJ0dWFsRmlsZVJlc3BvbnNlEm0KElN0YXRSdW5WaXJ0dWFsRmlsZRIqLmFnZW50cnVudGltZS52MS5TdGF0UnVuVmlydHVhbEZpbGVSZXF1ZXN0GisuYWdlbnRydW50aW1lLnYxLlN0YXRSdW5WaXJ0dWFsRmlsZVJlc3BvbnNlEnUKFFdhdGNoUnVuVmlydHVhbEZpbGVzEiwuYWdlbnRydW50aW1lLnYxLldhdGNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBotLmFnZW50cnVudGltZS52MS5XYXRjaFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlMAESfwoYQmF0Y2hSZWFkUnVuVmlydHVhbEZpbGVzEjAuYWdlbnRydW50aW1lLnYxLkJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QaMS5hZ2VudHJ1bnRpbWUudjEuQmF0Y2hSZWFkUnVuVmlydHVhbEZpbGVzUmVzcG9uc2USkQEKHkJ1aWxkUnVuVmlydHVhbEZpbGVDb250ZXh0UGFjaxI2LmFnZW50cnVudGltZS52MS5CdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2tSZXF1ZXN0GjcuYWdlbnRydW50aW1lLnYxLkJ1aWxkUnVuVmlydHVhbEZpbGVDb250ZXh0UGFja1Jlc3BvbnNlEnYKFVNlYXJjaFJ1blZpcnR1YWxGaWxlcxItLmFnZW50cnVudGltZS52MS5TZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0Gi4uYWdlbnRydW50aW1lLnYxLlNlYXJjaFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEosBChxSZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsEjQuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXF1ZXN0GjUuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXNwb25zZRKUAQofUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI3LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBo4LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USlwEKIFByb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uEjguYWdlbnRydW50aW1lLnYxLlByb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBo5LmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEo4BCh1EaWZmUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI1LmFnZW50cnVudGltZS52MS5EaWZmUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaNi5hZ2VudHJ1bnRpbWUudjEuRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKRAQoeQXBwbHlSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uEjYuYWdlbnRydW50aW1lLnYxLkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaNy5hZ2VudHJ1bnRpbWUudjEuQXBwbHlSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USlAEKH1JlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNy5hZ2VudHJ1bnRpbWUudjEuUmViYXNlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOC5hZ2VudHJ1bnRpbWUudjEuUmViYXNlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEoUBChpIeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudBIyLmFnZW50cnVudGltZS52MS5IeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlcXVlc3QaMy5hZ2VudHJ1bnRpbWUudjEuSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXNwb25zZRJ5ChZJbnNwZWN0UnVuVmlydHVhbEZpbGVzEi4uYWdlbnRydW50aW1lLnYxLkluc3BlY3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0Gi8uYWdlbnRydW50aW1lLnYxLkluc3BlY3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZUJDWkFnaXRodWIuY29tL2V2YWxvcHMvcGxhdGZvcm0vZ2VuL2dvL2FnZW50cnVudGltZS92MTthZ2VudHJ1bnRpbWV2MWIGcHJvdG8z", [file_agents_v1_agents, file_buf_validate_validate, file_codex_v1_codex, file_common_v1_surface, file_google_protobuf_struct, file_google_protobuf_timestamp, file_objectives_v1_objectives]);
14
+ export const file_agentruntime_v1_runtime = /*@__PURE__*/ fileDesc("Ch1hZ2VudHJ1bnRpbWUvdjEvcnVudGltZS5wcm90bxIPYWdlbnRydW50aW1lLnYxIqMDChVSdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEAoIYWN0b3JfaWQYBiABKAkSEQoJcGVybWFsaW5rGAcgASgJEkoKCmF0dHJpYnV0ZXMYCCADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0LkF0dHJpYnV0ZXNFbnRyeRIYChBhY3Rvcl9jaGFubmVsX2lkGAkgASgJEhcKD2FjdG9yX2VudGl0eV9pZBgKIAEoCRIUCgxwcmluY2lwYWxfaWQYCyABKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijQIKE1J1bnRpbWVXb3JrRW52ZWxvcGUSEwoCaWQYASABKAlCB7pIBHICEAESQAoEa2luZBgCIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlS2luZEIIukgFggECEAESDwoHcm9vdF9pZBgDIAEoCRIRCglwYXJlbnRfaWQYBCABKAkSSAoKYXR0cmlidXRlcxgFIAMoCzI0LmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKoAQobUnVudGltZVByb2FjdGl2ZVNvdXJjZUV2ZW50Eg4KBnN0cmVhbRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhAKCHNlcXVlbmNlGAMgASgEEhAKCGV2ZW50X2lkGAQgASgJEhQKDGV2ZW50X2ZhbWlseRgFIAEoCRISCgpldmVudF90eXBlGAYgASgJEhoKEnByb3ZpZGVyX29iamVjdF9pZBgHIAEoCSKUAQoWUnVudGltZVByb2FjdGl2ZVBvbGljeRIZCgx3YWtlX2VuYWJsZWQYASABKAhIAIgBARIVCg10cmlnZ2VyX2tpbmRzGAIgAygJEh0KFWFsbG93X2N1c3RvbWVyX2ZhY2luZxgDIAEoCBIYChBwb3N0X3J1bl9zdGFydGVkGAQgASgIQg8KDV93YWtlX2VuYWJsZWQibQoaUnVudGltZVNvdXJjZUhlYWx0aFN1bW1hcnkSDgoGc3RhdHVzGAEgASgJEhcKD2NoZWNrZWRfc291cmNlcxgCIAMoCRIVCg1zdGFsZV9zb3VyY2VzGAMgAygJEg8KB3N1bW1hcnkYBCABKAki3AMKGlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0EhAKCHByb3ZpZGVyGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRINCgVxdWVyeRgDIAEoCRIRCgl0aGluZ19pZHMYBCADKAkSEAoIZmFjdF9pZHMYBSADKAkSEQoJZXZlbnRfaWRzGAYgAygJEkoKFXNvdXJjZV9oZWFsdGhfc3VtbWFyeRgHIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lU291cmNlSGVhbHRoU3VtbWFyeRIcChRiZWxpZWZfZGVidWdfc3VtbWFyeRgIIAEoCRISCgpyb2xsb3V0X2lkGAkgASgJEhcKD3JvbGxvdXRfc3VtbWFyeRgKIAEoCRIWCg5yb2xsb3V0X3Jlc3VsdBgLIAEoCRJoChByZXRyaWV2YWxfY291bnRzGAwgAygLMkAuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0LlJldHJpZXZhbENvdW50c0VudHJ5Qgy6SAmaAQYqBCICKAAaNgoUUmV0cmlldmFsQ291bnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASLqAgoXUnVudGltZVByb2FjdGl2ZUNvbnRleHQSGQoRcHJvYWN0aXZlX3J1bnRpbWUYASABKAgSGAoQcHJvYWN0aXZlX2luZ2VzdBgCIAEoCRJCCgxzb3VyY2VfZXZlbnQYAyABKAsyLC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVByb2FjdGl2ZVNvdXJjZUV2ZW50EhEKCXRoaW5nX2lkcxgEIAMoCRIUCgxhY3Rpb25fY2xhc3MYBSABKAkSEgoKcmlza19sZXZlbBgGIAEoCRIcChRleHRlcm5hbF9zaWRlX2VmZmVjdBgHIAEoCBJCCg1mYWN0c19jb250ZXh0GAggASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDZXJlYnJvRmFjdHNDb250ZXh0EjcKBnBvbGljeRgJIAEoCzInLmFnZW50cnVudGltZS52MS5SdW50aW1lUHJvYWN0aXZlUG9saWN5IooBChBSdW50aW1lUmVkYWN0aW9uEj0KBGtpbmQYASABKA4yJS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbktpbmRCCLpIBYIBAhABEhIKCmZpZWxkX3BhdGgYAiABKAkSEwoLcmVwbGFjZW1lbnQYAyABKAkSDgoGcmVhc29uGAQgASgJIrUDChlSdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEkAKBWxldmVsGAEgASgOMicuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TGV2ZWxCCLpIBYIBAhABEkIKCWF1ZGllbmNlcxgCIAMoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCDbpICpIBByIFggECEAESQgoLc2Vuc2l0aXZpdHkYAyABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVNlbnNpdGl2aXR5Qgi6SAWCAQIQARIUCgxzYWZlX3N1bW1hcnkYBCABKAkSNQoKcmVkYWN0aW9ucxgFIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uEk4KCmF0dHJpYnV0ZXMYBiADKAsyOi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YS5BdHRyaWJ1dGVzRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEioAMKEkNoYW5uZWxBY3Rpb25BY3RvchJDCgxjaGFubmVsX2tpbmQYASABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYAiABKAkSEgoKY2hhbm5lbF9pZBgDIAEoCRIRCgl0aHJlYWRfaWQYBCABKAkSEgoKbWVzc2FnZV9pZBgFIAEoCRIRCglhY3Rpb25faWQYBiABKAkSEwoLY2FsbGJhY2tfaWQYByABKAkSGAoQYWN0b3JfY2hhbm5lbF9pZBgIIAEoCRIXCg9hY3Rvcl9lbnRpdHlfaWQYCSABKAkSFAoMcHJpbmNpcGFsX2lkGAogASgJEkcKCmF0dHJpYnV0ZXMYCyADKAsyMy5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkFjdG9yLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLRBwoUQ2hhbm5lbEFjdGlvblJlY2VpcHQSCgoCaWQYASABKAkSHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEiAKD2lkZW1wb3RlbmN5X2tleRgDIAEoCUIHukgEcgIQARIUCgxyZXF1ZXN0X2hhc2gYBCABKAkSMgoMc3VyZmFjZV90eXBlGAUgASgOMhIuY29tbW9uLnYxLlN1cmZhY2VCCLpIBYIBAhABEkEKC2FjdGlvbl9raW5kGAYgASgOMiIuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25LaW5kQgi6SAWCAQIQARJHCgt0YXJnZXRfa2luZBgHIAEoDjIoLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uVGFyZ2V0S2luZEIIukgFggECEAESEQoJdGFyZ2V0X2lkGAggASgJEg4KBnJ1bl9pZBgJIAEoCRIPCgd3YWl0X2lkGAogASgJEhsKE2FwcHJvdmFsX3JlcXVlc3RfaWQYCyABKAkSFAoMb2JqZWN0aXZlX2lkGAwgASgJEjIKBWFjdG9yGA0gASgLMiMuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BY3RvchIoCgdwYXlsb2FkGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJbChVhdXRob3JpemF0aW9uX291dGNvbWUYDyABKA4yMi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkF1dGhvcml6YXRpb25PdXRjb21lQgi6SAWCAQIQARJTChFleGVjdXRpb25fb3V0Y29tZRgQIAEoDjIuLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uRXhlY3V0aW9uT3V0Y29tZUIIukgFggECEAESUQoQZGVsaXZlcnlfb3V0Y29tZRgRIAEoDjItLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uRGVsaXZlcnlPdXRjb21lQgi6SAWCAQIQARIOCgZyZWFzb24YEiABKAkSFAoMZXJyb3JfcmVhc29uGBMgASgJEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkYKGmNvZGV4X2ludGVyYWN0aW9uX2RlY2lzaW9uGBYgASgLMiIuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvbkRlY2lzaW9uIsEFChFOb3JtYWxpemVkVHJpZ2dlchIdCgx3b3Jrc3BhY2VfaWQYASABKAlCB7pIBHICEAESGQoIYWdlbnRfaWQYAiABKAlCB7pIBHICEAESEwoHc3VyZmFjZRgDIAEoCUICGAESEgoKY2hhbm5lbF9pZBgEIAEoCRIgCg9pZGVtcG90ZW5jeV9rZXkYBSABKAlCB7pIBHICEAESFwoPc291cmNlX2V2ZW50X2lkGAYgASgJEh0KEXNvdXJjZV9ldmVudF90eXBlGAcgASgJQgIYARIQCghhY3Rvcl9pZBgIIAEoCRIWCg5jb3JyZWxhdGlvbl9pZBgJIAEoCRIoCgdwYXlsb2FkGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIvCgtyZWNlaXZlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoMc3VyZmFjZV90eXBlGAwgASgOMhIuY29tbW9uLnYxLlN1cmZhY2VCCLpIBYIBAhABEj8KD2NoYW5uZWxfY29udGV4dBgNIAEoCzImLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMdHJpZ2dlcl9raW5kGA4gASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmlnZ2VyS2luZEIIukgFggECEAESOwoNd29ya19lbnZlbG9wZRgPIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlEi4KCmNvZGV4X3dvcmsYECABKAsyGi5jb2RleC52MS5Db2RleFdvcmtSZXF1ZXN0EkMKEXByb2FjdGl2ZV9jb250ZXh0GBEgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVQcm9hY3RpdmVDb250ZXh0Iv4BCg5SdW50aW1lQ29udGV4dBI4CgxkZXBlbmRlbmNpZXMYASADKAsyIi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZURlcGVuZGVuY3kSQwoKYXR0cmlidXRlcxgCIAMoCzIvLmFnZW50cnVudGltZS52MS5SdW50aW1lQ29udGV4dC5BdHRyaWJ1dGVzRW50cnkSOgoNdmlydHVhbF9maWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKElJ1bnRpbWVWaXJ0dWFsRmlsZRIVCgRwYXRoGAEgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgEIAEoCRIbChNzb3VyY2VfcmVmZXJlbmNlX2lkGAUgASgJEkMKCG1ldGFkYXRhGAYgAygLMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZS5NZXRhZGF0YUVudHJ5EkEKCnByb3ZlbmFuY2UYByABKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUHJvdmVuYW5jZRJCCgtzZW5zaXRpdml0eRgIIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lU2Vuc2l0aXZpdHlCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgJIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgKIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKQAwocUnVudGltZVZpcnR1YWxGaWxlUHJvdmVuYW5jZRIYChBwcm9kdWNlcl9zZXJ2aWNlGAEgASgJEhUKDXByb2R1Y2VyX2tpbmQYAiABKAkSGwoTc291cmNlX3JlZmVyZW5jZV9pZBgDIAEoCRIYChBydW50aW1lX2V2ZW50X2lkGAQgASgJEhMKC2FydGlmYWN0X2lkGAUgASgJEg8KB3N0ZXBfaWQYBiABKAkSGQoRdG9vbF9leGVjdXRpb25faWQYByABKAkSFAoMaHlkcmF0aW9uX2lkGAggASgJEhYKDnRyYW5zYWN0aW9uX2lkGAkgASgJEhQKDHByb21vdGlvbl9pZBgKIAEoCRIXCg9ldmlkZW5jZV9oYW5kbGUYCyABKAkSEAoIdHJhY2VfaWQYDCABKAkSDwoHc3Bhbl9pZBgNIAEoCRIbChNwYXJlbnRfcmV2aXNpb25faWRzGA4gAygJEhMKC3Byb3ZpZGVyX2lkGA8gASgJEhUKDWNvbm5lY3Rpb25faWQYECABKAki/AgKF1J1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5EgwKBHBhdGgYASABKAkSEgoKbWVkaWFfdHlwZRgCIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgDIAEoCRIbChNzb3VyY2VfcmVmZXJlbmNlX2lkGAQgASgJEkgKCG1ldGFkYXRhGAUgAygLMjYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5Lk1ldGFkYXRhRW50cnkSGwoKc2l6ZV9ieXRlcxgGIAEoA0IHukgEIgIoABIWCg5jb250ZW50X3NoYTI1NhgHIAEoCRIZChFjb250ZW50X3RydW5jYXRlZBgIIAEoCBINCgVtb3VudBgJIAEoCRIMCgRraW5kGAogASgJEhMKC3Blcm1pc3Npb25zGAsgASgJEgwKBHZpZXcYDCABKAkSEwoLcmV2aXNpb25faWQYDSABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGA4gASgJEhMKC3Byb3ZpZGVyX2lkGA8gASgJEhUKDWNvbm5lY3Rpb25faWQYECABKAkSFAoMY2FjaGVfcG9saWN5GBEgASgJEg4KBnBvbGljeRgSIAEoCRIMCgRsYXp5GBMgASgIEiEKEHNlY3JldF9yZWZfY291bnQYFCABKAVCB7pIBBoCKAASFQoNY2VyZWJyb19pbmRleBgVIAEoCRIXCg9jb250ZW50X2FkZHJlc3MYFiABKAkSQQoKcHJvdmVuYW5jZRgXIAEoCzItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVQcm92ZW5hbmNlEkIKC3NlbnNpdGl2aXR5GBggASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESVAoPcmVkYWN0aW9uX3N0YXRlGBkgASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGBogAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24SSQoJb3BlcmF0aW9uGBsgASgOMiwuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZU9wZXJhdGlvbkIIukgFggECEAESEQoJdG9tYnN0b25lGBwgASgIEhMKC3JlbmFtZV9mcm9tGB0gASgJEhEKCXJlbmFtZV90bxgeIAEoCRIUCgxjYXBhYmlsaXRpZXMYHyADKAkSEAoId3JpdGFibGUYICABKAgSEQoJcmVhZF9vbmx5GCEgASgIEhEKCWdlbmVyYXRlZBgiIAEoCBIXCg9ldmlkZW5jZV9iYWNrZWQYIyABKAgSGgoSZXh0ZXJuYWxseV9pbmRleGVkGCQgASgIGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKPAgoXUnVudGltZVZpcnR1YWxGaWxlTWF0Y2gSDAoEcGF0aBgBIAEoCRIcCgtsaW5lX251bWJlchgCIAEoBUIHukgEGgIoABIPCgdzbmlwcGV0GAMgASgJEg0KBW1vdW50GAQgASgJEhYKDnNvdXJjZV9zZXJ2aWNlGAUgASgJEhYKDmJlZm9yZV9jb250ZXh0GAYgAygJEhUKDWFmdGVyX2NvbnRleHQYByADKAkSFgoFc2NvcmUYCCABKAVCB7pIBBoCKAASFQoNbWF0Y2hfcmVhc29ucxgJIAMoCRIMCgR2aWV3GAogASgJEgwKBGtpbmQYCyABKAkSFgoOdHJhbnNhY3Rpb25faWQYDCABKAkiwwEKEVJ1bnRpbWVEZXBlbmRlbmN5EhgKB3NlcnZpY2UYASABKAlCB7pIBHICEAESDwoHcHVycG9zZRgCIAEoCRIQCghyZXF1aXJlZBgDIAEoCBISCgZzdGF0dXMYBCABKAlCAhgBEhQKDHJlZmVyZW5jZV9pZBgFIAEoCRJHCgtzdGF0dXNfdHlwZRgGIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lRGVwZW5kZW5jeVN0YXR1c0IIukgFggECEAEiXwoPQWdlbnRSdW5MaW5rYWdlEg4KBnJ1bl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEAoIYWdlbnRfaWQYAyABKAkSFAoMb2JqZWN0aXZlX2lkGAQgASgJInkKE1J1bnRpbWVUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAkSDwoHc3Bhbl9pZBgCIAEoCRIWCg5wYXJlbnRfc3Bhbl9pZBgDIAEoCRITCgt0cmFjZXBhcmVudBgEIAEoCRISCgp0cmFjZXN0YXRlGAUgASgJIqYLCghBZ2VudFJ1bhIKCgJpZBgBIAEoCRIzCgd0cmlnZ2VyGAIgASgLMiIuYWdlbnRydW50aW1lLnYxLk5vcm1hbGl6ZWRUcmlnZ2VyEi0KBXN0YXRlGAMgASgOMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RhdGUSHwoFYWdlbnQYBCABKAsyEC5hZ2VudHMudjEuQWdlbnQSLAoMYWdlbnRfY29uZmlnGAUgASgLMhYuYWdlbnRzLnYxLkFnZW50Q29uZmlnEisKCW9iamVjdGl2ZRgGIAEoCzIYLm9iamVjdGl2ZXMudjEuT2JqZWN0aXZlEjAKB2NvbnRleHQYByABKAsyHy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNvbnRleHQSFAoMd29ya2VyX3F1ZXVlGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoHbGlua2FnZRgMIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHYXR0ZW1wdBgPIAEoBRIUCgxtYXhfYXR0ZW1wdHMYECABKAUSLQoFbGVhc2UYESABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MZWFzZRI+ChFsYXRlc3RfY2hlY2twb2ludBgSIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSLAoFc3RlcHMYEyADKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwEiwKBXdhaXRzGBQgAygLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBI0CglhcnRpZmFjdHMYFSADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIsCgVjb3N0cxgWIAMoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3QSPQoOc3RyZWFtX2N1cnNvcnMYFyADKAsyJS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdHJlYW1DdXJzb3ISLQoJcXVldWVkX2F0GBggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp3YWl0aW5nX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYGyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNhbmNlbGxlZF9hdBgcIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoNbmV4dF9yZXRyeV9hdBgdIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQZGVhZF9sZXR0ZXJlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTY2FuY2VsbGF0aW9uX3JlYXNvbhgfIAEoCRIaChJkZWFkX2xldHRlcl9yZWFzb24YICABKAkSOAoLY2hlY2twb2ludHMYISADKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EjsKDXRyYWNlX2NvbnRleHQYIiABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVRyYWNlQ29udGV4dBIbChNhdXRvbm9teV9zZXNzaW9uX2lkGCMgASgJIqkCCg1BZ2VudFJ1bkxlYXNlEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEhEKCXdvcmtlcl9pZBgGIAEoCRINCgV0b2tlbhgHIAEoCRIUCgx3b3JrZXJfcXVldWUYCCABKAkSDwoHYXR0ZW1wdBgJIAEoBRIuCgpjbGFpbWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxoZWFydGJlYXRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIr8ECgxBZ2VudFJ1blN0ZXASCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDAoEbmFtZRgGIAEoCRIQCgRraW5kGAcgASgJQgIYARIxCgVzdGF0ZRgIIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXBTdGF0ZRIPCgdhdHRlbXB0GAkgASgFEiYKBWlucHV0GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgZvdXRwdXQYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKDWVycm9yX21lc3NhZ2UYDCABKAkSFQoNY2hlY2twb2ludF9pZBgNIAEoCRIuCgpzdGFydGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPgoJc3RlcF9raW5kGBAgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RlcEtpbmRCCLpIBYIBAhABEjIKDmNvZGV4X3Byb2dyZXNzGBEgASgLMhouY29kZXgudjEuQ29kZXhSdW5Qcm9ncmVzcxI7Cg10cmFjZV9jb250ZXh0GBIgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmFjZUNvbnRleHQi5gEKEkFnZW50UnVuQ2hlY2twb2ludBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEhAKCHNlcXVlbmNlGAcgASgDEhQKDHJlc3VtZV90b2tlbhgIIAEoCRIoCgdwYXlsb2FkGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK+BAoMQWdlbnRSdW5XYWl0EgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB3N0ZXBfaWQYBiABKAkSLwoEdHlwZRgHIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlEhQKDGV4dGVybmFsX3JlZhgIIAEoCRIOCgZyZWFzb24YCSABKAkSKAoHcGF5bG9hZBgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMcmVzdW1lX2FmdGVyGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtyZXNvbHZlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUcmVzb2x2ZWRfYnlfZXZlbnRfaWQYDyABKAkSPgoKdmlzaWJpbGl0eRgQIAEoCzIqLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEjwKEWNvZGV4X2ludGVyYWN0aW9uGBEgASgLMiEuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvblJlcXVlc3QihgMKEEFnZW50UnVuQXJ0aWZhY3QSCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHc3RlcF9pZBgGIAEoCRIZCg1hcnRpZmFjdF90eXBlGAcgASgJQgIYARILCgN1cmkYCCABKAkSFAoMY29udGVudF90eXBlGAkgASgJEg4KBmRpZ2VzdBgKIAEoCRIpCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRgoNYXJ0aWZhY3Rfa2luZBgQIAEoDjIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0S2luZEIIukgFggECEAESMQoMY29kZXhfb3V0cHV0GBEgASgLMhsuY29kZXgudjEuQ29kZXhPdXRwdXRUYXJnZXQitwIKDEFnZW50UnVuQ29zdBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEhEKCW1ldGVyX3JlZhgHIAEoCRIQCghwcm92aWRlchgIIAEoCRINCgVtb2RlbBgJIAEoCRIUCgxpbnB1dF90b2tlbnMYCiABKAMSFQoNb3V0cHV0X3Rva2VucxgLIAEoAxIUCgx0b3RhbF90b2tlbnMYDCABKAMSEAoIY3VycmVuY3kYDSABKAkSHQoVZXN0aW1hdGVkX2Nvc3RfbWljcm9zGA4gASgDEi8KC3JlY29yZGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKuAQoUQWdlbnRSdW5TdHJlYW1DdXJzb3ISCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USEAoIY29uc3VtZXIYBCABKAkSFQoNbmV4dF9zZXF1ZW5jZRgFIAEoAxIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKSBQoMUnVudGltZUV2ZW50EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIQCghzZXF1ZW5jZRgDIAEoAxIvCgR0eXBlGAQgASgOMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudFR5cGUSDwoHbWVzc2FnZRgFIAEoCRIrCgphdHRyaWJ1dGVzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIvCgtvY2N1cnJlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc3RlcF9pZBgLIAEoCRIVCg1jaGVja3BvaW50X2lkGAwgASgJEhMKC2FydGlmYWN0X2lkGA0gASgJEg8KB2Nvc3RfaWQYDiABKAkSDwoHd2FpdF9pZBgPIAEoCRIxCgdsaW5rYWdlGBAgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRI+Cgp2aXNpYmlsaXR5GBEgASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGESMgoOY29kZXhfcHJvZ3Jlc3MYEiABKAsyGi5jb2RleC52MS5Db2RleFJ1blByb2dyZXNzEjwKEWNvZGV4X2ludGVyYWN0aW9uGBMgASgLMiEuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvblJlcXVlc3QSMwoNY29kZXhfb3V0Y29tZRgUIAEoCzIcLmNvZGV4LnYxLkNvZGV4T3V0Y29tZVNpZ25hbBI7Cg10cmFjZV9jb250ZXh0GBUgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmFjZUNvbnRleHQiqwYKFEFnZW50QXV0b25vbXlTZXNzaW9uEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEhgKEHdvcmtfZW52ZWxvcGVfaWQYAyABKAkSTgoSd29ya19lbnZlbG9wZV9raW5kGAQgASgOMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVXb3JrRW52ZWxvcGVLaW5kQgi6SAWCAQIQARI/Cg9jaGFubmVsX2NvbnRleHQYBSABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0Ej4KBXN0YXRlGAYgASgOMiUuYWdlbnRydW50aW1lLnYxLkF1dG9ub215U2Vzc2lvblN0YXRlQgi6SAWCAQIQARJMChBwcm9jZXNzaW5nX3N0YXRlGAcgASgOMiguYWdlbnRydW50aW1lLnYxLkF1dG9ub215UHJvY2Vzc2luZ1N0YXRlQgi6SAWCAQIQARIaChJwcm9jZXNzaW5nX3N1bW1hcnkYCCABKAkSEwoLcm9vdF9ydW5faWQYCSABKAkSFQoNYWN0aXZlX3J1bl9pZBgKIAEoCRIUCgxjdXJyZW50X2dvYWwYCyABKAkSEwoLbmV4dF9hY3Rpb24YDCABKAkSDwoHYmxvY2tlchgNIAEoCRIdChVwcm9jZXNzaW5nX21lc3NhZ2VfdHMYDiABKAkSGwoTYXNzaXN0YW50X3N0cmVhbV90cxgPIAEoCRIeChZsYXN0X3ByZXNlbmNlX2V2ZW50X2lkGBAgASgJEjsKF2xhc3RfcHJlc2VuY2VfdXBkYXRlX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChZmaW5hbF9yZXNwb25zZV9wZW5kaW5nGBIgASgIEi4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrQGCg1BZ2VudFdvcmtJdGVtEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEhsKE2F1dG9ub215X3Nlc3Npb25faWQYAyABKAkSDgoGcnVuX2lkGAQgASgJEhgKEHdvcmtfZW52ZWxvcGVfaWQYBSABKAkSGwoTcGFyZW50X3dvcmtfaXRlbV9pZBgGIAEoCRIaChJvd25lcl9jaGlsZF9ydW5faWQYByABKAkSOgoEa2luZBgIIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFdvcmtJdGVtS2luZEIIukgFggECEAESPAoFc3RhdGUYCSABKA4yIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRXb3JrSXRlbVN0YXRlQgi6SAWCAQIQARINCgV0aXRsZRgKIAEoCRIMCgRnb2FsGAsgASgJEhMKC25leHRfYWN0aW9uGAwgASgJEg8KB2Jsb2NrZXIYDSABKAkSDwoHd2FpdF9pZBgOIAEoCRIZChF0b29sX2V4ZWN1dGlvbl9pZBgPIAEoCRIVCg1ldmlkZW5jZV9yZWZzGBAgAygJEhcKD2NvbXBsZXRpb25fZ2F0ZRgRIAEoCRIoCgdwYXlsb2FkGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWZhaWxlZF9hdBgXIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY2FuY2VsbGVkX2F0GBggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJTChRIYW5kbGVUcmlnZ2VyUmVxdWVzdBI7Cgd0cmlnZ2VyGAEgASgLMiIuYWdlbnRydW50aW1lLnYxLk5vcm1hbGl6ZWRUcmlnZ2VyQga6SAPIAQEiiQEKFUhhbmRsZVRyaWdnZXJSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLQoGZXZlbnRzGAIgAygLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudBIZChFpZGVtcG90ZW50X3JlcGxheRgDIAEoCCJnChNDbGFpbU5leHRSdW5SZXF1ZXN0EhoKCXdvcmtlcl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3JrZXJfcXVldWUYAiABKAkSHgoNbGVhc2Vfc2Vjb25kcxgDIAEoBUIHukgEGgIoACKcAQoUQ2xhaW1OZXh0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBWxlYXNlGAIgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USLQoGZXZlbnRzGAMgAygLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJtChNIZWFydGJlYXRSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg5leHRlbmRfc2Vjb25kcxgDIAEoBUIHukgEGgIoACKbAQoUSGVhcnRiZWF0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBWxlYXNlGAIgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50Im4KFFJlbmV3UnVuTGVhc2VSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg5leHRlbmRfc2Vjb25kcxgDIAEoBUIHukgEGgIoACK6AQoVUmVuZXdSdW5MZWFzZVJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhItCgVsZWFzZRgCIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxlYXNlEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudBIcChRyZW5ld2VkX2FmdGVyX2V4cGlyeRgEIAEoCCKCAQoUUmVjb3JkUnVuU3RlcFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBHN0ZXAYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwQga6SAPIAQEimgEKFVJlY29yZFJ1blN0ZXBSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEc3RlcBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXASLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IpQBChpSZWNvcmRSdW5DaGVja3BvaW50UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESPwoKY2hlY2twb2ludBgDIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnRCBrpIA8gBASKsAQobUmVjb3JkUnVuQ2hlY2twb2ludFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI3CgpjaGVja3BvaW50GAIgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQijgEKGFJlY29yZFJ1bkFydGlmYWN0UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESOwoIYXJ0aWZhY3QYAyABKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdEIGukgDyAEBIqYBChlSZWNvcmRSdW5BcnRpZmFjdFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIzCghhcnRpZmFjdBgCIAEoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKCAQoUUmVjb3JkUnVuQ29zdFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBGNvc3QYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5Db3N0Qga6SAPIAQEimgEKFVJlY29yZFJ1bkNvc3RSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEY29zdBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3QSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50InYKHFJlY29yZFJ1blN0cmVhbUN1cnNvclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEj0KBmN1cnNvchgCIAEoCzIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0cmVhbUN1cnNvckIGukgDyAEBIqwBCh1SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNQoGY3Vyc29yGAIgASgLMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RyZWFtQ3Vyc29yEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLRAgoVUmVjb3JkUnVuRXZlbnRSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI5CgR0eXBlGAIgASgOMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudFR5cGVCCLpIBYIBAhABEhgKB21lc3NhZ2UYAyABKAlCB7pIBHICEAESKwoKYXR0cmlidXRlcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHc3RlcF9pZBgFIAEoCRIVCg1jaGVja3BvaW50X2lkGAYgASgJEhMKC2FydGlmYWN0X2lkGAcgASgJEg8KB2Nvc3RfaWQYCCABKAkSDwoHd2FpdF9pZBgJIAEoCRI+Cgp2aXNpYmlsaXR5GAogASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGEibgoWUmVjb3JkUnVuRXZlbnRSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IpADChFDb250cm9sUnVuUmVxdWVzdBIOCgZydW5faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhAKCGFnZW50X2lkGAMgASgJEhgKEHdvcmtfZW52ZWxvcGVfaWQYBCABKAkSGwoTYXV0b25vbXlfc2Vzc2lvbl9pZBgFIAEoCRI3CgRtb2RlGAYgASgOMh8uYWdlbnRydW50aW1lLnYxLlJ1bkNvbnRyb2xNb2RlQgi6SAWCAQIQARIPCgdtZXNzYWdlGAcgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgIIAEoCRI/Cg9jaGFubmVsX2NvbnRleHQYCSABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0EigKB3BheWxvYWQYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ej4KCnZpc2liaWxpdHkYCyABKAsyKi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YSKsAQoSQ29udHJvbFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQSEgoKY29udHJvbF9pZBgDIAEoCRIRCgljYW5jZWxsZWQYBCABKAgSGQoRcXVldWVkX2Zvcl93b3JrZXIYBSABKAgibgoYUmVjb3JkUnVuV29ya0l0ZW1SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI5Cgl3b3JrX2l0ZW0YAiABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRXb3JrSXRlbUIGukgDyAEBIqQBChlSZWNvcmRSdW5Xb3JrSXRlbVJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIxCgl3b3JrX2l0ZW0YAiABKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRXb3JrSXRlbRIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQipwMKGFVwZGF0ZVJ1bldvcmtJdGVtUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHQoMd29ya19pdGVtX2lkGAIgASgJQge6SARyAhABEjwKBXN0YXRlGAMgASgOMiMuYWdlbnRydW50aW1lLnYxLkFnZW50V29ya0l0ZW1TdGF0ZUIIukgFggECEAESGAoLbmV4dF9hY3Rpb24YBCABKAlIAIgBARIUCgdibG9ja2VyGAUgASgJSAGIAQESFAoHd2FpdF9pZBgGIAEoCUgCiAEBEh4KEXRvb2xfZXhlY3V0aW9uX2lkGAcgASgJSAOIAQESFQoNZXZpZGVuY2VfcmVmcxgIIAMoCRIcCg9jb21wbGV0aW9uX2dhdGUYCSABKAlIBIgBARIoCgdwYXlsb2FkGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIOCgxfbmV4dF9hY3Rpb25CCgoIX2Jsb2NrZXJCCgoIX3dhaXRfaWRCFAoSX3Rvb2xfZXhlY3V0aW9uX2lkQhIKEF9jb21wbGV0aW9uX2dhdGUipAEKGVVwZGF0ZVJ1bldvcmtJdGVtUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjEKCXdvcmtfaXRlbRgCIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFdvcmtJdGVtEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLMAQoXTGlzdFJ1bldvcmtJdGVtc1JlcXVlc3QSDgoGcnVuX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIYChB3b3JrX2VudmVsb3BlX2lkGAMgASgJEhsKE2F1dG9ub215X3Nlc3Npb25faWQYBCABKAkSPAoFc3RhdGUYBSABKA4yIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRXb3JrSXRlbVN0YXRlQgi6SAWCAQIQARIWCgVsaW1pdBgGIAEoBUIHukgEGgIoACJOChhMaXN0UnVuV29ya0l0ZW1zUmVzcG9uc2USMgoKd29ya19pdGVtcxgBIAMoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFdvcmtJdGVtIvoCCg9ZaWVsZFJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEkIKDGNvbnRpbnVhdGlvbhgDIAEoDjIiLmFnZW50cnVudGltZS52MS5ZaWVsZENvbnRpbnVhdGlvbkIIukgFggECEAESNwoKY2hlY2twb2ludBgEIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSMAoMcmVzdW1lX2FmdGVyGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgR3YWl0GAYgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBIcChRwcmVzZW5jZV9zdGF0dXNfdGV4dBgHIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYCCABKAkSHQoMeWllbGRfYnVkZ2V0GAkgASgFQge6SAQaAigAIu4CChBZaWVsZFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIwCg1zdWNjZXNzb3JfcnVuGAIgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEisKBHdhaXQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0EjcKCmNoZWNrcG9pbnQYBCABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EiwKBWV2ZW50GAUgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudBI1Cg5wcmVzZW5jZV9ldmVudBgGIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQSFwoPc2Vzc2lvbl9ibG9ja2VkGAcgASgIEhwKC3lpZWxkX2NvdW50GAggASgFQge6SAQaAigAIrUBCg5XYWl0UnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESMwoEd2FpdBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRCBrpIA8gBARI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCLNAQoPV2FpdFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIrCgR3YWl0GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBI3CgpjaGVja3BvaW50GAMgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi0AEKEFJlc3VtZVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhgKB3dhaXRfaWQYAiABKAlCB7pIBHICEAESFwoPcmVzdW1lX2V2ZW50X2lkGAMgASgJEigKB3BheWxvYWQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkYKGmNvZGV4X2ludGVyYWN0aW9uX2RlY2lzaW9uGAUgASgLMiIuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvbkRlY2lzaW9uImkKEVJlc3VtZVJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQirQEKEkNvbXBsZXRlUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESJwoGcmVzdWx0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCKkAQoTQ29tcGxldGVSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNwoKY2hlY2twb2ludBgCIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IqABCg5GYWlsUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHgoNZXJyb3JfbWVzc2FnZRgDIAEoCUIHukgEcgIQARIRCglyZXRyeWFibGUYBCABKAgSJAoTcmV0cnlfZGVsYXlfc2Vjb25kcxgFIAEoBUIHukgEGgIoACJnCg9GYWlsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI7ChBDYW5jZWxSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIOCgZyZWFzb24YAiABKAkiaQoRQ2FuY2VsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJgCg9SZXRyeVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEiQKE3JldHJ5X2RlbGF5X3NlY29uZHMYAiABKAVCB7pIBBoCKAASDgoGcmVhc29uGAMgASgJImgKEFJldHJ5UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI/ChREZWFkTGV0dGVyUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIm0KFURlYWRMZXR0ZXJSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IiQKDUdldFJ1blJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEiOAoOR2V0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuIjcKHEdldFRlYW1tYXRlV29ya0xlZGdlclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABIo4BCh1HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXNwb25zZRIzCgZsZWRnZXIYASABKAsyIy5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyEjgKC2xlZGdlcl9maWxlGAIgASgLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZSL2CAoSVGVhbW1hdGVXb3JrTGVkZ2VyEhYKDnNjaGVtYV92ZXJzaW9uGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIxCgdsaW5rYWdlGAMgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRItCgVzdGF0ZRgEIAEoDjIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0YXRlEhcKD29iamVjdGl2ZV90aXRsZRgFIAEoCRIUCgx3b3JrZXJfcXVldWUYBiABKAkSGAoHYXR0ZW1wdBgHIAEoBUIHukgEGgIoABIYChB3b3JrX2VudmVsb3BlX2lkGAggASgJEhoKEndvcmtfZW52ZWxvcGVfa2luZBgJIAEoCRIVCg13b3Jrc3RyZWFtX2lkGAogASgJEhMKC25leHRfYWN0aW9uGAsgASgJEjwKCGJsb2NrZXJzGAwgAygLMiouYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckJsb2NrZXISTAoQY29ubmVjdG9yX2FjY2VzcxgNIAMoCzIyLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDb25uZWN0b3JBY2Nlc3MSSwoQbWVtb3J5X2NpdGF0aW9ucxgOIAMoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJNZW1vcnlDaXRhdGlvbhJCCgt2ZnNfc3VtbWFyeRgPIAEoCzItLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJWZnNTdW1tYXJ5EkoKD2NlcmVicm9fY29udGV4dBgQIAEoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDZXJlYnJvQ29udGV4dBJMChBwcm9hY3RpdmVfcG9saWN5GBEgASgLMjIuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlclByb2FjdGl2ZVBvbGljeRJICg5jaGFubmVsX3N0YXR1cxgSIAEoCzIwLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDaGFubmVsU3RhdHVzEhYKDmV2aWRlbmNlX3BhdGhzGBMgAygJEhYKDmhhbmRvZmZfcG9saWN5GBQgASgJEh4KFnJlc3VtZV9jaGVja3BvaW50X3BhdGgYFSABKAkSLgoKdXBkYXRlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoLZXZlbnRfY291bnQYFyABKAVCB7pIBBoCKAASOQoRYWN0aXZlX3dvcmtfaXRlbXMYGCADKAsyHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRXb3JrSXRlbRInChZhY3RpdmVfd29ya19pdGVtX2NvdW50GBkgASgFQge6SAQaAigAEigKF2Jsb2NrZWRfd29ya19pdGVtX2NvdW50GBogASgFQge6SAQaAigAIqECChlUZWFtbWF0ZVdvcmtMZWRnZXJCbG9ja2VyEg8KB3dhaXRfaWQYASABKAkSLwoEdHlwZRgCIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlEg4KBnJlYXNvbhgDIAEoCRIUCgxleHRlcm5hbF9yZWYYBCABKAkSMAoMcmVzdW1lX2FmdGVyGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJ2aXNpYmlsaXR5X3N1bW1hcnkYBiABKAkSTgoPcmVzdW1lX2NvbnRyYWN0GAcgASgLMjUuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlcldhaXRSZXN1bWVDb250cmFjdCLDAgokVGVhbW1hdGVXb3JrTGVkZ2VyV2FpdFJlc3VtZUNvbnRyYWN0EhYKDnNjaGVtYV92ZXJzaW9uGAEgASgJEhIKCnJlc3VtZV9ycGMYAiABKAkSEgoKbG9va3VwX3JwYxgDIAEoCRIhChlsb29rdXBfZXh0ZXJuYWxfcmVmX2ZpZWxkGAQgASgJEh4KFnJlcXVpcmVkX3Jlc3VtZV9maWVsZHMYBSADKAkSGQoRYWxsb3dlZF9kZWNpc2lvbnMYBiADKAkSIwobY2hhbm5lbF9hY3Rpb25fdmFsdWVfZmllbGRzGAcgAygJEhwKFGlkZW1wb3RlbmN5X2pvaW5fa2V5GAggASgJEhsKE2FwcHJvdmFsX3JlcXVlc3RfaWQYCSABKAkSHQoVcmVxdWlyZXNfc2FmZV9zdW1tYXJ5GAogASgIIqQCCiFUZWFtbWF0ZVdvcmtMZWRnZXJDb25uZWN0b3JBY2Nlc3MSEgoKbW91bnRfcGF0aBgBIAEoCRITCgtwcm92aWRlcl9pZBgCIAEoCRIVCg1jb25uZWN0aW9uX2lkGAMgASgJEhQKDGNhcGFiaWxpdGllcxgEIAMoCRIWCg5ncmFudF9yZXF1aXJlZBgFIAEoCBIUCgxsZWFzZV9wb2xpY3kYBiABKAkSFQoNaWRlbnRpdHlfbW9kZRgHIAEoCRIjChtjcmVkZW50aWFsX3ZlcnNpb25fc3RyYXRlZ3kYCCABKAkSIQoQc2VjcmV0X3JlZl9jb3VudBgJIAEoBUIHukgEGgIoABIcChRjcmVkZW50aWFsX3JlZl9uYW1lcxgKIAMoCSLyAQogVGVhbW1hdGVXb3JrTGVkZ2VyTWVtb3J5Q2l0YXRpb24SEQoJbWVtb3J5X2lkGAEgASgJEhMKC21lbW9yeV90eXBlGAIgASgJEg4KBnNvdXJjZRgDIAEoCRITCgtzb3VyY2VfdXJpcxgEIAMoCRIcChRzdXBlcnNlZGVzX21lbW9yeV9pZBgFIAEoCRIfChdzdXBlcnNlZGVkX2J5X21lbW9yeV9pZBgGIAEoCRIVCg1yZXZpZXdfc3RhdHVzGAcgASgJEhIKCmVudGl0eV9pZHMYCCADKAkSFwoPY29udGVudF9wcmV2aWV3GAkgASgJIp4CChxUZWFtbWF0ZVdvcmtMZWRnZXJWZnNTdW1tYXJ5EhsKCmZpbGVfY291bnQYASABKAVCB7pIBBoCKAASHAoLbW91bnRfY291bnQYAiABKAVCB7pIBBoCKAASJgoVY29ubmVjdG9yX21vdW50X2NvdW50GAMgASgFQge6SAQaAigAEiQKE21lbW9yeV9yZWNvcmRfY291bnQYBCABKAVCB7pIBBoCKAASIgoRdHJhbnNhY3Rpb25fY291bnQYBSABKAVCB7pIBBoCKAASMgohY2VyZWJyb19pbmRleF9lbGlnaWJsZV9maWxlX2NvdW50GAYgASgFQge6SAQaAigAEh0KFWhhc19yZXN1bWVfY2hlY2twb2ludBgHIAEoCCKhAQogVGVhbW1hdGVXb3JrTGVkZ2VyQ2VyZWJyb0NvbnRleHQSEAoIcHJvdmlkZXIYASABKAkSDQoFcXVlcnkYAiABKAkSEQoJdGhpbmdfaWRzGAMgAygJEhAKCGZhY3RfaWRzGAQgAygJEhEKCWV2ZW50X2lkcxgFIAMoCRIkChNlbGlnaWJsZV9maWxlX2NvdW50GAYgASgFQge6SAQaAigAIqYBCiFUZWFtbWF0ZVdvcmtMZWRnZXJQcm9hY3RpdmVQb2xpY3kSDwoHZW5hYmxlZBgBIAEoCBIVCg10cmlnZ2VyX2tpbmRzGAIgAygJEiAKGHByb2dyZXNzX3VwZGF0ZV90cmlnZ2VycxgDIAMoCRIXCg9wcmVzZW5jZV9wb2xpY3kYBCABKAkSHgoNdXBkYXRlX2J1ZGdldBgFIAEoBUIHukgEGgIoACLbAwofVGVhbW1hdGVXb3JrTGVkZ2VyQ2hhbm5lbFN0YXR1cxIUCgxjaGFubmVsX2tpbmQYASABKAkSEgoKY2hhbm5lbF9pZBgCIAEoCRIRCgl0aHJlYWRfaWQYAyABKAkSHQoVbGFzdF92aXNpYmxlX2V2ZW50X2lkGAQgASgJEhwKFGxhc3RfdmlzaWJsZV9zdW1tYXJ5GAUgASgJEkwKEHByb2Nlc3Npbmdfc3RhdGUYBiABKA4yKC5hZ2VudHJ1bnRpbWUudjEuQXV0b25vbXlQcm9jZXNzaW5nU3RhdGVCCLpIBYIBAhABEhoKEnByb2Nlc3Npbmdfc3VtbWFyeRgHIAEoCRIdChVwcm9jZXNzaW5nX21lc3NhZ2VfdHMYCCABKAkSGwoTYXNzaXN0YW50X3N0cmVhbV90cxgJIAEoCRIeChZsYXN0X3ByZXNlbmNlX2V2ZW50X2lkGAogASgJEjsKF2xhc3RfcHJlc2VuY2VfdXBkYXRlX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChZmaW5hbF9yZXNwb25zZV9wZW5kaW5nGAwgASgIEhsKE2F1dG9ub215X3Nlc3Npb25faWQYDSABKAkieQodTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEiEKEHdvcmtfZW52ZWxvcGVfaWQYAiABKAlCB7pIBHICEAESFgoFbGltaXQYAyABKAVCB7pIBBoCKAAiSQoeTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlc3BvbnNlEicKBHJ1bnMYASADKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4i9AUKFUNoYW5uZWxUaHJlYWRBZG9wdGlvbhIKCgJpZBgBIAEoCRIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESGQoIYWdlbnRfaWQYAyABKAlCB7pIBHICEAESQwoMY2hhbm5lbF9raW5kGAQgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAUgASgJEhsKCmNoYW5uZWxfaWQYBiABKAlCB7pIBHICEAESGgoJdGhyZWFkX2lkGAcgASgJQge6SARyAhABEhgKEHdvcmtfZW52ZWxvcGVfaWQYCCABKAkSHAoUZmlyc3RfYWRvcHRlZF9ydW5faWQYCSABKAkSEwoLbGFzdF9ydW5faWQYCiABKAkSNAoQZmlyc3RfYWRvcHRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPbGFzdF9tZXNzYWdlX2lkGA4gASgJEhwKFGxhc3Rfc291cmNlX2V2ZW50X2lkGA8gASgJEhwKFGxhc3RfYWRvcHRpb25fcmVhc29uGBAgASgJEhcKD2Fkb3B0aW9uX3BvbGljeRgRIAEoCRIpCghtZXRhZGF0YRgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSPwoPY2hhbm5lbF9jb250ZXh0GBMgASgLMiYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsQ29udGV4dBI7Cg13b3JrX2VudmVsb3BlGBQgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVXb3JrRW52ZWxvcGUikQIKH0dldENoYW5uZWxUaHJlYWRBZG9wdGlvblJlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhkKCGFnZW50X2lkGAIgASgJQge6SARyAhABEkMKDGNoYW5uZWxfa2luZBgDIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbEtpbmRCCLpIBYIBAhABEh0KFXByb3ZpZGVyX3dvcmtzcGFjZV9pZBgEIAEoCRIbCgpjaGFubmVsX2lkGAUgASgJQge6SARyAhABEhoKCXRocmVhZF9pZBgGIAEoCUIHukgEcgIQARIXCg9pbmNsdWRlX2V4cGlyZWQYByABKAgiXAogR2V0Q2hhbm5lbFRocmVhZEFkb3B0aW9uUmVzcG9uc2USOAoIYWRvcHRpb24YASABKAsyJi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbFRocmVhZEFkb3B0aW9uIrYDCiJSZWNvcmRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXF1ZXN0Eh0KDHdvcmtzcGFjZV9pZBgBIAEoCUIHukgEcgIQARIZCghhZ2VudF9pZBgCIAEoCUIHukgEcgIQARJDCgxjaGFubmVsX2tpbmQYAyABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYBCABKAkSGwoKY2hhbm5lbF9pZBgFIAEoCUIHukgEcgIQARIaCgl0aHJlYWRfaWQYBiABKAlCB7pIBHICEAESEgoKbWVzc2FnZV9pZBgHIAEoCRIXCg9zb3VyY2VfZXZlbnRfaWQYCCABKAkSFwoPYWRvcHRpb25fcmVhc29uGAkgASgJEi4KCmV4cGlyZXNfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEHdvcmtfZW52ZWxvcGVfaWQYCyABKAkSKQoIbWV0YWRhdGEYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Il8KI1JlY29yZENoYW5uZWxUaHJlYWRBZG9wdGlvblJlc3BvbnNlEjgKCGFkb3B0aW9uGAEgASgLMiYuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxUaHJlYWRBZG9wdGlvbiKqAgohTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnNSZXF1ZXN0Eh0KDHdvcmtzcGFjZV9pZBgBIAEoCUIHukgEcgIQARIQCghhZ2VudF9pZBgCIAEoCRJDCgxjaGFubmVsX2tpbmQYAyABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYBCABKAkSEgoKY2hhbm5lbF9pZBgFIAEoCRIRCgl0aHJlYWRfaWQYBiABKAkSGAoQd29ya19lbnZlbG9wZV9pZBgHIAEoCRIXCg9pbmNsdWRlX2V4cGlyZWQYCCABKAgSFgoFbGltaXQYCSABKAVCB7pIBBoCKAAiXwoiTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnNSZXNwb25zZRI5CglhZG9wdGlvbnMYASADKAsyJi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbFRocmVhZEFkb3B0aW9uIv4CChNMaXN0UnVuV2FpdHNSZXF1ZXN0Eh0KDHdvcmtzcGFjZV9pZBgBIAEoCUIHukgEcgIQARIOCgZydW5faWQYAiABKAkSEAoIYWdlbnRfaWQYAyABKAkSFAoMb2JqZWN0aXZlX2lkGAQgASgJEhgKEHdvcmtfZW52ZWxvcGVfaWQYBSABKAkSOwoFc3RhdGUYBiABKA4yIi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0U3RhdGVCCLpIBYIBAhABEjkKBHR5cGUYByABKA4yIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0VHlwZUIIukgFggECEAESPAoIYXVkaWVuY2UYCCABKA4yIC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUF1ZGllbmNlQgi6SAWCAQIQARIWCgVsaW1pdBgJIAEoBUIHukgEGgIoABISCgpwYWdlX3Rva2VuGAogASgJEhQKDGV4dGVybmFsX3JlZhgLIAEoCSLYBQoTQWdlbnRSdW5XYWl0U3VtbWFyeRIOCgZydW5faWQYASABKAkSDwoHd2FpdF9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkSEAoIYWdlbnRfaWQYBCABKAkSFAoMb2JqZWN0aXZlX2lkGAUgASgJEg8KB3N0ZXBfaWQYBiABKAkSLwoEdHlwZRgHIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlEjEKBXN0YXRlGAggASgOMiIuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFN0YXRlEhQKDGV4dGVybmFsX3JlZhgJIAEoCRIOCgZyZWFzb24YCiABKAkSKAoHcGF5bG9hZBgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMcmVzdW1lX2FmdGVyGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtyZXNvbHZlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUcmVzb2x2ZWRfYnlfZXZlbnRfaWQYECABKAkSPgoKdmlzaWJpbGl0eRgRIAEoCzIqLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEj8KD2NoYW5uZWxfY29udGV4dBgSIAEoCzImLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbENvbnRleHQSOwoNd29ya19lbnZlbG9wZRgTIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlImQKFExpc3RSdW5XYWl0c1Jlc3BvbnNlEjMKBXdhaXRzGAEgAygLMiQuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFN1bW1hcnkSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJImMKIVJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBI+CgdyZWNlaXB0GAEgASgLMiUuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25SZWNlaXB0Qga6SAPIAQEidwoiUmVjb3JkQ2hhbm5lbEFjdGlvblJlY2VpcHRSZXNwb25zZRI2CgdyZWNlaXB0GAEgASgLMiUuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25SZWNlaXB0EhkKEWlkZW1wb3RlbnRfcmVwbGF5GAIgASgIIjUKHkdldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASJZCh9HZXRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEjYKB3JlY2VpcHQYASABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHQi7QMKIExpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXF1ZXN0Eh0KDHdvcmtzcGFjZV9pZBgBIAEoCUIHukgEcgIQARIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSFwoPYWN0b3JfZW50aXR5X2lkGAMgASgJEkcKC3RhcmdldF9raW5kGAQgASgOMiguYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25UYXJnZXRLaW5kQgi6SAWCAQIQARIRCgl0YXJnZXRfaWQYBSABKAkSDgoGcnVuX2lkGAYgASgJEg8KB3dhaXRfaWQYByABKAkSGwoTYXBwcm92YWxfcmVxdWVzdF9pZBgIIAEoCRIUCgxvYmplY3RpdmVfaWQYCSABKAkSQwoMY2hhbm5lbF9raW5kGAogASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAsgASgJEhIKCmNoYW5uZWxfaWQYDCABKAkSEQoJdGhyZWFkX2lkGA0gASgJEhIKCm1lc3NhZ2VfaWQYDiABKAkSEQoJYWN0aW9uX2lkGA8gASgJEhYKBWxpbWl0GBAgASgFQge6SAQaAigAIlwKIUxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXNwb25zZRI3CghyZWNlaXB0cxgBIAMoCzIlLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uUmVjZWlwdCJtChRMaXN0UnVuRXZlbnRzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESPAoIYXVkaWVuY2UYAiABKA4yIC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUF1ZGllbmNlQgi6SAWCAQIQASJGChVMaXN0UnVuRXZlbnRzUmVzcG9uc2USLQoGZXZlbnRzGAEgAygLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJ+ChpMaXN0UnVuVmlydHVhbEZpbGVzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESEwoLcGF0aF9wcmVmaXgYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASGgoSaW5jbHVkZV90b21ic3RvbmVzGAQgASgIIlgKG0xpc3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRI5CgdlbnRyaWVzGAEgAygLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5IpgBChlSZWFkUnVuVmlydHVhbEZpbGVSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIVCgRwYXRoGAIgASgJQge6SARyAhABEhcKBm9mZnNldBgDIAEoBUIHukgEGgIoABIWCgVsaW1pdBgEIAEoBUIHukgEGgIoABIaChJpbmNsdWRlX3RvbWJzdG9uZXMYBSABKAgipQIKGlJlYWRSdW5WaXJ0dWFsRmlsZVJlc3BvbnNlEjcKBWVudHJ5GAEgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5Eg8KB2NvbnRlbnQYAiABKAkSDgoGb2Zmc2V0GAMgASgFEhMKC25leHRfb2Zmc2V0GAQgASgFEgsKA2VvZhgFIAEoCBJUCg9yZWRhY3Rpb25fc3RhdGUYBiABKA4yMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVkYWN0aW9uU3RhdGVCCLpIBYIBAhABEjUKCnJlZGFjdGlvbnMYByADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbiJnChlTdGF0UnVuVmlydHVhbEZpbGVSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIVCgRwYXRoGAIgASgJQge6SARyAhABEhoKEmluY2x1ZGVfdG9tYnN0b25lcxgDIAEoCCJVChpTdGF0UnVuVmlydHVhbEZpbGVSZXNwb25zZRI3CgVlbnRyeRgBIAEoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeSKzAQobV2F0Y2hSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIUCgxzaW5jZV9jdXJzb3IYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASDgoGZm9sbG93GAQgASgIEj0KCHNlbGVjdG9yGAUgASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVNlbGVjdG9yIlwKHFdhdGNoUnVuVmlydHVhbEZpbGVzUmVzcG9uc2USPAoFZXZlbnQYASABKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlV2F0Y2hFdmVudCLvAwocUnVudGltZVZpcnR1YWxGaWxlV2F0Y2hFdmVudBIOCgZjdXJzb3IYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEgwKBHBhdGgYAyABKAkSEwoLcmV2aXNpb25faWQYBCABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGAUgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAYgASgJEgwKBHZpZXcYByABKAkSDwoHc3Bhbl9pZBgIIAEoCRIXCg9ldmlkZW5jZV9oYW5kbGUYCSABKAkSGAoQcnVudGltZV9ldmVudF9pZBgKIAEoCRITCgthcnRpZmFjdF9pZBgLIAEoCRIQCgh0cmFjZV9pZBgMIAEoCRIUCgxoeWRyYXRpb25faWQYDSABKAkSFAoMcHJvbW90aW9uX2lkGA4gASgJEhgKEHByb2R1Y2VyX3NlcnZpY2UYDyABKAkSFQoNcHJvZHVjZXJfa2luZBgQIAEoCRIvCgtvY2N1cnJlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNY2hlY2twb2ludF9pZBgSIAEoCRI3CgVlbnRyeRgTIAEoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeSLnAQoaUnVudGltZVZpcnR1YWxGaWxlU2VsZWN0b3ISDQoFcGF0aHMYASADKAkSEwoLcGF0aF9wcmVmaXgYAiABKAkSDQoFdmlld3MYAyADKAkSDQoFa2luZHMYBCADKAkSDgoGbW91bnRzGAUgAygJEhcKD3RyYW5zYWN0aW9uX2lkcxgGIAMoCRIQCghwb2xpY2llcxgHIAMoCRIXCg9zb3VyY2Vfc2VydmljZXMYCCADKAkSFwoPY2VyZWJyb19pbmRleGVzGAkgAygJEhoKEmluY2x1ZGVfdG9tYnN0b25lcxgKIAEoCCL5AwocUnVudGltZVZpcnR1YWxGaWxlUmVhZFJlc3VsdBIMCgRwYXRoGAEgASgJEjcKBWVudHJ5GAIgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5Eg8KB2NvbnRlbnQYAyABKAkSFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAEhwKC25leHRfb2Zmc2V0GAUgASgFQge6SAQaAigAEgsKA2VvZhgGIAEoCBIPCgdza2lwcGVkGAcgASgIEhMKC3NraXBfcmVhc29uGAggASgJEhAKCGNpdGF0aW9uGAkgASgJEhUKBHJhbmsYCiABKAVCB7pIBBoCKAASEwoLcmFua19yZWFzb24YCyABKAkSTAoLcmVhc29uX2NvZGUYDCABKA4yLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVhc29uQ29kZUIIukgFggECEAESVAoPcmVkYWN0aW9uX3N0YXRlGA0gASgOMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlQgi6SAWCAQIQARI1CgpyZWRhY3Rpb25zGA4gAygLMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb24i0AEKH0JhdGNoUmVhZFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEj0KCHNlbGVjdG9yGAIgASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVNlbGVjdG9yEh8KDnBlcl9maWxlX2xpbWl0GAMgASgFQge6SAQaAigAEhwKC3RvdGFsX2xpbWl0GAQgASgFQge6SAQaAigAEhYKBWxpbWl0GAUgASgFQge6SAQaAigAIsABCiBCYXRjaFJlYWRSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRI8CgVmaWxlcxgBIAMoCzItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWFkUmVzdWx0EiQKE3RvdGFsX2NvbnRlbnRfYnl0ZXMYAiABKAVCB7pIBBoCKAASGAoQYnVkZ2V0X2V4aGF1c3RlZBgDIAEoCBIeCg1za2lwcGVkX2NvdW50GAQgASgFQge6SAQaAigAIvkBCiVCdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2tSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARINCgVxdWVyeRgCIAEoCRI9CghzZWxlY3RvchgDIAEoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVTZWxlY3RvchISCgpzZWVkX3BhdGhzGAQgAygJEh8KDnBlcl9maWxlX2xpbWl0GAUgASgFQge6SAQaAigAEhwKC3RvdGFsX2xpbWl0GAYgASgFQge6SAQaAigAEhYKBWxpbWl0GAcgASgFQge6SAQaAigAIuABCiZCdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2tSZXNwb25zZRI/CghzbmlwcGV0cxgBIAMoCzItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWFkUmVzdWx0EiQKE3RvdGFsX2NvbnRlbnRfYnl0ZXMYAiABKAVCB7pIBBoCKAASGAoQYnVkZ2V0X2V4aGF1c3RlZBgDIAEoCBIeCg1za2lwcGVkX2NvdW50GAQgASgFQge6SAQaAigAEhUKDXNraXBwZWRfcGF0aHMYBSADKAkiggIKHFNlYXJjaFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhYKBXF1ZXJ5GAIgASgJQge6SARyAhABEhMKC3BhdGhfcHJlZml4GAMgASgJEhYKBWxpbWl0GAQgASgFQge6SAQaAigAEj0KCHNlbGVjdG9yGAUgASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVNlbGVjdG9yEg0KBXJlZ2V4GAYgASgIEh4KDWNvbnRleHRfbGluZXMYByABKAVCB7pIBBoCKAASFgoOY2FzZV9zZW5zaXRpdmUYCCABKAgikwEKHVNlYXJjaFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEjkKB21hdGNoZXMYASADKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlTWF0Y2gSHgoNdG90YWxfbWF0Y2hlcxgCIAEoBUIHukgEGgIoABIXCg9saW1pdF9leGhhdXN0ZWQYAyABKAgisQQKI1JlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIVCgRwYXRoGAMgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYBCABKAkSDwoHY29udGVudBgFIAEoCRIVCg1wcm9wb3NhbF9raW5kGAYgASgJEg8KB3N0ZXBfaWQYByABKAkSVAoIbWV0YWRhdGEYCCADKAsyQi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbFJlcXVlc3QuTWV0YWRhdGFFbnRyeRIXCg9pZGVtcG90ZW5jeV9rZXkYCSABKAkSQgoLc2Vuc2l0aXZpdHkYCiABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVNlbnNpdGl2aXR5Qgi6SAWCAQIQARJUCg9yZWRhY3Rpb25fc3RhdGUYCyABKA4yMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVkYWN0aW9uU3RhdGVCCLpIBYIBAhABEjUKCnJlZGFjdGlvbnMYDCADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbhovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi5AEKJFJlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SMwoIYXJ0aWZhY3QYAiABKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIxCgRmaWxlGAMgASgLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQiqwQKGFJ1bnRpbWVWaXJ0dWFsRmlsZUNoYW5nZRIVCgRwYXRoGAEgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCRIVCg1wcm9wb3NhbF9raW5kGAQgASgJEg8KB3N0ZXBfaWQYBSABKAkSSQoIbWV0YWRhdGEYBiADKAsyNy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlQ2hhbmdlLk1ldGFkYXRhRW50cnkSQgoLc2Vuc2l0aXZpdHkYByABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVNlbnNpdGl2aXR5Qgi6SAWCAQIQARJUCg9yZWRhY3Rpb25fc3RhdGUYCCABKA4yMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVkYWN0aW9uU3RhdGVCCLpIBYIBAhABEjUKCnJlZGFjdGlvbnMYCSADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbhJJCglvcGVyYXRpb24YCiABKA4yLC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlT3BlcmF0aW9uQgi6SAWCAQIQARITCgtyZW5hbWVfZnJvbRgLIAEoCRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi8gIKJlJlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIWCg50cmFuc2FjdGlvbl9pZBgDIAEoCRIaChJwYXJlbnRfcmV2aXNpb25faWQYBCABKAkSOgoHY2hhbmdlcxgFIAMoCzIpLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVDaGFuZ2USVwoIbWV0YWRhdGEYBiADKAsyRS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QuTWV0YWRhdGFFbnRyeRIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIukBCidSZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgCIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAMgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQixgIKJ1Byb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHwoOdHJhbnNhY3Rpb25faWQYAyABKAlCB7pIBHICEAESIwobZXhwZWN0ZWRfcGFyZW50X3JldmlzaW9uX2lkGAQgASgJEhMKC2FwcHJvdmVyX2lkGAUgASgJElgKCG1ldGFkYXRhGAYgAygLMkYuYWdlbnRydW50aW1lLnYxLlByb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLqAQooUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNAoJYXJ0aWZhY3RzGAIgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMgoFZmlsZXMYAyADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAQgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLGAQoaUnVudGltZVZpcnR1YWxGaWxlRGlmZkh1bmsSHwoOb2xkX3N0YXJ0X2xpbmUYASABKAVCB7pIBBoCKAASHwoOb2xkX2xpbmVfY291bnQYAiABKAVCB7pIBBoCKAASHwoObmV3X3N0YXJ0X2xpbmUYAyABKAVCB7pIBBoCKAASHwoObmV3X2xpbmVfY291bnQYBCABKAVCB7pIBBoCKAASDgoGaGVhZGVyGAUgASgJEhQKDHVuaWZpZWRfZGlmZhgGIAEoCSL/BAolUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25GaWxlRGlmZhIMCgRwYXRoGAEgASgJEkkKCW9wZXJhdGlvbhgCIAEoDjIsLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVPcGVyYXRpb25CCLpIBYIBAhABElkKDGFwcGx5X3N0YXR1cxgDIAEoDjI5LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkFwcGx5U3RhdHVzQgi6SAWCAQIQARIaChJwYXJlbnRfcmV2aXNpb25faWQYBCABKAkSGAoQYmFzZV9yZXZpc2lvbl9pZBgFIAEoCRIbChNjdXJyZW50X3JldmlzaW9uX2lkGAYgASgJEhwKFHByb3Bvc2VkX3JldmlzaW9uX2lkGAcgASgJEhsKE2Jhc2VfY29udGVudF9zaGEyNTYYCCABKAkSHgoWY3VycmVudF9jb250ZW50X3NoYTI1NhgJIAEoCRIfChdwcm9wb3NlZF9jb250ZW50X3NoYTI1NhgKIAEoCRIaCglhZGRpdGlvbnMYCyABKAVCB7pIBBoCKAASGgoJZGVsZXRpb25zGAwgASgFQge6SAQaAigAEg4KBmJpbmFyeRgNIAEoCBIRCgl0b21ic3RvbmUYDiABKAgSEwoLcmVuYW1lX2Zyb20YDyABKAkSEQoJcmVuYW1lX3RvGBAgASgJEhQKDHVuaWZpZWRfZGlmZhgRIAEoCRI6CgVodW5rcxgSIAMoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVEaWZmSHVuayKcAwolUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25Db25mbGljdBIMCgRwYXRoGAEgASgJEkwKC3JlYXNvbl9jb2RlGAIgASgOMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlYXNvbkNvZGVCCLpIBYIBAhABElkKDGFwcGx5X3N0YXR1cxgDIAEoDjI5LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkFwcGx5U3RhdHVzQgi6SAWCAQIQARIPCgdtZXNzYWdlGAQgASgJEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgFIAEoCRIYChBiYXNlX3JldmlzaW9uX2lkGAYgASgJEhsKE2N1cnJlbnRfcmV2aXNpb25faWQYByABKAkSHAoUcHJvcG9zZWRfcmV2aXNpb25faWQYCCABKAkSOgoFaHVua3MYCSADKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRGlmZkh1bmsivgMKIVJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRGlmZhIWCg50cmFuc2FjdGlvbl9pZBgBIAEoCRJFCgVmaWxlcxgCIAMoCzI2LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkZpbGVEaWZmEhQKDHVuaWZpZWRfZGlmZhgDIAEoCRIbCgpmaWxlX2NvdW50GAQgASgFQge6SAQaAigAEiMKEmNoYW5nZWRfZmlsZV9jb3VudBgFIAEoBUIHukgEGgIoABIaCglhZGRpdGlvbnMYBiABKAVCB7pIBBoCKAASGgoJZGVsZXRpb25zGAcgASgFQge6SAQaAigAEg0KBXN0YWxlGAggASgIElAKB291dGNvbWUYCSABKA4yNS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25PdXRjb21lQgi6SAWCAQIQARJJCgljb25mbGljdHMYCiADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25Db25mbGljdCKAAQokRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIfCg50cmFuc2FjdGlvbl9pZBgCIAEoCUIHukgEcgIQARIeCg1jb250ZXh0X2xpbmVzGAMgASgFQge6SAQaAigAImkKJURpZmZSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USQAoEZGlmZhgBIAEoCzIyLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkRpZmYi4gIKJUFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEh8KDnRyYW5zYWN0aW9uX2lkGAMgASgJQge6SARyAhABEiMKG2V4cGVjdGVkX3BhcmVudF9yZXZpc2lvbl9pZBgEIAEoCRITCgthcHByb3Zlcl9pZBgFIAEoCRJWCghtZXRhZGF0YRgGIAMoCzJELmFnZW50cnVudGltZS52MS5BcHBseVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0Lk1ldGFkYXRhRW50cnkSHgoNY29udGV4dF9saW5lcxgHIAEoBUIHukgEGgIoABovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi/AIKJkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlElAKB291dGNvbWUYASABKA4yNS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25PdXRjb21lQgi6SAWCAQIQARJACgRkaWZmGAIgASgLMjIuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRGlmZhImCgNydW4YAyABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNAoJYXJ0aWZhY3RzGAQgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMgoFZmlsZXMYBSADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAYgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLiAgomUmViYXNlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEiYKFXNvdXJjZV90cmFuc2FjdGlvbl9pZBgDIAEoCUIHukgEcgIQARIWCg50cmFuc2FjdGlvbl9pZBgEIAEoCRJXCghtZXRhZGF0YRgFIAMoCzJFLmFnZW50cnVudGltZS52MS5SZWJhc2VSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdC5NZXRhZGF0YUVudHJ5EhcKD2lkZW1wb3RlbmN5X2tleRgGIAEoCRIeCg1jb250ZXh0X2xpbmVzGAcgASgFQge6SAQaAigAGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK0AwonUmViYXNlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlElAKB291dGNvbWUYASABKA4yNS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25PdXRjb21lQgi6SAWCAQIQARIdChVzb3VyY2VfdHJhbnNhY3Rpb25faWQYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAkSQAoEZGlmZhgEIAEoCzIyLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkRpZmYSJgoDcnVuGAUgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgGIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAcgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgIIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi4wIKIUh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESFgoFbW91bnQYAyABKAlCB7pIBHICEAESEwoLcHJvdmlkZXJfaWQYBCABKAkSFQoNY29ubmVjdGlvbl9pZBgFIAEoCRINCgVxdWVyeRgGIAEoCRIWCgVsaW1pdBgHIAEoBUIHukgEGgIoABJSCghtZXRhZGF0YRgIIAMoCzJALmFnZW50cnVudGltZS52MS5IeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlcXVlc3QuTWV0YWRhdGFFbnRyeRIXCg9pZGVtcG90ZW5jeV9rZXkYCSABKAkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuQBCiJIeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYAiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IjgKHUluc3BlY3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQASLsBQoiUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yU3VtbWFyeRIbCgpmaWxlX2NvdW50GAEgASgFQge6SAQaAigAEhwKC21vdW50X2NvdW50GAIgASgFQge6SAQaAigAEiIKEXRyYW5zYWN0aW9uX2NvdW50GAMgASgFQge6SAQaAigAEiEKEGxhenlfbW91bnRfY291bnQYBCABKAVCB7pIBBoCKAASJAoTaHlkcmF0ZWRfZmlsZV9jb3VudBgFIAEoBUIHukgEGgIoABIoChdjZXJlYnJvX2NhbmRpZGF0ZV9jb3VudBgGIAEoBUIHukgEGgIoABIkChNjZXJlYnJvX3JlYWR5X2NvdW50GAcgASgFQge6SAQaAigAEiQKE2FjY2VwdGVkX2ZpbGVfY291bnQYCCABKAVCB7pIBBoCKAASJgoVY29udGVudF9hZGRyZXNzX2NvdW50GAkgASgFQge6SAQaAigAEioKGWh5ZHJhdGlvbl9jYWNoZV9oaXRfY291bnQYCiABKAVCB7pIBBoCKAASKAoXc3RhbGVfdHJhbnNhY3Rpb25fY291bnQYCyABKAVCB7pIBBoCKAASJAoTc2hhZG93ZWRfZmlsZV9jb3VudBgMIAEoBUIHukgEGgIoABIfCg5wcm9kdWNlcl9jb3VudBgNIAEoBUIHukgEGgIoABIoChdwcmV2aWV3X29ubHlfZmlsZV9jb3VudBgOIAEoBUIHukgEGgIoABIiChFkZW5pZWRfZmlsZV9jb3VudBgPIAEoBUIHukgEGgIoABImChVyZXN0cmljdGVkX2ZpbGVfY291bnQYECABKAVCB7pIBBoCKAASJQoUdG9tYnN0b25lX2ZpbGVfY291bnQYESABKAVCB7pIBBoCKAASIgoRZGVsZXRlX2ZpbGVfY291bnQYEiABKAVCB7pIBBoCKAASIgoRcmVuYW1lX2ZpbGVfY291bnQYEyABKAVCB7pIBBoCKAAilgQKIFJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3Rvck1vdW50EgwKBHBhdGgYASABKAkSGwoKZmlsZV9jb3VudBgCIAEoBUIHukgEGgIoABIbCgpzaXplX2J5dGVzGAMgASgDQge6SAQiAigAEgwKBGxhenkYBCABKAgSEwoLcHJvdmlkZXJfaWQYBSABKAkSFQoNY29ubmVjdGlvbl9pZBgGIAEoCRIUCgxjYWNoZV9wb2xpY3kYByABKAkSDgoGcG9saWN5GAggASgJEhUKDWNlcmVicm9faW5kZXgYCSABKAkSIQoQc2VjcmV0X3JlZl9jb3VudBgKIAEoBUIHukgEGgIoABIXCg9zb3VyY2Vfc2VydmljZXMYCyADKAkSKAoXcHJldmlld19vbmx5X2ZpbGVfY291bnQYDCABKAVCB7pIBBoCKAASIgoRZGVuaWVkX2ZpbGVfY291bnQYDSABKAVCB7pIBBoCKAASJgoVcmVzdHJpY3RlZF9maWxlX2NvdW50GA4gASgFQge6SAQaAigAEhQKDGNhcGFiaWxpdGllcxgPIAMoCRIQCgh3cml0YWJsZRgQIAEoCBIRCglyZWFkX29ubHkYESABKAgSEQoJZ2VuZXJhdGVkGBIgASgIEhcKD2V2aWRlbmNlX2JhY2tlZBgTIAEoCBIaChJleHRlcm5hbGx5X2luZGV4ZWQYFCABKAgiuAIKJlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclRyYW5zYWN0aW9uEhYKDnRyYW5zYWN0aW9uX2lkGAEgASgJEgwKBHZpZXcYAiABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGAMgASgJEhsKCmZpbGVfY291bnQYBCABKAVCB7pIBBoCKAASDgoGcG9saWN5GAUgASgJEhUKDWNlcmVicm9faW5kZXgYBiABKAkSGQoRY29udGVudF9hZGRyZXNzZXMYByADKAkSJQoUdG9tYnN0b25lX2ZpbGVfY291bnQYCCABKAVCB7pIBBoCKAASIgoRZGVsZXRlX2ZpbGVfY291bnQYCSABKAVCB7pIBBoCKAASIgoRcmVuYW1lX2ZpbGVfY291bnQYCiABKAVCB7pIBBoCKAAi0wIKI1J1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclByb2R1Y2VyEhgKEHByb2R1Y2VyX3NlcnZpY2UYASABKAkSFQoNcHJvZHVjZXJfa2luZBgCIAEoCRIbCgpmaWxlX2NvdW50GAMgASgFQge6SAQaAigAEh8KDnJldmlzaW9uX2NvdW50GAQgASgFQge6SAQaAigAEhkKEXJ1bnRpbWVfZXZlbnRfaWRzGAUgAygJEhQKDGFydGlmYWN0X2lkcxgGIAMoCRIQCghzdGVwX2lkcxgHIAMoCRIaChJ0b29sX2V4ZWN1dGlvbl9pZHMYCCADKAkSEQoJdHJhY2VfaWRzGAkgAygJEhUKDWh5ZHJhdGlvbl9pZHMYCiADKAkSFwoPdHJhbnNhY3Rpb25faWRzGAsgAygJEhsKE3BhcmVudF9yZXZpc2lvbl9pZHMYDCADKAki/AIKHkluc3BlY3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRJECgdzdW1tYXJ5GAEgASgLMjMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclN1bW1hcnkSQQoGbW91bnRzGAIgAygLMjEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3Rvck1vdW50Ek0KDHRyYW5zYWN0aW9ucxgDIAMoCzI3LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JUcmFuc2FjdGlvbhI5CgdlbnRyaWVzGAQgAygLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5EkcKCXByb2R1Y2VycxgFIAMoCzI0LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JQcm9kdWNlciq/AgoNQWdlbnRSdW5TdGF0ZRIfChtBR0VOVF9SVU5fU1RBVEVfVU5TUEVDSUZJRUQQABIcChhBR0VOVF9SVU5fU1RBVEVfQUNDRVBURUQQARIaChZBR0VOVF9SVU5fU1RBVEVfUVVFVUVEEAISGwoXQUdFTlRfUlVOX1NUQVRFX1JVTk5JTkcQAxIbChdBR0VOVF9SVU5fU1RBVEVfV0FJVElORxAEEh0KGUFHRU5UX1JVTl9TVEFURV9TVUNDRUVERUQQBRIaChZBR0VOVF9SVU5fU1RBVEVfRkFJTEVEEAYSHQoZQUdFTlRfUlVOX1NUQVRFX0NBTkNFTExFRBAHEhwKGEFHRU5UX1JVTl9TVEFURV9SRVRSWUlORxAIEiEKHUFHRU5UX1JVTl9TVEFURV9ERUFEX0xFVFRFUkVEEAkqqgIKEUFnZW50UnVuU3RlcFN0YXRlEiQKIEFHRU5UX1JVTl9TVEVQX1NUQVRFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfUlVOX1NURVBfU1RBVEVfUEVORElORxABEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1JVTk5JTkcQAhIgChxBR0VOVF9SVU5fU1RFUF9TVEFURV9XQUlUSU5HEAMSIgoeQUdFTlRfUlVOX1NURVBfU1RBVEVfU1VDQ0VFREVEEAQSHwobQUdFTlRfUlVOX1NURVBfU1RBVEVfRkFJTEVEEAUSIgoeQUdFTlRfUlVOX1NURVBfU1RBVEVfQ0FOQ0VMTEVEEAYSIAocQUdFTlRfUlVOX1NURVBfU1RBVEVfU0tJUFBFRBAHKucDChBBZ2VudFJ1blN0ZXBLaW5kEiMKH0FHRU5UX1JVTl9TVEVQX0tJTkRfVU5TUEVDSUZJRUQQABIiCh5BR0VOVF9SVU5fU1RFUF9LSU5EX01PREVMX0NBTEwQARIoCiRBR0VOVF9SVU5fU1RFUF9LSU5EX1RPT0xfQ0FMTF9JTlRFTlQQAhIjCh9BR0VOVF9SVU5fU1RFUF9LSU5EX1RPT0xfUkVTVUxUEAMSJQohQUdFTlRfUlVOX1NURVBfS0lORF9BUFBST1ZBTF9XQUlUEAQSHQoZQUdFTlRfUlVOX1NURVBfS0lORF9FUlJPUhAFEh4KGkFHRU5UX1JVTl9TVEVQX0tJTkRfU1lTVEVNEAYSKgomQUdFTlRfUlVOX1NURVBfS0lORF9DT05URVhUX0VOUklDSE1FTlQQBxIcChhBR0VOVF9SVU5fU1RFUF9LSU5EX1BMQU4QCBIdChlBR0VOVF9SVU5fU1RFUF9LSU5EX1BBVENIEAkSHAoYQUdFTlRfUlVOX1NURVBfS0lORF9URVNUEAoSKQolQUdFTlRfUlVOX1NURVBfS0lORF9QVUxMX1JFUVVFU1RfU1lOQxALEiMKH0FHRU5UX1JVTl9TVEVQX0tJTkRfUkVWSUVXX1NZTkMQDCq2AQoQQWdlbnRSdW5XYWl0VHlwZRIjCh9BR0VOVF9SVU5fV0FJVF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfUlVOX1dBSVRfVFlQRV9BUFBST1ZBTBABEh0KGUFHRU5UX1JVTl9XQUlUX1RZUEVfSU5QVVQQAhIdChlBR0VOVF9SVU5fV0FJVF9UWVBFX0VWRU5UEAMSHQoZQUdFTlRfUlVOX1dBSVRfVFlQRV9USU1FUhAEKsQBChFBZ2VudFJ1bldhaXRTdGF0ZRIkCiBBR0VOVF9SVU5fV0FJVF9TVEFURV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX1JVTl9XQUlUX1NUQVRFX1BFTkRJTkcQARIhCh1BR0VOVF9SVU5fV0FJVF9TVEFURV9SRVNPTFZFRBACEiAKHEFHRU5UX1JVTl9XQUlUX1NUQVRFX0VYUElSRUQQAxIiCh5BR0VOVF9SVU5fV0FJVF9TVEFURV9DQU5DRUxMRUQQBCrFBAoUQWdlbnRSdW5BcnRpZmFjdEtpbmQSJwojQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfVU5TUEVDSUZJRUQQABInCiNBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9UT09MX1JFU1VMVBABEiEKHUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0NIQVJUEAISIgoeQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUkVQT1JUEAMSIAocQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfRklMRRAEEiYKIkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1RSQU5TQ1JJUFQQBRIpCiVBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9BUFBST1ZBTF9QTEFOEAYSIgoeQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfU1lTVEVNEAcSIQodQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUEFUQ0gQCBIoCiRBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9QVUxMX1JFUVVFU1QQCRIwCixBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9QVUxMX1JFUVVFU1RfQ09NTUVOVBAKEiUKIUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0NJX1NUQVRVUxALEiUKIUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1JVTl9QQU5FTBAMEi4KKkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0VWQUxVQVRJT05fRVhBTVBMRRANKpINChBSdW50aW1lRXZlbnRUeXBlEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEicKI1JVTlRJTUVfRVZFTlRfVFlQRV9UUklHR0VSX0FDQ0VQVEVEEAESLAooUlVOVElNRV9FVkVOVF9UWVBFX0FHRU5UX0NPTkZJR19SRVNPTFZFRBACEikKJVJVTlRJTUVfRVZFTlRfVFlQRV9PQkpFQ1RJVkVfUkVTT0xWRUQQAxIkCiBSVU5USU1FX0VWRU5UX1RZUEVfQ09OVEVYVF9CVUlMVBAEEigKJFJVTlRJTUVfRVZFTlRfVFlQRV9XT1JLRVJfRElTUEFUQ0hFRBAFEiEKHVJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fRkFJTEVEEAYSIQodUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9RVUVVRUQQBxIiCh5SVU5USU1FX0VWRU5UX1RZUEVfUlVOX0NMQUlNRUQQCBImCiJSVU5USU1FX0VWRU5UX1RZUEVfTEVBU0VfSEVBUlRCRUFUEAkSJAogUlVOVElNRV9FVkVOVF9UWVBFX1NURVBfUkVDT1JERUQQChIqCiZSVU5USU1FX0VWRU5UX1RZUEVfQ0hFQ0tQT0lOVF9SRUNPUkRFRBALEigKJFJVTlRJTUVfRVZFTlRfVFlQRV9BUlRJRkFDVF9SRUNPUkRFRBAMEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9DT1NUX1JFQ09SREVEEA0SIgoeUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9XQUlUSU5HEA4SIgoeUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9SRVNVTUVEEA8SJAogUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9TVUNDRUVERUQQEBIkCiBSVU5USU1FX0VWRU5UX1RZUEVfUlVOX0NBTkNFTExFRBAREioKJlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fUkVUUllfU0NIRURVTEVEEBISKAokUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9ERUFEX0xFVFRFUkVEEBMSLQopUlVOVElNRV9FVkVOVF9UWVBFX1NUUkVBTV9DVVJTT1JfUkVDT1JERUQQFBIyCi5SVU5USU1FX0VWRU5UX1RZUEVfQ09ERVhfSU5URVJBQ1RJT05fUkVRVUVTVEVEEBUSMQotUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX0lOVEVSQUNUSU9OX1JFU09MVkVEEBYSLgoqUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX1BST0dSRVNTX1JFQ09SREVEEBcSKgomUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX09VVFBVVF9TWU5DRUQQGBItCilSVU5USU1FX0VWRU5UX1RZUEVfQ09ERVhfT1VUQ09NRV9PQlNFUlZFRBAZEi8KK1JVTlRJTUVfRVZFTlRfVFlQRV9DSEFOTkVMX01FU1NBR0VfUkVDT1JERUQQGhIuCipSVU5USU1FX0VWRU5UX1RZUEVfTU9ERUxfUkVTUE9OU0VfUkVDT1JERUQQGxIpCiVSVU5USU1FX0VWRU5UX1RZUEVfVE9PTF9DQUxMX1JFQ09SREVEEBwSKwonUlVOVElNRV9FVkVOVF9UWVBFX1RPT0xfUkVTVUxUX1JFQ09SREVEEB0SKQolUlVOVElNRV9FVkVOVF9UWVBFX0FQUFJPVkFMX1JFUVVFU1RFRBAeEigKJFJVTlRJTUVfRVZFTlRfVFlQRV9BUFBST1ZBTF9SRVNPTFZFRBAfEi4KKlJVTlRJTUVfRVZFTlRfVFlQRV9BR0VOVF9QUk9HUkVTU19SRUNPUkRFRBAgEisKJ1JVTlRJTUVfRVZFTlRfVFlQRV9SVU5fQ09OVFJPTF9SRUNPUkRFRBAhEikKJVJVTlRJTUVfRVZFTlRfVFlQRV9XT1JLX0lURU1fUkVDT1JERUQQIhIoCiRSVU5USU1FX0VWRU5UX1RZUEVfV09SS19JVEVNX1VQREFURUQQIxIzCi9SVU5USU1FX0VWRU5UX1RZUEVfUFJPQ0VTU0lOR19QUkVTRU5DRV9SRUNPUkRFRBAkEjAKLFJVTlRJTUVfRVZFTlRfVFlQRV9BVVRPTk9NWV9TRVNTSU9OX1JFQ09SREVEECUSIgoeUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9ZSUVMREVEECYq6gEKDlJ1bkNvbnRyb2xNb2RlEiAKHFJVTl9DT05UUk9MX01PREVfVU5TUEVDSUZJRUQQABIaChZSVU5fQ09OVFJPTF9NT0RFX1NURUVSEAESHQoZUlVOX0NPTlRST0xfTU9ERV9GT0xMT1dVUBACEhwKGFJVTl9DT05UUk9MX01PREVfQ09MTEVDVBADEh4KGlJVTl9DT05UUk9MX01PREVfSU5URVJSVVBUEAQSGwoXUlVOX0NPTlRST0xfTU9ERV9DQU5DRUwQBRIgChxSVU5fQ09OVFJPTF9NT0RFX1NZU1RFTV9XQUtFEAYqmQQKF0F1dG9ub215UHJvY2Vzc2luZ1N0YXRlEikKJUFVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfVU5TUEVDSUZJRUQQABIkCiBBVVRPTk9NWV9QUk9DRVNTSU5HX1NUQVRFX1FVRVVFRBABEicKI0FVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfT1JJRU5USU5HEAISJgoiQVVUT05PTVlfUFJPQ0VTU0lOR19TVEFURV9USElOS0lORxADEigKJEFVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfVVNJTkdfVE9PTBAEEi8KK0FVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfU1BBV05JTkdfQ0hJTERSRU4QBRIxCi1BVVRPTk9NWV9QUk9DRVNTSU5HX1NUQVRFX1dBSVRJTkdfT05fQVBQUk9WQUwQBhIuCipBVVRPTk9NWV9QUk9DRVNTSU5HX1NUQVRFX1dBSVRJTkdfT05fRVZFTlQQBxIqCiZBVVRPTk9NWV9QUk9DRVNTSU5HX1NUQVRFX1NZTlRIRVNJWklORxAIEigKJEFVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfQ09NUExFVElORxAJEiIKHkFVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfSURMRRAKEiQKIEFVVE9OT01ZX1BST0NFU1NJTkdfU1RBVEVfRkFJTEVEEAsq8AIKEUFnZW50V29ya0l0ZW1LaW5kEiQKIEFHRU5UX1dPUktfSVRFTV9LSU5EX1VOU1BFQ0lGSUVEEAASHQoZQUdFTlRfV09SS19JVEVNX0tJTkRfUk9PVBABEiMKH0FHRU5UX1dPUktfSVRFTV9LSU5EX01PREVMX0NBTEwQAhIiCh5BR0VOVF9XT1JLX0lURU1fS0lORF9UT09MX0NBTEwQAxIiCh5BR0VOVF9XT1JLX0lURU1fS0lORF9DSElMRF9SVU4QBBIdChlBR0VOVF9XT1JLX0lURU1fS0lORF9XQUlUEAUSHwobQUdFTlRfV09SS19JVEVNX0tJTkRfTUVNT1JZEAYSIwofQUdFTlRfV09SS19JVEVNX0tJTkRfVVNFUl9JTlBVVBAHEiEKHUFHRU5UX1dPUktfSVRFTV9LSU5EX0ZPTExPV1VQEAgSIQodQUdFTlRfV09SS19JVEVNX0tJTkRfUkVDT1ZFUlkQCSqzAgoSQWdlbnRXb3JrSXRlbVN0YXRlEiUKIUFHRU5UX1dPUktfSVRFTV9TVEFURV9VTlNQRUNJRklFRBAAEiEKHUFHRU5UX1dPUktfSVRFTV9TVEFURV9QRU5ESU5HEAESIQodQUdFTlRfV09SS19JVEVNX1NUQVRFX1JVTk5JTkcQAhIhCh1BR0VOVF9XT1JLX0lURU1fU1RBVEVfV0FJVElORxADEiEKHUFHRU5UX1dPUktfSVRFTV9TVEFURV9CTE9DS0VEEAQSIwofQUdFTlRfV09SS19JVEVNX1NUQVRFX1NVQ0NFRURFRBAFEiAKHEFHRU5UX1dPUktfSVRFTV9TVEFURV9GQUlMRUQQBhIjCh9BR0VOVF9XT1JLX0lURU1fU1RBVEVfQ0FOQ0VMTEVEEAcq7wEKFEF1dG9ub215U2Vzc2lvblN0YXRlEiYKIkFVVE9OT01ZX1NFU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIhCh1BVVRPTk9NWV9TRVNTSU9OX1NUQVRFX0FDVElWRRABEh8KG0FVVE9OT01ZX1NFU1NJT05fU1RBVEVfSURMRRACEiIKHkFVVE9OT01ZX1NFU1NJT05fU1RBVEVfV0FJVElORxADEiEKHUFVVE9OT01ZX1NFU1NJT05fU1RBVEVfRkFJTEVEEAQSJAogQVVUT05PTVlfU0VTU0lPTl9TVEFURV9DQU5DRUxMRUQQBSrDAQoRWWllbGRDb250aW51YXRpb24SIgoeWUlFTERfQ09OVElOVUFUSU9OX1VOU1BFQ0lGSUVEEAASJwojWUlFTERfQ09OVElOVUFUSU9OX0lOTElORV9ORVhUX1NURVAQARIgChxZSUVMRF9DT05USU5VQVRJT05fU0NIRURVTEVEEAISGwoXWUlFTERfQ09OVElOVUFUSU9OX1dBSVQQAxIiCh5ZSUVMRF9DT05USU5VQVRJT05fRU5EX1NFU1NJT04QBCrpAQoXUnVudGltZURlcGVuZGVuY3lTdGF0dXMSKQolUlVOVElNRV9ERVBFTkRFTkNZX1NUQVRVU19VTlNQRUNJRklFRBAAEiYKIlJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfUkVTT0xWRUQQARInCiNSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX05PVF9GT1VORBACEiwKKFJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfTk9UX0NPTkZJR1VSRUQQAxIkCiBSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX0xPQURFRBAEKoQDChdSdW50aW1lV29ya0VudmVsb3BlS2luZBIqCiZSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9VTlNQRUNJRklFRBAAEjIKLlJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX0NPTlZFUlNBVElPTl9USFJFQUQQARIyCi5SVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9ESVJFQ1RfQ09OVkVSU0FUSU9OEAISJQohUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfVElDS0VUEAMSLQopUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfQ0FMRU5EQVJfRVZFTlQQBBIrCidSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9QVUxMX1JFUVVFU1QQBRInCiNSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9JTkNJREVOVBAGEikKJVJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX1JFUE9TSVRPUlkQByqvAwoSUnVudGltZUNoYW5uZWxLaW5kEiQKIFJVTlRJTUVfQ0hBTk5FTF9LSU5EX1VOU1BFQ0lGSUVEEAASHgoaUlVOVElNRV9DSEFOTkVMX0tJTkRfU0xBQ0sQARIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9XRUIQAhIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9BUEkQAxIeChpSVU5USU1FX0NIQU5ORUxfS0lORF9FTUFJTBAEEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0dJVEhVQhAFEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0xJTkVBUhAGEh0KGVJVTlRJTUVfQ0hBTk5FTF9LSU5EX0pJUkEQBxIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9JREUQCBIjCh9SVU5USU1FX0NIQU5ORUxfS0lORF9NT05JVE9SSU5HEAkSKgomUlVOVElNRV9DSEFOTkVMX0tJTkRfQlJPV1NFUl9FWFRFTlNJT04QChInCiNSVU5USU1FX0NIQU5ORUxfS0lORF9ERVNLVE9QX0hFTFBFUhALKqcHChJSdW50aW1lVHJpZ2dlcktpbmQSJAogUlVOVElNRV9UUklHR0VSX0tJTkRfVU5TUEVDSUZJRUQQABIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BUFBfTUVOVElPThABEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0RJUkVDVF9NRVNTQUdFEAISLAooUlVOVElNRV9UUklHR0VSX0tJTkRfU0xBQ0tfU0xBU0hfQ09NTUFORBADEiUKIVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FDVElPThAEEjIKLlJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX1RIUkVBRF9DT05USU5VQVRJT04QBRIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19FVkVOVBAGEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX0VOU0VNQkxFX1dFQl9NRVNTQUdFEAcSLworUlVOVElNRV9UUklHR0VSX0tJTkRfRU5TRU1CTEVfV0VCSE9PS19FVkVOVBAIEiEKHVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NDSEVEVUxFEAkSHgoaUlVOVElNRV9UUklHR0VSX0tJTkRfRU1BSUwQChIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9BUEkQCxIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9XRUIQDBItCilSVU5USU1FX1RSSUdHRVJfS0lORF9HSVRIVUJfSVNTVUVfQ09NTUVOVBANEjQKMFJVTlRJTUVfVFJJR0dFUl9LSU5EX0dJVEhVQl9QVUxMX1JFUVVFU1RfQ09NTUVOVBAOEiYKIlJVTlRJTUVfVFJJR0dFUl9LSU5EX0xJTkVBUl9BQ1RJT04QDxIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9JREVfQ09NTUFORBAQEikKJVJVTlRJTUVfVFJJR0dFUl9LSU5EX01PTklUT1JJTkdfQUxFUlQQERIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9QUk9BQ1RJVkVfUEFUVEVSThASEjcKM1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfU1RBUlRFRBATEj8KO1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfQ09OVEVYVF9DSEFOR0VEEBQqmQIKFlJ1bnRpbWVWaXNpYmlsaXR5TGV2ZWwSKAokUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX1VOU1BFQ0lGSUVEEAASJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FHRU5UX09OTFkQARIpCiVSVU5USU1FX1ZJU0lCSUxJVFlfTEVWRUxfVVNFUl9WSVNJQkxFEAISLAooUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0NIQU5ORUxfVklTSUJMRRADEioKJlJVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9BRE1JTl9WSVNJQkxFEAQSJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FVRElUX09OTFkQBSrxAQoPUnVudGltZUF1ZGllbmNlEiAKHFJVTlRJTUVfQVVESUVOQ0VfVU5TUEVDSUZJRUQQABIaChZSVU5USU1FX0FVRElFTkNFX0FHRU5UEAESIgoeUlVOVElNRV9BVURJRU5DRV9UUklHR0VSX0FDVE9SEAISHAoYUlVOVElNRV9BVURJRU5DRV9DSEFOTkVMEAMSJQohUlVOVElNRV9BVURJRU5DRV9XT1JLU1BBQ0VfQURNSU5TEAQSGgoWUlVOVElNRV9BVURJRU5DRV9BVURJVBAFEhsKF1JVTlRJTUVfQVVESUVOQ0VfU1lTVEVNEAYqnwMKEUNoYW5uZWxBY3Rpb25LaW5kEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0FQUFJPVkFMX0RFQ0lTSU9OEAESIwofQ0hBTk5FTF9BQ1RJT05fS0lORF9XQUlUX1JFU1VNRRACEikKJUNIQU5ORUxfQUNUSU9OX0tJTkRfT0JKRUNUSVZFX0NPTlRST0wQAxInCiNDSEFOTkVMX0FDVElPTl9LSU5EX01FTU9SWV9ERUNJU0lPThAEEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfT1BTX0NPTU1BTkQQBRIfChtDSEFOTkVMX0FDVElPTl9LSU5EX0dFTkVSSUMQBhIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0NPREVYX0lOVEVSQUNUSU9OEAcSJwojQ0hBTk5FTF9BQ1RJT05fS0lORF9CUk9XU0VSX0NPTlRST0wQCBInCiNDSEFOTkVMX0FDVElPTl9LSU5EX0RFU0tUT1BfQ09OVFJPTBAJKqsFChdDaGFubmVsQWN0aW9uVGFyZ2V0S2luZBIqCiZDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9VTlNQRUNJRklFRBAAEiIKHkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1JVThABEiMKH0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1dBSVQQAhInCiNDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9BUFBST1ZBTBADEigKJENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX09CSkVDVElWRRAEEicKI0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0FSVElGQUNUEAUSLworQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfTUVNT1JZX0NBTkRJREFURRAGEi0KKUNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1RPT0xfRVhFQ1VUSU9OEAcSLAooQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQ09ERVhfU0VTU0lPThAIEiQKIENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1BBVENIEAkSKwonQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfUFVMTF9SRVFVRVNUEAoSLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9TRVNTSU9OEAsSKgomQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9UQUIQDBIyCi5DSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9CUk9XU0VSX05BVElWRV9IT1NUEA0SLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfREVTS1RPUF9TRVNTSU9OEA4qkAMKIUNoYW5uZWxBY3Rpb25BdXRob3JpemF0aW9uT3V0Y29tZRI0CjBDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfQUxMT1dFRBABEi8KK0NIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9ERU5JRUQQAhI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5NQVBQRURfQUNUT1IQAxI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfV1JPTkdfQVBQUk9WRVIQBBIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfRVhQSVJFRBAFEi4KKkNIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9TVEFMRRAGKocECh1DaGFubmVsQWN0aW9uRXhlY3V0aW9uT3V0Y29tZRIwCixDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9VTlNQRUNJRklFRBAAEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1BFTkRJTkcQARIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVUNDRUVERUQQAhIrCidDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9GQUlMRUQQAxIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9EVVBMSUNBVEUQBBI1CjFDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9UQVJHRVRfTk9UX0ZPVU5EEAUSNQoxQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfQUxSRUFEWV9SRVNPTFZFRBAGEjEKLUNIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1VOQVVUSE9SSVpFRBAHEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX0VYUElSRUQQCBIqCiZDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVEFMRRAJKogCChxDaGFubmVsQWN0aW9uRGVsaXZlcnlPdXRjb21lEi8KK0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfVU5TUEVDSUZJRUQQABIxCi1DSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX05PVF9BVFRFTVBURUQQARIrCidDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX1VQREFURUQQAhIqCiZDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX0ZBSUxFRBADEisKJ0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfU0tJUFBFRBAEKsUBChJSdW50aW1lU2Vuc2l0aXZpdHkSIwofUlVOVElNRV9TRU5TSVRJVklUWV9VTlNQRUNJRklFRBAAEh4KGlJVTlRJTUVfU0VOU0lUSVZJVFlfUFVCTElDEAESIAocUlVOVElNRV9TRU5TSVRJVklUWV9JTlRFUk5BTBACEiQKIFJVTlRJTUVfU0VOU0lUSVZJVFlfQ09ORklERU5USUFMEAMSIgoeUlVOVElNRV9TRU5TSVRJVklUWV9SRVNUUklDVEVEEAQqggIKFFJ1bnRpbWVSZWRhY3Rpb25LaW5kEiYKIlJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIeChpSVU5USU1FX1JFREFDVElPTl9LSU5EX1BJSRABEiUKIVJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfQ1JFREVOVElBTBACEiQKIFJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVE9PTF9BUkdTEAMSKAokUlVOVElNRV9SRURBQ1RJT05fS0lORF9QT0xJQ1lfREVUQUlMEAQSKwonUlVOVElNRV9SRURBQ1RJT05fS0lORF9JTlRFUk5BTF9DT05URVhUEAUqoQIKIFJ1bnRpbWVWaXJ0dWFsRmlsZVJlZGFjdGlvblN0YXRlEjQKMFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFREFDVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEiwKKFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFREFDVElPTl9TVEFURV9SQVcQARIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfUkVEQUNURUQQAhI1CjFSVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfUFJFVklFV19PTkxZEAMSLworUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVEQUNUSU9OX1NUQVRFX0RFTklFRBAEKs0BChtSdW50aW1lVmlydHVhbEZpbGVPcGVyYXRpb24SLgoqUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASKAokUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX1dSSVRFEAESKQolUlVOVElNRV9WSVJUVUFMX0ZJTEVfT1BFUkFUSU9OX0RFTEVURRACEikKJVJVTlRJTUVfVklSVFVBTF9GSUxFX09QRVJBVElPTl9SRU5BTUUQAyqFBAocUnVudGltZVZpcnR1YWxGaWxlUmVhc29uQ29kZRIwCixSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9VTlNQRUNJRklFRBAAEi4KKlJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX05PVF9GT1VORBABEjEKLVJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX0ZJTFRFUkVEX09VVBACEjsKN1JVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1RPVEFMX0JVREdFVF9FWEhBVVNURUQQAxIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9QQVRIX0lOVkFMSUQQBBI2CjJSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9DQVBBQklMSVRZX0RFTklFRBAFEjYKMlJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1JFVklTSU9OX0NPTkZMSUNUEAYSMgouUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVBU09OX0NPREVfQ1VSU09SX0xBR0dFRBAHEjwKOFJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX1RFTVBPUkFSSUxZX1VOQVZBSUxBQkxFEAgqnQMKKFJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQXBwbHlTdGF0dXMSPQo5UlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASNwozUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX0NMRUFOEAESOwo3UlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX0lERU5USUNBTBACEjoKNlJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19DT05GTElDVBADEj4KOlJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19NSVNTSU5HX0JBU0UQBBJACjxSVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9BUFBMWV9TVEFUVVNfTUlTU0lOR19UQVJHRVQQBSrqAgokUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25PdXRjb21lEjgKNFJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIyCi5SVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9PVVRDT01FX0NMRUFOEAESNAowUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9BUFBMSUVEEAISNAowUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9SRUJBU0VEEAMSNQoxUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9DT05GTElDVBAEEjEKLVJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfTk9PUBAFMqwqChNBZ2VudFJ1bnRpbWVTZXJ2aWNlEl4KDUhhbmRsZVRyaWdnZXISJS5hZ2VudHJ1bnRpbWUudjEuSGFuZGxlVHJpZ2dlclJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuSGFuZGxlVHJpZ2dlclJlc3BvbnNlElsKDENsYWltTmV4dFJ1bhIkLmFnZW50cnVudGltZS52MS5DbGFpbU5leHRSdW5SZXF1ZXN0GiUuYWdlbnRydW50aW1lLnYxLkNsYWltTmV4dFJ1blJlc3BvbnNlElsKDEhlYXJ0YmVhdFJ1bhIkLmFnZW50cnVudGltZS52MS5IZWFydGJlYXRSdW5SZXF1ZXN0GiUuYWdlbnRydW50aW1lLnYxLkhlYXJ0YmVhdFJ1blJlc3BvbnNlEl4KDVJlbmV3UnVuTGVhc2USJS5hZ2VudHJ1bnRpbWUudjEuUmVuZXdSdW5MZWFzZVJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVuZXdSdW5MZWFzZVJlc3BvbnNlEl4KDVJlY29yZFJ1blN0ZXASJS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RlcFJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RlcFJlc3BvbnNlEnAKE1JlY29yZFJ1bkNoZWNrcG9pbnQSKy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ2hlY2twb2ludFJlcXVlc3QaLC5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ2hlY2twb2ludFJlc3BvbnNlEmoKEVJlY29yZFJ1bkFydGlmYWN0EikuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkFydGlmYWN0UmVxdWVzdBoqLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5BcnRpZmFjdFJlc3BvbnNlEl4KDVJlY29yZFJ1bkNvc3QSJS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ29zdFJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQ29zdFJlc3BvbnNlEnYKFVJlY29yZFJ1blN0cmVhbUN1cnNvchItLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXF1ZXN0Gi4uYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blN0cmVhbUN1cnNvclJlc3BvbnNlEmEKDlJlY29yZFJ1bkV2ZW50EiYuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkV2ZW50UmVxdWVzdBonLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5FdmVudFJlc3BvbnNlElUKCkNvbnRyb2xSdW4SIi5hZ2VudHJ1bnRpbWUudjEuQ29udHJvbFJ1blJlcXVlc3QaIy5hZ2VudHJ1bnRpbWUudjEuQ29udHJvbFJ1blJlc3BvbnNlEmoKEVJlY29yZFJ1bldvcmtJdGVtEikuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bldvcmtJdGVtUmVxdWVzdBoqLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5Xb3JrSXRlbVJlc3BvbnNlEmoKEVVwZGF0ZVJ1bldvcmtJdGVtEikuYWdlbnRydW50aW1lLnYxLlVwZGF0ZVJ1bldvcmtJdGVtUmVxdWVzdBoqLmFnZW50cnVudGltZS52MS5VcGRhdGVSdW5Xb3JrSXRlbVJlc3BvbnNlEmcKEExpc3RSdW5Xb3JrSXRlbXMSKC5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldvcmtJdGVtc1JlcXVlc3QaKS5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldvcmtJdGVtc1Jlc3BvbnNlEk8KCFlpZWxkUnVuEiAuYWdlbnRydW50aW1lLnYxLllpZWxkUnVuUmVxdWVzdBohLmFnZW50cnVudGltZS52MS5ZaWVsZFJ1blJlc3BvbnNlEkwKB1dhaXRSdW4SHy5hZ2VudHJ1bnRpbWUudjEuV2FpdFJ1blJlcXVlc3QaIC5hZ2VudHJ1bnRpbWUudjEuV2FpdFJ1blJlc3BvbnNlElIKCVJlc3VtZVJ1bhIhLmFnZW50cnVudGltZS52MS5SZXN1bWVSdW5SZXF1ZXN0GiIuYWdlbnRydW50aW1lLnYxLlJlc3VtZVJ1blJlc3BvbnNlElgKC0NvbXBsZXRlUnVuEiMuYWdlbnRydW50aW1lLnYxLkNvbXBsZXRlUnVuUmVxdWVzdBokLmFnZW50cnVudGltZS52MS5Db21wbGV0ZVJ1blJlc3BvbnNlEkwKB0ZhaWxSdW4SHy5hZ2VudHJ1bnRpbWUudjEuRmFpbFJ1blJlcXVlc3QaIC5hZ2VudHJ1bnRpbWUudjEuRmFpbFJ1blJlc3BvbnNlElIKCUNhbmNlbFJ1bhIhLmFnZW50cnVudGltZS52MS5DYW5jZWxSdW5SZXF1ZXN0GiIuYWdlbnRydW50aW1lLnYxLkNhbmNlbFJ1blJlc3BvbnNlEk8KCFJldHJ5UnVuEiAuYWdlbnRydW50aW1lLnYxLlJldHJ5UnVuUmVxdWVzdBohLmFnZW50cnVudGltZS52MS5SZXRyeVJ1blJlc3BvbnNlEl4KDURlYWRMZXR0ZXJSdW4SJS5hZ2VudHJ1bnRpbWUudjEuRGVhZExldHRlclJ1blJlcXVlc3QaJi5hZ2VudHJ1bnRpbWUudjEuRGVhZExldHRlclJ1blJlc3BvbnNlEkkKBkdldFJ1bhIeLmFnZW50cnVudGltZS52MS5HZXRSdW5SZXF1ZXN0Gh8uYWdlbnRydW50aW1lLnYxLkdldFJ1blJlc3BvbnNlEnYKFUdldFRlYW1tYXRlV29ya0xlZGdlchItLmFnZW50cnVudGltZS52MS5HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXF1ZXN0Gi4uYWdlbnRydW50aW1lLnYxLkdldFRlYW1tYXRlV29ya0xlZGdlclJlc3BvbnNlEnkKFkxpc3RSdW5zQnlXb3JrRW52ZWxvcGUSLi5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlcXVlc3QaLy5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlc3BvbnNlEn8KGEdldENoYW5uZWxUaHJlYWRBZG9wdGlvbhIwLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXF1ZXN0GjEuYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxUaHJlYWRBZG9wdGlvblJlc3BvbnNlEogBChtSZWNvcmRDaGFubmVsVGhyZWFkQWRvcHRpb24SMy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkQ2hhbm5lbFRocmVhZEFkb3B0aW9uUmVxdWVzdBo0LmFnZW50cnVudGltZS52MS5SZWNvcmRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXNwb25zZRKFAQoaTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnMSMi5hZ2VudHJ1bnRpbWUudjEuTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnNSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsVGhyZWFkQWRvcHRpb25zUmVzcG9uc2USWwoMTGlzdFJ1bldhaXRzEiQuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5XYWl0c1JlcXVlc3QaJS5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldhaXRzUmVzcG9uc2UShQEKGlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0EjIuYWdlbnRydW50aW1lLnYxLlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBozLmFnZW50cnVudGltZS52MS5SZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEnwKF0dldENoYW5uZWxBY3Rpb25SZWNlaXB0Ei8uYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBowLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEoIBChlMaXN0Q2hhbm5lbEFjdGlvblJlY2VpcHRzEjEuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXF1ZXN0GjIuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXNwb25zZRJeCg1MaXN0UnVuRXZlbnRzEiUuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXNwb25zZRJwChNMaXN0UnVuVmlydHVhbEZpbGVzEisuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0GiwuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRJtChJSZWFkUnVuVmlydHVhbEZpbGUSKi5hZ2VudHJ1bnRpbWUudjEuUmVhZFJ1blZpcnR1YWxGaWxlUmVxdWVzdBorLmFnZW50cnVudGltZS52MS5SZWFkUnVuVmlydHVhbEZpbGVSZXNwb25zZRJtChJTdGF0UnVuVmlydHVhbEZpbGUSKi5hZ2VudHJ1bnRpbWUudjEuU3RhdFJ1blZpcnR1YWxGaWxlUmVxdWVzdBorLmFnZW50cnVudGltZS52MS5TdGF0UnVuVmlydHVhbEZpbGVSZXNwb25zZRJ1ChRXYXRjaFJ1blZpcnR1YWxGaWxlcxIsLmFnZW50cnVudGltZS52MS5XYXRjaFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QaLS5hZ2VudHJ1bnRpbWUudjEuV2F0Y2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZTABEn8KGEJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlcxIwLmFnZW50cnVudGltZS52MS5CYXRjaFJlYWRSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0GjEuYWdlbnRydW50aW1lLnYxLkJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEpEBCh5CdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2sSNi5hZ2VudHJ1bnRpbWUudjEuQnVpbGRSdW5WaXJ0dWFsRmlsZUNvbnRleHRQYWNrUmVxdWVzdBo3LmFnZW50cnVudGltZS52MS5CdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2tSZXNwb25zZRJ2ChVTZWFyY2hSdW5WaXJ0dWFsRmlsZXMSLS5hZ2VudHJ1bnRpbWUudjEuU2VhcmNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBouLmFnZW50cnVudGltZS52MS5TZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRKLAQocUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbBI0LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVxdWVzdBo1LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVzcG9uc2USlAEKH1JlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOC5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEpcBCiBQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI4LmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOS5hZ2VudHJ1bnRpbWUudjEuUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKOAQodRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNS5hZ2VudHJ1bnRpbWUudjEuRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjYuYWdlbnRydW50aW1lLnYxLkRpZmZSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USkQEKHkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI2LmFnZW50cnVudGltZS52MS5BcHBseVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjcuYWdlbnRydW50aW1lLnYxLkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEpQBCh9SZWJhc2VSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uEjcuYWdlbnRydW50aW1lLnYxLlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjguYWdlbnRydW50aW1lLnYxLlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKFAQoaSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnQSMi5hZ2VudHJ1bnRpbWUudjEuSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLkh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVzcG9uc2USeQoWSW5zcGVjdFJ1blZpcnR1YWxGaWxlcxIuLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVxdWVzdBovLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2VCQ1pBZ2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9hZ2VudHJ1bnRpbWUvdjE7YWdlbnRydW50aW1ldjFiBnByb3RvMw", [file_agents_v1_agents, file_buf_validate_validate, file_codex_v1_codex, file_common_v1_surface, file_google_protobuf_struct, file_google_protobuf_timestamp, file_objectives_v1_objectives]);
15
15
  /**
16
16
  * Describes the message agentruntime.v1.RuntimeChannelContext.
17
17
  * Use `create(RuntimeChannelContextSchema)` to create a new message.
@@ -157,541 +157,611 @@ export const AgentRunStreamCursorSchema = /*@__PURE__*/ messageDesc(file_agentru
157
157
  * Use `create(RuntimeEventSchema)` to create a new message.
158
158
  */
159
159
  export const RuntimeEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 28);
160
+ /**
161
+ * Describes the message agentruntime.v1.AgentAutonomySession.
162
+ * Use `create(AgentAutonomySessionSchema)` to create a new message.
163
+ */
164
+ export const AgentAutonomySessionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 29);
165
+ /**
166
+ * Describes the message agentruntime.v1.AgentWorkItem.
167
+ * Use `create(AgentWorkItemSchema)` to create a new message.
168
+ */
169
+ export const AgentWorkItemSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 30);
160
170
  /**
161
171
  * Describes the message agentruntime.v1.HandleTriggerRequest.
162
172
  * Use `create(HandleTriggerRequestSchema)` to create a new message.
163
173
  */
164
- export const HandleTriggerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 29);
174
+ export const HandleTriggerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 31);
165
175
  /**
166
176
  * Describes the message agentruntime.v1.HandleTriggerResponse.
167
177
  * Use `create(HandleTriggerResponseSchema)` to create a new message.
168
178
  */
169
- export const HandleTriggerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 30);
179
+ export const HandleTriggerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 32);
170
180
  /**
171
181
  * Describes the message agentruntime.v1.ClaimNextRunRequest.
172
182
  * Use `create(ClaimNextRunRequestSchema)` to create a new message.
173
183
  */
174
- export const ClaimNextRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 31);
184
+ export const ClaimNextRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 33);
175
185
  /**
176
186
  * Describes the message agentruntime.v1.ClaimNextRunResponse.
177
187
  * Use `create(ClaimNextRunResponseSchema)` to create a new message.
178
188
  */
179
- export const ClaimNextRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 32);
189
+ export const ClaimNextRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 34);
180
190
  /**
181
191
  * Describes the message agentruntime.v1.HeartbeatRunRequest.
182
192
  * Use `create(HeartbeatRunRequestSchema)` to create a new message.
183
193
  */
184
- export const HeartbeatRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 33);
194
+ export const HeartbeatRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 35);
185
195
  /**
186
196
  * Describes the message agentruntime.v1.HeartbeatRunResponse.
187
197
  * Use `create(HeartbeatRunResponseSchema)` to create a new message.
188
198
  */
189
- export const HeartbeatRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 34);
199
+ export const HeartbeatRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 36);
190
200
  /**
191
201
  * Describes the message agentruntime.v1.RenewRunLeaseRequest.
192
202
  * Use `create(RenewRunLeaseRequestSchema)` to create a new message.
193
203
  */
194
- export const RenewRunLeaseRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 35);
204
+ export const RenewRunLeaseRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 37);
195
205
  /**
196
206
  * Describes the message agentruntime.v1.RenewRunLeaseResponse.
197
207
  * Use `create(RenewRunLeaseResponseSchema)` to create a new message.
198
208
  */
199
- export const RenewRunLeaseResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 36);
209
+ export const RenewRunLeaseResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 38);
200
210
  /**
201
211
  * Describes the message agentruntime.v1.RecordRunStepRequest.
202
212
  * Use `create(RecordRunStepRequestSchema)` to create a new message.
203
213
  */
204
- export const RecordRunStepRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 37);
214
+ export const RecordRunStepRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 39);
205
215
  /**
206
216
  * Describes the message agentruntime.v1.RecordRunStepResponse.
207
217
  * Use `create(RecordRunStepResponseSchema)` to create a new message.
208
218
  */
209
- export const RecordRunStepResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 38);
219
+ export const RecordRunStepResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 40);
210
220
  /**
211
221
  * Describes the message agentruntime.v1.RecordRunCheckpointRequest.
212
222
  * Use `create(RecordRunCheckpointRequestSchema)` to create a new message.
213
223
  */
214
- export const RecordRunCheckpointRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 39);
224
+ export const RecordRunCheckpointRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 41);
215
225
  /**
216
226
  * Describes the message agentruntime.v1.RecordRunCheckpointResponse.
217
227
  * Use `create(RecordRunCheckpointResponseSchema)` to create a new message.
218
228
  */
219
- export const RecordRunCheckpointResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 40);
229
+ export const RecordRunCheckpointResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 42);
220
230
  /**
221
231
  * Describes the message agentruntime.v1.RecordRunArtifactRequest.
222
232
  * Use `create(RecordRunArtifactRequestSchema)` to create a new message.
223
233
  */
224
- export const RecordRunArtifactRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 41);
234
+ export const RecordRunArtifactRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 43);
225
235
  /**
226
236
  * Describes the message agentruntime.v1.RecordRunArtifactResponse.
227
237
  * Use `create(RecordRunArtifactResponseSchema)` to create a new message.
228
238
  */
229
- export const RecordRunArtifactResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 42);
239
+ export const RecordRunArtifactResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 44);
230
240
  /**
231
241
  * Describes the message agentruntime.v1.RecordRunCostRequest.
232
242
  * Use `create(RecordRunCostRequestSchema)` to create a new message.
233
243
  */
234
- export const RecordRunCostRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 43);
244
+ export const RecordRunCostRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 45);
235
245
  /**
236
246
  * Describes the message agentruntime.v1.RecordRunCostResponse.
237
247
  * Use `create(RecordRunCostResponseSchema)` to create a new message.
238
248
  */
239
- export const RecordRunCostResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 44);
249
+ export const RecordRunCostResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 46);
240
250
  /**
241
251
  * Describes the message agentruntime.v1.RecordRunStreamCursorRequest.
242
252
  * Use `create(RecordRunStreamCursorRequestSchema)` to create a new message.
243
253
  */
244
- export const RecordRunStreamCursorRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 45);
254
+ export const RecordRunStreamCursorRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 47);
245
255
  /**
246
256
  * Describes the message agentruntime.v1.RecordRunStreamCursorResponse.
247
257
  * Use `create(RecordRunStreamCursorResponseSchema)` to create a new message.
248
258
  */
249
- export const RecordRunStreamCursorResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 46);
259
+ export const RecordRunStreamCursorResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 48);
250
260
  /**
251
261
  * Describes the message agentruntime.v1.RecordRunEventRequest.
252
262
  * Use `create(RecordRunEventRequestSchema)` to create a new message.
253
263
  */
254
- export const RecordRunEventRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 47);
264
+ export const RecordRunEventRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 49);
255
265
  /**
256
266
  * Describes the message agentruntime.v1.RecordRunEventResponse.
257
267
  * Use `create(RecordRunEventResponseSchema)` to create a new message.
258
268
  */
259
- export const RecordRunEventResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 48);
269
+ export const RecordRunEventResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 50);
270
+ /**
271
+ * Describes the message agentruntime.v1.ControlRunRequest.
272
+ * Use `create(ControlRunRequestSchema)` to create a new message.
273
+ */
274
+ export const ControlRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 51);
275
+ /**
276
+ * Describes the message agentruntime.v1.ControlRunResponse.
277
+ * Use `create(ControlRunResponseSchema)` to create a new message.
278
+ */
279
+ export const ControlRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 52);
280
+ /**
281
+ * Describes the message agentruntime.v1.RecordRunWorkItemRequest.
282
+ * Use `create(RecordRunWorkItemRequestSchema)` to create a new message.
283
+ */
284
+ export const RecordRunWorkItemRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 53);
285
+ /**
286
+ * Describes the message agentruntime.v1.RecordRunWorkItemResponse.
287
+ * Use `create(RecordRunWorkItemResponseSchema)` to create a new message.
288
+ */
289
+ export const RecordRunWorkItemResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 54);
290
+ /**
291
+ * Describes the message agentruntime.v1.UpdateRunWorkItemRequest.
292
+ * Use `create(UpdateRunWorkItemRequestSchema)` to create a new message.
293
+ */
294
+ export const UpdateRunWorkItemRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 55);
295
+ /**
296
+ * Describes the message agentruntime.v1.UpdateRunWorkItemResponse.
297
+ * Use `create(UpdateRunWorkItemResponseSchema)` to create a new message.
298
+ */
299
+ export const UpdateRunWorkItemResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 56);
300
+ /**
301
+ * Describes the message agentruntime.v1.ListRunWorkItemsRequest.
302
+ * Use `create(ListRunWorkItemsRequestSchema)` to create a new message.
303
+ */
304
+ export const ListRunWorkItemsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 57);
305
+ /**
306
+ * Describes the message agentruntime.v1.ListRunWorkItemsResponse.
307
+ * Use `create(ListRunWorkItemsResponseSchema)` to create a new message.
308
+ */
309
+ export const ListRunWorkItemsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 58);
310
+ /**
311
+ * Describes the message agentruntime.v1.YieldRunRequest.
312
+ * Use `create(YieldRunRequestSchema)` to create a new message.
313
+ */
314
+ export const YieldRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 59);
315
+ /**
316
+ * Describes the message agentruntime.v1.YieldRunResponse.
317
+ * Use `create(YieldRunResponseSchema)` to create a new message.
318
+ */
319
+ export const YieldRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 60);
260
320
  /**
261
321
  * Describes the message agentruntime.v1.WaitRunRequest.
262
322
  * Use `create(WaitRunRequestSchema)` to create a new message.
263
323
  */
264
- export const WaitRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 49);
324
+ export const WaitRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 61);
265
325
  /**
266
326
  * Describes the message agentruntime.v1.WaitRunResponse.
267
327
  * Use `create(WaitRunResponseSchema)` to create a new message.
268
328
  */
269
- export const WaitRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 50);
329
+ export const WaitRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 62);
270
330
  /**
271
331
  * Describes the message agentruntime.v1.ResumeRunRequest.
272
332
  * Use `create(ResumeRunRequestSchema)` to create a new message.
273
333
  */
274
- export const ResumeRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 51);
334
+ export const ResumeRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 63);
275
335
  /**
276
336
  * Describes the message agentruntime.v1.ResumeRunResponse.
277
337
  * Use `create(ResumeRunResponseSchema)` to create a new message.
278
338
  */
279
- export const ResumeRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 52);
339
+ export const ResumeRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 64);
280
340
  /**
281
341
  * Describes the message agentruntime.v1.CompleteRunRequest.
282
342
  * Use `create(CompleteRunRequestSchema)` to create a new message.
283
343
  */
284
- export const CompleteRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 53);
344
+ export const CompleteRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 65);
285
345
  /**
286
346
  * Describes the message agentruntime.v1.CompleteRunResponse.
287
347
  * Use `create(CompleteRunResponseSchema)` to create a new message.
288
348
  */
289
- export const CompleteRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 54);
349
+ export const CompleteRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 66);
290
350
  /**
291
351
  * Describes the message agentruntime.v1.FailRunRequest.
292
352
  * Use `create(FailRunRequestSchema)` to create a new message.
293
353
  */
294
- export const FailRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 55);
354
+ export const FailRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 67);
295
355
  /**
296
356
  * Describes the message agentruntime.v1.FailRunResponse.
297
357
  * Use `create(FailRunResponseSchema)` to create a new message.
298
358
  */
299
- export const FailRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 56);
359
+ export const FailRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 68);
300
360
  /**
301
361
  * Describes the message agentruntime.v1.CancelRunRequest.
302
362
  * Use `create(CancelRunRequestSchema)` to create a new message.
303
363
  */
304
- export const CancelRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 57);
364
+ export const CancelRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 69);
305
365
  /**
306
366
  * Describes the message agentruntime.v1.CancelRunResponse.
307
367
  * Use `create(CancelRunResponseSchema)` to create a new message.
308
368
  */
309
- export const CancelRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 58);
369
+ export const CancelRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 70);
310
370
  /**
311
371
  * Describes the message agentruntime.v1.RetryRunRequest.
312
372
  * Use `create(RetryRunRequestSchema)` to create a new message.
313
373
  */
314
- export const RetryRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 59);
374
+ export const RetryRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 71);
315
375
  /**
316
376
  * Describes the message agentruntime.v1.RetryRunResponse.
317
377
  * Use `create(RetryRunResponseSchema)` to create a new message.
318
378
  */
319
- export const RetryRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 60);
379
+ export const RetryRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 72);
320
380
  /**
321
381
  * Describes the message agentruntime.v1.DeadLetterRunRequest.
322
382
  * Use `create(DeadLetterRunRequestSchema)` to create a new message.
323
383
  */
324
- export const DeadLetterRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 61);
384
+ export const DeadLetterRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 73);
325
385
  /**
326
386
  * Describes the message agentruntime.v1.DeadLetterRunResponse.
327
387
  * Use `create(DeadLetterRunResponseSchema)` to create a new message.
328
388
  */
329
- export const DeadLetterRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 62);
389
+ export const DeadLetterRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 74);
330
390
  /**
331
391
  * Describes the message agentruntime.v1.GetRunRequest.
332
392
  * Use `create(GetRunRequestSchema)` to create a new message.
333
393
  */
334
- export const GetRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 63);
394
+ export const GetRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 75);
335
395
  /**
336
396
  * Describes the message agentruntime.v1.GetRunResponse.
337
397
  * Use `create(GetRunResponseSchema)` to create a new message.
338
398
  */
339
- export const GetRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 64);
399
+ export const GetRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 76);
340
400
  /**
341
401
  * Describes the message agentruntime.v1.GetTeammateWorkLedgerRequest.
342
402
  * Use `create(GetTeammateWorkLedgerRequestSchema)` to create a new message.
343
403
  */
344
- export const GetTeammateWorkLedgerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 65);
404
+ export const GetTeammateWorkLedgerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 77);
345
405
  /**
346
406
  * Describes the message agentruntime.v1.GetTeammateWorkLedgerResponse.
347
407
  * Use `create(GetTeammateWorkLedgerResponseSchema)` to create a new message.
348
408
  */
349
- export const GetTeammateWorkLedgerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 66);
409
+ export const GetTeammateWorkLedgerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 78);
350
410
  /**
351
411
  * Describes the message agentruntime.v1.TeammateWorkLedger.
352
412
  * Use `create(TeammateWorkLedgerSchema)` to create a new message.
353
413
  */
354
- export const TeammateWorkLedgerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 67);
414
+ export const TeammateWorkLedgerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 79);
355
415
  /**
356
416
  * Describes the message agentruntime.v1.TeammateWorkLedgerBlocker.
357
417
  * Use `create(TeammateWorkLedgerBlockerSchema)` to create a new message.
358
418
  */
359
- export const TeammateWorkLedgerBlockerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 68);
419
+ export const TeammateWorkLedgerBlockerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 80);
360
420
  /**
361
421
  * Describes the message agentruntime.v1.TeammateWorkLedgerWaitResumeContract.
362
422
  * Use `create(TeammateWorkLedgerWaitResumeContractSchema)` to create a new message.
363
423
  */
364
- export const TeammateWorkLedgerWaitResumeContractSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 69);
424
+ export const TeammateWorkLedgerWaitResumeContractSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 81);
365
425
  /**
366
426
  * Describes the message agentruntime.v1.TeammateWorkLedgerConnectorAccess.
367
427
  * Use `create(TeammateWorkLedgerConnectorAccessSchema)` to create a new message.
368
428
  */
369
- export const TeammateWorkLedgerConnectorAccessSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 70);
429
+ export const TeammateWorkLedgerConnectorAccessSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 82);
370
430
  /**
371
431
  * Describes the message agentruntime.v1.TeammateWorkLedgerMemoryCitation.
372
432
  * Use `create(TeammateWorkLedgerMemoryCitationSchema)` to create a new message.
373
433
  */
374
- export const TeammateWorkLedgerMemoryCitationSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 71);
434
+ export const TeammateWorkLedgerMemoryCitationSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 83);
375
435
  /**
376
436
  * Describes the message agentruntime.v1.TeammateWorkLedgerVfsSummary.
377
437
  * Use `create(TeammateWorkLedgerVfsSummarySchema)` to create a new message.
378
438
  */
379
- export const TeammateWorkLedgerVfsSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 72);
439
+ export const TeammateWorkLedgerVfsSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 84);
380
440
  /**
381
441
  * Describes the message agentruntime.v1.TeammateWorkLedgerCerebroContext.
382
442
  * Use `create(TeammateWorkLedgerCerebroContextSchema)` to create a new message.
383
443
  */
384
- export const TeammateWorkLedgerCerebroContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 73);
444
+ export const TeammateWorkLedgerCerebroContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 85);
385
445
  /**
386
446
  * Describes the message agentruntime.v1.TeammateWorkLedgerProactivePolicy.
387
447
  * Use `create(TeammateWorkLedgerProactivePolicySchema)` to create a new message.
388
448
  */
389
- export const TeammateWorkLedgerProactivePolicySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 74);
449
+ export const TeammateWorkLedgerProactivePolicySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 86);
390
450
  /**
391
451
  * Describes the message agentruntime.v1.TeammateWorkLedgerChannelStatus.
392
452
  * Use `create(TeammateWorkLedgerChannelStatusSchema)` to create a new message.
393
453
  */
394
- export const TeammateWorkLedgerChannelStatusSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 75);
454
+ export const TeammateWorkLedgerChannelStatusSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 87);
395
455
  /**
396
456
  * Describes the message agentruntime.v1.ListRunsByWorkEnvelopeRequest.
397
457
  * Use `create(ListRunsByWorkEnvelopeRequestSchema)` to create a new message.
398
458
  */
399
- export const ListRunsByWorkEnvelopeRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 76);
459
+ export const ListRunsByWorkEnvelopeRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 88);
400
460
  /**
401
461
  * Describes the message agentruntime.v1.ListRunsByWorkEnvelopeResponse.
402
462
  * Use `create(ListRunsByWorkEnvelopeResponseSchema)` to create a new message.
403
463
  */
404
- export const ListRunsByWorkEnvelopeResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 77);
464
+ export const ListRunsByWorkEnvelopeResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 89);
405
465
  /**
406
466
  * Describes the message agentruntime.v1.ChannelThreadAdoption.
407
467
  * Use `create(ChannelThreadAdoptionSchema)` to create a new message.
408
468
  */
409
- export const ChannelThreadAdoptionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 78);
469
+ export const ChannelThreadAdoptionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 90);
410
470
  /**
411
471
  * Describes the message agentruntime.v1.GetChannelThreadAdoptionRequest.
412
472
  * Use `create(GetChannelThreadAdoptionRequestSchema)` to create a new message.
413
473
  */
414
- export const GetChannelThreadAdoptionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 79);
474
+ export const GetChannelThreadAdoptionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 91);
415
475
  /**
416
476
  * Describes the message agentruntime.v1.GetChannelThreadAdoptionResponse.
417
477
  * Use `create(GetChannelThreadAdoptionResponseSchema)` to create a new message.
418
478
  */
419
- export const GetChannelThreadAdoptionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 80);
479
+ export const GetChannelThreadAdoptionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 92);
480
+ /**
481
+ * Describes the message agentruntime.v1.RecordChannelThreadAdoptionRequest.
482
+ * Use `create(RecordChannelThreadAdoptionRequestSchema)` to create a new message.
483
+ */
484
+ export const RecordChannelThreadAdoptionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 93);
485
+ /**
486
+ * Describes the message agentruntime.v1.RecordChannelThreadAdoptionResponse.
487
+ * Use `create(RecordChannelThreadAdoptionResponseSchema)` to create a new message.
488
+ */
489
+ export const RecordChannelThreadAdoptionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 94);
420
490
  /**
421
491
  * Describes the message agentruntime.v1.ListChannelThreadAdoptionsRequest.
422
492
  * Use `create(ListChannelThreadAdoptionsRequestSchema)` to create a new message.
423
493
  */
424
- export const ListChannelThreadAdoptionsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 81);
494
+ export const ListChannelThreadAdoptionsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 95);
425
495
  /**
426
496
  * Describes the message agentruntime.v1.ListChannelThreadAdoptionsResponse.
427
497
  * Use `create(ListChannelThreadAdoptionsResponseSchema)` to create a new message.
428
498
  */
429
- export const ListChannelThreadAdoptionsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 82);
499
+ export const ListChannelThreadAdoptionsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 96);
430
500
  /**
431
501
  * Describes the message agentruntime.v1.ListRunWaitsRequest.
432
502
  * Use `create(ListRunWaitsRequestSchema)` to create a new message.
433
503
  */
434
- export const ListRunWaitsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 83);
504
+ export const ListRunWaitsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 97);
435
505
  /**
436
506
  * Describes the message agentruntime.v1.AgentRunWaitSummary.
437
507
  * Use `create(AgentRunWaitSummarySchema)` to create a new message.
438
508
  */
439
- export const AgentRunWaitSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 84);
509
+ export const AgentRunWaitSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 98);
440
510
  /**
441
511
  * Describes the message agentruntime.v1.ListRunWaitsResponse.
442
512
  * Use `create(ListRunWaitsResponseSchema)` to create a new message.
443
513
  */
444
- export const ListRunWaitsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 85);
514
+ export const ListRunWaitsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 99);
445
515
  /**
446
516
  * Describes the message agentruntime.v1.RecordChannelActionReceiptRequest.
447
517
  * Use `create(RecordChannelActionReceiptRequestSchema)` to create a new message.
448
518
  */
449
- export const RecordChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 86);
519
+ export const RecordChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 100);
450
520
  /**
451
521
  * Describes the message agentruntime.v1.RecordChannelActionReceiptResponse.
452
522
  * Use `create(RecordChannelActionReceiptResponseSchema)` to create a new message.
453
523
  */
454
- export const RecordChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 87);
524
+ export const RecordChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 101);
455
525
  /**
456
526
  * Describes the message agentruntime.v1.GetChannelActionReceiptRequest.
457
527
  * Use `create(GetChannelActionReceiptRequestSchema)` to create a new message.
458
528
  */
459
- export const GetChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 88);
529
+ export const GetChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 102);
460
530
  /**
461
531
  * Describes the message agentruntime.v1.GetChannelActionReceiptResponse.
462
532
  * Use `create(GetChannelActionReceiptResponseSchema)` to create a new message.
463
533
  */
464
- export const GetChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 89);
534
+ export const GetChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 103);
465
535
  /**
466
536
  * Describes the message agentruntime.v1.ListChannelActionReceiptsRequest.
467
537
  * Use `create(ListChannelActionReceiptsRequestSchema)` to create a new message.
468
538
  */
469
- export const ListChannelActionReceiptsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 90);
539
+ export const ListChannelActionReceiptsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 104);
470
540
  /**
471
541
  * Describes the message agentruntime.v1.ListChannelActionReceiptsResponse.
472
542
  * Use `create(ListChannelActionReceiptsResponseSchema)` to create a new message.
473
543
  */
474
- export const ListChannelActionReceiptsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 91);
544
+ export const ListChannelActionReceiptsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 105);
475
545
  /**
476
546
  * Describes the message agentruntime.v1.ListRunEventsRequest.
477
547
  * Use `create(ListRunEventsRequestSchema)` to create a new message.
478
548
  */
479
- export const ListRunEventsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 92);
549
+ export const ListRunEventsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 106);
480
550
  /**
481
551
  * Describes the message agentruntime.v1.ListRunEventsResponse.
482
552
  * Use `create(ListRunEventsResponseSchema)` to create a new message.
483
553
  */
484
- export const ListRunEventsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 93);
554
+ export const ListRunEventsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 107);
485
555
  /**
486
556
  * Describes the message agentruntime.v1.ListRunVirtualFilesRequest.
487
557
  * Use `create(ListRunVirtualFilesRequestSchema)` to create a new message.
488
558
  */
489
- export const ListRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 94);
559
+ export const ListRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 108);
490
560
  /**
491
561
  * Describes the message agentruntime.v1.ListRunVirtualFilesResponse.
492
562
  * Use `create(ListRunVirtualFilesResponseSchema)` to create a new message.
493
563
  */
494
- export const ListRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 95);
564
+ export const ListRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 109);
495
565
  /**
496
566
  * Describes the message agentruntime.v1.ReadRunVirtualFileRequest.
497
567
  * Use `create(ReadRunVirtualFileRequestSchema)` to create a new message.
498
568
  */
499
- export const ReadRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 96);
569
+ export const ReadRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 110);
500
570
  /**
501
571
  * Describes the message agentruntime.v1.ReadRunVirtualFileResponse.
502
572
  * Use `create(ReadRunVirtualFileResponseSchema)` to create a new message.
503
573
  */
504
- export const ReadRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 97);
574
+ export const ReadRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 111);
505
575
  /**
506
576
  * Describes the message agentruntime.v1.StatRunVirtualFileRequest.
507
577
  * Use `create(StatRunVirtualFileRequestSchema)` to create a new message.
508
578
  */
509
- export const StatRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 98);
579
+ export const StatRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 112);
510
580
  /**
511
581
  * Describes the message agentruntime.v1.StatRunVirtualFileResponse.
512
582
  * Use `create(StatRunVirtualFileResponseSchema)` to create a new message.
513
583
  */
514
- export const StatRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 99);
584
+ export const StatRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 113);
515
585
  /**
516
586
  * Describes the message agentruntime.v1.WatchRunVirtualFilesRequest.
517
587
  * Use `create(WatchRunVirtualFilesRequestSchema)` to create a new message.
518
588
  */
519
- export const WatchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 100);
589
+ export const WatchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 114);
520
590
  /**
521
591
  * Describes the message agentruntime.v1.WatchRunVirtualFilesResponse.
522
592
  * Use `create(WatchRunVirtualFilesResponseSchema)` to create a new message.
523
593
  */
524
- export const WatchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 101);
594
+ export const WatchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 115);
525
595
  /**
526
596
  * Describes the message agentruntime.v1.RuntimeVirtualFileWatchEvent.
527
597
  * Use `create(RuntimeVirtualFileWatchEventSchema)` to create a new message.
528
598
  */
529
- export const RuntimeVirtualFileWatchEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 102);
599
+ export const RuntimeVirtualFileWatchEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 116);
530
600
  /**
531
601
  * Describes the message agentruntime.v1.RuntimeVirtualFileSelector.
532
602
  * Use `create(RuntimeVirtualFileSelectorSchema)` to create a new message.
533
603
  */
534
- export const RuntimeVirtualFileSelectorSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 103);
604
+ export const RuntimeVirtualFileSelectorSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 117);
535
605
  /**
536
606
  * Describes the message agentruntime.v1.RuntimeVirtualFileReadResult.
537
607
  * Use `create(RuntimeVirtualFileReadResultSchema)` to create a new message.
538
608
  */
539
- export const RuntimeVirtualFileReadResultSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 104);
609
+ export const RuntimeVirtualFileReadResultSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 118);
540
610
  /**
541
611
  * Describes the message agentruntime.v1.BatchReadRunVirtualFilesRequest.
542
612
  * Use `create(BatchReadRunVirtualFilesRequestSchema)` to create a new message.
543
613
  */
544
- export const BatchReadRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 105);
614
+ export const BatchReadRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 119);
545
615
  /**
546
616
  * Describes the message agentruntime.v1.BatchReadRunVirtualFilesResponse.
547
617
  * Use `create(BatchReadRunVirtualFilesResponseSchema)` to create a new message.
548
618
  */
549
- export const BatchReadRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 106);
619
+ export const BatchReadRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 120);
550
620
  /**
551
621
  * Describes the message agentruntime.v1.BuildRunVirtualFileContextPackRequest.
552
622
  * Use `create(BuildRunVirtualFileContextPackRequestSchema)` to create a new message.
553
623
  */
554
- export const BuildRunVirtualFileContextPackRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 107);
624
+ export const BuildRunVirtualFileContextPackRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 121);
555
625
  /**
556
626
  * Describes the message agentruntime.v1.BuildRunVirtualFileContextPackResponse.
557
627
  * Use `create(BuildRunVirtualFileContextPackResponseSchema)` to create a new message.
558
628
  */
559
- export const BuildRunVirtualFileContextPackResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 108);
629
+ export const BuildRunVirtualFileContextPackResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 122);
560
630
  /**
561
631
  * Describes the message agentruntime.v1.SearchRunVirtualFilesRequest.
562
632
  * Use `create(SearchRunVirtualFilesRequestSchema)` to create a new message.
563
633
  */
564
- export const SearchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 109);
634
+ export const SearchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 123);
565
635
  /**
566
636
  * Describes the message agentruntime.v1.SearchRunVirtualFilesResponse.
567
637
  * Use `create(SearchRunVirtualFilesResponseSchema)` to create a new message.
568
638
  */
569
- export const SearchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 110);
639
+ export const SearchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 124);
570
640
  /**
571
641
  * Describes the message agentruntime.v1.RecordRunVirtualFileProposalRequest.
572
642
  * Use `create(RecordRunVirtualFileProposalRequestSchema)` to create a new message.
573
643
  */
574
- export const RecordRunVirtualFileProposalRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 111);
644
+ export const RecordRunVirtualFileProposalRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 125);
575
645
  /**
576
646
  * Describes the message agentruntime.v1.RecordRunVirtualFileProposalResponse.
577
647
  * Use `create(RecordRunVirtualFileProposalResponseSchema)` to create a new message.
578
648
  */
579
- export const RecordRunVirtualFileProposalResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 112);
649
+ export const RecordRunVirtualFileProposalResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 126);
580
650
  /**
581
651
  * Describes the message agentruntime.v1.RuntimeVirtualFileChange.
582
652
  * Use `create(RuntimeVirtualFileChangeSchema)` to create a new message.
583
653
  */
584
- export const RuntimeVirtualFileChangeSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 113);
654
+ export const RuntimeVirtualFileChangeSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 127);
585
655
  /**
586
656
  * Describes the message agentruntime.v1.RecordRunVirtualFileTransactionRequest.
587
657
  * Use `create(RecordRunVirtualFileTransactionRequestSchema)` to create a new message.
588
658
  */
589
- export const RecordRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 114);
659
+ export const RecordRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 128);
590
660
  /**
591
661
  * Describes the message agentruntime.v1.RecordRunVirtualFileTransactionResponse.
592
662
  * Use `create(RecordRunVirtualFileTransactionResponseSchema)` to create a new message.
593
663
  */
594
- export const RecordRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 115);
664
+ export const RecordRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 129);
595
665
  /**
596
666
  * Describes the message agentruntime.v1.PromoteRunVirtualFileTransactionRequest.
597
667
  * Use `create(PromoteRunVirtualFileTransactionRequestSchema)` to create a new message.
598
668
  */
599
- export const PromoteRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 116);
669
+ export const PromoteRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 130);
600
670
  /**
601
671
  * Describes the message agentruntime.v1.PromoteRunVirtualFileTransactionResponse.
602
672
  * Use `create(PromoteRunVirtualFileTransactionResponseSchema)` to create a new message.
603
673
  */
604
- export const PromoteRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 117);
674
+ export const PromoteRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 131);
605
675
  /**
606
676
  * Describes the message agentruntime.v1.RuntimeVirtualFileDiffHunk.
607
677
  * Use `create(RuntimeVirtualFileDiffHunkSchema)` to create a new message.
608
678
  */
609
- export const RuntimeVirtualFileDiffHunkSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 118);
679
+ export const RuntimeVirtualFileDiffHunkSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 132);
610
680
  /**
611
681
  * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionFileDiff.
612
682
  * Use `create(RuntimeVirtualFileTransactionFileDiffSchema)` to create a new message.
613
683
  */
614
- export const RuntimeVirtualFileTransactionFileDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 119);
684
+ export const RuntimeVirtualFileTransactionFileDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 133);
615
685
  /**
616
686
  * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionConflict.
617
687
  * Use `create(RuntimeVirtualFileTransactionConflictSchema)` to create a new message.
618
688
  */
619
- export const RuntimeVirtualFileTransactionConflictSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 120);
689
+ export const RuntimeVirtualFileTransactionConflictSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 134);
620
690
  /**
621
691
  * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionDiff.
622
692
  * Use `create(RuntimeVirtualFileTransactionDiffSchema)` to create a new message.
623
693
  */
624
- export const RuntimeVirtualFileTransactionDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 121);
694
+ export const RuntimeVirtualFileTransactionDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 135);
625
695
  /**
626
696
  * Describes the message agentruntime.v1.DiffRunVirtualFileTransactionRequest.
627
697
  * Use `create(DiffRunVirtualFileTransactionRequestSchema)` to create a new message.
628
698
  */
629
- export const DiffRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 122);
699
+ export const DiffRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 136);
630
700
  /**
631
701
  * Describes the message agentruntime.v1.DiffRunVirtualFileTransactionResponse.
632
702
  * Use `create(DiffRunVirtualFileTransactionResponseSchema)` to create a new message.
633
703
  */
634
- export const DiffRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 123);
704
+ export const DiffRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 137);
635
705
  /**
636
706
  * Describes the message agentruntime.v1.ApplyRunVirtualFileTransactionRequest.
637
707
  * Use `create(ApplyRunVirtualFileTransactionRequestSchema)` to create a new message.
638
708
  */
639
- export const ApplyRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 124);
709
+ export const ApplyRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 138);
640
710
  /**
641
711
  * Describes the message agentruntime.v1.ApplyRunVirtualFileTransactionResponse.
642
712
  * Use `create(ApplyRunVirtualFileTransactionResponseSchema)` to create a new message.
643
713
  */
644
- export const ApplyRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 125);
714
+ export const ApplyRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 139);
645
715
  /**
646
716
  * Describes the message agentruntime.v1.RebaseRunVirtualFileTransactionRequest.
647
717
  * Use `create(RebaseRunVirtualFileTransactionRequestSchema)` to create a new message.
648
718
  */
649
- export const RebaseRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 126);
719
+ export const RebaseRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 140);
650
720
  /**
651
721
  * Describes the message agentruntime.v1.RebaseRunVirtualFileTransactionResponse.
652
722
  * Use `create(RebaseRunVirtualFileTransactionResponseSchema)` to create a new message.
653
723
  */
654
- export const RebaseRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 127);
724
+ export const RebaseRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 141);
655
725
  /**
656
726
  * Describes the message agentruntime.v1.HydrateRunVirtualFileMountRequest.
657
727
  * Use `create(HydrateRunVirtualFileMountRequestSchema)` to create a new message.
658
728
  */
659
- export const HydrateRunVirtualFileMountRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 128);
729
+ export const HydrateRunVirtualFileMountRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 142);
660
730
  /**
661
731
  * Describes the message agentruntime.v1.HydrateRunVirtualFileMountResponse.
662
732
  * Use `create(HydrateRunVirtualFileMountResponseSchema)` to create a new message.
663
733
  */
664
- export const HydrateRunVirtualFileMountResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 129);
734
+ export const HydrateRunVirtualFileMountResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 143);
665
735
  /**
666
736
  * Describes the message agentruntime.v1.InspectRunVirtualFilesRequest.
667
737
  * Use `create(InspectRunVirtualFilesRequestSchema)` to create a new message.
668
738
  */
669
- export const InspectRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 130);
739
+ export const InspectRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 144);
670
740
  /**
671
741
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorSummary.
672
742
  * Use `create(RuntimeVirtualFileInspectorSummarySchema)` to create a new message.
673
743
  */
674
- export const RuntimeVirtualFileInspectorSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 131);
744
+ export const RuntimeVirtualFileInspectorSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 145);
675
745
  /**
676
746
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorMount.
677
747
  * Use `create(RuntimeVirtualFileInspectorMountSchema)` to create a new message.
678
748
  */
679
- export const RuntimeVirtualFileInspectorMountSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 132);
749
+ export const RuntimeVirtualFileInspectorMountSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 146);
680
750
  /**
681
751
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorTransaction.
682
752
  * Use `create(RuntimeVirtualFileInspectorTransactionSchema)` to create a new message.
683
753
  */
684
- export const RuntimeVirtualFileInspectorTransactionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 133);
754
+ export const RuntimeVirtualFileInspectorTransactionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 147);
685
755
  /**
686
756
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorProducer.
687
757
  * Use `create(RuntimeVirtualFileInspectorProducerSchema)` to create a new message.
688
758
  */
689
- export const RuntimeVirtualFileInspectorProducerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 134);
759
+ export const RuntimeVirtualFileInspectorProducerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 148);
690
760
  /**
691
761
  * Describes the message agentruntime.v1.InspectRunVirtualFilesResponse.
692
762
  * Use `create(InspectRunVirtualFilesResponseSchema)` to create a new message.
693
763
  */
694
- export const InspectRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 135);
764
+ export const InspectRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 149);
695
765
  /**
696
766
  * AgentRunState describes the runtime lifecycle of one durable attempt.
697
767
  *
@@ -1123,11 +1193,304 @@ export var RuntimeEventType;
1123
1193
  * @generated from enum value: RUNTIME_EVENT_TYPE_AGENT_PROGRESS_RECORDED = 32;
1124
1194
  */
1125
1195
  RuntimeEventType[RuntimeEventType["AGENT_PROGRESS_RECORDED"] = 32] = "AGENT_PROGRESS_RECORDED";
1196
+ /**
1197
+ * @generated from enum value: RUNTIME_EVENT_TYPE_RUN_CONTROL_RECORDED = 33;
1198
+ */
1199
+ RuntimeEventType[RuntimeEventType["RUN_CONTROL_RECORDED"] = 33] = "RUN_CONTROL_RECORDED";
1200
+ /**
1201
+ * @generated from enum value: RUNTIME_EVENT_TYPE_WORK_ITEM_RECORDED = 34;
1202
+ */
1203
+ RuntimeEventType[RuntimeEventType["WORK_ITEM_RECORDED"] = 34] = "WORK_ITEM_RECORDED";
1204
+ /**
1205
+ * @generated from enum value: RUNTIME_EVENT_TYPE_WORK_ITEM_UPDATED = 35;
1206
+ */
1207
+ RuntimeEventType[RuntimeEventType["WORK_ITEM_UPDATED"] = 35] = "WORK_ITEM_UPDATED";
1208
+ /**
1209
+ * @generated from enum value: RUNTIME_EVENT_TYPE_PROCESSING_PRESENCE_RECORDED = 36;
1210
+ */
1211
+ RuntimeEventType[RuntimeEventType["PROCESSING_PRESENCE_RECORDED"] = 36] = "PROCESSING_PRESENCE_RECORDED";
1212
+ /**
1213
+ * @generated from enum value: RUNTIME_EVENT_TYPE_AUTONOMY_SESSION_RECORDED = 37;
1214
+ */
1215
+ RuntimeEventType[RuntimeEventType["AUTONOMY_SESSION_RECORDED"] = 37] = "AUTONOMY_SESSION_RECORDED";
1216
+ /**
1217
+ * @generated from enum value: RUNTIME_EVENT_TYPE_RUN_YIELDED = 38;
1218
+ */
1219
+ RuntimeEventType[RuntimeEventType["RUN_YIELDED"] = 38] = "RUN_YIELDED";
1126
1220
  })(RuntimeEventType || (RuntimeEventType = {}));
1127
1221
  /**
1128
1222
  * Describes the enum agentruntime.v1.RuntimeEventType.
1129
1223
  */
1130
1224
  export const RuntimeEventTypeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 6);
1225
+ /**
1226
+ * RunControlMode describes durable input applied to an autonomous run/session.
1227
+ * Steering and followups are optional controls; they are not the worker loop.
1228
+ *
1229
+ * @generated from enum agentruntime.v1.RunControlMode
1230
+ */
1231
+ export var RunControlMode;
1232
+ (function (RunControlMode) {
1233
+ /**
1234
+ * @generated from enum value: RUN_CONTROL_MODE_UNSPECIFIED = 0;
1235
+ */
1236
+ RunControlMode[RunControlMode["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1237
+ /**
1238
+ * @generated from enum value: RUN_CONTROL_MODE_STEER = 1;
1239
+ */
1240
+ RunControlMode[RunControlMode["STEER"] = 1] = "STEER";
1241
+ /**
1242
+ * @generated from enum value: RUN_CONTROL_MODE_FOLLOWUP = 2;
1243
+ */
1244
+ RunControlMode[RunControlMode["FOLLOWUP"] = 2] = "FOLLOWUP";
1245
+ /**
1246
+ * @generated from enum value: RUN_CONTROL_MODE_COLLECT = 3;
1247
+ */
1248
+ RunControlMode[RunControlMode["COLLECT"] = 3] = "COLLECT";
1249
+ /**
1250
+ * @generated from enum value: RUN_CONTROL_MODE_INTERRUPT = 4;
1251
+ */
1252
+ RunControlMode[RunControlMode["INTERRUPT"] = 4] = "INTERRUPT";
1253
+ /**
1254
+ * @generated from enum value: RUN_CONTROL_MODE_CANCEL = 5;
1255
+ */
1256
+ RunControlMode[RunControlMode["CANCEL"] = 5] = "CANCEL";
1257
+ /**
1258
+ * @generated from enum value: RUN_CONTROL_MODE_SYSTEM_WAKE = 6;
1259
+ */
1260
+ RunControlMode[RunControlMode["SYSTEM_WAKE"] = 6] = "SYSTEM_WAKE";
1261
+ })(RunControlMode || (RunControlMode = {}));
1262
+ /**
1263
+ * Describes the enum agentruntime.v1.RunControlMode.
1264
+ */
1265
+ export const RunControlModeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 7);
1266
+ /**
1267
+ * AutonomyProcessingState is the channel-safe processing presence for a
1268
+ * long-lived autonomous teammate. Adapters update the same visible Slack
1269
+ * message from this state instead of posting one reply per runtime turn.
1270
+ *
1271
+ * @generated from enum agentruntime.v1.AutonomyProcessingState
1272
+ */
1273
+ export var AutonomyProcessingState;
1274
+ (function (AutonomyProcessingState) {
1275
+ /**
1276
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_UNSPECIFIED = 0;
1277
+ */
1278
+ AutonomyProcessingState[AutonomyProcessingState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1279
+ /**
1280
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_QUEUED = 1;
1281
+ */
1282
+ AutonomyProcessingState[AutonomyProcessingState["QUEUED"] = 1] = "QUEUED";
1283
+ /**
1284
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_ORIENTING = 2;
1285
+ */
1286
+ AutonomyProcessingState[AutonomyProcessingState["ORIENTING"] = 2] = "ORIENTING";
1287
+ /**
1288
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_THINKING = 3;
1289
+ */
1290
+ AutonomyProcessingState[AutonomyProcessingState["THINKING"] = 3] = "THINKING";
1291
+ /**
1292
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_USING_TOOL = 4;
1293
+ */
1294
+ AutonomyProcessingState[AutonomyProcessingState["USING_TOOL"] = 4] = "USING_TOOL";
1295
+ /**
1296
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_SPAWNING_CHILDREN = 5;
1297
+ */
1298
+ AutonomyProcessingState[AutonomyProcessingState["SPAWNING_CHILDREN"] = 5] = "SPAWNING_CHILDREN";
1299
+ /**
1300
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_WAITING_ON_APPROVAL = 6;
1301
+ */
1302
+ AutonomyProcessingState[AutonomyProcessingState["WAITING_ON_APPROVAL"] = 6] = "WAITING_ON_APPROVAL";
1303
+ /**
1304
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_WAITING_ON_EVENT = 7;
1305
+ */
1306
+ AutonomyProcessingState[AutonomyProcessingState["WAITING_ON_EVENT"] = 7] = "WAITING_ON_EVENT";
1307
+ /**
1308
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_SYNTHESIZING = 8;
1309
+ */
1310
+ AutonomyProcessingState[AutonomyProcessingState["SYNTHESIZING"] = 8] = "SYNTHESIZING";
1311
+ /**
1312
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_COMPLETING = 9;
1313
+ */
1314
+ AutonomyProcessingState[AutonomyProcessingState["COMPLETING"] = 9] = "COMPLETING";
1315
+ /**
1316
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_IDLE = 10;
1317
+ */
1318
+ AutonomyProcessingState[AutonomyProcessingState["IDLE"] = 10] = "IDLE";
1319
+ /**
1320
+ * @generated from enum value: AUTONOMY_PROCESSING_STATE_FAILED = 11;
1321
+ */
1322
+ AutonomyProcessingState[AutonomyProcessingState["FAILED"] = 11] = "FAILED";
1323
+ })(AutonomyProcessingState || (AutonomyProcessingState = {}));
1324
+ /**
1325
+ * Describes the enum agentruntime.v1.AutonomyProcessingState.
1326
+ */
1327
+ export const AutonomyProcessingStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 8);
1328
+ /**
1329
+ * AgentWorkItemKind classifies nodes in the autonomous work graph.
1330
+ *
1331
+ * @generated from enum agentruntime.v1.AgentWorkItemKind
1332
+ */
1333
+ export var AgentWorkItemKind;
1334
+ (function (AgentWorkItemKind) {
1335
+ /**
1336
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_UNSPECIFIED = 0;
1337
+ */
1338
+ AgentWorkItemKind[AgentWorkItemKind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1339
+ /**
1340
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_ROOT = 1;
1341
+ */
1342
+ AgentWorkItemKind[AgentWorkItemKind["ROOT"] = 1] = "ROOT";
1343
+ /**
1344
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_MODEL_CALL = 2;
1345
+ */
1346
+ AgentWorkItemKind[AgentWorkItemKind["MODEL_CALL"] = 2] = "MODEL_CALL";
1347
+ /**
1348
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_TOOL_CALL = 3;
1349
+ */
1350
+ AgentWorkItemKind[AgentWorkItemKind["TOOL_CALL"] = 3] = "TOOL_CALL";
1351
+ /**
1352
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_CHILD_RUN = 4;
1353
+ */
1354
+ AgentWorkItemKind[AgentWorkItemKind["CHILD_RUN"] = 4] = "CHILD_RUN";
1355
+ /**
1356
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_WAIT = 5;
1357
+ */
1358
+ AgentWorkItemKind[AgentWorkItemKind["WAIT"] = 5] = "WAIT";
1359
+ /**
1360
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_MEMORY = 6;
1361
+ */
1362
+ AgentWorkItemKind[AgentWorkItemKind["MEMORY"] = 6] = "MEMORY";
1363
+ /**
1364
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_USER_INPUT = 7;
1365
+ */
1366
+ AgentWorkItemKind[AgentWorkItemKind["USER_INPUT"] = 7] = "USER_INPUT";
1367
+ /**
1368
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_FOLLOWUP = 8;
1369
+ */
1370
+ AgentWorkItemKind[AgentWorkItemKind["FOLLOWUP"] = 8] = "FOLLOWUP";
1371
+ /**
1372
+ * @generated from enum value: AGENT_WORK_ITEM_KIND_RECOVERY = 9;
1373
+ */
1374
+ AgentWorkItemKind[AgentWorkItemKind["RECOVERY"] = 9] = "RECOVERY";
1375
+ })(AgentWorkItemKind || (AgentWorkItemKind = {}));
1376
+ /**
1377
+ * Describes the enum agentruntime.v1.AgentWorkItemKind.
1378
+ */
1379
+ export const AgentWorkItemKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 9);
1380
+ /**
1381
+ * AgentWorkItemState describes durable progress for a work graph node.
1382
+ *
1383
+ * @generated from enum agentruntime.v1.AgentWorkItemState
1384
+ */
1385
+ export var AgentWorkItemState;
1386
+ (function (AgentWorkItemState) {
1387
+ /**
1388
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_UNSPECIFIED = 0;
1389
+ */
1390
+ AgentWorkItemState[AgentWorkItemState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1391
+ /**
1392
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_PENDING = 1;
1393
+ */
1394
+ AgentWorkItemState[AgentWorkItemState["PENDING"] = 1] = "PENDING";
1395
+ /**
1396
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_RUNNING = 2;
1397
+ */
1398
+ AgentWorkItemState[AgentWorkItemState["RUNNING"] = 2] = "RUNNING";
1399
+ /**
1400
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_WAITING = 3;
1401
+ */
1402
+ AgentWorkItemState[AgentWorkItemState["WAITING"] = 3] = "WAITING";
1403
+ /**
1404
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_BLOCKED = 4;
1405
+ */
1406
+ AgentWorkItemState[AgentWorkItemState["BLOCKED"] = 4] = "BLOCKED";
1407
+ /**
1408
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_SUCCEEDED = 5;
1409
+ */
1410
+ AgentWorkItemState[AgentWorkItemState["SUCCEEDED"] = 5] = "SUCCEEDED";
1411
+ /**
1412
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_FAILED = 6;
1413
+ */
1414
+ AgentWorkItemState[AgentWorkItemState["FAILED"] = 6] = "FAILED";
1415
+ /**
1416
+ * @generated from enum value: AGENT_WORK_ITEM_STATE_CANCELLED = 7;
1417
+ */
1418
+ AgentWorkItemState[AgentWorkItemState["CANCELLED"] = 7] = "CANCELLED";
1419
+ })(AgentWorkItemState || (AgentWorkItemState = {}));
1420
+ /**
1421
+ * Describes the enum agentruntime.v1.AgentWorkItemState.
1422
+ */
1423
+ export const AgentWorkItemStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 10);
1424
+ /**
1425
+ * AutonomySessionState is the coarse lifecycle for the long-lived teammate
1426
+ * session attached to a work envelope.
1427
+ *
1428
+ * @generated from enum agentruntime.v1.AutonomySessionState
1429
+ */
1430
+ export var AutonomySessionState;
1431
+ (function (AutonomySessionState) {
1432
+ /**
1433
+ * @generated from enum value: AUTONOMY_SESSION_STATE_UNSPECIFIED = 0;
1434
+ */
1435
+ AutonomySessionState[AutonomySessionState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1436
+ /**
1437
+ * @generated from enum value: AUTONOMY_SESSION_STATE_ACTIVE = 1;
1438
+ */
1439
+ AutonomySessionState[AutonomySessionState["ACTIVE"] = 1] = "ACTIVE";
1440
+ /**
1441
+ * @generated from enum value: AUTONOMY_SESSION_STATE_IDLE = 2;
1442
+ */
1443
+ AutonomySessionState[AutonomySessionState["IDLE"] = 2] = "IDLE";
1444
+ /**
1445
+ * @generated from enum value: AUTONOMY_SESSION_STATE_WAITING = 3;
1446
+ */
1447
+ AutonomySessionState[AutonomySessionState["WAITING"] = 3] = "WAITING";
1448
+ /**
1449
+ * @generated from enum value: AUTONOMY_SESSION_STATE_FAILED = 4;
1450
+ */
1451
+ AutonomySessionState[AutonomySessionState["FAILED"] = 4] = "FAILED";
1452
+ /**
1453
+ * @generated from enum value: AUTONOMY_SESSION_STATE_CANCELLED = 5;
1454
+ */
1455
+ AutonomySessionState[AutonomySessionState["CANCELLED"] = 5] = "CANCELLED";
1456
+ })(AutonomySessionState || (AutonomySessionState = {}));
1457
+ /**
1458
+ * Describes the enum agentruntime.v1.AutonomySessionState.
1459
+ */
1460
+ export const AutonomySessionStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 11);
1461
+ /**
1462
+ * YieldContinuation describes how Platform should continue an autonomous
1463
+ * session after the current run releases its lease.
1464
+ *
1465
+ * @generated from enum agentruntime.v1.YieldContinuation
1466
+ */
1467
+ export var YieldContinuation;
1468
+ (function (YieldContinuation) {
1469
+ /**
1470
+ * @generated from enum value: YIELD_CONTINUATION_UNSPECIFIED = 0;
1471
+ */
1472
+ YieldContinuation[YieldContinuation["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1473
+ /**
1474
+ * @generated from enum value: YIELD_CONTINUATION_INLINE_NEXT_STEP = 1;
1475
+ */
1476
+ YieldContinuation[YieldContinuation["INLINE_NEXT_STEP"] = 1] = "INLINE_NEXT_STEP";
1477
+ /**
1478
+ * @generated from enum value: YIELD_CONTINUATION_SCHEDULED = 2;
1479
+ */
1480
+ YieldContinuation[YieldContinuation["SCHEDULED"] = 2] = "SCHEDULED";
1481
+ /**
1482
+ * @generated from enum value: YIELD_CONTINUATION_WAIT = 3;
1483
+ */
1484
+ YieldContinuation[YieldContinuation["WAIT"] = 3] = "WAIT";
1485
+ /**
1486
+ * @generated from enum value: YIELD_CONTINUATION_END_SESSION = 4;
1487
+ */
1488
+ YieldContinuation[YieldContinuation["END_SESSION"] = 4] = "END_SESSION";
1489
+ })(YieldContinuation || (YieldContinuation = {}));
1490
+ /**
1491
+ * Describes the enum agentruntime.v1.YieldContinuation.
1492
+ */
1493
+ export const YieldContinuationSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 12);
1131
1494
  /**
1132
1495
  * RuntimeDependencyStatus describes the readiness of a platform boundary that
1133
1496
  * contributed context to an AgentRun.
@@ -1160,7 +1523,7 @@ export var RuntimeDependencyStatus;
1160
1523
  /**
1161
1524
  * Describes the enum agentruntime.v1.RuntimeDependencyStatus.
1162
1525
  */
1163
- export const RuntimeDependencyStatusSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 7);
1526
+ export const RuntimeDependencyStatusSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 13);
1164
1527
  /**
1165
1528
  * RuntimeWorkEnvelopeKind classifies the durable human/work object a trigger
1166
1529
  * belongs to. Envelopes group retries and follow-up messages across channels
@@ -1206,7 +1569,7 @@ export var RuntimeWorkEnvelopeKind;
1206
1569
  /**
1207
1570
  * Describes the enum agentruntime.v1.RuntimeWorkEnvelopeKind.
1208
1571
  */
1209
- export const RuntimeWorkEnvelopeKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 8);
1572
+ export const RuntimeWorkEnvelopeKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 14);
1210
1573
  /**
1211
1574
  * RuntimeChannelKind classifies the inbound or outbound channel adapter that
1212
1575
  * owns the human conversation surface for a run.
@@ -1267,7 +1630,7 @@ export var RuntimeChannelKind;
1267
1630
  /**
1268
1631
  * Describes the enum agentruntime.v1.RuntimeChannelKind.
1269
1632
  */
1270
- export const RuntimeChannelKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 9);
1633
+ export const RuntimeChannelKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 15);
1271
1634
  /**
1272
1635
  * RuntimeTriggerKind classifies the normalized source event that started or
1273
1636
  * resumed a run. The legacy string source_event_type remains for compatibility
@@ -1365,7 +1728,7 @@ export var RuntimeTriggerKind;
1365
1728
  /**
1366
1729
  * Describes the enum agentruntime.v1.RuntimeTriggerKind.
1367
1730
  */
1368
- export const RuntimeTriggerKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 10);
1731
+ export const RuntimeTriggerKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 16);
1369
1732
  /**
1370
1733
  * RuntimeVisibilityLevel declares whether runtime state can be projected to
1371
1734
  * humans or should remain internal/audit-only. Unspecified values are treated
@@ -1403,7 +1766,7 @@ export var RuntimeVisibilityLevel;
1403
1766
  /**
1404
1767
  * Describes the enum agentruntime.v1.RuntimeVisibilityLevel.
1405
1768
  */
1406
- export const RuntimeVisibilityLevelSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 11);
1769
+ export const RuntimeVisibilityLevelSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 17);
1407
1770
  /**
1408
1771
  * RuntimeAudience identifies the audience allowed to see a runtime event or
1409
1772
  * wait projection. Audience is separate from visibility so clients can render a
@@ -1445,7 +1808,7 @@ export var RuntimeAudience;
1445
1808
  /**
1446
1809
  * Describes the enum agentruntime.v1.RuntimeAudience.
1447
1810
  */
1448
- export const RuntimeAudienceSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 12);
1811
+ export const RuntimeAudienceSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 18);
1449
1812
  /**
1450
1813
  * ChannelActionKind classifies the user or integration action submitted from a
1451
1814
  * durable channel surface.
@@ -1498,7 +1861,7 @@ export var ChannelActionKind;
1498
1861
  /**
1499
1862
  * Describes the enum agentruntime.v1.ChannelActionKind.
1500
1863
  */
1501
- export const ChannelActionKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 13);
1864
+ export const ChannelActionKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 19);
1502
1865
  /**
1503
1866
  * ChannelActionTargetKind identifies the platform object controlled by a
1504
1867
  * channel action.
@@ -1571,7 +1934,7 @@ export var ChannelActionTargetKind;
1571
1934
  /**
1572
1935
  * Describes the enum agentruntime.v1.ChannelActionTargetKind.
1573
1936
  */
1574
- export const ChannelActionTargetKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 14);
1937
+ export const ChannelActionTargetKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 20);
1575
1938
  /**
1576
1939
  * ChannelActionAuthorizationOutcome records the actor-resolution and policy
1577
1940
  * decision for a channel action.
@@ -1612,7 +1975,7 @@ export var ChannelActionAuthorizationOutcome;
1612
1975
  /**
1613
1976
  * Describes the enum agentruntime.v1.ChannelActionAuthorizationOutcome.
1614
1977
  */
1615
- export const ChannelActionAuthorizationOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 15);
1978
+ export const ChannelActionAuthorizationOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 21);
1616
1979
  /**
1617
1980
  * ChannelActionExecutionOutcome records the durable side-effect result for a
1618
1981
  * channel action.
@@ -1665,7 +2028,7 @@ export var ChannelActionExecutionOutcome;
1665
2028
  /**
1666
2029
  * Describes the enum agentruntime.v1.ChannelActionExecutionOutcome.
1667
2030
  */
1668
- export const ChannelActionExecutionOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 16);
2031
+ export const ChannelActionExecutionOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 22);
1669
2032
  /**
1670
2033
  * ChannelActionDeliveryOutcome records whether the channel message/update was
1671
2034
  * reconciled after handling an action.
@@ -1698,7 +2061,7 @@ export var ChannelActionDeliveryOutcome;
1698
2061
  /**
1699
2062
  * Describes the enum agentruntime.v1.ChannelActionDeliveryOutcome.
1700
2063
  */
1701
- export const ChannelActionDeliveryOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 17);
2064
+ export const ChannelActionDeliveryOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 23);
1702
2065
  /**
1703
2066
  * RuntimeSensitivity classifies how carefully runtime payloads must be handled
1704
2067
  * before projection outside Platform.
@@ -1731,7 +2094,7 @@ export var RuntimeSensitivity;
1731
2094
  /**
1732
2095
  * Describes the enum agentruntime.v1.RuntimeSensitivity.
1733
2096
  */
1734
- export const RuntimeSensitivitySchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 18);
2097
+ export const RuntimeSensitivitySchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 24);
1735
2098
  /**
1736
2099
  * RuntimeRedactionKind identifies data categories that were removed or must be
1737
2100
  * removed before channel/user rendering.
@@ -1768,7 +2131,7 @@ export var RuntimeRedactionKind;
1768
2131
  /**
1769
2132
  * Describes the enum agentruntime.v1.RuntimeRedactionKind.
1770
2133
  */
1771
- export const RuntimeRedactionKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 19);
2134
+ export const RuntimeRedactionKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 25);
1772
2135
  /**
1773
2136
  * RuntimeVirtualFileRedactionState mirrors the workspace VFS byte plane's
1774
2137
  * redaction contract so Runtime VFS callers can discover whether content is
@@ -1802,7 +2165,7 @@ export var RuntimeVirtualFileRedactionState;
1802
2165
  /**
1803
2166
  * Describes the enum agentruntime.v1.RuntimeVirtualFileRedactionState.
1804
2167
  */
1805
- export const RuntimeVirtualFileRedactionStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 20);
2168
+ export const RuntimeVirtualFileRedactionStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 26);
1806
2169
  /**
1807
2170
  * @generated from enum agentruntime.v1.RuntimeVirtualFileOperation
1808
2171
  */
@@ -1828,7 +2191,7 @@ export var RuntimeVirtualFileOperation;
1828
2191
  /**
1829
2192
  * Describes the enum agentruntime.v1.RuntimeVirtualFileOperation.
1830
2193
  */
1831
- export const RuntimeVirtualFileOperationSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 21);
2194
+ export const RuntimeVirtualFileOperationSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 27);
1832
2195
  /**
1833
2196
  * RuntimeVirtualFileReasonCode is a stable, machine-readable reason taxonomy
1834
2197
  * for VFS skips and precondition failures. Human strings may evolve; clients
@@ -1878,7 +2241,7 @@ export var RuntimeVirtualFileReasonCode;
1878
2241
  /**
1879
2242
  * Describes the enum agentruntime.v1.RuntimeVirtualFileReasonCode.
1880
2243
  */
1881
- export const RuntimeVirtualFileReasonCodeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 22);
2244
+ export const RuntimeVirtualFileReasonCodeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 28);
1882
2245
  /**
1883
2246
  * @generated from enum agentruntime.v1.RuntimeVirtualFileTransactionApplyStatus
1884
2247
  */
@@ -1912,7 +2275,7 @@ export var RuntimeVirtualFileTransactionApplyStatus;
1912
2275
  /**
1913
2276
  * Describes the enum agentruntime.v1.RuntimeVirtualFileTransactionApplyStatus.
1914
2277
  */
1915
- export const RuntimeVirtualFileTransactionApplyStatusSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 23);
2278
+ export const RuntimeVirtualFileTransactionApplyStatusSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 29);
1916
2279
  /**
1917
2280
  * @generated from enum agentruntime.v1.RuntimeVirtualFileTransactionOutcome
1918
2281
  */
@@ -1946,7 +2309,7 @@ export var RuntimeVirtualFileTransactionOutcome;
1946
2309
  /**
1947
2310
  * Describes the enum agentruntime.v1.RuntimeVirtualFileTransactionOutcome.
1948
2311
  */
1949
- export const RuntimeVirtualFileTransactionOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 24);
2312
+ export const RuntimeVirtualFileTransactionOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 30);
1950
2313
  /**
1951
2314
  * AgentRuntimeService accepts normalized triggers and manages durable
1952
2315
  * AgentRun execution attempts. Workers claim runs by lease, checkpoint their