IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBleHRlcm5hbCBsaWJyYXJ5IGRhdGEgcGFja2FnZXMsIG5vdCBwYXJ0IG9mIHRoZSBzb3VyY2UgcmVsZWFzZS4KIwoKZXh0X3NvdXJjZXMvCmV4dF9saWJyYXJpZXMvCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBleHRlcm5hbCBsaWJyYXJpZXMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIHNvdXJjZSByZWxlYXNlLCBidXQgbWF5IGJlIGJ1aWx0CiMgZm9yIHRoZSBiaW5hcnkgQU9PIGluY2FybmF0aW9ucyBkZXBlbmRlbnQgb24gdGhlIHVzZWQgY29uZmlndXJlIHN3aXRjaGVzLiAKIyBFYWNoIHN1YnByb2plY3QgY29udGFpbnMgYSBmcmFtZXdvcmsgdG8gZ2V0IHRoZSBsaWJyYXJ5IGFzIHRhcmJhbGwgKGZyb20gCiMgZXh0X3NvdXJjZXMpLCBwYXRjaCBhbmQgYnVpbGQgaXQuIEl0IGRvZXMgbm90IGNvbnRhaW4gdGhlIGV4dGVybmFsIGxpYnJhcmllcwojIHRoZW1zZWx2ZXMuCiMKCmV4dHJhcy8KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIGZpbGVzIGluIHRoZSBTR0EgYnV0IHdpdGggbm8gbGljZW5zZSB5ZXQgKGluIHByb2dyZXNzKQojCgptYWluL3N3ZXh0L21lZGlhd2lraS9zcmMvZmlsdGVyL29kdDJtZWRpYXdpa2kueHNsCm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2NsaXBib2FyZC9kdW1teS50eHQKbWFpbi91cmUvc291cmNlL1RISVJEUEFSVFlMSUNFTlNFUkVBRE1FLmh0bWwKCm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL0RvY3VtZW50Q29sbGVjdG9yLmN4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL2ZpbHRlci9Eb2N1bWVudENvbGxlY3Rvci5oeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvRG9jdW1lbnRFbGVtZW50LmN4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL2ZpbHRlci9Eb2N1bWVudEVsZW1lbnQuaHh4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL0RvY3VtZW50SGFuZGxlci5jeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvRmlsdGVySW50ZXJuYWwuaHh4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL0ZvbnRTdHlsZS5jeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvRm9udFN0eWxlLmh4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL2ZpbHRlci9MaXN0U3R5bGUuY3h4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL0xpc3RTdHlsZS5oeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvUGFnZVNwYW4uY3h4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL1BhZ2VTcGFuLmh4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL2ZpbHRlci9TZWN0aW9uU3R5bGUuY3h4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL1NlY3Rpb25TdHlsZS5oeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvU3R5bGUuaHh4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL1RhYmxlU3R5bGUuY3h4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL1RhYmxlU3R5bGUuaHh4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2UvZmlsdGVyL1RleHRSdW5TdHlsZS5jeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9maWx0ZXIvVGV4dFJ1blN0eWxlLmh4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL2ZpbHRlci9Xcml0ZXJQcm9wZXJ0aWVzLmh4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL3N0cmVhbS9XUFhTdlN0cmVhbS5jeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS9zdHJlYW0vV1BYU3ZTdHJlYW0uaAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL3dwZGltcC9Xb3JkUGVyZmVjdENvbGxlY3Rvci5jeHgKbWFpbi93cml0ZXJwZXJmZWN0L3NvdXJjZS93cGRpbXAvV29yZFBlcmZlY3RDb2xsZWN0b3IuaHh4Cm1haW4vd3JpdGVycGVyZmVjdC9zb3VyY2Uvd3BkaW1wL1dvcmRQZXJmZWN0SW1wb3J0RmlsdGVyLmN4eAptYWluL3dyaXRlcnBlcmZlY3Qvc291cmNlL3dwZGltcC9Xb3JkUGVyZmVjdEltcG9ydEZpbHRlci5oeHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIHNtYWxsIGZpbGVzIHdpdGggbm8gY3JlYXRpdmUgY29udGVudAojCgptYWluL2F1dG9tYXRpb24vc291cmNlL21pbmlhcHAvdGVzdC5zaWQKbWFpbi90ZXN0YXV0b21hdGlvbi9ncmFwaGljcy9yZXF1aXJlZC9pbnB1dC9laW5mZy5pbmkKbWFpbi9zZC9yZXMvd2Vidmlldy9lZGl0LnBsCm1haW4vc2QvcmVzL3dlYnZpZXcvaW5kZXgucGwKbWFpbi9xYWRldk9Pby90ZXN0cy9qYXZhL21vZC9famF2YXZtLnVuby9wYWNrYWdlLmh0bWwKbWFpbi9zYWwvcWEvcnRsL3JhbmRvbS9tYWtlZmlsZS5hZGQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZXhwb3J0L2ZpbHRlci9hY3RfMS5hbGwKbWFpbi9pY2Mvc291cmNlL2NyZWF0ZV9zUkdCX3Byb2ZpbGUvTWFrZWZpbGUuYW0KbWFpbi9zeXN1aS9kZXNrdG9wL21pbWV0eXBlcy9vcGVub2ZmaWNlLmFwcGxpY2F0aW9ucwptYWluL2JpbmZpbHRlci9iZl9zZngyL3V0aWwvbWFrZV90Y28uYnRtCm1haW4vZnJhbWV3b3JrL3Rlc3QvdGhyZWFkdGVzdC90ZXN0LmJ0bQptYWluL2ZyYW1ld29yay90ZXN0L3R5cGVjZmcvYnVpbGQuYnRtCm1haW4vbDEwbnRvb2xzL3dvcmtiZW5jaC9nc2ljaGVja2NoZWNrLmJ0bQptYWluL3NjcDIvc291cmNlL21rb3BlbndpdGguYnRtCm1haW4vc2Z4Mi91dGlsL21ha2VfdGNvLmJ0bQptYWluL2NoYXJ0Mi9xYS9kYXRhLmNoZAptYWluL2V4dHJhcy91bngvc291cmNlL2ZvbnRzL2ZvbnRzLmRpcgptYWluL2V4dHJhcy91bngvc291cmNlL2tkZS9hcHBsbmsvLmRpcmVjdG9yeQptYWluL3NmeDIvcWEvY29tcGxleC9zZngyL3Rlc3Rkb2N1bWVudHMvZW1wdHkucmRmCm1haW4vY3Jhc2hyZXAvc291cmNlL3dpbjMyL2N0cnlsbmdsaXN0LnR4dAptYWluL2NyYXNocmVwL3NvdXJjZS93aW4zMi9yY2Zvb3Rlci50eHQKbWFpbi9kYmFjY2Vzcy91aWNvbmZpZy9kYmJyb3dzZXIvbWVudWJhci9wcmVzZXJ2ZS50eHQKbWFpbi9kZXNrdG9wL3dpbjMyL3NvdXJjZS9yZWJhc2UvcmNmb290ZXIudHh0Cm1haW4vZGVza3RvcC93aW4zMi9zb3VyY2UvcmViYXNlL3JjdG1wbC50eHQKbWFpbi9kZXNrdG9wL3dpbjMyL3NvdXJjZS9zZXR1cC9yY2Zvb3Rlci50eHQKbWFpbi9oZWxwY29udGVudDIvaGVscGVycy91bm9jbWRzLnR4dAptYWluL29mZmljZWNmZy91dGlsL2RlbGNvbW1lbnQuc2VkCm1haW4vc2QvdXRpbC9zZGZpbHQubWFwCm1haW4vc2RleHQvc291cmNlL21pbmltaXplci9oZWxwL2NvbXBvbmVudC50eHQKbWFpbi9zZGV4dC9zb3VyY2UvcGRmaW1wb3J0L2hlbHAvY29tcG9uZW50LnR4dAptYWluL3NkZXh0L3NvdXJjZS9wcmVzZW50ZXIvaGVscC9jb21wb25lbnQudHh0Cm1haW4vc2V0dXBfbmF0aXZlL3NvdXJjZS9wYWNraW5mby9wYWNrYWdlLnR4dAptYWluL3NldHVwX25hdGl2ZS9zb3VyY2UvcGFja2luZm8vc2hlbGxzY3JpcHRzLnR4dAptYWluL3NldHVwX25hdGl2ZS9zb3VyY2UvcGFja2luZm8vc2hlbGxzY3JpcHRzX3Jvb3QudHh0Cm1haW4vc2hlbGwvc291cmNlL3VuaXgvZXhlYy91cmx0ZXN0LnR4dAptYWluL3NoZWxsL3NvdXJjZS93aW4zMi9zaGx4dGhhbmRsZXIvcmVzL2N0cnlsbmdsaXN0LnR4dAptYWluL3NoZWxsL3NvdXJjZS93aW4zMi9zaGx4dGhhbmRsZXIvcmVzL3JjZm9vdGVyLnR4dAptYWluL3NoZWxsL3NvdXJjZS93aW4zMi9zaGx4dGhhbmRsZXIvcmVzL3JjaGVhZGVyLnR4dAptYWluL3NvbGVudi9iaW4vY2hyZWwuc2VkCm1haW4vc3lzdWkvZGVza3RvcC9zaGFyZS9hZGRfc3BlY2ZpbGVfdHJpZ2dlcnMuc2VkCm1haW4vdGVzdGF1dG9tYXRpb24vZGJhY2Nlc3Mvb3B0aW9uYWwvaW5wdXQvdGV4dF9kYXRhc291cmNlL1RUX1F1ZXJ5MS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9kYmFjY2Vzcy9vcHRpb25hbC9pbnB1dC90ZXh0X2RhdGFzb3VyY2UvdGV4dF9kYXRhYmFzZS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9leHRlbnNpb25zL29wdGlvbmFsL2lucHV0L2ZpbGVzLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2ZyYW1ld29yay9vcHRpb25hbC9pbnB1dC9leHRyYXNfZm9ybWF0cy9UYWJsZXNfY2FsY19lbi1VUy50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvZXh0cmFzX2Zvcm1hdHMvVGFibGVzX3dyaXRlcl9lbi1VUy50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvb3B0aW9ucy9wYXRoc18xLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dsb2JhbC9pbnB1dC9maWx0ZXJzL2dyYXBoaWNfZmlsdGVycy50eHQKbWFpbi9kZXNrdG9wL3Rlc3QvZGVwbG95bWVudC91cGRhdGUvcHVibGlzaGVyL3JlbGVhc2Utbm90ZXNfZGUtREUuaHRtbAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgU2luZ2xlIGZpbGVzIHRvIGV4Y2x1ZGUKIwoKIyBvd24gbGljZW5zZSBmaWxlcwptYWluL0xJQ0VOU0VfY2F0ZWdvcnlfYgptYWluL05PVElDRV9jYXRlZ29yeV9iCm1haW4vTElDRU5TRV9hZ2dyZWdhdGVkCm1haW4vTk9USUNFX2FnZ3JlZ2F0ZWQKCiMgcGFydCBvZiBTR0EKIyBDb250YWlucyBhIGxpc3Qgb2YgbGFiZWxzIHVzZWQgZm9yIHByaW50aW5nOyBubyBoZWFkZXIgcG9zc2libGUKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvZXh0cmFzX2Zvcm1hdHMvTGFiZWxzX2VuLVVTLnR4dAoKIyBVc2VkIGluIHdyaXRlcmZpbHRlci9zb3VyY2UvZG9jdG9rL3htaWdlbi5lbCAoMSksIHBhcnQgb2YgdGhlIFNHQQojIFhFbWFjcyBMaXN0IChjb25maWcgZmlsZSksIGNvbW1lbnRzIHBvc3NpYmxlICh1c2luZyAnOycgYXQgZWFjaCBsaW5lIHN0YXJ0KSwgQUx2MiBjb3VsZCBiZSBhZGRlZAptYWluL3dyaXRlcmZpbHRlci9zb3VyY2UvZG9jdG9rL3htaWdlbi5lbAoKIyBVc2VkIGluIG1haW4vZXh0cmFzL3NvdXJjZS9taXNjX2NvbmZpZy9hdXRvdGJsLmZtdCAoMSksIHBhcnQgb2YgU0dBCiMgRXhjZWwgZm9ybWF0IGZpbGUsIGJpbmFyeQptYWluL2V4dHJhcy9zb3VyY2UvbWlzY19jb25maWcvYXV0b3RibC5mbXQKCiMgVXNlZCBpbiBtYWluL21pZ3JhdGlvbmFuYWx5c2lzL3NyYy93aXphcmQvV2l6YXJkLkZSWCAoMSksIHBhcnQgb2YgU0dBCiMgYmluYXJ5IGluZm9ybWF0aW9uIGZvciBhIFZpc3VhbCBCYXNpYyBmb3JtICg/KQptYWluL21pZ3JhdGlvbmFuYWx5c2lzL3NyYy93aXphcmQvV2l6YXJkLkZSWAoKIyBVc2VkIGluIG1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ltcG9ydC9oYW5ndWwuaHdwICgxKSwgcGFydCBvZiBTR0EKIyBiaW5hcnk/IEFPTyBzcGVjaWZpYz8gSGFuZ3VsIFdvcmQgUHJvY2Vzc29yIGZpbGUKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvaW1wb3J0L2hhbmd1bC5od3AKCiMgbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9lZGl0b3IvT09vLmpjYiAoMSksIHBhcnQgb2YgU0dBCiMgYmluYXJ5LCBmaWxlIHR5cGUgbm90IGNsZWFyCm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvZWRpdG9yL09Pby5qY2IKCiMgbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9lZGl0b3IvT09vLmpjcyAoMSksIHBhcnQgb2YgU0dBCiMgYmluYXJ5LCBmaWxlIHR5cGUgbm90IGNsZWFyCm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvZWRpdG9yL09Pby5qY3MKCiMgbWFpbi93cml0ZXJmaWx0ZXIvcWEvY3BwdW5pdHRlc3RzL2RvY3Rvay9kb2N0b2suam9iICgxKSwgcGFydCBvZiBTR0EKIyBhc2NpaSwgb25lIGxpbmUsIHN1cHBvcnQgb2YgY29tbWVudHMgbm90IGNsZWFyCm1haW4vd3JpdGVyZmlsdGVyL3FhL2NwcHVuaXR0ZXN0cy9kb2N0b2svZG9jdG9rLmpvYgoKIyB1c2VkIGluIG1haW4vb2ZmaWNlY2ZnL3JlZ2lzdHJ5L3NjaGVtYS9vby1jb21tb24ubGRpZiAoMSksIHBhcnQgb2YgU0dBCiMgYXNjaWksIGluY2x1ZGVkIGluIG1ha2VmaWxlcywgQUx2MiBtaWdodCBiZSBhZGRlZAptYWluL29mZmljZWNmZy9yZWdpc3RyeS9zY2hlbWEvb28tY29tbW9uLmxkaWYKCiMgdXNlZCBpbiBtYWluL3dpemFyZHMvdXRpbC9zb2ZmaWNlLmxuayAoMSksIHBhcnQgb2YgU0dBCiMgTGlua2luZyBvZiBNb2R1bGVzIHRvIFNCTHMgKD8pCm1haW4vd2l6YXJkcy91dGlsL3NvZmZpY2UubG5rCgojIHVzZWQgaW4gbWFpbi9zdy9zb3VyY2UvdWkvbGluZ3UvY3ZkYXRhLm1hYyAoMSksIHBhcnQgb2YgU0dBCiMgc29tZSBzY3JpcHRmaWxlLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vc3cvc291cmNlL3VpL2xpbmd1L2N2ZGF0YS5tYWMKCiMgdXNlZCBpbiBtYWluL3Zvcy91dGlsL2xpYnZvczFDNTAuc28ubWFwZmlsZSAoMSksIHBhcnQgb2YgU0dBCiMgQU9PIGJ1aWxkIHNwZWNpZmljIG1hcHBpbmcgZmlsZSwgbm8gY3JlYXRpdmUgY29udGVudAptYWluL3Zvcy91dGlsL2xpYnZvczFDNTAuc28ubWFwZmlsZQoKIyB1c2VkIGluIG1haW4vc3lzdWkvZGVza3RvcC9taW1ldHlwZXMvb3Blbm9mZmljZS5taW1lICgxKSwgcGFydCBvZiBTR0EKIyBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vc3lzdWkvZGVza3RvcC9taW1ldHlwZXMvb3Blbm9mZmljZS5taW1lCgojIHVzZWQgaW4gbWFpbi9vZGsvZXhhbXBsZXMvamF2YS9Ob3Rlc0FjY2Vzcy9TdG9ja3MubnNmICgxKSwgcGFydCBvZiBTR0EKIyBzZWVtcyBiaW5hcnkgKDM4NGtiKSA/Cm1haW4vb2RrL2V4YW1wbGVzL2phdmEvTm90ZXNBY2Nlc3MvU3RvY2tzLm5zZgoKIyB1c2VkIGluIG1haW4vc2V0dXBfbmF0aXZlL3NvdXJjZS93aW4zMi9uc2lzL2Rvd25sb2FkdGVtcGxhdGUubnNpICgxKSwgcGFydCBvZiBTR0EKIyBwYWNrYWdpbmcgaW5mb3MsIG5vIGNyZWF0aXZlIGNvbnRlbnQKbWFpbi9zZXR1cF9uYXRpdmUvc291cmNlL3dpbjMyL25zaXMvZG93bmxvYWR0ZW1wbGF0ZS5uc2kKCiMgdXNlZCBpbiBtYWluL3N5c3VpL2Rlc2t0b3AvZGViaWFuL29wZW5vZmZpY2Uub3JnLWRlYmlhbi1tZW51cyAoMSksIHBhcnQgb2YgU0dBCiMgZGViaWFuIGRlc2t0b3AgY29uZmlndXJhdGlvbiBzdHVmZiwgbm8gY3JlYXRpdmUgY29udGVudAptYWluL3N5c3VpL2Rlc2t0b3AvZGViaWFuL29wZW5vZmZpY2Uub3JnLWRlYmlhbi1tZW51cwoKIyB1c2VkIGluIG1haW4vdXJlL3NvdXJjZS91cmV0ZXN0L01ha2VmaWxlLnBsbiAoMSksIHBhcnQgb2YgU0dBCiMgdXNlZCBmb3IgYnVpbGQgc3lzdGVtLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vdXJlL3NvdXJjZS91cmV0ZXN0L01ha2VmaWxlLnBsbgoKIyB1c2VkIGluIG1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ltcG9ydC9wb2NrZXR3b3JkLnBzdyAoMSksIHBhcnQgb2YgU0dBCiMgUG9ja2V0V29yZCBkb2N1bWVudCwgdXNlZCBmb3IgdGVzdGluZwptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9pbXBvcnQvcG9ja2V0d29yZC5wc3cKCiMgdXNlZCBpbiBtYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9pbXBvcnQvYW1pcHJvMy5zYW0gKDEpLCBwYXJ0IG9mIFNHQQojIHNpbmxnZSBBbWkgUHJvIDMuMCB0ZXN0IGZpbGUgZm9yIGF1dG9tYXRlZCB0ZXN0aW5nCm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ltcG9ydC9hbWlwcm8zLnNhbQoKIyB1c2VkIGluIG1haW4vZXh0cmFzL3NvdXJjZS90cnVldHlwZS9zeW1ib2wvT3BlblN5bWJvbC5zZmQgKDEpLCBwYXJ0IG9mIFNHQQojIEFPTyBzcGVjaWZpYyBPcGVuU3ltYm9sIHNvdXJjZSBmaWxlLCAoUylvdXJjZShGKW9yZ2UoRClhdGEsIHJlY2VudGx5IGNhbGxlZCAoUylwbGluZShGKW9udChEKWF0YQptYWluL2V4dHJhcy9zb3VyY2UvdHJ1ZXR5cGUvc3ltYm9sL09wZW5TeW1ib2wuc2ZkCgojIHVzZWQgaW4gbWFpbi93cml0ZXJmaWx0ZXIvc291cmNlL3J0ZnRvay9SVEZTY2FubmVyLnNrbCAoMSksIHBhcnQgb2YgU0dBIAojIGJpbmFyeSBmaWxlICg/KQptYWluL3dyaXRlcmZpbHRlci9zb3VyY2UvcnRmdG9rL1JURlNjYW5uZXIuc2tsCgojIHVzZWQgaW4gbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9taWNyb3NvZnQvc3lsay5zbGsgKDEpLCBwYXJ0IG9mIFNHQSAKIyBTWUxLIHNwcmVhZHNoZWV0LCBhc2NpaS4gQ29tbWVudHMgcG9zc2libGUgKHNlZSBpbiBmaWxlKSwgQUx2MiBtYXkgYmUgYWRkZWQgaGVyZQptYWluL3Rlc3RhdXRvbWF0aW9uL3NwcmVhZHNoZWV0L29wdGlvbmFsL2lucHV0L2xvYWRzYXZlL21pY3Jvc29mdC9zeWxrLnNsawoKIyB1c2VkIGluIG1haW4vY2xpX3VyZS9zb3VyY2UvY2xpdW5vLnNuayAoMSksIHBhcnQgb2YgU0dBCiMgU3Ryb25nIE5hbWUgS2V5IEZpbGUgKE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiksIGJpbmFyeQptYWluL2NsaV91cmUvc291cmNlL2NsaXVuby5zbmsKCiMgdXNlZCBpbiBtYWluL2V4dHJhcy9zb3VyY2UvcGFsZXR0ZXMvc3RhbmRhcmQuc29iICgxKSwgcGFydCBvZiBTR0EKIyBBT08gZmlsbCBwYXR0ZXJuIChzZWUgaHR0cDovL3d3dy5vcGVub2ZmaWNlLm9yZy9kZXZfZG9jcy9zb3VyY2UvZmlsZV9leHRlbnNpb25zLmh0bWwpCm1haW4vZXh0cmFzL3NvdXJjZS9wYWxldHRlcy9zdGFuZGFyZC5zb2IKCiMgbWFpbi9leHRyYXMvc291cmNlL3RydWV0eXBlL3N5bWJvbC9vcGVuc19fXy50dGYgKDEpLCBwYXJ0IG9mIFNHQQojIFRydWVUeXBlIE9wZW5TbWJvbCBmb250Cm1haW4vZXh0cmFzL3NvdXJjZS90cnVldHlwZS9zeW1ib2wvb3BlbnNfX18udHRmCgojIHVzZWQgaW4gbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9tb2R1bGVzL29mZmljZS9yZXNvdXJjZXMvb2ZmaWNlLXNjcmlwdGluZy51cmwgKDEpLCBwYXJ0IG9mIFNHQQojIGNvbnRhaW5zIGEgc2luZ2xlIGFzY2lpIFVSTCBsaW5lCm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvbW9kdWxlcy9vZmZpY2UvcmVzb3VyY2VzL29mZmljZS1zY3JpcHRpbmcudXJsCgojIHVzZWQgaW4gbWFpbi9leHRlbnNpb25zL3Rlc3Qvb2xlL1Zpc3VhbEJhc2ljL1Byb2plY3QxLnZicHJvaiAoMSksIHBhcnQgb2YgU0dBCiMgVmlzdWFsIEJhc2ljIFByb2plY3QgKHhtbCkKbWFpbi9leHRlbnNpb25zL3Rlc3Qvb2xlL1Zpc3VhbEJhc2ljL1Byb2plY3QxLnZicHJvagoKIyB1c2VkIGluIG1haW4vdGVzdGF1dG9tYXRpb24vc3ByZWFkc2hlZXQvb3B0aW9uYWwvaW5wdXQvbG9hZHNhdmUvY29yZWwvcXBybzYud2IyICgxKSwgcGFydCBvZiBTR0EKIyBRdWF0dHJvUHJvIGZpbGVzCm1haW4vdGVzdGF1dG9tYXRpb24vc3ByZWFkc2hlZXQvb3B0aW9uYWwvaW5wdXQvbG9hZHNhdmUvY29yZWwvcXBybzYud2IyCgojIHVzZWQgaW4gbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9sb3R1cy9sb3R1c3drMS53azEgKDEpLCBwYXJ0IG9mIFNHQQojIHdvcmtzaGVldHMgZnJvbSBPbGRlciBMb3R1cyAxMjMKbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9sb3R1cy9sb3R1c3drMS53azEKCiMgdXNlZCBpbiBtYWluL3Rlc3RhdXRvbWF0aW9uL3NwcmVhZHNoZWV0L29wdGlvbmFsL2lucHV0L2xvYWRzYXZlL2xvdHVzL2xvdHVzd2tzLndrcyAoMSksIHBhcnQgb2YgU0dBCiMgTG90dXMgc3ByZWFkc2hlZXQKbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9sb3R1cy9sb3R1c3drcy53a3MKCiMgdXNlZCBpbiBtYWluL2V4dGVuc2lvbnMvdGVzdC9vbGUvRENPTS9zY3JpcHRDb21wb25lbnRzL1dyaXRlckRlbW8ud3NjICgxKSwgcGFydCBvZiBTR0EKIyBNaWNyb3NvZnQgV2luZG93cyBzY3JpcHRpbmcgY29tcG9uZW50IGZpbGUKbWFpbi9leHRlbnNpb25zL3Rlc3Qvb2xlL0RDT00vc2NyaXB0Q29tcG9uZW50cy9Xcml0ZXJEZW1vLndzYwoKIyB1c2VkIGluIG1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL2RyaXZlcl9kb2NzL0NyZWF0ZURyaXZlckRvY3Mud3NmICgxKSwgcGFydCBvZiBTR0EKIyBXaW5kb3dzIFNjcmlwdCBGaWxlCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL2RyaXZlcl9kb2NzL0NyZWF0ZURyaXZlckRvY3Mud3NmCgojIHVzZWQgaW4gbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9taWNyb3NvZnQvbXNfZXhjZWxfMjAwN194bWxfdGVtcGxhdGVfbWFjcm9lbmFibGVkLnhsdG0gKDEpLCBwYXJ0IG9mIFNHQQojIE1pY3Jvc29mdCBFeGNlbCAyMDA3LzIwMTAgdGVtcGxhdGUgZG9jdW1lbnRzIHdpdGggbWFjcm9zCm1haW4vdGVzdGF1dG9tYXRpb24vc3ByZWFkc2hlZXQvb3B0aW9uYWwvaW5wdXQvbG9hZHNhdmUvbWljcm9zb2Z0L21zX2V4Y2VsXzIwMDdfeG1sX3RlbXBsYXRlX21hY3JvZW5hYmxlZC54bHRtCgojIHVzZWQgaW4gbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9taWNyb3NvZnQvbXNfZXhjZWxfMjAwN194bWxfdGVtcGxhdGUueGx0eCAoMSksIHBhcnQgb2YgU0dBCiMgRXhjZWwgVGVtcGxhdGUgKE1pY3Jvc29mdCBDb3Jwb3JhdGlvbikKbWFpbi90ZXN0YXV0b21hdGlvbi9zcHJlYWRzaGVldC9vcHRpb25hbC9pbnB1dC9sb2Fkc2F2ZS9taWNyb3NvZnQvbXNfZXhjZWxfMjAwN194bWxfdGVtcGxhdGUueGx0eAoKIyB1c2VkIGluIG1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL3dpemFyZC9XaXphcmQuRENBICgxKSwgcGFydCBvZiBTR0EKIyBEb2N1bWVudCBDb250ZW50IEFyY2hpdGVjdHVyZSwgVGV4dGRhdGVpIElCTSBEaXNwbGF5V3JpdGUKbWFpbi9taWdyYXRpb25hbmFseXNpcy9zcmMvd2l6YXJkL1dpemFyZC5EQ0EKCiMgdXNlZCBpbiBtYWluL29kay9leGFtcGxlcy9PTEUvZGVscGhpL0luc2VydFRhYmxlcy9TYW1wbGVVSS5kZm0gKDEpLCBwYXJ0IG9mIFNHQQojIERlbHBoaSBGb3JtCm1haW4vb2RrL2V4YW1wbGVzL09MRS9kZWxwaGkvSW5zZXJ0VGFibGVzL1NhbXBsZVVJLmRmbQoKIyB1c2VkICBpbiBtYWluL3dpemFyZHMvc291cmNlL2dpbW1pY2tzL3JlYWRkaXJzLmRsZyAoMSksIHBhcnQgb2YgU0dBCiMgRGlhbG9nIENyZWF0aW9uIFRlbXBsYXRlIChmb3IgRXhjZWwpICg/KQptYWluL3dpemFyZHMvc291cmNlL2dpbW1pY2tzL3JlYWRkaXJzLmRsZwoKIyB1c2VkIGluIG1haW4vb2RrL2V4YW1wbGVzL09MRS9kZWxwaGkvSW5zZXJ0VGFibGVzL1Byb2plY3QxLmRwciAoMSksIHBhcnQgb2YgU0dBCiMgUGFzY2FsL0RlbHBoaSBmaWxlCm1haW4vb2RrL2V4YW1wbGVzL09MRS9kZWxwaGkvSW5zZXJ0VGFibGVzL1Byb2plY3QxLmRwcgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmlsZSBwYXR0ZXJucyB3aXRoIG5vIGNyZWF0aXZlIGNvbnRlbnQgdG8gZXhjbHVkZQojCgojIGhlbHBlciBhdHRyIGZpbGVzICgyNCkgdXNlZCBpbiBtYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMsIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5hdHRyCgojIG1ha2VmaWxlcyAoNikgdXNlZCBpbiBtYWluL2FjY2Vzc2liaWxpdHkvd29ya2Jlbi9vcmcvb3Blbm9mZmljZS9hY2Nlc3NpYmlsaXR5LCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouY29tbW9uCgojIGNvbXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlcyAoMTkpLCB1bm8gQVBJIHNwZWNpZmljLCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouY29tcG9uZW50cwoKIyBDZXJ0aWZpY2F0ZSBSZXZvY2F0aW9uIExpc3QgKDE4KSwgYmluYXJ5LCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouY3JsCgojIENlcnRpZmljYXRlcyAoNzkpLCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouY3J0CgojIExpYnJhcnkgZGVmaW5pdGlvbiBmaWxlcyAoMjEpLCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouZGVmCgojICBEZXZlbG9wZXIgU3R1ZGlvIHByb2plY3QgZmlsZSAoNCksIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5kc3AKCiMgRGVmaW5lcyBsaWJyYXJ5IGV4cG9ydCBzeW1ib2xzICgzNiksIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5keHAKCiMgc3ltYm5vbCBleHBvcnQgZmlsdGVyIGZpbGVzICgyMCksIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5mbHQKCiMgICg+NTApLCBwYXJ0IG9mIFNHQQojIEluc3RhbGwgRGVmaW5pdGlvbiBUYWJsZXMsIGFzY2lpLCBub3Qgc3VyZSBhYm91dCBjb21tZW50IHN1cHBvcnQKIyoqLyouaWR0Cm1haW4vaW5zdHNldG9vX25hdGl2ZS9pbmNfb29vbGFuZ3BhY2svd2luZG93cy9tc2lfdGVtcGxhdGVzLyouaWR0Cm1haW4vaW5zdHNldG9vX25hdGl2ZS9pbmNfb3Blbm9mZmljZS93aW5kb3dzL21zaV90ZW1wbGF0ZXMvKi5pZHQKbWFpbi9pbnN0c2V0b29fbmF0aXZlL2luY19zZGtvby93aW5kb3dzL21zaV90ZW1wbGF0ZXMvKi5pZHQKbWFpbi9pbnN0c2V0b29fbmF0aXZlL2luY191cmUvd2luZG93cy9tc2lfdGVtcGxhdGVzLyouaWR0CgojIG1vc3RseSBidWlsZC5sc3QgYW5kIGQubHN0ICh0d28gaGlkLmxzdCwgb25lIGV4dGVuc2lvbnMubHN0LCBvbmUgYXBpLmxzdCwgb25lIGhlbHBfaGlkLmxzdCwgb25lIHVub19oaWQubHN0LCBvbmUgb3Blbm9mZmljZS5sc3QsCiMgb25lIHBhY2subHN0LCBvbmUgb29vLmxzdCwgb25lIGltYWdlLXNvcnQubHN0LCBlbnRyaWVzIGluIG1haW4vc3BsaXRidWlsZCAoY2FuIGJlIHJlbW92ZWQ/KSwgZW50cmllcyBpbiBtYWluL3Rvb2xraXQvc3JjMnhtbCkKIyBBbGwgYnVpbGQgc3BlY2lmaWMgc3R1ZmYsIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5sc3QKCiMgdXNlZCBhcyBNQU5JRkVTVC5NRiAoMjgpLCBwYXJ0IG9mIFNHQQojIHVzZWQgd2l0aCBvdGhlciBuYW1lcyAoNiksIGJ1dCBhbHNvIGFzIGRlZmluaXRpb24gZmlsZQojIG5vIGNyZWF0aXZlIGNvbnRlbnQKKiovKi5tZgoKIyAoMykgdXNlZCBhcyAqLnBhdGNoLm1pbmd3LCBhIGRpZmYgZm9yIHByZXBhcmluZyBleHRlcm5hbCBzdHVmZiBmb3IgYnVpbGQsIGFsbCAgaW4gU0dBCiMgbm8gY3JlYXRpdmUgY29udGVudAoqKi8qLm1pbmd3CgojIGFsbCBpbiBTR0EKIyBhcXVhLXNwZWNpZmljIGRlZmluaXRpb25zLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vdmNsL2FxdWEvc291cmNlL3Jlcy9NYWluTWVudS5uaWIvY2xhc3Nlcy5uaWIKbWFpbi92Y2wvYXF1YS9zb3VyY2UvcmVzL01haW5NZW51Lm5pYi9pbmZvLm5pYgoKIyAoMTIpLCBwYXJ0IG9mIHRoZSBTR0EKIyBXaW5kb3dzIHNwZWNpZmljIGFzY2lpIHJlZ2lzdHJ5IGZpbGVzLCB1bmtub3duIGlmIGhlYWRlciBwb3NzaWJsZSwgbm8gY3JlYXRpdmUgY29udGVudAoqKi8qLnJncwoKIyBWaXN1YWxTdHVkaW8gc29sdXRpb24gKDYpLCBwYXJ0IG9mIFNHQQojIGJpbmFyeSBmaWxlLCBubyBjcmVhdGl2ZSBjb250ZW50CioqLyouc2xuCgojIGFsbCBpbiBTR0EKIyBiaW5hcnkgZGF0YSAobXNkZXYgc2V0dGluZ3MgZmlsZT8pLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvbW9kdWxlcy9vZmZpY2UvcmVzb3VyY2VzLyouc2V0dGluZ3MKCiMgcGFydCBvZiBTR0EKIyBqYXIgbWFuaWZlc3QgdGVtcGxhdGVzLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vdXJlL3NvdXJjZS91cmV0ZXN0L2phdmFjbGllbnQubWYudGVtcGxhdGUKbWFpbi91cmUvc291cmNlL3VyZXRlc3QvamF2YW1haW4ubWYudGVtcGxhdGUKbWFpbi91cmUvc291cmNlL3VyZXRlc3QvamF2YW5hdGl2ZS5tZi50ZW1wbGF0ZQptYWluL3VyZS9zb3VyY2UvdXJldGVzdC9qYXZhdGVzdC5tZi50ZW1wbGF0ZQptYWluL3VyZS9zb3VyY2UvdXJldGVzdC9ydW5uZXIubWYudGVtcGxhdGUKbWFpbi91cmUvc291cmNlL3VyZXRlc3QvdGVzdGVyLm1mLnRlbXBsYXRlCm1haW4vdXJlL3NvdXJjZS91cmV0ZXN0L3R5cGVzLm1mLnRlbXBsYXRlCgojIHBhcnQgb2YgU0dBCiMgZmlsZXR5cGUgYXNjaWkgdGFibGVzLCBubyBjb3B5cmlnaHQsIG5vIGxpY2Vuc2UsIG5vIGNyZWF0aXZlIGNvbnRlbnQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZXhwb3J0L2ZpbHRlci8qLnVueAoKIyAoOSksIHBhcnQgb2YgU0dBCiMgTWVudSBkZWZpbml0aW9ucyBmb3IgYXV0b21hdGVkIHRlc3RpbmcsIG5vIGNyZWF0aXZlIGNvbnRlbnQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvbWVudS9lbi11c19iYXNpYy50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvbWVudS9lbi11c19jYWxjLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2ZyYW1ld29yay9vcHRpb25hbC9pbnB1dC9tZW51L2VuLXVzX2RyYXcudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZnJhbWV3b3JrL29wdGlvbmFsL2lucHV0L21lbnUvZW4tdXNfaHRtbGRva3VtZW50LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2ZyYW1ld29yay9vcHRpb25hbC9pbnB1dC9tZW51L2VuLXVzX2ltcHJlc3MudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZnJhbWV3b3JrL29wdGlvbmFsL2lucHV0L21lbnUvZW4tdXNfaW5zaWdodC50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvbWVudS9lbi11c19tYXN0ZXJkb2MudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZnJhbWV3b3JrL29wdGlvbmFsL2lucHV0L21lbnUvZW4tdXNfbWF0aC50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvb3B0aW9uYWwvaW5wdXQvbWVudS9lbi11c193cml0ZXIudHh0CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIFBhdHRlcm5zIHRvIGV4Y2x1ZGUKIwoKCiMgdXNlZCBpbiBtYWluL2F1dG9tYXRpb24vc291cmNlL21pbmlhcHAvdGVzdC53aW4gKDEpLCBwYXJ0IG9mIFNHQSwgYXNjaWkgY29uZmlnIGZpbGUKIyB1c2VkIGluIG1haW4vdGVzdGF1dG9tYXRpb24vZ2xvYmFsL3dpbi8qICgzMCksIHBhcnQgb2YgU0dBLCBhdXRvbWF0aWMgdGVzdCBjb25maWcsIHNjcmlwdGluZyBmaWxlcwptYWluL2F1dG9tYXRpb24vc291cmNlL21pbmlhcHAvdGVzdC53aW4KbWFpbi90ZXN0YXV0b21hdGlvbi9nbG9iYWwvd2luLyoud2luCgojICg3KSwgcGFydCBvZiBTR0EgCiMgYXNjaWksIEFMdjIgbWF5IGJlIGFkZGVkIGhlcmUKIyBBZGRlZCBBTHYyIGluIHRoZXNlIGZpbGVzIAojIG1haW4vdGVzdGF1dG9tYXRpb24vZ2xvYmFsL3NpZC8qLnNpZAoKIyAoMTU4KSwgcGFydCBvZiBTR0EKIyBBT08gaW50ZXJuYWwgdW5vIGFwaSBkZWZpbml0aW9uIGZpbGVzLCBYTUwsIHNob3VsZCBhbGwgY29udGFpbiBBTHYyCiMgQWxsIGNoZWNrZWQsIGFsbCBjb250YWluIEFMdjIgaGVhZGVyLCBkaXNhYmxpbmcgcGF0dGVybgojKiovKi5jb21wb25lbnQKCiMgKDIpLCBwYXJ0IG9mIFNHQQojIE1TREVWIHNvbHV0aW9uIGZpbGUsIGJpbmFyeQojKiovKi5kc3cKCiMgVXNlZCBpbiBtYWluL3NjcmlwdGluZy9qYXZhL2J1aWxkLmVudiwgbWFpbi94bWVyZ2Uvc291cmNlL3BhbG10ZXN0cy9xYS13cmFwcGVyL2Vudi9tYXN0ZXIuZW52ICgyKSwgcGFydCBvZiB0aGUgU0dBCiMgc2hlbGwgc2NyaXB0IGZpbGVzLCBjb21tZW50cyBwb3NzaWJsZSAodXNpbmcgJyMnKSwgQUx2MiBjb3VsZCBiZSBhZGRlZAojIEFkZGVkIEFMdjIgdG8gYm90aAojICoqLyouZW52CgojIHVzZWQgaW4gbWFpbi9taWdyYXRpb25hbmFseXNpcy9zcmMvd2l6YXJkLyogKDQpLCBwYXJ0IG9mIFNHQQojIFdvcmRQZXJmZWN0IGZpbGUgKD8pCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL3dpemFyZC9TY2FuRm9sZGVycy5mcm0KbWFpbi9taWdyYXRpb25hbmFseXNpcy9zcmMvd2l6YXJkL1NlYXJjaERvY3MuZnJtCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL3dpemFyZC9UZXJtaW5hdGUuZnJtCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL3dpemFyZC9XaXphcmQuZnJtCgojIHVzZWQgaW4gbWFpbi9zeXN1aS9kZXNrdG9wL21pbWV0eXBlcy8qICg0MCksIHBhcnQgb2YgU0dBCiMgYXNjaWksIHN1cHBvcnQgb2YgY29tbWVudHMgbm90IGNsZWFyCiMqKi8qLmtleXMKbWFpbi9zeXN1aS9kZXNrdG9wL21pbWV0eXBlcy8qLmtleXMKCiMgcGFydCBvZiBTR0EKIyBhc2NpaSwgbm8gaW5mbyBhYm91dCBjb21tZW50IHN1cHBvcnQKbWFpbi9zYWwvdXRpbC9zYWxhbGxvYy5saXN0Cm1haW4veG1lcmdlL3NvdXJjZS9wYWxtdGVzdHMvcWEtd3JhcHBlci9saXN0cy9tYXN0ZXIubGlzdAoKIyBPbmUgdXNhZ2UgaW4gbWFpbi9hcHBsZV9yZW1vdGUgKDEpLCBmaWxlcyB1bmRlciBNSVQKbWFpbi9hcHBsZV9yZW1vdGUvQXBwbGVSZW1vdGUubQptYWluL2FwcGxlX3JlbW90ZS9HbG9iYWxLZXlib2FyZERldmljZS5tCm1haW4vYXBwbGVfcmVtb3RlL0hJRFJlbW90ZUNvbnRyb2xEZXZpY2UubQptYWluL2FwcGxlX3JlbW90ZS9LZXlzcGFuRnJvbnRSb3dDb250cm9sLm0KbWFpbi9hcHBsZV9yZW1vdGUvTXVsdGlDbGlja1JlbW90ZUJlaGF2aW9yLm0KbWFpbi9hcHBsZV9yZW1vdGUvUmVtb3RlQ29udHJvbC5tCm1haW4vYXBwbGVfcmVtb3RlL1JlbW90ZUNvbnRyb2xDb250YWluZXIubQptYWluL2FwcGxlX3JlbW90ZS9SZW1vdGVNYWluQ29udHJvbGxlci5tCgojIGRpZmZlcmVudCB0aGFuIG90aGVyIG1hcCBmaWxlcwptYWluL2Nvbm5lY3Rpdml0eS9zb3VyY2UvZHJpdmVycy9hZGFiYXMvYWRhYmFzLm14cC5tYXAKbWFpbi9jb25uZWN0aXZpdHkvc291cmNlL2RyaXZlcnMvZGJhc2UvZGJhc2UubXhwLm1hcAptYWluL2Nvbm5lY3Rpdml0eS9zb3VyY2UvZHJpdmVycy9mbGF0L2ZsYXQubXhwLm1hcAptYWluL2Nvbm5lY3Rpdml0eS9zb3VyY2UvZHJpdmVycy9qZGJjL2pkYmMubXhwLm1hcAptYWluL2Nvbm5lY3Rpdml0eS9zb3VyY2UvbWFuYWdlci9zZGJjLm14cC5tYXAKCiMgYmluYXJ5IHByZXNlbnRhdGlvbiB0ZW1wbGF0ZSBmaWxlcywgcGFydCBvZiBTR0EKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy9sYXlvdXQvbGFuZy8qLm90cAptYWluL2V4dHJhcy9zb3VyY2UvdGVtcGxhdGVzL3ByZXNudC9sYW5nLyoub3RwCgojIGJpbmFyeSBjYWxjIHRlbXBsYXRlIGZpbGVzLCBwYXJ0IG9mIFNHQQptYWluL2V4dHJhcy9zb3VyY2UvdGVtcGxhdGVzL3dpemFyZC9zdHlsZXMvbGFuZy8qLm90cwptYWluL3Rlc3RhdXRvbWF0aW9uL3NwcmVhZHNoZWV0L29wdGlvbmFsL2lucHV0L2xvYWRzYXZlL3N1bi9zbzh0bXBsLm90cwoKIyBiaW5hcnkgd3JpdGVyIHRlbXBsYXRlIGZpbGVzLCBwYXJ0IG9mIFNHQQptYWluL2V4dHJhcy9zb3VyY2UvdGVtcGxhdGVzL3dpemFyZC9yZXBvcnQvbGFuZy8qLm90dAoKIyBiaW5hcnkgQU9PIGV4dGVuc2lvbiwgcGFydCBvZiBTR0EKbWFpbi9kZXNrdG9wL3Rlc3QvZGVwbG95bWVudC8qLm94dAptYWluL3NvbGVudi9iaW4vKi5veHQKbWFpbi90ZXN0YXV0b21hdGlvbi8qLm94dAptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L3VwZGF0ZS9kZWZlY3QvdXBkYXRlL2ZhaWw0Lm94dAoKIyBBbGwgcGFydCBvZiB0aGUgU0dBLCBkb2N1bWVudHMgdXNlZCBmb3IgdGVzdGluZwptYWluL3Rlc3RhdXRvbWF0aW9uL2ZyYW1ld29yay9vcHRpb25hbC9pbnB1dC9zZWN1cml0eS9hdXRvdGVzdC5wMTIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvY2VydHMvcDEyLyoucDEyCgojICgxMzMpIERpdmVyc2UgcGF0Y2hlcyB1c2VkIHRvIGFsbG93IGJ1aWxkaW5nIGV4dGVybmFsIGxpYnJhcmllcyB3aXRoIHRoZSBjb250YWluZWQKIyBuZWVkZWQgY2hhbmdlcwoqKi8qLnBhdGNoCioqLyoucGF0Y2guZml4ZXMKCiMgYWxsIHBhcnQgb2YgU0dBCiMgcGFja2FnaW5nIGluZm9ybWF0aW9uICh1c2VkIHRvIGJ1aWxkIGluc3RhbGwgc2V0cykKbWFpbi9zZXR1cF9uYXRpdmUvc291cmNlL3BhY2tpbmZvKi5wY3AKCiMgYWxsIHBhcnQgb2YgU0dBCiMgdXNlZCBmb3IgYXV0b21hdGVkIHRlc3RpbmcKbWFpbi94bWVyZ2Uvc291cmNlL3BhbG10ZXN0cy9xYS13cmFwcGVyL3Jlc3VsdHMvYmFzZWxpbmUvcGRiLWJhc2UvKi5wZGIKCiMgYWxsIHBhcnQgb2YgU0dBCiMgdXNlZCBmb3IgYXV0b21hdGVkIHRlc3RpbmcgKHNlZW0gdG8gYmUgY2VydGlmaWNhdGVzKQptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvKi8qLnBlbQoKIyBib3RoIHBhcnQgb2YgdGhlIFNHQSwgYWxsb3dzIG5vIGhlYWRlciwgbm8gY3JlYXRpdmUgY29udGVudAptYWluL2JlYW4vdGVzdC9hcHBsZXQvb29vYXBwbGV0L2JlYW4ucG9saWN5Cm1haW4vc3RvYy90ZXN0L3NlY3VyaXR5L3Rlc3Rfc2VjdXJpdHkucG9saWN5CgojIFBvc3RzY3JpcHQgZmlsZXMsIHVzZWQgZm9yIGNvbmZpZ3VyYXRpb24gCm1haW4vcHNwcmludF9jb25maWcvY29uZmlndXJhdGlvbi9wcGRzLyoqLyouUFMKbWFpbi90ZXN0Z3JhcGhpY2FsL3JlZmVyZW5jZXMvKiovKi5QUwoKIyBwYXJ0IG9mIHRoZSBTR0EKIyBvczIgc3BlY2lmaWMgbW91c2UgcG9pbnRlciBkZWZpbml0aW9ucwptYWluL3ZjbC9vczIvc291cmNlL3NyYy8qLnB0cgoKIyBib3RoIGluIHRoZSBTR0EKIyBiaW5hcnkgQU9PIHNwZWNpZmljIFVOTyBBUEkgY29tcG9uZW50IGZpbGVzLCBwcm9iYWJseSBnZW5lcmF0ZWQKbWFpbi9vZmZhcGkvdHlwZV9yZWZlcmVuY2UvdHlwZXMucmRiCm1haW4vcWFkZXZPT28vdGVzdGRvY3MvWFNpbXBsZVJlZ2lzdHJ5LnJkYgoKIyBwYXJ0IG9mIHRoZSBTR0EKIyBhc2NpaSBkZWZpbml0aW9uIGZpbGVzLCB1bmtub3duIGlmIGhlYWRlciBwb3NzaWJsZSwgbm8gY3JlYXRpdmUgY29udGVudAptYWluL3Rlc3RhdXRvbWF0aW9uL2ZyYW1ld29yay9vcHRpb25hbC9pbnB1dC9vcHRpb25zLyoucmVmCgojIHBhcnQgb2YgdGhlIFNHQQojIFdpbmRvd3Mgc3BlY2lmaWMgcmVnaXN0cnkgZmlsZXMsIHVua25vd24gaWYgaGVhZGVyIHBvc3NpYmxlLCBubyBjcmVhdGl2ZSBjb250ZW50Cm1haW4vZW1iZWRzZXJ2L3JlZ2VudHJpZXMvKi5yZWcKCiMgKDMpLCBwYXJ0IG9mIHRoZSBTR0EKIyB4bWwgc2NoZW1hIGZpbGVzLCBvbmUgb2YgdGhyZWUgd2l0aCBBTHYyIGhlYWRlcgojIE5vdyBhbGwgdGhyZWUgd2l0aCBBTHYyIGhlYWRlciwgZGlzYWJsaW5nIHBhdHRlcm4KIyoqLyoucm5nCgojICg0KSwgcGFydCBvZiBTR0EKIyBvbmUgb2YgZm91ciBjb250YWlucyBBTHYyIGhlYWRlcgptYWluL3Rlc3RhdXRvbWF0aW9uL3NwcmVhZHNoZWV0L29wdGlvbmFsL2lucHV0L2xvYWRzYXZlL3ByZXNlbGVjdGVkX2ZpbHRlci9ydGYucnRmCm1haW4vdGVzdGF1dG9tYXRpb24vc3ByZWFkc2hlZXQvb3B0aW9uYWwvaW5wdXQvbG9hZHNhdmUvdGFibGVpbXBvcnQvSFRNTF9Eb2NfTnVtYmVyZm9ybWF0c19pbl90YWJsZS5ydGYKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvaW1wb3J0L3J0Zi5ydGYKCiMgKDMxKSwgcGFydCBvZiBTR0EKIyBBT08gY29sb3IgcGFsZXR0ZSAoc2VlIGh0dHA6Ly93d3cub3Blbm9mZmljZS5vcmcvZGV2X2RvY3Mvc291cmNlL2ZpbGVfZXh0ZW5zaW9ucy5odG1sKQoqKi8qLnNvYwoKIyAoMjYpLCBwYXJ0IG9mIFNHQQojIEFPTyBsaW5lIHN0eWxlcyAoc2VlIGh0dHA6Ly93d3cub3Blbm9mZmljZS5vcmcvZGV2X2RvY3Mvc291cmNlL2ZpbGVfZXh0ZW5zaW9ucy5odG1sKQoqKi8qLnNvZAoKIyAoMjYpLCBwYXJ0IG9mIFNHQQojIEFPTyBhcnJvdyBzdHlsZXMgKHNlZSBodHRwOi8vd3d3Lm9wZW5vZmZpY2Uub3JnL2Rldl9kb2NzL3NvdXJjZS9maWxlX2V4dGVuc2lvbnMuaHRtbCkKKiovKi5zb2UKCiMgKDUxKSwgcGFydCBvZiBTR0EKIyBBT08gZ3JhZGllbnRzIChzZWUgaHR0cDovL3d3dy5vcGVub2ZmaWNlLm9yZy9kZXZfZG9jcy9zb3VyY2UvZmlsZV9leHRlbnNpb25zLmh0bWwpCioqLyouc29nCgojICgyNiksIHBhcnQgb2YgU0dBCiMgQU9PIGhhdGNoZXMgKHNlZSBodHRwOi8vd3d3Lm9wZW5vZmZpY2Uub3JnL2Rldl9kb2NzL3NvdXJjZS9maWxlX2V4dGVuc2lvbnMuaHRtbCkKKiovKi5zb2gKCiMgcGFydCBvZiBTR0EKIyB1c2VkIGFzIGMrKyBjb2RlIHNuaXBwZXRzLCBBTHYyIGNvdWxkIGJlIGFkZGVkIChzZWUgLmhlYWQpCiMgQWRkZWQgQUx2MiB0byB0aGVzZSB0aHJlZSwgZGVhY3RpdmF0aW5nIHBhdHRlcm4KIyBtYWluL29veC9zb3VyY2UvdG9rZW4vKi50YWlsCgojICg1KSwgcGFydCBvZiBTR0EKIyBWaXN1YWxCYXNpYyBXb3Jrc3BhY2UgKD8pCioqLyoudmJ3CgojIHBhcnQgb2YgU0dBCiMgZmlsZXR5cGUgYXNjaWkgdGFibGVzLCBubyBjb3B5cmlnaHQsIG5vIGxpY2Vuc2UsIG5vdCBjbGVhciBpZiBjb21tZW50cyBhbGxvd2VkCm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2V4cG9ydC9maWx0ZXIvKi53OTUKCiMgcGFydCBvZiBTR0EKIyBwYXRjaCBmaWxlcwptYWluL3JlZGxhbmQvcmFwdG9yL3JhcHRvci0xLjQuMTgucGF0Y2gud2luMzIKbWFpbi9yZWRsYW5kL3Jhc3FhbC9yYXNxYWwtMC45LjE2LnBhdGNoLndpbjMyCm1haW4vcmVkbGFuZC9yZWRsYW5kL3JlZGxhbmQtMS4wLjgucGF0Y2gud2luMzIKCiMgKDEwMDArKSwgcGFydCBvZiBTR0EKIyBBT08gbGlicmFyeSBmaWxlcywgWE1MLCBBTHYyIGNvdWxkIGJlIGFkZGVkCioqLyoueGxiCgojIHBhcnQgb2YgU0dBCiMgVU1MIGRlZm5pdGlvbnMgZm9yIHN2eCwgYmluYXJ5LCAiUG9zZWlkb24gZm9yIFVNTCIgbmVlZGVkIHRvIHJlYWQgdGhlbQptYWluL3N2eC9kb2MvVU1ML2VkaXRfZW5naW5lX1VOT19pbXBsZW1lbnRhdGlvbi56dW1sCm1haW4vc3Z4L2RvYy9VTUwvZ3JpZF9jb250cm9sX2ltcGxlbWVudGF0aW9uLnp1bWwKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIGJpbmFyeSBtZWRpYSBmb3JtYXRzCiMKCioqLyoueGJtCioqLyoudGdhCioqLyouc2d2CioqLyouc2dmCioqLyoucmFzCioqLyoucHNkCioqLyoucGdtCioqLyoucGN4CioqLyoucGN0CioqLyoucGNkCioqLyoucGJtCioqLyoubWV0CioqLyouY2dtCioqLyouYm1wCioqLyouZW1mCioqLyouZXBzCioqLyouZ2lmCioqLyouZ2lmZgoqKi8qLmljbnMKKiovKi5pY28KKiovKi5pbWcKKiovKi5qcGVnCioqLyouanBnCioqLyoubW92CioqLyoucG5nCioqLyouc3ZnCioqLyoudGlmCioqLyoudGlmZgoqKi8qLndhdgoqKi8qLndtZgoqKi8qLndwcwoKIyBDdXJzb3JzIGJpbmFyaWVzICg4MCksIHBhcnQgb2YgU0dBCioqLyouY3VyCgojICgzMyksIHBhcnQgb2YgU0dBCiMgWCBQaXhtYXAgZmlsZSwgU2VlbiBvbmUgd2l0aCBBTHYyIGNvbW1lbnQsIHRodXMgY291bGQgYmUgYWRkZWQgdG8gYWxsCioqLyoueHBtCgojIEF1dG9DYWQgRHJhd2luZyAoNCksIHVzZWQgaW4gYXV0b21hdGVkIHRlc3RzLCBwYXJ0IG9mIFNHQQoqKi8qLmR4ZgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgYmluYXJ5IGRvY3VtZW50IGZvcm1hdHMKIwoKKiovKi5zdGMKKiovKi5zZGMKKiovKi5zZGQKKiovKi5zZGYKKiovKi5zZGcKKiovKi5zZHMKKiovKi5zZHYKKiovKi5zZHcKKiovKi5zZGEKKiovKi5kb2MKKiovKi5kb2N4CioqLyoub2RiCioqLyoub2RmCioqLyoub2RnCioqLyoub2RsCioqLyoub2RtCioqLyoub2RwCioqLyoub2RzCioqLyoub2R0CioqLyoucGRmCioqLyoucHBtCioqLyoucHB0CioqLyoueGxzCioqLyoueGxzYgoqKi8qLnhsc20KKiovKi54bHN4CgojIHBhcnQgb2YgU0dBCiMgQU9PIGZvcm11bGEgKG93biBmb3JtYXQpCm1haW4vdGVzdGF1dG9tYXRpb24vZnJhbWV3b3JrL29wdGlvbmFsL2lucHV0L2FsbGRvY3MvZmZvcnRwZi5zbWYKbWFpbi90ZXN0YXV0b21hdGlvbi94bWwvb3B0aW9uYWwvaW5wdXQvbWF0aC9zb19iaW5hcnkvKi5zbWYKCiMgKDkwKSwgcGFydCBvZiBTR0EKIyBBT08gVGV4dCBEb2N1bWVudCBUZW1wbGF0ZQoqKi8qLnN0dwoKIyAoMiksIHBhcnQgb2YgU0dBCiMgQU9PIFN0YXJWaWV3IE1ldGFmaWxlCioqLyouc3ZtCgojICgxNjMpLCBwYXJ0IG9mIFNHQQojIEFPTyBTcHJlYWRzaGVldAoqKi8qLnN4YwoKIyAoMTYpLCBwYXJ0IG9mIFNHQQojIEFPTyBEcmF3CioqLyouc3hkCgojICgxMCksIHBhcnQgb2YgU0dBCiMgQU9PIE1hc3RlciBEb2N1bWVudAoqKi8qLnN4ZwoKIyAoMTIpLCBwYXJ0IG9mIFNHQQojIEFPTyBQcmVzZW50YXRpb24gRmlsZQoqKi8qLnN4aQoKIyAoNyksIHBhcnQgb2YgU0dBCiMgQU9PIE1hdGgKKiovKi5zeG0KCiMgKDIpLCBwYXJ0IG9mIFNHQQojIEFPTyBDaGFydAoqKi8qLnN4cwoKIyAoMjc3KSwgcGFydCBvZiBTR0EKIyBBT08gVGV4dCBEb2N1bWVudAoqKi8qLnN4dwoKIyAoMTApLCBwYXJ0IG9mIFNHQQojIEFPTyBjb25maWd1cmF0aW9uIGZpbGUKKiovKi50aG0KCiMgdmlzdWFsIGJhc2ljIHByb2plY3QgKDUpCioqLyoudmJwCgojIG1haW4vb2RrL2V4YW1wbGVzL09MRS92YnNjcmlwdC9Xcml0ZXJEZW1vLnZiczogQlNEIHdpdGhvdXQgYWR2ZXJ0aXNpbmcKIyBWaXN1YWxCYXNpYyBTY3JpcHQgKD8pCm1haW4vb2RrL2V4YW1wbGVzL09MRS92YnNjcmlwdC9Xcml0ZXJEZW1vLnZicwoKIyB1c2VkIGluIG1haW4vZXh0ZW5zaW9ucy90ZXN0L29sZS8qICg1KSwgcGFydCBvZiBTR0EKIyBWaXN1YWwgU3R1ZGlvIHByb2plY3QgKHhtbCBmaWxlKQoqKi8qLnZjcHJvagoKIyB1c2VkIGluIG1haW4vdGVzdGF1dG9tYXRpb24vKiAoNiksIHBhcnQgb2YgU0dBCiMgQU9PIFRlbXBsYXRlCioqLyoudm9yCgojIHVzZWQgaW4gbWFpbi93aXphcmRzL3NvdXJjZS9jb25maWcvKiAoNCksIHBhcnQgb2YgU0dBCiMgRXhjZWwgQ2hhcnQgKEV4Y2VsIDIuMCwgMy4wLCBhbmQgMi54IGZpbGUgZm9ybWF0cykKKiovKi54bGMKCiMgKDMpLCBwYXJ0IG9mIFNHQQojIEV4Y2VsIFRlbXBsYXRlIChNaWNyb3NvZnQgQ29ycG9yYXRpb24pCioqLyoueGx0CgojICgyNSksIHBhcnQgb2YgdGhlIFNHQQojIEFPTyBkaWN0aW9uYXJ5IEZpbGVGb3JtYXQKKiovKi5kaWMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIGJpbmFyeSBwYWNrYWdlcwojCgoqKi8qLmRiZgoqKi8qLmRidAoqKi8qLmphcgoqKi8qLnppcAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgYnVpbGQgYXJ0aWZhY3RzCiMKCioqLyouYXV0b3Rvb2xzCioqLyouZG1ha2UKKiovKi5naXRpZ25vcmUKKiovKi5oZ2lnbm9yZQoqKi8qLmhndGFncwoqKi8qLm1hbmlmZXN0CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBiaW5hcnkgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcwojCgoqKi8qLmNsYXNzCioqLyouZGxsCioqLyouZXhlCioqLyoubWRiCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBjc3YgZmlsZXMgZG8gbm90IGFsbG93IGZvciBjb21tZW50cywgdGh1cyBkbyBub3QgYWxsb3cgZm9yIEFMdjIgaGVhZGVyCiMgdGhlc2UgZmlsZXMgYXJlIGxpY2Vuc2VkIHRvIEFTRiAtIGJ1dCBhZGRpdGlvbiBvZiBoZWFkZXIgaXMgbm90IHBvc3NpYmxlCiMKCioqLyouY3N2CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBmaWxlcyBub3QgcmVxdWlyaW5nIGEgaGVhZGVyIC0gZW1wdHkgb3IgZ2VuZXJhdGVkIGZpbGVzIAojCgptYWluL2FjY2Vzc2liaWxpdHkvYnJpZGdlL29yZy9vcGVub2ZmaWNlL2FjY2Vzc2liaWxpdHkvbWFuaWZlc3QKbWFpbi9hY2Nlc3NpYmlsaXR5L3Byai9sMTBuCm1haW4vYWNjZXNzaWJpbGl0eS93b3JrYmVuL1RPRE8KbWFpbi9hY2Nlc3NpYmlsaXR5L3dvcmtiZW4vb3JnL29wZW5vZmZpY2UvYWNjZXNzaWJpbGl0eS9hd2IvbWFuaWZlc3QKbWFpbi9hZm1zL2RlbHppcAptYWluL2F1dG9tYXRpb24vcHJqL2wxMG4KbWFpbi9hdm1lZGlhL3NvdXJjZS9qYXZhL21hbmlmZXN0Cm1haW4vYmVhbi91dGlsL2RlbHppcAptYWluL2JpbmZpbHRlci9ub19sb2NhbGl6YXRpb24KbWFpbi9iaW5maWx0ZXIvcHJqL2wxMG4KbWFpbi9icmlkZ2VzL3NvdXJjZS9qbmlfdW5vL2phdmEvY29tL3N1bi9zdGFyL2JyaWRnZXMvam5pX3Vuby9tYW5pZmVzdAptYWluL2NhaXJvL2NhaXJvL2R1bW15X3BrZ19jb25maWcKbWFpbi9jbGlfdXJlL3NvdXJjZS9iYXNldHlwZXMvY2xpX2Jhc2V0eXBlc19jb25maWcKbWFpbi9jbGlfdXJlL3NvdXJjZS9uYXRpdmUvY2xpX2NwcHVoZWxwZXJfY29uZmlnCm1haW4vY2xpX3VyZS9zb3VyY2UvdXJlL2NsaV91cmVfY29uZmlnCm1haW4vY2xpX3VyZS91bm90eXBlcy9jbGlfdXJldHlwZXNfY29uZmlnCm1haW4vY29uZmlnbWdyL3FhL3VuaXQvbm9fbG9jYWxpemF0aW9uCm1haW4vY3BwdWhlbHBlci9xYS9wcm9wZXJ0eXNldG1peGluL21hbmlmZXN0Cm1haW4vZGVza3RvcC9zY3JpcHRzL2Jhc2lzLWxpbmsKbWFpbi9kZXNrdG9wL3NjcmlwdHMvb2RmLWJhc2lzLWxpbmsKbWFpbi9kZXNrdG9wL3NjcmlwdHMvc28tYmFzaXMtbGluawptYWluL2Rlc2t0b3Avc2NyaXB0cy91cmUtbGluawptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L2FjdGl2ZS9NQU5JRkVTVC5NRgptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L2xvY2F0aW9udGVzdC9NQU5JRkVTVC5NRgptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L2xvY2F0aW9udGVzdC9kZWx6aXAKbWFpbi9kZXNrdG9wL3Rlc3QvZGVwbG95bWVudC9vcHRpb25zL2hhbmRsZXIvY29tL3N1bi9zdGFyL2NvbXAvZXh0ZW5zaW9ub3B0aW9ucy9NQU5JRkVTVC5NRgptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L3Bhc3NpdmUvTUFOSUZFU1QuTUYKbWFpbi9kZXNrdG9wL3Rlc3QvZGVwbG95bWVudC91cGRhdGUvdXBkYXRlaW5mb2NyZWF0aW9uL2J1aWxkL01BTklGRVNULk1GCm1haW4vZGVza3RvcC90ZXN0L2RlcGxveW1lbnQvdXBkYXRlL3VwZGF0ZWluZm9jcmVhdGlvbi9idWlsZC9kZWx6aXAKbWFpbi9kZXNrdG9wL3ppcGludHJvL2RlbHppcAptYWluL2VtYmVkZGVkb2JqL3Byai9sMTBuCm1haW4vZW1iZWRzZXJ2L3NvdXJjZS9pbmMvc3RkYWZ4LmgKbWFpbi9leHRlbnNpb25zL3NvdXJjZS9tYWNvc3gvc3BvdGxpZ2h0L2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvYXV0b3RleHQvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS9hdXRvdGV4dC9sYW5nL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvZGF0YWJhc2UvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS9nYWxsZXJ5L2J1bGxldHMvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS9nYWxsZXJ5L2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvZ2FsbGVyeS9nYWxsZXJ5X3NvdW5kL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvZ2FsbGVyeS9nYWxsZXJ5X3N5c3RlbS9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL2dhbGxlcnkvaHRtbGV4cG8vZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS9nYWxsZXJ5L3J1bGVycy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL2dhbGxlcnkvc291bmRzL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvZ2FsbGVyeS93d3ctYmFjay9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL2dhbGxlcnkvd3d3LWdyYWYvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS9taXNjX2NvbmZpZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3BhbGV0dGVzL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvcGFsZXR0ZXMvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3N5bWJvbHMvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS90ZW1wbGF0ZXMvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy9sYXlvdXQvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy9wcmVzbnQvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy93aXphcmQvYWdlbmRhL2xhbmcvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS90ZW1wbGF0ZXMvd2l6YXJkL2JpdG1hcC9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy93aXphcmQvZGVza3RvcC9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy93aXphcmQvZGVza3RvcC9sYW5nL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvdGVtcGxhdGVzL3dpemFyZC9mYXgvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy93aXphcmQvbGV0dGVyL2xhbmcvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS90ZW1wbGF0ZXMvd2l6YXJkL3JlcG9ydC9sYW5nL2RlbHppcAptYWluL2V4dHJhcy9zb3VyY2UvdGVtcGxhdGVzL3dpemFyZC9zdHlsZXMvbGFuZy9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3RlbXBsYXRlcy93aXphcmQvd2ViL2xhbmcvZGVsemlwCm1haW4vZXh0cmFzL3NvdXJjZS93b3JkYm9vay9kZWx6aXAKbWFpbi9leHRyYXMvc291cmNlL3dvcmRib29rL2xhbmcvZGVsemlwCm1haW4vZXh0cmFzL3VueC9zb3VyY2UvYml0bWFwcy9kZWx6aXAKbWFpbi9leHRyYXMvdW54L3NvdXJjZS9rZGUvYXBwbG5rL2RlbHppcAptYWluL2V4dHJhcy91bngvc291cmNlL2tkZS9pY29ucy9kZWx6aXAKbWFpbi9leHRyYXMvdW54L3NvdXJjZS9rZGUvaWNvbnMvbWluaS9kZWx6aXAKbWFpbi9leHRyYXMvdW54L3NvdXJjZS9rZGUvbWltZWxuay9hcHBsaWNhdGlvbi9kZWx6aXAKbWFpbi9leHRyYXMvdW54L3NvdXJjZS9rZGUvbWltZWxuay90ZXh0L2RlbHppcAptYWluL2ZpbHRlci9zb3VyY2UvY29uZmlnL2ZyYWdtZW50cy9kZWx6aXAKbWFpbi9maWx0ZXIvc291cmNlL3hzbHRmaWx0ZXIvTWFuaWZlc3QKbWFpbi9maWx0ZXIvc291cmNlL3hzbHR2YWxpZGF0ZS9NYW5pZmVzdAptYWluL2hlbHBjb250ZW50Mi9zb3VyY2UvYXV4aWxpYXJ5L25vX2xvY2FsaXphdGlvbgptYWluL2hlbHBjb250ZW50Mi91dGlsL2RlbHppcAptYWluL2hlbHBjb250ZW50Mi91dGlsL3NiYXNpYy9kZWx6aXAKbWFpbi9oZWxwY29udGVudDIvdXRpbC9zY2FsYy9kZWx6aXAKbWFpbi9oZWxwY29udGVudDIvdXRpbC9zY2hhcnQvZGVsemlwCm1haW4vaGVscGNvbnRlbnQyL3V0aWwvc2RhdGFiYXNlL2RlbHppcAptYWluL2hlbHBjb250ZW50Mi91dGlsL3NkcmF3L2RlbHppcAptYWluL2hlbHBjb250ZW50Mi91dGlsL3NoYXJlZC9kZWx6aXAKbWFpbi9oZWxwY29udGVudDIvdXRpbC9zaW1wcmVzcy9kZWx6aXAKbWFpbi9oZWxwY29udGVudDIvdXRpbC9zbWF0aC9kZWx6aXAKbWFpbi9oZWxwY29udGVudDIvdXRpbC9zd3JpdGVyL2RlbHppcAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvTElDRU5TRV9JTkZPCm1haW4vamF2YXVub2hlbHBlci91dGlsL2RlbHppcAptYWluL2phdmF1bm9oZWxwZXIvdXRpbC9tYW5pZmVzdAptYWluL2p1cnQvdXRpbC9kZWx6aXAKbWFpbi9qdXJ0L3V0aWwvbWFuaWZlc3QKbWFpbi9qdm1hY2Nlc3Mvd29ya2JlbmNoL2phdmEvbWFuaWZlc3QKbWFpbi9qdm1md2svcGx1Z2lucy9zdW5tYWpvci9wbHVnaW5saWIvc3VuamF2YXBsdWdpbnJjCm1haW4vanZtZndrL3NvdXJjZS9qdm1md2szcmMKbWFpbi9sMTBudG9vbHMvamF2YS9qcHJvcGV4L2pwcm9wZXguTUYKbWFpbi9sMTBudG9vbHMvamF2YS9sMTBuY29udi9jb252ZXJ0ZXIuTUYKbWFpbi9sMTBudG9vbHMvamF2YS9yZWNlZGl0b3IvcmVjZWRpdG9yLk1GCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvbm9fbG9jYWxpemF0aW9uCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvc3JjL3dpemFyZC9yZXNfZGVmaW5lcy5oCm1haW4vbWlncmF0aW9uYW5hbHlzaXMvdXRpbC9kZWx6aXAKbWFpbi9teXNxbGMvc291cmNlL2RlbHppcAptYWluL29kay9ub19sb2NhbGl6YXRpb24KbWFpbi9vZGsvcGFjay9nZW5kb2N1L2phdmEvcGFja2FnZS1saXN0Cm1haW4vb2RrL3BhY2svZ2VuZG9jdS91bm8vcGFja2FnZS1saXN0Cm1haW4vb2RrL3V0aWwvZGVsemlwCm1haW4vb29vX2N1c3RvbV9pbWFnZXMvaW5kdXN0cmlhbC9UT0RPCm1haW4vb29vX2N1c3RvbV9pbWFnZXMvaW5kdXN0cmlhbC9kdXBsaWNhdGVzCm1haW4vb29vX2N1c3RvbV9pbWFnZXMvaW5kdXN0cmlhbC9taXNzaW5nCm1haW4vcHNwcmludF9jb25maWcvY29uZmlndXJhdGlvbi9kZWx6aXAKbWFpbi9wc3ByaW50X2NvbmZpZy9jb25maWd1cmF0aW9uL3BwZHMvZGVsemlwCm1haW4vcWFkZXZPT28vcnVubmVyL21hbmlmZXN0Cm1haW4vcWFkZXZPT28vdGVzdGRvY3MvYmFja2VuZC9vcmcvb3Blbm9mZmljZS9tYW5pZmVzdAptYWluL3FhZGV2T09vL3Rlc3Rkb2NzL3FhZGV2bGlicy9zb3VyY2UvY29tL3N1bi9zdGFyL2NtcC9tYW5pZmVzdAptYWluL3FhZGV2T09vL3Rlc3Rkb2NzL3FhZGV2bGlicy9zb3VyY2UvdGVzdC9tYW5pZmVzdAptYWluL3JhdC1leGNsdWRlcwptYWluL3JlZGxhbmQvcmFwdG9yL3JhcHRvci0xLjQuMTgucGF0Y2gub3MyCm1haW4vcmVkbGFuZC9yYXNxYWwvcmFzcWFsLTAuOS4xNi5wYXRjaC5vczIKbWFpbi9yZWRsYW5kL3JlZGxhbmQvcmVkbGFuZC0xLjAuOC5wYXRjaC5vczIKbWFpbi9yZXBvcnRidWlsZGVyL2phdmEvY29tL3N1bi9zdGFyL3JlcG9ydC9wZW50YWhvL3BhcnNlci9zdHlsZS1tYXBwaW5nLnR4dAptYWluL3JlcG9ydGJ1aWxkZXIvdGVtcGxhdGUvZGVsemlwCm1haW4vcmVwb3J0YnVpbGRlci90ZW1wbGF0ZS9wb3N0LnhtbAptYWluL3JlcG9ydGJ1aWxkZXIvdGVtcGxhdGUvcHJlLnhtbAptYWluL3JlcG9ydGJ1aWxkZXIvdXRpbC9jb21wb25lbnQudHh0Cm1haW4vcmVwb3J0YnVpbGRlci91dGlsL2RlbHppcAptYWluL3JpZGxqYXIvc291cmNlL3Vub2xvYWRlci9jb20vc3VuL3N0YXIvbGliL3Vub2xvYWRlci9tYW5pZmVzdAptYWluL3JpZGxqYXIvc291cmNlL3Vub2xvYWRlci9kZWx6aXAKbWFpbi9yaWRsamFyL3V0aWwvZGVsemlwCm1haW4vc2FsL3dvcmtiZW4vY2xpcGJvYXJkd2Jlbi90ZXN0Y29weS9yZXNvdXJjZS5oCm1haW4vc2FsL3dvcmtiZW4vY2xpcGJvYXJkd2Jlbi90ZXN0cGFzdGUvcmVzb3VyY2UuaAptYWluL3NhbC93b3JrYmVuL2NsaXBib2FyZHdiZW4vdGVzdHZpZXdlci9yZXNvdXJjZS5oCm1haW4vc2MvdWljb25maWcvbGF5b3V0L2RlbHppcAptYWluL3NjcmlwdGluZy9leGFtcGxlcy9kZWx6aXAKbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9tb2R1bGVzL29mZmljZS9yZXNvdXJjZXMvdGVtcGxhdGVzL0VtcHR5LmJzaF8KbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9tb2R1bGVzL29mZmljZS9yZXNvdXJjZXMvdGVtcGxhdGVzL0VtcHR5UGFyY2VsRGVzY3JpcHRvci54bWxfCm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvbW9kdWxlcy9vZmZpY2UvcmVzb3VyY2VzL3RlbXBsYXRlcy9QYXJjZWxEZXNjcmlwdG9yLnhtbF8KbWFpbi9zZGV4dC9zb3VyY2UvbWluaW1pemVyL2RlbHppcAptYWluL3NkZXh0L3NvdXJjZS9wZGZpbXBvcnQvZGVsemlwCm1haW4vc2RleHQvc291cmNlL3BkZmltcG9ydC93cmFwcGVyL2tleXdvcmRfbGlzdAptYWluL3NkZXh0L3NvdXJjZS9wcmVzZW50ZXIvZGVsemlwCm1haW4vc2V0dXBfbmF0aXZlL3NvdXJjZS9tYWMvbWFjaW5zdGFsbC51bGYKbWFpbi9zZXR1cF9uYXRpdmUvc291cmNlL29wZW5zb2xhcmlzL2J1bmRsZWRleHRlbnNpb25zL2luc3RhbGxlZAptYWluL3NldHVwX25hdGl2ZS9zb3VyY2UvcGFja2luZm8vbGludXhjb3B5cmlnaHRmaWxlCm1haW4vc2V0dXBfbmF0aXZlL3NvdXJjZS9wYWNraW5mby9wcml2YXRlMWNvcHlyaWdodGZpbGUKbWFpbi9zZXR1cF9uYXRpdmUvc291cmNlL3BhY2tpbmZvL3NvbGFyaXNjb3B5cmlnaHRmaWxlCm1haW4vc2Z4Mi93b3JrYmVuL2N1c3RvbXBhbmVsL2RlbHppcAptYWluL3Ntb2tldGVzdGRvYy9jb20vc3VuL3N0YXIvY29tcC9zbW9rZXRlc3QvTUFOSUZFU1QuTUYKbWFpbi9zbW9rZXRlc3Rkb2MvY29tL3N1bi9zdGFyL2NvbXAvc21va2V0ZXN0L2RlbHppcAptYWluL3NvbGVudi9iaW4vZ2VubWFwCm1haW4vc29sZW52L2Jpbi9pbnN0YWxsLXNoCm1haW4vc29sZW52L2luYy9zdGFydHVwL3N1bW1hcnkKbWFpbi9zb2x0b29scy93aW51bmlzdGQvdW5pc3RkLmgKbWFpbi9zcGxpdGJ1aWxkL2JtCm1haW4vc3RvYy90ZXN0L2phdmF2bS90ZXN0Y29tcG9uZW50L21hbmlmZXN0Cm1haW4vc3Z0b29scy9pbmMvc3Z0b29scy9jaGFydHByZXR0eXBhaW50ZXIuaHh4Cm1haW4vc3Z0b29scy9zb3VyY2UvbWlzYy9jaGFydHByZXR0eXBhaW50ZXIuY3h4Cm1haW4vc3Z4L3VpY29uZmlnL2xheW91dC9kZWx6aXAKbWFpbi9zdy9xYS9jb3JlL3BlcmZvcm1hbmNlLWpvYmZpbGUKbWFpbi9zdy9zb3VyY2UvZmlsdGVyL3d3OC9DUkVESVRTCm1haW4vc3cvdWljb25maWcvbGF5b3V0L2RlbHppcAptYWluL3N5c3VpL2Rlc2t0b3AvZGViaWFuL2NvbnRyb2wKbWFpbi9zeXN1aS9kZXNrdG9wL2RlYmlhbi9wb3N0cm0KbWFpbi9zeXN1aS9kZXNrdG9wL2RlYmlhbi9wcmVybQptYWluL3N5c3VpL2Rlc2t0b3AvbWFjb3N4L2RlbHppcAptYWluL3N5c3VpL2Rlc2t0b3Avc2hhcmUvZG9jdW1lbnRzLnVsZgptYWluL3N5c3VpL2Rlc2t0b3Avc2hhcmUvbGF1bmNoZXJfZ2VuZXJpY25hbWUudWxmCm1haW4vc3lzdWkvZGVza3RvcC9zbGFja3dhcmUvc2xhY2stZGVzYwptYWluL3N5c3VpL2Rlc2t0b3Avc2xhY2t3YXJlL3VwZGF0ZS1zY3JpcHQKbWFpbi9zeXN1aS9kZXNrdG9wL3NvbGFyaXMvZGVwZW5kCm1haW4vc3lzdWkvZGVza3RvcC9zb2xhcmlzL3BrZ2luZm8KbWFpbi9zeXN1aS9kZXNrdG9wL3NvbGFyaXMvcHJvdG90eXBlCm1haW4vdGVzdGF1dG9tYXRpb24vZ2xvYmFsL2lucHV0L2VtcHR5L3BsZWFzZV9kb19ub3RfZGVsZXRlX3RoaXNfZmlsZQptYWluL3Rlc3RncmFwaGljYWwvcmVmZXJlbmNlcy91bnhsbmdpL3NpbmdsZXRlc3QvdG9sZXJhbmNlLmluaV8KbWFpbi90ZXN0dG9vbHMvY29tL3N1bi9zdGFyL2NvbXAvYnJpZGdlL21hbmlmZXN0Cm1haW4vdGVzdHRvb2xzL3NvdXJjZS9icmlkZ2V0ZXN0L3B5dW5vL3B5dW5vCm1haW4vdG9vbGtpdC9kb2MvbGF5b3V0L1RPRE8KbWFpbi90b29sa2l0L3VpY29uZmlnL2xheW91dC9kZWx6aXAKbWFpbi90b29sa2l0L3dvcmtiZW4vbm9fbG9jYWxpemF0aW9uCm1haW4vdXJlL3NvdXJjZS9kZWx6aXAKbWFpbi92Y2wvYXF1YS9zb3VyY2UvcmVzL2RlbHppcAptYWluL3ZjbC91bngvZ2VuZXJpYy9mb250bWFuYWdlci9hZm1fa2V5d29yZF9saXN0Cm1haW4vdmNsL3VueC9ndGsvYTExeS9UT0RPCm1haW4vd2l6YXJkcy9jb20vc3VuL3N0YXIvd2l6YXJkcy9hZ2VuZGEvTUFOSUZFU1QuTUYKbWFpbi93aXphcmRzL2NvbS9zdW4vc3Rhci93aXphcmRzL2NvbW1vbi9NQU5JRkVTVC5NRgptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvY29tbW9uL2RlbHppcAptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvZGIvTUFOSUZFU1QuTUYKbWFpbi93aXphcmRzL2NvbS9zdW4vc3Rhci93aXphcmRzL2ZheC9NQU5JRkVTVC5NRgptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvZm9ybS9NQU5JRkVTVC5NRgptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvbGV0dGVyL01BTklGRVNULk1GCm1haW4vd2l6YXJkcy9jb20vc3VuL3N0YXIvd2l6YXJkcy9xdWVyeS9NQU5JRkVTVC5NRgptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvcmVwb3J0L01BTklGRVNULk1GCm1haW4vd2l6YXJkcy9jb20vc3VuL3N0YXIvd2l6YXJkcy9yZXBvcnQvZGVsemlwCm1haW4vd2l6YXJkcy9jb20vc3VuL3N0YXIvd2l6YXJkcy90YWJsZS9NQU5JRkVTVC5NRgptYWluL3dpemFyZHMvY29tL3N1bi9zdGFyL3dpemFyZHMvd2ViL01BTklGRVNULk1GCm1haW4vd2l6YXJkcy9zb3VyY2UvY29uZmlnL2RlbHppcAptYWluL3dpemFyZHMvc291cmNlL2NvbmZpZ3NoYXJlL2RlbHppcAptYWluL3dpemFyZHMvc291cmNlL2RlcG90L2RlbHppcAptYWluL3dpemFyZHMvc291cmNlL2V1cm8vZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2UvZm9ybXdpemFyZC9kZWx6aXAKbWFpbi93aXphcmRzL3NvdXJjZS9naW1taWNrcy9kZWx6aXAKbWFpbi93aXphcmRzL3NvdXJjZS9pbXBvcnR3aXphcmQvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2UvbGF1bmNoZXIvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2Uvc2NoZWR1bGUvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2Uvc3RhbmRhcmQvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2UvdGVtcGxhdGUvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2UvdG9vbHMvZGVsemlwCm1haW4vd2l6YXJkcy9zb3VyY2UvdHV0b3JpYWxzL2RlbHppcAptYWluL3dpemFyZHMvc291cmNlL3dlYndpemFyZC9kZWx6aXAKbWFpbi93cml0ZXJmaWx0ZXIvc291cmNlL2RvY3Rvay9xbmFtZXRvc3RyZm9vdGVyCm1haW4vd3JpdGVyZmlsdGVyL3NvdXJjZS9vb3htbC9tb2RlbGNsZWFudXAKbWFpbi93cml0ZXJmaWx0ZXIvc291cmNlL29veG1sL3JuZ3RvY3h4Cm1haW4vd3JpdGVyZmlsdGVyL3NvdXJjZS9vb3htbC90b2tlbnhtbGZvb3RlcgptYWluL3dyaXRlcmZpbHRlci9zb3VyY2Uvb294bWwvdG9rZW54bWxoZWFkZXIKbWFpbi93cml0ZXJmaWx0ZXIvc291cmNlL3Jlc291cmNlbW9kZWwvYW5hbHl6ZXJmb290ZXIKbWFpbi93cml0ZXJmaWx0ZXIvc291cmNlL3Jlc291cmNlbW9kZWwvcW5hbWV0b3N0cmZvb3RlcgptYWluL3dyaXRlcmZpbHRlci9zb3VyY2UvcmVzb3VyY2Vtb2RlbC9zZXRkZWJ1Z2ZsYWdzCm1haW4vd3JpdGVyZmlsdGVyL3NvdXJjZS9yZXNvdXJjZW1vZGVsL3Nwcm1jb2RldG9zdHJmb290ZXIKbWFpbi94bWVyZ2Uvc291cmNlL2FjdGl2ZXN5bmMvWE1lcmdlRmFjdG9yeS5oCm1haW4veG1lcmdlL3NvdXJjZS9hY3RpdmVzeW5jL1hNZXJnZUZpbHRlci5oCm1haW4veG1lcmdlL3NvdXJjZS9hY3RpdmVzeW5jL1hNZXJnZVN5bmMuaAptYWluL3htZXJnZS9zb3VyY2UvYWN0aXZlc3luYy9yZXNvdXJjZS5oCm1haW4veG1lcmdlL3NvdXJjZS9hY3RpdmVzeW5jL3N0ZGFmeC5oCm1haW4veG1saGVscC9zb3VyY2UvY29tL3N1bi9zdGFyL2hlbHAvTUFOSUZFU1QuTUYKbWFpbi94bWxoZWxwL3V0aWwvZGVsemlwCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzEvZGVtb0NBL2NybC9ET19OT1RfQ1JFQVRFX0FfQ1JMCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzEvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8xL2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfMTAvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8xMC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzExL2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfMTEvZGVtb0NBL3NlcmlhbAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8yL2RlbW9DQS9jcmwvRE9fTk9UX0NSRUFURV9BX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8yL2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfMi9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzMvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8zL2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfNC9kZW1vQ0EvY3JsbnVtYmVyCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzQvZGVtb0NBL3NlcmlhbAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF81L2RlbW9DQS9jcmwvRE9fTk9UX0NSRUFURV9BX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF81L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfNS9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzYvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF82L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfNi9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzcvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF83L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfNy9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzgvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF84L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfOC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzkvZGVtb0NBL0RPX05PX0lOU1RBTExfVEhJU19ST09UX0NFUlRJRklDQVRFCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzkvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF85L2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMS9kZW1vQ0EvY3JsL0RPX05PVF9DUkVBVEVfQV9DUkwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMS9kZW1vQ0EvY3JsbnVtYmVyCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzEvZGVtb0NBL3NlcmlhbAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF8xMC9ET19OT1RfSU5TVEFMTF9USElTX0NFUlRJRklDQVRFCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzEwL2RlbW9DQS9ET19OT1RfSU5TVEFMTF9USElTX0NFUlRJRklDQVRFCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzEwL2RlbW9DQS9jcmwvRE9fTk9UX0lOU1RBTExfVEhJU19DUkwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMTAvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF8xMC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzIvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF8yL2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMy9kZW1vQ0EvY3JsL0RPX05PVF9DUkVBVEVfQV9DUkwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMy9kZW1vQ0EvY3JsbnVtYmVyCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzMvZGVtb0NBL3NlcmlhbAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF80L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfNC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzUvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF81L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfNS9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzYvZGVtb0NBL2NybC9ET19OT1RfQ1JFQVRFX0FfQ1JMCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzYvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF82L2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfNy9kZW1vQ0EvY3JsL0RPX05PVF9JTlNUQUxMX1RISVNfQ1JMCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzcvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF83L2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfOC9kZW1vQ0EvY3JsL0RPX05PVF9JTlNUQUxMX1RISVNfQ1JMCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzgvZGVtb0NBL2NybG51bWJlcgptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF84L2RlbW9DQS9zZXJpYWwKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfOS9kZW1vQ0EvY3JsbnVtYmVyCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzkvZGVtb0NBL3NlcmlhbAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzJfUm9vdF80L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8yX1Jvb3RfNC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMl9Sb290XzcvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzJfUm9vdF83L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8yX1Jvb3RfNy9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMl9Sb290XzgvZGVtb0NBL2NybC9ET19OT1RfSU5TVEFMTF9USElTX0NSTAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzJfUm9vdF84L2RlbW9DQS9jcmxudW1iZXIKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8yX1Jvb3RfOC9kZW1vQ0Evc2VyaWFsCm1haW4veG1sc2VjdXJpdHkvdG9vbHMvZGVtby9tYW5pZmVzdAp0ZXN0L3Rlc3Rhc3Npc3RhbnQvTUVUQS1JTkYvTUFOSUZFU1QuTUYKdGVzdC90ZXN0YXNzaXN0YW50LmZlYXR1cmUvLnByb2plY3QKdGVzdC90ZXN0YXNzaXN0YW50LmZlYXR1cmUvYnVpbGQucHJvcGVydGllcwp0ZXN0L3Rlc3Rhc3Npc3RhbnQvLmNsYXNzcGF0aAp0ZXN0L3Rlc3Rhc3Npc3RhbnQvLnByb2plY3QKdGVzdC90ZXN0YXNzaXN0YW50L01FVEEtSU5GL01BTklGRVNULk1GCnRlc3QvdGVzdGFzc2lzdGFudC9idWlsZC5wcm9wZXJ0aWVzCnRlc3QvdGVzdGNvbW1vbi8uY2xhc3NwYXRoCnRlc3QvdGVzdGNvbW1vbi8ucHJvamVjdAp0ZXN0L3Rlc3RndWkvLmNsYXNzcGF0aAp0ZXN0L3Rlc3RndWkvLnByb2plY3QKdGVzdC90ZXN0Z3VpLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcwp0ZXN0L3Rlc3RndWkvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmcucHJlZnMKdGVzdC90ZXN0Z3VpL2lkcy9vYnNvbGV0ZV9oaWQKdGVzdC90ZXN0dW5vL2RhdGEvbGltaXRfY2ZnLmluaQp0ZXN0L3Rlc3R1bm8vLmNsYXNzcGF0aF9saW51eAp0ZXN0L3Rlc3R1bm8vLmNsYXNzcGF0aF93aW4KdGVzdC90ZXN0dW5vLy5leHRlcm5hbFRvb2xCdWlsZGVycy9DbGFzc3BhdGggQnVpbGRlci5sYXVuY2gKdGVzdC90ZXN0dW5vLy5wcm9qZWN0CgojIHVzZWQgaW4gbWFpbi9saWJ0ZXh0Y2F0L2RhdGEvbmV3X2ZpbmdlcnByaW50cy9sbSAoNzQpLCBub3QgaW4gU0dBCiMgc29tZSBsYW5ndWFnZSBtYXBwaW5nIGZpbGVzLCBjcmVhdGVkIHVzaW5nIGxpYnRleHRjYXQKIyoqLyoubG0KbWFpbi9saWJ0ZXh0Y2F0L2RhdGEvbmV3X2ZpbmdlcnByaW50cy9sbS8qLmxtCgojIHVzZWQgaW4gbWFpbi9zYy9zb3VyY2UvdWkvdmJhL3Rlc3R2YmEvVGVzdERvY3VtZW50cy8qICgxMTIpLCBwYXJ0IG9mIFNHQQojIHJlc3VsdCBvZiB0ZXN0IHJ1bnMsIGNvdWxkIGJlIHJlbW92ZWQgKD8pCiMqKi8qLmxvZwptYWluL3NjL3NvdXJjZS91aS92YmEvdGVzdHZiYS9UZXN0RG9jdW1lbnRzL2xvZ3MvZXhjZWwvKi5sb2cKbWFpbi9zYy9zb3VyY2UvdWkvdmJhL3Rlc3R2YmEvVGVzdERvY3VtZW50cy9sb2dzL3VuaXgvKi5sb2cKbWFpbi9zYy9zb3VyY2UvdWkvdmJhL3Rlc3R2YmEvVGVzdERvY3VtZW50cy9sb2dzL3dpbi8qLmxvZwptYWluL3NjL3NvdXJjZS91aS92YmEvdGVzdHZiYS9UZXN0RG9jdW1lbnRzLW9vby1idWlsZC9sb2dzL2V4Y2VsLyoubG9nCm1haW4vc2Mvc291cmNlL3VpL3ZiYS90ZXN0dmJhL1Rlc3REb2N1bWVudHMtb29vLWJ1aWxkL2xvZ3MvZm9ybWF0LmxvZwptYWluL3NjL3NvdXJjZS91aS92YmEvdGVzdHZiYS9UZXN0RG9jdW1lbnRzLW9vby1idWlsZC9sb2dzL3VuaXgvKi5sb2cKbWFpbi9zYy9zb3VyY2UvdWkvdmJhL3Rlc3R2YmEvVGVzdERvY3VtZW50cy1vb28tYnVpbGQvbG9ncy93aW4vKi5sb2cKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIG5vIGNvbW1lbnRzIGFsbG93ZWQgaW4gZmlsZSBmb3JtYXQKIwoKdGVzdC90ZXN0Y29tbW9uL3NvdXJjZS9vcmcvb3Blbm9mZmljZS90ZXN0L1J1bi5oZWxwCm1haW4vc2V0dXBfbmF0aXZlL3NvdXJjZS9wYWNraW5mby9wYWNrYWdlX25hbWVzX2V4dC50eHQKbWFpbi9zZXR1cF9uYXRpdmUvc291cmNlL3BhY2tpbmZvL3BhY2thZ2VfbmFtZXMudHh0Cm1haW4vb2ZmaWNlY2ZnL3JlZ2lzdHJ5L3NjaGVtYS9vby1jb21tb24uY29uZgptYWluL2ljdS9jcmVhdGVtYWsuY2ZnCm1haW4vcmVkbGFuZC9yYXB0b3IvcmFwdG9yLTEuNC4xOC5wYXRjaC5vb29fYnVpbGQKbWFpbi9yZWRsYW5kL3Jhc3FhbC9yYXNxYWwtMC45LjE2LnBhdGNoLm9vb19idWlsZAptYWluL3JlZGxhbmQvcmVkbGFuZC9yZWRsYW5kLTEuMC44LnBhdGNoLm9vb19idWlsZAptYWluL2JpbmZpbHRlci9iZl9zZngyL3V0aWwvbWFrZWZpbGUucHJqCm1haW4vdGVzdGF1dG9tYXRpb24vc3ByZWFkc2hlZXQvb3B0aW9uYWwvaW5wdXQvbG9hZHNhdmUvbWljcm9zb2Z0L2RpZi5ESUYKbWFpbi9teXNxbGMvc291cmNlL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uX2RlLnR4dAptYWluL215c3FsYy9zb3VyY2UvZGVzY3JpcHRpb24vZGVzY3JpcHRpb25fZW4tVVMudHh0Cm1haW4vbXlzcWxjL3NvdXJjZS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbl9lcy50eHQKbWFpbi9teXNxbGMvc291cmNlL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uX2ZyLnR4dAptYWluL215c3FsYy9zb3VyY2UvZGVzY3JpcHRpb24vZGVzY3JpcHRpb25faHUudHh0Cm1haW4vbXlzcWxjL3NvdXJjZS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbl9pdC50eHQKbWFpbi9teXNxbGMvc291cmNlL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uX25sLnR4dAptYWluL215c3FsYy9zb3VyY2UvZGVzY3JpcHRpb24vZGVzY3JpcHRpb25fcGwudHh0Cm1haW4vbXlzcWxjL3NvdXJjZS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbl9wdC1CUi50eHQKbWFpbi9teXNxbGMvc291cmNlL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uX3B0LnR4dAptYWluL215c3FsYy9zb3VyY2UvZGVzY3JpcHRpb24vZGVzY3JpcHRpb25fc3YudHh0Cm1haW4vbXlzcWxjL3NvdXJjZS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbl96aC1DTi50eHQKbWFpbi9teXNxbGMvc291cmNlL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uX3poLVRXLnR4dAptYWluL29kay9leGFtcGxlcy9EZXZlbG9wZXJzR3VpZGUvQ29tcG9uZW50cy9TaW1wbGVMaWNlbnNlL3JlZ2lzdHJhdGlvbi9saWNlbnNlX2RlLnR4dAptYWluL29kay9leGFtcGxlcy9EZXZlbG9wZXJzR3VpZGUvQ29tcG9uZW50cy9TaW1wbGVMaWNlbnNlL3JlZ2lzdHJhdGlvbi9saWNlbnNlX2VuX1VTLnR4dAptYWluL29kay9leGFtcGxlcy9EZXZlbG9wZXJzR3VpZGUvVUNCL2RhdGEvZGF0YS50eHQKbWFpbi9vZGsvZXhhbXBsZXMvYmFzaWMvZHJhd2luZy9kaXJ0cmVlLnR4dAptYWluL29kay9leGFtcGxlcy9iYXNpYy90ZXh0L2NyZWF0aW5nX2FuX2luZGV4L2luZGV4bGlzdC50eHQKbWFpbi9vZGsvcGFjay9jb3B5aW5nL2lkbF9jaGFwdGVyX3JlZnMudHh0Cm1haW4vb294L3NvdXJjZS90b2tlbi9uYW1lc3BhY2VzLnR4dAptYWluL29veC9zb3VyY2UvdG9rZW4vcHJvcGVydGllcy50eHQKbWFpbi9vb3gvc291cmNlL3Rva2VuL3Rva2Vucy50eHQKbWFpbi9wb3N0cHJvY2Vzcy9yZWJhc2UvY29mZmJhc2UudHh0Cm1haW4vcG9zdHByb2Nlc3MvcmViYXNlL25vX3JlYmFzZS50eHQKbWFpbi9wb3N0cHJvY2Vzcy9zaWduaW5nL25vX3NpZ25pbmcudHh0Cm1haW4vcWFkZXZPT28vdGVzdGRvY3MvWFNpbXBsZUZpbGVBY2Nlc3MvWFNpbXBsZUZpbGVBY2Nlc3MudHh0Cm1haW4vcWFkZXZPT28vdGVzdGRvY3MvWFNpbXBsZUZpbGVBY2Nlc3MvWFNpbXBsZUZpbGVBY2Nlc3MyLnR4dAptYWluL3FhZGV2T09vL3Rlc3Rkb2NzL1hTaW1wbGVGaWxlQWNjZXNzQkFTSUMvRmlsZTEudHh0Cm1haW4vcWFkZXZPT28vdGVzdGRvY3MvWFNpbXBsZUZpbGVBY2Nlc3NCQVNJQy9GaWxlMi50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9ncmFwaGljcy9yZXF1aXJlZC9pbnB1dC9nYWxsZXJ5L2dhbF8xLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzMxLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzMzLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzM0LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzM2LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzM5LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzQ4LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsXzU1LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L2dhbGxlcnkvZ2FsX29vXzEudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvZ2FsbGVyeS9nYWxfb29fNDkudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvZ2FsbGVyeS9nYWxfb29fNTAudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvZ2FsbGVyeS9nYWxfb29fODQudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvc3BlbGxiXzEudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvc3BlbGxiXzMxLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L3NwZWxsYl8zMy50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9ncmFwaGljcy9yZXF1aXJlZC9pbnB1dC9zcGVsbGJfMzQudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvc3BlbGxiXzM2LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L3NwZWxsYl8zOS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9ncmFwaGljcy9yZXF1aXJlZC9pbnB1dC9zcGVsbGJfNDkudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vZ3JhcGhpY3MvcmVxdWlyZWQvaW5wdXQvc3BlbGxiXzUwLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL2dyYXBoaWNzL3JlcXVpcmVkL2lucHV0L3NwZWxsYl81NS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL2lmX2NvZF9saW4udHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9jb2Rfdzk1LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvaWZfc3RfMV9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF8zM19hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF8zNF9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF8zOV9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF80Nl9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF80Nl9leGUudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF80OV9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF81NV9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF84MV9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF84Ml9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF84Nl9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF84OF9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl9zdF9hbGwudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9pZl93NHdfbGluLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvc2FfYWN0dWFfMS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3NhX2FjdHVhXzM2LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvc2FfYWN0dWFfNDkudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9zYV9hY3R1YV84MS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3NhX2FjdHVhXzgyLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvc2FfYWN0dWFfODYudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9zYV9hY3R1YV84OC50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3NhX3NvcnRlXzEudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9zYV9zb3J0ZV8zNi50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3NhX3NvcnRlXzQ5LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvc2Ffc29ydGVfODEudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci9zYV9zb3J0ZV84Mi50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3NhX3NvcnRlXzg2LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9maWx0ZXIvc2Ffc29ydGVfODgudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci93Zl9fX18xX2FsbC50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvZmlsdGVyL3dmX19fXzQ5X2FsbC50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvaW1wb3J0L3N3ZG9zLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9udW1iZXIvZm9ybWF0MS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvbnVtYmVyL2Zvcm1hdDMxLnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9udW1iZXIvZm9ybWF0MzMudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L251bWJlci9mb3JtYXQzNi50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvbnVtYmVyL2Zvcm1hdDM5LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9udW1iZXIvZm9ybWF0NDQudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L251bWJlci9mb3JtYXQ0Ni50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi93cml0ZXIvb3B0aW9uYWwvaW5wdXQvbnVtYmVyL2Zvcm1hdDQ5LnR4dAptYWluL3Rlc3RhdXRvbWF0aW9uL3dyaXRlci9vcHRpb25hbC9pbnB1dC9udW1iZXIvZm9ybWF0ODYudHh0Cm1haW4vd3JpdGVyZmlsdGVyL2RvY3VtZW50YXRpb24vc3BybXMudHh0Cm1haW4veG1lcmdlL3NvdXJjZS9hY3RpdmVzeW5jL2d1aWRzLnR4dAptYWluL3htZXJnZS9zb3VyY2UvYnJpZGdlL2FudGNhbGwudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzEvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF8xMC9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzExL2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfMi9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzMvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF80L2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfNS9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzYvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvUm9vdF83L2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1Jvb3RfOC9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzkvRE9fTk9UX0lOU1RBTExfVEhJU19ST09UX0NFUlQudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9Sb290XzkvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF8xL2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMTAvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF8yL2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfMy9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzQvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF81L2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfNi9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMV9Sb290XzcvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzFfUm9vdF84L2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8xX1Jvb3RfOS9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdGVzdF9kb2NzL0NBcy9TdWJfQ0FfMl9Sb290XzQvZGVtb0NBL2luZGV4LnR4dAptYWluL3htbHNlY3VyaXR5L3Rlc3RfZG9jcy9DQXMvU3ViX0NBXzJfUm9vdF83L2RlbW9DQS9pbmRleC50eHQKbWFpbi94bWxzZWN1cml0eS90ZXN0X2RvY3MvQ0FzL1N1Yl9DQV8yX1Jvb3RfOC9kZW1vQ0EvaW5kZXgudHh0Cm1haW4veG1sc2VjdXJpdHkvdG9vbHMvZXhhbXBsZXMvZXZhbF9leHBvcnQudHh0Cm1haW4veG1sc2VjdXJpdHkvdG9vbHMvZXhhbXBsZXMvZXZhbF9pbXBvcnQudHh0CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBlbXB0eSBmaWxlcwojCgptYWluL29kay9leGFtcGxlcy9PTEUvZGVscGhpL0luc2VydFRhYmxlcy9Qcm9qZWN0MS5yZXMKbWFpbi9vZGsvcGFjay91bnppcF91ZGsvZGVsdHJlZS50eHQKbWFpbi90ZXN0YXV0b21hdGlvbi9mcmFtZXdvcmsvcmVxdWlyZWQvaW5wdXQvYmFzaWNfaWRlL0RpYWxvZzVfYXJfRFouZGVmYXVsdAptYWluL2luc3RzZXRvb19uYXRpdmUvaW5jX3VyZS93aW5kb3dzL21zaV90ZW1wbGF0ZXMvY29tcG9uZW50cy50eHQKbWFpbi9taWdyYXRpb25hbmFseXNpcy9zcmMvd2l6YXJkL3JjZm9vdGVyLnR4dAptYWluL2luc3RzZXRvb19uYXRpdmUvaW5jX3Nka29vL3dpbmRvd3MvbXNpX3RlbXBsYXRlcy9jb21wb25lbnRzLnR4dAptYWluL2luc3RzZXRvb19uYXRpdmUvaW5jX29wZW5vZmZpY2Uvd2luZG93cy9tc2lfdGVtcGxhdGVzL2NvbXBvbmVudHMudHh0Cm1haW4vaW5zdHNldG9vX25hdGl2ZS9pbmNfb29vbGFuZ3BhY2svd2luZG93cy9tc2lfdGVtcGxhdGVzL2NvbXBvbmVudHMudHh0Cm1haW4vdGVzdGF1dG9tYXRpb24vd3JpdGVyL29wdGlvbmFsL2lucHV0L2ZpbHRlci93Zl9fX180OS5hbGwKbWFpbi9zY3JpcHRpbmcvamF2YS9vcmcvb3Blbm9mZmljZS9uZXRiZWFucy9tb2R1bGVzL29mZmljZS9CdW5kbGUucHJvcGVydGllcwptYWluL3NjcmlwdGluZy9qYXZhL29yZy9vcGVub2ZmaWNlL25ldGJlYW5zL21vZHVsZXMvb2ZmaWNlL0J1bmRsZV9lbl9VUy5wcm9wZXJ0aWVzCm1haW4vc2NyaXB0aW5nL2phdmEvb3JnL29wZW5vZmZpY2UvbmV0YmVhbnMvbW9kdWxlcy9vZmZpY2UvZmlsZXN5c3RlbS9CdW5kbGVfZW5fVVMucHJvcGVydGllcwptYWluL3NjcmlwdGluZy9qYXZhL29yZy9vcGVub2ZmaWNlL25ldGJlYW5zL21vZHVsZXMvb2ZmaWNlL3dpemFyZC9CdW5kbGVfZW5fVVMucHJvcGVydGllcwptYWluL3Rlc3RhdXRvbWF0aW9uL2V4dGVuc2lvbnMvb3B0aW9uYWwvaW5wdXQvZXh0ZW5zaW9uX3NvdXJjZXMvVGFza1BhbmVDb21wb25lbnQvbmJwcm9qZWN0L3ByaXZhdGUvY29uZmlnLnByb3BlcnRpZXMKbWFpbi90ZXN0Z3JhcGhpY2FsL3VpL2phdmEvQ29udndhdGNoR1VJUHJvamVjdC9uYnByb2plY3QvcHJpdmF0ZS9jb25maWcucHJvcGVydGllcwoKIyB1c2VkIGluIG1haW4vZXh0ZW5zaW9ucy9zb3VyY2UvbWFjb3N4L3Nwb3RsaWdodC9tZGltcG9ydGVyL2VuLmxwcm9qL3NjaGVtYS5zdHJpbmdzICgxKSwgcGFydCBvZiBTR0EKIyoqLyouc3RyaW5ncwptYWluL2V4dGVuc2lvbnMvc291cmNlL21hY29zeC9zcG90bGlnaHQvbWRpbXBvcnRlci9lbi5scHJvai9zY2hlbWEuc3RyaW5ncwoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgdGVzdCBmaWxlcyAobmVlZCBjdXJyZW50IGNvbnRlbnRzKQojCgptYWluL2Rlc2t0b3AvdGVzdC9kZXBsb3ltZW50L3VwZGF0ZS9kZWZlY3QvdXBkYXRlL2luZm8xLnVwZGF0ZS54bWwKbWFpbi9kZXNrdG9wL3Rlc3QvZGVwbG95bWVudC91cGRhdGUvZGVmZWN0L3VwZGF0ZS9pbmZvMi51cGRhdGUueG1sCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBmaWxlcyB3aXRoIEFwYWNoZSBMaWNlbnNlIDIuMCAoQUx2MikKIyB0aGF0IGFyZSBwbGFpbiBjb3BpZXMsIHNvIHRoZXkgY2Fubm90IGJlIG1vZGlmaWVkCgptYWluL3N0YXgvZG93bmxvYWQvUkVBRE1FX3N0YXgtMS4yLjAuamFyLnR4dAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBmaWxlcyB3aXRoIE1JVCBsaWNlbnNlCiMKCm1haW4vaW5zdGFsbC1zaAptYWluL2FwcGxlX3JlbW90ZS9pbmMvQXBwbGVSZW1vdGUuaAptYWluL2FwcGxlX3JlbW90ZS9pbmMvR2xvYmFsS2V5Ym9hcmREZXZpY2UuaAptYWluL2FwcGxlX3JlbW90ZS9pbmMvSElEUmVtb3RlQ29udHJvbERldmljZS5oCm1haW4vYXBwbGVfcmVtb3RlL2luYy9LZXlzcGFuRnJvbnRSb3dDb250cm9sLmgKbWFpbi9hcHBsZV9yZW1vdGUvaW5jL011bHRpQ2xpY2tSZW1vdGVCZWhhdmlvci5oCm1haW4vYXBwbGVfcmVtb3RlL2luYy9SZW1vdGVDb250cm9sLmgKbWFpbi9hcHBsZV9yZW1vdGUvaW5jL1JlbW90ZUNvbnRyb2xDb250YWluZXIuaAptYWluL2FwcGxlX3JlbW90ZS9pbmMvUmVtb3RlTWFpbkNvbnRyb2xsZXIuaAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmlsZXMgd2l0aCBXM0MgU29mdHdhcmUgTGljZW5zZQojCgptYWluL01hdGhNTERURC93M2NfaXByX3NvZnR3YXJlX25vdGljZS5odG1sCm1haW4vTWF0aE1MRFREL21hdGguZHRkCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBmaWxlcyB3aXRoIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIExpY2Vuc2UKIwoKbWFpbi9maWx0ZXIvc291cmNlL2NvbmZpZy90b29scy9tZXJnZS9weUFsdEZDRkdNZXJnZQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmlsZXMgd2l0aCBJQ1UgbGljZW5zZQojCgptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvY2hhcl9pbi50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2NvdW50X3dvcmQudHh0Cm1haW4vaTE4bnBvb2wvc291cmNlL2JyZWFraXRlcmF0b3IvZGF0YS9jb3VudF93b3JkX2ZpLnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkLnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkX2NhLnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkX2ZpLnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkX2hlLnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkX2h1LnR4dAptYWluL2kxOG5wb29sL3NvdXJjZS9icmVha2l0ZXJhdG9yL2RhdGEvZGljdF93b3JkX25vZGFzaC50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2RpY3Rfd29yZF9wcmVwb3N0ZGFzaC50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2VkaXRfd29yZC50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2VkaXRfd29yZF9oZS50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2VkaXRfd29yZF9odS50eHQKbWFpbi9pMThucG9vbC9zb3VyY2UvYnJlYWtpdGVyYXRvci9kYXRhL2xpbmUudHh0Cm1haW4vaTE4bnBvb2wvc291cmNlL2JyZWFraXRlcmF0b3IvZGF0YS9zZW50LnR4dAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmlsZXMgZm9yIFNBTkUgQVBJLCBwdWJsaWMgZG9tYWluCiMKCm1haW4vc2FuZS9pbmMvc2FuZS5oCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBmaWxlcyB3aXRoIEJTRCBsaWNlbnNlCiMKCm1haW4vdW5peE9EQkMvaW5jL2lvZGJjdW5peC5oCm1haW4vdW5peE9EQkMvaW5jL3NxbC5oCm1haW4vdW5peE9EQkMvaW5jL3NxbGV4dC5oCm1haW4vdW5peE9EQkMvaW5jL3NxbHR5cGVzLmgKbWFpbi91bml4T0RCQy9pbmMvc3FsdWNvZGUuaAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmlsZXMgd2l0aCAiVGhlIFRXQUlOIExpY2Vuc2UiLCBzZWUgaHR0cDovL3d3dy50d2Fpbi5vcmcvbGljZW5zZS5zaHRtLiBDb3ZlcmVkCiMgaW4gdGhlIG1haW4vTk9USUNFIGZpbGUgYXMgcmVxdWlyZWQKIwoKbWFpbi90d2Fpbi9pbmMvdHdhaW4uaAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgR1BMLCBidXQgc3BlY2lhbCBlbnRyeSB0aGVyZToKIyAjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKIyAjIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQojICMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKIyAjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KIyB0aHVzIGNhbiBiZSBrZXB0IGFuZCBzaG91bGQgYmUgYWRkZWQgdG8gcmF0IGV4Y2x1ZGVzCiMgU3RpbGw6IEEgY2FzZSBmb3IgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9MRUdBTC0xMzAKIwoKbWFpbi9jb25maWcuZ3Vlc3MKbWFpbi9jb25maWcuc3ViCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBIZWFkZXIgY29udGFpbnMgbGljZW5zZSBpZGVudGljYWwgdG8gQlNEIHdpdGhvdXQgYWR2ZXJ0aXNpbmcKIyBBIGNhc2UgZm9yIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTEVHQUwtMTMwCiMKCm1haW4vY29ubmVjdGl2aXR5L3FhL2NvbXBsZXgvY29ubmVjdGl2aXR5L2hzcWxkYi9UZXN0Q2FjaGVTaXplLmphdmEKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIEZTRiwgY29udGFpbnMgTUlUIGVxdWFsIGxpY2Vuc2UKIyBBIGNhc2UgZm9yIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTEVHQUwtMTMwCiMKCm1haW4vaHdwZmlsdGVyL3NvdXJjZS9rc2M1NjAxLmgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIG9yaWdpbmFsbHkgZnJvbSBYQ29uc29ydGl1bSwgbWtkZXBlbmQubWFuIGNvbnRhaW5zIGxpY2Vuc2UgaW5mbyAocGVybWlzc2lvbikKIyBhbmQgbG9va3MgbGlrZSBNSVQxLjEKIyBBIGNhc2UgZm9yIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTEVHQUwtMTMwCiMKCm1haW4vc29sdG9vbHMvbWtkZXBlbmQvY29sbGVjdGRpcmNvbnRlbnQuY3h4Cm1haW4vc29sdG9vbHMvbWtkZXBlbmQvY29sbGVjdGRpcmNvbnRlbnQuaHh4Cm1haW4vc29sdG9vbHMvbWtkZXBlbmQvY3Bwc2V0dXAuYwptYWluL3NvbHRvb2xzL21rZGVwZW5kL2RlZi5oCm1haW4vc29sdG9vbHMvbWtkZXBlbmQvaWZwYXJzZXIuYwptYWluL3NvbHRvb2xzL21rZGVwZW5kL2lmcGFyc2VyLmgKbWFpbi9zb2x0b29scy9ta2RlcGVuZC9pbWFrZW1kZXAuaAptYWluL3NvbHRvb2xzL21rZGVwZW5kL2luY2x1ZGUuYwptYWluL3NvbHRvb2xzL21rZGVwZW5kL21haW4uYwptYWluL3NvbHRvb2xzL21rZGVwZW5kL21rZGVwZW5kLm1hbgptYWluL3NvbHRvb2xzL21rZGVwZW5kL3BhcnNlLmMKbWFpbi9zb2x0b29scy9ta2RlcGVuZC9wci5jCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBPcGVuIERvY3VtZW50IE1hbmFnbWVudCBBUEksIHVzZXMgIk9QRU4gRE9DVU1FTlQgTUFOQUdFTUVOVCBBUEkgTElDRU5TRSAxLjAiCiMgZGVmaW5lZCBpbiB0aGUgZmlsZS4gVGV4dCBpcyBlcXVhbCB0byBCU0QgbGljZW5zZSB3aXRob3V0IGFkdmVydGlzaW5nCiMgQSBjYXNlIGZvciBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0xFR0FMLTEzMAojCgptYWluL3VjYi9zb3VyY2UvdWNwL29kbWEvb2RtYS5oCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBDb3B5cmlnaHQgqSAyMDAwIFN1U0UsIEluYy4sIGxpY2Vuc2UgZnJvbSB0ZXh0IChzZWUgZmlsZXMpCiMgZXF1YWwgdG8gTUlUMS4xCiMgQSBjYXNlIGZvciBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0xFR0FMLTEzMAojCgptYWluL3gxMV9leHRlbnNpb25zL2luYy9YcmVuZGVyLmgKbWFpbi94MTFfZXh0ZW5zaW9ucy9pbmMvcmFuZHIuaAptYWluL3gxMV9leHRlbnNpb25zL2luYy9yYW5kcnByb3RvLmgKbWFpbi94MTFfZXh0ZW5zaW9ucy9pbmMvcmVuZGVyLmgKbWFpbi94MTFfZXh0ZW5zaW9ucy9pbmMvcmVuZGVycHJvdG8uaAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgZmluZGluZ3MgZnJvbSBhZjogVGhlIGxpYnRleHRjYXQgdmVyc2lvbiAyLjIgbGlicmFyeSBpcyB1bmRlciBCU0QgbGljZW5zZQojIEl0IHdhcyByZWxlYXNlZCAyMDAzIGJ5IFdpc2VHdXlzIEludGVybmV0IEIuVi4gKGh0dHA6Ly9zb2Z0d2FyZS53aXNlLWd1eXMubmw6MTA4MC9saWJ0ZXh0Y2F0L2luZGV4Lmh0bWwgKS4KIyBObyBwcm9ibGVtIHRoZXJlLiBJdCdzIEJTRCBsaWNlbnNlICh3aXRoIGFkdmVydGlzaW5nKS4KIyBBc2tpbmcgb24gdGhlIGxpc3Qgd2hhdCBjYXRlZ29yeSB0aGlzIG1heSBiZQojIEEgY2FzZSBmb3IgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9MRUdBTC0xMzAKIwoKbWFpbi9saWJ0ZXh0Y2F0L2RhdGEvbmV3X2ZpbmdlcnByaW50cy9mcGRiLmNvbmYKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIChDKSAxOTg4LCAxOTg5LCAxOTkwIGJ5IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkCiMgcGVybWlzc2l2ZSBsaWNlbnNlLCBidXQgbm90IGNhdGVnb3JpemVkIGJ5IEFwYWNoZSAobm90IEEsIEIgb3IgWCkKIyBBIGNhc2UgZm9yIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTEVHQUwtMTMwCiMKCm1haW4vdmNsL3VueC9nZW5lcmljL2ZvbnRtYW5hZ2VyL3BhcnNlQUZNLmN4eAptYWluL3ZjbC91bngvZ2VuZXJpYy9mb250bWFuYWdlci9wYXJzZUFGTS5oeHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIwojIENvcHlyaWdodCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIGl0J3MgZnJlZSBzb2Z0d2FyZQojCgptYWluL2ljYy9zb3VyY2UvY3JlYXRlX3NSR0JfcHJvZmlsZS9NYWtlZmlsZS5pbgoK