@foir/cli 0.73.0 → 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +28 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1406,7 +1406,7 @@ import { fileDesc as fileDesc23, messageDesc as messageDesc23 } from "@bufbuild/
|
|
|
1406
1406
|
var file_common_v1_action = /* @__PURE__ */ fileDesc23("ChZjb21tb24vdjEvYWN0aW9uLnByb3RvEgljb21tb24udjEiNwoGQWN0aW9uEgwKBHZlcmIYASABKAkSDwoHYWxsb3dlZBgCIAEoCBIOCgZyZWFzb24YAyABKAlCOVo3Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2NvbW1vbi92MTtjb21tb252MWIGcHJvdG8z");
|
|
1407
1407
|
|
|
1408
1408
|
// ../../packages/proto-ts/src/apps/v1/apps_service_pb.js
|
|
1409
|
-
var file_apps_v1_apps_service = /* @__PURE__ */ fileDesc24("ChphcHBzL3YxL2FwcHNfc2VydmljZS5wcm90bxIHYXBwcy52MSKiBAoJUGxhY2VtZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCWNvbmZpZ19pZBgEIAEoCRILCgNrZXkYBSABKAkSKQoGdGFyZ2V0GAYgASgOMhkuYXBwcy52MS5QbGFjZW1lbnQuVGFyZ2V0EhIKBW1vZGVsGAcgASgJSACIAQESEgoFZmllbGQYCCABKAlIAYgBARIQCgN0YWIYCSABKAlIAogBARINCgV0aXRsZRgKIAEoCRILCgN1cmwYCyABKAkSGAoQcmVwbGFjZXNfZGVmYXVsdBgMIAEoCBIrCgVoaW50cxgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ0CgZUYXJnZXQSFgoSVEFSR0VUX1VOU1BFQ0lGSUVEEAASFAoQVEFSR0VUX0ZVTExfUEFHRRABEhYKElRBUkdFVF9NQUlOX0VESVRPUhACEhIKDlRBUkdFVF9TSURFQkFSEAMSEAoMVEFSR0VUX0ZJRUxEEARCCAoGX21vZGVsQggKBl9maWVsZEIGCgRfdGFiQggKBl9oaW50cyJrChlNaW50UGxhY2VtZW50VG9rZW5SZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhUKDXBsYWNlbWVudF9rZXkYBCABKAki3QEKGk1pbnRQbGFjZW1lbnRUb2tlblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZvcmlnaW4YAyABKAkSDgoGb3JnX2lkGAQgASgJEhYKDmdyYW50ZWRfc2NvcGVzGAUgAygJEigKCHdpdGhoZWxkGAYgAygLMhYuYXBwcy52MS5XaXRoaGVsZFNjb3BlEhcKD2ZyYW1lX2FuY2VzdG9ycxgHIAMoCSIuCg1XaXRoaGVsZFNjb3BlEg0KBXNjb3BlGAEgASgJEg4KBnJlYXNvbhgCIAEoCSLtAQoVTGlzdFBsYWNlbWVudHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEisKBXdoZXJlGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAQgASgFSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBARIRCgRsYXN0GAYgASgFSAOIAQESEwoGYmVmb3JlGAcgASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSK0AQoWTGlzdFBsYWNlbWVudHNSZXNwb25zZRImCgpwbGFjZW1lbnRzGAEgAygLMhIuYXBwcy52MS5QbGFjZW1lbnQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESFwoPZnJhbWVfYW5jZXN0b3JzGAUgAygJEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKDAgocTGlzdFBsYWNlbWVudHNCeU1vZGVsUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRINCgVtb2RlbBgDIAEoCRIrCgV3aGVyZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVmaXJzdBgFIAEoBUgBiAEBEhIKBWFmdGVyGAYgASgJSAKIAQESEQoEbGFzdBgHIAEoBUgDiAEBEhMKBmJlZm9yZRgIIAEoCUgEiAEBQggKBl93aGVyZUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmUiogEKHUxpc3RQbGFjZW1lbnRzQnlNb2RlbFJlc3BvbnNlEiYKCnBsYWNlbWVudHMYASADKAsyEi5hcHBzLnYxLlBsYWNlbWVudBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8isQQKA0FwcBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEhQKDG1hbmlmZXN0X3VybBgFIAEoCRIVCg1tYW5pZmVzdF9oYXNoGAYgASgJEiQKCG1hbmlmZXN0GAcgASgLMhIuYXBwcy52MS5BcHBDb25maWcSKQoIc2V0dGluZ3MYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1hcHBpbmdzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAogASgIEjAKDGluc3RhbGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoMaW5zdGFsbGVkX2J5GAwgASgJSACIAQESLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoUbGFzdF9wdXNoZWRfbWFwcGluZ3MYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjcKDmxhc3RfcHVzaGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhMKBm9yZ19pZBgQIAEoCUgCiAEBQg8KDV9pbnN0YWxsZWRfYnlCEQoPX2xhc3RfcHVzaGVkX2F0QgkKB19vcmdfaWQi8QIKDVNvdXJjZU1hcHBpbmcSEAoIdG9fbW9kZWwYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkSMgoGZmllbGRzGAMgAygLMiIuYXBwcy52MS5Tb3VyY2VNYXBwaW5nLkZpZWxkc0VudHJ5EkUKEGZpZWxkX2RpcmVjdGlvbnMYBCADKAsyKy5hcHBzLnYxLlNvdXJjZU1hcHBpbmcuRmllbGREaXJlY3Rpb25zRW50cnkSIQoEbW9kZRgFIAEoDjITLmFwcHMudjEuU291cmNlTW9kZRotCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlMKFEZpZWxkRGlyZWN0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRIqCgV2YWx1ZRgCIAEoDjIbLmFwcHMudjEuRmllbGRTeW5jRGlyZWN0aW9uOgI4AUoECAYQB1IRaWRlbnRpdHlfcHJvdmlkZXIilQEKC1NpbmtNYXBwaW5nEhAKCHRvX21vZGVsGAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJEjAKBmZpZWxkcxgDIAMoCzIgLmFwcHMudjEuU2lua01hcHBpbmcuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0ChRQbGFjZW1lbnRGaWVsZENob2ljZRINCgVtb2RlbBgBIAEoCRINCgVmaWVsZBgCIAEoCSKsBQoRQXBwSW5zdGFsbFByZXZpZXcSJAoIbWFuaWZlc3QYASABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIVCg1tYW5pZmVzdF9oYXNoGAIgASgJEhwKFG9wZXJhdGlvbnNfdG9fY3JlYXRlGAMgAygJEhcKD2hvb2tzX3RvX2NyZWF0ZRgEIAMoCRIcChRwbGFjZW1lbnRzX3RvX2NyZWF0ZRgFIAMoCRI6ChNjcmVkZW50aWFsX3N0cmF0ZWd5GAYgASgOMh0uYXBwcy52MS5DcmVkZW50aWFscy5TdHJhdGVneRIbChNzb3VyY2VfdHlwZXNfdG9fbWFwGAcgAygJEh0KFXNpbmtfY29udHJhY3RzX3RvX21hcBgIIAMoCRIpCiFwbGFjZW1lbnRzX3JlcXVpcmluZ19maWVsZF9jaG9pY2UYCSADKAkSEwoLd2ViaG9va191cmwYCiABKAkSHQoVb3B0aW9uYWxfc291cmNlX3R5cGVzGAsgAygJEh8KF29wdGlvbmFsX3NpbmtfY29udHJhY3RzGAwgAygJEiMKG3Byb3Zpc2lvbl9vbmx5X3NvdXJjZV90eXBlcxgNIAMoCRJJChBwbGFjZW1lbnRfc2NvcGVzGA4gAygLMi8uYXBwcy52MS5BcHBJbnN0YWxsUHJldmlldy5QbGFjZW1lbnRTY29wZXNFbnRyeRIXCg9mcmFtZV9hbmNlc3RvcnMYDyADKAkSHgoWcmVmZXJlbmNlX3NvdXJjZV90eXBlcxgQIAMoCRISCgpsYW5kc19oZWxkGBEgASgIGlAKFFBsYWNlbWVudFNjb3Blc0VudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoCzIYLmFwcHMudjEuUGxhY2VtZW50U2NvcGVzOgI4ASIhCg9QbGFjZW1lbnRTY29wZXMSDgoGc2NvcGVzGAEgAygJIvwBCg9MaXN0QXBwc1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEgoFZmlyc3QYAyABKAVIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhEKBGxhc3QYBSABKAVIAogBARITCgZiZWZvcmUYBiABKAlIA4gBARIrCgV3aGVyZRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARITCgtldmVyeV9sZXZlbBgIIAEoCEIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmVCCAoGX3doZXJlIvYBChBMaXN0QXBwc1Jlc3BvbnNlEhoKBGFwcHMYASADKAsyDC5hcHBzLnYxLkFwcBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJEjoKCW9yZ19uYW1lcxgFIAMoCzInLmFwcHMudjEuTGlzdEFwcHNSZXNwb25zZS5PcmdOYW1lc0VudHJ5Gi8KDU9yZ05hbWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIMCgpfcGFnZV9pbmZvIkQKDUdldEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCSKlAQoOR2V0QXBwUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHASWQoaY3VzdG9tZXJfZW1haWxfdW5hdmFpbGFibGUYAiABKA4yMC5ub3RpZmljYXRpb25zLnYxLkN1c3RvbWVyRW1haWxVbmF2YWlsYWJsZVJlYXNvbkgAiAEBQh0KG19jdXN0b21lcl9lbWFpbF91bmF2YWlsYWJsZSJQChFJbnN0YWxsQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIUCgxtYW5pZmVzdF91cmwYAyABKAkisQEKEkluc3RhbGxBcHBSZXNwb25zZRIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRIrCgdwcmV2aWV3GAIgASgLMhouYXBwcy52MS5BcHBJbnN0YWxsUHJldmlldxIuCgpleHBpcmVzX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgZ0aWNrZXQYBCABKAsyFi5hcHBzLnYxLkluc3RhbGxUaWNrZXQiWAoXR2V0SW5zdGFsbFRpY2tldFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFgoOaW5zdGFsbF90aWNrZXQYAyABKAkiQgoYR2V0SW5zdGFsbFRpY2tldFJlc3BvbnNlEiYKBnRpY2tldBgBIAEoCzIWLmFwcHMudjEuSW5zdGFsbFRpY2tldCKsBAoNSW5zdGFsbFRpY2tldBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIOCgZvcmdfaWQYBCABKAkSFAoMbWFuaWZlc3RfdXJsGAUgASgJEhAKCGFwcF9uYW1lGAYgASgJEiQKBXN0YXRlGAcgASgOMhUuYXBwcy52MS5JbnN0YWxsU3RhdGUSKwoHcHJldmlldxgIIAEoCzIaLmFwcHMudjEuQXBwSW5zdGFsbFByZXZpZXcSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY3JlYXRlZF9ieRgLIAEoCRI1Cgxjb25maXJtZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESFAoMY29uZmlybWVkX2J5GA0gASgJEjUKDGNvbXBsZXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIOCgZhcHBfaWQYDyABKAkSDwoHZmFpbHVyZRgQIAEoCRIiCgdhY3Rpb25zGBEgAygLMhEuY29tbW9uLnYxLkFjdGlvbkIPCg1fY29uZmlybWVkX2F0Qg8KDV9jb21wbGV0ZWRfYXQimQUKGENvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdBIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRJOCg9zb3VyY2VfbWFwcGluZ3MYAiADKAsyNS5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkoKDXNpbmtfbWFwcGluZ3MYAyADKAsyMy5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5TaW5rTWFwcGluZ3NFbnRyeRIuCghzZXR0aW5ncxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJdChdwbGFjZW1lbnRfZmllbGRfY2hvaWNlcxgFIAMoCzI8LmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0LlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIEhgKEGN1c3RvbWVyX3NpZ25faW4YByABKAkaTQoTU291cmNlTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5hcHBzLnYxLlNvdXJjZU1hcHBpbmc6AjgBGkkKEVNpbmtNYXBwaW5nc0VudHJ5EgsKA2tleRgBIAEoCRIjCgV2YWx1ZRgCIAEoCzIULmFwcHMudjEuU2lua01hcHBpbmc6AjgBGlsKGlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmFwcHMudjEuUGxhY2VtZW50RmllbGRDaG9pY2U6AjgBQgsKCV9zZXR0aW5ncyI2ChlDb25maXJtSW5zdGFsbEFwcFJlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIkcKEFVwZGF0ZUFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCSKWAQoRVXBkYXRlQXBwUmVzcG9uc2USGQoRbmV3X21hbmlmZXN0X2hhc2gYASABKAkSKAoMbmV3X21hbmlmZXN0GAIgASgLMhIuYXBwcy52MS5BcHBDb25maWcSKAoHY2hhbmdlcxgDIAMoCzIXLmFwcHMudjEuTWFuaWZlc3RDaGFuZ2USEgoKbm9fY2hhbmdlcxgEIAEoCCLLAQoOTWFuaWZlc3RDaGFuZ2USLAoFY2xhc3MYASABKA4yHS5hcHBzLnYxLk1hbmlmZXN0Q2hhbmdlLkNsYXNzEgwKBHBhdGgYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiaAoFQ2xhc3MSFQoRQ0xBU1NfVU5TUEVDSUZJRUQQABITCg9DTEFTU19TQUZFX0FVVE8QARIfChtDTEFTU19SRVFVSVJFU19DT05GSVJNQVRJT04QAhISCg5DTEFTU19SRUpFQ1RFRBADIngKF0NvbmZpcm1VcGRhdGVBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSGQoRbmV3X21hbmlmZXN0X2hhc2gYBCABKAkSDQoFZm9yY2UYBSABKAgiNQoYQ29uZmlybVVwZGF0ZUFwcFJlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIo0BChRTZXRBcHBFbmFibGVkUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhQKB2VuYWJsZWQYBCABKAhIAIgBARITCgZyZWFzb24YBSABKAlIAYgBAUIKCghfZW5hYmxlZEIJCgdfcmVhc29uIjIKFVNldEFwcEVuYWJsZWRSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJZChNVbmluc3RhbGxBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDQoFZm9yY2UYBCABKAgiNwoUVW5pbnN0YWxsQXBwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZmb3JjZWQYAiABKAgimgUKFFNldEFwcE1hcHBpbmdSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSSgoPc291cmNlX21hcHBpbmdzGAQgAygLMjEuYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkYKDXNpbmtfbWFwcGluZ3MYBSADKAsyLy5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0LlNpbmtNYXBwaW5nc0VudHJ5ElkKF3BsYWNlbWVudF9maWVsZF9jaG9pY2VzGAYgAygLMjguYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5QbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRIcChR1cGRhdGVfcHVzaF9zbmFwc2hvdBgHIAEoCBIVCg1zbmFwc2hvdF9vbmx5GAggASgIEh0KEGN1c3RvbWVyX3NpZ25faW4YCSABKAlIAIgBARpNChNTb3VyY2VNYXBwaW5nc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmFwcHMudjEuU291cmNlTWFwcGluZzoCOAEaSQoRU2lua01hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiMKBXZhbHVlGAIgASgLMhQuYXBwcy52MS5TaW5rTWFwcGluZzoCOAEaWwoaUGxhY2VtZW50RmllbGRDaG9pY2VzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYXBwcy52MS5QbGFjZW1lbnRGaWVsZENob2ljZToCOAFCEwoRX2N1c3RvbWVyX3NpZ25faW4iMgoVU2V0QXBwTWFwcGluZ1Jlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIhsKGUdldENvbnNvbGVTZXR0aW5nc1JlcXVlc3QiRwoaR2V0Q29uc29sZVNldHRpbmdzUmVzcG9uc2USKQoIc2V0dGluZ3MYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkYKGVNldENvbnNvbGVTZXR0aW5nc1JlcXVlc3QSKQoIc2V0dGluZ3MYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkcKGlNldENvbnNvbGVTZXR0aW5nc1Jlc3BvbnNlEikKCHNldHRpbmdzGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ3ChVTZXRBcHBTZXR0aW5nc1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIpCghzZXR0aW5ncxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiMwoWU2V0QXBwU2V0dGluZ3NSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJUChdWYWxpZGF0ZU1hbmlmZXN0UmVxdWVzdBIWCgxtYW5pZmVzdF91cmwYASABKAlIABIXCg1tYW5pZmVzdF9qc29uGAIgASgJSABCCAoGc291cmNlIrUBCg9WYWxpZGF0aW9uSXNzdWUSMwoIc2V2ZXJpdHkYASABKA4yIS5hcHBzLnYxLlZhbGlkYXRpb25Jc3N1ZS5TZXZlcml0eRIMCgRwYXRoGAIgASgJEg8KB21lc3NhZ2UYAyABKAkiTgoIU2V2ZXJpdHkSGAoUU0VWRVJJVFlfVU5TUEVDSUZJRUQQABISCg5TRVZFUklUWV9FUlJPUhABEhQKEFNFVkVSSVRZX1dBUk5JTkcQAiJQChhWYWxpZGF0ZU1hbmlmZXN0UmVzcG9uc2USKAoGaXNzdWVzGAEgAygLMhguYXBwcy52MS5WYWxpZGF0aW9uSXNzdWUSCgoCb2sYAiABKAgijgEKF1RyaWdnZXJPcGVyYXRpb25SZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhUKDW9wZXJhdGlvbl9rZXkYAyABKAkSKwoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCAoGX2lucHV0IjAKGFRyaWdnZXJPcGVyYXRpb25SZXNwb25zZRIUCgxleGVjdXRpb25faWQYASABKAkifQoZQ29tcGxldGVBcHBJbnN0YWxsUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCRInCgZ2YWx1ZXMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ii0KGkNvbXBsZXRlQXBwSW5zdGFsbFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgifAoaUm90YXRlQXBwQ3JlZGVudGlhbFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkSEgoKZmllbGRfbmFtZRgEIAEoCRIRCglwbGFpbnRleHQYBSABKAwiLgobUm90YXRlQXBwQ3JlZGVudGlhbFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiWAodR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkiXAoeR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlc3BvbnNlEicKBnZhbHVlcxgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJcG9wdWxhdGVkGAIgASgIImQKKUFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJIj0KKkFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlUKGklzc3VlRXhjaGFuZ2VUaWNrZXRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJIl0KG0lzc3VlRXhjaGFuZ2VUaWNrZXRSZXNwb25zZRIOCgZ0aWNrZXQYASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLQobUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXF1ZXN0Eg4KBnRpY2tldBgBIAEoCSJkChxSZWRlZW1FeGNoYW5nZVRpY2tldFJlc3BvbnNlEhQKDHNjb3BlZF90b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKbBQoJQXBwU3RhdHVzEhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEjUKDGxhc3Rfc3luY19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIiChVsYXN0X3N5bmNfZHVyYXRpb25fbXMYBSABKANIAYgBARIjChZsYXN0X3N5bmNfcmVjb3JkX2NvdW50GAYgASgDSAKIAQESFwoKbGFzdF9lcnJvchgHIAEoCUgDiAEBEjYKDWxhc3RfZXJyb3JfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoTc3Vic2NyaXB0aW9uX2hlYWx0aBgJIAEoCRITCgthdXRoX3N0YXR1cxgKIAEoCRIeChFkZWxldGlvbl9zdHJhdGVneRgLIAEoCUgFiAEBEisKBWV4dHJhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnVwZGF0ZWRfYnlfanRpGA4gASgJSAeIAQESEwoGb3JnX2lkGA8gASgJSAiIAQFCDwoNX2xhc3Rfc3luY19hdEIYChZfbGFzdF9zeW5jX2R1cmF0aW9uX21zQhkKF19sYXN0X3N5bmNfcmVjb3JkX2NvdW50Qg0KC19sYXN0X2Vycm9yQhAKDl9sYXN0X2Vycm9yX2F0QhQKEl9kZWxldGlvbl9zdHJhdGVneUIICgZfZXh0cmFCEQoPX3VwZGF0ZWRfYnlfanRpQgkKB19vcmdfaWQiTgoTR2V0QXBwU3RhdHVzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSI6ChRHZXRBcHBTdGF0dXNSZXNwb25zZRIiCgZzdGF0dXMYASABKAsyEi5hcHBzLnYxLkFwcFN0YXR1cyI8ChZVcHNlcnRBcHBTdGF0dXNSZXF1ZXN0EiIKBnN0YXR1cxgBIAEoCzISLmFwcHMudjEuQXBwU3RhdHVzIioKF1Vwc2VydEFwcFN0YXR1c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi5gEKCEFwcEV2ZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhAKCGFwcF9uYW1lGAQgASgJEg0KBWV2ZW50GAUgASgJEhIKBWFjdG9yGAYgASgJSACIAQESLAoGZGV0YWlsGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEi8KC29jY3VycmVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIICgZfYWN0b3JCCQoHX2RldGFpbCL+AQoUTGlzdEFwcEV2ZW50c1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkSEgoFYWZ0ZXIYBCABKAlIAIgBARITCgZiZWZvcmUYBSABKAlIAYgBARISCgVmaXJzdBgGIAEoBUgCiAEBEhEKBGxhc3QYByABKAVIA4gBARIrCgV3aGVyZRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3RCCAoGX3doZXJlIoYBChVMaXN0QXBwRXZlbnRzUmVzcG9uc2USIQoGZXZlbnRzGAEgAygLMhEuYXBwcy52MS5BcHBFdmVudBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJQgwKCl9wYWdlX2luZm8qWgoKU291cmNlTW9kZRIbChdTT1VSQ0VfTU9ERV9VTlNQRUNJRklFRBAAEhQKEFNPVVJDRV9NT0RFX1NZTkMQARIZChVTT1VSQ0VfTU9ERV9SRUZFUkVOQ0UQAirFAQoMSW5zdGFsbFN0YXRlEh0KGUlOU1RBTExfU1RBVEVfVU5TUEVDSUZJRUQQABInCiNJTlNUQUxMX1NUQVRFX0FXQUlUSU5HX0NPTkZJUk1BVElPThABEhsKF0lOU1RBTExfU1RBVEVfQ09ORklSTUVEEAISGwoXSU5TVEFMTF9TVEFURV9DT01QTEVURUQQAxIYChRJTlNUQUxMX1NUQVRFX0ZBSUxFRBAEEhkKFUlOU1RBTExfU1RBVEVfRVhQSVJFRBAFMvY9CgtBcHBzU2VydmljZRKFAwoITGlzdEFwcHMSGC5hcHBzLnYxLkxpc3RBcHBzUmVxdWVzdBoZLmFwcHMudjEuTGlzdEFwcHNSZXNwb25zZSLDAoqmHb4CCAESAggBGnIIBRJuUmVhY2hlZCBmcm9tIGFkbWluLCBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKgpMaXN0IGFwcHMuEtUBCgZHZXRBcHASFi5hcHBzLnYxLkdldEFwcFJlcXVlc3QaFy5hcHBzLnYxLkdldEFwcFJlc3BvbnNlIpkBiqYdlAEIAxICCAEacwgFEm9SZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlcywgcHVibGljOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4iAggBKhNGZXRjaCBhbiBhcHAgYnkgaWQuEtgDCgpJbnN0YWxsQXBwEhouYXBwcy52MS5JbnN0YWxsQXBwUmVxdWVzdBobLmFwcHMudjEuSW5zdGFsbEFwcFJlc3BvbnNlIpADiqYdiwMIARICCAEaawgFEmdSZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLipeU3RhcnQgaW5zdGFsbGluZyBhbiBhcHA6IGZldGNoIGFuZCBjaGVjayBpdHMgbWFuaWZlc3QsIGFuZCBpc3N1ZSB0aGUgdGlja2V0IGEgcGVyc29uIGNvbmZpcm1zLhLXAwoRQ29uZmlybUluc3RhbGxBcHASIS5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdBoiLmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXNwb25zZSL6AoqmHfUCCAESAggBGmsIBRJnUmVhY2hlZCBmcm9tIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qSENvbmZpcm0gYW4gYXBwIGluc3RhbGxhdGlvbiB0aGF0IGlzIHdhaXRpbmcgb24gYSBwZXJzb24gdG8gYXV0aG9yaXNlIGl0LhKHBQoQR2V0SW5zdGFsbFRpY2tldBIgLmFwcHMudjEuR2V0SW5zdGFsbFRpY2tldFJlcXVlc3QaIS5hcHBzLnYxLkdldEluc3RhbGxUaWNrZXRSZXNwb25zZSKtBIqmHagECAESpgEIBRKhAVJlYWNoZWQgZnJvbSBub3RoaW5nIHlldC4gVGhlIENMSSByZWFkcyB0aGUgc2FtZSB0aWNrZXQgZnJvbSBJbnN0YWxsQXBwJ3MgcmVzcG9uc2UsIGFuZCB0aGUgYWdlbnQgdG9vbHMgdGhhdCBwcm9wb3NlIGFuIGluc3RhbGwgYXJlIHRoZSBmaXJzdCByZWFkZXIgb2YgdGhpcyBvbmUuGmcIBRJjUmVhY2hlZCBmcm9tIG5vdGhpbmcgeWV0LiBUaGUgYWdlbnQgdG9vbHMgdGhhdCBwcm9wb3NlIGFuIGluc3RhbGwgYXJlIHRoZSBmaXJzdCByZWFkZXIgb2YgdGhpcyBvbmUuIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLipaUmVhZCBhbiBhcHAgaW5zdGFsbCdzIHRpY2tldDogaG93IGZhciB0aGUgaW5zdGFsbCBoYXMgZ290LCBhbmQgd2hldGhlciB5b3UgbWF5IGNvbmZpcm0gaXQuEqADCglVcGRhdGVBcHASGS5hcHBzLnYxLlVwZGF0ZUFwcFJlcXVlc3QaGi5hcHBzLnYxLlVwZGF0ZUFwcFJlc3BvbnNlItsCiqYd1gIIARICCAEaawgFEmdSZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLiopVXBkYXRlIOKAlCB0d28tcGhhc2U6IGRpZmYsIHRoZW4gY29uZmlybS4SzgMKEENvbmZpcm1VcGRhdGVBcHASIC5hcHBzLnYxLkNvbmZpcm1VcGRhdGVBcHBSZXF1ZXN0GiEuYXBwcy52MS5Db25maXJtVXBkYXRlQXBwUmVzcG9uc2Ui9AKKph3vAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKkJDb25maXJtIGFuIGFwcCB1cGRhdGUgdGhhdCBpcyB3YWl0aW5nIG9uIGEgcGVyc29uIHRvIGF1dGhvcmlzZSBpdC4StAMKDVNldEFwcEVuYWJsZWQSHS5hcHBzLnYxLlNldEFwcEVuYWJsZWRSZXF1ZXN0Gh4uYXBwcy52MS5TZXRBcHBFbmFibGVkUmVzcG9uc2Ui4wKKph3eAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKjFIb2xkIGFuIGluc3RhbGxlZCBhcHAgcXVpZXQsIG9yIGxldCBpdCBydW4gYWdhaW4uErADCgxVbmluc3RhbGxBcHASHC5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlcXVlc3QaHS5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlc3BvbnNlIuICiqYd3QIIARICCAEaawgFEmdSZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLiowVW5pbnN0YWxsIOKAlCBzaW5nbGUtcGhhc2U7IG9wdGlvbmFsIGZvcmNlIGZsYWcuEpYDCg1TZXRBcHBNYXBwaW5nEh0uYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdBoeLmFwcHMudjEuU2V0QXBwTWFwcGluZ1Jlc3BvbnNlIsUCiqYdwAIIARICCAEaawgFEmdSZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLioTU2V0IGFuIGFwcCBtYXBwaW5nLhKFAwoSR2V0Q29uc29sZVNldHRpbmdzEiIuYXBwcy52MS5HZXRDb25zb2xlU2V0dGluZ3NSZXF1ZXN0GiMuYXBwcy52MS5HZXRDb25zb2xlU2V0dGluZ3NSZXNwb25zZSKlAoqmHaACCAMScwgFEm9SZWFjaGVkIG9ubHkgYnkgYW4gYXBwJ3MgY29uc29sZSBwYWdlIHRocm91Z2ggaXRzIHBsYWNlbWVudCB0b2tlbjsgYW4gb3BlcmF0b3IgcmVhZHMgdGhlIHNldHRpbmdzIGluIHRoZSBzZXR1cC4acwgFEm9SZWFjaGVkIG9ubHkgYnkgYW4gYXBwJ3MgY29uc29sZSBwYWdlIHRocm91Z2ggaXRzIHBsYWNlbWVudCB0b2tlbjsgYW4gb3BlcmF0b3IgcmVhZHMgdGhlIHNldHRpbmdzIGluIHRoZSBzZXR1cC4iAggBKi5SZWFkIHRoZSBzZXR0aW5ncyBhbiBhcHAncyBjb25zb2xlIG1heSBjaGFuZ2UuEosDChJTZXRDb25zb2xlU2V0dGluZ3MSIi5hcHBzLnYxLlNldENvbnNvbGVTZXR0aW5nc1JlcXVlc3QaIy5hcHBzLnYxLlNldENvbnNvbGVTZXR0aW5nc1Jlc3BvbnNlIqsCiqYdpgIIAxJ1CAUScVJlYWNoZWQgb25seSBieSBhbiBhcHAncyBjb25zb2xlIHBhZ2UgdGhyb3VnaCBpdHMgcGxhY2VtZW50IHRva2VuOyBhbiBvcGVyYXRvciBjaGFuZ2VzIHRoZSBzZXR0aW5ncyBpbiB0aGUgc2V0dXAuGnUIBRJxUmVhY2hlZCBvbmx5IGJ5IGFuIGFwcCdzIGNvbnNvbGUgcGFnZSB0aHJvdWdoIGl0cyBwbGFjZW1lbnQgdG9rZW47IGFuIG9wZXJhdG9yIGNoYW5nZXMgdGhlIHNldHRpbmdzIGluIHRoZSBzZXR1cC4iAggBKjBDaGFuZ2UgdGhlIHNldHRpbmdzIGFuIGFwcCdzIGNvbnNvbGUgbWF5IGNoYW5nZS4SigQKDlNldEFwcFNldHRpbmdzEh4uYXBwcy52MS5TZXRBcHBTZXR0aW5nc1JlcXVlc3QaHy5hcHBzLnYxLlNldEFwcFNldHRpbmdzUmVzcG9uc2UitgOKph2xAwgBEmAIBRJcUmVhY2hlZCBmcm9tIGFkbWluLCBwYWNrYWdlczsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4abQgFEmlSZWFjaGVkIGZyb20gYWRtaW4sIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKiRSZXBsYWNlIGFuIGluc3RhbGxlZCBhcHAncyBzZXR0aW5ncy4SsQEKEFZhbGlkYXRlTWFuaWZlc3QSIC5hcHBzLnYxLlZhbGlkYXRlTWFuaWZlc3RSZXF1ZXN0GiEuYXBwcy52MS5WYWxpZGF0ZU1hbmlmZXN0UmVzcG9uc2UiWIqmHVQIAxICCAEaAggBIgIIASpEVmFsaWRhdGUgYW4gYXBwIG1hbmlmZXN0IGFnYWluc3QgdGhlIHBsYXRmb3JtJ3MgcnVsZXMsIGFzIGEgZHJ5IHJ1bi4SoQMKEFRyaWdnZXJPcGVyYXRpb24SIC5hcHBzLnYxLlRyaWdnZXJPcGVyYXRpb25SZXF1ZXN0GiEuYXBwcy52MS5UcmlnZ2VyT3BlcmF0aW9uUmVzcG9uc2UixwKKph3CAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKhVUcmlnZ2VyIGFuIG9wZXJhdGlvbi4SxAQKEk1pbnRQbGFjZW1lbnRUb2tlbhIiLmFwcHMudjEuTWludFBsYWNlbWVudFRva2VuUmVxdWVzdBojLmFwcHMudjEuTWludFBsYWNlbWVudFRva2VuUmVzcG9uc2Ui5AOKph3fAwgBEoMBCAISf0FuIG9wZXJhdG9yIGxvb2tpbmcgYXQgYW4gYXBwJ3MgcGFnZSBpbiB0aGUgY29uc29sZSdzIGJyb3dzZXIgaXMgd2hhdCB0aGUgdG9rZW4gYWN0cyBmb3I7IGEgdGVybWluYWwgaGFzIG5vIHBhZ2UgdG8gaGFuZCBpdCB0by4agQEIAhJ9QW4gb3BlcmF0b3IgbG9va2luZyBhdCBhbiBhcHAncyBwYWdlIGluIHRoZSBjb25zb2xlJ3MgYnJvd3NlciBpcyB3aGF0IHRoZSB0b2tlbiBhY3RzIGZvcjsgYW4gYWdlbnQgaGFzIG5vIHBhZ2UgdG8gaGFuZCBpdCB0by4ibwgDEmtUaGUgdG9rZW4gYWN0cyBhcyB0aGUgb3BlcmF0b3Igdmlld2luZyB0aGUgcGFnZSwgc28gb25seSB0aGUgb3BlcmF0b3IncyBvd24gY29uc29sZSBzZXNzaW9uIG1heSBhc2sgZm9yIGl0LipgSXNzdWUgdGhlIHNob3J0LWxpdmVkIHRva2VuIGFuIGFwcCdzIGZ1bGwtcGFnZSBwbGFjZW1lbnQgYWN0cyB3aXRoLCBmb3IgdGhlIG9wZXJhdG9yIHZpZXdpbmcgaXQuEvYDCg5MaXN0UGxhY2VtZW50cxIeLmFwcHMudjEuTGlzdFBsYWNlbWVudHNSZXF1ZXN0Gh8uYXBwcy52MS5MaXN0UGxhY2VtZW50c1Jlc3BvbnNlIqIDiqYdnQMIARJgCAUSXFJlYWNoZWQgZnJvbSBhZG1pbiwgcGFja2FnZXM7IG5vIENMSSBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uGm0IBRJpUmVhY2hlZCBmcm9tIGFkbWluLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLioQTGlzdCBwbGFjZW1lbnRzLhKVBAoVTGlzdFBsYWNlbWVudHNCeU1vZGVsEiUuYXBwcy52MS5MaXN0UGxhY2VtZW50c0J5TW9kZWxSZXF1ZXN0GiYuYXBwcy52MS5MaXN0UGxhY2VtZW50c0J5TW9kZWxSZXNwb25zZSKsA4qmHacDCAESVggFElJSZWFjaGVkIGZyb20gYWRtaW47IG5vIENMSSBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uGmMIBRJfUmVhY2hlZCBmcm9tIGFkbWluOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKi5MaXN0IHRoZSBhcHAgcGxhY2VtZW50cyBhdHRhY2hlZCB0byBvbmUgbW9kZWwuMqYPChZBcHBJbnN0YWxsYXRpb25TZXJ2aWNlErwDChJDb21wbGV0ZUFwcEluc3RhbGwSIi5hcHBzLnYxLkNvbXBsZXRlQXBwSW5zdGFsbFJlcXVlc3QaIy5hcHBzLnYxLkNvbXBsZXRlQXBwSW5zdGFsbFJlc3BvbnNlItwCiqYd1wIIAxJhCAUSXVJlYWNoZWQgZnJvbSBwYWNrYWdlcywgcHVibGljOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhpuCAUSalJlYWNoZWQgZnJvbSBwYWNrYWdlcywgcHVibGljOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4iAggBKnxSdW5zIHRoZSBfX3ZhbGlkYXRlX2NyZWRlbnRpYWxzIHByb2JlICh3aGVuIHRoZSBhcHAncyBtYW5pZmVzdCBkZWNsYXJlcyBpdCksIHRoZW4gd3JpdGVzIG9uZSB2YXVsdCByb3cgcGVyIGNyZWRlbnRpYWwgZmllbGQuEoIEChNSb3RhdGVBcHBDcmVkZW50aWFsEiMuYXBwcy52MS5Sb3RhdGVBcHBDcmVkZW50aWFsUmVxdWVzdBokLmFwcHMudjEuUm90YXRlQXBwQ3JlZGVudGlhbFJlc3BvbnNlIp8DiqYdmgMIARJYCAUSVFJlYWNoZWQgZnJvbSBub3RoaW5nOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhplCAUSYVJlYWNoZWQgZnJvbSBub3RoaW5nOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKh1Sb3RhdGVzIGEgc2luZ2xlIG5hbWVkIGZpZWxkLhLQAwoWR2V0QXBwQ3JlZGVudGlhbFN0cnVjdBImLmFwcHMudjEuR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlcXVlc3QaJy5hcHBzLnYxLkdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXNwb25zZSLkAoqmHd8CCAMSYQgFEl1SZWFjaGVkIGZyb20gcGFja2FnZXMsIHB1YmxpYzsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4abggFEmpSZWFjaGVkIGZyb20gcGFja2FnZXMsIHB1YmxpYzsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIgIIASqDAUxpc3RzIGV2ZXJ5IGFwcC1vd25lZCB2YXVsdCByb3cgZm9yIHRoZSBnaXZlbiBhcHAsIGRlY3J5cHRzIGVhY2gsIGFuZCByZXR1cm5zIGEgc3RydWN0IGtleWVkIGJ5IGZpZWxkIG5hbWUgKHRoZSB2YXVsdCByb3cncyBsYWJlbCkuEvQDCgxVbmluc3RhbGxBcHASMi5hcHBzLnYxLkFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXF1ZXN0GjMuYXBwcy52MS5BcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVzcG9uc2Ui+gKKph31AggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKkhSZW1vdmVzIGV2ZXJ5IGFwcC1vd25lZCB2YXVsdCByb3cgKyBkaXNwYXRjaGVzIHJ1bl9iZWZvcmVfdW5pbnN0YWxsIG9wcy4yyAgKDkFwcEF1dGhTZXJ2aWNlEqEEChNJc3N1ZUV4Y2hhbmdlVGlja2V0EiMuYXBwcy52MS5Jc3N1ZUV4Y2hhbmdlVGlja2V0UmVxdWVzdBokLmFwcHMudjEuSXNzdWVFeGNoYW5nZVRpY2tldFJlc3BvbnNlIr4DiqYduQMIARJsCAMSaE9uZSBGb2lyIHByb2Nlc3MgY2FsbHMgdGhpcyBvbiBhbm90aGVyOyBpdCBpcyBub3QgYW4gb3BlcmF0b3IgdmVyYiwgc28gdGhlcmUgaXMgbm90aGluZyBmb3IgQ0xJIHRvIGJpbmQuGnkIAxJ1T25lIEZvaXIgcHJvY2VzcyBjYWxscyB0aGlzIG9uIGFub3RoZXI7IGl0IGlzIG5vdCBhbiBvcGVyYXRvciB2ZXJiLCBzbyB0aGVyZSBpcyBub3RoaW5nIGZvciBhZ2VudCB0b29sIGxheWVyIHRvIGJpbmQuIoYBCAMSgQFBIHZlcmIgb25lIEZvaXIgcHJvY2VzcyBjYWxscyBvbiBhbm90aGVyLiBBIGN1c3RvbWVyIGFwcGxpY2F0aW9uIGhhcyBubyBjYWxsZXIgZm9yIGl0IGFuZCBubyB3YXkgdG8gaG9sZCB0aGUgY3JlZGVudGlhbCBpdCBuZWVkcy4qQ0lzc3VlIGEgc2luZ2xlLXVzZSB0aWNrZXQgYW4gaW5zdGFsbGVkIGFwcCBleGNoYW5nZXMgZm9yIGEgc2Vzc2lvbi4SkQQKFFJlZGVlbUV4Y2hhbmdlVGlja2V0EiQuYXBwcy52MS5SZWRlZW1FeGNoYW5nZVRpY2tldFJlcXVlc3QaJS5hcHBzLnYxLlJlZGVlbUV4Y2hhbmdlVGlja2V0UmVzcG9uc2UiqwOKph2mAwgEEmwIAxJoT25lIEZvaXIgcHJvY2VzcyBjYWxscyB0aGlzIG9uIGFub3RoZXI7IGl0IGlzIG5vdCBhbiBvcGVyYXRvciB2ZXJiLCBzbyB0aGVyZSBpcyBub3RoaW5nIGZvciBDTEkgdG8gYmluZC4aeQgDEnVPbmUgRm9pciBwcm9jZXNzIGNhbGxzIHRoaXMgb24gYW5vdGhlcjsgaXQgaXMgbm90IGFuIG9wZXJhdG9yIHZlcmIsIHNvIHRoZXJlIGlzIG5vdGhpbmcgZm9yIGFnZW50IHRvb2wgbGF5ZXIgdG8gYmluZC4ihgEIAxKBAUEgdmVyYiBvbmUgRm9pciBwcm9jZXNzIGNhbGxzIG9uIGFub3RoZXIuIEEgY3VzdG9tZXIgYXBwbGljYXRpb24gaGFzIG5vIGNhbGxlciBmb3IgaXQgYW5kIG5vIHdheSB0byBob2xkIHRoZSBjcmVkZW50aWFsIGl0IG5lZWRzLiowRXhjaGFuZ2UgYSBzaW5nbGUtdXNlIHRpY2tldCBmb3IgYW4gYXBwIHNlc3Npb24uMtQKChBBcHBTdGF0dXNTZXJ2aWNlEuwDCgxHZXRBcHBTdGF0dXMSHC5hcHBzLnYxLkdldEFwcFN0YXR1c1JlcXVlc3QaHS5hcHBzLnYxLkdldEFwcFN0YXR1c1Jlc3BvbnNlIp4DiqYdmQMIARJZCAUSVVJlYWNoZWQgZnJvbSBwYWNrYWdlczsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4aZggFEmJSZWFjaGVkIGZyb20gcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qGkZldGNoIGFuIGFwcCBzdGF0dXMgYnkgaWQuEugCCg9VcHNlcnRBcHBTdGF0dXMSHy5hcHBzLnYxLlVwc2VydEFwcFN0YXR1c1JlcXVlc3QaIC5hcHBzLnYxLlVwc2VydEFwcFN0YXR1c1Jlc3BvbnNlIpECiqYdjAIIAhJXCAUSU1JlYWNoZWQgZnJvbSBwdWJsaWM7IG5vIENMSSBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uGmQIBRJgUmVhY2hlZCBmcm9tIHB1YmxpYzsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIgIIASpFQ3JlYXRlIGFuIGFwcCBzdGF0dXMsIG9yIHVwZGF0ZSBpdCB3aGVuIG9uZSB3aXRoIHRoZSBzYW1lIGtleSBleGlzdHMuEuUDCg1MaXN0QXBwRXZlbnRzEh0uYXBwcy52MS5MaXN0QXBwRXZlbnRzUmVxdWVzdBoeLmFwcHMudjEuTGlzdEFwcEV2ZW50c1Jlc3BvbnNlIpQDiqYdjwMIARJZCAUSVVJlYWNoZWQgZnJvbSBwYWNrYWdlczsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4aZggFEmJSZWFjaGVkIGZyb20gcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qEExpc3QgYXBwIGV2ZW50cy5CNVozZ2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2FwcHMvdjE7YXBwc3YxYgZwcm90bzM", [file_intent_v1_intent, file_apps_v1_apps, file_notifications_v1_notifications, file_google_protobuf_struct14, file_google_protobuf_timestamp16, file_common_v1_action, file_common_v1_pagination]);
|
|
1409
|
+
var file_apps_v1_apps_service = /* @__PURE__ */ fileDesc24("ChphcHBzL3YxL2FwcHNfc2VydmljZS5wcm90bxIHYXBwcy52MSKiBAoJUGxhY2VtZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCWNvbmZpZ19pZBgEIAEoCRILCgNrZXkYBSABKAkSKQoGdGFyZ2V0GAYgASgOMhkuYXBwcy52MS5QbGFjZW1lbnQuVGFyZ2V0EhIKBW1vZGVsGAcgASgJSACIAQESEgoFZmllbGQYCCABKAlIAYgBARIQCgN0YWIYCSABKAlIAogBARINCgV0aXRsZRgKIAEoCRILCgN1cmwYCyABKAkSGAoQcmVwbGFjZXNfZGVmYXVsdBgMIAEoCBIrCgVoaW50cxgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ0CgZUYXJnZXQSFgoSVEFSR0VUX1VOU1BFQ0lGSUVEEAASFAoQVEFSR0VUX0ZVTExfUEFHRRABEhYKElRBUkdFVF9NQUlOX0VESVRPUhACEhIKDlRBUkdFVF9TSURFQkFSEAMSEAoMVEFSR0VUX0ZJRUxEEARCCAoGX21vZGVsQggKBl9maWVsZEIGCgRfdGFiQggKBl9oaW50cyJrChlNaW50UGxhY2VtZW50VG9rZW5SZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhUKDXBsYWNlbWVudF9rZXkYBCABKAki3QEKGk1pbnRQbGFjZW1lbnRUb2tlblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZvcmlnaW4YAyABKAkSDgoGb3JnX2lkGAQgASgJEhYKDmdyYW50ZWRfc2NvcGVzGAUgAygJEigKCHdpdGhoZWxkGAYgAygLMhYuYXBwcy52MS5XaXRoaGVsZFNjb3BlEhcKD2ZyYW1lX2FuY2VzdG9ycxgHIAMoCSIuCg1XaXRoaGVsZFNjb3BlEg0KBXNjb3BlGAEgASgJEg4KBnJlYXNvbhgCIAEoCSLtAQoVTGlzdFBsYWNlbWVudHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEisKBXdoZXJlGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAQgASgFSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBARIRCgRsYXN0GAYgASgFSAOIAQESEwoGYmVmb3JlGAcgASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSK0AQoWTGlzdFBsYWNlbWVudHNSZXNwb25zZRImCgpwbGFjZW1lbnRzGAEgAygLMhIuYXBwcy52MS5QbGFjZW1lbnQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESFwoPZnJhbWVfYW5jZXN0b3JzGAUgAygJEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKDAgocTGlzdFBsYWNlbWVudHNCeU1vZGVsUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRINCgVtb2RlbBgDIAEoCRIrCgV3aGVyZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVmaXJzdBgFIAEoBUgBiAEBEhIKBWFmdGVyGAYgASgJSAKIAQESEQoEbGFzdBgHIAEoBUgDiAEBEhMKBmJlZm9yZRgIIAEoCUgEiAEBQggKBl93aGVyZUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmUiogEKHUxpc3RQbGFjZW1lbnRzQnlNb2RlbFJlc3BvbnNlEiYKCnBsYWNlbWVudHMYASADKAsyEi5hcHBzLnYxLlBsYWNlbWVudBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8isQQKA0FwcBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEhQKDG1hbmlmZXN0X3VybBgFIAEoCRIVCg1tYW5pZmVzdF9oYXNoGAYgASgJEiQKCG1hbmlmZXN0GAcgASgLMhIuYXBwcy52MS5BcHBDb25maWcSKQoIc2V0dGluZ3MYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1hcHBpbmdzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAogASgIEjAKDGluc3RhbGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoMaW5zdGFsbGVkX2J5GAwgASgJSACIAQESLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoUbGFzdF9wdXNoZWRfbWFwcGluZ3MYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjcKDmxhc3RfcHVzaGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhMKBm9yZ19pZBgQIAEoCUgCiAEBQg8KDV9pbnN0YWxsZWRfYnlCEQoPX2xhc3RfcHVzaGVkX2F0QgkKB19vcmdfaWQi8QIKDVNvdXJjZU1hcHBpbmcSEAoIdG9fbW9kZWwYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkSMgoGZmllbGRzGAMgAygLMiIuYXBwcy52MS5Tb3VyY2VNYXBwaW5nLkZpZWxkc0VudHJ5EkUKEGZpZWxkX2RpcmVjdGlvbnMYBCADKAsyKy5hcHBzLnYxLlNvdXJjZU1hcHBpbmcuRmllbGREaXJlY3Rpb25zRW50cnkSIQoEbW9kZRgFIAEoDjITLmFwcHMudjEuU291cmNlTW9kZRotCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlMKFEZpZWxkRGlyZWN0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRIqCgV2YWx1ZRgCIAEoDjIbLmFwcHMudjEuRmllbGRTeW5jRGlyZWN0aW9uOgI4AUoECAYQB1IRaWRlbnRpdHlfcHJvdmlkZXIilQEKC1NpbmtNYXBwaW5nEhAKCHRvX21vZGVsGAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJEjAKBmZpZWxkcxgDIAMoCzIgLmFwcHMudjEuU2lua01hcHBpbmcuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0ChRQbGFjZW1lbnRGaWVsZENob2ljZRINCgVtb2RlbBgBIAEoCRINCgVmaWVsZBgCIAEoCSKsBQoRQXBwSW5zdGFsbFByZXZpZXcSJAoIbWFuaWZlc3QYASABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIVCg1tYW5pZmVzdF9oYXNoGAIgASgJEhwKFG9wZXJhdGlvbnNfdG9fY3JlYXRlGAMgAygJEhcKD2hvb2tzX3RvX2NyZWF0ZRgEIAMoCRIcChRwbGFjZW1lbnRzX3RvX2NyZWF0ZRgFIAMoCRI6ChNjcmVkZW50aWFsX3N0cmF0ZWd5GAYgASgOMh0uYXBwcy52MS5DcmVkZW50aWFscy5TdHJhdGVneRIbChNzb3VyY2VfdHlwZXNfdG9fbWFwGAcgAygJEh0KFXNpbmtfY29udHJhY3RzX3RvX21hcBgIIAMoCRIpCiFwbGFjZW1lbnRzX3JlcXVpcmluZ19maWVsZF9jaG9pY2UYCSADKAkSEwoLd2ViaG9va191cmwYCiABKAkSHQoVb3B0aW9uYWxfc291cmNlX3R5cGVzGAsgAygJEh8KF29wdGlvbmFsX3NpbmtfY29udHJhY3RzGAwgAygJEiMKG3Byb3Zpc2lvbl9vbmx5X3NvdXJjZV90eXBlcxgNIAMoCRJJChBwbGFjZW1lbnRfc2NvcGVzGA4gAygLMi8uYXBwcy52MS5BcHBJbnN0YWxsUHJldmlldy5QbGFjZW1lbnRTY29wZXNFbnRyeRIXCg9mcmFtZV9hbmNlc3RvcnMYDyADKAkSHgoWcmVmZXJlbmNlX3NvdXJjZV90eXBlcxgQIAMoCRISCgpsYW5kc19oZWxkGBEgASgIGlAKFFBsYWNlbWVudFNjb3Blc0VudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoCzIYLmFwcHMudjEuUGxhY2VtZW50U2NvcGVzOgI4ASIhCg9QbGFjZW1lbnRTY29wZXMSDgoGc2NvcGVzGAEgAygJIvwBCg9MaXN0QXBwc1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEgoFZmlyc3QYAyABKAVIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhEKBGxhc3QYBSABKAVIAogBARITCgZiZWZvcmUYBiABKAlIA4gBARIrCgV3aGVyZRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARITCgtldmVyeV9sZXZlbBgIIAEoCEIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmVCCAoGX3doZXJlIvYBChBMaXN0QXBwc1Jlc3BvbnNlEhoKBGFwcHMYASADKAsyDC5hcHBzLnYxLkFwcBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJEjoKCW9yZ19uYW1lcxgFIAMoCzInLmFwcHMudjEuTGlzdEFwcHNSZXNwb25zZS5PcmdOYW1lc0VudHJ5Gi8KDU9yZ05hbWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIMCgpfcGFnZV9pbmZvIkQKDUdldEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCSKlAQoOR2V0QXBwUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHASWQoaY3VzdG9tZXJfZW1haWxfdW5hdmFpbGFibGUYAiABKA4yMC5ub3RpZmljYXRpb25zLnYxLkN1c3RvbWVyRW1haWxVbmF2YWlsYWJsZVJlYXNvbkgAiAEBQh0KG19jdXN0b21lcl9lbWFpbF91bmF2YWlsYWJsZSJQChFJbnN0YWxsQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIUCgxtYW5pZmVzdF91cmwYAyABKAkisQEKEkluc3RhbGxBcHBSZXNwb25zZRIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRIrCgdwcmV2aWV3GAIgASgLMhouYXBwcy52MS5BcHBJbnN0YWxsUHJldmlldxIuCgpleHBpcmVzX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgZ0aWNrZXQYBCABKAsyFi5hcHBzLnYxLkluc3RhbGxUaWNrZXQiWAoXR2V0SW5zdGFsbFRpY2tldFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFgoOaW5zdGFsbF90aWNrZXQYAyABKAkiQgoYR2V0SW5zdGFsbFRpY2tldFJlc3BvbnNlEiYKBnRpY2tldBgBIAEoCzIWLmFwcHMudjEuSW5zdGFsbFRpY2tldCKsBAoNSW5zdGFsbFRpY2tldBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIOCgZvcmdfaWQYBCABKAkSFAoMbWFuaWZlc3RfdXJsGAUgASgJEhAKCGFwcF9uYW1lGAYgASgJEiQKBXN0YXRlGAcgASgOMhUuYXBwcy52MS5JbnN0YWxsU3RhdGUSKwoHcHJldmlldxgIIAEoCzIaLmFwcHMudjEuQXBwSW5zdGFsbFByZXZpZXcSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY3JlYXRlZF9ieRgLIAEoCRI1Cgxjb25maXJtZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESFAoMY29uZmlybWVkX2J5GA0gASgJEjUKDGNvbXBsZXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIOCgZhcHBfaWQYDyABKAkSDwoHZmFpbHVyZRgQIAEoCRIiCgdhY3Rpb25zGBEgAygLMhEuY29tbW9uLnYxLkFjdGlvbkIPCg1fY29uZmlybWVkX2F0Qg8KDV9jb21wbGV0ZWRfYXQimQUKGENvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdBIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRJOCg9zb3VyY2VfbWFwcGluZ3MYAiADKAsyNS5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkoKDXNpbmtfbWFwcGluZ3MYAyADKAsyMy5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5TaW5rTWFwcGluZ3NFbnRyeRIuCghzZXR0aW5ncxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJdChdwbGFjZW1lbnRfZmllbGRfY2hvaWNlcxgFIAMoCzI8LmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0LlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIEhgKEGN1c3RvbWVyX3NpZ25faW4YByABKAkaTQoTU291cmNlTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5hcHBzLnYxLlNvdXJjZU1hcHBpbmc6AjgBGkkKEVNpbmtNYXBwaW5nc0VudHJ5EgsKA2tleRgBIAEoCRIjCgV2YWx1ZRgCIAEoCzIULmFwcHMudjEuU2lua01hcHBpbmc6AjgBGlsKGlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmFwcHMudjEuUGxhY2VtZW50RmllbGRDaG9pY2U6AjgBQgsKCV9zZXR0aW5ncyI2ChlDb25maXJtSW5zdGFsbEFwcFJlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIkcKEFVwZGF0ZUFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCSKWAQoRVXBkYXRlQXBwUmVzcG9uc2USGQoRbmV3X21hbmlmZXN0X2hhc2gYASABKAkSKAoMbmV3X21hbmlmZXN0GAIgASgLMhIuYXBwcy52MS5BcHBDb25maWcSKAoHY2hhbmdlcxgDIAMoCzIXLmFwcHMudjEuTWFuaWZlc3RDaGFuZ2USEgoKbm9fY2hhbmdlcxgEIAEoCCLLAQoOTWFuaWZlc3RDaGFuZ2USLAoFY2xhc3MYASABKA4yHS5hcHBzLnYxLk1hbmlmZXN0Q2hhbmdlLkNsYXNzEgwKBHBhdGgYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiaAoFQ2xhc3MSFQoRQ0xBU1NfVU5TUEVDSUZJRUQQABITCg9DTEFTU19TQUZFX0FVVE8QARIfChtDTEFTU19SRVFVSVJFU19DT05GSVJNQVRJT04QAhISCg5DTEFTU19SRUpFQ1RFRBADIqwBChdDb25maXJtVXBkYXRlQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhkKEW5ld19tYW5pZmVzdF9oYXNoGAQgASgJEg0KBWZvcmNlGAUgASgIEh0KEGN1c3RvbWVyX3NpZ25faW4YBiABKAlIAIgBAUITChFfY3VzdG9tZXJfc2lnbl9pbiI1ChhDb25maXJtVXBkYXRlQXBwUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAijQEKFFNldEFwcEVuYWJsZWRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSFAoHZW5hYmxlZBgEIAEoCEgAiAEBEhMKBnJlYXNvbhgFIAEoCUgBiAEBQgoKCF9lbmFibGVkQgkKB19yZWFzb24iMgoVU2V0QXBwRW5hYmxlZFJlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIlkKE1VuaW5zdGFsbEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRINCgVmb3JjZRgEIAEoCCI3ChRVbmluc3RhbGxBcHBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg4KBmZvcmNlZBgCIAEoCCKaBQoUU2V0QXBwTWFwcGluZ1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRJKCg9zb3VyY2VfbWFwcGluZ3MYBCADKAsyMS5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0LlNvdXJjZU1hcHBpbmdzRW50cnkSRgoNc2lua19tYXBwaW5ncxgFIAMoCzIvLmFwcHMudjEuU2V0QXBwTWFwcGluZ1JlcXVlc3QuU2lua01hcHBpbmdzRW50cnkSWQoXcGxhY2VtZW50X2ZpZWxkX2Nob2ljZXMYBiADKAsyOC5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0LlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAcgASgIEhUKDXNuYXBzaG90X29ubHkYCCABKAgSHQoQY3VzdG9tZXJfc2lnbl9pbhgJIAEoCUgAiAEBGk0KE1NvdXJjZU1hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuYXBwcy52MS5Tb3VyY2VNYXBwaW5nOgI4ARpJChFTaW5rTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5hcHBzLnYxLlNpbmtNYXBwaW5nOgI4ARpbChpQbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5hcHBzLnYxLlBsYWNlbWVudEZpZWxkQ2hvaWNlOgI4AUITChFfY3VzdG9tZXJfc2lnbl9pbiIyChVTZXRBcHBNYXBwaW5nUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAiGwoZR2V0Q29uc29sZVNldHRpbmdzUmVxdWVzdCJHChpHZXRDb25zb2xlU2V0dGluZ3NSZXNwb25zZRIpCghzZXR0aW5ncxgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiRgoZU2V0Q29uc29sZVNldHRpbmdzUmVxdWVzdBIpCghzZXR0aW5ncxgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiRwoaU2V0Q29uc29sZVNldHRpbmdzUmVzcG9uc2USKQoIc2V0dGluZ3MYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IncKFVNldEFwcFNldHRpbmdzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEikKCHNldHRpbmdzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIzChZTZXRBcHBTZXR0aW5nc1Jlc3BvbnNlEhkKA2FwcBgBIAEoCzIMLmFwcHMudjEuQXBwIlQKF1ZhbGlkYXRlTWFuaWZlc3RSZXF1ZXN0EhYKDG1hbmlmZXN0X3VybBgBIAEoCUgAEhcKDW1hbmlmZXN0X2pzb24YAiABKAlIAEIICgZzb3VyY2UitQEKD1ZhbGlkYXRpb25Jc3N1ZRIzCghzZXZlcml0eRgBIAEoDjIhLmFwcHMudjEuVmFsaWRhdGlvbklzc3VlLlNldmVyaXR5EgwKBHBhdGgYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJOCghTZXZlcml0eRIYChRTRVZFUklUWV9VTlNQRUNJRklFRBAAEhIKDlNFVkVSSVRZX0VSUk9SEAESFAoQU0VWRVJJVFlfV0FSTklORxACIlAKGFZhbGlkYXRlTWFuaWZlc3RSZXNwb25zZRIoCgZpc3N1ZXMYASADKAsyGC5hcHBzLnYxLlZhbGlkYXRpb25Jc3N1ZRIKCgJvaxgCIAEoCCKOAQoXVHJpZ2dlck9wZXJhdGlvblJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFQoNb3BlcmF0aW9uX2tleRgDIAEoCRIrCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfaW5wdXQiMAoYVHJpZ2dlck9wZXJhdGlvblJlc3BvbnNlEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCSJ9ChlDb21wbGV0ZUFwcEluc3RhbGxSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEicKBnZhbHVlcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiLQoaQ29tcGxldGVBcHBJbnN0YWxsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJ8ChpSb3RhdGVBcHBDcmVkZW50aWFsUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCRISCgpmaWVsZF9uYW1lGAQgASgJEhEKCXBsYWludGV4dBgFIAEoDCIuChtSb3RhdGVBcHBDcmVkZW50aWFsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJYCh1HZXRBcHBDcmVkZW50aWFsU3RydWN0UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSJcCh5HZXRBcHBDcmVkZW50aWFsU3RydWN0UmVzcG9uc2USJwoGdmFsdWVzGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCglwb3B1bGF0ZWQYAiABKAgiZAopQXBwSW5zdGFsbGF0aW9uU2VydmljZVVuaW5zdGFsbEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkiPQoqQXBwSW5zdGFsbGF0aW9uU2VydmljZVVuaW5zdGFsbEFwcFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiVQoaSXNzdWVFeGNoYW5nZVRpY2tldFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkiXQobSXNzdWVFeGNoYW5nZVRpY2tldFJlc3BvbnNlEg4KBnRpY2tldBgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCItChtSZWRlZW1FeGNoYW5nZVRpY2tldFJlcXVlc3QSDgoGdGlja2V0GAEgASgJImQKHFJlZGVlbUV4Y2hhbmdlVGlja2V0UmVzcG9uc2USFAoMc2NvcGVkX3Rva2VuGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpsFCglBcHBTdGF0dXMSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkSNQoMbGFzdF9zeW5jX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEiIKFWxhc3Rfc3luY19kdXJhdGlvbl9tcxgFIAEoA0gBiAEBEiMKFmxhc3Rfc3luY19yZWNvcmRfY291bnQYBiABKANIAogBARIXCgpsYXN0X2Vycm9yGAcgASgJSAOIAQESNgoNbGFzdF9lcnJvcl9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIbChNzdWJzY3JpcHRpb25faGVhbHRoGAkgASgJEhMKC2F1dGhfc3RhdHVzGAogASgJEh4KEWRlbGV0aW9uX3N0cmF0ZWd5GAsgASgJSAWIAQESKwoFZXh0cmEYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAaIAQESLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoOdXBkYXRlZF9ieV9qdGkYDiABKAlIB4gBARITCgZvcmdfaWQYDyABKAlICIgBAUIPCg1fbGFzdF9zeW5jX2F0QhgKFl9sYXN0X3N5bmNfZHVyYXRpb25fbXNCGQoXX2xhc3Rfc3luY19yZWNvcmRfY291bnRCDQoLX2xhc3RfZXJyb3JCEAoOX2xhc3RfZXJyb3JfYXRCFAoSX2RlbGV0aW9uX3N0cmF0ZWd5QggKBl9leHRyYUIRCg9fdXBkYXRlZF9ieV9qdGlCCQoHX29yZ19pZCJOChNHZXRBcHBTdGF0dXNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJIjoKFEdldEFwcFN0YXR1c1Jlc3BvbnNlEiIKBnN0YXR1cxgBIAEoCzISLmFwcHMudjEuQXBwU3RhdHVzIjwKFlVwc2VydEFwcFN0YXR1c1JlcXVlc3QSIgoGc3RhdHVzGAEgASgLMhIuYXBwcy52MS5BcHBTdGF0dXMiKgoXVXBzZXJ0QXBwU3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLmAQoIQXBwRXZlbnQSCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSEAoIYXBwX25hbWUYBCABKAkSDQoFZXZlbnQYBSABKAkSEgoFYWN0b3IYBiABKAlIAIgBARIsCgZkZXRhaWwYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESLwoLb2NjdXJyZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl9hY3RvckIJCgdfZGV0YWlsIv4BChRMaXN0QXBwRXZlbnRzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCRISCgVhZnRlchgEIAEoCUgAiAEBEhMKBmJlZm9yZRgFIAEoCUgBiAEBEhIKBWZpcnN0GAYgASgFSAKIAQESEQoEbGFzdBgHIAEoBUgDiAEBEisKBXdoZXJlGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdEIICgZfd2hlcmUihgEKFUxpc3RBcHBFdmVudHNSZXNwb25zZRIhCgZldmVudHMYASADKAsyES5hcHBzLnYxLkFwcEV2ZW50EisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAlCDAoKX3BhZ2VfaW5mbypaCgpTb3VyY2VNb2RlEhsKF1NPVVJDRV9NT0RFX1VOU1BFQ0lGSUVEEAASFAoQU09VUkNFX01PREVfU1lOQxABEhkKFVNPVVJDRV9NT0RFX1JFRkVSRU5DRRACKsUBCgxJbnN0YWxsU3RhdGUSHQoZSU5TVEFMTF9TVEFURV9VTlNQRUNJRklFRBAAEicKI0lOU1RBTExfU1RBVEVfQVdBSVRJTkdfQ09ORklSTUFUSU9OEAESGwoXSU5TVEFMTF9TVEFURV9DT05GSVJNRUQQAhIbChdJTlNUQUxMX1NUQVRFX0NPTVBMRVRFRBADEhgKFElOU1RBTExfU1RBVEVfRkFJTEVEEAQSGQoVSU5TVEFMTF9TVEFURV9FWFBJUkVEEAUy9j0KC0FwcHNTZXJ2aWNlEoUDCghMaXN0QXBwcxIYLmFwcHMudjEuTGlzdEFwcHNSZXF1ZXN0GhkuYXBwcy52MS5MaXN0QXBwc1Jlc3BvbnNlIsMCiqYdvgIIARICCAEacggFEm5SZWFjaGVkIGZyb20gYWRtaW4sIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qCkxpc3QgYXBwcy4S1QEKBkdldEFwcBIWLmFwcHMudjEuR2V0QXBwUmVxdWVzdBoXLmFwcHMudjEuR2V0QXBwUmVzcG9uc2UimQGKph2UAQgDEgIIARpzCAUSb1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzLCBwdWJsaWM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiICCAEqE0ZldGNoIGFuIGFwcCBieSBpZC4S2AMKCkluc3RhbGxBcHASGi5hcHBzLnYxLkluc3RhbGxBcHBSZXF1ZXN0GhsuYXBwcy52MS5JbnN0YWxsQXBwUmVzcG9uc2UikAOKph2LAwgBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKl5TdGFydCBpbnN0YWxsaW5nIGFuIGFwcDogZmV0Y2ggYW5kIGNoZWNrIGl0cyBtYW5pZmVzdCwgYW5kIGlzc3VlIHRoZSB0aWNrZXQgYSBwZXJzb24gY29uZmlybXMuEtcDChFDb25maXJtSW5zdGFsbEFwcBIhLmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0GiIuYXBwcy52MS5Db25maXJtSW5zdGFsbEFwcFJlc3BvbnNlIvoCiqYd9QIIARICCAEaawgFEmdSZWFjaGVkIGZyb20gY2xpLCBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLipIQ29uZmlybSBhbiBhcHAgaW5zdGFsbGF0aW9uIHRoYXQgaXMgd2FpdGluZyBvbiBhIHBlcnNvbiB0byBhdXRob3Jpc2UgaXQuEocFChBHZXRJbnN0YWxsVGlja2V0EiAuYXBwcy52MS5HZXRJbnN0YWxsVGlja2V0UmVxdWVzdBohLmFwcHMudjEuR2V0SW5zdGFsbFRpY2tldFJlc3BvbnNlIq0EiqYdqAQIARKmAQgFEqEBUmVhY2hlZCBmcm9tIG5vdGhpbmcgeWV0LiBUaGUgQ0xJIHJlYWRzIHRoZSBzYW1lIHRpY2tldCBmcm9tIEluc3RhbGxBcHAncyByZXNwb25zZSwgYW5kIHRoZSBhZ2VudCB0b29scyB0aGF0IHByb3Bvc2UgYW4gaW5zdGFsbCBhcmUgdGhlIGZpcnN0IHJlYWRlciBvZiB0aGlzIG9uZS4aZwgFEmNSZWFjaGVkIGZyb20gbm90aGluZyB5ZXQuIFRoZSBhZ2VudCB0b29scyB0aGF0IHByb3Bvc2UgYW4gaW5zdGFsbCBhcmUgdGhlIGZpcnN0IHJlYWRlciBvZiB0aGlzIG9uZS4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKlpSZWFkIGFuIGFwcCBpbnN0YWxsJ3MgdGlja2V0OiBob3cgZmFyIHRoZSBpbnN0YWxsIGhhcyBnb3QsIGFuZCB3aGV0aGVyIHlvdSBtYXkgY29uZmlybSBpdC4SoAMKCVVwZGF0ZUFwcBIZLmFwcHMudjEuVXBkYXRlQXBwUmVxdWVzdBoaLmFwcHMudjEuVXBkYXRlQXBwUmVzcG9uc2Ui2wKKph3WAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKilVcGRhdGUg4oCUIHR3by1waGFzZTogZGlmZiwgdGhlbiBjb25maXJtLhLOAwoQQ29uZmlybVVwZGF0ZUFwcBIgLmFwcHMudjEuQ29uZmlybVVwZGF0ZUFwcFJlcXVlc3QaIS5hcHBzLnYxLkNvbmZpcm1VcGRhdGVBcHBSZXNwb25zZSL0AoqmHe8CCAESAggBGmsIBRJnUmVhY2hlZCBmcm9tIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qQkNvbmZpcm0gYW4gYXBwIHVwZGF0ZSB0aGF0IGlzIHdhaXRpbmcgb24gYSBwZXJzb24gdG8gYXV0aG9yaXNlIGl0LhK0AwoNU2V0QXBwRW5hYmxlZBIdLmFwcHMudjEuU2V0QXBwRW5hYmxlZFJlcXVlc3QaHi5hcHBzLnYxLlNldEFwcEVuYWJsZWRSZXNwb25zZSLjAoqmHd4CCAESAggBGmsIBRJnUmVhY2hlZCBmcm9tIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qMUhvbGQgYW4gaW5zdGFsbGVkIGFwcCBxdWlldCwgb3IgbGV0IGl0IHJ1biBhZ2Fpbi4SsAMKDFVuaW5zdGFsbEFwcBIcLmFwcHMudjEuVW5pbnN0YWxsQXBwUmVxdWVzdBodLmFwcHMudjEuVW5pbnN0YWxsQXBwUmVzcG9uc2Ui4gKKph3dAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKjBVbmluc3RhbGwg4oCUIHNpbmdsZS1waGFzZTsgb3B0aW9uYWwgZm9yY2UgZmxhZy4SlgMKDVNldEFwcE1hcHBpbmcSHS5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0Gh4uYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVzcG9uc2UixQKKph3AAggBEgIIARprCAUSZ1JlYWNoZWQgZnJvbSBjbGksIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKhNTZXQgYW4gYXBwIG1hcHBpbmcuEoUDChJHZXRDb25zb2xlU2V0dGluZ3MSIi5hcHBzLnYxLkdldENvbnNvbGVTZXR0aW5nc1JlcXVlc3QaIy5hcHBzLnYxLkdldENvbnNvbGVTZXR0aW5nc1Jlc3BvbnNlIqUCiqYdoAIIAxJzCAUSb1JlYWNoZWQgb25seSBieSBhbiBhcHAncyBjb25zb2xlIHBhZ2UgdGhyb3VnaCBpdHMgcGxhY2VtZW50IHRva2VuOyBhbiBvcGVyYXRvciByZWFkcyB0aGUgc2V0dGluZ3MgaW4gdGhlIHNldHVwLhpzCAUSb1JlYWNoZWQgb25seSBieSBhbiBhcHAncyBjb25zb2xlIHBhZ2UgdGhyb3VnaCBpdHMgcGxhY2VtZW50IHRva2VuOyBhbiBvcGVyYXRvciByZWFkcyB0aGUgc2V0dGluZ3MgaW4gdGhlIHNldHVwLiICCAEqLlJlYWQgdGhlIHNldHRpbmdzIGFuIGFwcCdzIGNvbnNvbGUgbWF5IGNoYW5nZS4SiwMKElNldENvbnNvbGVTZXR0aW5ncxIiLmFwcHMudjEuU2V0Q29uc29sZVNldHRpbmdzUmVxdWVzdBojLmFwcHMudjEuU2V0Q29uc29sZVNldHRpbmdzUmVzcG9uc2UiqwKKph2mAggDEnUIBRJxUmVhY2hlZCBvbmx5IGJ5IGFuIGFwcCdzIGNvbnNvbGUgcGFnZSB0aHJvdWdoIGl0cyBwbGFjZW1lbnQgdG9rZW47IGFuIG9wZXJhdG9yIGNoYW5nZXMgdGhlIHNldHRpbmdzIGluIHRoZSBzZXR1cC4adQgFEnFSZWFjaGVkIG9ubHkgYnkgYW4gYXBwJ3MgY29uc29sZSBwYWdlIHRocm91Z2ggaXRzIHBsYWNlbWVudCB0b2tlbjsgYW4gb3BlcmF0b3IgY2hhbmdlcyB0aGUgc2V0dGluZ3MgaW4gdGhlIHNldHVwLiICCAEqMENoYW5nZSB0aGUgc2V0dGluZ3MgYW4gYXBwJ3MgY29uc29sZSBtYXkgY2hhbmdlLhKKBAoOU2V0QXBwU2V0dGluZ3MSHi5hcHBzLnYxLlNldEFwcFNldHRpbmdzUmVxdWVzdBofLmFwcHMudjEuU2V0QXBwU2V0dGluZ3NSZXNwb25zZSK2A4qmHbEDCAESYAgFElxSZWFjaGVkIGZyb20gYWRtaW4sIHBhY2thZ2VzOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhptCAUSaVJlYWNoZWQgZnJvbSBhZG1pbiwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qJFJlcGxhY2UgYW4gaW5zdGFsbGVkIGFwcCdzIHNldHRpbmdzLhKxAQoQVmFsaWRhdGVNYW5pZmVzdBIgLmFwcHMudjEuVmFsaWRhdGVNYW5pZmVzdFJlcXVlc3QaIS5hcHBzLnYxLlZhbGlkYXRlTWFuaWZlc3RSZXNwb25zZSJYiqYdVAgDEgIIARoCCAEiAggBKkRWYWxpZGF0ZSBhbiBhcHAgbWFuaWZlc3QgYWdhaW5zdCB0aGUgcGxhdGZvcm0ncyBydWxlcywgYXMgYSBkcnkgcnVuLhKhAwoQVHJpZ2dlck9wZXJhdGlvbhIgLmFwcHMudjEuVHJpZ2dlck9wZXJhdGlvblJlcXVlc3QaIS5hcHBzLnYxLlRyaWdnZXJPcGVyYXRpb25SZXNwb25zZSLHAoqmHcICCAESAggBGmsIBRJnUmVhY2hlZCBmcm9tIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qFVRyaWdnZXIgYW4gb3BlcmF0aW9uLhLEBAoSTWludFBsYWNlbWVudFRva2VuEiIuYXBwcy52MS5NaW50UGxhY2VtZW50VG9rZW5SZXF1ZXN0GiMuYXBwcy52MS5NaW50UGxhY2VtZW50VG9rZW5SZXNwb25zZSLkA4qmHd8DCAESgwEIAhJ/QW4gb3BlcmF0b3IgbG9va2luZyBhdCBhbiBhcHAncyBwYWdlIGluIHRoZSBjb25zb2xlJ3MgYnJvd3NlciBpcyB3aGF0IHRoZSB0b2tlbiBhY3RzIGZvcjsgYSB0ZXJtaW5hbCBoYXMgbm8gcGFnZSB0byBoYW5kIGl0IHRvLhqBAQgCEn1BbiBvcGVyYXRvciBsb29raW5nIGF0IGFuIGFwcCdzIHBhZ2UgaW4gdGhlIGNvbnNvbGUncyBicm93c2VyIGlzIHdoYXQgdGhlIHRva2VuIGFjdHMgZm9yOyBhbiBhZ2VudCBoYXMgbm8gcGFnZSB0byBoYW5kIGl0IHRvLiJvCAMSa1RoZSB0b2tlbiBhY3RzIGFzIHRoZSBvcGVyYXRvciB2aWV3aW5nIHRoZSBwYWdlLCBzbyBvbmx5IHRoZSBvcGVyYXRvcidzIG93biBjb25zb2xlIHNlc3Npb24gbWF5IGFzayBmb3IgaXQuKmBJc3N1ZSB0aGUgc2hvcnQtbGl2ZWQgdG9rZW4gYW4gYXBwJ3MgZnVsbC1wYWdlIHBsYWNlbWVudCBhY3RzIHdpdGgsIGZvciB0aGUgb3BlcmF0b3Igdmlld2luZyBpdC4S9gMKDkxpc3RQbGFjZW1lbnRzEh4uYXBwcy52MS5MaXN0UGxhY2VtZW50c1JlcXVlc3QaHy5hcHBzLnYxLkxpc3RQbGFjZW1lbnRzUmVzcG9uc2UiogOKph2dAwgBEmAIBRJcUmVhY2hlZCBmcm9tIGFkbWluLCBwYWNrYWdlczsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4abQgFEmlSZWFjaGVkIGZyb20gYWRtaW4sIHBhY2thZ2VzOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4itQEIAxKwAUFuIG9wZXJhdG9yIHZlcmI6IGl0IGNvbmZpZ3VyZXMgdGhlIHByb2plY3QgcmF0aGVyIHRoYW4gYWN0aW5nIGluc2lkZSBpdCwgc28gaXQgc3RheXMgb24gdGhlIGVkaXRvciBwbGFuZSB3aGVyZSBzdGFuZGluZyBpcyBjaGVja2VkIGFnYWluc3QgYSBwZXJzb24gb3IgYW4gYWdlbnQgYWN0aW5nIGZvciBvbmUuKhBMaXN0IHBsYWNlbWVudHMuEpUEChVMaXN0UGxhY2VtZW50c0J5TW9kZWwSJS5hcHBzLnYxLkxpc3RQbGFjZW1lbnRzQnlNb2RlbFJlcXVlc3QaJi5hcHBzLnYxLkxpc3RQbGFjZW1lbnRzQnlNb2RlbFJlc3BvbnNlIqwDiqYdpwMIARJWCAUSUlJlYWNoZWQgZnJvbSBhZG1pbjsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4aYwgFEl9SZWFjaGVkIGZyb20gYWRtaW47IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qLkxpc3QgdGhlIGFwcCBwbGFjZW1lbnRzIGF0dGFjaGVkIHRvIG9uZSBtb2RlbC4ypg8KFkFwcEluc3RhbGxhdGlvblNlcnZpY2USvAMKEkNvbXBsZXRlQXBwSW5zdGFsbBIiLmFwcHMudjEuQ29tcGxldGVBcHBJbnN0YWxsUmVxdWVzdBojLmFwcHMudjEuQ29tcGxldGVBcHBJbnN0YWxsUmVzcG9uc2Ui3AKKph3XAggDEmEIBRJdUmVhY2hlZCBmcm9tIHBhY2thZ2VzLCBwdWJsaWM7IG5vIENMSSBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uGm4IBRJqUmVhY2hlZCBmcm9tIHBhY2thZ2VzLCBwdWJsaWM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiICCAEqfFJ1bnMgdGhlIF9fdmFsaWRhdGVfY3JlZGVudGlhbHMgcHJvYmUgKHdoZW4gdGhlIGFwcCdzIG1hbmlmZXN0IGRlY2xhcmVzIGl0KSwgdGhlbiB3cml0ZXMgb25lIHZhdWx0IHJvdyBwZXIgY3JlZGVudGlhbCBmaWVsZC4SggQKE1JvdGF0ZUFwcENyZWRlbnRpYWwSIy5hcHBzLnYxLlJvdGF0ZUFwcENyZWRlbnRpYWxSZXF1ZXN0GiQuYXBwcy52MS5Sb3RhdGVBcHBDcmVkZW50aWFsUmVzcG9uc2UinwOKph2aAwgBElgIBRJUUmVhY2hlZCBmcm9tIG5vdGhpbmc7IG5vIENMSSBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uGmUIBRJhUmVhY2hlZCBmcm9tIG5vdGhpbmc7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qHVJvdGF0ZXMgYSBzaW5nbGUgbmFtZWQgZmllbGQuEtADChZHZXRBcHBDcmVkZW50aWFsU3RydWN0EiYuYXBwcy52MS5HZXRBcHBDcmVkZW50aWFsU3RydWN0UmVxdWVzdBonLmFwcHMudjEuR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlc3BvbnNlIuQCiqYd3wIIAxJhCAUSXVJlYWNoZWQgZnJvbSBwYWNrYWdlcywgcHVibGljOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhpuCAUSalJlYWNoZWQgZnJvbSBwYWNrYWdlcywgcHVibGljOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4iAggBKoMBTGlzdHMgZXZlcnkgYXBwLW93bmVkIHZhdWx0IHJvdyBmb3IgdGhlIGdpdmVuIGFwcCwgZGVjcnlwdHMgZWFjaCwgYW5kIHJldHVybnMgYSBzdHJ1Y3Qga2V5ZWQgYnkgZmllbGQgbmFtZSAodGhlIHZhdWx0IHJvdydzIGxhYmVsKS4S9AMKDFVuaW5zdGFsbEFwcBIyLmFwcHMudjEuQXBwSW5zdGFsbGF0aW9uU2VydmljZVVuaW5zdGFsbEFwcFJlcXVlc3QaMy5hcHBzLnYxLkFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXNwb25zZSL6AoqmHfUCCAESAggBGmsIBRJnUmVhY2hlZCBmcm9tIGNsaSwgcGFja2FnZXM7IG5vIGFnZW50IHRvb2wgbGF5ZXIgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLiK1AQgDErABQW4gb3BlcmF0b3IgdmVyYjogaXQgY29uZmlndXJlcyB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBhY3RpbmcgaW5zaWRlIGl0LCBzbyBpdCBzdGF5cyBvbiB0aGUgZWRpdG9yIHBsYW5lIHdoZXJlIHN0YW5kaW5nIGlzIGNoZWNrZWQgYWdhaW5zdCBhIHBlcnNvbiBvciBhbiBhZ2VudCBhY3RpbmcgZm9yIG9uZS4qSFJlbW92ZXMgZXZlcnkgYXBwLW93bmVkIHZhdWx0IHJvdyArIGRpc3BhdGNoZXMgcnVuX2JlZm9yZV91bmluc3RhbGwgb3BzLjLICAoOQXBwQXV0aFNlcnZpY2USoQQKE0lzc3VlRXhjaGFuZ2VUaWNrZXQSIy5hcHBzLnYxLklzc3VlRXhjaGFuZ2VUaWNrZXRSZXF1ZXN0GiQuYXBwcy52MS5Jc3N1ZUV4Y2hhbmdlVGlja2V0UmVzcG9uc2UivgOKph25AwgBEmwIAxJoT25lIEZvaXIgcHJvY2VzcyBjYWxscyB0aGlzIG9uIGFub3RoZXI7IGl0IGlzIG5vdCBhbiBvcGVyYXRvciB2ZXJiLCBzbyB0aGVyZSBpcyBub3RoaW5nIGZvciBDTEkgdG8gYmluZC4aeQgDEnVPbmUgRm9pciBwcm9jZXNzIGNhbGxzIHRoaXMgb24gYW5vdGhlcjsgaXQgaXMgbm90IGFuIG9wZXJhdG9yIHZlcmIsIHNvIHRoZXJlIGlzIG5vdGhpbmcgZm9yIGFnZW50IHRvb2wgbGF5ZXIgdG8gYmluZC4ihgEIAxKBAUEgdmVyYiBvbmUgRm9pciBwcm9jZXNzIGNhbGxzIG9uIGFub3RoZXIuIEEgY3VzdG9tZXIgYXBwbGljYXRpb24gaGFzIG5vIGNhbGxlciBmb3IgaXQgYW5kIG5vIHdheSB0byBob2xkIHRoZSBjcmVkZW50aWFsIGl0IG5lZWRzLipDSXNzdWUgYSBzaW5nbGUtdXNlIHRpY2tldCBhbiBpbnN0YWxsZWQgYXBwIGV4Y2hhbmdlcyBmb3IgYSBzZXNzaW9uLhKRBAoUUmVkZWVtRXhjaGFuZ2VUaWNrZXQSJC5hcHBzLnYxLlJlZGVlbUV4Y2hhbmdlVGlja2V0UmVxdWVzdBolLmFwcHMudjEuUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXNwb25zZSKrA4qmHaYDCAQSbAgDEmhPbmUgRm9pciBwcm9jZXNzIGNhbGxzIHRoaXMgb24gYW5vdGhlcjsgaXQgaXMgbm90IGFuIG9wZXJhdG9yIHZlcmIsIHNvIHRoZXJlIGlzIG5vdGhpbmcgZm9yIENMSSB0byBiaW5kLhp5CAMSdU9uZSBGb2lyIHByb2Nlc3MgY2FsbHMgdGhpcyBvbiBhbm90aGVyOyBpdCBpcyBub3QgYW4gb3BlcmF0b3IgdmVyYiwgc28gdGhlcmUgaXMgbm90aGluZyBmb3IgYWdlbnQgdG9vbCBsYXllciB0byBiaW5kLiKGAQgDEoEBQSB2ZXJiIG9uZSBGb2lyIHByb2Nlc3MgY2FsbHMgb24gYW5vdGhlci4gQSBjdXN0b21lciBhcHBsaWNhdGlvbiBoYXMgbm8gY2FsbGVyIGZvciBpdCBhbmQgbm8gd2F5IHRvIGhvbGQgdGhlIGNyZWRlbnRpYWwgaXQgbmVlZHMuKjBFeGNoYW5nZSBhIHNpbmdsZS11c2UgdGlja2V0IGZvciBhbiBhcHAgc2Vzc2lvbi4y1AoKEEFwcFN0YXR1c1NlcnZpY2US7AMKDEdldEFwcFN0YXR1cxIcLmFwcHMudjEuR2V0QXBwU3RhdHVzUmVxdWVzdBodLmFwcHMudjEuR2V0QXBwU3RhdHVzUmVzcG9uc2UingOKph2ZAwgBElkIBRJVUmVhY2hlZCBmcm9tIHBhY2thZ2VzOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhpmCAUSYlJlYWNoZWQgZnJvbSBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLioaRmV0Y2ggYW4gYXBwIHN0YXR1cyBieSBpZC4S6AIKD1Vwc2VydEFwcFN0YXR1cxIfLmFwcHMudjEuVXBzZXJ0QXBwU3RhdHVzUmVxdWVzdBogLmFwcHMudjEuVXBzZXJ0QXBwU3RhdHVzUmVzcG9uc2UikQKKph2MAggCElcIBRJTUmVhY2hlZCBmcm9tIHB1YmxpYzsgbm8gQ0xJIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4aZAgFEmBSZWFjaGVkIGZyb20gcHVibGljOyBubyBhZ2VudCB0b29sIGxheWVyIGJpbmRpbmcuIFRoZSBnZW5lcmF0b3IgZW1pdHMgb25lIGZyb20gdGhpcyBkZWNsYXJhdGlvbi4iAggBKkVDcmVhdGUgYW4gYXBwIHN0YXR1cywgb3IgdXBkYXRlIGl0IHdoZW4gb25lIHdpdGggdGhlIHNhbWUga2V5IGV4aXN0cy4S5QMKDUxpc3RBcHBFdmVudHMSHS5hcHBzLnYxLkxpc3RBcHBFdmVudHNSZXF1ZXN0Gh4uYXBwcy52MS5MaXN0QXBwRXZlbnRzUmVzcG9uc2UilAOKph2PAwgBElkIBRJVUmVhY2hlZCBmcm9tIHBhY2thZ2VzOyBubyBDTEkgYmluZGluZy4gVGhlIGdlbmVyYXRvciBlbWl0cyBvbmUgZnJvbSB0aGlzIGRlY2xhcmF0aW9uLhpmCAUSYlJlYWNoZWQgZnJvbSBwYWNrYWdlczsgbm8gYWdlbnQgdG9vbCBsYXllciBiaW5kaW5nLiBUaGUgZ2VuZXJhdG9yIGVtaXRzIG9uZSBmcm9tIHRoaXMgZGVjbGFyYXRpb24uIrUBCAMSsAFBbiBvcGVyYXRvciB2ZXJiOiBpdCBjb25maWd1cmVzIHRoZSBwcm9qZWN0IHJhdGhlciB0aGFuIGFjdGluZyBpbnNpZGUgaXQsIHNvIGl0IHN0YXlzIG9uIHRoZSBlZGl0b3IgcGxhbmUgd2hlcmUgc3RhbmRpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IGEgcGVyc29uIG9yIGFuIGFnZW50IGFjdGluZyBmb3Igb25lLioQTGlzdCBhcHAgZXZlbnRzLkI1WjNnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vYXBwcy92MTthcHBzdjFiBnByb3RvMw", [file_intent_v1_intent, file_apps_v1_apps, file_notifications_v1_notifications, file_google_protobuf_struct14, file_google_protobuf_timestamp16, file_common_v1_action, file_common_v1_pagination]);
|
|
1410
1410
|
var AppSchema = /* @__PURE__ */ messageDesc24(file_apps_v1_apps_service, 8);
|
|
1411
1411
|
var ListAppsRequestSchema = /* @__PURE__ */ messageDesc24(file_apps_v1_apps_service, 14);
|
|
1412
1412
|
var GetAppRequestSchema = /* @__PURE__ */ messageDesc24(file_apps_v1_apps_service, 16);
|
|
@@ -3590,14 +3590,20 @@ function createAppsMethods(client, statusClient, authClient) {
|
|
|
3590
3590
|
create2(UpdateAppRequestSchema, { tenantId, projectId, name })
|
|
3591
3591
|
);
|
|
3592
3592
|
},
|
|
3593
|
-
|
|
3593
|
+
/**
|
|
3594
|
+
* `customerSignIn` answers an update that starts to ask for one: the
|
|
3595
|
+
* sign-in the install pairs with the app, by key, and '' to pair none.
|
|
3596
|
+
* Leaving it out keeps the pairing the install holds.
|
|
3597
|
+
*/
|
|
3598
|
+
async confirmUpdateApp(tenantId, projectId, name, newManifestHash, force = false, customerSignIn) {
|
|
3594
3599
|
const resp = await client.confirmUpdateApp(
|
|
3595
3600
|
create2(ConfirmUpdateAppRequestSchema, {
|
|
3596
3601
|
tenantId,
|
|
3597
3602
|
projectId,
|
|
3598
3603
|
name,
|
|
3599
3604
|
newManifestHash,
|
|
3600
|
-
force
|
|
3605
|
+
force,
|
|
3606
|
+
...customerSignIn !== void 0 ? { customerSignIn } : {}
|
|
3601
3607
|
})
|
|
3602
3608
|
);
|
|
3603
3609
|
return resp.app;
|
|
@@ -20580,6 +20586,9 @@ function registerAppsCommands(program, globalOpts) {
|
|
|
20580
20586
|
).option(
|
|
20581
20587
|
"--field-map <json>",
|
|
20582
20588
|
"Inline placement field choices as JSON, keyed by placement key"
|
|
20589
|
+
).option(
|
|
20590
|
+
"--customer-sign-in <key>",
|
|
20591
|
+
"The customer sign-in the app's customers come through, for an app that has customers of its own"
|
|
20583
20592
|
).action(
|
|
20584
20593
|
withErrorHandler(
|
|
20585
20594
|
globalOpts,
|
|
@@ -20630,7 +20639,8 @@ function registerAppsCommands(program, globalOpts) {
|
|
|
20630
20639
|
installTicket: installResp.installTicket,
|
|
20631
20640
|
sourceMappings,
|
|
20632
20641
|
sinkMappings,
|
|
20633
|
-
placementFieldChoices
|
|
20642
|
+
placementFieldChoices,
|
|
20643
|
+
customerSignIn: signInFlag(cmdOpts.customerSignIn)
|
|
20634
20644
|
});
|
|
20635
20645
|
if (opts.json) {
|
|
20636
20646
|
formatOutputProto(AppSchema, app, opts);
|
|
@@ -20643,6 +20653,12 @@ function registerAppsCommands(program, globalOpts) {
|
|
|
20643
20653
|
apps.command("update <name>").description("Check for updates and apply if no rejected changes").option("--dry-run", "Show the diff without applying").option(
|
|
20644
20654
|
"--force",
|
|
20645
20655
|
"Apply even when the diff contains REJECTED changes (admin override; printed warning lists what got bypassed)"
|
|
20656
|
+
).option(
|
|
20657
|
+
"--customer-sign-in <key>",
|
|
20658
|
+
"The customer sign-in the app's customers come through, for an update that starts to ask for one"
|
|
20659
|
+
).option(
|
|
20660
|
+
"--no-customer-sign-in",
|
|
20661
|
+
"Pair no customer sign-in, removing one the install holds"
|
|
20646
20662
|
).action(
|
|
20647
20663
|
withErrorHandler(
|
|
20648
20664
|
globalOpts,
|
|
@@ -20681,7 +20697,8 @@ function registerAppsCommands(program, globalOpts) {
|
|
|
20681
20697
|
resolved.project.id,
|
|
20682
20698
|
name,
|
|
20683
20699
|
updateResp.newManifestHash,
|
|
20684
|
-
force
|
|
20700
|
+
force,
|
|
20701
|
+
signInFlag(cmdOpts.customerSignIn)
|
|
20685
20702
|
);
|
|
20686
20703
|
if (opts.json) {
|
|
20687
20704
|
formatOutputProto(AppSchema, app, opts);
|
|
@@ -21008,6 +21025,10 @@ function parseJsonOpt(value, flag) {
|
|
|
21008
21025
|
throw new Error(`--${flag} is not valid JSON: ${err.message}`);
|
|
21009
21026
|
}
|
|
21010
21027
|
}
|
|
21028
|
+
function signInFlag(value) {
|
|
21029
|
+
if (value === false) return "";
|
|
21030
|
+
return typeof value === "string" ? value : void 0;
|
|
21031
|
+
}
|
|
21011
21032
|
function classToLabel(n) {
|
|
21012
21033
|
switch (n) {
|
|
21013
21034
|
case 1:
|
|
@@ -24453,7 +24474,8 @@ var GENERATED_COMMANDS = [
|
|
|
24453
24474
|
flags: [
|
|
24454
24475
|
{ name: "name", field: "name", type: "string", repeated: false, optional: false },
|
|
24455
24476
|
{ name: "new-manifest-hash", field: "new_manifest_hash", type: "string", repeated: false, optional: false },
|
|
24456
|
-
{ name: "force", field: "force", type: "boolean", repeated: false, optional: false }
|
|
24477
|
+
{ name: "force", field: "force", type: "boolean", repeated: false, optional: false },
|
|
24478
|
+
{ name: "customer-sign-in", field: "customer_sign_in", type: "string", repeated: false, optional: true }
|
|
24457
24479
|
]
|
|
24458
24480
|
},
|
|
24459
24481
|
{
|