@raystack/proton 0.1.0-c68d47cf91d1927f26bbbc1ced1fdfca220fe873 → 0.1.0-ccaf27e487cbe97a6ac7249e7382f2d016c3f5fa

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.
@@ -14,7 +14,7 @@ import { file_validate_validate } from "../../../validate/validate_pb";
14
14
  * Describes the file raystack/frontier/v1beta1/frontier.proto.
15
15
  */
16
16
  export const file_raystack_frontier_v1beta1_frontier = /*@__PURE__*/
17
- fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIhUKE0xpc3RTZXNzaW9uc1JlcXVlc3QiTAoUTGlzdFNlc3Npb25zUmVzcG9uc2USNAoIc2Vzc2lvbnMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlc3Npb24iKgoUUmV2b2tlU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCSIXChVSZXZva2VTZXNzaW9uUmVzcG9uc2UiGAoWUGluZ1VzZXJTZXNzaW9uUmVxdWVzdCIZChdQaW5nVXNlclNlc3Npb25SZXNwb25zZTKQlwMKD0Zyb250aWVyU2VydmljZRLoAgoJTGlzdFVzZXJzEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlcnNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlcnNSZXNwb25zZSL/AZJB5QEKBFVzZXISEUxpc3QgcHVibGljIHVzZXJzGskBUmV0dXJucyB0aGUgdXNlcnMgZnJvbSBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IGtleXdvcmQsIG9yZ2FuaXphdGlvbiwgZ3JvdXAgYW5kIHN0YXRlLiBBZGRpdGlvbmFsbHkgeW91IGNhbiBpbmNsdWRlIHBhZ2UgbnVtYmVyIGFuZCBwYWdlIHNpemUgZm9yIHBhZ2luYXRpb24ugtPkkwIQEg4vdjFiZXRhMS91c2VycxK7BgoKQ3JlYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJSZXNwb25zZSLPBZJBrwUKBFVzZXISC0NyZWF0ZSB1c2VyGpcFQ3JlYXRlIGEgdXNlciB3aXRoIHRoZSBnaXZlbiBkZXRhaWxzLiBBIHVzZXIgaXMgbm90IGF0dGFjaGVkIHRvIGFuIG9yZ2FuaXphdGlvbiBvciBhIGdyb3VwIGJ5IGRlZmF1bHQsYW5kIGNhbiBiZSBpbnZpdGVkIHRvIHRoZSBvcmcvZ3JvdXAuIFRoZSBuYW1lIG9mIHRoZSB1c2VyIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBJZiBhIHVzZXIgbmFtZSBpcyBub3QgcHJvdmlkZWQsIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGEgbmFtZSBmcm9tIHRoZSB1c2VyIGVtYWlsLiBUaGUgdXNlciBtZXRhZGF0YSBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgdXNlciBtZXRhc2NoZW1hLiBCeSBkZWZhdWx0IHRoZSB1c2VyIG1ldGFzY2hlbWEgY29udGFpbnMgYGxhYmVsc2AgYW5kIGBkZXNjcmlwdGlvbnNgIGZvciB0aGUgdXNlci4gVGhlIGB0aXRsZWAgZmllbGQgY2FuIGJlIG9wdGlvbmFsbHkgYWRkZWQgZm9yIGEgdXNlci1mcmllbmRseSBuYW1lLiA8YnIvPjxici8+KkV4YW1wbGU6KmB7ImVtYWlsIjoiam9obi5kb2VAcmF5c3RhY2sub3JnIiwidGl0bGUiOiJKb2huIERvZSIsbWV0YWRhdGE6eyJsYWJlbCI6IHsia2V5MSI6ICJ2YWx1ZTEifSwgImRlc2NyaXB0aW9uIjogIlVzZXIgRGVzY3JpcHRpb24ifX1gYgCC0+STAhYiDi92MWJldGExL3VzZXJzOgRib2R5Es8BCgdHZXRVc2VyEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXNlclJlc3BvbnNlIm2SQU8KBFVzZXISCEdldCB1c2VyGj1HZXQgYSB1c2VyIGJ5IGlkIHNlYXJjaGVkIG92ZXIgYWxsIG9yZ2FuaXphdGlvbnMgaW4gRnJvbnRpZXIugtPkkwIVEhMvdjFiZXRhMS91c2Vycy97aWR9EuoCCg5MaXN0VXNlckdyb3VwcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJHcm91cHNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1Jlc3BvbnNlIvIBkkHMAQoEVXNlchIQTGlzdCB1c2VyIGdyb3VwcxqxAUxpc3RzIGFsbCB0aGUgZ3JvdXBzIGEgdXNlciBiZWxvbmdzIHRvIGFjcm9zcyBhbGwgb3JnYW5pemF0aW9uIGluIEZyb250aWVyLiBUbyBnZXQgdGhlIGdyb3VwcyBvZiBhIHVzZXIgaW4gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24sIHVzZSB0aGUgb3JnX2lkIGZpbHRlciBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyLoLT5JMCHBIaL3YxYmV0YTEvdXNlcnMve2lkfS9ncm91cHMSxwEKFUxpc3RDdXJyZW50VXNlckdyb3VwcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2UiO5JBFgoEVXNlchIOTGlzdCBteSBncm91cHOC0+STAhwSGi92MWJldGExL3VzZXJzL3NlbGYvZ3JvdXBzEq0BCg5HZXRDdXJyZW50VXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q3VycmVudFVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlc3BvbnNlIjaSQRgKBFVzZXISEEdldCBjdXJyZW50IHVzZXKC0+STAhUSEy92MWJldGExL3VzZXJzL3NlbGYSogEKClVwZGF0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVVc2VyUmVzcG9uc2UiN5JBEwoEVXNlchILVXBkYXRlIHVzZXKC0+STAhsaEy92MWJldGExL3VzZXJzL3tpZH06BGJvZHkSvwEKEVVwZGF0ZUN1cnJlbnRVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVDdXJyZW50VXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2UiP5JBGwoEVXNlchITVXBkYXRlIGN1cnJlbnQgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMvc2VsZjoEYm9keRKRAgoKRW5hYmxlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVVzZXJSZXNwb25zZSKlAZJBfQoEVXNlchILRW5hYmxlIHVzZXIaaFNldHMgdGhlIHN0YXRlIG9mIHRoZSB1c2VyIGFzIGVuYWJsZWQuIFRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBsb2cgaW4gYW5kIGFjY2VzcyB0aGUgRnJvbnRpZXIgaW5zdGFuY2UugtPkkwIfIhovdjFiZXRhMS91c2Vycy97aWR9L2VuYWJsZToBKhKQAwoLRGlzYWJsZVVzZXISLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVVc2VyUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXNwb25zZSKhApJB9wEKBFVzZXISDERpc2FibGUgdXNlchrgAVNldHMgdGhlIHN0YXRlIG9mIHRoZSB1c2VyIGFzIGRpYWJsZWQuVGhlIHVzZXIncyBtZW1iZXJzaGlwIHRvIGdyb3VwcyBhbmQgb3JnYW5pemF0aW9ucyB3aWxsIHN0aWxsIGV4aXN0IGFsb25nIHdpdGggYWxsIGl0J3Mgcm9sZXMgZm9yIGFjY2VzcyBjb250cm9sLCBidXQgdGhlIHVzZXIgd2lsbCBub3QgYmUgYWJsZSB0byBsb2cgaW4gYW5kIGFjY2VzcyB0aGUgRnJvbnRpZXIgaW5zdGFuY2UugtPkkwIgIhsvdjFiZXRhMS91c2Vycy97aWR9L2Rpc2FibGU6ASoS9wEKCkRlbGV0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVVc2VyUmVzcG9uc2UiiwGSQW0KBFVzZXISC0RlbGV0ZSB1c2VyGlhEZWxldGUgYW4gdXNlciBwZXJtYW5lbnRseSBmb3JldmVyIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAob3JnYW5pemF0aW9ucywgZ3JvdXBzLCBldGMpgtPkkwIVKhMvdjFiZXRhMS91c2Vycy97aWR9Ev8EChdMaXN0T3JnYW5pemF0aW9uc0J5VXNlchI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlIuwDkkG/AwoEVXNlchIWR2V0IHVzZXIgb3JnYW5pemF0aW9ucxqeA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMve2lkfS9vcmdhbml6YXRpb25zEqQFCh5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXISQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlclJlcXVlc3QaQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlclJlc3BvbnNlIvwDkkHPAwoEVXNlchIUR2V0IG15IG9yZ2FuaXphdGlvbnMasANUaGlzIEFQSSByZXR1cm5zIHR3byBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgZm9yIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyLiBpKSBUaGUgbGlzdCBvZiBvcmdzIHdoaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YgaWkpIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgdGhlIHVzZXIgY2FuIGpvaW4gZGlyZWN0bHkgKGJhc2VkIG9uIGRvbWFpbiB3aGl0ZWxpc3RlZCBhbmQgdmVyaWZpZWQgYnkgdGhlIG9yZykuIFRoaXMgbGlzdCB3aWxsIGFsc28gY29udGFpbiBvcmdzIG9mIHdoaWNoIHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YuIE5vdGU6IHRoZSBkb21haW4gbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgdGhlIG9yZyBiZWZvcmUgdGhlIGl0IGlzIHJldHVybmVkIGFzIG9uZSBvZiB0aGUgam9pbmFibGUgb3JncyBieSBkb21haW6C0+STAiMSIS92MWJldGExL3VzZXJzL3NlbGYvb3JnYW5pemF0aW9ucxLsAQoSTGlzdFByb2plY3RzQnlVc2VyEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeVVzZXJSZXNwb25zZSJpkkFCCgRVc2VyEhFHZXQgdXNlciBwcm9qZWN0cxonR2V0IGFsbCB0aGUgcHJvamVjdHMgYSB1c2VyIGJlbG9uZ3MgdG8ugtPkkwIeEhwvdjFiZXRhMS91c2Vycy97aWR9L3Byb2plY3RzEoQCChlMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlImySQUUKBFVzZXISD0dldCBteSBwcm9qZWN0cxosR2V0IGFsbCBwcm9qZWN0cyB0aGUgY3VycmVudCB1c2VyIGJlbG9uZ3MgdG+C0+STAh4SHC92MWJldGExL3VzZXJzL3NlbGYvcHJvamVjdHMS9wEKE0xpc3RVc2VySW52aXRhdGlvbnMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckludml0YXRpb25zUmVzcG9uc2UicZJBRwoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGihMaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBhIHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L2ludml0YXRpb25zEpICChpMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9ucxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1Jlc3BvbnNlIneSQU0KBFVzZXISFUxpc3QgdXNlciBpbnZpdGF0aW9ucxouTGlzdCBhbGwgdGhlIGludml0YXRpb25zIHNlbnQgdG8gY3VycmVudCB1c2VyLoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMvc2VsZi9pbnZpdGF0aW9ucxKoAgoQTGlzdFNlcnZpY2VVc2VycxIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1JlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlcnNSZXNwb25zZSKqAZJBiQEKC1NlcnZpY2VVc2VyEhZMaXN0IG9yZyBzZXJ2aWNlIHVzZXJzGmJSZXR1cm5zIHRoZSBzZXJ2aWNlIHVzZXIgb2YgYW4gb3JnYW5pemF0aW9uIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXIgYnkgaXQncyBzdGF0ZYLT5JMCFxIVL3YxYmV0YTEvc2VydmljZXVzZXJzEvQBChFDcmVhdGVTZXJ2aWNlVXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlc3BvbnNlInSSQToKC1NlcnZpY2VVc2VyEhNDcmVhdGUgc2VydmljZSB1c2VyGhZDcmVhdGUgYSBzZXJ2aWNlIHVzZXIugtPkkwIxIiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2VyczoBKhL4AQoOR2V0U2VydmljZVVzZXISMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VyUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXNwb25zZSKAAZJBRAoLU2VydmljZVVzZXISEEdldCBzZXJ2aWNlIHVzZXIaI0dldCBzZXJ2aWNlIHVzZXIgZGV0YWlscyBieSBpdHMgaWQugtPkkwIzEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9Er4CChFEZWxldGVTZXJ2aWNlVXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlIr0BkkGAAQoLU2VydmljZVVzZXISE0RlbGV0ZSBzZXJ2aWNlIHVzZXIaXERlbGV0ZSBhIHNlcnZpY2UgdXNlciBwZXJtYW5lbnRseSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgKGtleXMsIG9yZ2FuaXphdGlvbnMsIHJvbGVzLCBldGMpgtPkkwIzKjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9EpgDChRDcmVhdGVTZXJ2aWNlVXNlckpXSxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIo4CkkHJAQoLU2VydmljZVVzZXISK0NyZWF0ZSBzZXJ2aWNlIHVzZXIgcHVibGljL3ByaXZhdGUga2V5IHBhaXIajAFHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciBrZXkgYW5kIHJldHVybiBpdCwgdGhlIHByaXZhdGUga2V5IHBhcnQgb2YgdGhlIHJlc3BvbnNlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIGtlcHQgc2VjdXJlbHkgYnkgY2xpZW50LoLT5JMCOyI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzOgEqEq8CChNMaXN0U2VydmljZVVzZXJKV0tzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VySldLc1Jlc3BvbnNlIqgBkkFnCgtTZXJ2aWNlVXNlchIWTGlzdCBzZXJ2aWNlIHVzZXIga2V5cxpATGlzdCBhbGwgdGhlIGtleXMgb2YgYSBzZXJ2aWNlIHVzZXIgd2l0aCBpdHMgZGV0YWlscyBleGNlcHQgandrLoLT5JMCOBI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzEpYCChFHZXRTZXJ2aWNlVXNlckpXSxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIpUBkkFLCgtTZXJ2aWNlVXNlchIUR2V0IHNlcnZpY2UgdXNlciBrZXkaJkdldCBhIHNlcnZpY2UgdXNlciBwdWJsaWMgUlNBIEpXSyBzZXQugtPkkwJBEj8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMve2tleV9pZH0SogIKFERlbGV0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UimAGSQU4KC1NlcnZpY2VVc2VyEhdEZWxldGUgc2VydmljZSB1c2VyIGtleRomRGVsZXRlIGEgc2VydmljZSB1c2VyIGtleSBwZXJtYW5lbnRseS6C0+STAkEqPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKkAwobQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKFApJBvQEKC1NlcnZpY2VVc2VyEiZDcmVhdGUgc2VydmljZSB1c2VyIGNsaWVudCBjcmVkZW50aWFscxqFAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGNyZWRlbnRpYWwgYW5kIHJldHVybiBpdC4gVGhlIGNyZWRlbnRpYWwgdmFsdWUgd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUgc2VjdXJlbHkgc3RvcmVkIGJ5IGNsaWVudC6C0+STAj4iOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0czoBKhK5AgoaTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXNwb25zZSKdAZJBWQoLU2VydmljZVVzZXISHUxpc3Qgc2VydmljZSB1c2VyIGNyZWRlbnRpYWxzGitMaXN0IGFsbCB0aGUgY3JlZGVudGlhbHMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHMSwAIKG0RlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbBI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2UioQGSQVEKC1NlcnZpY2VVc2VyEh9EZWxldGUgc2VydmljZSB1c2VyIGNyZWRlbnRpYWxzGiFEZWxldGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbC6C0+STAkcqRS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cy97c2VjcmV0X2lkfRL8AgoWQ3JlYXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSLsAZJBpQEKC1NlcnZpY2VVc2VyEhlDcmVhdGUgc2VydmljZSB1c2VyIHRva2VuGntHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbiBhbmQgcmV0dXJuIGl0LiBUaGUgdG9rZW4gdmFsdWUgd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUgc2VjdXJlbHkgc3RvcmVkIGJ5IGNsaWVudC6C0+STAj0iOC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zOgEqEp8CChVMaXN0U2VydmljZVVzZXJUb2tlbnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlIpIBkkFPCgtTZXJ2aWNlVXNlchIYTGlzdCBzZXJ2aWNlIHVzZXIgdG9rZW5zGiZMaXN0IGFsbCB0aGUgdG9rZW5zIG9mIGEgc2VydmljZSB1c2VyLoLT5JMCOhI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnMSpAIKFkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW4SOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2UilAGSQUYKC1NlcnZpY2VVc2VyEhlEZWxldGUgc2VydmljZSB1c2VyIHRva2VuGhxEZWxldGUgYSBzZXJ2aWNlIHVzZXIgdG9rZW4ugtPkkwJFKkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2Vucy97dG9rZW5faWR9ErACChdMaXN0U2VydmljZVVzZXJQcm9qZWN0cxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1Jlc3BvbnNlIp0BkkFYCgtTZXJ2aWNlVXNlchIaTGlzdCBzZXJ2aWNlIHNzZXIgcHJvamVjdHMaLUxpc3QgYWxsIHByb2plY3RzIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0b4LT5JMCPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9wcm9qZWN0cxLkAgoWTGlzdE9yZ2FuaXphdGlvbkdyb3VwcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZSLUAZJBogEKBUdyb3VwEhhMaXN0IG9yZ2FuaXphdGlvbiBncm91cHMaf0dldCBhbGwgZ3JvdXBzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvbi4gVGhlIHJlc3VsdHMgY2FuIGJlIGZpbHRlcmVkIGJ5IHN0YXRlIHdoaWNoIGNhbiBiZSBlaXRoZXIgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC6C0+STAigSJi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzEp0DCgtDcmVhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlc3BvbnNlIq4CkkH2AQoFR3JvdXASDENyZWF0ZSBncm91cBreAUNyZWF0ZSBhIG5ldyBncm91cCBpbiBhbiBvcmdhbml6YXRpb24gd2hpY2ggc2VydmVzIGFzIGEgY29udGFpbmVyIGZvciB1c2Vycy4gVGhlIGdyb3VwIGNhbiBiZSBhc3NpZ25lZCByb2xlcyBhbmQgcGVybWlzc2lvbnMgYW5kIGNhbiBiZSB1c2VkIHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBBbHNvIGEgZ3JvdXAgY2FuIGFsc28gYmUgYXNzaWduZWQgdG8gb3RoZXIgZ3JvdXBzLoLT5JMCLiImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHM6BGJvZHkSrQEKCEdldEdyb3VwEioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRHcm91cFJlcXVlc3QaKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVzcG9uc2UiSJJBEgoFR3JvdXASCUdldCBncm91cILT5JMCLRIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfRK/AQoLVXBkYXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXNwb25zZSJRkkEVCgVHcm91cBIMVXBkYXRlIGdyb3VwgtPkkwIzGisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9OgRib2R5Ev4BCg5MaXN0R3JvdXBVc2VycxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1Jlc3BvbnNlIoYBkkFKCgVHcm91cBIQTGlzdCBncm91cCB1c2VycxovUmV0dXJucyBhIGxpc3Qgb2YgdXNlcnMgdGhhdCBiZWxvbmcgdG8gYSBncm91cC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMS3QIKDUFkZEdyb3VwVXNlcnMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRHcm91cFVzZXJzUmVzcG9uc2Ui6AGSQagBCgVHcm91cBIOQWRkIGdyb3VwIHVzZXIajgFBZGRzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIHRvIGEgZ3JvdXAsIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBncm91cCB3aWxsIGJlIGlnbm9yZWQuIEEgZ3JvdXAgY2FuJ3QgaGF2ZSBuZXN0ZWQgZ3JvdXBzIGFzIG1lbWJlcnMugtPkkwI2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzOgEqEu8CCg9SZW1vdmVHcm91cFVzZXISMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZUdyb3VwVXNlclJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZUdyb3VwVXNlclJlc3BvbnNlIvQBkkGtAQoFR3JvdXASEVJlbW92ZSBncm91cCB1c2VyGpABUmVtb3ZlcyBhIHByaW5jaXBsZSh1c2VyIGFuZCBzZXJ2aWNlLXVzZXJzKSBmcm9tIGEgZ3JvdXAuIElmIHRoZSB1c2VyIGlzIG5vdCBpbiB0aGUgZ3JvdXAsIHRoZSByZXF1ZXN0IHdpbGwgc3VjY2VlZCBidXQgbm8gY2hhbmdlcyB3aWxsIGJlIG1hZGUugtPkkwI9KjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzL3t1c2VyX2lkfRLDAgoLRW5hYmxlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXNwb25zZSLUAZJBkwEKBUdyb3VwEgxFbmFibGUgZ3JvdXAafFNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBlbmFibGVkLiBUaGUgYGVuYWJsZWRgIGZsYWcgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIGdyb3VwIGNhbiBiZSB1c2VkIGZvciBhY2Nlc3MgY29udHJvbC6C0+STAjciMi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vZW5hYmxlOgEqEtQDCgxEaXNhYmxlR3JvdXASLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVHcm91cFJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVHcm91cFJlc3BvbnNlIuICkkGgAgoFR3JvdXASDURpc2FibGUgZ3JvdXAahwJTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgYXMgZGlzYWJsZWQuIFRoZSBncm91cCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgZm9yIGFjY2VzcyBjb250cm9sIGFuZCB0aGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgbm90IGJlIGFibGUgdG8gYWNjZXNzIGFueSByZXNvdXJjZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gdGhlIGdyb3VwLiBObyBvdGhlciB1c2VycyBjYW4gYmUgYWRkZWQgdG8gdGhlIGdyb3VwIHdoaWxlIGl0IGlzIGRpc2FibGVkLoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9kaXNhYmxlOgEqEv0BCgtEZWxldGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlc3BvbnNlIo4BkkFYCgVHcm91cBIMRGVsZXRlIGdyb3VwGkFEZWxldGUgYW4gb3JnYW5pemF0aW9uIGdyb3VwIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9uc4LT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfRKTAgoJTGlzdFJvbGVzEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Um9sZXNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Um9sZXNSZXNwb25zZSKqAZJBkAEKBFJvbGUSE0xpc3QgcGxhdGZvcm0gcm9sZXMac1JldHVybnMgYSBsaXN0IG9mIHBsYXRmb3JtIHdpZGUgcm9sZXMgYXZhaWxhYmxlIGluIGVuaXRyZSBGcm9udGllciBpbnN0YW5jZSBhbG9uZyB3aXRoIHRoZWlyIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAhASDi92MWJldGExL3JvbGVzErwCChVMaXN0T3JnYW5pemF0aW9uUm9sZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Sb2xlc1Jlc3BvbnNlIq8BkkF/CgRSb2xlEhdMaXN0IG9yZ2FuaXphdGlvbiByb2xlcxpeUmV0dXJucyBhIGxpc3Qgb2YgY3VzdG9tIHJvbGVzIGNyZWF0ZWQgdW5kZXIgYW4gb3JnYW5pemF0aW9uIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCJxIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcxL3AgoWQ3JlYXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSLnAZJBsAEKBFJvbGUSGENyZWF0ZSBvcmdhbml6YXRpb24gcm9sZRqNAUNyZWF0ZSBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBjdXN0b20gcm9sZSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50IHRvIHRoZSBwcmluY2lwbGVzIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uLoLT5JMCLSIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlczoEYm9keRKsAgoTR2V0T3JnYW5pemF0aW9uUm9sZRI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKlAZJBcAoEUm9sZRIVR2V0IG9yZ2FuaXphdGlvbiByb2xlGlFSZXR1cm5zIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uIGFsb25nIHdpdGggaXRzIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAiwSKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRL8AgoWVXBkYXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSLsAZJBsAEKBFJvbGUSGFVwZGF0ZSBvcmdhbml6YXRpb24gcm9sZRqNAVVwZGF0ZSBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBjdXN0b20gcm9sZSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50IHRvIHRoZSBwcmluY2lwbGVzIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uLoLT5JMCMhoqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9OgRib2R5ErcCChZEZWxldGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqcBkkFyCgRSb2xlEhhEZWxldGUgb3JnYW5pemF0aW9uIHJvbGUaUERlbGV0ZSBhIGN1c3RvbSByb2xlIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyB1bmRlciBhbiBvcmdhbml6YXRpb24gcGVybWFuZW50bHkugtPkkwIsKiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH0SmgIKEUxpc3RPcmdhbml6YXRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UimQGSQXgKDE9yZ2FuaXphdGlvbhISTGlzdCBvcmdhbml6YXRpb25zGlRSZXR1cm5zIGEgbGlzdCBvZiBvcmdhbml6YXRpb25zLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgdXNlcklEIG9yIG9yZ2FuaXphdGlvbiBzdGF0ZS6C0+STAhgSFi92MWJldGExL29yZ2FuaXphdGlvbnMSzQEKEkNyZWF0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiSpJBIwoMT3JnYW5pemF0aW9uEhNDcmVhdGUgb3JnYW5pemF0aW9ugtPkkwIeIhYvdjFiZXRhMS9vcmdhbml6YXRpb25zOgRib2R5EuABCg9HZXRPcmdhbml6YXRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJlc3BvbnNlImaSQUAKDE9yZ2FuaXphdGlvbhIQR2V0IG9yZ2FuaXphdGlvbhoeR2V0IG9yZ2FuaXphdGlvbiBieSBJRCBvciBuYW1lgtPkkwIdEhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0S7QEKElVwZGF0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiapJBPgoMT3JnYW5pemF0aW9uEhNVcGRhdGUgb3JnYW5pemF0aW9uGhlVcGRhdGUgb3JnYW5pemF0aW9uIGJ5IElEgtPkkwIjGhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH06BGJvZHkSnwIKGExpc3RPcmdhbml6YXRpb25Qcm9qZWN0cxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVzcG9uc2UiiQGSQVoKDE9yZ2FuaXphdGlvbhIZR2V0IG9yZ2FuaXphdGlvbiBwcm9qZWN0cxovR2V0IGFsbCBwcm9qZWN0cyB0aGF0IGJlbG9uZyB0byBhbiBvcmdhbml6YXRpb26C0+STAiYSJC92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcm9qZWN0cxKOAgoWTGlzdE9yZ2FuaXphdGlvbkFkbWlucxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BZG1pbnNSZXNwb25zZSJ/kkFSCgxPcmdhbml6YXRpb24SGExpc3Qgb3JnYW5pemF0aW9uIGFkbWlucxooUmV0dXJucyBhIGxpc3QgYWRtaW5zIG9mIGFuIG9yZ2FuaXphdGlvboLT5JMCJBIiL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2FkbWlucxLfAQoVTGlzdE9yZ2FuaXphdGlvblVzZXJzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJTkkEnCgxPcmdhbml6YXRpb24SF0xpc3Qgb3JnYW5pemF0aW9uIHVzZXJzgtPkkwIjEiEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnMS7QIKFEFkZE9yZ2FuaXphdGlvblVzZXJzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2Ui4wGSQbMBCgxPcmdhbml6YXRpb24SFUFkZCBvcmdhbml6YXRpb24gdXNlchqLAUFkZCBhIHVzZXIgdG8gYW4gb3JnYW5pemF0aW9uLiBBIHVzZXIgbXVzdCBleGlzdHMgaW4gRnJvbnRpZXIgYmVmb3JlIGFkZGluZyBpdCB0byBhbiBvcmcuIFRoaXMgcmVxdWVzdCB3aWxsIGZhaWwgaWYgdGhlIHVzZXIgZG9lc24ndCBleGlzdHOC0+STAiYiIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VyczoBKhKSAgoWUmVtb3ZlT3JnYW5pemF0aW9uVXNlchI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSKCAZJBTAoMT3JnYW5pemF0aW9uEhhSZW1vdmUgb3JnYW5pemF0aW9uIHVzZXIaIlJlbW92ZSBhIHVzZXIgZnJvbSBhbiBvcmdhbml6YXRpb26C0+STAi0qKy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2Vycy97dXNlcl9pZH0SlgIKEkdldE9yZ2FuaXphdGlvbkt5YxI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uS3ljUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uS3ljUmVzcG9uc2UikgGSQWQKD09yZ2FuaXphdGlvbkt5YxIfR2V0IEtZQyBpbmZvIG9mIGFuIG9yZ2FuaXphdGlvbhowR2V0IEtZQyBpbmZvIG9mIGFuIG9yZ2FuaXphdGlvbiB1c2luZyBJRCBvciBuYW1lgtPkkwIlEiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2t5YxKDAgocTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2VycxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnNSZXNwb25zZSJikkEvCgxPcmdhbml6YXRpb24SH0xpc3Qgb3JnYW5pemF0aW9uIHNlcnZpY2UgdXNlcnOC0+STAioSKC92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9zZXJ2aWNldXNlcnMSuQIKG0xpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9ucxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2UimgGSQWQKDE9yZ2FuaXphdGlvbhIYTGlzdCBwZW5kaW5nIGludml0YXRpb25zGjpSZXR1cm5zIGFsbCBwZW5kaW5nIGludml0YXRpb25zIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zEvYCChxDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlItQBkkGaAQoMT3JnYW5pemF0aW9uEgtJbnZpdGUgdXNlchp9SW52aXRlIHVzZXJzIHRvIGFuIG9yZ2FuaXphdGlvbiwgaWYgdXNlciBpcyBub3QgcmVnaXN0ZXJlZCBvbiB0aGUgcGxhdGZvcm0sIGl0IHdpbGwgYmUgbm90aWZpZWQuIEludml0YXRpb25zIGV4cGlyZSBpbiA3IGRheXOC0+STAjAiKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnM6ASoSswIKGUdldE9yZ2FuaXphdGlvbkludml0YXRpb24SOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UimgGSQV8KDE9yZ2FuaXphdGlvbhIWR2V0IHBlbmRpbmcgaW52aXRhdGlvbho3UmV0dXJucyBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMhIwL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EpkDChxBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIvcBkkGxAQoMT3JnYW5pemF0aW9uEhlBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uGoUBQWNjZXB0IHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvbi4gVGhlIHVzZXIgd2lsbCBiZSBhZGRlZCB0byB0aGUgb3JnYW5pemF0aW9uIGFuZCBncm91cHMgZGVmaW5lZCBpbiB0aGUgaW52aXRhdGlvboLT5JMCPCI3L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9L2FjY2VwdDoBKhK+AgocRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKcAZJBYQoMT3JnYW5pemF0aW9uEhlEZWxldGUgcGVuZGluZyBpbnZpdGF0aW9uGjZEZWxldGUgYSBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAjIqMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfRLYAwoXTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Eb21haW5zUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXNwb25zZSLFApJBkgIKDE9yZ2FuaXphdGlvbhIQTGlzdCBvcmcgZG9tYWlucxrvAVJldHVybnMgYWxsIGRvbWFpbnMgd2hpdGVsaXN0ZWQgZm9yIGFuIG9yZ2FuaXphdGlvbiAoYm90aCBwZW5kaW5nIGFuZCB2ZXJpZmllZCBpZiBubyBmaWx0ZXJzIGFyZSBwcm92aWRlZCBmb3IgdGhlIHN0YXRlKS4gVGhlIHZlcmlmaWVkIGRvbWFpbnMgYWxsb3cgdXNlcnMgZW1haWwgd2l0aCB0aGUgb3JnJ3Mgd2hpdGVsaXN0ZWQgZG9tYWluIHRvIGpvaW4gdGhlIG9yZ2FuaXphdGlvbiB3aXRob3V0IGludml0YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMS/gQKGENyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui6AOSQbIDCgxPcmdhbml6YXRpb24SEUNyZWF0ZSBvcmcgZG9tYWluGo4DQWRkIGEgZG9tYWluIHRvIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBpZiB2ZXJpZmllZCBhbGxvd3MgYWxsIHVzZXJzIG9mIHRoZSBzYW1lIGRvbWFpbiB0byBiZSBzaWduZWQgdXAgdG8gdGhlIG9yZ2FuaXphdGlvbiB3aXRob3V0IGludml0YXRpb24uIFRoaXMgQVBJIGdlbmVyYXRlcyBhIHZlcmlmaWNhdGlvbiB0b2tlbiBmb3IgYSBkb21haW4gd2hpY2ggbXVzdCBiZSBhZGRlZCB0byB5b3VyIGRvbWFpbidzIEROUyBwcm92aWRlciBhcyBhIFRYVCByZWNvcmQgc2hvdWxkIGJlIHZlcmlmaWVkIHdpdGggRnJvbnRpZXIgVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluIEFQSSBiZWZvcmUgaXQgY2FuIGJlIHVzZWQgYXMgYW4gT3JnYW5pemF0aW9uJ3MgdHJ1c3RlZCBkb21haW4gdG8gc2lnbiB1cCB1c2Vycy6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWluczoBKhK3AgoYRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSKhAZJBagoMT3JnYW5pemF0aW9uEhFEZWxldGUgb3JnIGRvbWFpbhpHUmVtb3ZlIGEgZG9tYWluIGZyb20gdGhlIGxpc3Qgb2YgYW4gb3JnYW5pemF0aW9uJ3MgdHJ1c3RlZCBkb21haW5zIGxpc3SC0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9EuICChVHZXRPcmdhbml6YXRpb25Eb21haW4SNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBkkGdAQoMT3JnYW5pemF0aW9uEg5HZXQgb3JnIGRvbWFpbhp9R2V0IGEgZG9tYWluIGZyb20gdGhlIGxpc3Qgb2YgYW4gb3JnYW5pemF0aW9uJ3Mgd2hpdGVsaXN0ZWQgZG9tYWlucy4gUmV0dXJucyBib3RoIHZlcmlmaWVkIGFuZCB1bnZlcmlmaWVkIGRvbWFpbnMgYnkgdGhlaXIgSUSC0+STAi4SLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9EqUEChhWZXJpZnlPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIo8DkkHNAgoMT3JnYW5pemF0aW9uEhFWZXJpZnkgb3JnIGRvbWFpbhqpAlZlcmlmeSBhIGRvbWFpbiBmb3IgYW4gb3JnYW5pemF0aW9uIHdpdGggYSB2ZXJpZmljYXRpb24gdG9rZW4gZ2VuZXJhdGVkIGJ5IEZyb250aWVyIEdlbmVyYXRlRG9tYWluVmVyaWZpY2F0aW9uVG9rZW4gQVBJLiBUaGUgdG9rZW4gbXVzdCBiZSBhZGRlZCB0byB5b3VyIGRvbWFpbidzIEROUyBwcm92aWRlciBhcyBhIFRYVCByZWNvcmQgYmVmb3JlIGl0IGNhbiBiZSB2ZXJpZmllZC4gVGhpcyBBUEkgcmV0dXJucyB0aGUgc3RhdGUgb2YgdGhlIGRvbWFpbiAocGVuZGluZy92ZXJpZmllZCkgYWZ0ZXIgdmVyaWZpY2F0aW9uLoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0vdmVyaWZ5OgEqEpIDChBKb2luT3JnYW5pemF0aW9uEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSm9pbk9yZ2FuaXphdGlvblJlc3BvbnNlIpQCkkHhAQoMT3JnYW5pemF0aW9uEhFKb2luIG9yZ2FuaXphdGlvbhq9AUFsbG93cyB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB0byBqb2luIHRoZSBPcmcgaWYgb25lIGlzIG5vdCBhIHBhcnQgb2YgaXQuIFRoZSB1c2VyIHdpbGwgb25seSBiZSBhYmxlIHRvIGpvaW4gd2hlbiB0aGUgdXNlciBlbWFpbCdzIGRvbWFpbiBtYXRjaGVzIHRoZSBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLoLT5JMCKSIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9qb2luOgEqEtkCChJFbmFibGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlItUBkkGkAQoMT3JnYW5pemF0aW9uEhNFbmFibGUgb3JnYW5pemF0aW9uGn9TZXRzIHRoZSBzdGF0ZSBvZiB0aGUgb3JnYW5pemF0aW9uIGFzIGVuYWJsZWQuIFRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgb3JnIHdpbGwgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwInIiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZW5hYmxlOgEqEuQCChNEaXNhYmxlT3JnYW5pemF0aW9uEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIt0BkkGrAQoMT3JnYW5pemF0aW9uEhREaXNhYmxlIG9yZ2FuaXphdGlvbhqEAVNldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZGlzYWJsZWQuIFRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgb3JnIHdpbGwgbm90IGJlIGFibGUgdG8gYWNjZXNzIGFueSBvcmdhbml6YXRpb24gcmVzb3VyY2VzLoLT5JMCKCIjL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2Rpc2FibGU6ASoSxgIKEkRlbGV0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiwgGSQZsBCgxPcmdhbml6YXRpb24SE0RlbGV0ZSBvcmdhbml6YXRpb24adkRlbGV0ZSBhbiBvcmdhbml6YXRpb24gYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LiBUaGUgb3JnYW5pemF0aW9uIHVzZXJzIHdpbGwgbm90IGJlIGRlbGV0ZWQgZnJvbSBGcm9udGllci6C0+STAh0qGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRKvAQoNQ3JlYXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNwb25zZSI7kkEZCgdQcm9qZWN0Eg5DcmVhdGUgcHJvamVjdILT5JMCGSIRL3YxYmV0YTEvcHJvamVjdHM6BGJvZHkSuwEKCkdldFByb2plY3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzcG9uc2UiUJJBLwoHUHJvamVjdBILR2V0IHByb2plY3QaF1JldHVybnMgYSBwcm9qZWN0IGJ5IElEgtPkkwIYEhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9Es0BCg1VcGRhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc3BvbnNlIlmSQTIKB1Byb2plY3QSDlVwZGF0ZSBwcm9qZWN0GhdVcGRhdGVzIGEgcHJvamVjdCBieSBJRILT5JMCHhoWL3YxYmV0YTEvcHJvamVjdHMve2lkfToEYm9keRLzAQoRTGlzdFByb2plY3RBZG1pbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0QWRtaW5zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXNwb25zZSJzkkFLCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgYWRtaW5zGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBhZG1pbnMgb2YgYSBwcm9qZWN0gtPkkwIfEh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2FkbWlucxKYAgoQTGlzdFByb2plY3RVc2VycxIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZSKaAZJBcwoHUHJvamVjdBISTGlzdCBwcm9qZWN0IHVzZXJzGlRSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QuIEZpbHRlciBieSB1c2VyIHBlcm1pc3Npb25zIGlzIHN1cHBvcnRlZC6C0+STAh4SHC92MWJldGExL3Byb2plY3RzL3tpZH0vdXNlcnMSkQIKF0xpc3RQcm9qZWN0U2VydmljZVVzZXJzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVzcG9uc2Uif5JBUQoHUHJvamVjdBIZTGlzdCBwcm9qZWN0IHNlcnZpY2V1c2VycxorUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgdXNlcnMgb2YgYSBwcm9qZWN0LoLT5JMCJRIjL3YxYmV0YTEvcHJvamVjdHMve2lkfS9zZXJ2aWNldXNlcnMS9AEKEUxpc3RQcm9qZWN0R3JvdXBzEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UidJJBTAoHUHJvamVjdBITTGlzdCBwcm9qZWN0IGdyb3VwcxosUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgZ3JvdXBzIG9mIGEgcHJvamVjdC6C0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vZ3JvdXBzErgBCg1FbmFibGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlUHJvamVjdFJlc3BvbnNlIkSSQRkKB1Byb2plY3QSDkVuYWJsZSBwcm9qZWN0gtPkkwIiIh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2VuYWJsZToBKhK9AQoORGlzYWJsZVByb2plY3QSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVQcm9qZWN0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXNwb25zZSJGkkEaCgdQcm9qZWN0Eg9EaXNhYmxlIHByb2plY3SC0+STAiMiHi92MWJldGExL3Byb2plY3RzL3tpZH0vZGlzYWJsZToBKhLiAQoNRGVsZXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNwb25zZSJukkFNCgdQcm9qZWN0Eg5EZWxldGUgUHJvamVjdBoyRGVsZXRlIGEgcHJvamVjdCBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3Byb2plY3RzL3tpZH0SvQEKDENyZWF0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5UmVzcG9uc2UiTJJBKgoGUG9saWN5Eg1DcmVhdGUgcG9saWN5GhFDcmVhdGVzIGEgcG9saWN5IILT5JMCGSIRL3YxYmV0YTEvcG9saWNpZXM6BGJvZHkStQEKCUdldFBvbGljeRIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UG9saWN5UmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UG9saWN5UmVzcG9uc2UiTZJBLAoGUG9saWN5EgpHZXQgcG9saWN5GhZSZXR1cm5zIGEgcG9saWN5IGJ5IElEgtPkkwIYEhYvdjFiZXRhMS9wb2xpY2llcy97aWR9ErkCCgxMaXN0UG9saWNpZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQb2xpY2llc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQb2xpY2llc1Jlc3BvbnNlIscBkkGqAQoGUG9saWN5EhFMaXN0IGFsbCBwb2xpY2llcxqMAUxpc3RzIGFsbCB0aGUgcG9saWNpZXMgZnJvbSBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IG9yZ2FuaXphdGlvbiwgcHJvamVjdCwgdXNlciwgcm9sZSBhbmQgZ3JvdXAugtPkkwITEhEvdjFiZXRhMS9wb2xpY2llcxLHAQoMVXBkYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQb2xpY3lSZXNwb25zZSJWkkEvCgZQb2xpY3kSDVVwZGF0ZSBwb2xpY3kaFlVwZGF0ZXMgYSBwb2xpY3kgYnkgSUSC0+STAh4aFi92MWJldGExL3BvbGljaWVzL3tpZH06BGJvZHkS3AEKDERlbGV0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUG9saWN5UmVzcG9uc2Uia5JBSgoGUG9saWN5Eg1EZWxldGUgUG9saWN5GjFEZWxldGUgYSBwb2xpY3kgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkugtPkkwIYKhYvdjFiZXRhMS9wb2xpY2llcy97aWR9EokCChZDcmVhdGVQb2xpY3lGb3JQcm9qZWN0EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlc3BvbnNlInqSQUIKBlBvbGljeRIZQ3JlYXRlIFBvbGljeSBmb3IgUHJvamVjdBodQ3JlYXRlIGEgcG9saWN5IGZvciBhIHByb2plY3SC0+STAi8iJy92MWJldGExL3BvbGljaWVzL3Byb2plY3RzL3twcm9qZWN0X2lkfToEYm9keRK1AQoOQ3JlYXRlUmVsYXRpb24SMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVJlbGF0aW9uUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXNwb25zZSI+kkEbCghSZWxhdGlvbhIPQ3JlYXRlIHJlbGF0aW9ugtPkkwIaIhIvdjFiZXRhMS9yZWxhdGlvbnM6BGJvZHkSwgEKC0dldFJlbGF0aW9uEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRSZWxhdGlvblJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVzcG9uc2UiVJJBMgoIUmVsYXRpb24SDEdldCByZWxhdGlvbhoYUmV0dXJucyBhIHJlbGF0aW9uIGJ5IElEgtPkkwIZEhcvdjFiZXRhMS9yZWxhdGlvbnMve2lkfRKQAgoORGVsZXRlUmVsYXRpb24SMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVJlbGF0aW9uUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXNwb25zZSKYAZJBTgoIUmVsYXRpb24SD0RlbGV0ZSByZWxhdGlvbhoxUmVtb3ZlIGEgc3ViamVjdCBoYXZpbmcgYSByZWxhdGlvbiBmcm9tIGFuIG9iamVjdILT5JMCQSo/L3YxYmV0YTEvcmVsYXRpb25zL3tyZWxhdGlvbn0vb2JqZWN0L3tvYmplY3R9L3N1YmplY3Qve3N1YmplY3R9EroBCg9MaXN0UGVybWlzc2lvbnMSMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQZXJtaXNzaW9uc1JlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlIkCSQSEKClBlcm1pc3Npb24SE0dldCBhbGwgcGVybWlzc2lvbnOC0+STAhYSFC92MWJldGExL3Blcm1pc3Npb25zEtABCg1HZXRQZXJtaXNzaW9uEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGVybWlzc2lvblJlc3BvbnNlIlySQTgKClBlcm1pc3Npb24SDkdldCBwZXJtaXNzaW9uGhpSZXR1cm5zIGEgcGVybWlzc2lvbiBieSBJRILT5JMCGxIZL3YxYmV0YTEvcGVybWlzc2lvbnMve2lkfRLvAQoOTGlzdE5hbWVzcGFjZXMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3ROYW1lc3BhY2VzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXNwb25zZSJ4kkFaCglOYW1lc3BhY2USEkdldCBhbGwgbmFtZXNwYWNlcxo5UmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgbmFtZXNwYWNlcyBpbiBhIEZyb250aWVyIGluc3RhbmNlgtPkkwIVEhMvdjFiZXRhMS9uYW1lc3BhY2VzEskBCgxHZXROYW1lc3BhY2USLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE5hbWVzcGFjZVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE5hbWVzcGFjZVJlc3BvbnNlIliSQTUKCU5hbWVzcGFjZRINR2V0IG5hbWVzcGFjZRoZUmV0dXJucyBhIG5hbWVzcGFjZSBieSBJRILT5JMCGhIYL3YxYmV0YTEvbmFtZXNwYWNlcy97aWR9EtkBChRMaXN0UHJvamVjdFJlc291cmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RSZXNvdXJjZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlIlCSQR0KCFJlc291cmNlEhFHZXQgYWxsIHJlc291cmNlc4LT5JMCKhIoL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcxKBAgoVQ3JlYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ1kkE8CghSZXNvdXJjZRIPQ3JlYXRlIHJlc291cmNlGh9DcmVhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwIwIigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzOgRib2R5EvUBChJHZXRQcm9qZWN0UmVzb3VyY2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNvdXJjZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNvdXJjZVJlc3BvbnNlInKSQToKCFJlc291cmNlEgxHZXQgcmVzb3VyY2UaIFJldHVybnMgYSBwcm9qZWN0IHJlc291cmNlIGJ5IElEgtPkkwIvEi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH0ShgIKFVVwZGF0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiepJBPAoIUmVzb3VyY2USD1VwZGF0ZSByZXNvdXJjZRofVXBkYXRlcyBhIHJlc291cmNlIGluIGEgcHJvamVjdILT5JMCNRotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9OgRib2R5Eo8CChVEZWxldGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlIoIBkkFKCghSZXNvdXJjZRIPRGVsZXRlIHJlc291cmNlGi1EZWxldGVzIGEgcmVzb3VyY2UgZnJvbSBhIHByb2plY3QgcGVybWFuZW50bHmC0+STAi8qLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRL7AwoXQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb24SOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZSLoApJBywIKBUF1dGh6EgVDaGVjaxq6AlJldHVybnMgdHJ1ZSBpZiBhIHByaW5jaXBhbCBoYXMgcmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGEgcmVzb3VyY2UgYW5kIGZhbHNlIG90aGVyd2lzZS48YnIvPiBOb3RlIHRoZSBwcmluY2lwYWwgY2FuIGJlIGEgdXNlciBvciBhIHNlcnZpY2UgYWNjb3VudC4gRnJvbnRpZXIgd2lsbCBleHRyYWN0IHByaW5jaXBhbCBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiBzZXNzaW9uIGNvb2tpZSAoaWYgYW55KSwgb3IgdGhlIGNsaWVudCBpZCBhbmQgc2VjcmV0IChpbiBjYXNlIG9mIHNlcnZpY2UgdXNlcnMpIG9yIHRoZSBhY2Nlc3MgdG9rZW4ugtPkkwITIg4vdjFiZXRhMS9jaGVjazoBKhKzBAoUQmF0Y2hDaGVja1Blcm1pc3Npb24SNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXNwb25zZSKpA5JBhwMKBUF1dGh6EgtCYXRjaCBjaGVjaxrwAlJldHVybnMgdHJ1ZSBpZiBhIHByaW5jaXBhbCBoYXMgcmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGEgcmVzb3VyY2UgYW5kIGZhbHNlIG90aGVyd2lzZS48YnIvPiBOb3RlIHRoZSBwcmluY2lwYWwgY2FuIGJlIGEgdXNlciBvciBhIHNlcnZpY2UgYWNjb3VudCwgYW5kIEZyb250aWVyIHdpbGwgdGhlIGNyZWRlbnRpYWxzIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHByaW5jaXBhbCBmcm9tIHRoZSBzZXNzaW9uIGNvb2tpZSAoaWYgYW55KSwgb3IgdGhlIGNsaWVudCBpZCBhbmQgc2VjcmV0IChpbiBjYXNlIG9mIHNlcnZpY2UgdXNlcnMpIG9yIHRoZSBhY2Nlc3MgdG9rZW4gKGluIGNhc2Ugb2YgaHVtYW4gdXNlciBhY2NvdW50cykugtPkkwIYIhMvdjFiZXRhMS9iYXRjaGNoZWNrOgEqErUBCgdHZXRKV0tzEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0SldLc1Jlc3BvbnNlIlOSQRwKBUF1dGh6EhNHZXQgd2VsbCBrbm93biBKV0tzgtPkkwIuEhIvdjFiZXRhMS9hdXRoL2p3a3NaGBIWLy53ZWxsLWtub3duL2p3a3MuanNvbhJxCgxMaXN0U2Vzc2lvbnMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXNzaW9uc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXNzaW9uc1Jlc3BvbnNlIgASdAoNUmV2b2tlU2Vzc2lvbhIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmV2b2tlU2Vzc2lvblJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJldm9rZVNlc3Npb25SZXNwb25zZSIAEnoKD1BpbmdVc2VyU2Vzc2lvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGluZ1VzZXJTZXNzaW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGluZ1VzZXJTZXNzaW9uUmVzcG9uc2UiABK3AgoSTGlzdEF1dGhTdHJhdGVnaWVzEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QXV0aFN0cmF0ZWdpZXNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QXV0aFN0cmF0ZWdpZXNSZXNwb25zZSKzAZJBmgEKBUF1dGhuEh5MaXN0IGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWdpZXMacVJldHVybnMgYSBsaXN0IG9mIGlkZW50aXR5IHByb3ZpZGVycyBjb25maWd1cmVkIG9uIGFuIGluc3RhbmNlIGxldmVsIGluIEZyb250aWVyLiBlLmcgR29vZ2xlLCBBenVyZUFELCBHaXRodWIgZXRjgtPkkwIPEg0vdjFiZXRhMS9hdXRoEukECgxBdXRoZW50aWNhdGUSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhlbnRpY2F0ZVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhlbnRpY2F0ZVJlc3BvbnNlIvcDkkGYAwoFQXV0aG4SHEF1dGhlbnRpY2F0ZSB3aXRoIGEgc3RyYXRlZ3ka8AJBdXRoZW50aWNhdGUgYSB1c2VyIHdpdGggYSBzdHJhdGVneS4gQnkgZGVmYXVsdCwgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiBubyBvcGVyYXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgdG8gYXBwbHkgcmVkaXJlY3Rpb24gaW4gY2FzZSBvZiBicm93c2VycywgcHJvdmlkZSBhIHVybCBpbiB0aGUgYXV0aGVudGljYXRlIHJlcXVlc3QgYm9keSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgcmVkaXJlY3Rpb24gYWZ0ZXIgYXV0aGVudGljYXRpb24uIEFsc28gc2V0IHJlZGlyZWN0IGFzIHRydWUgZm9yIHJlZGlyZWN0aW5nIHRoZSB1c2VyIHJlcXVlc3QgdG8gdGhlIHJlZGlyZWN0X3VybCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLoLT5JMCVRImL3YxYmV0YTEvYXV0aC9yZWdpc3Rlci97c3RyYXRlZ3lfbmFtZX1aKyImL3YxYmV0YTEvYXV0aC9yZWdpc3Rlci97c3RyYXRlZ3lfbmFtZX06ASoSvQQKDEF1dGhDYWxsYmFjaxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aENhbGxiYWNrUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aENhbGxiYWNrUmVzcG9uc2UiywOSQYwDCgVBdXRobhIYQ2FsbGJhY2sgZnJvbSBhIHN0cmF0ZWd5GugCQ2FsbGJhY2sgZnJvbSBhIHN0cmF0ZWd5LiBUaGlzIGlzIHRoZSBlbmRwb2ludCB3aGVyZSB0aGUgc3RyYXRlZ3kgd2lsbCByZWRpcmVjdCB0aGUgdXNlciBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLiBUaGlzIGVuZHBvaW50IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGNvZGUgYW5kIHN0YXRlIHF1ZXJ5IHBhcmFtZXRlcnMuIFRoZSBjb2RlIHdpbGwgYmUgdXNlZCB0byBnZXQgdGhlIGFjY2VzcyB0b2tlbiBmcm9tIHRoZSBzdHJhdGVneSBhbmQgdGhlIHN0YXRlIHdpbGwgYmUgdXNlZCB0byBnZXQgdGhlIHJldHVybl90byB1cmwgZnJvbSB0aGUgc2Vzc2lvbiBhbmQgcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhhdCB1cmwugtPkkwI1EhYvdjFiZXRhMS9hdXRoL2NhbGxiYWNrWhsiFi92MWJldGExL2F1dGgvY2FsbGJhY2s6ASoSwgMKCUF1dGhUb2tlbhIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFRva2VuUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFRva2VuUmVzcG9uc2Ui2QKSQbcCCgVBdXRobhIqR2VuZXJhdGUgYWNjZXNzIHRva2VuIGJ5IGdpdmVuIGNyZWRlbnRpYWxzGoECQWNjZXNzIHRva2VuIGNhbiBiZSBnZW5lcmF0ZWQgYnkgcHJvdmlkaW5nIHRoZSBjcmVkZW50aWFscyBpbiB0aGUgcmVxdWVzdCBib2R5L2hlYWRlci4gVGhlIGNyZWRlbnRpYWxzIGNhbiBiZSBjbGllbnQgaWQgYW5kIHNlY3JldCBvciBzZXJ2aWNlIGFjY291bnQgZ2VuZXJhdGVkIGtleSBqd3QuIFVzZSB0aGUgZ2VuZXJhdGVkIGFjY2VzcyB0b2tlbiBpbiBBdXRob3JpemF0aW9uIGhlYWRlciB0byBhY2Nlc3MgdGhlIGZyb250aWVyIHJlc291cmNlcy6C0+STAhgiEy92MWJldGExL2F1dGgvdG9rZW46ASoSwQEKCkF1dGhMb2dvdXQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoTG9nb3V0UmVzcG9uc2UiVpJBHwoFQXV0aG4SFkxvZ291dCBmcm9tIGEgc3RyYXRlZ3mC0+STAi4SFC92MWJldGExL2F1dGgvbG9nb3V0WhYqFC92MWJldGExL2F1dGgvbG9nb3V0Eq4CCg9MaXN0TWV0YVNjaGVtYXMSMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RNZXRhU2NoZW1hc1JlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlIrMBkkGSAQoKTWV0YVNjaGVtYRIQTGlzdCBtZXRhc2NoZW1hcxpyUmV0dXJucyBhIGxpc3Qgb2YgYWxsIG1ldGFzY2hlbWFzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyB1c2VyLCBwcm9qZWN0LCBvcmdhbml6YXRpb24gZXRjgtPkkwIXEhUvdjFiZXRhMS9tZXRhL3NjaGVtYXMSnwUKEENyZWF0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2UioQSSQfoDCgpNZXRhU2NoZW1hEhFDcmVhdGUgbWV0YXNjaGVtYRrYA0NyZWF0ZSBhIG5ldyBtZXRhZGF0YSBzY2hlbWEuIFRoZSBtZXRhc2NoZW1hICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLiBUaGUgbWV0YXNjaGVtYSAqKnNjaGVtYSoqIG11c3QgYmUgYSB2YWxpZCBKU09OIHNjaGVtYS5QbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvIHRvIGtub3cgbW9yZSBhYm91dCBqc29uIHNjaGVtYS4gPGJyLz4qRXhhbXBsZToqIGB7bmFtZToidXNlciIsc2NoZW1hOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibGFiZWwiOnsidHlwZSI6Im9iamVjdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifX0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fWCC0+STAh0iFS92MWJldGExL21ldGEvc2NoZW1hczoEYm9keRLTAQoNR2V0TWV0YVNjaGVtYRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE1ldGFTY2hlbWFSZXNwb25zZSJfkkE6CgpNZXRhU2NoZW1hEg5HZXQgbWV0YXNjaGVtYRocR2V0IGEgbWV0YWRhdGEgc2NoZW1hIGJ5IElELoLT5JMCHBIaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH0SwQQKEFVwZGF0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVNZXRhU2NoZW1hUmVzcG9uc2UiwwOSQZcDCgpNZXRhU2NoZW1hEhFVcGRhdGUgbWV0YXNjaGVtYRr1AlVwZGF0ZSBhIG1ldGFkYXRhIHNjaGVtYS4gT25seSBgc2NoZW1hYCBmaWVsZCBvZiBhIG1ldGFzY2hlbWEgY2FuIGJlIHVwZGF0ZWQuIFRoZSBtZXRhc2NoZW1hIGBzY2hlbWFgIG11c3QgYmUgYSB2YWxpZCBKU09OIHNjaGVtYS5QbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvIHRvIGtub3cgbW9yZSBhYm91dCBqc29uIHNjaGVtYS4gPGJyLz4qRXhhbXBsZToqIGB7bmFtZToidXNlciIsc2NoZW1hOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibGFiZWwiOnsidHlwZSI6Im9iamVjdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifX0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fWCC0+STAiIaGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9OgRib2R5EuMEChBEZWxldGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlTWV0YVNjaGVtYVJlc3BvbnNlIuUDkkG/AwoKTWV0YVNjaGVtYRIRRGVsZXRlIG1ldGFzY2hlbWEanQNEZWxldGUgYSBtZXRhZGF0YSBzY2hlbWEgcGVybWFuZW50bHkuIE9uY2UgZGVsZXRlZCB0aGUgbWV0YXNjaGVtYSB3b24ndCBiZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBtZXRhZGF0YS4gRm9yIGV4YW1wbGUsIGlmIGEgbWV0YXNjaGVtYSh3aXRoIGBsYWJlbGAgYW5kIGBkZXNjcmlwdGlvbmAgZmllbGRzKSBpcyB1c2VkIHRvIHZhbGlkYXRlIHRoZSBtZXRhZGF0YSBvZiBhIHVzZXIsIHRoZW4gZGVsZXRpbmcgdGhlIG1ldGFzY2hlbWEgd2lsbCBub3QgdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIHRoZSB1c2VyIGFuZCBtZXRhZGF0YSBmaWVsZCBjYW4gY29udGFpbiBhbnkga2V5LXZhbHVlIHBhaXIoYW5kIHNheSBhbm90aGVyIGZpZWxkIGNhbGxlZCBgZm9vYCBjYW4gYmUgaW5zZXJ0ZWQgaW4gYSB1c2VyJ3MgbWV0YWRhdGEpLoLT5JMCHCoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH0SpgIKGUxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3MSOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2UijQGSQVkKCEF1ZGl0TG9nEg9MaXN0IGF1ZGl0IGxvZ3MaPFJldHVybnMgYSBsaXN0IG9mIGF1ZGl0IGxvZ3Mgb2YgYW4gb3JnYW5pemF0aW9uIGluIEZyb250aWVyLoLT5JMCKxIpL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9hdWRpdGxvZ3MSlAIKG0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2UidpJBPwoIQXVkaXRMb2cSEENyZWF0ZSBhdWRpdCBsb2caIUNyZWF0ZSBuZXcgYXVkaXQgbG9ncyBpbiBhIGJhdGNoLoLT5JMCLiIpL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9hdWRpdGxvZ3M6ASoS/QEKF0dldE9yZ2FuaXphdGlvbkF1ZGl0TG9nEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVzcG9uc2Uia5JBMgoIQXVkaXRMb2cSDUdldCBhdWRpdCBsb2caF0dldCBhbiBhdWRpdCBsb2cgYnkgSUQugtPkkwIwEi4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncy97aWR9EokCChNEZXNjcmliZVByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1Jlc3BvbnNlIoIBkkFcCgpQcmVmZXJlbmNlEhREZXNjcmliZSBwcmVmZXJlbmNlcxo4UmV0dXJucyBhIGxpc3Qgb2YgYWxsIHByZWZlcmVuY2VzIHN1cHBvcnRlZCBieSBGcm9udGllci6C0+STAh0SGy92MWJldGExL3ByZWZlcmVuY2VzL3RyYWl0cxLEAwodQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBpALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKfApJB6QEKClByZWZlcmVuY2USH0NyZWF0ZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMauQFDcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzLiBUaGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzOgEqEqUCChtMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIoYBkkFUCgpQcmVmZXJlbmNlEh1MaXN0IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxonTGlzdCBhbiBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXMSnAMKGENyZWF0ZVByb2plY3RQcmVmZXJlbmNlcxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UihgKSQdUBCgpQcmVmZXJlbmNlEhpDcmVhdGUgcHJvamVjdCBwcmVmZXJlbmNlcxqqAUNyZWF0ZSBhIG5ldyBwcm9qZWN0IHByZWZlcmVuY2VzLiBUaGUgcHJvamVjdCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwInIiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzOgEqEoUCChZMaXN0UHJvamVjdFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlInaSQUkKClByZWZlcmVuY2USGExpc3QgcHJvamVjdCBwcmVmZXJlbmNlcxohTGlzdCBhIHByb2plY3QgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIkEiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzEowDChZDcmVhdGVHcm91cFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlIvwBkkHNAQoKUHJlZmVyZW5jZRIYQ3JlYXRlIGdyb3VwIHByZWZlcmVuY2VzGqQBQ3JlYXRlIGEgbmV3IGdyb3VwIHByZWZlcmVuY2VzLiBUaGUgZ3JvdXAgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBncm91cCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiUiIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzOgEqEvkBChRMaXN0R3JvdXBQcmVmZXJlbmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlInCSQUUKClByZWZlcmVuY2USFkxpc3QgZ3JvdXAgcHJlZmVyZW5jZXMaH0xpc3QgYSBncm91cCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiISIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzEoQDChVDcmVhdGVVc2VyUHJlZmVyZW5jZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIvcBkkHJAQoKUHJlZmVyZW5jZRIXQ3JlYXRlIHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlczoBKhLzAQoTTGlzdFVzZXJQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJtkkFDCgpQcmVmZXJlbmNlEhVMaXN0IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlcxKhAwocQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlcxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL/AZJB0QEKClByZWZlcmVuY2USH0NyZWF0ZSBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlczoBKhKQAgoaTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJ1kkFLCgpQcmVmZXJlbmNlEh1MaXN0IGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzEpMCChRDcmVhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIokBkkFUCgdCaWxsaW5nEhZDcmVhdGUgYmlsbGluZyBhY2NvdW50GjFDcmVhdGUgYSBuZXcgYmlsbGluZyBhY2NvdW50IGZvciBhbiBvcmdhbml6YXRpb24ugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmc6ASoS8wEKEUdldEJpbGxpbmdBY2NvdW50EjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2Uic5JBPAoHQmlsbGluZxITR2V0IGJpbGxpbmcgYWNjb3VudBocR2V0IGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0ShQIKFFVwZGF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UifJJBQgoHQmlsbGluZxIWVXBkYXRlIGJpbGxpbmcgYWNjb3VudBofVXBkYXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCMRosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH06ASoSwQIKFlJlZ2lzdGVyQmlsbGluZ0FjY291bnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVzcG9uc2UisQGSQW4KB0JpbGxpbmcSJFJlZ2lzdGVyIGJpbGxpbmcgYWNjb3VudCB0byBwcm92aWRlcho9UmVnaXN0ZXIgYSBiaWxsaW5nIGFjY291bnQgdG8gYSBwcm92aWRlciBpZiBpdCdzIG5vdCBhbHJlYWR5LoLT5JMCOiI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcmVnaXN0ZXI6ASoSgwIKE0xpc3RCaWxsaW5nQWNjb3VudHMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVzcG9uc2UifZJBSwoHQmlsbGluZxIVTGlzdCBiaWxsaW5nIGFjY291bnRzGilMaXN0IGJpbGxpbmcgYWNjb3VudHMgb2YgYW4gb3JnYW5pemF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nEoICChREZWxldGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInmSQUIKB0JpbGxpbmcSFkRlbGV0ZSBiaWxsaW5nIGFjY291bnQaH0RlbGV0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9Eo0CChRFbmFibGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIoMBkkFCCgdCaWxsaW5nEhZFbmFibGUgYmlsbGluZyBhY2NvdW50Gh9FbmFibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9lbmFibGU6ASoS6QIKFURpc2FibGVCaWxsaW5nQWNjb3VudBI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2Ui3AGSQZkBCgdCaWxsaW5nEhdEaXNhYmxlIGJpbGxpbmcgYWNjb3VudBp1RGlzYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC4gRGlzYWJsaW5nIGEgYmlsbGluZyBhY2NvdW50IGRvZXNuJ3QgYXV0b21hdGljYWxseSBkaXNhYmxlIGl0J3MgYWN0aXZlIHN1YnNjcmlwdGlvbnMugtPkkwI5IjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9kaXNhYmxlOgEqEosCChFHZXRCaWxsaW5nQmFsYW5jZRIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlc3BvbnNlIooBkkFLCgdCaWxsaW5nEhNHZXQgYmlsbGluZyBiYWxhbmNlGitHZXQgdGhlIGJhbGFuY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9iYWxhbmNlEvoBCgpIYXNUcmlhbGVkEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlc3BvbnNlIo4BkkE/CgdCaWxsaW5nEgtIYXMgdHJpYWxlZBonQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIHRyaWFsZWQugtPkkwJGEkQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9wbGFucy97cGxhbl9pZH0vdHJpYWxlZBLHAgoPR2V0U3Vic2NyaXB0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXNwb25zZSLMAZJBOwoMU3Vic2NyaXB0aW9uEhBHZXQgc3Vic2NyaXB0aW9uGhlHZXQgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKHARJHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH1aPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfRLqAgoSQ2FuY2VsU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXNwb25zZSLmAZJBQQoMU3Vic2NyaXB0aW9uEhNDYW5jZWwgc3Vic2NyaXB0aW9uGhxDYW5jZWwgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqEtMCChFMaXN0U3Vic2NyaXB0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlItIBkkFMCgxTdWJzY3JpcHRpb24SEkxpc3Qgc3Vic2NyaXB0aW9ucxooTGlzdCBzdWJzY3JpcHRpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCfRJCL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zWjcSNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zEvQCChJDaGFuZ2VTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlc3BvbnNlIvABkkFLCgxTdWJzY3JpcHRpb24SGENoYW5nZSBzdWJzY3JpcHRpb24gcGxhbhohQ2hhbmdlIGEgc3Vic2NyaXB0aW9uIHBsYW4gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqEtwCChJVcGRhdGVTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlItgBkkFBCgxTdWJzY3JpcHRpb24SE1VwZGF0ZSBzdWJzY3JpcHRpb24aHFVwZGF0ZSBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAo0BGkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfToBKlo/IjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9OgEqEtgBCg1DcmVhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlc3BvbnNlImSSQT0KB1Byb2R1Y3QSDkNyZWF0ZSBwcm9kdWN0GiJDcmVhdGUgYSBuZXcgcHJvZHVjdCBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzOgEqEsABCgpHZXRQcm9kdWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlc3BvbnNlIlWSQSwKB1Byb2R1Y3QSC0dldCBwcm9kdWN0GhRHZXQgYSBwcm9kdWN0IGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9Es8BCgxMaXN0UHJvZHVjdHMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1Jlc3BvbnNlIl6SQToKB1Byb2R1Y3QSDUxpc3QgcHJvZHVjdHMaIExpc3QgYWxsIHByb2R1Y3RzIG9mIGEgcGxhdGZvcm0ugtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzEtIBCg1VcGRhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlc3BvbnNlIl6SQTIKB1Byb2R1Y3QSDlVwZGF0ZSBwcm9kdWN0GhdVcGRhdGUgYSBwcm9kdWN0IGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9OgEqEtgBCg1DcmVhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlImSSQT0KB0ZlYXR1cmUSDkNyZWF0ZSBmZWF0dXJlGiJDcmVhdGUgYSBuZXcgZmVhdHVyZSBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzOgEqEsABCgpHZXRGZWF0dXJlEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlc3BvbnNlIlWSQSwKB0ZlYXR1cmUSC0dldCBmZWF0dXJlGhRHZXQgYSBmZWF0dXJlIGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9EtIBCg1VcGRhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIl6SQTIKB0ZlYXR1cmUSDlVwZGF0ZSBmZWF0dXJlGhdVcGRhdGUgYSBmZWF0dXJlIGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9OgEqEsABCgxMaXN0RmVhdHVyZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIk+SQSsKB0ZlYXR1cmUSDUxpc3QgZmVhdHVyZXMaEUxpc3QgYWxsIGZlYXR1cmVzgtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzEsMBCgpDcmVhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlc3BvbnNlIliSQTQKBFBsYW4SC0NyZWF0ZSBwbGFuGh9DcmVhdGUgYSBuZXcgcGxhbiBmb3IgcGxhdGZvcm0ugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zOgEqEqwBCglMaXN0UGxhbnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1Jlc3BvbnNlIkSSQSMKBFBsYW4SCkxpc3QgcGxhbnMaD0xpc3QgYWxsIHBsYW5zLoLT5JMCGBIWL3YxYmV0YTEvYmlsbGluZy9wbGFucxKrAQoHR2V0UGxhbhIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXNwb25zZSJJkkEjCgRQbGFuEghHZXQgcGxhbhoRR2V0IGEgcGxhbiBieSBJRC6C0+STAh0SGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfRK9AQoKVXBkYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXNwb25zZSJSkkEpCgRQbGFuEgtVcGRhdGUgcGxhbhoUVXBkYXRlIGEgcGxhbiBieSBJRC6C0+STAiAaGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfToBKhKFAwoOQ3JlYXRlQ2hlY2tvdXQSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXNwb25zZSKNApJBiAEKCENoZWNrb3V0EiJDaGVja291dCBhIHByb2R1Y3Qgb3Igc3Vic2NyaXB0aW9uGlhDaGVja291dCBhIHByb2R1Y3QgdG8gYnV5IGl0IG9uZSB0aW1lIG9yIHN0YXJ0IGEgc3Vic2NyaXB0aW9uIHBsYW4gb24gYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7Ij4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0czoBKlo2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzOgEqErcCCg1MaXN0Q2hlY2tvdXRzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1Jlc3BvbnNlIsIBkkFECghDaGVja291dBIOTGlzdCBjaGVja291dHMaKExpc3QgYWxsIGNoZWNrb3V0cyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnUSPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzWjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMSpgIKC0dldENoZWNrb3V0Ei0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVzcG9uc2UitwGSQS8KCENoZWNrb3V0EgxHZXQgY2hlY2tvdXQaFUdldCBhIGNoZWNrb3V0IGJ5IElELoLT5JMCfxJDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHMve2lkfVo4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzL3tpZH0S3AIKF0NoZWNrRmVhdHVyZUVudGl0bGVtZW50EjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVzcG9uc2UiyQGSQVYKC0VudGl0bGVtZW50EhFDaGVjayBlbnRpdGxlbWVudBo0Q2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaXMgZW50aXRsZWQgdG8gYSBmZWF0dXJlLoLT5JMCaiI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVjazoBKlopIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvY2hlY2s6ASoSnwIKFkNoZWNrQ3JlZGl0RW50aXRsZW1lbnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVzcG9uc2UijwGSQWsKC0VudGl0bGVtZW50EhhDaGVjayBjcmVkaXQgZW50aXRsZW1lbnQaQkNoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyBlbm91Z2ggY3JlZGl0cyB0byBjb3ZlciB0aGUgYW1vdW50LoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9jaGVjazoBKhLJAgoSQ3JlYXRlQmlsbGluZ1VzYWdlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXNwb25zZSLFAZJBUAoFVXNhZ2USFENyZWF0ZSBiaWxsaW5nIHVzYWdlGjFSZXBvcnQgYSBuZXcgYmlsbGluZyB1c2FnZSBmb3IgYSBiaWxsaW5nIGFjY291bnQugtPkkwJsIjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3VzYWdlczoBKloqIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvdXNhZ2VzOgEqEuwCChdMaXN0QmlsbGluZ1RyYW5zYWN0aW9ucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkFVCgtUcmFuc2FjdGlvbhIZTGlzdCBiaWxsaW5nIHRyYW5zYWN0aW9ucxorTGlzdCBhbGwgdHJhbnNhY3Rpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCexJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS90cmFuc2FjdGlvbnNaNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3RyYW5zYWN0aW9ucxLvAgoYVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBfwoLVHJhbnNhY3Rpb24SN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHMaN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHOC0+STAlESTy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vZGViaXRlZF90cmFuc2FjdGlvbnNfdG90YWwSrwIKDExpc3RJbnZvaWNlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVzcG9uc2UivQGSQUEKB0ludm9pY2USDUxpc3QgaW52b2ljZXMaJ0xpc3QgYWxsIGludm9pY2VzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCcxI9L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlc1oyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMS4gIKEkdldFVwY29taW5nSW52b2ljZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2Ui3gGSQU8KB0ludm9pY2USFEdldCB1cGNvbWluZyBpbnZvaWNlGi5HZXQgdGhlIHVwY29taW5nIGludm9pY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwKFARJGL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlcy91cGNvbWluZ1o7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMvdXBjb21pbmcSnAIKFkJpbGxpbmdXZWJob29rQ2FsbGJhY2sSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UijAGSQU4KB1dlYmhvb2sSFkFjY2VwdCBCaWxsaW5nIHdlYmhvb2saK0FjY2VwdHMgYSBCaWxsaW5nIHdlYmhvb2sgYW5kIHByb2Nlc3NlcyBpdC6C0+STAjUiLS92MWJldGExL2JpbGxpbmcvd2ViaG9va3MvY2FsbGJhY2sve3Byb3ZpZGVyfToEYm9keRKRAgoUQ3JlYXRlUHJvc3BlY3RQdWJsaWMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSKHAZJBZwoIUHJvc3BlY3QSD0NyZWF0ZSBwcm9zcGVjdBpKQ3JlYXRlIHByb3NwZWN0IGZvciBnaXZlbiBlbWFpbCBhbmQgYWN0aXZpdHkuIEF2YWlsYWJsZSBmb3IgcHVibGljIGFjY2Vzcy6C0+STAhciEi92MWJldGExL3Byb3NwZWN0czoBKkLyDQojaW8ucmF5c3RhY2sucHJvdG9uLmZyb250aWVyLnYxYmV0YTFCCEZyb250aWVyWjtnaXRodWIuY29tL3JheXN0YWNrL3Byb3Rvbi9mcm9udGllci92MWJldGExO2Zyb250aWVydjFiZXRhMZJBgg0SHgoVRnJvbnRpZXIgR2VuZXJhbCBBUElzMgUwLjIuMBoOMTI3LjAuMC4xOjc0MDAqAQEyEGFwcGxpY2F0aW9uL2pzb246EGFwcGxpY2F0aW9uL2pzb25SPAoDMjAwEjUKG09LIC0gQSBzdWNjZXNzZnVsIHJlc3BvbnNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JpCgM0MDASYgpIQmFkIFJlcXVlc3QgLSBUaGUgcmVxdWVzdCB3YXMgbWFsZm9ybWVkIG9yIGNvbnRhaW5lZCBpbnZhbGlkIHBhcmFtZXRlcnMuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUkoKAzQwMRJDCilVbmF1dGhvcml6ZWQgLSBBdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZBIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JhCgM0MDMSWgpARm9yYmlkZGVuIC0gVXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZRIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JRCgM0MDQSSgowTm90IEZvdW5kIC0gVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUnUKAzUwMBJuClRJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IuIFJldHVybmVkIHdoZW4gdGhlcmVzIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIEZyb250aWVyIHNlcnZlci4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNatgEKRAoFQmFzaWMSOwgBEh9DbGllbnQgSUQvU2VjcmV0IGF1dGhlbnRpY2F0aW9uGhRCYXNpYyBBdXRoZW50aWNhdGlvbiACCm4KBkJlYXJlchJkCAIST1RoZSBBdXRob3JpemF0aW9uIGhlYWRlciBtdXN0IGJlIHNldCB0byBCZWFyZXIgZm9sbG93ZWQgYnkgYSBzcGFjZSBhbmQgYSB0b2tlbi4aDUF1dGhvcml6YXRpb24gAmITCgcKBUJhc2ljCggKBkJlYXJlcmoGCgRVc2VyaoIDCgVHcm91cBL4Akdyb3VwcyBpbiBGcm9udGllciBhcmUgdXNlZCB0byBtYW5hZ2UgdXNlcnMgYW5kIHRoZWlyIGFjY2VzcyB0byByZXNvdXJjZXMuIEVhY2ggZ3JvdXAgaGFzIGEgdW5pcXVlIG5hbWUgYW5kIGlkIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ3JhbnQgYWNjZXNzIHRvIHJlc291cmNlcy4gV2hlbiBhIHVzZXIgaXMgYWRkZWQgdG8gYSBncm91cCwgdGhleSBpbmhlcml0IHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgdGhhdCBoYXZlIGJlZW4gZ3JhbnRlZCB0byB0aGUgZ3JvdXAuIFRoaXMgYWxsb3dzIHlvdSB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcyBhdCBzY2FsZSwgd2l0aG91dCBoYXZpbmcgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG8gaW5kaXZpZHVhbCB1c2Vycy5qBgoEUm9sZWoOCgxPcmdhbml6YXRpb25qCQoHUHJvamVjdGoICgZQb2xpY3lqCgoIUmVsYXRpb25qDAoKUGVybWlzc2lvbmoLCglOYW1lc3BhY2VqCgoIUmVzb3VyY2VqGwoFQXV0aHoSEkF1dGhvcml6YXRpb24gQVBJc2ocCgVBdXRobhITQXV0aGVudGljYXRpb24gQVBJc2qQAgoKTWV0YVNjaGVtYRKBAk1hbmFnZSBNZXRhZGF0YSBTY2hlbWFzIHdoaWNoIGFyZSB1c2VkIHRvIHZhbGlkYXRlIG1ldGFkYXRhIG9iamVjdCB3aGlsZSBjcmVhdGluZyB1c2VyL29yZy9ncm91cC9yb2xlLiBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBkZWZhdWx0IG1ldGFzY2hlbWFzIHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMuIFlvdSBjYW4gYWxzbyB1cGRhdGUgdGhlc2UgbWV0YXNjaGVtYXMgdG8gYWRkL2VkaXQgbW9yZSBmaWVsZHMuYgZwcm90bzM", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
17
+ fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIhUKE0xpc3RTZXNzaW9uc1JlcXVlc3QiTAoUTGlzdFNlc3Npb25zUmVzcG9uc2USNAoIc2Vzc2lvbnMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlc3Npb24iOAoUUmV2b2tlU2Vzc2lvblJlcXVlc3QSIAoKc2Vzc2lvbl9pZBgBIAEoCUIM4kEBAvpCBXIDsAEBIhcKFVJldm9rZVNlc3Npb25SZXNwb25zZSIYChZQaW5nVXNlclNlc3Npb25SZXF1ZXN0IhkKF1BpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIrEDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESDgoGcmVxX2lkGAcgASgJEikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIlCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlCDOJBAQL6QgVyA7ABASJZChlDcmVhdGVBdWRpdFJlY29yZFJlc3BvbnNlEjwKDGF1ZGl0X3JlY29yZBgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmQyxpkDCg9Gcm9udGllclNlcnZpY2US6AIKCUxpc3RVc2VycxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVzcG9uc2Ui/wGSQeUBCgRVc2VyEhFMaXN0IHB1YmxpYyB1c2VycxrJAVJldHVybnMgdGhlIHVzZXJzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBrZXl3b3JkLCBvcmdhbml6YXRpb24sIGdyb3VwIGFuZCBzdGF0ZS4gQWRkaXRpb25hbGx5IHlvdSBjYW4gaW5jbHVkZSBwYWdlIG51bWJlciBhbmQgcGFnZSBzaXplIGZvciBwYWdpbmF0aW9uLoLT5JMCEBIOL3YxYmV0YTEvdXNlcnMSuwYKCkNyZWF0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVzcG9uc2UizwWSQa8FCgRVc2VyEgtDcmVhdGUgdXNlchqXBUNyZWF0ZSBhIHVzZXIgd2l0aCB0aGUgZ2l2ZW4gZGV0YWlscy4gQSB1c2VyIGlzIG5vdCBhdHRhY2hlZCB0byBhbiBvcmdhbml6YXRpb24gb3IgYSBncm91cCBieSBkZWZhdWx0LGFuZCBjYW4gYmUgaW52aXRlZCB0byB0aGUgb3JnL2dyb3VwLiBUaGUgbmFtZSBvZiB0aGUgdXNlciBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gSWYgYSB1c2VyIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4gVGhlIHVzZXIgbWV0YWRhdGEgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIHVzZXIgbWV0YXNjaGVtYS4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGBsYWJlbHNgIGFuZCBgZGVzY3JpcHRpb25zYCBmb3IgdGhlIHVzZXIuIFRoZSBgdGl0bGVgIGZpZWxkIGNhbiBiZSBvcHRpb25hbGx5IGFkZGVkIGZvciBhIHVzZXItZnJpZW5kbHkgbmFtZS4gPGJyLz48YnIvPipFeGFtcGxlOipgeyJlbWFpbCI6ImpvaG4uZG9lQHJheXN0YWNrLm9yZyIsInRpdGxlIjoiSm9obiBEb2UiLG1ldGFkYXRhOnsibGFiZWwiOiB7ImtleTEiOiAidmFsdWUxIn0sICJkZXNjcmlwdGlvbiI6ICJVc2VyIERlc2NyaXB0aW9uIn19YGIAgtPkkwIWIg4vdjFiZXRhMS91c2VyczoEYm9keRLPAQoHR2V0VXNlchIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXNlclJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXNwb25zZSJtkkFPCgRVc2VyEghHZXQgdXNlcho9R2V0IGEgdXNlciBieSBpZCBzZWFyY2hlZCBvdmVyIGFsbCBvcmdhbml6YXRpb25zIGluIEZyb250aWVyLoLT5JMCFRITL3YxYmV0YTEvdXNlcnMve2lkfRLqAgoOTGlzdFVzZXJHcm91cHMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJHcm91cHNSZXNwb25zZSLyAZJBzAEKBFVzZXISEExpc3QgdXNlciBncm91cHMasQFMaXN0cyBhbGwgdGhlIGdyb3VwcyBhIHVzZXIgYmVsb25ncyB0byBhY3Jvc3MgYWxsIG9yZ2FuaXphdGlvbiBpbiBGcm9udGllci4gVG8gZ2V0IHRoZSBncm91cHMgb2YgYSB1c2VyIGluIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uLCB1c2UgdGhlIG9yZ19pZCBmaWx0ZXIgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlci6C0+STAhwSGi92MWJldGExL3VzZXJzL3tpZH0vZ3JvdXBzEscBChVMaXN0Q3VycmVudFVzZXJHcm91cHMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlIjuSQRYKBFVzZXISDkxpc3QgbXkgZ3JvdXBzgtPkkwIcEhovdjFiZXRhMS91c2Vycy9zZWxmL2dyb3VwcxKtAQoOR2V0Q3VycmVudFVzZXISMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSI2kkEYCgRVc2VyEhBHZXQgY3VycmVudCB1c2VygtPkkwIVEhMvdjFiZXRhMS91c2Vycy9zZWxmEqIBCgpVcGRhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlc3BvbnNlIjeSQRMKBFVzZXISC1VwZGF0ZSB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy97aWR9OgRib2R5Er8BChFVcGRhdGVDdXJyZW50VXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVDdXJyZW50VXNlclJlc3BvbnNlIj+SQRsKBFVzZXISE1VwZGF0ZSBjdXJyZW50IHVzZXKC0+STAhsaEy92MWJldGExL3VzZXJzL3NlbGY6BGJvZHkSkQIKCkVuYWJsZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVzcG9uc2UipQGSQX0KBFVzZXISC0VuYWJsZSB1c2VyGmhTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBlbmFibGVkLiBUaGUgdXNlciB3aWxsIGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCHyIaL3YxYmV0YTEvdXNlcnMve2lkfS9lbmFibGU6ASoSkAMKC0Rpc2FibGVVc2VyEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVVc2VyUmVzcG9uc2UioQKSQfcBCgRVc2VyEgxEaXNhYmxlIHVzZXIa4AFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBkaWFibGVkLlRoZSB1c2VyJ3MgbWVtYmVyc2hpcCB0byBncm91cHMgYW5kIG9yZ2FuaXphdGlvbnMgd2lsbCBzdGlsbCBleGlzdCBhbG9uZyB3aXRoIGFsbCBpdCdzIHJvbGVzIGZvciBhY2Nlc3MgY29udHJvbCwgYnV0IHRoZSB1c2VyIHdpbGwgbm90IGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCICIbL3YxYmV0YTEvdXNlcnMve2lkfS9kaXNhYmxlOgEqEvcBCgpEZWxldGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlc3BvbnNlIosBkkFtCgRVc2VyEgtEZWxldGUgdXNlchpYRGVsZXRlIGFuIHVzZXIgcGVybWFuZW50bHkgZm9yZXZlciBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgKG9yZ2FuaXphdGlvbnMsIGdyb3VwcywgZXRjKYLT5JMCFSoTL3YxYmV0YTEvdXNlcnMve2lkfRL/BAoXTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXISOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXNwb25zZSLsA5JBvwMKBFVzZXISFkdldCB1c2VyIG9yZ2FuaXphdGlvbnMangNUaGlzIEFQSSByZXR1cm5zIHR3byBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgZm9yIHRoZSB1c2VyLiBpKSBUaGUgbGlzdCBvZiBvcmdzIHdoaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YgaWkpIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgdGhlIHVzZXIgY2FuIGpvaW4gZGlyZWN0bHkgKGJhc2VkIG9uIGRvbWFpbiB3aGl0ZWxpc3RlZCBhbmQgdmVyaWZpZWQgYnkgdGhlIG9yZykuIFRoaXMgbGlzdCB3aWxsIGFsc28gY29udGFpbiBvcmdzIG9mIHdoaWNoIHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YuIE5vdGU6IHRoZSBkb21haW4gbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgdGhlIG9yZyBiZWZvcmUgdGhlIGl0IGlzIHJldHVybmVkIGFzIG9uZSBvZiB0aGUgam9pbmFibGUgb3JncyBieSBkb21haW6C0+STAiMSIS92MWJldGExL3VzZXJzL3tpZH0vb3JnYW5pemF0aW9ucxKkBQoeTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyEkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXF1ZXN0GkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXNwb25zZSL8A5JBzwMKBFVzZXISFEdldCBteSBvcmdhbml6YXRpb25zGrADVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy9zZWxmL29yZ2FuaXphdGlvbnMS7AEKEkxpc3RQcm9qZWN0c0J5VXNlchI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVzcG9uc2UiaZJBQgoEVXNlchIRR2V0IHVzZXIgcHJvamVjdHMaJ0dldCBhbGwgdGhlIHByb2plY3RzIGEgdXNlciBiZWxvbmdzIHRvLoLT5JMCHhIcL3YxYmV0YTEvdXNlcnMve2lkfS9wcm9qZWN0cxKEAgoZTGlzdFByb2plY3RzQnlDdXJyZW50VXNlchI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXNwb25zZSJskkFFCgRVc2VyEg9HZXQgbXkgcHJvamVjdHMaLEdldCBhbGwgcHJvamVjdHMgdGhlIGN1cnJlbnQgdXNlciBiZWxvbmdzIHRvgtPkkwIeEhwvdjFiZXRhMS91c2Vycy9zZWxmL3Byb2plY3RzEvcBChNMaXN0VXNlckludml0YXRpb25zEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckludml0YXRpb25zUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1Jlc3BvbnNlInGSQUcKBFVzZXISFUxpc3QgdXNlciBpbnZpdGF0aW9ucxooTGlzdCBhbGwgdGhlIGludml0YXRpb25zIHNlbnQgdG8gYSB1c2VyLoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9pbnZpdGF0aW9ucxKSAgoaTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnNSZXNwb25zZSJ3kkFNCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaLkxpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGN1cnJlbnQgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvaW52aXRhdGlvbnMSqAIKEExpc3RTZXJ2aWNlVXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVzcG9uc2UiqgGSQYkBCgtTZXJ2aWNlVXNlchIWTGlzdCBvcmcgc2VydmljZSB1c2VycxpiUmV0dXJucyB0aGUgc2VydmljZSB1c2VyIG9mIGFuIG9yZ2FuaXphdGlvbiBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyIGJ5IGl0J3Mgc3RhdGWC0+STAhcSFS92MWJldGExL3NlcnZpY2V1c2VycxL0AQoRQ3JlYXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZSJ0kkE6CgtTZXJ2aWNlVXNlchITQ3JlYXRlIHNlcnZpY2UgdXNlchoWQ3JlYXRlIGEgc2VydmljZSB1c2VyLoLT5JMCMSIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnM6ASoS+AEKDkdldFNlcnZpY2VVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VyUmVzcG9uc2UigAGSQUQKC1NlcnZpY2VVc2VyEhBHZXQgc2VydmljZSB1c2VyGiNHZXQgc2VydmljZSB1c2VyIGRldGFpbHMgYnkgaXRzIGlkLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRK+AgoRRGVsZXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSK9AZJBgAEKC1NlcnZpY2VVc2VyEhNEZWxldGUgc2VydmljZSB1c2VyGlxEZWxldGUgYSBzZXJ2aWNlIHVzZXIgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChrZXlzLCBvcmdhbml6YXRpb25zLCByb2xlcywgZXRjKYLT5JMCMyoxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRKYAwoUQ3JlYXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKOApJByQEKC1NlcnZpY2VVc2VyEitDcmVhdGUgc2VydmljZSB1c2VyIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyGowBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIga2V5IGFuZCByZXR1cm4gaXQsIHRoZSBwcml2YXRlIGtleSBwYXJ0IG9mIHRoZSByZXNwb25zZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBrZXB0IHNlY3VyZWx5IGJ5IGNsaWVudC6C0+STAjsiNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5czoBKhKvAgoTTGlzdFNlcnZpY2VVc2VySldLcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXNwb25zZSKoAZJBZwoLU2VydmljZVVzZXISFkxpc3Qgc2VydmljZSB1c2VyIGtleXMaQExpc3QgYWxsIHRoZSBrZXlzIG9mIGEgc2VydmljZSB1c2VyIHdpdGggaXRzIGRldGFpbHMgZXhjZXB0IGp3ay6C0+STAjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cxKWAgoRR2V0U2VydmljZVVzZXJKV0sSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJKV0tSZXNwb25zZSKVAZJBSwoLU2VydmljZVVzZXISFEdldCBzZXJ2aWNlIHVzZXIga2V5GiZHZXQgYSBzZXJ2aWNlIHVzZXIgcHVibGljIFJTQSBKV0sgc2V0LoLT5JMCQRI/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqICChREZWxldGVTZXJ2aWNlVXNlckpXSxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIpgBkkFOCgtTZXJ2aWNlVXNlchIXRGVsZXRlIHNlcnZpY2UgdXNlciBrZXkaJkRlbGV0ZSBhIHNlcnZpY2UgdXNlciBrZXkgcGVybWFuZW50bHkugtPkkwJBKj8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMve2tleV9pZH0SpAMKG0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbBI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2UihQKSQb0BCgtTZXJ2aWNlVXNlchImQ3JlYXRlIHNlcnZpY2UgdXNlciBjbGllbnQgY3JlZGVudGlhbHMahQFHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsIGFuZCByZXR1cm4gaXQuIFRoZSBjcmVkZW50aWFsIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI+IjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHM6ASoSuQIKGkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzUmVzcG9uc2UinQGSQVkKC1NlcnZpY2VVc2VyEh1MaXN0IHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxorTGlzdCBhbGwgdGhlIGNyZWRlbnRpYWxzIG9mIGEgc2VydmljZSB1c2VyLoLT5JMCOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzEsACChtEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIqEBkkFRCgtTZXJ2aWNlVXNlchIfRGVsZXRlIHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxohRGVsZXRlIGEgc2VydmljZSB1c2VyIGNyZWRlbnRpYWwugtPkkwJHKkUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHMve3NlY3JldF9pZH0S/AIKFkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW4SOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2Ui7AGSQaUBCgtTZXJ2aWNlVXNlchIZQ3JlYXRlIHNlcnZpY2UgdXNlciB0b2tlbhp7R2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgdG9rZW4gYW5kIHJldHVybiBpdC4gVGhlIHRva2VuIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI9IjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VuczoBKhKfAgoVTGlzdFNlcnZpY2VVc2VyVG9rZW5zEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZSKSAZJBTwoLU2VydmljZVVzZXISGExpc3Qgc2VydmljZSB1c2VyIHRva2VucxomTGlzdCBhbGwgdGhlIHRva2VucyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjoSOC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zEqQCChZEZWxldGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIpQBkkFGCgtTZXJ2aWNlVXNlchIZRGVsZXRlIHNlcnZpY2UgdXNlciB0b2tlbhocRGVsZXRlIGEgc2VydmljZSB1c2VyIHRva2VuLoLT5JMCRSpDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnMve3Rva2VuX2lkfRKwAgoXTGlzdFNlcnZpY2VVc2VyUHJvamVjdHMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZSKdAZJBWAoLU2VydmljZVVzZXISGkxpc3Qgc2VydmljZSBzc2VyIHByb2plY3RzGi1MaXN0IGFsbCBwcm9qZWN0cyB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG+C0+STAjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vcHJvamVjdHMS5AIKFkxpc3RPcmdhbml6YXRpb25Hcm91cHMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVzcG9uc2Ui1AGSQaIBCgVHcm91cBIYTGlzdCBvcmdhbml6YXRpb24gZ3JvdXBzGn9HZXQgYWxsIGdyb3VwcyB0aGF0IGJlbG9uZyB0byBhbiBvcmdhbml6YXRpb24uIFRoZSByZXN1bHRzIGNhbiBiZSBmaWx0ZXJlZCBieSBzdGF0ZSB3aGljaCBjYW4gYmUgZWl0aGVyIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQugtPkkwIoEiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwcxKdAwoLQ3JlYXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBSZXNwb25zZSKuApJB9gEKBUdyb3VwEgxDcmVhdGUgZ3JvdXAa3gFDcmVhdGUgYSBuZXcgZ3JvdXAgaW4gYW4gb3JnYW5pemF0aW9uIHdoaWNoIHNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgdXNlcnMuIFRoZSBncm91cCBjYW4gYmUgYXNzaWduZWQgcm9sZXMgYW5kIHBlcm1pc3Npb25zIGFuZCBjYW4gYmUgdXNlZCB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcy4gQWxzbyBhIGdyb3VwIGNhbiBhbHNvIGJlIGFzc2lnbmVkIHRvIG90aGVyIGdyb3Vwcy6C0+STAi4iJi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzOgRib2R5Eq0BCghHZXRHcm91cBIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXF1ZXN0GisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRHcm91cFJlc3BvbnNlIkiSQRIKBUdyb3VwEglHZXQgZ3JvdXCC0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SvwEKC1VwZGF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUdyb3VwUmVzcG9uc2UiUZJBFQoFR3JvdXASDFVwZGF0ZSBncm91cILT5JMCMxorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfToEYm9keRL+AQoOTGlzdEdyb3VwVXNlcnMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZSKGAZJBSgoFR3JvdXASEExpc3QgZ3JvdXAgdXNlcnMaL1JldHVybnMgYSBsaXN0IG9mIHVzZXJzIHRoYXQgYmVsb25nIHRvIGEgZ3JvdXAugtPkkwIzEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzEt0CCg1BZGRHcm91cFVzZXJzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRHcm91cFVzZXJzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1Jlc3BvbnNlIugBkkGoAQoFR3JvdXASDkFkZCBncm91cCB1c2VyGo4BQWRkcyBhIHByaW5jaXBsZSh1c2VyIGFuZCBzZXJ2aWNlLXVzZXJzKSB0byBhIGdyb3VwLCBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBiZSBpZ25vcmVkLiBBIGdyb3VwIGNhbid0IGhhdmUgbmVzdGVkIGdyb3VwcyBhcyBtZW1iZXJzLoLT5JMCNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VyczoBKhLvAgoPUmVtb3ZlR3JvdXBVc2VyEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXNwb25zZSL0AZJBrQEKBUdyb3VwEhFSZW1vdmUgZ3JvdXAgdXNlchqQAVJlbW92ZXMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgZnJvbSBhIGdyb3VwLiBJZiB0aGUgdXNlciBpcyBub3QgaW4gdGhlIGdyb3VwLCB0aGUgcmVxdWVzdCB3aWxsIHN1Y2NlZWQgYnV0IG5vIGNoYW5nZXMgd2lsbCBiZSBtYWRlLoLT5JMCPSo7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2Vycy97dXNlcl9pZH0SwwIKC0VuYWJsZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUdyb3VwUmVzcG9uc2Ui1AGSQZMBCgVHcm91cBIMRW5hYmxlIGdyb3VwGnxTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgYXMgZW5hYmxlZC4gVGhlIGBlbmFibGVkYCBmbGFnIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBncm91cCBjYW4gYmUgdXNlZCBmb3IgYWNjZXNzIGNvbnRyb2wugtPkkwI3IjIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2VuYWJsZToBKhLUAwoMRGlzYWJsZUdyb3VwEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXNwb25zZSLiApJBoAIKBUdyb3VwEg1EaXNhYmxlIGdyb3VwGocCU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGRpc2FibGVkLiBUaGUgZ3JvdXAgd2lsbCBub3QgYmUgYXZhaWxhYmxlIGZvciBhY2Nlc3MgY29udHJvbCBhbmQgdGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBncm91cCB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgcmVzb3VyY2VzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIHRoZSBncm91cC4gTm8gb3RoZXIgdXNlcnMgY2FuIGJlIGFkZGVkIHRvIHRoZSBncm91cCB3aGlsZSBpdCBpcyBkaXNhYmxlZC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vZGlzYWJsZToBKhL9AQoLRGVsZXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlR3JvdXBSZXNwb25zZSKOAZJBWAoFR3JvdXASDERlbGV0ZSBncm91cBpBRGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBncm91cCBwZXJtYW5lbnRseSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnOC0+STAi0qKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SkwIKCUxpc3RSb2xlcxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVzcG9uc2UiqgGSQZABCgRSb2xlEhNMaXN0IHBsYXRmb3JtIHJvbGVzGnNSZXR1cm5zIGEgbGlzdCBvZiBwbGF0Zm9ybSB3aWRlIHJvbGVzIGF2YWlsYWJsZSBpbiBlbml0cmUgRnJvbnRpZXIgaW5zdGFuY2UgYWxvbmcgd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIQEg4vdjFiZXRhMS9yb2xlcxK8AgoVTGlzdE9yZ2FuaXphdGlvblJvbGVzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZSKvAZJBfwoEUm9sZRIXTGlzdCBvcmdhbml6YXRpb24gcm9sZXMaXlJldHVybnMgYSBsaXN0IG9mIGN1c3RvbSByb2xlcyBjcmVhdGVkIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiB3aXRoIHRoZWlyIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAicSJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMS9wIKFkNyZWF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui5wGSQbABCgRSb2xlEhhDcmVhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFDcmVhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAi0iJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXM6BGJvZHkSrAIKE0dldE9yZ2FuaXphdGlvblJvbGUSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipQGSQXAKBFJvbGUSFUdldCBvcmdhbml6YXRpb24gcm9sZRpRUmV0dXJucyBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBhbG9uZyB3aXRoIGl0cyBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIsEiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH0S/AIKFlVwZGF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui7AGSQbABCgRSb2xlEhhVcGRhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFVcGRhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAjIaKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfToEYm9keRK3AgoWRGVsZXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKnAZJBcgoEUm9sZRIYRGVsZXRlIG9yZ2FuaXphdGlvbiByb2xlGlBEZWxldGUgYSBjdXN0b20gcm9sZSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgdW5kZXIgYW4gb3JnYW5pemF0aW9uIHBlcm1hbmVudGx5LoLT5JMCLCoqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EpoCChFMaXN0T3JnYW5pemF0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpkBkkF4CgxPcmdhbml6YXRpb24SEkxpc3Qgb3JnYW5pemF0aW9ucxpUUmV0dXJucyBhIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucy4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IHVzZXJJRCBvciBvcmdhbml6YXRpb24gc3RhdGUugtPkkwIYEhYvdjFiZXRhMS9vcmdhbml6YXRpb25zEs0BChJDcmVhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIkqSQSMKDE9yZ2FuaXphdGlvbhITQ3JlYXRlIG9yZ2FuaXphdGlvboLT5JMCHiIWL3YxYmV0YTEvb3JnYW5pemF0aW9uczoEYm9keRLgAQoPR2V0T3JnYW5pemF0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXNwb25zZSJmkkFACgxPcmdhbml6YXRpb24SEEdldCBvcmdhbml6YXRpb24aHkdldCBvcmdhbml6YXRpb24gYnkgSUQgb3IgbmFtZYLT5JMCHRIbL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eu0BChJVcGRhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlImqSQT4KDE9yZ2FuaXphdGlvbhITVXBkYXRlIG9yZ2FuaXphdGlvbhoZVXBkYXRlIG9yZ2FuaXphdGlvbiBieSBJRILT5JMCIxobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9OgRib2R5Ep8CChhMaXN0T3JnYW5pemF0aW9uUHJvamVjdHMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1Jlc3BvbnNlIokBkkFaCgxPcmdhbml6YXRpb24SGUdldCBvcmdhbml6YXRpb24gcHJvamVjdHMaL0dldCBhbGwgcHJvamVjdHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9ugtPkkwImEiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJvamVjdHMSjgIKFkxpc3RPcmdhbml6YXRpb25BZG1pbnMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BZG1pbnNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2Uif5JBUgoMT3JnYW5pemF0aW9uEhhMaXN0IG9yZ2FuaXphdGlvbiBhZG1pbnMaKFJldHVybnMgYSBsaXN0IGFkbWlucyBvZiBhbiBvcmdhbml6YXRpb26C0+STAiQSIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9hZG1pbnMS3wEKFUxpc3RPcmdhbml6YXRpb25Vc2VycxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiU5JBJwoMT3JnYW5pemF0aW9uEhdMaXN0IG9yZ2FuaXphdGlvbiB1c2Vyc4LT5JMCIxIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzEu0CChRBZGRPcmdhbml6YXRpb25Vc2VycxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIuMBkkGzAQoMT3JnYW5pemF0aW9uEhVBZGQgb3JnYW5pemF0aW9uIHVzZXIaiwFBZGQgYSB1c2VyIHRvIGFuIG9yZ2FuaXphdGlvbi4gQSB1c2VyIG11c3QgZXhpc3RzIGluIEZyb250aWVyIGJlZm9yZSBhZGRpbmcgaXQgdG8gYW4gb3JnLiBUaGlzIHJlcXVlc3Qgd2lsbCBmYWlsIGlmIHRoZSB1c2VyIGRvZXNuJ3QgZXhpc3RzgtPkkwImIiEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnM6ASoSkgIKFlJlbW92ZU9yZ2FuaXphdGlvblVzZXISOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiggGSQUwKDE9yZ2FuaXphdGlvbhIYUmVtb3ZlIG9yZ2FuaXphdGlvbiB1c2VyGiJSZW1vdmUgYSB1c2VyIGZyb20gYW4gb3JnYW5pemF0aW9ugtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnMve3VzZXJfaWR9EpYCChJHZXRPcmdhbml6YXRpb25LeWMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlIpIBkkFkCg9Pcmdhbml6YXRpb25LeWMSH0dldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24aMEdldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24gdXNpbmcgSUQgb3IgbmFtZYLT5JMCJRIjL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9reWMSgwIKHExpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2UiYpJBLwoMT3JnYW5pemF0aW9uEh9MaXN0IG9yZ2FuaXphdGlvbiBzZXJ2aWNlIHVzZXJzgtPkkwIqEigvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vc2VydmljZXVzZXJzErkCChtMaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlIpoBkkFkCgxPcmdhbml6YXRpb24SGExpc3QgcGVuZGluZyBpbnZpdGF0aW9ucxo6UmV0dXJucyBhbGwgcGVuZGluZyBpbnZpdGF0aW9ucyBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCLRIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucxL2AgocQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSLUAZJBmgEKDE9yZ2FuaXphdGlvbhILSW52aXRlIHVzZXIafUludml0ZSB1c2VycyB0byBhbiBvcmdhbml6YXRpb24sIGlmIHVzZXIgaXMgbm90IHJlZ2lzdGVyZWQgb24gdGhlIHBsYXRmb3JtLCBpdCB3aWxsIGJlIG5vdGlmaWVkLiBJbnZpdGF0aW9ucyBleHBpcmUgaW4gNyBkYXlzgtPkkwIwIisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zOgEqErMCChlHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpoBkkFfCgxPcmdhbml6YXRpb24SFkdldCBwZW5kaW5nIGludml0YXRpb24aN1JldHVybnMgYSBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfRKZAwocQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSL3AZJBsQEKDE9yZ2FuaXphdGlvbhIZQWNjZXB0IHBlbmRpbmcgaW52aXRhdGlvbhqFAUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb24uIFRoZSB1c2VyIHdpbGwgYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbiBhbmQgZ3JvdXBzIGRlZmluZWQgaW4gdGhlIGludml0YXRpb26C0+STAjwiNy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfS9hY2NlcHQ6ASoSvgIKHERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UinAGSQWEKDE9yZ2FuaXphdGlvbhIZRGVsZXRlIHBlbmRpbmcgaW52aXRhdGlvbho2RGVsZXRlIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyKjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0S2AMKF0xpc3RPcmdhbml6YXRpb25Eb21haW5zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Eb21haW5zUmVzcG9uc2UixQKSQZICCgxPcmdhbml6YXRpb24SEExpc3Qgb3JnIGRvbWFpbnMa7wFSZXR1cm5zIGFsbCBkb21haW5zIHdoaXRlbGlzdGVkIGZvciBhbiBvcmdhbml6YXRpb24gKGJvdGggcGVuZGluZyBhbmQgdmVyaWZpZWQgaWYgbm8gZmlsdGVycyBhcmUgcHJvdmlkZWQgZm9yIHRoZSBzdGF0ZSkuIFRoZSB2ZXJpZmllZCBkb21haW5zIGFsbG93IHVzZXJzIGVtYWlsIHdpdGggdGhlIG9yZydzIHdoaXRlbGlzdGVkIGRvbWFpbiB0byBqb2luIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zEv4EChhDcmVhdGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIugDkkGyAwoMT3JnYW5pemF0aW9uEhFDcmVhdGUgb3JnIGRvbWFpbhqOA0FkZCBhIGRvbWFpbiB0byBhbiBvcmdhbml6YXRpb24gd2hpY2ggaWYgdmVyaWZpZWQgYWxsb3dzIGFsbCB1c2VycyBvZiB0aGUgc2FtZSBkb21haW4gdG8gYmUgc2lnbmVkIHVwIHRvIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLiBUaGlzIEFQSSBnZW5lcmF0ZXMgYSB2ZXJpZmljYXRpb24gdG9rZW4gZm9yIGEgZG9tYWluIHdoaWNoIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIHNob3VsZCBiZSB2ZXJpZmllZCB3aXRoIEZyb250aWVyIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbiBBUEkgYmVmb3JlIGl0IGNhbiBiZSB1c2VkIGFzIGFuIE9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWluIHRvIHNpZ24gdXAgdXNlcnMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnM6ASoStwIKGERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UioQGSQWoKDE9yZ2FuaXphdGlvbhIRRGVsZXRlIG9yZyBkb21haW4aR1JlbW92ZSBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWlucyBsaXN0gtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRLiAgoVR2V0T3JnYW5pemF0aW9uRG9tYWluEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAZJBnQEKDE9yZ2FuaXphdGlvbhIOR2V0IG9yZyBkb21haW4afUdldCBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMuIFJldHVybnMgYm90aCB2ZXJpZmllZCBhbmQgdW52ZXJpZmllZCBkb21haW5zIGJ5IHRoZWlyIElEgtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRKlBAoYVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSKPA5JBzQIKDE9yZ2FuaXphdGlvbhIRVmVyaWZ5IG9yZyBkb21haW4aqQJWZXJpZnkgYSBkb21haW4gZm9yIGFuIG9yZ2FuaXphdGlvbiB3aXRoIGEgdmVyaWZpY2F0aW9uIHRva2VuIGdlbmVyYXRlZCBieSBGcm9udGllciBHZW5lcmF0ZURvbWFpblZlcmlmaWNhdGlvblRva2VuIEFQSS4gVGhlIHRva2VuIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIGJlZm9yZSBpdCBjYW4gYmUgdmVyaWZpZWQuIFRoaXMgQVBJIHJldHVybnMgdGhlIHN0YXRlIG9mIHRoZSBkb21haW4gKHBlbmRpbmcvdmVyaWZpZWQpIGFmdGVyIHZlcmlmaWNhdGlvbi6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9L3ZlcmlmeToBKhKSAwoQSm9pbk9yZ2FuaXphdGlvbhIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSKUApJB4QEKDE9yZ2FuaXphdGlvbhIRSm9pbiBvcmdhbml6YXRpb24avQFBbGxvd3MgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgdG8gam9pbiB0aGUgT3JnIGlmIG9uZSBpcyBub3QgYSBwYXJ0IG9mIGl0LiBUaGUgdXNlciB3aWxsIG9ubHkgYmUgYWJsZSB0byBqb2luIHdoZW4gdGhlIHVzZXIgZW1haWwncyBkb21haW4gbWF0Y2hlcyB0aGUgb3JnYW5pemF0aW9uJ3Mgd2hpdGVsaXN0ZWQgZG9tYWlucy6C0+STAikiJC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vam9pbjoBKhLZAgoSRW5hYmxlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSLVAZJBpAEKDE9yZ2FuaXphdGlvbhITRW5hYmxlIG9yZ2FuaXphdGlvbhp/U2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBlbmFibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIGJlIGFibGUgdG8gYWNjZXNzIGFueSBvcmdhbml6YXRpb24gcmVzb3VyY2VzLoLT5JMCJyIiL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2VuYWJsZToBKhLkAgoTRGlzYWJsZU9yZ2FuaXphdGlvbhI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSLdAZJBqwEKDE9yZ2FuaXphdGlvbhIURGlzYWJsZSBvcmdhbml6YXRpb24ahAFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgb3JnYW5pemF0aW9uIGFzIGRpc2FibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAigiIy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9kaXNhYmxlOgEqEsYCChJEZWxldGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIsIBkkGbAQoMT3JnYW5pemF0aW9uEhNEZWxldGUgb3JnYW5pemF0aW9uGnZEZWxldGUgYW4gb3JnYW5pemF0aW9uIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS4gVGhlIG9yZ2FuaXphdGlvbiB1c2VycyB3aWxsIG5vdCBiZSBkZWxldGVkIGZyb20gRnJvbnRpZXIugtPkkwIdKhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0SrwEKDUNyZWF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzcG9uc2UiO5JBGQoHUHJvamVjdBIOQ3JlYXRlIHByb2plY3SC0+STAhkiES92MWJldGExL3Byb2plY3RzOgRib2R5ErsBCgpHZXRQcm9qZWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc3BvbnNlIlCSQS8KB1Byb2plY3QSC0dldCBwcm9qZWN0GhdSZXR1cm5zIGEgcHJvamVjdCBieSBJRILT5JMCGBIWL3YxYmV0YTEvcHJvamVjdHMve2lkfRLNAQoNVXBkYXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNwb25zZSJZkkEyCgdQcm9qZWN0Eg5VcGRhdGUgcHJvamVjdBoXVXBkYXRlcyBhIHByb2plY3QgYnkgSUSC0+STAh4aFi92MWJldGExL3Byb2plY3RzL3tpZH06BGJvZHkS8wEKEUxpc3RQcm9qZWN0QWRtaW5zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2Uic5JBSwoHUHJvamVjdBITTGlzdCBwcm9qZWN0IGFkbWlucxorUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgYWRtaW5zIG9mIGEgcHJvamVjdILT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9hZG1pbnMSmAIKEExpc3RQcm9qZWN0VXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UimgGSQXMKB1Byb2plY3QSEkxpc3QgcHJvamVjdCB1c2VycxpUUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgdXNlcnMgb2YgYSBwcm9qZWN0LiBGaWx0ZXIgYnkgdXNlciBwZXJtaXNzaW9ucyBpcyBzdXBwb3J0ZWQugtPkkwIeEhwvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3VzZXJzEpECChdMaXN0UHJvamVjdFNlcnZpY2VVc2VycxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIn+SQVEKB1Byb2plY3QSGUxpc3QgcHJvamVjdCBzZXJ2aWNldXNlcnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC6C0+STAiUSIy92MWJldGExL3Byb2plY3RzL3tpZH0vc2VydmljZXVzZXJzEvQBChFMaXN0UHJvamVjdEdyb3VwcxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlInSSQUwKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBncm91cHMaLFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwcyBvZiBhIHByb2plY3QugtPkkwIfEh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2dyb3VwcxK4AQoNRW5hYmxlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXNwb25zZSJEkkEZCgdQcm9qZWN0Eg5FbmFibGUgcHJvamVjdILT5JMCIiIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9lbmFibGU6ASoSvQEKDkRpc2FibGVQcm9qZWN0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVQcm9qZWN0UmVzcG9uc2UiRpJBGgoHUHJvamVjdBIPRGlzYWJsZSBwcm9qZWN0gtPkkwIjIh4vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2Rpc2FibGU6ASoS4gEKDURlbGV0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzcG9uc2UibpJBTQoHUHJvamVjdBIORGVsZXRlIFByb2plY3QaMkRlbGV0ZSBhIHByb2plY3QgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkugtPkkwIYKhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9Er0BCgxDcmVhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlc3BvbnNlIkySQSoKBlBvbGljeRINQ3JlYXRlIHBvbGljeRoRQ3JlYXRlcyBhIHBvbGljeSCC0+STAhkiES92MWJldGExL3BvbGljaWVzOgRib2R5ErUBCglHZXRQb2xpY3kSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlc3BvbnNlIk2SQSwKBlBvbGljeRIKR2V0IHBvbGljeRoWUmV0dXJucyBhIHBvbGljeSBieSBJRILT5JMCGBIWL3YxYmV0YTEvcG9saWNpZXMve2lkfRK5AgoMTGlzdFBvbGljaWVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXNwb25zZSLHAZJBqgEKBlBvbGljeRIRTGlzdCBhbGwgcG9saWNpZXMajAFMaXN0cyBhbGwgdGhlIHBvbGljaWVzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBvcmdhbml6YXRpb24sIHByb2plY3QsIHVzZXIsIHJvbGUgYW5kIGdyb3VwLoLT5JMCExIRL3YxYmV0YTEvcG9saWNpZXMSxwEKDFVwZGF0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVzcG9uc2UiVpJBLwoGUG9saWN5Eg1VcGRhdGUgcG9saWN5GhZVcGRhdGVzIGEgcG9saWN5IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wb2xpY2llcy97aWR9OgRib2R5EtwBCgxEZWxldGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlc3BvbnNlImuSQUoKBlBvbGljeRINRGVsZXRlIFBvbGljeRoxRGVsZXRlIGEgcG9saWN5IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcG9saWNpZXMve2lkfRKJAgoWQ3JlYXRlUG9saWN5Rm9yUHJvamVjdBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXNwb25zZSJ6kkFCCgZQb2xpY3kSGUNyZWF0ZSBQb2xpY3kgZm9yIFByb2plY3QaHUNyZWF0ZSBhIHBvbGljeSBmb3IgYSBwcm9qZWN0gtPkkwIvIicvdjFiZXRhMS9wb2xpY2llcy9wcm9qZWN0cy97cHJvamVjdF9pZH06BGJvZHkStQEKDkNyZWF0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2UiPpJBGwoIUmVsYXRpb24SD0NyZWF0ZSByZWxhdGlvboLT5JMCGiISL3YxYmV0YTEvcmVsYXRpb25zOgRib2R5EsIBCgtHZXRSZWxhdGlvbhItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRSZWxhdGlvblJlc3BvbnNlIlSSQTIKCFJlbGF0aW9uEgxHZXQgcmVsYXRpb24aGFJldHVybnMgYSByZWxhdGlvbiBieSBJRILT5JMCGRIXL3YxYmV0YTEvcmVsYXRpb25zL3tpZH0SkAIKDkRlbGV0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVJlbGF0aW9uUmVzcG9uc2UimAGSQU4KCFJlbGF0aW9uEg9EZWxldGUgcmVsYXRpb24aMVJlbW92ZSBhIHN1YmplY3QgaGF2aW5nIGEgcmVsYXRpb24gZnJvbSBhbiBvYmplY3SC0+STAkEqPy92MWJldGExL3JlbGF0aW9ucy97cmVsYXRpb259L29iamVjdC97b2JqZWN0fS9zdWJqZWN0L3tzdWJqZWN0fRK6AQoPTGlzdFBlcm1pc3Npb25zEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXNwb25zZSJAkkEhCgpQZXJtaXNzaW9uEhNHZXQgYWxsIHBlcm1pc3Npb25zgtPkkwIWEhQvdjFiZXRhMS9wZXJtaXNzaW9ucxLQAQoNR2V0UGVybWlzc2lvbhIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGVybWlzc2lvblJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXNwb25zZSJckkE4CgpQZXJtaXNzaW9uEg5HZXQgcGVybWlzc2lvbhoaUmV0dXJucyBhIHBlcm1pc3Npb24gYnkgSUSC0+STAhsSGS92MWJldGExL3Blcm1pc3Npb25zL3tpZH0S7wEKDkxpc3ROYW1lc3BhY2VzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3ROYW1lc3BhY2VzUmVzcG9uc2UieJJBWgoJTmFtZXNwYWNlEhJHZXQgYWxsIG5hbWVzcGFjZXMaOVJldHVybnMgdGhlIGxpc3Qgb2YgYWxsIG5hbWVzcGFjZXMgaW4gYSBGcm9udGllciBpbnN0YW5jZYLT5JMCFRITL3YxYmV0YTEvbmFtZXNwYWNlcxLJAQoMR2V0TmFtZXNwYWNlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXNwb25zZSJYkkE1CglOYW1lc3BhY2USDUdldCBuYW1lc3BhY2UaGVJldHVybnMgYSBuYW1lc3BhY2UgYnkgSUSC0+STAhoSGC92MWJldGExL25hbWVzcGFjZXMve2lkfRLZAQoUTGlzdFByb2plY3RSZXNvdXJjZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZSJQkkEdCghSZXNvdXJjZRIRR2V0IGFsbCByZXNvdXJjZXOC0+STAioSKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMSgQIKFUNyZWF0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UidZJBPAoIUmVzb3VyY2USD0NyZWF0ZSByZXNvdXJjZRofQ3JlYXRlcyBhIHJlc291cmNlIGluIGEgcHJvamVjdILT5JMCMCIoL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlczoEYm9keRL1AQoSR2V0UHJvamVjdFJlc291cmNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJykkE6CghSZXNvdXJjZRIMR2V0IHJlc291cmNlGiBSZXR1cm5zIGEgcHJvamVjdCByZXNvdXJjZSBieSBJRILT5JMCLxItL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EoYCChVVcGRhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInqSQTwKCFJlc291cmNlEg9VcGRhdGUgcmVzb3VyY2UaH1VwZGF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjUaLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfToEYm9keRKPAgoVRGVsZXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSKCAZJBSgoIUmVzb3VyY2USD0RlbGV0ZSByZXNvdXJjZRotRGVsZXRlcyBhIHJlc291cmNlIGZyb20gYSBwcm9qZWN0IHBlcm1hbmVudGx5gtPkkwIvKi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH0S+wMKF0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2Ui6AKSQcsCCgVBdXRoehIFQ2hlY2saugJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQuIEZyb250aWVyIHdpbGwgZXh0cmFjdCBwcmluY2lwYWwgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuLoLT5JMCEyIOL3YxYmV0YTEvY2hlY2s6ASoSswQKFEJhdGNoQ2hlY2tQZXJtaXNzaW9uEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2UiqQOSQYcDCgVBdXRoehILQmF0Y2ggY2hlY2sa8AJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQsIGFuZCBGcm9udGllciB3aWxsIHRoZSBjcmVkZW50aWFscyBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiBwcmluY2lwYWwgZnJvbSB0aGUgc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuIChpbiBjYXNlIG9mIGh1bWFuIHVzZXIgYWNjb3VudHMpLoLT5JMCGCITL3YxYmV0YTEvYmF0Y2hjaGVjazoBKhK1AQoHR2V0SldLcxIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0SldLc1JlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXNwb25zZSJTkkEcCgVBdXRoehITR2V0IHdlbGwga25vd24gSldLc4LT5JMCLhISL3YxYmV0YTEvYXV0aC9qd2tzWhgSFi8ud2VsbC1rbm93bi9qd2tzLmpzb24ScQoMTGlzdFNlc3Npb25zEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXNwb25zZSIAEnQKDVJldm9rZVNlc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJldm9rZVNlc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVzcG9uc2UiABJ6Cg9QaW5nVXNlclNlc3Npb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIgAStwIKEkxpc3RBdXRoU3RyYXRlZ2llcxI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2UiswGSQZoBCgVBdXRobhIeTGlzdCBhdXRoZW50aWNhdGlvbiBzdHJhdGVnaWVzGnFSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGl0eSBwcm92aWRlcnMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIEdvb2dsZSwgQXp1cmVBRCwgR2l0aHViIGV0Y4LT5JMCDxINL3YxYmV0YTEvYXV0aBLpBAoMQXV0aGVudGljYXRlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXNwb25zZSL3A5JBmAMKBUF1dGhuEhxBdXRoZW50aWNhdGUgd2l0aCBhIHN0cmF0ZWd5GvACQXV0aGVudGljYXRlIGEgdXNlciB3aXRoIGEgc3RyYXRlZ3kuIEJ5IGRlZmF1bHQsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24gbm8gb3BlcmF0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIHRvIGFwcGx5IHJlZGlyZWN0aW9uIGluIGNhc2Ugb2YgYnJvd3NlcnMsIHByb3ZpZGUgYSB1cmwgaW4gdGhlIGF1dGhlbnRpY2F0ZSByZXF1ZXN0IGJvZHkgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHJlZGlyZWN0aW9uIGFmdGVyIGF1dGhlbnRpY2F0aW9uLiBBbHNvIHNldCByZWRpcmVjdCBhcyB0cnVlIGZvciByZWRpcmVjdGluZyB0aGUgdXNlciByZXF1ZXN0IHRvIHRoZSByZWRpcmVjdF91cmwgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi6C0+STAlUSJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9WisiJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9OgEqEr0ECgxBdXRoQ2FsbGJhY2sSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1Jlc3BvbnNlIssDkkGMAwoFQXV0aG4SGENhbGxiYWNrIGZyb20gYSBzdHJhdGVneRroAkNhbGxiYWNrIGZyb20gYSBzdHJhdGVneS4gVGhpcyBpcyB0aGUgZW5kcG9pbnQgd2hlcmUgdGhlIHN0cmF0ZWd5IHdpbGwgcmVkaXJlY3QgdGhlIHVzZXIgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi4gVGhpcyBlbmRwb2ludCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSBjb2RlIGFuZCBzdGF0ZSBxdWVyeSBwYXJhbWV0ZXJzLiBUaGUgY29kZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBhY2Nlc3MgdG9rZW4gZnJvbSB0aGUgc3RyYXRlZ3kgYW5kIHRoZSBzdGF0ZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSByZXR1cm5fdG8gdXJsIGZyb20gdGhlIHNlc3Npb24gYW5kIHJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoYXQgdXJsLoLT5JMCNRIWL3YxYmV0YTEvYXV0aC9jYWxsYmFja1obIhYvdjFiZXRhMS9hdXRoL2NhbGxiYWNrOgEqEsIDCglBdXRoVG9rZW4SKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlc3BvbnNlItkCkkG3AgoFQXV0aG4SKkdlbmVyYXRlIGFjY2VzcyB0b2tlbiBieSBnaXZlbiBjcmVkZW50aWFscxqBAkFjY2VzcyB0b2tlbiBjYW4gYmUgZ2VuZXJhdGVkIGJ5IHByb3ZpZGluZyB0aGUgY3JlZGVudGlhbHMgaW4gdGhlIHJlcXVlc3QgYm9keS9oZWFkZXIuIFRoZSBjcmVkZW50aWFscyBjYW4gYmUgY2xpZW50IGlkIGFuZCBzZWNyZXQgb3Igc2VydmljZSBhY2NvdW50IGdlbmVyYXRlZCBrZXkgand0LiBVc2UgdGhlIGdlbmVyYXRlZCBhY2Nlc3MgdG9rZW4gaW4gQXV0aG9yaXphdGlvbiBoZWFkZXIgdG8gYWNjZXNzIHRoZSBmcm9udGllciByZXNvdXJjZXMugtPkkwIYIhMvdjFiZXRhMS9hdXRoL3Rva2VuOgEqEsEBCgpBdXRoTG9nb3V0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoTG9nb3V0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlc3BvbnNlIlaSQR8KBUF1dGhuEhZMb2dvdXQgZnJvbSBhIHN0cmF0ZWd5gtPkkwIuEhQvdjFiZXRhMS9hdXRoL2xvZ291dFoWKhQvdjFiZXRhMS9hdXRoL2xvZ291dBKuAgoPTGlzdE1ldGFTY2hlbWFzEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXNwb25zZSKzAZJBkgEKCk1ldGFTY2hlbWESEExpc3QgbWV0YXNjaGVtYXMaclJldHVybnMgYSBsaXN0IG9mIGFsbCBtZXRhc2NoZW1hcyBjb25maWd1cmVkIG9uIGFuIGluc3RhbmNlIGxldmVsIGluIEZyb250aWVyLiBlLmcgdXNlciwgcHJvamVjdCwgb3JnYW5pemF0aW9uIGV0Y4LT5JMCFxIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzEp8FChBDcmVhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlIqEEkkH6AwoKTWV0YVNjaGVtYRIRQ3JlYXRlIG1ldGFzY2hlbWEa2ANDcmVhdGUgYSBuZXcgbWV0YWRhdGEgc2NoZW1hLiBUaGUgbWV0YXNjaGVtYSAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZSBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy4gVGhlIG1ldGFzY2hlbWEgKipzY2hlbWEqKiBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIdIhUvdjFiZXRhMS9tZXRhL3NjaGVtYXM6BGJvZHkS0wEKDUdldE1ldGFTY2hlbWESLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE1ldGFTY2hlbWFSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVzcG9uc2UiX5JBOgoKTWV0YVNjaGVtYRIOR2V0IG1ldGFzY2hlbWEaHEdldCBhIG1ldGFkYXRhIHNjaGVtYSBieSBJRC6C0+STAhwSGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EsEEChBVcGRhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlc3BvbnNlIsMDkkGXAwoKTWV0YVNjaGVtYRIRVXBkYXRlIG1ldGFzY2hlbWEa9QJVcGRhdGUgYSBtZXRhZGF0YSBzY2hlbWEuIE9ubHkgYHNjaGVtYWAgZmllbGQgb2YgYSBtZXRhc2NoZW1hIGNhbiBiZSB1cGRhdGVkLiBUaGUgbWV0YXNjaGVtYSBgc2NoZW1hYCBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIiGhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfToEYm9keRLjBAoQRGVsZXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSLlA5JBvwMKCk1ldGFTY2hlbWESEURlbGV0ZSBtZXRhc2NoZW1hGp0DRGVsZXRlIGEgbWV0YWRhdGEgc2NoZW1hIHBlcm1hbmVudGx5LiBPbmNlIGRlbGV0ZWQgdGhlIG1ldGFzY2hlbWEgd29uJ3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEuIEZvciBleGFtcGxlLCBpZiBhIG1ldGFzY2hlbWEod2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcykgaXMgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgYSB1c2VyLCB0aGVuIGRlbGV0aW5nIHRoZSBtZXRhc2NoZW1hIHdpbGwgbm90IHZhbGlkYXRlIHRoZSBtZXRhZGF0YSBvZiB0aGUgdXNlciBhbmQgbWV0YWRhdGEgZmllbGQgY2FuIGNvbnRhaW4gYW55IGtleS12YWx1ZSBwYWlyKGFuZCBzYXkgYW5vdGhlciBmaWVsZCBjYWxsZWQgYGZvb2AgY2FuIGJlIGluc2VydGVkIGluIGEgdXNlcidzIG1ldGFkYXRhKS6C0+STAhwqGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EuACChlMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIscBiAIBkkGPAQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxpwUmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIERFUFJFQ0FURUQ6IFVzZSBhZG1pbiBMaXN0QXVkaXRSZWNvcmRzIEFQSSBpbnN0ZWFkLlgBgtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxLVAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSK2AYgCAZJBfAoIQXVkaXRMb2cSEENyZWF0ZSBhdWRpdCBsb2caXENyZWF0ZSBuZXcgYXVkaXQgbG9ncyBpbiBhIGJhdGNoLiBERVBSRUNBVEVEOiBVc2UgTGlzdEF1ZGl0UmVjb3JkcyBBUEkgaW5zdGVhZCB3aXRoIGZpbHRlcnMuWAGC0+STAi4iKS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzOgEqErUCChdHZXRPcmdhbml6YXRpb25BdWRpdExvZxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1Jlc3BvbnNlIqIBiAIBkkFmCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxpJR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC4gREVQUkVDQVRFRDogVXNlIGFkbWluIEdldEF1ZGl0UmVjb3JkIEFQSSBpbnN0ZWFkLlgBgtPkkwIwEi4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncy97aWR9EokCChNEZXNjcmliZVByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1Jlc3BvbnNlIoIBkkFcCgpQcmVmZXJlbmNlEhREZXNjcmliZSBwcmVmZXJlbmNlcxo4UmV0dXJucyBhIGxpc3Qgb2YgYWxsIHByZWZlcmVuY2VzIHN1cHBvcnRlZCBieSBGcm9udGllci6C0+STAh0SGy92MWJldGExL3ByZWZlcmVuY2VzL3RyYWl0cxLEAwodQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBpALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKfApJB6QEKClByZWZlcmVuY2USH0NyZWF0ZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMauQFDcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzLiBUaGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzOgEqEqUCChtMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIoYBkkFUCgpQcmVmZXJlbmNlEh1MaXN0IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxonTGlzdCBhbiBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXMSnAMKGENyZWF0ZVByb2plY3RQcmVmZXJlbmNlcxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UihgKSQdUBCgpQcmVmZXJlbmNlEhpDcmVhdGUgcHJvamVjdCBwcmVmZXJlbmNlcxqqAUNyZWF0ZSBhIG5ldyBwcm9qZWN0IHByZWZlcmVuY2VzLiBUaGUgcHJvamVjdCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwInIiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzOgEqEoUCChZMaXN0UHJvamVjdFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlInaSQUkKClByZWZlcmVuY2USGExpc3QgcHJvamVjdCBwcmVmZXJlbmNlcxohTGlzdCBhIHByb2plY3QgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIkEiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzEowDChZDcmVhdGVHcm91cFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlIvwBkkHNAQoKUHJlZmVyZW5jZRIYQ3JlYXRlIGdyb3VwIHByZWZlcmVuY2VzGqQBQ3JlYXRlIGEgbmV3IGdyb3VwIHByZWZlcmVuY2VzLiBUaGUgZ3JvdXAgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBncm91cCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiUiIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzOgEqEvkBChRMaXN0R3JvdXBQcmVmZXJlbmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlInCSQUUKClByZWZlcmVuY2USFkxpc3QgZ3JvdXAgcHJlZmVyZW5jZXMaH0xpc3QgYSBncm91cCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiISIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzEoQDChVDcmVhdGVVc2VyUHJlZmVyZW5jZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIvcBkkHJAQoKUHJlZmVyZW5jZRIXQ3JlYXRlIHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlczoBKhLzAQoTTGlzdFVzZXJQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJtkkFDCgpQcmVmZXJlbmNlEhVMaXN0IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlcxKhAwocQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlcxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL/AZJB0QEKClByZWZlcmVuY2USH0NyZWF0ZSBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlczoBKhKQAgoaTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJ1kkFLCgpQcmVmZXJlbmNlEh1MaXN0IGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzEpMCChRDcmVhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIokBkkFUCgdCaWxsaW5nEhZDcmVhdGUgYmlsbGluZyBhY2NvdW50GjFDcmVhdGUgYSBuZXcgYmlsbGluZyBhY2NvdW50IGZvciBhbiBvcmdhbml6YXRpb24ugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmc6ASoS8wEKEUdldEJpbGxpbmdBY2NvdW50EjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2Uic5JBPAoHQmlsbGluZxITR2V0IGJpbGxpbmcgYWNjb3VudBocR2V0IGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0ShQIKFFVwZGF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UifJJBQgoHQmlsbGluZxIWVXBkYXRlIGJpbGxpbmcgYWNjb3VudBofVXBkYXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCMRosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH06ASoSwQIKFlJlZ2lzdGVyQmlsbGluZ0FjY291bnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVzcG9uc2UisQGSQW4KB0JpbGxpbmcSJFJlZ2lzdGVyIGJpbGxpbmcgYWNjb3VudCB0byBwcm92aWRlcho9UmVnaXN0ZXIgYSBiaWxsaW5nIGFjY291bnQgdG8gYSBwcm92aWRlciBpZiBpdCdzIG5vdCBhbHJlYWR5LoLT5JMCOiI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcmVnaXN0ZXI6ASoSgwIKE0xpc3RCaWxsaW5nQWNjb3VudHMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVzcG9uc2UifZJBSwoHQmlsbGluZxIVTGlzdCBiaWxsaW5nIGFjY291bnRzGilMaXN0IGJpbGxpbmcgYWNjb3VudHMgb2YgYW4gb3JnYW5pemF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nEoICChREZWxldGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInmSQUIKB0JpbGxpbmcSFkRlbGV0ZSBiaWxsaW5nIGFjY291bnQaH0RlbGV0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9Eo0CChRFbmFibGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIoMBkkFCCgdCaWxsaW5nEhZFbmFibGUgYmlsbGluZyBhY2NvdW50Gh9FbmFibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9lbmFibGU6ASoS6QIKFURpc2FibGVCaWxsaW5nQWNjb3VudBI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2Ui3AGSQZkBCgdCaWxsaW5nEhdEaXNhYmxlIGJpbGxpbmcgYWNjb3VudBp1RGlzYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC4gRGlzYWJsaW5nIGEgYmlsbGluZyBhY2NvdW50IGRvZXNuJ3QgYXV0b21hdGljYWxseSBkaXNhYmxlIGl0J3MgYWN0aXZlIHN1YnNjcmlwdGlvbnMugtPkkwI5IjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9kaXNhYmxlOgEqEosCChFHZXRCaWxsaW5nQmFsYW5jZRIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlc3BvbnNlIooBkkFLCgdCaWxsaW5nEhNHZXQgYmlsbGluZyBiYWxhbmNlGitHZXQgdGhlIGJhbGFuY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9iYWxhbmNlEvoBCgpIYXNUcmlhbGVkEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlc3BvbnNlIo4BkkE/CgdCaWxsaW5nEgtIYXMgdHJpYWxlZBonQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIHRyaWFsZWQugtPkkwJGEkQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9wbGFucy97cGxhbl9pZH0vdHJpYWxlZBLHAgoPR2V0U3Vic2NyaXB0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXNwb25zZSLMAZJBOwoMU3Vic2NyaXB0aW9uEhBHZXQgc3Vic2NyaXB0aW9uGhlHZXQgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKHARJHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH1aPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfRLqAgoSQ2FuY2VsU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXNwb25zZSLmAZJBQQoMU3Vic2NyaXB0aW9uEhNDYW5jZWwgc3Vic2NyaXB0aW9uGhxDYW5jZWwgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqEtMCChFMaXN0U3Vic2NyaXB0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlItIBkkFMCgxTdWJzY3JpcHRpb24SEkxpc3Qgc3Vic2NyaXB0aW9ucxooTGlzdCBzdWJzY3JpcHRpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCfRJCL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zWjcSNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zEvQCChJDaGFuZ2VTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlc3BvbnNlIvABkkFLCgxTdWJzY3JpcHRpb24SGENoYW5nZSBzdWJzY3JpcHRpb24gcGxhbhohQ2hhbmdlIGEgc3Vic2NyaXB0aW9uIHBsYW4gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqEtwCChJVcGRhdGVTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlItgBkkFBCgxTdWJzY3JpcHRpb24SE1VwZGF0ZSBzdWJzY3JpcHRpb24aHFVwZGF0ZSBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAo0BGkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfToBKlo/IjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9OgEqEtgBCg1DcmVhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlc3BvbnNlImSSQT0KB1Byb2R1Y3QSDkNyZWF0ZSBwcm9kdWN0GiJDcmVhdGUgYSBuZXcgcHJvZHVjdCBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzOgEqEsABCgpHZXRQcm9kdWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlc3BvbnNlIlWSQSwKB1Byb2R1Y3QSC0dldCBwcm9kdWN0GhRHZXQgYSBwcm9kdWN0IGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9Es8BCgxMaXN0UHJvZHVjdHMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1Jlc3BvbnNlIl6SQToKB1Byb2R1Y3QSDUxpc3QgcHJvZHVjdHMaIExpc3QgYWxsIHByb2R1Y3RzIG9mIGEgcGxhdGZvcm0ugtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzEtIBCg1VcGRhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlc3BvbnNlIl6SQTIKB1Byb2R1Y3QSDlVwZGF0ZSBwcm9kdWN0GhdVcGRhdGUgYSBwcm9kdWN0IGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9OgEqEtgBCg1DcmVhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlImSSQT0KB0ZlYXR1cmUSDkNyZWF0ZSBmZWF0dXJlGiJDcmVhdGUgYSBuZXcgZmVhdHVyZSBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzOgEqEsABCgpHZXRGZWF0dXJlEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlc3BvbnNlIlWSQSwKB0ZlYXR1cmUSC0dldCBmZWF0dXJlGhRHZXQgYSBmZWF0dXJlIGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9EtIBCg1VcGRhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIl6SQTIKB0ZlYXR1cmUSDlVwZGF0ZSBmZWF0dXJlGhdVcGRhdGUgYSBmZWF0dXJlIGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9OgEqEsABCgxMaXN0RmVhdHVyZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIk+SQSsKB0ZlYXR1cmUSDUxpc3QgZmVhdHVyZXMaEUxpc3QgYWxsIGZlYXR1cmVzgtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzEsMBCgpDcmVhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlc3BvbnNlIliSQTQKBFBsYW4SC0NyZWF0ZSBwbGFuGh9DcmVhdGUgYSBuZXcgcGxhbiBmb3IgcGxhdGZvcm0ugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zOgEqEqwBCglMaXN0UGxhbnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1Jlc3BvbnNlIkSSQSMKBFBsYW4SCkxpc3QgcGxhbnMaD0xpc3QgYWxsIHBsYW5zLoLT5JMCGBIWL3YxYmV0YTEvYmlsbGluZy9wbGFucxKrAQoHR2V0UGxhbhIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXNwb25zZSJJkkEjCgRQbGFuEghHZXQgcGxhbhoRR2V0IGEgcGxhbiBieSBJRC6C0+STAh0SGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfRK9AQoKVXBkYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXNwb25zZSJSkkEpCgRQbGFuEgtVcGRhdGUgcGxhbhoUVXBkYXRlIGEgcGxhbiBieSBJRC6C0+STAiAaGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfToBKhKFAwoOQ3JlYXRlQ2hlY2tvdXQSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXNwb25zZSKNApJBiAEKCENoZWNrb3V0EiJDaGVja291dCBhIHByb2R1Y3Qgb3Igc3Vic2NyaXB0aW9uGlhDaGVja291dCBhIHByb2R1Y3QgdG8gYnV5IGl0IG9uZSB0aW1lIG9yIHN0YXJ0IGEgc3Vic2NyaXB0aW9uIHBsYW4gb24gYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7Ij4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0czoBKlo2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzOgEqErcCCg1MaXN0Q2hlY2tvdXRzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1Jlc3BvbnNlIsIBkkFECghDaGVja291dBIOTGlzdCBjaGVja291dHMaKExpc3QgYWxsIGNoZWNrb3V0cyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnUSPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzWjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMSpgIKC0dldENoZWNrb3V0Ei0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVzcG9uc2UitwGSQS8KCENoZWNrb3V0EgxHZXQgY2hlY2tvdXQaFUdldCBhIGNoZWNrb3V0IGJ5IElELoLT5JMCfxJDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHMve2lkfVo4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzL3tpZH0S3AIKF0NoZWNrRmVhdHVyZUVudGl0bGVtZW50EjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVzcG9uc2UiyQGSQVYKC0VudGl0bGVtZW50EhFDaGVjayBlbnRpdGxlbWVudBo0Q2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaXMgZW50aXRsZWQgdG8gYSBmZWF0dXJlLoLT5JMCaiI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVjazoBKlopIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvY2hlY2s6ASoSnwIKFkNoZWNrQ3JlZGl0RW50aXRsZW1lbnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVzcG9uc2UijwGSQWsKC0VudGl0bGVtZW50EhhDaGVjayBjcmVkaXQgZW50aXRsZW1lbnQaQkNoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyBlbm91Z2ggY3JlZGl0cyB0byBjb3ZlciB0aGUgYW1vdW50LoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9jaGVjazoBKhLJAgoSQ3JlYXRlQmlsbGluZ1VzYWdlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXNwb25zZSLFAZJBUAoFVXNhZ2USFENyZWF0ZSBiaWxsaW5nIHVzYWdlGjFSZXBvcnQgYSBuZXcgYmlsbGluZyB1c2FnZSBmb3IgYSBiaWxsaW5nIGFjY291bnQugtPkkwJsIjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3VzYWdlczoBKloqIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvdXNhZ2VzOgEqEuwCChdMaXN0QmlsbGluZ1RyYW5zYWN0aW9ucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkFVCgtUcmFuc2FjdGlvbhIZTGlzdCBiaWxsaW5nIHRyYW5zYWN0aW9ucxorTGlzdCBhbGwgdHJhbnNhY3Rpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCexJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS90cmFuc2FjdGlvbnNaNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3RyYW5zYWN0aW9ucxLvAgoYVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBfwoLVHJhbnNhY3Rpb24SN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHMaN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHOC0+STAlESTy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vZGViaXRlZF90cmFuc2FjdGlvbnNfdG90YWwSrwIKDExpc3RJbnZvaWNlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVzcG9uc2UivQGSQUEKB0ludm9pY2USDUxpc3QgaW52b2ljZXMaJ0xpc3QgYWxsIGludm9pY2VzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCcxI9L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlc1oyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMS4gIKEkdldFVwY29taW5nSW52b2ljZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2Ui3gGSQU8KB0ludm9pY2USFEdldCB1cGNvbWluZyBpbnZvaWNlGi5HZXQgdGhlIHVwY29taW5nIGludm9pY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwKFARJGL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlcy91cGNvbWluZ1o7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMvdXBjb21pbmcSnAIKFkJpbGxpbmdXZWJob29rQ2FsbGJhY2sSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UijAGSQU4KB1dlYmhvb2sSFkFjY2VwdCBCaWxsaW5nIHdlYmhvb2saK0FjY2VwdHMgYSBCaWxsaW5nIHdlYmhvb2sgYW5kIHByb2Nlc3NlcyBpdC6C0+STAjUiLS92MWJldGExL2JpbGxpbmcvd2ViaG9va3MvY2FsbGJhY2sve3Byb3ZpZGVyfToEYm9keRKRAgoUQ3JlYXRlUHJvc3BlY3RQdWJsaWMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSKHAZJBZwoIUHJvc3BlY3QSD0NyZWF0ZSBwcm9zcGVjdBpKQ3JlYXRlIHByb3NwZWN0IGZvciBnaXZlbiBlbWFpbCBhbmQgYWN0aXZpdHkuIEF2YWlsYWJsZSBmb3IgcHVibGljIGFjY2Vzcy6C0+STAhciEi92MWJldGExL3Byb3NwZWN0czoBKhKAAQoRQ3JlYXRlQXVkaXRSZWNvcmQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZSIAQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
18
18
 
19
19
  /**
20
20
  * Describes the message raystack.frontier.v1beta1.BillingAccountRequestBody.
@@ -2627,6 +2627,20 @@ export const PingUserSessionRequestSchema = /*@__PURE__*/
2627
2627
  export const PingUserSessionResponseSchema = /*@__PURE__*/
2628
2628
  messageDesc(file_raystack_frontier_v1beta1_frontier, 362);
2629
2629
 
2630
+ /**
2631
+ * Describes the message raystack.frontier.v1beta1.CreateAuditRecordRequest.
2632
+ * Use `create(CreateAuditRecordRequestSchema)` to create a new message.
2633
+ */
2634
+ export const CreateAuditRecordRequestSchema = /*@__PURE__*/
2635
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 363);
2636
+
2637
+ /**
2638
+ * Describes the message raystack.frontier.v1beta1.CreateAuditRecordResponse.
2639
+ * Use `create(CreateAuditRecordResponseSchema)` to create a new message.
2640
+ */
2641
+ export const CreateAuditRecordResponseSchema = /*@__PURE__*/
2642
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 364);
2643
+
2630
2644
  /**
2631
2645
  * @generated from service raystack.frontier.v1beta1.FrontierService
2632
2646
  */