IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPHUtYm9vdEBsaXN0cy5kZW54LmRlPiBtYWlsaW5nIGxpc3QuCQkJIwojCQkJCQkJCQkJIwojIE5vdGU6IGxpc3RzIHNvcnRlZCBieSBNYWludGFpbmVyIE5hbWUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBQb3dlclBDIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KCglQMjAyMFJEQglQMjAyMAoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJTVBDODI0NQoKUGFudGVsaXMgQW50b25pb3UgPHBhbnRvQGludHJhY29tLmdyPgoKCU5FVFZJQQkJTVBDOHh4CgpSZWluaGFyZCBBcmx0IDxyZWluaGFyZC5hcmx0QGVzZC1lbGVjdHJvbmljcy5jb20+CgoJY3BjaTUyMDAJTVBDNTIwMAoJbWVjcDUxMjMJTVBDNTEyMQoJbWVjcDUyMDAJTVBDNTIwMAoJcGY1MjAwCQlNUEM1MjAwCgoJY2FkZHkyCQlNUEM4MzQ5Cgl2bWU4MzQ5CQlNUEM4MzQ5CgoJQ1BDSTc1MAkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCU1QQzg3eC9NUEM4NTJUCgllcDgyNDgJCU1QQzgyNDgKCUlTUEFOCQlNUEM4MjYwCglNUEM4MjYwQURTCU1QQzgyNngvTVBDODI3eC9NUEM4MjgwCglSYXR0bGVyCQlNUEM4MjQ4CglaUEMxOTAwCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQglNUEM4MzIzCgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCU1QQzgyNjAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCU1QQzgyNjAKCkN5cmlsIENoZW1wYXJhdGh5IDxjeXJpbEB0aS5jb20+CgoJdG5ldHYxMDd4X2V2bQl0bmV0djEwN3gKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQlNUEM4eHgKCkpvZSBEJ0FiYnJhY2NpbyA8bGpkMDE1QGZyZWVzY2FsZS5jb20+CgoJTVBDODM3eEVSREIJTVBDODM3eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCU1QQzgyNHgKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJSWNlQ3ViZV81MjAwCU1QQzUyMDAKCglBUklBCQlNUEM1MTIxZQoKCUFNWDg2MAkJTVBDODYwCglFVFgwOTQJCU1QQzg1MAoJRlBTODUwTAkJTVBDODUwCglGUFM4NjBMCQlNUEM4NjAKCUlDVTg2MgkJTVBDODYyCglJUDg2MAkJTVBDODYwCglJVk1MMjQJCU1QQzg2MAoJSVZNTDI0XzEyOAlNUEM4NjAKCUlWTUwyNF8yNTYJTVBDODYwCglJVk1TOAkJTVBDODYwCglJVk1TOF8xMjgJTVBDODYwCglJVk1TOF8yNTYJTVBDODYwCglMQU5URUMJCU1QQzg1MAoJTFdNT04JCU1QQzgyMwoJUjM2ME1QSQkJTVBDODIzCglSTVUJCU1QQzg1MAoJUlJ2aXNpb24JTVBDODIzCglTTTg1MAkJTVBDODUwCglTUEQ4MjNUUwlNUEM4MjMKCVRRTTgyM0wJCU1QQzgyMwoJVFFNODIzTF9MQ0QJTVBDODIzCglUUU04NTBMCQlNUEM4NTAKCVRRTTg1NUwJCU1QQzg1NQoJVFFNODYwTAkJTVBDODYwCglUUU04NjBMX0ZFQwlNUEM4NjAKCWMybW9uCQlNUEM4NTUKCWhlcm1lcwkJTVBDODYwCglsd21vbgkJTVBDODIzCgoJQ1U4MjQJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJTVBDODI0MAoKCUFUQwkJTVBDODI1MAoJUE04MjUJCU1QQzgyNTAKCglUUU04MjU1CQlNUEM4MjU1CgoJQ1BVODYJCU1QQzgyNjAKCVBNODI2CQlNUEM4MjYwCglUUU04MjYwCQlNUEM4MjYwCgoJUDNHNAkJTVBDNzQxMAoKCVBDSVBQQzIJCU1QQzc1MAoJUENJUFBDNgkJTVBDNzUwCgpKb24gRGlla2VtYSA8am9uLmRpZWtlbWFAc21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2JjODI2MAkJTVBDODI2MAoKQWxleCBEdWJvdiA8b2FrYWRAeWFob28uY29tPgoKCW1wcTEwMQkJTVBDODU0OAoKRGlyayBFaWJhY2ggPGVpYmFjaEBnZHN5cy5kZT4KCglkZXZjb25jZW50ZXIJUFBDNDYwRVgKCWRsdmlzaW9uICAgICAgICBQUEM0MDVFUAoJZGx2aXNpb24tMTBnCVBQQzQwNUVQCglnZHBwYzQ0MGV0eAlQUEM0NDBFUC9HUgoJaW50aXAJCVBQQzQ2MEVYCglpbwkJUFBDNDA1RVAKCWlvY29uCQlQUEM0MDVFUAoJbmVvCQlQUEM0MDVFUAoKRGF2ZSBFbGxpcyA8REdFQHNpeG5ldGlvLmNvbT4KCglTWE5JODU1VAlNUEM4eHgKClRob21hcyBGcmllZGVuIDxUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tPgoKCUFtaWdhT25lRzNTRQlNUEM3eHgKCk1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgoKCUFEQ0lPUAkJSU9QNDgwIChQUEM0MDEpCglBUEM0MDUJCVBQQzQwNUdQCglBUjQwNQkJUFBDNDA1R1AKCUFTSDQwNQkJUFBDNDA1RVAKCUNBTkJUCQlQUEM0MDVDUgoJQ1BDSTJEUAkJUFBDNDA1R1AKCUNQQ0k0MDUJCVBQQzQwNUdQCglDUENJNDA1MglQUEM0MDVHUAoJQ1BDSTQwNUFCCVBQQzQwNUdQCglDUENJNDA1RFQJUFBDNDA1R1AKCUNQQ0lJU0VSNAlQUEM0MDVHUAoJREFTQV9TSU0JSU9QNDgwIChQUEM0MDEpCglEUDQwNQkJUFBDNDA1RVAKCURVNDA1CQlQUEM0MDVHUAoJRFU0NDAJCVBQQzQ0MEVQeAoJRzIwMDAJCVBQQzQwNUVQCglISDQwNQkJUFBDNDA1RVAKCUhVQjQwNQkJUFBDNDA1RVAKCU9DUlRDCQlQUEM0MDVHUAoJT1JTRwkJUFBDNDA1R1AKCVBDSTQwNQkJUFBDNDA1R1AKCVBMVTQwNQkJUFBDNDA1RVAKCVBNQzQwNQkJUFBDNDA1R1AKCVBNQzQwNURFCVBQQzQwNUVQCglQTUM0NDAJCVBQQzQ0MEVQeAoJVk9INDA1CQlQUEM0MDVFUAoJVk9NNDA1CQlQUEM0MDVFUAoJV1VINDA1CQlQUEM0MDVFUAoJQ01TNzAwCQlQUEM0MDVFUAoKU2lkZGFydGggR29yZSA8Z29yZXNAbWFydmVsbC5jb20+CgoJZ3VydXBsdWcJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KCglzYmM4MzQ5CQlNUEM4MzQ5CglzYmM4NTQwCQlNUEM4NTQwCglzYmM4NTQ4CQlNUEM4NTQ4CglzYmM4NTYwCQlNUEM4NTYwCglzYmM4NjQxZAlNUEM4NjQxRAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQlNUEM4eHgKCglCQUI3eHgJCU1QQzc0MC9NUEM3NTAKCldvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGRlbnguZGU+CgoJaXBlazAxCQlNUEM1MjAwCgoJUE42MgkJTVBDODI0MAoJSVBIQVNFNDUzOQlNUEM4MjYwCglTQ00JCU1QQzgyNjAKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJTVBDODU1CglLVVA0WAkJTVBDODU5CgpJbGtvIElsaWV2IDxpbGlldkByb25ldGl4LmF0PgoKCVBNOTI2MQkJQVQ5MVNBTTkyNjEKCVBNOTI2MwkJQVQ5MVNBTTkyNjMKCVBNOUc0NQkJQVJNOTI2RUpTIChBVDkxU0FNOUc0NSBTb0MpCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglxdWFkMTAwaGQJUFBDNDA1RVAKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAlNUEM4MjYwCgloeW1vZAkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCVBQQzQ0MEVQeAoKRmVuZyBLYW4gPGZrYW5AYW1jYy5jb20+CgoJcmVkd29vZAkJCVBQQzR4eAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJTVBDODI2MAoKU2FuZ21vb24gS2ltIDxkb2dvaWxAZXRpbnN5cy5jb20+CgoJZGVicmlzCQlNUEM4MjQ1CglLVk1FMDgwCQlNUEM4MjQ1CgpUaGUgTEVPWCB0ZWFtIDx0ZWFtQGxlb3gub3JnPgoKCUVMUFQ4NjAJCU1QQzg2MFQKCkd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgoKCWxpbmtzdGF0aW9uCU1QQzgyNDEKCkRhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CgoJTVBDODMxNUVSREIJTVBDODMxNQoJTVBDODMyWEVNRFMJTVBDODMyeAoJTVBDODM2MEVNRFMJTVBDODM2MAoJTVBDODM3WEVNRFMJTVBDODM3eAoKTnllIExpdSA8bnlldEB6dW1hbmV0d29ya3MuY29tPgoKCVpVTUEJCU1QQzd4eF83NHh4CgpLdW1hciBHYWxhIDxrdW1hci5nYWxhQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwlNUEM4NTQwCglNUEM4NTYwQURTCU1QQzg1NjAKCU1QQzg1NDFDRFMJTVBDODU0MQoJTVBDODU1NUNEUwlNUEM4NTU1CgoJTVBDODY0MUhQQ04JTVBDODY0MUQKClJvbiBNYWRyaWQgPGluZm9Ac2hlbGRvbmluc3QuY29tPgoKCVNJTVBDODMxMwlNUEM4MzEzCgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGFsbGV5LmNvbT4KCglzdHhncDMJCU1QQzg1eHgKCXN0eHNzYQkJTVBDODV4eAoJc3R4eHRjCQlNUEM4eHgKClJ5YW4gTWFsbG9uIDxyeWFuQGJsdWV3YXRlcnN5cy5jb20+CgoJc25hcHBlcjkyNjAJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjAgU29DKQoJc25hcHBlcjlnMjAJCUFSTTkyNkVKUyAoQVQ5MVNBTTlHMjAgU29DKQoKRXJhbiBNYW4gPGVyYW5AbmJhc2UuY28uaWw+CgoJRVZCNjQyNjBfNzUwQ1gJTVBDNzUwQ1gKCkFuZHJlYSAibGxhbmRyZSIgTWFyc29uIDxhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdD4KCglQUENoYW1lbGVvbkVWQglQUEM0MDVFUAoKVGlydW1hbGEgTWFycmkgPHRtYXJyaUBhcG0uY29tPgoKCWJsdWVzdG9uZSAgICAgICBBUE04MjFYWAoKUmVpbmhhcmQgTWV5ZXIgPHJlaW5oYXJkLm1leWVyQGVtay1lbGVrdHJvbmlrLmRlPgoKCVRPUDg2MAkJTVBDODYwVAoJVE9QNTIwMAkJTVBDNTIwMAoJVE9QOTAwMAkJQVJNOTI2RUpTIChBVDkxU0FNOXh4eCBTb0MpCgpUb2x1bmF5IE9ya3VuIDx0b3JrdW5AbmV4dGlvLmNvbT4KCgljc2IyNzIJCVBQQzQwNUdQCgljc2I0NzIJCVBQQzQwNUdQCgpKb2huIE90a2VuIDxqb3RrZW5Ac29mdGFkdmFuY2VzLmNvbT4KCglsdWFuCQlQUEM0NDBTUAoJdGFpaHUJCVBQQzQwNUVQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJTVBDODYwVAoJR0VOODYwVF9TQwlNUEM4NjBUCgpGcmFuayBQYW5ubyA8ZnBhbm5vQGRlbHBoaW50ZWNoLmNvbT4KCgllcDgyNjAJCU1QQzgyNjAKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCVBQQzR4eAoJUElQNDA1CQlQUEM0eHgKCldlcm5lciBQZmlzdGVyIDxQZmlzdGVyX1dlcm5lckBpbnRlcmNvbnRyb2wuZGU+CglkaWdzeV9tdGMJbXBjNTIwMAoJZGlnc3lfbXRjX3JldjUJbXBjNTIwMAoKS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzQ5RU1EUwlNUEM4MzQ5CgpEYW5pZWwgUG9pcm90IDxkYW4ucG9pcm90QHdpbmRyaXZlci5jb20+CgoJc2JjODI0MAkJTVBDODI0MAoJc2JjNDA1CQlQUEM0MDVHUAoKU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KCglhNG0wNzIJCU1QQzUyMDAKClN1ZGhha2FyIFJhamFzaGVraGFyYSA8c3VkaGFrYXIucmFqQHRpLmNvbT4KCglkYTg1MGV2bQlBUk05MjZFSlMgKERBODUwL09NQVAtTDEzOCkKClJpY2FyZG8gUmliYWxkYSA8cmljYXJkby5yaWJhbGRhQHVhbS5lcz4KCgltbDUwNyAJCVBQQzQ0MHg1Cgl2NWZ4MzB0ZXZhbAlQUEM0NDB4NQoJeGlsaW54LXBwYzQwNS1nZW5lcmljCVBQQzQwNQoJeGlsaW54LXBwYzQ0MC1nZW5lcmljCVBQQzQ0MHg1CgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJUDNNNzQ0OAkJTVBDNzQ0OAoKCXVjMTAwCQlNUEM4NTcKCglUUU04NXh4CQlNUEM4NTQwLzg1NDEvODU1NS84NTYwCgoJYWNhZGlhCQlQUEM0MDVFWgoJYWxwcgkJUFBDNDQwR1gKCWJhbWJvbwkJUFBDNDQwRVAKCWJ1bmJpbmdhCVBQQzQwNUVQCgljYW55b25sYW5kcwlQUEM0NjBFWAoJZWJvbnkJCVBQQzQ0MEdQCglnbGFjaWVyCQlQUEM0NjBHVAoJaGFsZWFrYWxhCVBQQzQwNUVYcgoJaWNvbgkJUFBDNDQwU1BlCglrYXRtYWkJCVBQQzQ0MFNQZQoJa2lsYXVlYQkJUFBDNDA1RVgKCWx3bW9uNQkJUFBDNDQwRVB4CgltYWthbHUJCVBQQzQwNUVYCglvY290ZWEJCVBQQzQ0MEdYCglwM3A0NDAJCVBQQzQ0MEdQCglwY3M0NDBlcAlQUEM0NDBFUAoJcmFpbmllcgkJUFBDNDQwR1J4CglzZXF1b2lhCQlQUEM0NDBFUHgKCXN5Y2Ftb3JlCVBQQzQwNUdQcgoJdDNjb3JwCQlQUEM0NjBHVAoJdGFpc2hhbgkJUFBDNDQwR1gKCXdhbG51dAkJUFBDNDA1R1AKCXllbGxvd3N0b25lCVBQQzQ0MEdSCgl5b3NlbWl0ZQlQUEM0NDBFUAoJemV1cwkJUFBDNDA1RVAKCglQM003NTAJCVBQQzc1MEZYL0dYL0dMCgpZdXNkaSBTYW50b3NvIDx5dXNkaV9zYW50b3NvQGFkYXB0ZWMuY29tPgoKCUhJRERFTl9EUkFHT04JTVBDODI0MS9NUEM4MjQ1CgpUcmF2aXMgU2F3eWVyICh0cmF2aXMuc2F3eWVyQHNhbmRidXJzdC5jb20+CgoJS0FSRUYJCVBQQzQ0MEdYCglNRVRST0JPWAlQUEM0NDBHWAoKR2VvcmcgU2NoYXJkdCA8c2NoYXJkdEB0ZWFtLWN0ZWNoLmRlPgoKCWZ4MTJtbQkJUFBDNDA1CgpIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KCgljaGFyb24JCU1QQzUyMDAKCWlkczgyNDcJCU1QQzgyNDcKCWp1cGl0ZXIJCU1QQzUyMDAKCWttZXRlcjEJCU1QQzgzNjAKCWttc3VweDUJCU1QQzgzMjEKCW1nY29nZQkJTVBDODI0NwoJbWdjb2dlM25lCU1QQzgyNDcKCW11Y21jNTIJCU1QQzUyMDAKCW11YXMzMDAxCU1QQzgyNzAKCW11bmljc2UJCU1QQzUyMDAKCXNjMwkJUFBDNDA1R1AKCXN1dmQzCQlNUEM4MzIxCgl0dWRhMQkJTVBDODMyMQoJdHV4YTEJCU1QQzgzMjEKCXVjMTAxCQlNUEM1MjAwCgl2ZTgzMTMJCU1QQzgzMTMKClBldGVyIERlIFNjaHJpanZlciA8cDJAbWluZC5iZT4KCglNTDIJCVBQQzR4eAoKQW5kcmUgU2Nod2FyeiA8YW5kcmUuc2Nod2FyekBtYXRyaXgtdmlzaW9uLmRlPgoKCW1lcmdlcmJveAlNUEM4Mzc3CgltdmJjX3AJCU1QQzUyMDAKCW12YmxtNwkJTVBDODM0MwoJbXZzbXIJCU1QQzUyMDAKCkpvbiBTbWlybCA8am9uc21pcmxAZ21haWwuY29tPgoKCXBjbTAzMAkJTVBDNTIwMAoKVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzQ5RS1tSVRYCU1QQzgzNDkKCU1QQzgzNDlFLW1JVFgtR1AgTVBDODM0OQoJUDEwMjJEUwkJUDEwMjIKCkVyaWsgVGhlaXNlbiA8ZXRoZWlzZW5AbWluZHNwcmluZy5jb20+CgoJVzdPTE1DCQlQUEM0eHgKCVc3T0xNRwkJUFBDNHh4CgpKaW0gVGhvbXBzb24gPGppbUBtdXNlbmtpLmNvbT4KCglNVVNFTktJCQlNUEM4MjQ1LzgyNDEKCVNhbmRwb2ludDgyNDUJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCU1QQzgyNjYKClBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CgoJeHBlZGl0ZTEwMDAJUFBDNDQwR1gKCXhwZWRpdGU1MTcwCU1QQzg2NDAKCXhwZWRpdGU1MjAwCU1QQzg1NDgKCXhwZWRpdGU1MzcwCU1QQzg1NzIKCXhwZWRpdGU1NTAwCVAyMDIwCgpEYXZpZCBVcGRlZ3JhZmYgPGRhdmVAY3JheS5jb20+CgoJQ1JBWUwxCQlQUEM0eHgKCkFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgoKCU1QQzgzNjBFUkRLCU1QQzgzNjAKCkpvc2VmIFdhZ25lciA8V2FnbmVyQE1pY3Jvc3lzLmRlPgoKCUNQQzQ1CQlNUEM4MjQ1CglQTTUyMAkJTVBDNTIwMAoKTWljaGFlbCBXZWlzcyA8bWljaGFlbC53ZWlzc0BpZm0uY29tPgoKCVBETTM2ME5HCU1QQzUxMjFlCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJUFBDNDA1R1ByCgpJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KCgltcGM4MzA4X3AxbQlNUEM4MzA4CglNUEM4MzA4UkRCCU1QQzgzMDgKClJveSBaYW5nIDx0aWUtZmVpLnphbmdAZnJlZXNjYWxlLmNvbT4KCgltcGM3NDQ4aHBjMglNUEM3NDQ4CglQMTAyM1JEUwlQMTAyMwoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJTVBDOHh4CgpEZXRsZXYgWnVuZGVsIDxkenVAZGVueC5kZT4KCglpbmthNHgwCQlNUEM1MjAwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVbmtub3duIC8gb3JwaGFuZWQgYm9hcmRzOgoKCUFEUzg2MAkJTVBDOHh4CglGQURTODIzCQlNUEM4eHgKCUZBRFM4NTBTQVIJTVBDOHh4CglGQURTODYwVAlNUEM4eHgKCUdFTklFVFYJCU1QQzh4eAoJSUFEMjEwCQlNUEM4eHgKCU1CWAkJTVBDOHh4CglNQlg4NjBUCQlNUEM4eHgKCU5YODIzCQlNUEM4eHgKCVJQWENsYXNzaWMJTVBDOHh4CglSUFhsaXRlCQlNUEM4eHgKCglNT1VTU0UJCU1QQzgyNHgKCglSUFhzdXBlcglNUEM4MjYwCglyc2Rwcm90bwlNUEM4MjYwCgoJRVZCNjQyNjAJTVBDN3h4Xzc0eHgKCglpbnRlZ3JhdG9yY3AJdmFyaW91cwoJdmVyc2F0aWxlCUFSTTkyNkVKLVMKCXZlcnNhdGlsZQlBUk05MjZFSi1TCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFSTSBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQlDUFUJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkFsYmVydCBBUklCQVVEIDxhbGJlcnQudS5ib290QGFyaWJhdWQubmV0PgoKCWVkbWluaXYyCUFSTTkyNkVKUyAoT3Jpb241eCBTb0MpCgpSb3dlbCBBdGllbnphIDxyb3dlbEBkaXdhbGFicy5jb20+CgoJYXJtYWRpbGxvCUFSTTcyMFQKClN0ZWZhbm8gQmFiaWMgPHNiYWJpY0BkZW54LmRlPgoKCWVhMjAJCWRhdmluY2kKCW14MzVwZGsJCWkuTVgzNQoJbXg1MWV2awkJaS5NWDUxCglwb2xhcmlzCQl4c2NhbGUvcHhhCgl0cml6ZXBzaXYJeHNjYWxlL3B4YQogCXZpc2lvbjIJCWkuTVg1MQoKSmFzb24gTGl1IDxyNjQzNDNAZnJlZXNjYWxlLmNvbT4KCglteDUzZXZrICAgICAgICAgaS5NWDUzCglteDUzbG9jbyAgICAgICAgaS5NWDUzCgpFbnJpYyBCYWxsZXRibyBpIFNlcnJhIDxlYmFsbGV0Ym9AaXNlZWJjbi5jb20+CgoJaWdlcDAwMjAJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCWlnZXAwMDMwCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdtYWlsLmNvbT4KCglvbWFwM19iZWFnbGUJQVJNIEFSTVY3IChPTUFQMzUzMCBTb0MpCgpFcmljIEJlbmFyZCA8ZXJpY0BldWtyZWEuY29tPgoKCWNwdWF0OTEJCUFSTTkyMFQKCWNwdTkyNjAJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjAgU29DKQoJY3B1OUcyMAkJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawlBUk05MjZFSlMKCkFuZHJlYXMgQmll321hbm4gPGFuZHJlYXMuZGV2ZWxAZ21haWwuY29tPgoKCWF0OTFybTkyMDBlawlhdDkxcm05MjAwCgpDbGlmZiBCcmFrZSA8Y2xpZmYuYnJha2VAZ21haWwuY29tPgoKCXB4YTI1NV9pZHAJeHNjYWxlL3B4YQoKUmljayBCcm9uc29uIDxyaWNrQGVmbi5vcmc+CgoJQVQ5MVJNOTIwMERLCWF0OTFybTkyMDAKCkx1Y2EgQ2VyZXNvbGkgPGx1Y2EuY2VyZXNvbGlAY29tZWxpdC5pdD4KCglkaWcyOTcJCUFSTSBBUk1WNyAoT01BUDM1MzAgU29DKQoKUG8tWXUgQ2h1YW5nIDxyYXRiZXJ0QGZhcmFkYXktdGVjaC5jb20+CgoJYTMyMGV2YgkJRkE1MjYgKEFSTTkyMFQtbGlrZSkgKGEzMjAgU29DKQoKRXJpYyBDb29wZXIgPGVjY0BjbXUuZWR1PgoKCWRvY2tzdGFyCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoKR2VvcmdlIEcuIERhdmlzIDxnZGF2aXNAbXZpc3RhLmNvbT4KCglhc3NhYmV0CQlTQTExMDAKCWdjcGx1cwkJU0ExMTAwCgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoJaW14MjdsaXRlCWkuTVgyNwoJcW9uZwkJaS5NWDMxCgpUaG9tYXMgRWxzdGUgPGluZm9AZWxzdGUub3JnPgoKCW1vZG5ldDUwCUFSTTcyMFQgKE5FVCs1MCkKCktyaXN0b2ZmZXIgRXJpY3NvbiA8a3Jpc3RvZmZlci5lcmljc29uQGdtYWlsLmNvbT4KCglqb3JuYWRhCVNBMTExMAoKRmFiaW8gRXN0ZXZhbSA8ZmFiaW8uZXN0ZXZhbUBmcmVlc2NhbGUuY29tPgoKCW14MzFwZGsJCWkuTVgzMQoJbXg1M2FyZAkJaS5NWDUzCglteDUzc21kCQlpLk1YNTMKCkRhbmllbCBHb3JzdWxvd3NraSA8ZGFuaWVsLmdvcnN1bG93c2tpQGVzZC5ldT4KCgltZWVzYwkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MyBTb0MpCglvdGM1NzAJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjMgU29DKQoKU2VkamkgR2FvdWFvdTxzZWRqaS5nYW91YW91QGF0bWVsLmNvbT4KCWF0OTFzYW05ZzEwZWsJCUFSTTkyNkVKUyAoQVQ5MVNBTTlHMTAgU29DKQoJYXQ5MXNhbTltMTBnNDVlawlBUk05MjZFSlMgKEFUOTFTQU05RzQ1IFNvQykKClNpbW9uIEd1aW5vdCA8c2ltb24uZ3Vpbm90QHNlcXVhbnV4Lm9yZz4KCglpbmV0c3BhY2VfdjIJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgluZXRzcGFjZV92MglBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCW5ldHNwYWNlX21heF92MglBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCk1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KCglpbXBhNwkJQVJNNzIwVCAoRVA3MjExKQoJZXA3MzEyCQlBUk03MjBUIChFUDczMTIpCgpJZ29yIEdyaW5iZXJnIDxncmluYmVyZ0Bjb21wdWxhYi5jby5pbD4KCgljbS10MzUJCUFSTSBBUk1WNyAoT01BUDN4eCBTb2MpCgpLc2hpdGlqIEd1cHRhIDxrc2hpdGlqQHRpLmNvbT4KCglvbWFwMTUxMGlubglBUk05MjVUCglvbWFwMTYxMGlubglBUk05MjZFSlMKClZhaWJoYXYgSGlyZW1hdGggPGh2YWliaGF2QHRpLmNvbT4KCglhbTM1MTdfZXZtCUFSTSBBUk1WNyAoQU0zNXggU29DKQoKR3JhenZ5ZGFzIElnbm90YXMgPG5vdGFzYXNAZ21haWwuY29tPgoKCW9tYXAzX3BhbmRvcmEJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgoKCXNtZGsyNDAwCUFSTTkyMFQKCk1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+CgllZGI5MzAxCQkJQVJNOTIwVCAoRVA5MzAxKQoJZWRiOTMwMgkJCUFSTTkyMFQgKEVQOTMwMikKCWVkYjkzMDJhCQlBUk05MjBUIChFUDkzMDIpCgllZGI5MzA3CQkJQVJNOTIwVCAoRVA5MzA3KQoJZWRiOTMwN2EJCUFSTTkyMFQgKEVQOTMwNykKCWVkYjkzMTIJCQlBUk05MjBUIChFUDkzMTIpCgllZGI5MzE1CQkJQVJNOTIwVCAoRVA5MzE1KQoJZWRiOTMxNWEJCUFSTTkyMFQgKEVQOTMxNSkKCk5pc2hhbnQgS2FtYXQgPG5za2FtYXRAdGkuY29tPgoKCW9tYXAxNjEwaDIJQVJNOTI2RUpTCgpNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CgoJU01ES0MxMDAJCUFSTSBBUk1WNyAoUzVQQzEwMCBTb0MpCglzNXBfZ29uaQkJQVJNIEFSTVY3IChTNVBDMTEwIFNvQykKCXM1cGMyMTBfdW5pdmVyc2FsCUFSTSBBUk1WNyAoUzVQQzIxMCBTb0MpCgpDaGFuZGVyIEthc2h5YXAgPGsuY2hhbmRlckBzYW1zdW5nLmNvbT4KCglTTURLVjMxMAkJQVJNIEFSTVY3IChTNVBDMjEwIFNvQykKClRvcnN0ZW4gS29zY2hvcnJlayA8a29zY2hvcnJla0BzeW5lcnRyb25peHguZGU+CglzY2I5MzI4CQlBUk05MjBUIChpLk1YTCkKCkZyZWRlcmlrIEtyaWV3aXR6IDxmcmVkZXJpa0Brcmlld2l0ei5ldT4KCglkZXZraXQ4MDAwCUFSTSBBUk1WNyAoT01BUDM1MzAgU29DKQoKU2VyZ2V5IEt1YnVzaHluIDxrc2lAa29pOC5uZXQ+CgoJRFYtRVZNCQlBUk05MjZFSlMKCVNPTkFUQQkJQVJNOTI2RUpTCglTQ0hNT09HSUUJQVJNOTI2RUpTCgpQcmFrYXNoIEt1bWFyIDxwcmFrYXNoQGVtYmVkeC5jb20+CgoJY2VyZjI1MAkJeHNjYWxlL3B4YQoKVmlwaW4gS3VtYXIgPHZpcGluLmt1bWFyQHN0LmNvbT4KCglzcGVhcjMwMAlBUk05MjZFSlMgKHNwZWFyMzAwIFNvYykKCXNwZWFyMzEwCUFSTTkyNkVKUyAoc3BlYXIzMTAgU29jKQoJc3BlYXIzMjAJQVJNOTI2RUpTIChzcGVhcjMyMCBTb2MpCglzcGVhcjYwMAlBUk05MjZFSlMgKHNwZWFyNjAwIFNvYykKClNlcmdleSBMYXBpbiA8c2xhcGluQG9zc2ZhbnMub3JnPgoKCWFmZWI5MjYwCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjAgU29DKQoKVmFsZW50aW4gTG9uZ2NoYW1wIDx2YWxlbnRpbi5sb25nY2hhbXBAa2V5bWlsZS5jb20+CgoJa21fa2lya3dvb2QJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCglwb3J0bDIJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoKTmlzaGFudGggTWVub24gPG5tQHRpLmNvbT4KCglvbWFwM19zZHAzNDMwCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCglvbWFwM196b29tMQlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoKRGF2aWQgTfxsbGVyIDxkLm11ZWxsZXJAZWxzb2Z0LmNoPgoKCXNtZGsyNDEwCUFSTTkyMFQKCVZDTUE5CQlBUk05MjBUCgpFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGRla2FyZXNlYXJjaC5jb20+CgoJZ2FsYXh5NTIwMAltcGM1MjAwCgpOYWdlbmRyYSBUIFMgIDxuYWdlbmRyYUBtaXN0cmFsc29sdXRpb25zLmNvbT4KCiAgIGFtMzUxN19jcmFuZSAgICBBUk0gQVJNVjcgKEFNMzV4IFNvQykKClJvbGYgT2ZmZXJtYW5ucyA8cm9mQHN5c2dvLmRlPgoKCXNoYW5ub24JCVNBMTEwMAoKS3l1bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KCglhcG9sbG9uCQlBUk0xMTM2RUpTCgpTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CgoJZGF2aW5jaV9kbTM1NWV2bQlBUk05MjZFSlMKCWRhdmluY2lfZG0zNTVsZW9wYXJkCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTM2NWV2bQlBUk05MjZFSlMKCWRhdmluY2lfZG02NDY3ZXZtCUFSTTkyNkVKUwoKTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgoJaW50ZWdyYXRvcmFwCUFSTTkyMFQKCkRhdmUgUGV2ZXJsZXkgPGRwZXZlcmxleUBtcGMtZGF0YS5jby51az4KCglvbWFwNzMwcDIJQVJNOTI2RUpTCgpNYW5pa2FuZGFuIFBpbGxhaSA8bWFuaS5waWxsYWlAdGkuY29tPgoKCW9tYXAzX2V2bQlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoKU3RlbGlhbiBQb3AgPHN0ZWxpYW4ucG9wQGxlYWR0ZWNoZGVzaWduLmNvbT4KCglhdDkxY2FwOWFkawlBUk05MjZFSlMgKEFUOTFDQVA5IFNvQykKCWF0OTFzYW05MjYwZWsJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCglhdDkxc2FtOTI2MWVrCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjEgU29DKQoJYXQ5MXNhbTkyNjNlawlBUk05MjZFSlMgKEFUOTFTQU05MjYzIFNvQykKCWF0OTFzYW05cmxlawlBUk05MjZFSlMgKEFUOTFTQU05UkwgU29DKQoKVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgoKCW9tYXAzX3pvb20yCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpKb2huIFJpZ2J5IDxqY3JpZ2J5QGdtYWlsLmNvbT4KCgl0eDI1CQlpLk1YMjUKClN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KCglpeGRwZzQyNQl4c2NhbGUvaXhwCglwZG5iMwkJeHNjYWxlL2l4cAoJc2NwdQkJeHNjYWxlL2l4cAoKQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KTm9tYWRpayBMaW51eCBUZWFtIDxTVE5fV01NX25vbWFkaWtfbGludXhAbGlzdC5zdC5jb20+CgoJbmhrODgxNQkJQVJNOTI2RUpTIChOb21hZGlrIDg4MTUgU29jKQoKU3RldmUgU2Frb21hbiA8c2Frb21hbkBnbWFpbC5jb20+CgoJb21hcDNfb3Zlcm8JQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCW9tYXA0X3BhbmRhCUFSTSBBUk1WNyAoT01BUDR4eCBTb0MpCglvbWFwNF9zZHA0NDMwCUFSTSBBUk1WNyAoT01BUDR4eCBTb0MpCgpKZW5zIFNjaGFyc2lnIDxlc3dAYnVzLWVsZWt0cm9uaWsuZGU+CgoJZWJfY3B1eDlrMglBUk05MjBUIChBVDkxUk05MjAwIFNvQykKCkhlaWtvIFNjaG9jaGVyIDxoc0BkZW54LmRlPgoKCW1hZ25lc2l1bQlpLk1YMjcKCW1nY29nZTN1bglBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKClJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KCgljc2IyMjYJCXhzY2FsZS9weGEKCWlubm9rb20JCXhzY2FsZS9weGEKCk1pY2hhZWwgU2Nod2luZ2VuIDxtaWNoYWVsQHNjaHdpbmdlbi5vcmc+CgoJYWN0dXgxCQl4c2NhbGUvaXhwCglhY3R1eDIJCXhzY2FsZS9peHAKCWFjdHV4MwkJeHNjYWxlL2l4cAoJYWN0dXg0CQl4c2NhbGUvaXhwCglkdmxob3N0CQl4c2NhbGUvaXhwCgpBbmRyZWEgU2NpYW4gPGFuZHJlYS5zY2lhbkBkYXZlLXRlY2guaXQ+CgoJQjIJCUFSTTdURE1JIChTM0M0NEIwWCkKCk5pY2sgVGhvbXBzb24gPG5pY2sudGhvbXBzb25AZ2VmYW51Yy5jb20+CgoJZGE4MzBldm0JQVJNOTI2RUpTIChEQTgzMC9PTUFQLUwxMzcpCgpBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgoKCXNiYzM1X2E5ZzIwCUFSTTkyNkVKUyAoQVQ5MVNBTTlHMjAgU29DKQoJdG55X2E5MjYwCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjAgU29DKQoJdG55X2E5ZzIwCUFSTTkyNkVKUyAoQVQ5MVNBTTlHMjAgU29DKQoKR3JlZyBVbmdlcmVyIDxncmVnLnVuZ2VyZXJAb3BlbmdlYXIuY29tPgoKCWNtNDAwOAkJa3M4Njk1cAoJY200MTE2CQlrczg2OTVwCgljbTQxNDgJCWtzODY5NXAKCk1hcmVrIFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5jb20+CgoJYmFsbG9vbjMJeHNjYWxlL3B4YQoJY29saWJyaV9weGEyNzAJeHNjYWxlL3B4YQoJcGFsbWxkCQl4c2NhbGUvcHhhCglwYWxtdGMJCXhzY2FsZS9weGEKCXZwYWMyNzAJCXhzY2FsZS9weGEKCXppcGl0ejIJCXhzY2FsZS9weGEKIAllZmlrYW14CQlpLk1YNTEKCkh1Z28gVmlsbGVuZXV2ZSA8aHVnby52aWxsZW5ldXZlQGx5cnRlY2guY29tPgoKCVNGRlNEUgkJQVJNOTI2RUpTCgpNYXR0IFdhZGRlbCA8bWF0dC53YWRkZWxAbGluYXJvLm9yZz4KCgljYTl4NF9jdF92eHAJQVJNIEFSTVY3IChRdWFkIENvcmUpCgpQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CgoJYXNwZW5pdGUJQVJNOTI2RUpTIChBUk1BREExMDAgODhBUDE2OCBTb0MpCgltdjg4ZjYyODFndHdfZ2UJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCglvcGVucmRfYmFzZSAgICAgQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCglyZDYyODFhCQlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCXNoZWV2YXBsdWcJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpUb20gV2FycmVuIDx0d2FycmVuQG52aWRpYS5jb20+CgoJaGFybW9ueQkJVGVncmEyIChBUk03ICYgQTkgRHVhbCBDb3JlKQoJc2VhYm9hcmQJVGVncmEyIChBUk03ICYgQTkgRHVhbCBDb3JlKQoKTGVpIFdlbiA8bGVpd2VuQG1hcnZlbGwuY29tPgoKCWRrYgkJQVJNOTI2RUpTIChQQU5USEVPTiA4OEFQOTIwIFNPQykKCk1hdHRoaWFzIFdlaXNzZXIgPHdlaXNzZXJtQGFyY29yLmRlPgoKCWphZGVjcHUJCUFSTTkyNkVKUyAoTUI4NlIwMSBTb0MpCgl6bXgyNQkJQVJNOTI2RUpTIChpbXgyNSBTb0MpCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAlBUk0xMTM2RUpTCgpBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CgoJbGFydAkJU0ExMTAwCglkbnAxMTEwCQlTQTExMTAKClN5ZWQgTW9oYW1tZWQgS2hhc2ltIDxzbS5raGFzaW1AZ21haWwuY29tPgpTdWdob3NoIEdhbnUgPHVyd2l0aHN1Z2hvc2hAZ21haWwuY29tPgoKCWhhd2tib2FyZAlBUk05MjZFSlMgKE9NQVAtTDEzOCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CiAJQm9hcmQJCUNQVQlMYXN0IGtub3duIG1haW50YWluZXIgLyBDb21tZW50Ci4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCWNyYWRsZQkJeHNjYWxlL3B4YQlLeWxlIEhhcnJpcyA8a2hhcnJpc0BuZXh1cy10ZWNoLm5ldD4gLyBkZWFkIGFkZHJlc3MKCWl4ZHA0MjUJCXhzY2FsZS9peHAJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCglsdWJib2NrCQl4c2NhbGUvcHhhCUt5bGUgSGFycmlzIDxraGFycmlzQG5leHVzLXRlY2gubmV0PiAvIGRlYWQgYWRkcmVzcwoKCWlteDMxX3BoeWNvcmVfZWV0IGkuTVgzMSAgR3Vlbm5hZGkgTGlha2hvdmV0c2tpIDxnLmxpYWtob3ZldHNraUBnbXguZGU+IC8gcmVzaWduZWQKCW14MzFhZHMJCSAgaS5NWDMxICBHdWVubmFkaSBMaWFraG92ZXRza2kgPGcubGlha2hvdmV0c2tpQGdteC5kZT4gLyByZXNpZ25lZAoJU01ESzY0MDAJICBTM0M2NDAwIEd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPiAvIHJlc2lnbmVkCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgeDg2IFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JhZW1lIFJ1c3MgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KCgllTkVUCQlBTUQgU0M1MjAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNSVBTIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCglpbmNhaXAJCU1JUFMzMiA0S2MKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCWRiYXUxeDAwCU1JUFMzMiBBdTEwMDAKCWd0aDIJCU1JUFMzMiBBdTEwMDAKClZsYWQgTHVuZ3UgPHZsYWQubHVuZ3VAd2luZHJpdmVyLmNvbT4KCXFlbXVfbWlwcwlNSVBTMzIKClN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KCgl2Y3RfeHh4CQlNSVBTMzIgNEtjCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy1JSSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJUENJNTQ0MQkJTmlvcy1JSQoJUEsxQzIwCQlOaW9zLUlJCgluaW9zMi1nZW5lcmljCU5pb3MtSUkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNaWNyb0JsYXplIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CgoJbWljcm9ibGF6ZS1nZW5lcmljCU1pY3JvQmxhemUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb2xkZmlyZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGF5ZGVuIEZyYXNlciA8SGF5ZGVuLkZyYXNlckBmcmVlc2NhbGUuY29tPgoKCU01MjUzRVZCRQltY2Y1MngyCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCU1DRjUyNDkKClRzaUNodW5nIExpZXcgPFRzaS1DaHVuZy5MaWV3QGZyZWVzY2FsZS5jb20+CgoJTTUyMjc3RVZCCW1jZjUyMjd4CglNNTIzNUVWQgltY2Y1MngyCglNNTI1M0RFTU8JbWNmNTJ4MgoJTTUzMDE3RVZCCW1jZjUzMngKCU01MzI5RVZCCW1jZjUzMngKCU01MzczRVZCCW1jZjUzMngKCU01NDQ1NUVWQgltY2Y1NDQ1eAoJTTU0NzVFVkIJbWNmNTQ3eF84eAoJTTU0ODVFVkIJbWNmNTQ3eF84eAoKV29sZmdhbmcgV2VnbmVyIDx3LndlZ25lckBhc3Ryby1rb20uZGU+CgoJYXN0cm9fbWNmNTM3M2wJTUNGNTM3M0wKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBVlIzMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGFucy1DaHJpc3RpYW4gRWd0dmVkdCA8aGFucy1jaHJpc3RpYW4uZWd0dmVkdEBhdG1lbC5jb20+CgoJRkFWUi0zMi1FWktJVAkJQVQzMkFQNzAwMAoKTWFyayBKYWNrc29uIDxtcGZqQG1pbWMuY28udWs+CgoJTUlNQzIwMAkJCUFUMzJBUDcwMDAKCkFsZXggUmFpbW9uZGkgPGFsZXgucmFpbW9uZGlAbWlyb21pY28uY2g+Ckp1bGllbiBNYXkgPGp1bGllbi5tYXlAbWlyb21pY28uY2g+CgoJSEFNTUVSSEVBRAkJQVQzMkFQNzAwMAoKSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgoKCUFUU1RLMTAwMAlBVDMyQVA3eHh4CglBVFNUSzEwMDIJQVQzMkFQNzAwMAoJQVRTVEsxMDAzCUFUMzJBUDcwMDEKCUFUU1RLMTAwNAlBVDMyQVA3MDAyCglBVFNUSzEwMDYJQVQzMkFQNzAwMAoJQVROR1cxMDAJQVQzMkFQNzAwMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFN1cGVySCBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKWXVzdWtlIEdvZGEgPGdvZGEueXVzdWtlQHJlbmVzYXMuY29tPgoKCU1JR08tUgkJU0g3NzIyCgpOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CgkJICA8aXdhbWF0c3Uubm9idWhpcm9AcmVuZXNhcy5jb20+CgoJTVM3NzUwU0UJU0g3NzUwCglNUzc3MjJTRQlTSDc3MjIKCVI3NzgwTVAJCVNINzc4MAoJUjJEUGx1cwkJU0g3NzUxUgoJU0g3NzYzUkRQCVNINzc2MwoJUlNLNzIwMwkJU0g3MjAzCglBUDMyNVJYQQlTSDc3MjMKCVNITUlOCQlTSDc3MDYKCk1hcmsgSm9uYXMgPG1hcmsuam9uYXNAZGUuYm9zY2guY29tPgoKCW1wcjIJCVNINzcyMAoKWW9zaGloaXJvIFNoaW1vZGEgPHlvc2hpaGlyby5zaGltb2RhLnVoQHJlbmVzYXMuY29tPgoKCU1TNzcyMFNFCVNINzcyMAoJUjBQNzc1NzAwMzBSTAlTSDc3NTcKCVIwUDc3ODUwMDExUkwJU0g3Nzg1CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQmxhY2tmaW4gU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQlDUFUJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCk1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KQmxhY2tmaW4gVGVhbSA8dS1ib290LWRldmVsQGJsYWNrZmluLnVjbGludXgub3JnPgoKCUJGNTA2Ri1FWktJVAlCRjUwNgoJQkY1MThGLUVaQlJECUJGNTE4CglCRjUyNi1FWkJSRAlCRjUyNgoJQkY1MjctQUQ3MTYwLUVWQUwJQkY1MjcKCUJGNTI3LUVaS0lUCUJGNTI3CglCRjUyNy1FWktJVC1WMglCRjUyNwoJQkY1MjctU0RQCUJGNTI3CglCRjUzMy1FWktJVAlCRjUzMwoJQkY1MzMtU1RBTVAJQkY1MzMKCUJGNTM3LVBOQVYJQkY1MzcKCUJGNTM3LVNUQU1QCUJGNTM3CglCRjUzOEYtRVpLSVQJQkY1MzgKCUJGNTQ4LUVaS0lUCUJGNTQ4CglCRjU2MS1FWktJVAlCRjU2MQoKTS5IYXNld2lua2VsIChNSEEpIDxpbmZvQHNzdi1lbWJlZGRlZC5kZT4KCglkbnA1MzcwCQlCRjUzNwoKQnJlbnQgS2FuZGV0emtpIDxicmVudGtAdGVsZWNvLmNvbT4KCglJUDA0CQlCRjUzMgoKUGV0ZXIgTWVlcndhbGQgPGRldmVsQGJjdC1lbGVjdHJvbmljLmNvbT4KCgliY3QtYnJldHRsMglCRjUzNgoKSS1TWVNUIE1pY3JvbW9kdWxlIDxzdXBwb3J0QGktc3lzdC5jb20+CgoJSUJGLURTUDU2MQlCRjU2MQoKV29qdGVrIFNrdWxza2kgPHNrdWxza2lAcGFzLnJvY2hlc3Rlci5lZHU+CldvanRlayBTa3Vsc2tpIDxpbmZvQHNrdXRlay5jb20+CkJlbmphbWluIE1hdHRoZXdzIDxtYmVuMTJAZ21haWwuY29tPgoKCUJsYWNrU3RhbXAJQkY1MzMKCUJsYWNrVk1FCUJGNTYxCgpNYXJ0aW4gU3RydWJlbCA8c3RydWJlbEBzZWN0aW9uNS5jaD4KCglCRjUzNy1taW5vdGF1cglCRjUzNwoJQkY1Mzctc3J2MQlCRjUzNwoKQmx1ZXRlY2huaXggVGlueWJvYXJkcyA8Ymx1ZXRlY2huaXhAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQ00tQkY1MjcJQkY1MjcKCUNNLUJGNTMzCUJGNTMzCglDTS1CRjUzN0UJQkY1MzcKCUNNLUJGNTM3VQlCRjUzNwoJQ00tQkY1NDgJQkY1NDgKCUNNLUJGNTYxCUJGNTYxCglUQ00tQkY1MTgJQkY1MTgKCVRDTS1CRjUzNwlCRjUzNwoKVmFsZW50aW4gWWFrb3ZlbmtvdiA8eWFrb3ZlbmtvdkBuaWlzdHQucnU+CkFudG9uIFNodXJwaW4gPHNodXJwaW4uYWFAbmlpc3R0LnJ1PgoKCUJGNTYxLUFDVklMT04JQkY1NjEKCkhhaXRhbyBaaGFuZyA8aHpoYW5nQHVjcm9ib3RpY3MuY29tPgpDaG9uZyBIdWFuZyA8Y2h1YW5nQHVjcm9ib3RpY3MuY29tPgoKCWJmNTI1LXVjcjIJQkY1MjUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbmQgb2YgTUFJTlRBSU5FUlMgbGlzdAkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=