@raystack/proton 0.1.0-2dbafa5913a214851fdc4f1beefbe27c4a6de55a → 0.1.0-434b8aec0c95625a6633f4e890be311d3e0fefef

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+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlMquUAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRKmAgoZTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSKNAZJBWQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxo8UmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIugtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxKUAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSJ2kkE/CghBdWRpdExvZxIQQ3JlYXRlIGF1ZGl0IGxvZxohQ3JlYXRlIG5ldyBhdWRpdCBsb2dzIGluIGEgYmF0Y2gugtPkkwIuIikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9nczoBKhL9AQoXR2V0T3JnYW5pemF0aW9uQXVkaXRMb2cSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZSJrkkEyCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxoXR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC6C0+STAjASLi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzL3tpZH0SiQIKE0Rlc2NyaWJlUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2UiggGSQVwKClByZWZlcmVuY2USFERlc2NyaWJlIHByZWZlcmVuY2VzGjhSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHJlZmVyZW5jZXMgc3VwcG9ydGVkIGJ5IEZyb250aWVyLoLT5JMCHRIbL3YxYmV0YTEvcHJlZmVyZW5jZXMvdHJhaXRzEsQDCh1DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0GkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIp8CkkHpAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxq5AUNyZWF0ZSBhIG5ldyBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMuIFRoZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBvcmdhbml6YXRpb24gYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXM6ASoSpQIKG0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UihgGSQVQKClByZWZlcmVuY2USHUxpc3Qgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGidMaXN0IGFuIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyBieSBJRC6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlcxKcAwoYQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSKGApJB1QEKClByZWZlcmVuY2USGkNyZWF0ZSBwcm9qZWN0IHByZWZlcmVuY2VzGqoBQ3JlYXRlIGEgbmV3IHByb2plY3QgcHJlZmVyZW5jZXMuIFRoZSBwcm9qZWN0IHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcHJvamVjdCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiciIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXM6ASoShQIKFkxpc3RQcm9qZWN0UHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UidpJBSQoKUHJlZmVyZW5jZRIYTGlzdCBwcm9qZWN0IHByZWZlcmVuY2VzGiFMaXN0IGEgcHJvamVjdCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiQSIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXMSjAMKFkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2Ui/AGSQc0BCgpQcmVmZXJlbmNlEhhDcmVhdGUgZ3JvdXAgcHJlZmVyZW5jZXMapAFDcmVhdGUgYSBuZXcgZ3JvdXAgcHJlZmVyZW5jZXMuIFRoZSBncm91cCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdyb3VwIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJSIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXM6ASoS+QEKFExpc3RHcm91cFByZWZlcmVuY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2UicJJBRQoKUHJlZmVyZW5jZRIWTGlzdCBncm91cCBwcmVmZXJlbmNlcxofTGlzdCBhIGdyb3VwIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIhIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXMShAMKFUNyZWF0ZVVzZXJQcmVmZXJlbmNlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui9wGSQckBCgpQcmVmZXJlbmNlEhdDcmVhdGUgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzOgEqEvMBChNMaXN0VXNlclByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIm2SQUMKClByZWZlcmVuY2USFUxpc3QgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzEqEDChxDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIv8BkkHRAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzOgEqEpACChpMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlcxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlInWSQUsKClByZWZlcmVuY2USHUxpc3QgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXMSkwIKFENyZWF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiiQGSQVQKB0JpbGxpbmcSFkNyZWF0ZSBiaWxsaW5nIGFjY291bnQaMUNyZWF0ZSBhIG5ldyBiaWxsaW5nIGFjY291bnQgZm9yIGFuIG9yZ2FuaXphdGlvbi6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZzoBKhLzAQoRR2V0QmlsbGluZ0FjY291bnQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXNwb25zZSJzkkE8CgdCaWxsaW5nEhNHZXQgYmlsbGluZyBhY2NvdW50GhxHZXQgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKFAgoUVXBkYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ8kkFCCgdCaWxsaW5nEhZVcGRhdGUgYmlsbGluZyBhY2NvdW50Gh9VcGRhdGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIxGiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfToBKhLBAgoWUmVnaXN0ZXJCaWxsaW5nQWNjb3VudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXNwb25zZSKxAZJBbgoHQmlsbGluZxIkUmVnaXN0ZXIgYmlsbGluZyBhY2NvdW50IHRvIHByb3ZpZGVyGj1SZWdpc3RlciBhIGJpbGxpbmcgYWNjb3VudCB0byBhIHByb3ZpZGVyIGlmIGl0J3Mgbm90IGFscmVhZHkugtPkkwI6IjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9yZWdpc3RlcjoBKhKDAgoTTGlzdEJpbGxpbmdBY2NvdW50cxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXNwb25zZSJ9kkFLCgdCaWxsaW5nEhVMaXN0IGJpbGxpbmcgYWNjb3VudHMaKUxpc3QgYmlsbGluZyBhY2NvdW50cyBvZiBhbiBvcmdhbml6YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcSggIKFERlbGV0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UieZJBQgoHQmlsbGluZxIWRGVsZXRlIGJpbGxpbmcgYWNjb3VudBofRGVsZXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0SjQIKFEVuYWJsZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UigwGSQUIKB0JpbGxpbmcSFkVuYWJsZSBiaWxsaW5nIGFjY291bnQaH0VuYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2VuYWJsZToBKhLpAgoVRGlzYWJsZUJpbGxpbmdBY2NvdW50EjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSLcAZJBmQEKB0JpbGxpbmcSF0Rpc2FibGUgYmlsbGluZyBhY2NvdW50GnVEaXNhYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELiBEaXNhYmxpbmcgYSBiaWxsaW5nIGFjY291bnQgZG9lc24ndCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgaXQncyBhY3RpdmUgc3Vic2NyaXB0aW9ucy6C0+STAjkiNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2Rpc2FibGU6ASoSiwIKEUdldEJpbGxpbmdCYWxhbmNlEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVzcG9uc2UiigGSQUsKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGJhbGFuY2UaK0dldCB0aGUgYmFsYW5jZSBvZiBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2JhbGFuY2US+gEKCkhhc1RyaWFsZWQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVzcG9uc2UijgGSQT8KB0JpbGxpbmcSC0hhcyB0cmlhbGVkGidDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgdHJpYWxlZC6C0+STAkYSRC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3BsYW5zL3twbGFuX2lkfS90cmlhbGVkEscCCg9HZXRTdWJzY3JpcHRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlc3BvbnNlIswBkkE7CgxTdWJzY3JpcHRpb24SEEdldCBzdWJzY3JpcHRpb24aGUdldCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAocBEkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfVo8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9EuoCChJDYW5jZWxTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlIuYBkkFBCgxTdWJzY3JpcHRpb24SE0NhbmNlbCBzdWJzY3JpcHRpb24aHENhbmNlbCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASoS0wIKEUxpc3RTdWJzY3JpcHRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2Ui0gGSQUwKDFN1YnNjcmlwdGlvbhISTGlzdCBzdWJzY3JpcHRpb25zGihMaXN0IHN1YnNjcmlwdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ9EkIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnNaNxI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMS9AIKEkNoYW5nZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui8AGSQUsKDFN1YnNjcmlwdGlvbhIYQ2hhbmdlIHN1YnNjcmlwdGlvbiBwbGFuGiFDaGFuZ2UgYSBzdWJzY3JpcHRpb24gcGxhbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASoS3AIKElVwZGF0ZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui2AGSQUEKDFN1YnNjcmlwdGlvbhITVXBkYXRlIHN1YnNjcmlwdGlvbhocVXBkYXRlIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCjQEaRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9OgEqWj8iOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH06ASoS2AEKDUNyZWF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVzcG9uc2UiZJJBPQoHUHJvZHVjdBIOQ3JlYXRlIHByb2R1Y3QaIkNyZWF0ZSBhIG5ldyBwcm9kdWN0IGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHM6ASoSwAEKCkdldFByb2R1Y3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVzcG9uc2UiVZJBLAoHUHJvZHVjdBILR2V0IHByb2R1Y3QaFEdldCBhIHByb2R1Y3QgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH0SzwEKDExpc3RQcm9kdWN0cxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVzcG9uc2UiXpJBOgoHUHJvZHVjdBINTGlzdCBwcm9kdWN0cxogTGlzdCBhbGwgcHJvZHVjdHMgb2YgYSBwbGF0Zm9ybS6C0+STAhsSGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMS0gEKDVVwZGF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVzcG9uc2UiXpJBMgoHUHJvZHVjdBIOVXBkYXRlIHByb2R1Y3QaF1VwZGF0ZSBhIHByb2R1Y3QgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH06ASoS2AEKDUNyZWF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiZJJBPQoHRmVhdHVyZRIOQ3JlYXRlIGZlYXR1cmUaIkNyZWF0ZSBhIG5ldyBmZWF0dXJlIGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXM6ASoSwAEKCkdldEZlYXR1cmUSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVzcG9uc2UiVZJBLAoHRmVhdHVyZRILR2V0IGZlYXR1cmUaFEdldCBhIGZlYXR1cmUgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH0S0gEKDVVwZGF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiXpJBMgoHRmVhdHVyZRIOVXBkYXRlIGZlYXR1cmUaF1VwZGF0ZSBhIGZlYXR1cmUgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH06ASoSwAEKDExpc3RGZWF0dXJlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVzcG9uc2UiT5JBKwoHRmVhdHVyZRINTGlzdCBmZWF0dXJlcxoRTGlzdCBhbGwgZmVhdHVyZXOC0+STAhsSGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMSwwEKCkNyZWF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVzcG9uc2UiWJJBNAoEUGxhbhILQ3JlYXRlIHBsYW4aH0NyZWF0ZSBhIG5ldyBwbGFuIGZvciBwbGF0Zm9ybS6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvcGxhbnM6ASoSrAEKCUxpc3RQbGFucxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVzcG9uc2UiRJJBIwoEUGxhbhIKTGlzdCBwbGFucxoPTGlzdCBhbGwgcGxhbnMugtPkkwIYEhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zEqsBCgdHZXRQbGFuEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlc3BvbnNlIkmSQSMKBFBsYW4SCEdldCBwbGFuGhFHZXQgYSBwbGFuIGJ5IElELoLT5JMCHRIbL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9Er0BCgpVcGRhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlc3BvbnNlIlKSQSkKBFBsYW4SC1VwZGF0ZSBwbGFuGhRVcGRhdGUgYSBwbGFuIGJ5IElELoLT5JMCIBobL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9OgEqEoUDCg5DcmVhdGVDaGVja291dBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlc3BvbnNlIo0CkkGIAQoIQ2hlY2tvdXQSIkNoZWNrb3V0IGEgcHJvZHVjdCBvciBzdWJzY3JpcHRpb24aWENoZWNrb3V0IGEgcHJvZHVjdCB0byBidXkgaXQgb25lIHRpbWUgb3Igc3RhcnQgYSBzdWJzY3JpcHRpb24gcGxhbiBvbiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsiPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzOgEqWjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHM6ASoStwIKDUxpc3RDaGVja291dHMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVzcG9uc2UiwgGSQUQKCENoZWNrb3V0Eg5MaXN0IGNoZWNrb3V0cxooTGlzdCBhbGwgY2hlY2tvdXRzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCdRI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHNaMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cxKmAgoLR2V0Q2hlY2tvdXQSLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXNwb25zZSK3AZJBLwoIQ2hlY2tvdXQSDEdldCBjaGVja291dBoVR2V0IGEgY2hlY2tvdXQgYnkgSUQugtPkkwJ/EkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0cy97aWR9WjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMve2lkfRLcAgoXQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnQSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXNwb25zZSLJAZJBVgoLRW50aXRsZW1lbnQSEUNoZWNrIGVudGl0bGVtZW50GjRDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBpcyBlbnRpdGxlZCB0byBhIGZlYXR1cmUugtPkkwJqIjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrOgEqWikiJC92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy9jaGVjazoBKhKfAgoWQ2hlY2tDcmVkaXRFbnRpdGxlbWVudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZSKPAZJBawoLRW50aXRsZW1lbnQSGENoZWNrIGNyZWRpdCBlbnRpdGxlbWVudBpCQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIGVub3VnaCBjcmVkaXRzIHRvIGNvdmVyIHRoZSBhbW91bnQugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL2NoZWNrOgEqEskCChJDcmVhdGVCaWxsaW5nVXNhZ2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIsUBkkFQCgVVc2FnZRIUQ3JlYXRlIGJpbGxpbmcgdXNhZ2UaMVJlcG9ydCBhIG5ldyBiaWxsaW5nIHVzYWdlIGZvciBhIGJpbGxpbmcgYWNjb3VudC6C0+STAmwiOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdXNhZ2VzOgEqWioiJS92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy91c2FnZXM6ASoS7AIKF0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQVUKC1RyYW5zYWN0aW9uEhlMaXN0IGJpbGxpbmcgdHJhbnNhY3Rpb25zGitMaXN0IGFsbCB0cmFuc2FjdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7EkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3RyYW5zYWN0aW9uc1o2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvdHJhbnNhY3Rpb25zEu8CChhUb3RhbERlYml0ZWRUcmFuc2FjdGlvbnMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkF/CgtUcmFuc2FjdGlvbhI3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kcxo3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kc4LT5JMCURJPL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9kZWJpdGVkX3RyYW5zYWN0aW9uc190b3RhbBKvAgoMTGlzdEludm9pY2VzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXNwb25zZSK9AZJBQQoHSW52b2ljZRINTGlzdCBpbnZvaWNlcxonTGlzdCBhbGwgaW52b2ljZXMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJzEj0vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzWjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcxLiAgoSR2V0VXBjb21pbmdJbnZvaWNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXNwb25zZSLeAZJBTwoHSW52b2ljZRIUR2V0IHVwY29taW5nIGludm9pY2UaLkdldCB0aGUgdXBjb21pbmcgaW52b2ljZSBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAoUBEkYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzL3VwY29taW5nWjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcy91cGNvbWluZxKcAgoWQmlsbGluZ1dlYmhvb2tDYWxsYmFjaxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKMAZJBTgoHV2ViaG9vaxIWQWNjZXB0IEJpbGxpbmcgd2ViaG9vaxorQWNjZXB0cyBhIEJpbGxpbmcgd2ViaG9vayBhbmQgcHJvY2Vzc2VzIGl0LoLT5JMCNSItL3YxYmV0YTEvYmlsbGluZy93ZWJob29rcy9jYWxsYmFjay97cHJvdmlkZXJ9OgRib2R5EpECChRDcmVhdGVQcm9zcGVjdFB1YmxpYxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIocBkkFnCghQcm9zcGVjdBIPQ3JlYXRlIHByb3NwZWN0GkpDcmVhdGUgcHJvc3BlY3QgZm9yIGdpdmVuIGVtYWlsIGFuZCBhY3Rpdml0eS4gQXZhaWxhYmxlIGZvciBwdWJsaWMgYWNjZXNzLoLT5JMCFyISL3YxYmV0YTEvcHJvc3BlY3RzOgEqQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [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+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIhUKE0xpc3RTZXNzaW9uc1JlcXVlc3QiTAoUTGlzdFNlc3Npb25zUmVzcG9uc2USNAoIc2Vzc2lvbnMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlc3Npb24iOAoUUmV2b2tlU2Vzc2lvblJlcXVlc3QSIAoKc2Vzc2lvbl9pZBgBIAEoCUIM4kEBAvpCBXIDsAEBIhcKFVJldm9rZVNlc3Npb25SZXNwb25zZSIYChZQaW5nVXNlclNlc3Npb25SZXF1ZXN0IhkKF1BpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIrUDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESEgoKcmVxdWVzdF9pZBgHIAEoCRIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJQoPaWRlbXBvdGVuY3lfa2V5GAkgASgJQgziQQEC+kIFcgOwAQEiWQoZQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZRI8CgxhdWRpdF9yZWNvcmQYASABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkMsaZAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uEnEKDExpc3RTZXNzaW9ucxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVzcG9uc2UiABJ0Cg1SZXZva2VTZXNzaW9uEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmV2b2tlU2Vzc2lvblJlc3BvbnNlIgASegoPUGluZ1VzZXJTZXNzaW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXNwb25zZSIAErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLgAgoZTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSLHAYgCAZJBjwEKCEF1ZGl0TG9nEg9MaXN0IGF1ZGl0IGxvZ3MacFJldHVybnMgYSBsaXN0IG9mIGF1ZGl0IGxvZ3Mgb2YgYW4gb3JnYW5pemF0aW9uIGluIEZyb250aWVyLiBERVBSRUNBVEVEOiBVc2UgYWRtaW4gTGlzdEF1ZGl0UmVjb3JkcyBBUEkgaW5zdGVhZC5YAYLT5JMCKxIpL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9hdWRpdGxvZ3MS1QIKG0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2UitgGIAgGSQXwKCEF1ZGl0TG9nEhBDcmVhdGUgYXVkaXQgbG9nGlxDcmVhdGUgbmV3IGF1ZGl0IGxvZ3MgaW4gYSBiYXRjaC4gREVQUkVDQVRFRDogVXNlIExpc3RBdWRpdFJlY29yZHMgQVBJIGluc3RlYWQgd2l0aCBmaWx0ZXJzLlgBgtPkkwIuIikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9nczoBKhK1AgoXR2V0T3JnYW5pemF0aW9uQXVkaXRMb2cSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZSKiAYgCAZJBZgoIQXVkaXRMb2cSDUdldCBhdWRpdCBsb2caSUdldCBhbiBhdWRpdCBsb2cgYnkgSUQuIERFUFJFQ0FURUQ6IFVzZSBhZG1pbiBHZXRBdWRpdFJlY29yZCBBUEkgaW5zdGVhZC5YAYLT5JMCMBIuL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9hdWRpdGxvZ3Mve2lkfRKJAgoTRGVzY3JpYmVQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZSKCAZJBXAoKUHJlZmVyZW5jZRIURGVzY3JpYmUgcHJlZmVyZW5jZXMaOFJldHVybnMgYSBsaXN0IG9mIGFsbCBwcmVmZXJlbmNlcyBzdXBwb3J0ZWQgYnkgRnJvbnRpZXIugtPkkwIdEhsvdjFiZXRhMS9wcmVmZXJlbmNlcy90cmFpdHMSxAMKHUNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UinwKSQekBCgpQcmVmZXJlbmNlEh9DcmVhdGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGrkBQ3JlYXRlIGEgbmV3IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcy4gVGhlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbiBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlczoBKhKlAgobTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKGAZJBVAoKUHJlZmVyZW5jZRIdTGlzdCBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMaJ0xpc3QgYW4gb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzEpwDChhDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlIoYCkkHVAQoKUHJlZmVyZW5jZRIaQ3JlYXRlIHByb2plY3QgcHJlZmVyZW5jZXMaqgFDcmVhdGUgYSBuZXcgcHJvamVjdCBwcmVmZXJlbmNlcy4gVGhlIHByb2plY3QgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0IGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJyIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlczoBKhKFAgoWTGlzdFByb2plY3RQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSJ2kkFJCgpQcmVmZXJlbmNlEhhMaXN0IHByb2plY3QgcHJlZmVyZW5jZXMaIUxpc3QgYSBwcm9qZWN0IHByZWZlcmVuY2VzIGJ5IElELoLT5JMCJBIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlcxKMAwoWQ3JlYXRlR3JvdXBQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSL8AZJBzQEKClByZWZlcmVuY2USGENyZWF0ZSBncm91cCBwcmVmZXJlbmNlcxqkAUNyZWF0ZSBhIG5ldyBncm91cCBwcmVmZXJlbmNlcy4gVGhlIGdyb3VwIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZ3JvdXAgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIlIiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlczoBKhL5AQoUTGlzdEdyb3VwUHJlZmVyZW5jZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSJwkkFFCgpQcmVmZXJlbmNlEhZMaXN0IGdyb3VwIHByZWZlcmVuY2VzGh9MaXN0IGEgZ3JvdXAgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIiEiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlcxKEAwoVQ3JlYXRlVXNlclByZWZlcmVuY2VzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL3AZJByQEKClByZWZlcmVuY2USF0NyZWF0ZSB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXM6ASoS8wEKE0xpc3RVc2VyUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2UibZJBQwoKUHJlZmVyZW5jZRIVTGlzdCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXMSoQMKHENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui/wGSQdEBCgpQcmVmZXJlbmNlEh9DcmVhdGUgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXM6ASoSkAIKGkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2UidZJBSwoKUHJlZmVyZW5jZRIdTGlzdCBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlcxKTAgoUQ3JlYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSKJAZJBVAoHQmlsbGluZxIWQ3JlYXRlIGJpbGxpbmcgYWNjb3VudBoxQ3JlYXRlIGEgbmV3IGJpbGxpbmcgYWNjb3VudCBmb3IgYW4gb3JnYW5pemF0aW9uLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nOgEqEvMBChFHZXRCaWxsaW5nQWNjb3VudBIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlc3BvbnNlInOSQTwKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGFjY291bnQaHEdldCBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4SLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9EoUCChRVcGRhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInySQUIKB0JpbGxpbmcSFlVwZGF0ZSBiaWxsaW5nIGFjY291bnQaH1VwZGF0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjEaLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9OgEqEsECChZSZWdpc3RlckJpbGxpbmdBY2NvdW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIrEBkkFuCgdCaWxsaW5nEiRSZWdpc3RlciBiaWxsaW5nIGFjY291bnQgdG8gcHJvdmlkZXIaPVJlZ2lzdGVyIGEgYmlsbGluZyBhY2NvdW50IHRvIGEgcHJvdmlkZXIgaWYgaXQncyBub3QgYWxyZWFkeS6C0+STAjoiNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3JlZ2lzdGVyOgEqEoMCChNMaXN0QmlsbGluZ0FjY291bnRzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlIn2SQUsKB0JpbGxpbmcSFUxpc3QgYmlsbGluZyBhY2NvdW50cxopTGlzdCBiaWxsaW5nIGFjY291bnRzIG9mIGFuIG9yZ2FuaXphdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZxKCAgoURGVsZXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ5kkFCCgdCaWxsaW5nEhZEZWxldGUgYmlsbGluZyBhY2NvdW50Gh9EZWxldGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKNAgoURW5hYmxlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSKDAZJBQgoHQmlsbGluZxIWRW5hYmxlIGJpbGxpbmcgYWNjb3VudBofRW5hYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZW5hYmxlOgEqEukCChVEaXNhYmxlQmlsbGluZ0FjY291bnQSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlItwBkkGZAQoHQmlsbGluZxIXRGlzYWJsZSBiaWxsaW5nIGFjY291bnQadURpc2FibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQuIERpc2FibGluZyBhIGJpbGxpbmcgYWNjb3VudCBkb2Vzbid0IGF1dG9tYXRpY2FsbHkgZGlzYWJsZSBpdCdzIGFjdGl2ZSBzdWJzY3JpcHRpb25zLoLT5JMCOSI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZGlzYWJsZToBKhKLAgoRR2V0QmlsbGluZ0JhbGFuY2USMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZSKKAZJBSwoHQmlsbGluZxITR2V0IGJpbGxpbmcgYmFsYW5jZRorR2V0IHRoZSBiYWxhbmNlIG9mIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vYmFsYW5jZRL6AQoKSGFzVHJpYWxlZBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXNwb25zZSKOAZJBPwoHQmlsbGluZxILSGFzIHRyaWFsZWQaJ0NoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyB0cmlhbGVkLoLT5JMCRhJEL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcGxhbnMve3BsYW5faWR9L3RyaWFsZWQSxwIKD0dldFN1YnNjcmlwdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2UizAGSQTsKDFN1YnNjcmlwdGlvbhIQR2V0IHN1YnNjcmlwdGlvbhoZR2V0IGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMChwESRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9WjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0S6gIKEkNhbmNlbFN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2Ui5gGSQUEKDFN1YnNjcmlwdGlvbhITQ2FuY2VsIHN1YnNjcmlwdGlvbhocQ2FuY2VsIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKhLTAgoRTGlzdFN1YnNjcmlwdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZSLSAZJBTAoMU3Vic2NyaXB0aW9uEhJMaXN0IHN1YnNjcmlwdGlvbnMaKExpc3Qgc3Vic2NyaXB0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAn0SQi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9uc1o3EjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucxL0AgoSQ2hhbmdlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXNwb25zZSLwAZJBSwoMU3Vic2NyaXB0aW9uEhhDaGFuZ2Ugc3Vic2NyaXB0aW9uIHBsYW4aIUNoYW5nZSBhIHN1YnNjcmlwdGlvbiBwbGFuIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKhLcAgoSVXBkYXRlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZSLYAZJBQQoMU3Vic2NyaXB0aW9uEhNVcGRhdGUgc3Vic2NyaXB0aW9uGhxVcGRhdGUgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKNARpHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH06ASpaPyI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfToBKhLYAQoNQ3JlYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXNwb25zZSJkkkE9CgdQcm9kdWN0Eg5DcmVhdGUgcHJvZHVjdBoiQ3JlYXRlIGEgbmV3IHByb2R1Y3QgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0czoBKhLAAQoKR2V0UHJvZHVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXNwb25zZSJVkkEsCgdQcm9kdWN0EgtHZXQgcHJvZHVjdBoUR2V0IGEgcHJvZHVjdCBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfRLPAQoMTGlzdFByb2R1Y3RzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXNwb25zZSJekkE6CgdQcm9kdWN0Eg1MaXN0IHByb2R1Y3RzGiBMaXN0IGFsbCBwcm9kdWN0cyBvZiBhIHBsYXRmb3JtLoLT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cxLSAQoNVXBkYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXNwb25zZSJekkEyCgdQcm9kdWN0Eg5VcGRhdGUgcHJvZHVjdBoXVXBkYXRlIGEgcHJvZHVjdCBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfToBKhLYAQoNQ3JlYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXNwb25zZSJkkkE9CgdGZWF0dXJlEg5DcmVhdGUgZmVhdHVyZRoiQ3JlYXRlIGEgbmV3IGZlYXR1cmUgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlczoBKhLAAQoKR2V0RmVhdHVyZRIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXNwb25zZSJVkkEsCgdGZWF0dXJlEgtHZXQgZmVhdHVyZRoUR2V0IGEgZmVhdHVyZSBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfRLSAQoNVXBkYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXNwb25zZSJekkEyCgdGZWF0dXJlEg5VcGRhdGUgZmVhdHVyZRoXVXBkYXRlIGEgZmVhdHVyZSBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfToBKhLAAQoMTGlzdEZlYXR1cmVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXNwb25zZSJPkkErCgdGZWF0dXJlEg1MaXN0IGZlYXR1cmVzGhFMaXN0IGFsbCBmZWF0dXJlc4LT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcxLDAQoKQ3JlYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXNwb25zZSJYkkE0CgRQbGFuEgtDcmVhdGUgcGxhbhofQ3JlYXRlIGEgbmV3IHBsYW4gZm9yIHBsYXRmb3JtLoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9wbGFuczoBKhKsAQoJTGlzdFBsYW5zEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXNwb25zZSJEkkEjCgRQbGFuEgpMaXN0IHBsYW5zGg9MaXN0IGFsbCBwbGFucy6C0+STAhgSFi92MWJldGExL2JpbGxpbmcvcGxhbnMSqwEKB0dldFBsYW4SKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVzcG9uc2UiSZJBIwoEUGxhbhIIR2V0IHBsYW4aEUdldCBhIHBsYW4gYnkgSUQugtPkkwIdEhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH0SvQEKClVwZGF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVzcG9uc2UiUpJBKQoEUGxhbhILVXBkYXRlIHBsYW4aFFVwZGF0ZSBhIHBsYW4gYnkgSUQugtPkkwIgGhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH06ASoShQMKDkNyZWF0ZUNoZWNrb3V0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVzcG9uc2UijQKSQYgBCghDaGVja291dBIiQ2hlY2tvdXQgYSBwcm9kdWN0IG9yIHN1YnNjcmlwdGlvbhpYQ2hlY2tvdXQgYSBwcm9kdWN0IHRvIGJ1eSBpdCBvbmUgdGltZSBvciBzdGFydCBhIHN1YnNjcmlwdGlvbiBwbGFuIG9uIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCeyI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHM6ASpaNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0czoBKhK3AgoNTGlzdENoZWNrb3V0cxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXNwb25zZSLCAZJBRAoIQ2hlY2tvdXQSDkxpc3QgY2hlY2tvdXRzGihMaXN0IGFsbCBjaGVja291dHMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ1Ej4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0c1ozEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzEqYCCgtHZXRDaGVja291dBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlc3BvbnNlIrcBkkEvCghDaGVja291dBIMR2V0IGNoZWNrb3V0GhVHZXQgYSBjaGVja291dCBieSBJRC6C0+STAn8SQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzL3tpZH1aOBI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cy97aWR9EtwCChdDaGVja0ZlYXR1cmVFbnRpdGxlbWVudBI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlIskBkkFWCgtFbnRpdGxlbWVudBIRQ2hlY2sgZW50aXRsZW1lbnQaNENoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGlzIGVudGl0bGVkIHRvIGEgZmVhdHVyZS6C0+STAmoiOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2s6ASpaKSIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL2NoZWNrOgEqEp8CChZDaGVja0NyZWRpdEVudGl0bGVtZW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlc3BvbnNlIo8BkkFrCgtFbnRpdGxlbWVudBIYQ2hlY2sgY3JlZGl0IGVudGl0bGVtZW50GkJDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgZW5vdWdoIGNyZWRpdHMgdG8gY292ZXIgdGhlIGFtb3VudC6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvY2hlY2s6ASoSyQIKEkNyZWF0ZUJpbGxpbmdVc2FnZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVzcG9uc2UixQGSQVAKBVVzYWdlEhRDcmVhdGUgYmlsbGluZyB1c2FnZRoxUmVwb3J0IGEgbmV3IGJpbGxpbmcgdXNhZ2UgZm9yIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCbCI7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS91c2FnZXM6ASpaKiIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL3VzYWdlczoBKhLsAgoXTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBVQoLVHJhbnNhY3Rpb24SGUxpc3QgYmlsbGluZyB0cmFuc2FjdGlvbnMaK0xpc3QgYWxsIHRyYW5zYWN0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsSQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdHJhbnNhY3Rpb25zWjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy90cmFuc2FjdGlvbnMS7wIKGFRvdGFsRGViaXRlZFRyYW5zYWN0aW9ucxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQX8KC1RyYW5zYWN0aW9uEjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzGjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzgtPkkwJREk8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2RlYml0ZWRfdHJhbnNhY3Rpb25zX3RvdGFsEq8CCgxMaXN0SW52b2ljZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1Jlc3BvbnNlIr0BkkFBCgdJbnZvaWNlEg1MaXN0IGludm9pY2VzGidMaXN0IGFsbCBpbnZvaWNlcyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnMSPS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXNaMhIwL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzEuICChJHZXRVcGNvbWluZ0ludm9pY2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlc3BvbnNlIt4BkkFPCgdJbnZvaWNlEhRHZXQgdXBjb21pbmcgaW52b2ljZRouR2V0IHRoZSB1cGNvbWluZyBpbnZvaWNlIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMChQESRi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXMvdXBjb21pbmdaOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzL3VwY29taW5nEpwCChZCaWxsaW5nV2ViaG9va0NhbGxiYWNrEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1Jlc3BvbnNlIowBkkFOCgdXZWJob29rEhZBY2NlcHQgQmlsbGluZyB3ZWJob29rGitBY2NlcHRzIGEgQmlsbGluZyB3ZWJob29rIGFuZCBwcm9jZXNzZXMgaXQugtPkkwI1Ii0vdjFiZXRhMS9iaWxsaW5nL3dlYmhvb2tzL2NhbGxiYWNrL3twcm92aWRlcn06BGJvZHkSkQIKFENyZWF0ZVByb3NwZWN0UHVibGljEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVzcG9uc2UihwGSQWcKCFByb3NwZWN0Eg9DcmVhdGUgcHJvc3BlY3QaSkNyZWF0ZSBwcm9zcGVjdCBmb3IgZ2l2ZW4gZW1haWwgYW5kIGFjdGl2aXR5LiBBdmFpbGFibGUgZm9yIHB1YmxpYyBhY2Nlc3MugtPkkwIXIhIvdjFiZXRhMS9wcm9zcGVjdHM6ASoSgAEKEUNyZWF0ZUF1ZGl0UmVjb3JkEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVzcG9uc2UiAELyDQojaW8ucmF5c3RhY2sucHJvdG9uLmZyb250aWVyLnYxYmV0YTFCCEZyb250aWVyWjtnaXRodWIuY29tL3JheXN0YWNrL3Byb3Rvbi9mcm9udGllci92MWJldGExO2Zyb250aWVydjFiZXRhMZJBgg0SHgoVRnJvbnRpZXIgR2VuZXJhbCBBUElzMgUwLjIuMBoOMTI3LjAuMC4xOjc0MDAqAQEyEGFwcGxpY2F0aW9uL2pzb246EGFwcGxpY2F0aW9uL2pzb25SPAoDMjAwEjUKG09LIC0gQSBzdWNjZXNzZnVsIHJlc3BvbnNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JpCgM0MDASYgpIQmFkIFJlcXVlc3QgLSBUaGUgcmVxdWVzdCB3YXMgbWFsZm9ybWVkIG9yIGNvbnRhaW5lZCBpbnZhbGlkIHBhcmFtZXRlcnMuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUkoKAzQwMRJDCilVbmF1dGhvcml6ZWQgLSBBdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZBIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JhCgM0MDMSWgpARm9yYmlkZGVuIC0gVXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZRIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JRCgM0MDQSSgowTm90IEZvdW5kIC0gVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUnUKAzUwMBJuClRJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IuIFJldHVybmVkIHdoZW4gdGhlcmVzIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIEZyb250aWVyIHNlcnZlci4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNatgEKRAoFQmFzaWMSOwgBEh9DbGllbnQgSUQvU2VjcmV0IGF1dGhlbnRpY2F0aW9uGhRCYXNpYyBBdXRoZW50aWNhdGlvbiACCm4KBkJlYXJlchJkCAIST1RoZSBBdXRob3JpemF0aW9uIGhlYWRlciBtdXN0IGJlIHNldCB0byBCZWFyZXIgZm9sbG93ZWQgYnkgYSBzcGFjZSBhbmQgYSB0b2tlbi4aDUF1dGhvcml6YXRpb24gAmITCgcKBUJhc2ljCggKBkJlYXJlcmoGCgRVc2VyaoIDCgVHcm91cBL4Akdyb3VwcyBpbiBGcm9udGllciBhcmUgdXNlZCB0byBtYW5hZ2UgdXNlcnMgYW5kIHRoZWlyIGFjY2VzcyB0byByZXNvdXJjZXMuIEVhY2ggZ3JvdXAgaGFzIGEgdW5pcXVlIG5hbWUgYW5kIGlkIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ3JhbnQgYWNjZXNzIHRvIHJlc291cmNlcy4gV2hlbiBhIHVzZXIgaXMgYWRkZWQgdG8gYSBncm91cCwgdGhleSBpbmhlcml0IHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgdGhhdCBoYXZlIGJlZW4gZ3JhbnRlZCB0byB0aGUgZ3JvdXAuIFRoaXMgYWxsb3dzIHlvdSB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcyBhdCBzY2FsZSwgd2l0aG91dCBoYXZpbmcgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG8gaW5kaXZpZHVhbCB1c2Vycy5qBgoEUm9sZWoOCgxPcmdhbml6YXRpb25qCQoHUHJvamVjdGoICgZQb2xpY3lqCgoIUmVsYXRpb25qDAoKUGVybWlzc2lvbmoLCglOYW1lc3BhY2VqCgoIUmVzb3VyY2VqGwoFQXV0aHoSEkF1dGhvcml6YXRpb24gQVBJc2ocCgVBdXRobhITQXV0aGVudGljYXRpb24gQVBJc2qQAgoKTWV0YVNjaGVtYRKBAk1hbmFnZSBNZXRhZGF0YSBTY2hlbWFzIHdoaWNoIGFyZSB1c2VkIHRvIHZhbGlkYXRlIG1ldGFkYXRhIG9iamVjdCB3aGlsZSBjcmVhdGluZyB1c2VyL29yZy9ncm91cC9yb2xlLiBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBkZWZhdWx0IG1ldGFzY2hlbWFzIHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMuIFlvdSBjYW4gYWxzbyB1cGRhdGUgdGhlc2UgbWV0YXNjaGVtYXMgdG8gYWRkL2VkaXQgbW9yZSBmaWVsZHMuYgZwcm90bzM", [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.
@@ -2585,6 +2585,62 @@ export const CreateProspectPublicRequestSchema = /*@__PURE__*/
2585
2585
  export const CreateProspectPublicResponseSchema = /*@__PURE__*/
2586
2586
  messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
2587
2587
 
2588
+ /**
2589
+ * Describes the message raystack.frontier.v1beta1.ListSessionsRequest.
2590
+ * Use `create(ListSessionsRequestSchema)` to create a new message.
2591
+ */
2592
+ export const ListSessionsRequestSchema = /*@__PURE__*/
2593
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 357);
2594
+
2595
+ /**
2596
+ * Describes the message raystack.frontier.v1beta1.ListSessionsResponse.
2597
+ * Use `create(ListSessionsResponseSchema)` to create a new message.
2598
+ */
2599
+ export const ListSessionsResponseSchema = /*@__PURE__*/
2600
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 358);
2601
+
2602
+ /**
2603
+ * Describes the message raystack.frontier.v1beta1.RevokeSessionRequest.
2604
+ * Use `create(RevokeSessionRequestSchema)` to create a new message.
2605
+ */
2606
+ export const RevokeSessionRequestSchema = /*@__PURE__*/
2607
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 359);
2608
+
2609
+ /**
2610
+ * Describes the message raystack.frontier.v1beta1.RevokeSessionResponse.
2611
+ * Use `create(RevokeSessionResponseSchema)` to create a new message.
2612
+ */
2613
+ export const RevokeSessionResponseSchema = /*@__PURE__*/
2614
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 360);
2615
+
2616
+ /**
2617
+ * Describes the message raystack.frontier.v1beta1.PingUserSessionRequest.
2618
+ * Use `create(PingUserSessionRequestSchema)` to create a new message.
2619
+ */
2620
+ export const PingUserSessionRequestSchema = /*@__PURE__*/
2621
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 361);
2622
+
2623
+ /**
2624
+ * Describes the message raystack.frontier.v1beta1.PingUserSessionResponse.
2625
+ * Use `create(PingUserSessionResponseSchema)` to create a new message.
2626
+ */
2627
+ export const PingUserSessionResponseSchema = /*@__PURE__*/
2628
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 362);
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
+
2588
2644
  /**
2589
2645
  * @generated from service raystack.frontier.v1beta1.FrontierService
2590
2646
  */