IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPHUtYm9vdEBsaXN0cy5kZW54LmRlPiBtYWlsaW5nIGxpc3QuCQkJIwojCQkJCQkJCQkJIwojIE5vdGU6IGxpc3RzIHNvcnRlZCBieSBNYWludGFpbmVyIE5hbWUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBQb3dlclBDIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KCglQMjAyMFJEQglQMjAyMAoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJTVBDODI0NQoKUGFudGVsaXMgQW50b25pb3UgPHBhbnRvQGludHJhY29tLmdyPgoKCU5FVFZJQQkJTVBDOHh4CgpSZWluaGFyZCBBcmx0IDxyZWluaGFyZC5hcmx0QGVzZC1lbGVjdHJvbmljcy5jb20+CgoJY3BjaTUyMDAJTVBDNTIwMAoJbWVjcDUxMjMJTVBDNTEyMQoJbWVjcDUyMDAJTVBDNTIwMAoJcGY1MjAwCQlNUEM1MjAwCgoJY2FkZHkyCQlNUEM4MzQ5Cgl2bWU4MzQ5CQlNUEM4MzQ5CgoJQ1BDSTc1MAkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCU1QQzg3eC9NUEM4NTJUCgllcDgyNDgJCU1QQzgyNDgKCUlTUEFOCQlNUEM4MjYwCglNUEM4MjYwQURTCU1QQzgyNngvTVBDODI3eC9NUEM4MjgwCglSYXR0bGVyCQlNUEM4MjQ4CglaUEMxOTAwCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQglNUEM4MzIzCgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCU1QQzgyNjAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCU1QQzgyNjAKCkN5cmlsIENoZW1wYXJhdGh5IDxjeXJpbEB0aS5jb20+CgoJdG5ldHYxMDd4X2V2bQl0bmV0djEwN3gKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQlNUEM4eHgKCkpvZSBEJ0FiYnJhY2NpbyA8bGpkMDE1QGZyZWVzY2FsZS5jb20+CgoJTVBDODM3eEVSREIJTVBDODM3eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCU1QQzgyNHgKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJSWNlQ3ViZV81MjAwCU1QQzUyMDAKCglBUklBCQlNUEM1MTIxZQoKCUFNWDg2MAkJTVBDODYwCglFVFgwOTQJCU1QQzg1MAoJRlBTODUwTAkJTVBDODUwCglGUFM4NjBMCQlNUEM4NjAKCUlDVTg2MgkJTVBDODYyCglJUDg2MAkJTVBDODYwCglJVk1MMjQJCU1QQzg2MAoJSVZNTDI0XzEyOAlNUEM4NjAKCUlWTUwyNF8yNTYJTVBDODYwCglJVk1TOAkJTVBDODYwCglJVk1TOF8xMjgJTVBDODYwCglJVk1TOF8yNTYJTVBDODYwCglMQU5URUMJCU1QQzg1MAoJTFdNT04JCU1QQzgyMwoJUjM2ME1QSQkJTVBDODIzCglSTVUJCU1QQzg1MAoJUlJ2aXNpb24JTVBDODIzCglTTTg1MAkJTVBDODUwCglTUEQ4MjNUUwlNUEM4MjMKCVRRTTgyM0wJCU1QQzgyMwoJVFFNODIzTF9MQ0QJTVBDODIzCglUUU04NTBMCQlNUEM4NTAKCVRRTTg1NUwJCU1QQzg1NQoJVFFNODYwTAkJTVBDODYwCglUUU04NjBMX0ZFQwlNUEM4NjAKCWMybW9uCQlNUEM4NTUKCWhlcm1lcwkJTVBDODYwCglsd21vbgkJTVBDODIzCgoJQ1U4MjQJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJTVBDODI0MAoKCUFUQwkJTVBDODI1MAoJUE04MjUJCU1QQzgyNTAKCglUUU04MjU1CQlNUEM4MjU1CgoJQ1BVODYJCU1QQzgyNjAKCVBNODI2CQlNUEM4MjYwCglUUU04MjYwCQlNUEM4MjYwCgoJUDNHNAkJTVBDNzQxMAoKCVBDSVBQQzIJCU1QQzc1MAoJUENJUFBDNgkJTVBDNzUwCgpKb24gRGlla2VtYSA8am9uLmRpZWtlbWFAc21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2JjODI2MAkJTVBDODI2MAoKQWxleCBEdWJvdiA8b2FrYWRAeWFob28uY29tPgoKCW1wcTEwMQkJTVBDODU0OAoKRGlyayBFaWJhY2ggPGVpYmFjaEBnZHN5cy5kZT4KCglkZXZjb25jZW50ZXIJUFBDNDYwRVgKCWRsdmlzaW9uICAgICAgICBQUEM0MDVFUAoJZGx2aXNpb24tMTBnCVBQQzQwNUVQCglnZHBwYzQ0MGV0eAlQUEM0NDBFUC9HUgoJaW50aXAJCVBQQzQ2MEVYCglpbwkJUFBDNDA1RVAKCWlvY29uCQlQUEM0MDVFUAoJbmVvCQlQUEM0MDVFUAoKRGF2ZSBFbGxpcyA8REdFQHNpeG5ldGlvLmNvbT4KCglTWE5JODU1VAlNUEM4eHgKClRob21hcyBGcmllZGVuIDxUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tPgoKCUFtaWdhT25lRzNTRQlNUEM3eHgKCk1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgoKCUFEQ0lPUAkJSU9QNDgwIChQUEM0MDEpCglBUEM0MDUJCVBQQzQwNUdQCglBUjQwNQkJUFBDNDA1R1AKCUFTSDQwNQkJUFBDNDA1RVAKCUNBTkJUCQlQUEM0MDVDUgoJQ1BDSTJEUAkJUFBDNDA1R1AKCUNQQ0k0MDUJCVBQQzQwNUdQCglDUENJNDA1MglQUEM0MDVHUAoJQ1BDSTQwNUFCCVBQQzQwNUdQCglDUENJNDA1RFQJUFBDNDA1R1AKCUNQQ0lJU0VSNAlQUEM0MDVHUAoJREFTQV9TSU0JSU9QNDgwIChQUEM0MDEpCglEUDQwNQkJUFBDNDA1RVAKCURVNDA1CQlQUEM0MDVHUAoJRFU0NDAJCVBQQzQ0MEVQeAoJRzIwMDAJCVBQQzQwNUVQCglISDQwNQkJUFBDNDA1RVAKCUhVQjQwNQkJUFBDNDA1RVAKCU9DUlRDCQlQUEM0MDVHUAoJT1JTRwkJUFBDNDA1R1AKCVBDSTQwNQkJUFBDNDA1R1AKCVBMVTQwNQkJUFBDNDA1RVAKCVBNQzQwNQkJUFBDNDA1R1AKCVBNQzQwNURFCVBQQzQwNUVQCglQTUM0NDAJCVBQQzQ0MEVQeAoJVk9INDA1CQlQUEM0MDVFUAoJVk9NNDA1CQlQUEM0MDVFUAoJV1VINDA1CQlQUEM0MDVFUAoJQ01TNzAwCQlQUEM0MDVFUAoKTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBuZXRzdGFsLmNvbT4KCglIQ1U0CQlQUEM0MDVHUHIKCU1DVTI1CQlQUEM0MDVHUHIKCUhDVTUJCVBQQzQ0MEVQeAoKU2lkZGFydGggR29yZSA8Z29yZXNAbWFydmVsbC5jb20+CgoJZ3VydXBsdWcJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KCglzYmM4MzQ5CQlNUEM4MzQ5CglzYmM4NTQwCQlNUEM4NTQwCglzYmM4NTQ4CQlNUEM4NTQ4CglzYmM4NTYwCQlNUEM4NTYwCglzYmM4NjQxZAlNUEM4NjQxRAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQlNUEM4eHgKCglCQUI3eHgJCU1QQzc0MC9NUEM3NTAKCldvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGRlbnguZGU+CgoJaXBlazAxCQlNUEM1MjAwCgoJUE42MgkJTVBDODI0MAoJSVBIQVNFNDUzOQlNUEM4MjYwCglTQ00JCU1QQzgyNjAKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJTVBDODU1CglLVVA0WAkJTVBDODU5CgpJbGtvIElsaWV2IDxpbGlldkByb25ldGl4LmF0PgoKCVBNOTI2MQkJQVQ5MVNBTTkyNjEKCVBNOTI2MwkJQVQ5MVNBTTkyNjMKCVBNOUc0NQkJQVJNOTI2RUpTIChBVDkxU0FNOUc0NSBTb0MpCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglxdWFkMTAwaGQJUFBDNDA1RVAKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAlNUEM4MjYwCgloeW1vZAkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCVBQQzQ0MEVQeAoKRmVuZyBLYW4gPGZrYW5AYW1jYy5jb20+CgoJcmVkd29vZAkJCVBQQzR4eAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJTVBDODI2MAoKU2FuZ21vb24gS2ltIDxkb2dvaWxAZXRpbnN5cy5jb20+CgoJZGVicmlzCQlNUEM4MjQ1CglLVk1FMDgwCQlNUEM4MjQ1CgpUaGUgTEVPWCB0ZWFtIDx0ZWFtQGxlb3gub3JnPgoKCUVMUFQ4NjAJCU1QQzg2MFQKCkd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgoKCWxpbmtzdGF0aW9uCU1QQzgyNDEKCkRhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CgoJTVBDODMxNUVSREIJTVBDODMxNQoJTVBDODMyWEVNRFMJTVBDODMyeAoJTVBDODM2MEVNRFMJTVBDODM2MAoJTVBDODM3WEVNRFMJTVBDODM3eAoKTnllIExpdSA8bnlldEB6dW1hbmV0d29ya3MuY29tPgoKCVpVTUEJCU1QQzd4eF83NHh4CgpLdW1hciBHYWxhIDxrdW1hci5nYWxhQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwlNUEM4NTQwCglNUEM4NTYwQURTCU1QQzg1NjAKCU1QQzg1NDFDRFMJTVBDODU0MQoJTVBDODU1NUNEUwlNUEM4NTU1CgoJTVBDODY0MUhQQ04JTVBDODY0MUQKClJvbiBNYWRyaWQgPGluZm9Ac2hlbGRvbmluc3QuY29tPgoKCVNJTVBDODMxMwlNUEM4MzEzCgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGFsbGV5LmNvbT4KCglzdHhncDMJCU1QQzg1eHgKCXN0eHNzYQkJTVBDODV4eAoJc3R4eHRjCQlNUEM4eHgKCkVyYW4gTWFuIDxlcmFuQG5iYXNlLmNvLmlsPgoKCUVWQjY0MjYwXzc1MENYCU1QQzc1MENYCgpBbmRyZWEgImxsYW5kcmUiIE1hcnNvbiA8YW5kcmVhLm1hcnNvbkBkYXZlLXRlY2guaXQ+CgoJUFBDaGFtZWxlb25FVkIJUFBDNDA1RVAKClRpcnVtYWxhIE1hcnJpIDx0bWFycmlAYXBtLmNvbT4KCglibHVlc3RvbmUgICAgICAgQVBNODIxWFgKClJlaW5oYXJkIE1leWVyIDxyZWluaGFyZC5tZXllckBlbWstZWxla3Ryb25pay5kZT4KCglUT1A4NjAJCU1QQzg2MFQKCVRPUDUyMDAJCU1QQzUyMDAKCVRPUDkwMDAJCUFSTTkyNkVKUyAoQVQ5MVNBTTl4eHggU29DKQoKVG9sdW5heSBPcmt1biA8dG9ya3VuQG5leHRpby5jb20+CgoJY3NiMjcyCQlQUEM0MDVHUAoJY3NiNDcyCQlQUEM0MDVHUAoKSm9obiBPdGtlbiA8am90a2VuQHNvZnRhZHZhbmNlcy5jb20+CgoJbHVhbgkJUFBDNDQwU1AKCXRhaWh1CQlQUEM0MDVFUAoKS2VpdGggT3V0d2F0ZXIgPEtlaXRoX091dHdhdGVyQG12aXMuY29tPgoKCUdFTjg2MFQJCU1QQzg2MFQKCUdFTjg2MFRfU0MJTVBDODYwVAoKRnJhbmsgUGFubm8gPGZwYW5ub0BkZWxwaGludGVjaC5jb20+CgoJZXA4MjYwCQlNUEM4MjYwCgpEZW5pcyBQZXRlciA8ZC5wZXRlckBtcGwuY2g+CgoJTUlQNDA1CQlQUEM0eHgKCVBJUDQwNQkJUFBDNHh4CgpXZXJuZXIgUGZpc3RlciA8UGZpc3Rlcl9XZXJuZXJAaW50ZXJjb250cm9sLmRlPgoJZGlnc3lfbXRjCW1wYzUyMDAKCWRpZ3N5X210Y19yZXY1CW1wYzUyMDAKCktpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUVNRFMJTVBDODM0OQoKRGFuaWVsIFBvaXJvdCA8ZGFuLnBvaXJvdEB3aW5kcml2ZXIuY29tPgoKCXNiYzgyNDAJCU1QQzgyNDAKCXNiYzQwNQkJUFBDNDA1R1AKClNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CgoJYTRtMDcyCQlNUEM1MjAwCgpTdWRoYWthciBSYWphc2hla2hhcmEgPHN1ZGhha2FyLnJhakB0aS5jb20+CgoJZGE4NTBldm0JQVJNOTI2RUpTIChEQTg1MC9PTUFQLUwxMzgpCgpSaWNhcmRvIFJpYmFsZGEgPHJpY2FyZG8ucmliYWxkYUB1YW0uZXM+CgoJbWw1MDcgCQlQUEM0NDB4NQoJdjVmeDMwdGV2YWwJUFBDNDQweDUKCXhpbGlueC1wcGM0MDUtZ2VuZXJpYwlQUEM0MDUKCXhpbGlueC1wcGM0NDAtZ2VuZXJpYwlQUEM0NDB4NQoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCVAzTTc0NDgJCU1QQzc0NDgKCgl1YzEwMAkJTVBDODU3CgoJVFFNODV4eAkJTVBDODU0MC84NTQxLzg1NTUvODU2MAoKCWFjYWRpYQkJUFBDNDA1RVoKCWFscHIJCVBQQzQ0MEdYCgliYW1ib28JCVBQQzQ0MEVQCglidW5iaW5nYQlQUEM0MDVFUAoJY2FueW9ubGFuZHMJUFBDNDYwRVgKCWVib255CQlQUEM0NDBHUAoJZ2xhY2llcgkJUFBDNDYwR1QKCWhhbGVha2FsYQlQUEM0MDVFWHIKCWljb24JCVBQQzQ0MFNQZQoJa2F0bWFpCQlQUEM0NDBTUGUKCWtpbGF1ZWEJCVBQQzQwNUVYCglsd21vbjUJCVBQQzQ0MEVQeAoJbWFrYWx1CQlQUEM0MDVFWAoJb2NvdGVhCQlQUEM0NDBHWAoJcDNwNDQwCQlQUEM0NDBHUAoJcGNzNDQwZXAJUFBDNDQwRVAKCXJhaW5pZXIJCVBQQzQ0MEdSeAoJc2VxdW9pYQkJUFBDNDQwRVB4CglzeWNhbW9yZQlQUEM0MDVHUHIKCXQzY29ycAkJUFBDNDYwR1QKCXRhaXNoYW4JCVBQQzQ0MEdYCgl3YWxudXQJCVBQQzQwNUdQCgl5ZWxsb3dzdG9uZQlQUEM0NDBHUgoJeW9zZW1pdGUJUFBDNDQwRVAKCXpldXMJCVBQQzQwNUVQCgoJUDNNNzUwCQlQUEM3NTBGWC9HWC9HTAoKWXVzZGkgU2FudG9zbyA8eXVzZGlfc2FudG9zb0BhZGFwdGVjLmNvbT4KCglISURERU5fRFJBR09OCU1QQzgyNDEvTVBDODI0NQoKVHJhdmlzIFNhd3llciAodHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tPgoKCUtBUkVGCQlQUEM0NDBHWAoJTUVUUk9CT1gJUFBDNDQwR1gKCkdlb3JnIFNjaGFyZHQgPHNjaGFyZHRAdGVhbS1jdGVjaC5kZT4KCglmeDEybW0JCVBQQzQwNQoKSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CgoJY2hhcm9uCQlNUEM1MjAwCglpZHM4MjQ3CQlNUEM4MjQ3CglqdXBpdGVyCQlNUEM1MjAwCglrbWV0ZXIxCQlNUEM4MzYwCglrbXN1cHg1CQlNUEM4MzIxCgltZ2NvZ2UJCU1QQzgyNDcKCW1nY29nZTNuZQlNUEM4MjQ3CgltZ2NvZ2UydW4JQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgltdWNtYzUyCQlNUEM1MjAwCgltdWFzMzAwMQlNUEM4MjcwCgltdW5pY3NlCQlNUEM1MjAwCglzYzMJCVBQQzQwNUdQCglzdWVuMwkJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCglzdWVuOAkJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCglzdXZkMwkJTVBDODMyMQoJdHVkYTEJCU1QQzgzMjEKCXR1eGExCQlNUEM4MzIxCgl1YzEwMQkJTVBDNTIwMAoJdmU4MzEzCQlNUEM4MzEzCgpQZXRlciBEZSBTY2hyaWp2ZXIgPHAyQG1pbmQuYmU+CgoJTUwyCQlQUEM0eHgKCkFuZHJlIFNjaHdhcnogPGFuZHJlLnNjaHdhcnpAbWF0cml4LXZpc2lvbi5kZT4KCgltdmJjX3AJCU1QQzUyMDAKCW12YmxtNwkJTVBDODM0MwoJbXZzbXIJCU1QQzUyMDAKCkpvbiBTbWlybCA8am9uc21pcmxAZ21haWwuY29tPgoKCXBjbTAzMAkJTVBDNTIwMAoKVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzQ5RS1tSVRYCU1QQzgzNDkKCU1QQzgzNDlFLW1JVFgtR1AgTVBDODM0OQoJUDEwMjJEUwkJUDEwMjIKCkVyaWsgVGhlaXNlbiA8ZXRoZWlzZW5AbWluZHNwcmluZy5jb20+CgoJVzdPTE1DCQlQUEM0eHgKCVc3T0xNRwkJUFBDNHh4CgpKaW0gVGhvbXBzb24gPGppbUBtdXNlbmtpLmNvbT4KCglNVVNFTktJCQlNUEM4MjQ1LzgyNDEKCVNhbmRwb2ludDgyNDUJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCU1QQzgyNjYKClBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CgoJeHBlZGl0ZTEwMDAJUFBDNDQwR1gKCXhwZWRpdGU1MTcwCU1QQzg2NDAKCXhwZWRpdGU1MjAwCU1QQzg1NDgKCXhwZWRpdGU1MzcwCU1QQzg1NzIKCXhwZWRpdGU1NTAwCVAyMDIwCgpEYXZpZCBVcGRlZ3JhZmYgPGRhdmVAY3JheS5jb20+CgoJQ1JBWUwxCQlQUEM0eHgKCkFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgoKCU1QQzgzNjBFUkRLCU1QQzgzNjAKCkpvc2VmIFdhZ25lciA8V2FnbmVyQE1pY3Jvc3lzLmRlPgoKCUNQQzQ1CQlNUEM4MjQ1CglQTTUyMAkJTVBDNTIwMAoKTWljaGFlbCBXZWlzcyA8bWljaGFlbC53ZWlzc0BpZm0uY29tPgoKCVBETTM2ME5HCU1QQzUxMjFlCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJUFBDNDA1R1ByCgpJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KCgltcGM4MzA4X3AxbQlNUEM4MzA4CglNUEM4MzA4UkRCCU1QQzgzMDgKClJveSBaYW5nIDx0aWUtZmVpLnphbmdAZnJlZXNjYWxlLmNvbT4KCgltcGM3NDQ4aHBjMglNUEM3NDQ4CgpKb2huIFpoYW4gPHpoYW56QHNpbm92ZWUuY29tPgoKCXN2bV9zYzh4eAlNUEM4eHgKCkRldGxldiBadW5kZWwgPGR6dUBkZW54LmRlPgoKCWlua2E0eDAJCU1QQzUyMDAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CgoJQURTODYwCQlNUEM4eHgKCUZBRFM4MjMJCU1QQzh4eAoJRkFEUzg1MFNBUglNUEM4eHgKCUZBRFM4NjBUCU1QQzh4eAoJR0VOSUVUVgkJTVBDOHh4CglJQUQyMTAJCU1QQzh4eAoJTUJYCQlNUEM4eHgKCU1CWDg2MFQJCU1QQzh4eAoJTlg4MjMJCU1QQzh4eAoJUlBYQ2xhc3NpYwlNUEM4eHgKCVJQWGxpdGUJCU1QQzh4eAoKCU1PVVNTRQkJTVBDODI0eAoKCVJQWHN1cGVyCU1QQzgyNjAKCXJzZHByb3RvCU1QQzgyNjAKCglFVkI2NDI2MAlNUEM3eHhfNzR4eAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBUk0gU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpBbGJlcnQgQVJJQkFVRCA8YWxiZXJ0LnUuYm9vdEBhcmliYXVkLm5ldD4KCgllZG1pbml2MglBUk05MjZFSlMgKE9yaW9uNXggU29DKQoKUm93ZWwgQXRpZW56YSA8cm93ZWxAZGl3YWxhYnMuY29tPgoKCWFybWFkaWxsbwlBUk03MjBUCgpTdGVmYW5vIEJhYmljIDxzYmFiaWNAZGVueC5kZT4KCgllYTIwCQlkYXZpbmNpCglteDM1cGRrCQlpLk1YMzUKCW14NTFldmsJCWkuTVg1MQoJcG9sYXJpcwkJeHNjYWxlCgl0cml6ZXBzaXYJeHNjYWxlCiAJdmlzaW9uMgkJaS5NWDUxCgpKYXNvbiBMaXUgPHI2NDM0M0BmcmVlc2NhbGUuY29tPgoKCW14NTNldmsgICAgICAgICBpLk1YNTMKCkVucmljIEJhbGxldGJvIGkgU2VycmEgPGViYWxsZXRib0Bpc2VlYmNuLmNvbT4KCglpZ2VwMDAyMAlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoJaWdlcDAwMzAJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkRpcmsgQmVobWUgPGRpcmsuYmVobWVAZ21haWwuY29tPgoKCW9tYXAzX2JlYWdsZQlBUk0gQVJNVjcgKE9NQVAzNTMwIFNvQykKCkVyaWMgQmVuYXJkIDxlcmljQGV1a3JlYS5jb20+CgoJY3B1YXQ5MQkJQVJNOTIwVAoJY3B1OTI2MAkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgljcHU5RzIwCQlBUk05MjZFSlMgKEFUOTFTQU05RzIwIFNvQykKClJpc2hpIEJoYXR0YWNoYXJ5YSA8cmlzaGlAdGkuY29tPgoKCW9tYXA1OTEyb3NrCUFSTTkyNkVKUwoKQW5kcmVhcyBCaWXfbWFubiA8YW5kcmVhcy5kZXZlbEBnbWFpbC5jb20+CgoJYXQ5MXJtOTIwMGVrCWF0OTFybTkyMDAKCkNsaWZmIEJyYWtlIDxjbGlmZi5icmFrZUBnbWFpbC5jb20+CgoJcHhhMjU1X2lkcAl4c2NhbGUKClJpY2sgQnJvbnNvbiA8cmlja0BlZm4ub3JnPgoKCUFUOTFSTTkyMDBESwlhdDkxcm05MjAwCgpMdWNhIENlcmVzb2xpIDxsdWNhLmNlcmVzb2xpQGNvbWVsaXQuaXQ+CgoJZGlnMjk3CQlBUk0gQVJNVjcgKE9NQVAzNTMwIFNvQykKClBvLVl1IENodWFuZyA8cmF0YmVydEBmYXJhZGF5LXRlY2guY29tPgoKCWEzMjBldmIJCUZBNTI2IChBUk05MjBULWxpa2UpIChhMzIwIFNvQykKCkVyaWMgQ29vcGVyIDxlY2NAY211LmVkdT4KCglkb2Nrc3RhcglBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCkdlb3JnZSBHLiBEYXZpcyA8Z2RhdmlzQG12aXN0YS5jb20+CgoJYXNzYWJldAkJU0ExMTAwCglnY3BsdXMJCVNBMTEwMAoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCWlteDI3bGl0ZQlpLk1YMjcKCXFvbmcJCWkuTVgzMQoKVGhvbWFzIEVsc3RlIDxpbmZvQGVsc3RlLm9yZz4KCgltb2RuZXQ1MAlBUk03MjBUIChORVQrNTApCgpLcmlzdG9mZmVyIEVyaWNzb24gPGtyaXN0b2ZmZXIuZXJpY3NvbkBnbWFpbC5jb20+CgoJam9ybmFkYQlTQTExMTAKCkZhYmlvIEVzdGV2YW0gPGZhYmlvLmVzdGV2YW1AZnJlZXNjYWxlLmNvbT4KCglteDMxcGRrCQlpLk1YMzEKClBldGVyIEZpZ3VsaSA8cGVwb3NoQGV0Yy5zaz4KCgl3ZXBlcDI1MAl4c2NhbGUKCkRhbmllbCBHb3JzdWxvd3NraSA8ZGFuaWVsLmdvcnN1bG93c2tpQGVzZC5ldT4KCgltZWVzYwkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MyBTb0MpCglvdGM1NzAJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjMgU29DKQoKU2VkamkgR2FvdWFvdTxzZWRqaS5nYW91YW91QGF0bWVsLmNvbT4KCWF0OTFzYW05ZzEwZWsJCUFSTTkyNkVKUyAoQVQ5MVNBTTlHMTAgU29DKQoJYXQ5MXNhbTltMTBnNDVlawlBUk05MjZFSlMgKEFUOTFTQU05RzQ1IFNvQykKCk1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KCglpbXBhNwkJQVJNNzIwVCAoRVA3MjExKQoJZXA3MzEyCQlBUk03MjBUIChFUDczMTIpCgpJZ29yIEdyaW5iZXJnIDxncmluYmVyZ0Bjb21wdWxhYi5jby5pbD4KCgljbS10MzUJCUFSTSBBUk1WNyAoT01BUDN4eCBTb2MpCgpLc2hpdGlqIEd1cHRhIDxrc2hpdGlqQHRpLmNvbT4KCglvbWFwMTUxMGlubglBUk05MjVUCglvbWFwMTYxMGlubglBUk05MjZFSlMKClZhaWJoYXYgSGlyZW1hdGggPGh2YWliaGF2QHRpLmNvbT4KCglhbTM1MTdfZXZtCUFSTSBBUk1WNyAoQU0zNXggU29DKQoKR3JhenZ5ZGFzIElnbm90YXMgPG5vdGFzYXNAZ21haWwuY29tPgoKCW9tYXAzX3BhbmRvcmEJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgoKCXNtZGsyNDAwCUFSTTkyMFQKCXRyYWIJCUFSTTkyMFQKCk1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+CgllZGI5MzAxCQkJQVJNOTIwVCAoRVA5MzAxKQoJZWRiOTMwMgkJCUFSTTkyMFQgKEVQOTMwMikKCWVkYjkzMDJhCQlBUk05MjBUIChFUDkzMDIpCgllZGI5MzA3CQkJQVJNOTIwVCAoRVA5MzA3KQoJZWRiOTMwN2EJCUFSTTkyMFQgKEVQOTMwNykKCWVkYjkzMTIJCQlBUk05MjBUIChFUDkzMTIpCgllZGI5MzE1CQkJQVJNOTIwVCAoRVA5MzE1KQoJZWRiOTMxNWEJCUFSTTkyMFQgKEVQOTMxNSkKCktvbnN0YW50aW4gS2xldHNjaGtlIDxrbGV0c2Noa2VAc3luZXJ0cm9uaXh4LmRlPgoJc2NiOTMyOAkJQVJNOTIwVAoKTmlzaGFudCBLYW1hdCA8bnNrYW1hdEB0aS5jb20+CgoJb21hcDE2MTBoMglBUk05MjZFSlMKCk1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KCglTTURLQzEwMAkJQVJNIEFSTVY3IChTNVBDMTAwIFNvQykKCXM1cF9nb25pCQlBUk0gQVJNVjcgKFM1UEMxMTAgU29DKQoJczVwYzIxMF91bml2ZXJzYWwJQVJNIEFSTVY3IChTNVBDMjEwIFNvQykKCkZyZWRlcmlrIEtyaWV3aXR6IDxmcmVkZXJpa0Brcmlld2l0ei5ldT4KCglkZXZraXQ4MDAwCUFSTSBBUk1WNyAoT01BUDM1MzAgU29DKQoKU2VyZ2V5IEt1YnVzaHluIDxrc2lAa29pOC5uZXQ+CgoJRFYtRVZNCQlBUk05MjZFSlMKCVNPTkFUQQkJQVJNOTI2RUpTCglTQ0hNT09HSUUJQVJNOTI2RUpTCgpQcmFrYXNoIEt1bWFyIDxwcmFrYXNoQGVtYmVkeC5jb20+CgoJY2VyZjI1MAkJeHNjYWxlCgpWaXBpbiBLdW1hciA8dmlwaW4ua3VtYXJAc3QuY29tPgoKCXNwZWFyMzAwCUFSTTkyNkVKUyAoc3BlYXIzMDAgU29jKQoJc3BlYXIzMTAJQVJNOTI2RUpTIChzcGVhcjMxMCBTb2MpCglzcGVhcjMyMAlBUk05MjZFSlMgKHNwZWFyMzIwIFNvYykKCXNwZWFyNjAwCUFSTTkyNkVKUyAoc3BlYXI2MDAgU29jKQoKU2VyZ2V5IExhcGluIDxzbGFwaW5Ab3NzZmFucy5vcmc+CgoJYWZlYjkyNjAJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgpOaXNoYW50aCBNZW5vbiA8bm1AdGkuY29tPgoKCW9tYXAzX3NkcDM0MzAJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCW9tYXAzX3pvb20xCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpEYXZpZCBN/GxsZXIgPGQubXVlbGxlckBlbHNvZnQuY2g+CgoJc21kazI0MTAJQVJNOTIwVAoJVkNNQTkJCUFSTTkyMFQKCkVyaWMgTWlsbGJyYW5kdCA8ZW1pbGxicmFuZHRAZGVrYXJlc2VhcmNoLmNvbT4KCglnYWxheHk1MjAwCW1wYzUyMDAKCk5hZ2VuZHJhIFQgUyAgPG5hZ2VuZHJhQG1pc3RyYWxzb2x1dGlvbnMuY29tPgoKICAgYW0zNTE3X2NyYW5lICAgIEFSTSBBUk1WNyAoQU0zNXggU29DKQoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJU0ExMTAwCgpLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgoKCWFwb2xsb24JCUFSTTExMzZFSlMKClNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KCglkYXZpbmNpX2RtMzU1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTM1NWxlb3BhcmQJQVJNOTI2RUpTCglkYXZpbmNpX2RtMzY1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTY0Njdldm0JQVJNOTI2RUpTCgpQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgoJaW50ZWdyYXRvcmNwCUFsbCBjdXJyZW50IEFSTSBzdXBwbGllZCAmIHN1cHBvcnRlZCBjb3JlIG1vZHVsZXMKCQkJLXNlZSBodHRwOi8vd3d3LmFybS5jb20vcHJvZHVjdHMvRGV2VG9vbHMvSGFyZHdhcmVfUGxhdGZvcm1zLmh0bWwKCXZlcnNhdGlsZQlBUk05MjZFSi1TCgl2ZXJzYXRpbGUJQVJNOTI2RUotUwoKRGF2ZSBQZXZlcmxleSA8ZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrPgoKCW9tYXA3MzBwMglBUk05MjZFSlMKCk1hbmlrYW5kYW4gUGlsbGFpIDxtYW5pLnBpbGxhaUB0aS5jb20+CgoJb21hcDNfZXZtCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpTdGVsaWFuIFBvcCA8c3RlbGlhbi5wb3BAbGVhZHRlY2hkZXNpZ24uY29tPgoKCWF0OTFjYXA5YWRrCUFSTTkyNkVKUyAoQVQ5MUNBUDkgU29DKQoJYXQ5MXNhbTkyNjBlawlBUk05MjZFSlMgKEFUOTFTQU05MjYwIFNvQykKCWF0OTFzYW05MjYxZWsJQVJNOTI2RUpTIChBVDkxU0FNOTI2MSBTb0MpCglhdDkxc2FtOTI2M2VrCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjMgU29DKQoJYXQ5MXNhbTlybGVrCUFSTTkyNkVKUyAoQVQ5MVNBTTlSTCBTb0MpCgpUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CgoJb21hcDNfem9vbTIJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgoKCXR4MjUJCWkuTVgyNQoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCWl4ZHBnNDI1CXhzY2FsZQoJcGRuYjMJCXhzY2FsZQoJc2NwdQkJeHNjYWxlCgpBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgpOb21hZGlrIExpbnV4IFRlYW0gPFNUTl9XTU1fbm9tYWRpa19saW51eEBsaXN0LnN0LmNvbT4KCgluaGs4ODE1CQlBUk05MjZFSlMgKE5vbWFkaWsgODgxNSBTb2MpCgpTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KCglvbWFwM19vdmVybwlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoJb21hcDRfcGFuZGEJQVJNIEFSTVY3IChPTUFQNHh4IFNvQykKCW9tYXA0X3NkcDQ0MzAJQVJNIEFSTVY3IChPTUFQNHh4IFNvQykKCkplbnMgU2NoYXJzaWcgPGVzd0BidXMtZWxla3Ryb25pay5kZT4KCgllYl9jcHV4OWsyCUFSTTkyMFQgKEFUOTFSTTkyMDAgU29DKQoKSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CgoJbWFnbmVzaXVtCWkuTVgyNwoKUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgoKCWNzYjIyNgkJeHNjYWxlCglpbm5va29tCQl4c2NhbGUKCk1pY2hhZWwgU2Nod2luZ2VuIDxtaWNoYWVsQHNjaHdpbmdlbi5vcmc+CgoJYWN0dXgxCQl4c2NhbGUKCWFjdHV4MgkJeHNjYWxlCglhY3R1eDMJCXhzY2FsZQoJYWN0dXg0CQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJQVJNN1RETUkgKFMzQzQ0QjBYKQoKTmljayBUaG9tcHNvbiA8bmljay50aG9tcHNvbkBnZWZhbnVjLmNvbT4KCglkYTgzMGV2bQlBUk05MjZFSlMgKERBODMwL09NQVAtTDEzNykKCkFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CgoJc2JjMzVfYTlnMjAJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgl0bnlfYTkyNjAJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgl0bnlfYTlnMjAJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgpHcmVnIFVuZ2VyZXIgPGdyZWcudW5nZXJlckBvcGVuZ2Vhci5jb20+CgoJY200MDA4CQlrczg2OTVwCgljbTQxMTYJCWtzODY5NXAKCWNtNDE0OAkJa3M4Njk1cAoKTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4KCgliYWxsb29uMwl4c2NhbGUKCWNvbGlicmlfcHhhMjcwCXhzY2FsZQoJcGFsbWxkCQl4c2NhbGUKCXBhbG10YwkJeHNjYWxlCgl2cGFjMjcwCQl4c2NhbGUKCXppcGl0ejIJCXhzY2FsZQogCWVmaWthbXgJCWkuTVg1MQoKSHVnbyBWaWxsZW5ldXZlIDxodWdvLnZpbGxlbmV1dmVAbHlydGVjaC5jb20+CgoJU0ZGU0RSCQlBUk05MjZFSlMKCk1hdHQgV2FkZGVsIDxtYXR0LndhZGRlbEBsaW5hcm8ub3JnPgoKCWNhOXg0X2N0X3Z4cAlBUk0gQVJNVjcgKFF1YWQgQ29yZSkKClByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KCglhc3Blbml0ZQlBUk05MjZFSlMgKEFSTUFEQTEwMCA4OEFQMTY4IFNvQykKCW12ODhmNjI4MWd0d19nZQlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCW9wZW5yZF9iYXNlICAgICBBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCXJkNjI4MWEJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoJc2hlZXZhcGx1ZwlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKClRvbSBXYXJyZW4gPHR3YXJyZW5AbnZpZGlhLmNvbT4KCgloYXJtb255CQlUZWdyYTIgKEFSTTcgJiBBOSBEdWFsIENvcmUpCglzZWFib2FyZAlUZWdyYTIgKEFSTTcgJiBBOSBEdWFsIENvcmUpCgpMZWkgV2VuIDxsZWl3ZW5AbWFydmVsbC5jb20+CgoJZGtiCQlBUk05MjZFSlMgKFBBTlRIRU9OIDg4QVA5MjAgU09DKQoKTWF0dGhpYXMgV2Vpc3NlciA8d2Vpc3Nlcm1AYXJjb3IuZGU+CgoJamFkZWNwdQkJQVJNOTI2RUpTIChNQjg2UjAxIFNvQykKClJpY2hhcmQgV29vZHJ1ZmYgPHItd29vZHJ1ZmYyQHRpLmNvbT4KCglvbWFwMjQyMGg0CUFSTTExMzZFSlMKCkFsZXggWvxwa2UgPGF6dUBzeXNnby5kZT4KCglsYXJ0CQlTQTExMDAKCWRucDExMTAJCVNBMTExMAoKU3llZCBNb2hhbW1lZCBLaGFzaW0gPHNtLmtoYXNpbUBnbWFpbC5jb20+ClN1Z2hvc2ggR2FudSA8dXJ3aXRoc3VnaG9zaEBnbWFpbC5jb20+CgoJaGF3a2JvYXJkCUFSTTkyNkVKUyAoT01BUC1MMTM4KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVW5rbm93biAvIG9ycGhhbmVkIGJvYXJkczoKIAlCb2FyZAkJQ1BVCUxhc3Qga25vd24gbWFpbnRhaW5lciAvIENvbW1lbnQKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoJY3JhZGxlCQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCglpeGRwNDI1CQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCglsdWJib2NrCQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCgoJaW14MzFfcGh5Y29yZV9lZXQgaS5NWDMxICBHdWVubmFkaSBMaWFraG92ZXRza2kgPGcubGlha2hvdmV0c2tpQGdteC5kZT4gLyByZXNpZ25lZAoJbXgzMWFkcwkJICBpLk1YMzEgIEd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPiAvIHJlc2lnbmVkCglTTURLNjQwMAkgIFMzQzY0MDAgR3Vlbm5hZGkgTGlha2hvdmV0c2tpIDxnLmxpYWtob3ZldHNraUBnbXguZGU+IC8gcmVzaWduZWQKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyB4ODYgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgoKCWVORVQJCUFNRCBTQzUyMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1JUFMgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoKCWluY2FpcAkJTUlQUzMyIDRLYwoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoJZGJhdTF4MDAJTUlQUzMyIEF1MTAwMAoJZ3RoMgkJTUlQUzMyIEF1MTAwMAoKVmxhZCBMdW5ndSA8dmxhZC5sdW5ndUB3aW5kcml2ZXIuY29tPgoJcWVtdV9taXBzCU1JUFMzMgoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCXZjdF94eHgJCU1JUFMzMiA0S2MKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLUlJIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglQQ0k1NDQxCQlOaW9zLUlJCglQSzFDMjAJCU5pb3MtSUkKCW5pb3MyLWdlbmVyaWMJTmlvcy1JSQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1pY3JvQmxhemUgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQlDUFUJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCk1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KCgltaWNyb2JsYXplLWdlbmVyaWMJTWljcm9CbGF6ZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvbGRmaXJlIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYXlkZW4gRnJhc2VyIDxIYXlkZW4uRnJhc2VyQGZyZWVzY2FsZS5jb20+CgoJTTUyNTNFVkJFCW1jZjUyeDIKCk1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgoKCVRBU1JFRwkJTUNGNTI0OQoKVHNpQ2h1bmcgTGlldyA8VHNpLUNodW5nLkxpZXdAZnJlZXNjYWxlLmNvbT4KCglNNTIyNzdFVkIJbWNmNTIyN3gKCU01MjM1RVZCCW1jZjUyeDIKCU01MjUzREVNTwltY2Y1MngyCglNNTMwMTdFVkIJbWNmNTMyeAoJTTUzMjlFVkIJbWNmNTMyeAoJTTUzNzNFVkIJbWNmNTMyeAoJTTU0NDU1RVZCCW1jZjU0NDV4CglNNTQ3NUVWQgltY2Y1NDd4Xzh4CglNNTQ4NUVWQgltY2Y1NDd4Xzh4CgpXb2xmZ2FuZyBXZWduZXIgPHcud2VnbmVyQGFzdHJvLWtvbS5kZT4KCglhc3Ryb19tY2Y1MzczbAlNQ0Y1MzczTAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFWUjMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYW5zLUNocmlzdGlhbiBFZ3R2ZWR0IDxoYW5zLWNocmlzdGlhbi5lZ3R2ZWR0QGF0bWVsLmNvbT4KCglGQVZSLTMyLUVaS0lUCQlBVDMyQVA3MDAwCgpNYXJrIEphY2tzb24gPG1wZmpAbWltYy5jby51az4KCglNSU1DMjAwCQkJQVQzMkFQNzAwMAoKQWxleCBSYWltb25kaSA8YWxleC5yYWltb25kaUBtaXJvbWljby5jaD4KSnVsaWVuIE1heSA8anVsaWVuLm1heUBtaXJvbWljby5jaD4KCglIQU1NRVJIRUFECQlBVDMyQVA3MDAwCgpIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CgoJQVRTVEsxMDAwCUFUMzJBUDd4eHgKCUFUU1RLMTAwMglBVDMyQVA3MDAwCglBVFNUSzEwMDMJQVQzMkFQNzAwMQoJQVRTVEsxMDA0CUFUMzJBUDcwMDIKCUFUU1RLMTAwNglBVDMyQVA3MDAwCglBVE5HVzEwMAlBVDMyQVA3MDAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU3VwZXJIIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpZdXN1a2UgR29kYSA8Z29kYS55dXN1a2VAcmVuZXNhcy5jb20+CgoJTUlHTy1SCQlTSDc3MjIKCk5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KCQkgIDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KCglNUzc3NTBTRQlTSDc3NTAKCU1TNzcyMlNFCVNINzcyMgoJUjc3ODBNUAkJU0g3NzgwCglSMkRQbHVzCQlTSDc3NTFSCglTSDc3NjNSRFAJU0g3NzYzCglSU0s3MjAzCQlTSDcyMDMKCUFQMzI1UlhBCVNINzcyMwoJU0hNSU4JCVNINzcwNgoKTWFyayBKb25hcyA8bWFyay5qb25hc0BkZS5ib3NjaC5jb20+CgoJbXByMgkJU0g3NzIwCgpZb3NoaWhpcm8gU2hpbW9kYSA8eW9zaGloaXJvLnNoaW1vZGEudWhAcmVuZXNhcy5jb20+CgoJTVM3NzIwU0UJU0g3NzIwCglSMFA3NzU3MDAzMFJMCVNINzc1NwoJUjBQNzc4NTAwMTFSTAlTSDc3ODUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBCbGFja2ZpbiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQkY1MDZGLUVaS0lUCUJGNTA2CglCRjUxOEYtRVpCUkQJQkY1MTgKCUJGNTI2LUVaQlJECUJGNTI2CglCRjUyNy1BRDcxNjAtRVZBTAlCRjUyNwoJQkY1MjctRVpLSVQJQkY1MjcKCUJGNTI3LUVaS0lULVYyCUJGNTI3CglCRjUyNy1TRFAJQkY1MjcKCUJGNTMzLUVaS0lUCUJGNTMzCglCRjUzMy1TVEFNUAlCRjUzMwoJQkY1MzctUE5BVglCRjUzNwoJQkY1MzctU1RBTVAJQkY1MzcKCUJGNTM4Ri1FWktJVAlCRjUzOAoJQkY1NDgtRVpLSVQJQkY1NDgKCUJGNTYxLUVaS0lUCUJGNTYxCgpNLkhhc2V3aW5rZWwgKE1IQSkgPGluZm9Ac3N2LWVtYmVkZGVkLmRlPgoKCWRucDUzNzAJCUJGNTM3CgpCcmVudCBLYW5kZXR6a2kgPGJyZW50a0B0ZWxlY28uY29tPgoKCUlQMDQJCUJGNTMyCgpQZXRlciBNZWVyd2FsZCA8ZGV2ZWxAYmN0LWVsZWN0cm9uaWMuY29tPgoKCWJjdC1icmV0dGwyCUJGNTM2CgpJLVNZU1QgTWljcm9tb2R1bGUgPHN1cHBvcnRAaS1zeXN0LmNvbT4KCglJQkYtRFNQNTYxCUJGNTYxCgpXb2p0ZWsgU2t1bHNraSA8c2t1bHNraUBwYXMucm9jaGVzdGVyLmVkdT4KV29qdGVrIFNrdWxza2kgPGluZm9Ac2t1dGVrLmNvbT4KQmVuamFtaW4gTWF0dGhld3MgPG1iZW4xMkBnbWFpbC5jb20+CgoJQmxhY2tTdGFtcAlCRjUzMwoJQmxhY2tWTUUJQkY1NjEKCk1hcnRpbiBTdHJ1YmVsIDxzdHJ1YmVsQHNlY3Rpb241LmNoPgoKCUJGNTM3LW1pbm90YXVyCUJGNTM3CglCRjUzNy1zcnYxCUJGNTM3CgpCbHVldGVjaG5peCBUaW55Ym9hcmRzIDxibHVldGVjaG5peEBibGFja2Zpbi51Y2xpbnV4Lm9yZz4KCglDTS1CRjUyNwlCRjUyNwoJQ00tQkY1MzMJQkY1MzMKCUNNLUJGNTM3RQlCRjUzNwoJQ00tQkY1MzdVCUJGNTM3CglDTS1CRjU0OAlCRjU0OAoJQ00tQkY1NjEJQkY1NjEKCVRDTS1CRjUxOAlCRjUxOAoJVENNLUJGNTM3CUJGNTM3CgpWYWxlbnRpbiBZYWtvdmVua292IDx5YWtvdmVua292QG5paXN0dC5ydT4KQW50b24gU2h1cnBpbiA8c2h1cnBpbi5hYUBuaWlzdHQucnU+CgoJQkY1NjEtQUNWSUxPTglCRjU2MQoKSGFpdGFvIFpoYW5nIDxoemhhbmdAdWNyb2JvdGljcy5jb20+CkNob25nIEh1YW5nIDxjaHVhbmdAdWNyb2JvdGljcy5jb20+CgoJYmY1MjUtdWNyMglCRjUyNQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEVuZCBvZiBNQUlOVEFJTkVSUyBsaXN0CQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==