ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCBlMmYyYjNlLi5iZDE2ZWQ4IDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0xLDMgKzEsNTQyMiBAQAorY29tbWl0IDI0NmM2OTIyNWM3Yjk2MmQ1YzkzZTkyMjgyYjc4Y2E5ZmM1ZmVmZWUKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVN1biBPY3QgMjUgMTU6MTI6NTYgMjAwOSAtMDUwMAorCisgICAgQWRkICdlZGl0ZW52JyBjb21tYW5kCisKKyAgICBUaGUgZWRpdGVudiBjb21tYW5kIGNhbiBiZSB1c2VkIHRvIGVkaXQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCisgICAgRWRpdGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyB1c2VmdWwgd2hlbiBvbmUgd2FudHMgdG8gdHdlYWsgYW4KKyAgICBleGlzdGluZyB2YXJpYWJsZSwgZm9yIGV4YW1wbGUgZml4IGEgdHlwbyBvciBjaGFuZ2UgdGhlIGJhdWRyYXRlIGluIHRoZQorICAgICdib290YXJncycgZW52aXJvbm1lbnQgdmFyaWFibGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgYjBmYThlNTA2MzJhNjI4NzY2ZGIyM2Y1Yzg4NGVjNjNmMTQ2OTU1MgorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJU3VuIE9jdCAyNSAxNToxMjo1NSAyMDA5IC0wNTAwCisKKyAgICBzZXRlbnYoKTogRGVsZXRlIDAtbGVuZ3RoIGVudmlyb25tZW50IHZhcmlhYmxlcworCisgICAgUHJldmlvdXNseSBzZXRlbnYoKSB3b3VsZCBvbmx5IGRlbGV0ZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiBpdAorICAgIHdhcyBwYXNzZWQgYSBOVUxMIHN0cmluZyBwb2ludGVyIGFzIGEgdmFsdWUuICBJdCBzaG91bGQgYWxzbyBkZWxldGUgYW4KKyAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIGl0IGVuY291bnRlcnMgYSB2YWxpZCBzdHJpbmcgcG9pbnRlciBvZgorICAgIDAtbGVuZ3RoLgorCisgICAgVGhpcyBjaGFuZ2UvZml4IGlzIGdlbmVyYWxseSB1c2VmdWwgYW5kIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIHVwY29taW5nCisgICAgImVkaXRlbnYiIGNvbW1hbmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgZWNjNTUwMGVlNDg3MTcwZDhhZjZmZjg5M2ZkMWUwMDgyMzgwYTAxYQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJU3VuIE9jdCAyNSAxNToxMjo1NCAyMDA5IC0wNTAwCisKKyAgICByZWFkbGluZSgpOiBBZGQgYWJpbGl0eSB0byBtb2RpZnkgYSBzdHJpbmcgYnVmZmVyCisKKyAgICBJZiB0aGUgJ2J1ZicgcGFyYW1ldGVyIGlzIGEgbm9uLTAtbGVuZ3RoIHN0cmluZywgaXRzIGNvbnRlbnRzIHdpbGwgYmUKKyAgICBlZGl0ZWQuICBQcmV2aW91c2x5LCB0aGUgaW5pdGlhbCBjb250ZW50cyBvZiAnYnVmJyB3ZXJlIGlnbm9yZWQgYW5kIHRoZQorICAgIHVzZXIgZW50ZXJlZCBpdHMgY29udGVudHMgZnJvbSBzY3JhdGNoLgorCisgICAgVGhpcyBjaGFuZ2UgaXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgdGhlIHVwY29taW5nICJlZGl0ZW52IiBjb21tYW5kIGJ1dAorICAgIGNvdWxkIGFsc28gYmUgdXNlZCBmb3IgZnV0dXJlIGNvbW1hbmRzIHdoaWNoIHJlcXVpcmUgYSB1c2VyIHRvIG1vZGlmeQorICAgIGFuIGV4aXN0aW5nIHN0cmluZy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBmOTIzOTQzODQzY2Q2MTdkNjgxMzg3ZTdmZTgxYTQ4MDYwY2M2NDAxCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTdW4gT2N0IDI1IDE1OjEyOjUzIDIwMDkgLTA1MDAKKworICAgIGNyZWFkX2xpbmUoKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBlNDkxYTcxZTU3OGU5M2JkM2IyZjhmMjBkOGVmOGYxMTFjOTgwMTBkCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTdW4gT2N0IDI1IDE1OjEyOjUyIDIwMDkgLTA1MDAKKworICAgIENoZWNrIGZvciBOVUxMIHByb21wdCBpbiByZWFkbGluZV9pbnRvX2J1ZmZlcigpCisKKyAgICBQcmV2aW91c2x5LCBwYXNzaW5nIHJlYWRsaW5lKCkgb3IgcmVhZGxpbmVfaW50b19idWZmZXIoKSBhIE5VTEwgJ3Byb21wdCcKKyAgICBwYXJhbWV0ZXIgd291bGQgcmVzdWx0IGluIHB1dHMoKSBwcmludGluZyBnYXJiYWdlIHdoZW4KKyAgICBDT05GSUdfQ01ETElORV9FRElUSU5HIHdhcyBlbmFibGVkLgorCisgICAgTm90ZSB0aGF0IG5vIGJvYXJkIGN1cnJlbnRseSB0cmlnZ2VycyB0aGlzIGJ1Zy4gIEVuYWJsaW5nCisgICAgQ09ORklHX0NNRExJTkVfRURJVElORyBvbiBzb21lIGJvYXJkcyAoZWcgYmFiN3h4KSB3b3VsZCByZXN1bHQgaW4KKyAgICB0aGUgYnVnIGFwcGVhcmluZy4JVGhpcyBjaGFuZ2UgaXMgb25seSBpbnRlbmRlZCB0byBwcmV2ZW50IHNvbWVvbmUKKyAgICBmcm9tIHJ1bm5pbmcgaW50byB0aGlzIGlzc3VlIGluIHRoZSBmdXR1cmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgMTZkMWMxMDc4MzY2MGYzZmRiYzNjMTkxNDFmNDJmM2IwZDE4MzRkMworQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU3VuIE9jdCAyNSAyMzowMDowOSAyMDA5ICswMTAwCisKKyAgICBkcml2ZXJzL25ldC9waHkvbWlpcGh5YmIuYzogZml4IHdhcm5pbmc6IG5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKworICAgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBMdWlnaSBNYW50ZWxsaW5pIDxsdWlnaS5tYW50ZWxsaW5pQGlkZi1oaXQuY29tPgorICAgIENjOiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgYTc0N2E3ZjMxMDU5YjkwNjllOTdjNzhiYmE1NDk2NDA5YzMzYWEwNQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVHVlIE9jdCAyNyAwMDowMzozMiAyMDA5ICswMTAwCisKKyAgICBSZXZlcnQgImVudjogb25seSBidWlsZCBlbnZfZW1iZWRkZWQgYW5kIGVudmNyYyB3aGVuIG5lZWRlZCIKKworICAgIEJyZWFrcyBidWlsZGluZyBvbiBtYW55IGJvYXJkcywgYW5kIG5vIHJlYWxseSBjbGVhbiBmaXggYXZhaWxhYmxlIHlldC4KKworICAgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmRhYjZhZGQyZDhlZTgwOTA1MjM0YjMyNmFiYzNkZTExYmUxZDE3OC4KKworY29tbWl0IDNmY2E4MDM3NTk4MWZlODNkNDY3NGEwMjY3MTgzYjQ2OWExZWE3ZmYKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgT2N0IDE1IDE3OjQ3OjE2IDIwMDkgKzA0MDAKKworICAgIG1wYzg1eHg6IENvbmZpZ3VyZSBRRSBVU0IgZm9yIE1QQzg1NjlFLU1EUyBib2FyZHMKKworICAgIFNldHVwIFFFIHBpbiBtdWx0aXBsZXhpbmcgZm9yIFVTQiBmdW5jdGlvbiwgY29uZmlndXJlIG5lZWRlZCBCQ1NScworICAgIGFuZCBhZGQgc29tZSBmZHQgZml4dXBzLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDE0ODA5YjZjMjFjODlkZDY1YWJhZjNmZWE3NjI3ZmI1ZWEwZjc4YTMKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgT2N0IDE1IDE3OjQ3OjEzIDIwMDkgKzA0MDAKKworICAgIG1wYzg1eHg6IENvbmZpZ3VyZSBRRSBVQVJUIGZvciBNUEM4NTY5RS1NRFMgYm9hcmRzCisKKyAgICBUbyBtYWtlIFFFIFVBUlQgdXNhYmxlIGJ5IExpbnV4IHdlIHNob3VsZCBzZXR1cCBwaW4gbXVsdGlwbGV4aW5nCisgICAgYW5kIHR1cm4gVUNDMiBFdGhlcm5ldCBub2RlIGludG8gVUNDMiBRRSBVQVJUIG5vZGUuCisKKyAgICBBbHNvLCBRRSBVQVJUIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIFVBUlQwLCBzbyB3ZSBjYW4ndCBlbmFibGUKKyAgICBpdCBpZiBlU0RIQyBpcyBpbiA0LWJpdHMgbW9kZSBvbiBwaWxvdCBib2FyZHMsIG9yIGlmIGl0J3MgYSBwcm90b3R5cGUKKyAgICBib2FyZCB3aXRoIGVTREhDIGluIDEtIG9yIDQtYml0cyBtb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDcwZDY2NWIxZDIzMGI5NTc1YTY0Nzk0OGU4ZGIzZGExZTY3NDNlNWMKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgT2N0IDE1IDE3OjQ3OjExIDIwMDkgKzA0MDAKKworICAgIG1wYzg1eHg6IFNldHVwIFFFIHBpbm11eCBmb3IgU1BJIEZsYXNoIG9uIE1QQzg1NjlFLU1EUyBib2FyZHMKKworICAgIFNQSSBGbGFzaCAoTTI1UDQwKSBpcyBjb25uZWN0ZWQgdG8gdGhlIFNQSTEgYnVzLCB3ZSBuZWVkIGEgZmV3CisgICAgcWVfaW9wIGVudHJpZXMgdG8gYWN0dWFsbHkgZW5hYmxlIFNQSTEgb24gdGhlc2UgYm9hcmRzLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDY1ZGVjM2I0NTk5YTE3ZTgzZWM2OWRmZDA1OWU0ZWExZTc5NWVmMzcKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgT2N0IDE1IDE3OjQ3OjA5IDIwMDkgKzA0MDAKKworICAgIG1wYzg1eHg6IFNldHVwIFNSSU8gbWVtb3J5IHJlZ2lvbiBMQVcgZm9yIE1QQzg1NjlFLU1EUyBib2FyZHMKKworICAgIFRoaXMgcGF0Y2ggc2V0cyBtZW1vcnkgd2luZG93IGZvciBTZXJpYWwgUmFwaWRJTyBvbiBNUEM4NTY5RS1NRFMKKyAgICBib2FyZHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYTI5MTU1ZTEyMjg2Y2M1ZWMyZGY3MmMxY2FiMjhlMzY1OWJmZGFkNQorQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVRodSBPY3QgMTUgMTc6NDc6MDggMjAwOSArMDQwMAorCisgICAgbXBjODV4eDogQWRkIGVMQkMgTkFORCBzdXBwb3J0IGZvciBNUEM4NTY5RS1NRFMgYm9hcmRzCisKKyAgICBTaW1wbHkgYWRkIHNvbWUgZGVmaW5lcywgYW5kIGFkanVzdCBUTEJlIHNldHVwIHRvIGluY2x1ZGUgc29tZQorICAgIHNwYWNlIGZvciBlTEJDIE5BTkQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgN2Y1MmVkNWVmMWI0OTBkYTI4MmFjZTMzMTZiZTM4MWE2YWJmOTZhNQorQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVRodSBPY3QgMTUgMTc6NDc6MDYgMjAwOSArMDQwMAorCisgICAgbXBjODV4eDogQWRkIGVTREhDIHN1cHBvcnQgZm9yIE1QQzg1NjlFLU1EUyBib2FyZHMKKworICAgIGVTREhDIGlzIG11dHVhbGx5IGV4bHVzaXZlIHdpdGggVUFSVDAgKGluIDQtYml0cyBtb2RlKSBhbmQgSTJDMgorICAgIChpbiAxLWJpdCBtb2RlKS4gV2hlbiBlU0RIQyBpcyB1c2VkLCB3ZSBzaG91bGQgc3dpdGNoIHUtYm9vdCBjb25zb2xlIHRvCisgICAgVUFSVDEsIGFuZCBtYWtlIHRoZSBwcm9wZXIgZGV2aWNlLXRyZWUgZml4dXBzLgorCisgICAgQmVjYXVzZSBvZiBhbiBlcnJhdHVtIGluIHByb3RvdHlwZSBib2FyZHMgaXQgaXMgaW1wb3NzaWJsZSB0byB1c2UgZVNESEMKKyAgICB3aXRob3V0IGRpc2FibGluZyBVQVJUMCAod2hpY2ggbWFrZXMgaXQgcXVpdGUgZWFzeSB0byAnYnJpY2snIHRoZSBib2FyZAorICAgIGJ5IHNpbXBseSBpc3N1bmcgJ3NldGVudiBod2NvbmZpZyBlc2RoYycsIGFuZCBub3QgYWJsZSB0byBpbnRlcmFjdCB3aXRoCisgICAgVS1Cb290IGFueWxvbmdlcikuCisKKyAgICBTbywgYnV0IGRlZmF1bHQgd2UgYXNzdW1lIHRoYXQgdGhlIGJvYXJkIGlzIGEgcHJvdG90eXBlLCB3aGljaCBpcyBhIG1vc3QKKyAgICBzYWZlIGFzc3VtcHRpb24uIFRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgYm9hcmQgcmV2aXNpb24gZnJvbSBhCisgICAgcmVnaXN0ZXIsIHNvIHdlIHVzZSBod2NvbmZpZy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA0ODYxODEyNmY3OGYwNTA0MmRhZTQyODgxMTgwOWI1OTRmNzQ3ZWI5CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgT2N0IDIzIDE1OjU1OjQ4IDIwMDkgLTA1MDAKKworICAgIHhwZWRpdGU1MzcwOiBFbmFibGUgbXVsdGktY29yZSBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA1Y2NkMjljMzY3OWIzNjY5YjBiZGU1YzUwMWMxYWEwZjMyNWE3YWNiCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgT2N0IDIzIDE1OjU1OjQ3IDIwMDkgLTA1MDAKKworICAgIDg1eHg6IE1QIEJvb3QgUGFnZSBUcmFuc2xhdGlvbiB1cGRhdGUKKworICAgIFRoaXMgY2hhbmdlIGhhcyAzIGdvYWxzOgorICAgIC0gSGF2ZSBzZWNvbmRhcnkgY29yZXMgYmUgcmVsZWFzZWQgaW50byBzcGluIGxvb3BzIGF0IHRoZWlyICd0cnVlJworICAgICAgYWRkcmVzcyBpbiBTRFJBTS4gIFByZXZpb3VzbHksIHNlY29uZGFyeSBjb3JlcyB3ZXJlIHB1dCBpbnRvIHNwaW4KKyAgICAgIGxvb3BzIGluIHRoZSAweGZmZmZmeHh4IGFkZHJlc3MgcmFuZ2Ugd2hpY2ggcmVxdWlyZWQgdGhhdCBib290IHBhZ2UKKyAgICAgIHRyYW5zbGF0aW9uIHdhcyBhbHdheXMgZW5hYmxlZCB3aGlsZSBjb3JlcyB3ZXJlIGluIHRoZWlyIHNwaW4gbG9vcHMuCisKKyAgICAtIEFsbG93IHRoZSBUTEIgd2luZG93IHRoYXQgdGhlIHByaW1hcnkgY29yZSB1c2VzIHRvIGFjY2VzcyB0aGUKKyAgICAgIHNlY29uZGFyeSBjb3JlcyBib290IHBhZ2UgdG8gYmUgcGxhY2VkIGF0IGFueSBhZGRyZXNzLiAgUHJldmlvdXNseSwgYQorICAgICAgVExCIHdpbmRvdyBhdCAweGZmZmZmMDAwIHdhcyBhbHdheXMgdXNlZCB0byBhY2Nlc3MgdGhlIHNlY29uYXJ5IGNvcmVzJworICAgICAgYm9vdCBwYWdlLiAgVGhpcyBUTEIgYWRkcmVzcyByZXF1aXJlbWVudCBvdmVybGFwcGVkIHdpdGggb3RoZXIKKyAgICAgIHBlcmlwaGVyYWxzIG9uIHNvbWUgYm9hcmRzIChlZyBYUGVkaXRlNTM3MCkuICBCeSBkZWZhdWx0LCB0aGUgYm9vdAorICAgICAgcGFnZSBUTEIgd2lsbCBzdGlsbCB1c2UgdGhlIDB4ZmZmZmZ4eHggYWRkcmVzcyByYW5nZSwgYnV0IHRoaXMgY2FuIGJlCisgICAgICBvdmVycmlkZGVuIG9uIGEgYm9hcmQtYnktYm9hcmQgYmFzaXMgYnkgZGVmaW5pbmcgYSBjdXN0b20KKyAgICAgIENPTkZJR19CUFRSX1ZJUlRfQUREUi4gIE5vdGUgdGhhdCB0aGUgVExCIHVzZWQgdG8gbWFwIHRoZSBib290IHBhZ2UKKyAgICAgIHJlbWFpbnMgaW4gdXNlIHdoaWxlIFUtQm9vdCBleGVjdXRlcy4gIFByZXZpb3VzbHkgaXQgd2FzIG9ubHkKKyAgICAgIHRlbXBvcmFyaWx5IHVzZWQsIHRoZW4gcmVzdG9yZWQgdG8gaXRzIGluaXRpYWwgdmFsdWUuCisKKyAgICAtIEFsbG93IEJvb3QgUGFnZSBUcmFuc2xhdGlvbiB0byBiZSBkaXNhYmxlZCBvbiBib290dXAuICBQcmV2aW91c2x5LAorICAgICAgQm9vdCBQYWdlIFRyYW5zbGF0aW9uIHdhcyBhbHdheXMgbGVmdCBlbmFibGVkIGFmdGVyIHNlY29uZGFyeSBjb3JlcworICAgICAgd2VyZSBicm91Z2h0IG91dCBvZiByZXNldC4gIFRoaXMgY2F1c2VkIHRoZSAweGZmZmZmeHh4IGFkZHJlc3MgcmFuZ2UKKyAgICAgIHRvIHNvbWV3aGF0ICJtYWdpY2FsbHkiIGJlIHRyYW5zbGF0ZWQgdG8gYW4gYWRkcmVzcyBpbiBTRFJBTS4gIFNvbWUKKyAgICAgIGJvYXJkcyBtYXkgbm90IHdhbnQgdGhpcyBvZGRpdHkgaW4gdGhlaXIgbWVtb3J5IG1hcCwgc28gZGVmaW5pbmcKKyAgICAgIENPTkZJR19NUEM4eHh4X0RJU0FCTEVfQlBUUiB3aWxsIHR1cm4gb2ZmIEJvb3QgUGFnZSBUcmFuc2xhdGlvbiBhZnRlcgorICAgICAgdGhlIHNlY29uZGFyeSBjb3JlcyBhcmUgaW5pdGlhbGl6ZWQuCisKKyAgICBUaGVzZSBjaGFuZ2VzIGFyZSBvbmx5IGFwcGxpY2FibGUgdG8gODV4eCBib2FyZHMgd2l0aCBDT05GSUdfTVAgZGVmaW5lZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDcwZWQ4NjllYTVmNmIxZDEzZDdiMTQwYzgzZWMwZGNkOGExMjdkZGMKK0F1dGhvcjogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorRGF0ZToJVHVlIE9jdCAyNyAxMjoxODo1NSAyMDA5ICswNTMwCisKKyAgICBwcGMvODV4eC9wY2k6IGZzbF9wY2lfaW5pdDogcGNpZSBhZ2VudCBtb2RlIHN1cHBvcnQKKworICAgIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBKYXNvbiBKaW4gYW5kIE1pbmdrYWkgSHUgZm9yIG1wYzg1MzYuCisKKyAgICBXaGVuIFFvcklRIGJhc2VkIGJvYXJkIGlzIGNvbmZpZ3VyZWQgYXMgYSBQQ0llIGFnZW50LCB0aGVuIHVubG9jay9lbmFibGUKKyAgICBpbmJvdW5kIFBDSSBjb25maWd1cmF0aW9uIGN5Y2xlcyBhbmQgaW5pdCBhIDRLIGluYm91bmQgbWVtb3J5IHdpbmRvdzsKKyAgICBzbyB0aGF0IGEgUENJZSBob3N0IGNhbiBhY2Nlc3MgdGhlIFBDSWUgYWdlbnRzIFNEUkFNIGF0IGFkZHJlc3MgMHgwCisKKyAgICAqIFN1cHBvcnRlZCBpbiBmc2xfcGNpX2luaXRfcG9ydCgpIGFmdGVyIGFkZGluZyBwY2llX2VwIGFzIGEgcGFyYW0KKyAgICAqIFJldmFtcGVkIGNvcHlyaWdodCBpbiBkcml2ZXJzL3BjaS9mc2xfcGNpX2luaXQuYworICAgICogTW9kcyBpbiA4NXh4IGJhc2VkIGJvYXJkIHNwZWNpZmljIHBjaSBpbml0IGFmdGVyIHRoaXMgY2hhbmdlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBWaXZlayBNYWhhamFuIDx2aXZlay5tYWhhamFuQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDI3M2EyOGFkOWVmNTlkY2ZjZDRjMDU2ZWMxZjYxZjFlMDg5NmNmYWEKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgT2N0IDI3IDA5OjM2OjM4IDIwMDkgKzA1MzAKKworICAgIDg1eHgvcDFfcDJfcmRiOiBGaXhpbmcgRERSIGNvbmZpZ3VyYXRpb24gZm9yIDgwME1IeiBkYXRhIHJhdGUKKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5MjQwMjRjMzk2NzYxYzI2N2I5NDhmMzhkNzhlOTkwNWYyMDM2NTAxCitBdXRob3I6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVHVlIE9jdCAyNyAwOToyNjo1NSAyMDA5ICswNTMwCisKKyAgICA4NXh4L3AxX3AycmRiOiBGaXggY3Jhc2ggd2hpbGUgY29uZmlndXJpbmcgMzIgYml0IEREUiBpL2YgZm9yIFAxMDIwUkRCLgorCisgICAgVGhlIGRhdGEgYmVpbmcgbW9kaWZpZWQgd2FzIGluIE5PUiBmbGFzaCB3aGljaCBjYXVzZWQgdGhlIGNyYXNoLgorCisgICAgU2lnbmVkLW9mZi1ieTogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDNlMzAzZjc0OGNmNTdmYjIzZThlYzk1YWI3ZWFjMDA3NGJlNTBlMmIKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgT2N0IDE1IDE3OjQ3OjA0IDIwMDkgKzA0MDAKKworICAgIGZkdF9zdXBwb3J0OiBBZGQgbXVsdGktc2VyaWFsIHN1cHBvcnQgZm9yIHN0ZG91dCBmaXh1cAorCisgICAgQ3VycmVudGx5IGZkdF9maXh1cF9zdGRvdXQoKSBpcyB1c2luZyBoYXJkLWNvZGVkIENPTkZJR19DT05TX0lOREVYCisgICAgY29uc3RhbnQuIFdpdGggbXVsdGktc2VyaWFsIHN1cHBvcnQsIHRoZSBDT05TX0lOREVYIG1heSBubyBsb25nZXIKKyAgICByZXByZXNlbnQgYWN0dWFsIGNvbnNvbGUsIHNvIHdlIHNob3VsZCB0cnkgdG8gZXh0cmFjdCBwb3J0IG51bWJlcgorICAgIGZyb20gdGhlIGN1cnJlbnQgc3RkaW8gZGV2aWNlIG5hbWUgaW5zdGVhZCBvZiBhbHdheXMgaGFyZC1jb2RpbmcgdGhlCisgICAgY29uc3RhbnQgdmFsdWUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBBY2tlZC1ieTogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZGEwZTVmN2VlODI4ZjI0NmQ4NTk5NzQ4NmZmZjMwODgzNzA2OTQ1MworQXV0aG9yOiBMZW9uIFdvZXN0ZW5iZXJnIDxsZW9uLndvZXN0ZW5iZXJnQGdtYWlsLmNvbT4KK0RhdGU6CU1vbiBPY3QgMjYgMTA6MDM6MzIgMjAwOSArMDEwMAorCisgICAgcHBjLzg1eHg6IEZpeCBjcmFzaGVzIGR1ZSB0byBnZW5lcmF0aW9uIG9mIFNQRSBpbnN0cnVjdGlvbgorCisgICAgVS1Cb290IGNyYXNoZWQgb24gdGhlIGxhc3QgaW5zdHJ1Y3Rpb246CisKKyAgICBpbnQgcGFyc2Vfc3RyZWFtX291dGVyKHN0cnVjdCBpbl9zdHIgKmlucCwgaW50IGZsYWcpCisgICAgeworICAgIGVmZmE0Nzg0OgkgICAgOTQgMjEgZmYgMzggICAgIHN0d3UgICAgcjEsLTIwMChyMSkKKyAgICBlZmZhNDc4ODoJICAgIDdjIDA4IDAyIGE2ICAgICBtZmxyICAgIHIwCisgICAgZWZmYTQ3OGM6CSAgICA0MiA5ZiAwMCAwNSAgICAgYmNsLSAgICAyMCw0KmNyNytzbyxlZmZhNDc5MCA8cGFyc2Vfc3RyZWFtX291dGVyKzB4Yz4KKyAgICBlZmZhNDc5MDoJICAgIDdkIDgwIDAwIDI2ICAgICBtZmNyICAgIHIxMgorICAgIGVmZmE0Nzk0OgkgICAgMTMgYzEgYjMgMjEgICAgIGV2c3RkZCAgcjMwLDE3NihyMSkKKworICAgIC4uLndoaWNoIGlzIGEgIFNQRSBpbnN0cnVjdGlvbiwgYWx0aG91Z2ggLW1uby1zcGUgd2FzIHVzZWQuCisKKyAgICB0bXAvY3Jvc3MvcHBjZTUwMHYyL2Jpbi9wb3dlcnBjLWFuZ3N0cm9tLWxpbnV4LWdudXNwZS1nY2MgLS12ZXJzaW9uCisgICAgcG93ZXJwYy1hbmdzdHJvbS1saW51eC1nbnVzcGUtZ2NjIChHQ0MpIDQuMy4zCisKKyAgICBTZWVtcyB0byBiZSBhIGtub3duIGlzc3VlIChzaW5jZSAyMDA4LTA0PyEpCisKKyAgICBHb29nbGVkIHNvbWUsIHR1cm5zIG91dCB0aGlzIHBhdGNoL3dvcmthcm91bmQgd29ya3MgZm9yIG1lIG9uIE1QQzg1MzZEUy4KKworICAgIFNlZSBodHRwOi8vZ2NjLmdudS5vcmcvbWwvZ2NjLXBhdGNoZXMvMjAwOC0wNC9tc2cwMDMxMS5odG1sIGZvciBtb3JlIGluZm8KKworICAgIFNpZ25lZC1vZmYtYnk6IExlb24gV29lc3RlbmJlcmcgPGxlb25Ac2lkZWJyYW5jaC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDY1NGVhMWYzMTg0MjM1Njk0MzA2ZGRjNTg3NGJhYTI3YWQzMDE4ZmUKK0F1dGhvcjogRGF2ZSBMaXUgPGRhdmVsaXVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBPY3QgMjIgMDA6MTA6MjMgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IE1ha2UgTDIgc3VwcG9ydCBtb3JlIHJvYnVzdAorCisgICAgQWNjb3JkaW5nIHRoZSB1c2VyIG1hbnVhbCwgd2UgbmVlZCBsb29wLWNoZWNrIHRoZSBMMiBlbmFibGUgYml0IHNldC4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDYxM2FkMjhjM2RhNGM3ZmM2MzM2ZWY5ZDk0OTkzYjI1YTVkMDU4NmUKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CU1vbiBPY3QgMjYgMjE6MjE6MjUgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIG5hbmRfc3BsLy4uLi9wMV9wMl9yZGIvbmFuZF9ib290LmMKKworICAgIG5hbmRfYm9vdC5jOiBJbiBmdW5jdGlvbiAnYm9hcmRfaW5pdF9mJzoKKyAgICBuYW5kX2Jvb3QuYzo0NDogd2FybmluZzogJ3N5c19jbGsnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGU4OTY3ZDk2YTBlOGQwOWQ5MWEzYjdiZDI5Mjc0Njk5NmRkOGU3YWMKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CU1vbiBPY3QgMjYgMjE6MTg6MzMgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEZpeCBidWlsZGluZyBOQU5EX1NQTCBvdXQgb2YgdHJlZQorCisgICAgV2UgbmVlZCB0byBzb3VyY2UgZmlsZXMgdG8gZXhpc3QgaW4gdGhlIE89PEZPTz4gbmFuZF9zcGwgZGlyIHdoZW4KKyAgICB3ZSBidWlsZCBvdXQgb2YgdHJlZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBmM2VlMjU4NTllMzkyMGVlN2M3Y2M1MTlhM2U2ZjYwZDcwZDdhNTNmCitBdXRob3I6IE1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QuZXU+CitEYXRlOglGcmkgT2N0IDIzIDEwOjUyOjM4IDIwMDkgKzAyMDAKKworICAgIExpY2Vuc2UgY2xlYW51cDogRml4IGxpY2Vuc2UgaGVhZGVyIGZvciBzb21lIGVzZCBkaXNwbGF5IGNvbmZpZ3VyYXRpb25zCisKKyAgICBUaGVzZSBmaWxlcyB3ZXJlIGF1dG9nZW5lcmF0ZWQgYnkgRVBTT04gY29uZmlndXJhdGlvbiB0b29scy4KKyAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBhdXRvZ2VuZXJhdGVkIGZpbGUgaGVhZGVycyBieSB0aGUgR1BMCisgICAgbGljZW5zZSBub3RpY2UuCisKKyAgICBUaGlzIGNoYW5nZSBpcyBkb25lIHdpdGggdGhlIGV4cGxpY2l0IHBlcm1pc3Npb24KKyAgICBvZiBFcHNvbiBSZXNlYXJjaCAmIERldmVsb3BtZW50IC8gSUMgU29mdHdhcmUgRGV2ZWxvcG1lbnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorCitjb21taXQgNDE2NmVlNThkMzBhZGE3YjI5OGI5Yzk0MTA2N2YwMzQxYzJkY2NiZQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglGcmkgT2N0IDkgMTc6MTI6NDQgMjAwOSAtMDQwMAorCisgICAgc2Y6IGFkZCBHUEwtMiBsaWNlbnNlIGluZm8KKworICAgIFNvbWUgb2YgdGhlIG5ldyBzcGkgZmxhc2ggZmlsZXMgd2VyZSBtaXNzaW5nIGV4cGxpY2l0IGxpY2Vuc2UgbGluZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgQ0M6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IGQ1MzVhNDkzMDA0ZmI3MDFmMTMxYjEzMjQwMmE3NzA0ZjljOTM0MmQKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVdlZCBPY3QgMjEgMjM6Mjk6NTEgMjAwOSAtMDUwMAorCisgICAgZmR0OiBGaXggZmR0IHBhZGRpbmcgaXNzdWUgZm9yIGluaXRyZCBtZW1fcnN2CisKKyAgICBJdHMgcG9zc2libGUgdGhhdCB3ZSBlbmQgdXAgd2l0aCBhIGRldmljZSB0cmVlIHRoYXQgaGFwcGVucyB0byBiZSBhCisgICAgcGFydGljdWxhciBzaXplIHRoYXQgYWZ0ZXIgd2UgY2FsbCBmZHRfcmVzaXplKCkgd2UgZG9uJ3QgaGF2ZSBhbnkKKyAgICBzcGFjZSBsZWZ0IGZvciB0aGUgaW5pdHJkIG1lbV9yc3YuCisKKyAgICBGaXggdGhpcyBiZSBhZGRpbmcgYSBzZWNvbmQgbWVtX3JzdiBpbnRvIHRoZSBzaXplIGNhbGN1bGF0aW9uLiAgV2UKKyAgICBoYWQgb25lIHRvIGNvdmVyIHRoZSBmZHQgaXRzZWxmIGFuZCB3ZSBoYXZlIHRoZSBwb3RlbnRpYWwgb2YgYWRkaW5nCisgICAgYSBzZWNvbmQgZm9yIHRoZSBpbml0cmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorICAgIEFja2VkLWJ5OiBHZXJhbGQgVmFuIEJhcmVuIDx2YW5iYXJlbkBjaWRlYXMuY29tPgorCitjb21taXQgNGJjM2QyYWZiMzgwZTc4ZmRiYjljNTAxZDlhOGRhNmQ1OWViMTc4ZQorQXV0aG9yOiBTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KK0RhdGU6CVR1ZSBPY3QgMjAgMTg6MjE6MTggMjAwOSArMDIwMAorCisgICAgQVJNOiBPTUFQMzogUmVmYWN0b3JzIHRoZSBTTTkxMXggZHJpdmVyCisKKyAgICBNb3ZlIHRoZSB0ZXN0IHVwIGluIHRoZSBmdW5jdGlvbiB0byBub3QgaGFuZyBvbiBzeXN0ZW1zIHdpdGhvdXQgZXRoZXJuZXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KKyAgICBBY2tlZC1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IGYzODA3Mzc0Nzg3ZTQzOTRlZmI3NjdlMmU4NTI3ODg3ZjU3ZTUxYjgKK0F1dGhvcjogTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgorRGF0ZToJVGh1IE9jdCAxNSAxMToxOToxNSAyMDA5ICswOTAwCisKKyAgICBzNXBjMXh4OiBTTURLQzEwMDogZml4IGNvbXBpbGUgd2FybmluZ3MKKworICAgIGZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgd2FybmluZ3MKKyAgICB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KKworY29tbWl0IDgwMDNjMzYxZGVlYzNlZTY1MTQ1MTY2MmVmZDA1MzUyZjFhYmRkNDAKK0F1dGhvcjogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorRGF0ZToJVHVlIE9jdCA2IDA4OjQ0OjIyIDIwMDkgKzAyMDAKKworICAgIGFybTkyNmVqczogOC1ieXRlIGFsaWduIHN0YWNrIHRvIGF2b2lkIExEUkQvU1RSRCBwcm9ibGVtcworCisgICAgVS1ib290IGZvciBNYXJ2ZWxsIEtpcmt3b29kIGJvYXJkcyBubyBsb25nZXIgd29yayBhZnRlciB0aGUgRUFCSSBjaGFuZ2VzCisgICAgaW50cm9kdWNlZCBpbiBjb21taXQgZjc3MmFjZjhhNTg0MDY3MDMzZWZmMWUyMzFmY2QxZmIzYTAwZDNkOS4gVGhpcworICAgIHR1cm5zIG91dCB0byBiZSBjYXVzZWQgYnkgYSBzdGFjayBhbGlnbm1lbnQgaXNzdWUuIFRoZSBhcm12NXRlCisgICAgaW5zdHJ1Y3Rpb25zIGxkcmQvc3RyZCBpbnN0cnVjdGlvbnMgcmVxdWlyZSA4LWJ5dGUgYWxpZ25tZW50IHRvIHdvcmsKKyAgICBwcm9wZXJseSAob3RoZXJ3aXNlIHVuZGVmaW5lZCBiZWhhdmlvcikuCisKKyAgICBUZXN0ZWQgb24gYW4gT3BlblJEIGJhc2UgYm9hcmQsIHdoZXJlIGJvdGggcHJpbnRvdXRzIGFuZCB1YmlmcyBzdHVmZiBub3cKKyAgICB3b3Jrcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKworY29tbWl0IGU2M2U1OTA0YjQ4NTI4ZjNmM2NjOTgzMTdkZjZmYzYyZmFiMjViZjkKK0F1dGhvcjogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorRGF0ZToJU2F0IE9jdCAxNyAxMjo0MTowNiAyMDA5IC0wNTAwCisKKyAgICBUSSBPTUFQMyBTRFAzNDMwOiBJbml0aWFsIFN1cHBvcnQKKworICAgIFN0YXJ0IG9mIHN1cHBvcnQgb2YKKyAgICBUZXhhcyBJbnN0cnVtZW50cyBTb2Z0d2FyZSBEZXZlbG9wbWVudCBQbGF0Zm9ybShTRFApCisgICAgZm9yIE9NQVAzNDMwIC0gU0RQMzQzMAorCisgICAgSGlnaGxpZ2h0cyBvZiB0aGlzIHBsYXRmb3JtIGFyZToKKyAgICBGbGFzaCBNZW1vcnkgZGV2aWNlczoKKwlTaWJsZXkgTk9SLCBNaWNyb24gOGJpdCBOQU5EIGFuZCBPbmVOQU5ECisgICAgQ29ubmVjdGl2aXR5OgorCTMgVUFSVHMgYW5kIGV4cGFuZGVkIDQgVUFSVCBwb3J0cyArIElyREEKKwlFdGhlcm5ldCwgVVNCCisgICAgT3RoZXIgcGVyaXBoZXJhbHM6CisJVFdMNTAzMCBQTUlDK0F1ZGlvK0tleXBhZAorCVZHQSBkaXNwbGF5CisgICAgRXhwYW5zaW9uIHBvcnRzOgorCU1lbW9yeSBkZXZpY2VzIHBsdWdpbiBib2FyZHMgKFBJU01PKQorCUNvbm5lY3Rpdml0eSBib2FyZCBmb3IgR1BTLFdMQU4gZXRjLgorICAgIENvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJvb3Qgc2VxdWVuY2UgYW5kIGRldmljZSBtYXBwaW5nCisgICAgZXRjLgorCisgICAgU3VwcG9ydCBkZWZhdWx0IGp1bXBlcmluZyBhbmQ6CisgICAgIC0gVUFSVDEvdHR5UzAgY29uc29sZShsZWdhY3kgc2RwMzQzMCB1LWJvb3QpCisgICAgIC0gVUFSVDMvdHR5UzIgY29uc29sZSAobWF0Y2hpbmcgb3RoZXIgYm9hcmRzLAorCQkgYW5kIFNEUCBIVyBkb2NzKQorICAgICAtIEV0aGVybmV0CisgICAgIC0gbW1jMAorICAgICAtIE5PUiBib290CisKKyAgICBDdXJyZW50bHkgdGhlIFVBUlQxIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4JZm9yCisgICAgY29tcGF0aWJpbGl0eSB3aXRoIG90aGVyIE9NQVAzIHUtYm9vdCBwbGF0Zm9ybXMsCisgICAgZW5hYmxlIHRoZSAjZGVmaW5lIG9mIENPTlNPTEVfSjkuCisKKyAgICBDb25mbGljdHM6CisKKwlNYWtlZmlsZQorCisgICAgRml4ZWQgdGhlIGNvbmZsaWN0IHdpdGggc21ka2MxMDBfY29uZmlnIGJ5IG1vdmluZyBvbWFwX3NkcDM0MzBfY29uZmlnCisgICAgdG8gaXQgaXMgYWxwaGFiZXRpY2FsbHkgc29ydGVkIGxvY2F0aW9uIGFib3ZlIHpvb20xLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgQnJvd25lbGwgPGRhdmlkLWJAcGFjYmVsbC5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogTmlzaGFudGggTWVub24gPG5tQHRpLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBhNDQ3NGZmODYyOWJlNWYyOGFlZmI4YTlmNDhkNDQxMWQ2MmZiMGQyCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVR1ZSBPY3QgMTMgMTk6MzU6MTEgMjAwOSAtMDQwMAorCisgICAgVEkgRGFWaW5jaTogQWRkaW5nIENvcHlyaWdodCBmb3IgRE0zNjUgRVZNCisKKyAgICBGb3Jnb3QgdG8gYWRkIENvcHlyaWdodCB3aGlsZSBzdWJtaXR0aW5nIHRoZSBwYXRjaC4KKyAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIGNvcHlyaWdodC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IDExYjAxMDIyMThiYmI1MGFjNWMwNGYxNTIxZjJhMjJlZDRlOTBjZjEKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJVHVlIE9jdCAxMyAxMjozMjozMiAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpOiBGaXggRE02NDY3IEVWTSBDb21waWxhdGlvbiBXYXJuaW5nCisKKyAgICBEdWUgdG8gbmV3IFRJIGJvYXJkcyBiZWluZyBhZGRlZCB0byBVLUJvb3QsIHRoZSBoYXJkd2FyZS5oCisgICAgaXMgZ2V0dGluZyB2ZXJ5IG1lc3N5LiBUaGUgd2FybmluZyBiZWluZyBmaXhlZCBpcyBkdWUgdG8KKyAgICB0aGUgRU1JRiBhZGRyZXNzZXMgYmVpbmcgcmVkZWZpbmVkLgorCisgICAgVGhlIGxvbmcgdGVybSBzb2x1dGlvbihhZnRlciAyMDA5LjExKSB0byB0aGlzIGlzIHRvCisgICAgaGF2ZSBTT0Mgc3BlY2lmaWMgaGVhZGVyIGZpbGVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgZmFjMWVmNGJhNjg1NjA2YmYyODM0OWQxOGUwNTBlYTA4YjUwZTY2OQorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglUdWUgT2N0IDEzIDEyOjAxOjUyIDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2k6IERNMzU1IExlb3BhcmQ6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5nCisKKyAgICBXZSBnZXQgYSBjb21wbGlhdGlvbiB3YXJuaW5nIHdoZW4gd2UgZW5hYmxlIHRoZSBOQU5EIGRyaXZlcgorICAgIGZvciBETTM1NSBsZW9wYXJkLiBUaGUgd2FyaW5nIHdlIGdldCBpcyB0aGF0IHdlIGhhdmUKKyAgICBhbiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBkYXZpbmNpX25hbmRfaW5pdC4KKworICAgIEl0IGlzIGZpeGVkIGJ5IGluY2x1ZGluZyB0aGUgYXNtL2FyY2gvbmFuZF9kZWZzLmggaGVhZGVyIGZpbGUKKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IGY4YTgxMmFhNjU2YmMzNDYyMjMwM2EyNmZhNTAwM2QxOWMzNGFlZWQKK0F1dGhvcjogTmlzaGFudGggTWVub24gPG5tQHRpLmNvbT4KK0RhdGU6CVR1ZSBPY3QgMTMgMTI6NDk6NTUgMjAwOSAtMDQwMAorCisgICAgVEkgT01BUDM6IG1ha2UgZ3BtY19jb25maWcgYXMgY29uc3QKKworICAgIGdwbWNfY29uZmlnIHNob3VsZCBub3QgYmUgYSB2YXJpYW50IGFzIGl0IGlzIGJvYXJkIHNwZWNpZmljCisgICAgaGVuY2UgbWFrZSBpdCBhIGNvbnN0IHBhcmFtZXRlcgorCisgICAgRml4ZXMgaXNzdWVzIGlkZW50aWZpZWQgYnkgRGlyazoKKyAgICAtIGJ1aWxkIGlzc3VlIGZvciB6b29tMgorICAgIC0gd2FybmluZ3MgZm9yIGFsbCBvdGhlciBPTUFQMyBwbGF0Zm9ybXMgdXNpbmcgbmFuZC9vbmVuYW5kIGV0YworCisgICAgU2lnbmVkLW9mZi1ieTogTmlzaGFudGggTWVub24gPG5tQHRpLmNvbT4KKworY29tbWl0IGNmYzI1ODc0NjI0YTMyOGY1M2FkNTliMTIwNmUyMTAzZjJlNjJkNzQKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIE9jdCAxOSAxNjoxOTozNiAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFNlcXVvaWE6IEFkZCBjaGlwX2NvbmZpZyBjb21tYW5kCisKKyAgICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIFNlcXVvaWEgImJvb3RzdHJhcCIgY29tbWFuZCBhbmQgcmVwbGFjZXMgaXQKKyAgICB3aXRoIHRoZSBub3cgY29tbW9uIGNvbW1hbmQgImNoaXBfY29uZmlnIi4KKworICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlIHBhdGNoZXMgd2l0aCB0aGUgZHluYW1pYyBQQ0kgc3luYyBjbG9jaworICAgIGNvbmZpZ3VyYXRpb24gaGF2ZSB0byBiZSBhcHBsaWVkLCBiZWZvcmUgdGhpcyBvbmUgc2hvdWxkIGdvIGluLgorICAgIFRoaXMgaXMgYmVjYXVzZSBTZXF1b2lhIGhhcyAyIGRpZmZlcmVudCBib290c3RyYXAgRUVQUk9NcywgYW5kCisgICAgdGhlIG9sZCBib290c3RyYXAgY29tbWFuZCBjb25maWd1cmVkIGRpZmZlcmVudCB2YWx1ZXMgZGVwZW5kaW5nCisgICAgb24gdGhlIGRldGVjdGVkIFBDSSBhc3luYyBjbG9jayAoMzMgdnMuIDY2TUh6KS4gV2l0aCB0aGUgUENJIHN5bmMKKyAgICBjbG9jayBwYXRjaGVzLCB0aGlzIGlzIG5vdCBuZWNlc3NhcnkgYW55bW9yZS4gVGhlIFBDSSBzeW5jIGNsb2NrCisgICAgd2lsbCBiZSBjb25maWd1cmVkIGNvcnJlY3RseSBvbi10aGUtZmx5IG5vdy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGM4NWI1ODM5NzAzMGUyNWUxNDZjY2Y1MDg1Yzg2MjIxYzQwYzUzYjMKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIE9jdCAxOSAxNDoxNDowOCAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFlvc2VtaXRlL1llbGxvd3N0b25lOiBDaGVjayBhbmQgcmVjb25maWd1cmUgdGhlIFBDSSBzeW5jIGNsb2NrCisKKyAgICBUaGlzIHBhdGNoIG5vdyB1c2VzIHRoZSA0NDBFUCh4KS9HUih4KSBmdW5jdGlvbiB0byBjaGVjayBhbmQgZHluYW1pY2FsbHkKKyAgICByZWNvbmZpZ3VyZSB0aGUgUENJIHN5bmMgY2xvY2suCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCAyM2M1MWEyZDYzOTNjZDNiZTllYjYyY2I0MmQ5MjEzOGZmNmRiOGE5CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBPY3QgMTkgMTQ6MTA6NTAgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBTZXF1b2lhL1JhaW5lcjogQ2hlY2sgYW5kIHJlY29uZmlndXJlIHRoZSBQQ0kgc3luYyBjbG9jaworCisgICAgVGhpcyBwYXRjaCBub3cgdXNlcyB0aGUgNDQwRVAoeCkvR1IoeCkgZnVuY3Rpb24gdG8gY2hlY2sgYW5kIGR5bmFtaWNhbGx5CisgICAgcmVjb25maWd1cmUgdGhlIFBDSSBzeW5jIGNsb2NrLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgMDhjNmEyNjI4NDc4YWNlODA4YjM3NjdkYjE3ZTQxNDhjYWM1YTdmYgorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglNb24gT2N0IDE5IDE0OjQ0OjExIDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogUHJpbnQgUENJIHN5bmNocm9ub3VzIGNsb2NrIGZyZXF1ZW5jeSB1cG9uIGJvb3R1cAorCisgICAgU29tZSA0eHggdmFyaWFudHMgKGUuZy4gNDQwRVAoeCkvR1IoeCkpIGhhdmUgYW4gaW50ZXJuYWwKKyAgICBzeW5jaHJvbm91cyBQQ0kgY2xvY2suIEtub3dsZWRnZSBhYm91dCB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQKKyAgICB2YWx1ZSBtaWdodCBiZSBoZWxwZnVsLiBTbyBsZXQncyBwcmludCBpdCBvdXQgdXBvbiBib290dXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA1ZTQ3Zjk1MzVmNTNmZDRjYzA1ZjMyZmI2MTY2ODcwZjk3NmZiYjRlCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBPY3QgMTkgMTQ6MDY6MjMgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBBZGQgZnVuY3Rpb24gdG8gY2hlY2sgYW5kIGR5bmFtaWNhbGx5IGNoYW5nZSBQQ0kgc3luYyBjbG9jaworCisgICAgUFBDNDQwRVAoeCkvUFBDNDQwR1IoeCk6CisgICAgSW4gYXN5bmNocm9ub3VzIFBDSSBtb2RlLCB0aGUgc3luY2hyb25vdXMgUENJIGNsb2NrIG11c3QgbWVldAorICAgIGNlcnRhaW4gcmVxdWlyZW1lbnRzLiBUaGUgZm9sbG93aW5nIGVxdWF0aW9uIGRlc2NyaWJlcyB0aGUKKyAgICByZWxhdGlvbnNoaXAgdGhhdCBtdXN0IGJlIG1haW50YWluZWQgYmV0d2VlbiB0aGUgYXN5bmNocm9ub3VzIFBDSQorICAgIGNsb2NrIGFuZCBzeW5jaHJvbm91cyBQQ0kgY2xvY2suIFNlbGVjdCBhbiBhcHByb3ByaWF0ZSBQQ0k6UExCCisgICAgcmF0aW8gdG8gbWFpbnRhaW4gdGhlIHJlbGF0aW9uc2hpcDoKKworICAgIEFzeW5jUENJQ2xrIC0gMU1IeiA8PSBTeW5jUENJY2xvY2sgPD0gKDIgKiBBc3luY1BDSUNsaykgLSAxTUh6CisKKyAgICBUaGlzIHBhdGNoIG5vdyBhZGRzIGEgZnVuY3Rpb24gdG8gY2hlY2sgYW5kIHJlY29uZmlndXJlIHRoZSBzeW5jCisgICAgUENJIGNsb2NrIHRvIG1lZXQgdGhpcyByZXF1aXJlbWVudC4gVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICBzb21lIEFNQ0MgYm9hcmRzIChTZXF1b2lhL1JhaW5pZXIgYW5kIFlvc2VtaXRlL1llbGxvd3N0b25lKSB1c2luZyB0aGlzCisgICAgZnVuY3Rpb24gdG8gbm90IHZpb2xhdGUgdGhlIFBDSSBjbG9ja2luZyBydWxlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDkyYjg5NjRiZWQwZDFiNzc5ZDllMjZiZTRlMTY3NTViNWM2MzU0MTUKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJRnJpIE9jdCAxNiAxMDowMTowOSAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFVwZGF0ZSBmbGFzaCBzaXplIGluIHJlZyBwcm9wZXJ0eSBvZiB0aGUgTk9SIGZsYXNoIG5vZGUKKworICAgIFRpbGwgbm93IG9ubHkgdGhlIHJhbmdlcyBpbiB0aGUgZWJjIG5vZGUgYXJlIHVwZGF0ZWQgd2l0aCB0aGUgdmFsdWVzCisgICAgY3VycmVudGx5IGNvbmZpZ3VyZWQgaW4gdGhlIFBQQzR4eCBFQkMgY29udHJvbGxlci4gV2l0aCB0aGlzIHBhdGNoIG5vdworICAgIHRoZSBOT1IgZmxhc2ggc2l6ZSBpcyB1cGRhdGVkIGluIHRoZSBkZXZpY2UgdHJlZSBibG9iIGFzIHdlbGwuIFRoaXMgaXMKKyAgICBkb25lIGJ5IHNjYW5uaW5nIHRoZSBjb21wYXRpYmxlIG5vZGVzICJjZmktZmxhc2giIGFuZCAiamVkZWMtZmxhc2giCisgICAgZm9yIHRoZSBjb3JyZWN0IGNoaXAgc2VsZWN0IG51bWJlci4KKworICAgIFRoaXMgc2l6ZSBmaXh1cCBpcyBlbmFibGVkIGZvciBhbGwgQU1DQyBldmFsIGJvYXJkIHJpZ2h0IG5vdy4gT3RoZXIKKyAgICA0eHggYm9hcmRzIG1heSB3YW50IHRvIGVuYWJsZSBpdCBhcyB3ZWxsLCBpZiB0aGlzIHByb2JsZW0gd2l0aCBtdWx0aXBsZQorICAgIE5PUiBGTEFTSCBzaXplcyBleGlzdHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQ2M6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAzMGQ0NWMwZDNlYTIyMzFmOTEzMTI3NmVhMTEzNTk1OTU5YTA3MjBlCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CVdlZCBPY3QgMjEgMTE6NTk6NTIgMjAwOSArMDIwMAorCisgICAgZmR0OiBBZGQgZmR0X2ZpeHVwX25vcl9mbGFzaF9zaXplKCkgdG8gZml4dXAgTk9SIEZMQVNIIHNpemUgaW4gZHRiCisKKyAgICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHVwZGF0ZSB0aGUgc2l6ZSBpbiB0aGUgInJlZyIgcHJvcGVydHkKKyAgICBvZiB0aGUgTk9SIEZMQVNIIGRldmljZSBub2Rlcy4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIGJvYXJkcyB3aXRoCisgICAgbm9uLWZpeGVkIE5PUiBGTEFTSCBzaXplcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBBY2tlZC1ieTogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KKyAgICBBY2tlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDc2NzA2Y2I4NmIxYzc2OTU0ZmY1MzUzZGI2NzU3YWI5OWNmZDk1ZmIKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVR1ZSBPY3QgMjAgMjM6MTI6MTMgMjAwOSArMDIwMAorCisgICAgY3B1L3BwYzR4eC9mZHQuYzogYXZvaWQgc3RyY3B5KCkgdG8gY29uc3RhbnQgc3RyaW5nCisKKyAgICBzdHJjcHkoKSB3YXMgaXVzZWQgd2l0aCB0aGUgdGFyZ2V0IGFkZHJlc3MgYmVpbmcgYSBwb2ludGVyIHRvIGEKKyAgICBjb25zdGFudCBzdHJpbmcsIHdoaWNoIHBvdGVudGlhbGx5IGlzIHJlYWQtb25seS4gVXNlIGEgKHdyaXRhYmxlKQorICAgIGFycmF5IG9mIGNoYXJhY3RlcnMgaW5zdGVhZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgMGUxYWM5ODExOTRhYTBkOTJlZmYwOTM0NDQyY2VjNDhhNGY1NzgzNAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVHVlIE9jdCAyMCAyMzowNzowNCAyMDA5ICswMjAwCisKKyAgICBjcHUvcHBjNHh4L2ZkdC5jOiBhdm9pZCBzdHJjcHkoKSB0byBjb25zdGFudCBzdHJpbmcKKworICAgIHN0cmNweSgpIHdhcyBpdXNlZCB3aXRoIHRoZSB0YXJnZXQgYWRkcmVzcyBiZWluZyBhIHBvaW50ZXIgdG8gYQorICAgIGNvbnN0YW50IHN0cmluZywgd2hpY2ggcG90ZW50aWFsbHkgaXMgcmVhZC1vbmx5LiBVc2UgYSAod3JpdGFibGUpCisgICAgYXJyYXkgb2YgY2hhcmFjdGVycyBpbnN0ZWFkLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IGM1NTA5NmMwODQzMDhjMDhiZjg4OTFjMTkwZjkwYmRjM2EyMzIzOTQKK0F1dGhvcjogRGFuaWVsIE1hY2sgPGRhbmllbEBjYWlhcS5kZT4KK0RhdGU6CVdlZCBBcHIgOCAxMzoyMzozOCAyMDA5ICswMjAwCisKKyAgICBzbWM5MTF4OiBhZGQgc3VwcG9ydCBmb3IgTEFOOTIyMAorCisgICAgU2lnbmVkLW9mZi1ieTogRGFuaWVsIE1hY2sgPGRhbmllbEBjYWlhcS5kZT4KKyAgICBDYzogU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBmNjcwNjZiNmIwNzQwYjgyNmVkODYyNjE1YzVhYjAyMmFhZjQ3NzlhCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVN1biBPY3QgMTggMjA6NDM6MTQgMjAwOSAtMDQwMAorCisgICAgZW52Y3JjOiBjaGVjayByZXR1cm4gdmFsdWUgb2YgZndyaXRlKCkKKworICAgIE5ld2VyIHRvb2xjaGFpbnMgd2lsbCBvZnRlbiBjb21wbGFpbiBhYm91dCB1bmNoZWNrZWQgZndyaXRlKCk6CisJZW52Y3JjLmM6MTE3OiB3YXJuaW5nOiBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgYGZ3cml0ZbQsIGRlY2xhcmVkCisJCXdpdGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAorCisgICAgU28gY2hlY2sgdGhlIHJldHVybiB2YWx1ZSB0byBzaWxlbmNlIHRoZSB3YXJuaW5ncy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGVmZDk4OGViYWEyNDFiYWIyNjViMTUxMTA1MjM1MDIwN2NiN2FhYTAKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CU1vbiBPY3QgMTkgMDk6MTg6NTcgMjAwOSArMDIwMAorCisgICAgbWNjMjAwOiBmaXggYnVpbGQgZXJyb3IKKworICAgIEZpeCBjb21waWxlIGVycm9yOgorICAgIGluY2x1ZGUvY29uZmlncy9tY2MyMDAuaDo0MDE6NjogZXJyb3I6ICNlbGlmIHdpdGggbm8gZXhwcmVzc2lvbgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDRlMDUzOWQyNjk2OTkyYTVlMzI2NDNhMGM4MzFlODcwY2ZlOWEwMzYKK0F1dGhvcjogTmlzaGFudGggTWVub24gPG5tQHRpLmNvbT4KK0RhdGU6CVR1ZSBPY3QgMTMgMTI6NDc6MzkgMjAwOSAtMDQwMAorCisgICAgT01BUDM6IGZpeCB3YXJuaW5ncyB3aGVuIE5BTkQvT05FTkFORCBpcyBub3QgdXNlZAorCisgICAgRml4IGJ1aWxkIHdhcm5pbmdzIGJ5IHB1dHRpbmcgc3BlY2lmaWMgdXNlZCB2YXJpYWJsZXMKKyAgICB1bmRlciByZXF1aXJlZCAjaWZkZWZzIGZvciByZW1vdmluZzoKKyAgICBtZW0uYzoyMjc6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnZl9zZWMnCisgICAgbWVtLmM6MjI2OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2Zfb2ZmJworICAgIG1lbS5jOjIyNTogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdzaXplJworICAgIG1lbS5jOjIyNDogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdiYXNlJworICAgIG1lbS5jOjIyMjogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdncG1jX2NvbmZpZycKKworICAgIFNpZ25lZC1vZmYtYnk6IE5pc2hhbnRoIE1lbm9uIDxubUB0aS5jb20+CisKK2NvbW1pdCA3M2RiMGM3MWRhMzY1YTJkMTAxODc4YWUzYWViOGZmMzU0NWExODI4CitBdXRob3I6IE5pc2hhbnRoIE1lbm9uIDxubUB0aS5jb20+CitEYXRlOglUdWUgT2N0IDEzIDEyOjQ3OjI0IDIwMDkgLTA0MDAKKworICAgIE9NQVAzOiBleHBvcnQgZW5hYmxlX2dwbWNfY3NfY29uZmlnIHRvIGJvYXJkIGZpbGVzCisKKyAgICBFeHBvcnQgZW5hYmxlX2dwbWNfY3NfY29uZmlnIGludG8gY29tbW9uIGhlYWRlciB0bworICAgIHByZXZlbnQgd2FybmluZzoKKworICAgIHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdlbmFibGVfZ3BtY19jc19jb25maWcnCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBOaXNoYW50aCBNZW5vbiA8bm1AdGkuY29tPgorCitjb21taXQgOTZhMjdjNmRjMjlhYmYxMTc0MDYzMmVjZDhjY2FiNjA3YjIwOWM1ZAorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglNb24gT2N0IDEyIDEyOjA3OjQwIDIwMDkgLTA0MDAKKworICAgIFpvb20yIEZpeCBzZXJpYWwgZ3BtYyBzZXR1cAorCisgICAgVGhlIG9mZnNldCB0byB0aGUgY2hpcCBzZWxlY3QgaXMgaW5jb3JyZWN0LgorCisgICAgVGhlIGNoYW5nZSAxODdhZjk1NGNmNzk1OGMyNGVmY2YwZmQ2MjI4OWJiZGI0ZjFmMjRlLAorCisgICAgb21hcDM6IGVtYmVkZCBncG1jX2NzIGludG8gZ3BtYyBjb25maWcgc3RydWN0CisKKyAgICBpbnRyb2R1Y2VkIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJpYWwgZ3BtYyBzZXR1cC4KKworICAgIFRoaXMgcGF0Y2ggcmV2ZXJ0cyB0aGUgY2hpcCBzZWxlY3QgdG8gaXRzIHByZXZpb3VzIHZhbHVlLgorCisgICAgVGhlIHN5bXB0b21zIG9mIHRoaXMgcHJvYmxlbSBhcmUgdGhhdCB0aGUgWm9vbTIKKyAgICBjdXJyZW50bHkgaGFuZ3MuCisKKyAgICBUaGlzIHdhcyBydW4gdGVzdGVkIG9uIFpvb20yLgorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgNjRkOTQ1YWJlOGNmZmJhY2RhZWNhNWY2M2I5Yjg0Zjg5NWQyZDlhYgorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglTdW4gT2N0IDExIDA5OjEwOjI3IDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2kgU29uYXRhOiBBZGQgQ29uZmlnIG9wdGlvbiBmb3IgNjQgYml0IFN1cHBvcnQKKworICAgIEFkZGluZyB0aGUgQ09ORklHX1NZU182NEJJVF9WU1BSSU5URiBmb3QgdGhlIERNNjQ0eCBiYXNlZCBTb25hdGEKKyAgICBXaXRob3V0IHRoaXMgb3B0aW9uIGVuYWJsZWQgd2hpbGUgcGVyZm9ybWluZyBOQU5EIG9wZXJhdGlvbnMgd2Ugd2lsbCBnZXQKKyAgICB3cm9uZyBkaWFnbm9zdGljIG1lc3NhZ2VzLgorICAgIEV4YW1wbGUgaWYgdGhlIE1URCBOQU5EIGRyaXZlciBmaW5kIGEgYmFkIGJsb2NrIHdoaWxlIGVyYXNpbmcgZnJvbQorICAgIGEgY2VydGFpbiBhZGRyZXNzLCBpdCB3aWxsIHNheSBiYWQgYmxvY2sgc2tpcHBlZCBhdCAweDAwMDAwMDAwLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgNTRhYTYwM2QyY2UxZDkzNzRhMWY1YzYzMzYzNjIwMzdhZDJkOGI1MQorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglTdW4gT2N0IDExIDA5OjE0OjU4IDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2kgRFZFVk06IEFkZCBDb25maWcgb3B0aW9uIGZvciA2NCBiaXQgU3VwcG9ydAorCisgICAgQWRkaW5nIHRoZSBDT05GSUdfU1lTXzY0QklUX1ZTUFJJTlRGIGluIHRoZSBEVkVWTSBjb25maWcuCisgICAgV2l0aG91dCB0aGlzIG9wdGlvbiBlbmFibGVkIHdoaWxlIHBlcmZvcm1pbmcgTkFORCBvcGVyYXRpb25zIHdlIHdpbGwgZ2V0CisgICAgd3JvbmcgZGlhZ25vc3RpYyBtZXNzYWdlcy4KKyAgICBFeGFtcGxlIGlmIHRoZSBNVEQgTkFORCBkcml2ZXIgZmluZCBhIGJhZCBibG9jayB3aGlsZSBlcmFzaW5nIGZyb20KKyAgICBhIGNlcnRhaW4gYWRkcmVzcywgaXQgd2lsbCBzYXkgYmFkIGJsb2NrIHNraXBwZWQgYXQgMHgwMDAwMDAwMC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IGI4ZDBhYTBjNzhiOGMwZmE1MWFjYWRhM2M0ODZiODEwODU5MjRiNTMKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJU2F0IE9jdCAxMCAxMDoxOToyMCAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpIERNMzY1OiBBZGQgQ29uZmlnIG9wdGlvbiBmb3IgNjQgYml0IFN1cHBvcnQKKworICAgIEFkZGluZyB0aGUgQ09ORklHX1NZU182NEJJVF9WU1BSSU5URiBpbiB0aGUgRE0zNjUgRVZNIGNvbmZpZy4KKyAgICBXaXRob3V0IHRoaXMgb3B0aW9uIGVuYWJsZWQgd2hpbGUgcGVyZm9ybWluZyBOQU5EIG9wZXJhdGlvbnMgd2Ugd2lsbCBnZXQKKyAgICB3cm9uZyBkaWFnbm9zdGljIG1lc3NhZ2VzLgorICAgIEV4YW1wbGUgaWYgdGhlIE1URCBOQU5EIGRyaXZlciBmaW5kIGEgYmFkIGJsb2NrIHdoaWxlIGVyYXNpbmcgZnJvbQorICAgIGEgY2VydGFpbiBhZGRyZXNzLCBpdCB3aWxsIHNheSBiYWQgYmxvY2sgc2tpcHBlZCBhdCAweDAwMDAwMDAwLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgODZhNzI1YjljOGI4MjljMjE3YmU5MGU1OTBmM2NhMmM5MWZhMWRjYQorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglTYXQgT2N0IDEwIDEwOjE4OjQ2IDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2kgRE0zNTU6IEFkZCBDb25maWcgb3B0aW9uIGZvciA2NCBiaXQgU3VwcG9ydAorCisgICAgQWRkaW5nIHRoZSBDT05GSUdfU1lTXzY0QklUX1ZTUFJJTlRGIGluIHRoZSBETTM1NSBFVk0gY29uZmlnLgorICAgIFdpdGhvdXQgdGhpcyBvcHRpb24gZW5hYmxlZCB3aGlsZSBwZXJmb3JtaW5nIE5BTkQgb3BlcmF0aW9ucyB3ZSB3aWxsIGdldAorICAgIHdyb25nIGRpYWdub3N0aWMgbWVzc2FnZXMuCisgICAgRXhhbXBsZSBpZiB0aGUgTVREIE5BTkQgZHJpdmVyIGZpbmQgYSBiYWQgYmxvY2sgd2hpbGUgZXJhc2luZyBmcm9tCisgICAgYSBjZXJ0YWluIGFkZHJlc3MsIGl0IHdpbGwgc2F5IGJhZCBibG9jayBza2lwcGVkIGF0IDB4MDAwMDAwMDAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA5YzQ0ZGRjY2I2NjAyZjYyMGZjMDM3OTc0ZjNlNDQ2OGFkOGE3YzBjCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVdlZCBTZXAgOSAxMTo1MDo0MCAyMDA5IC0wNDAwCisKKyAgICBUSTogT01BUDM6IFJlbW92ZSBTWl94eCByZWZlcmVuY2VzCisKKyAgICBUaGlzIHBhdGNoIHJlbW92ZXMgZGVwZW5kZW5jeSBvbiB0aGUgc2l6ZXMuaCBoZWFkZXIgZmlsZQorICAgIGFuZCByZW1vdmVzIGFsbCByZWZlcmVuY2VzIHRvIFNaX3h4LgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgMTNkMmNiOTg4ZmYwN2FkZGNlNmUxMGFiMmNiODk2NWE5ZGQyM2M2MworQXV0aG9yOiBTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KK0RhdGU6CVNhdCBPY3QgMTAgMTQ6Mjk6MzcgMjAwOSAtMDQwMAorCisgICAgT01BUDM6IFVwZGF0ZSBPdmVybyBhbmQgQmVhZ2xlIGVudmlyb25tZW50CisKKyAgICBVcGRhdGUgZGVmYXVsdCBlbnZpcm9ubWVudCB0byBzdXBwb3J0IG5ldyBrZXJuZWwgRFNTMiBzdWJzeXN0ZW0gYW5kCisgICAgc2ltcGxpZnkgcm9vdGZzIHR5cGUgYW5kIGxvY2F0aW9uIGNoYW5nZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorCitjb21taXQgYzczNjA3YzU1MjVjNjk1N2M4MTVlNjRmN2U4NjVmZGQzYmFmZmU5OAorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglTYXQgT2N0IDEwIDEzOjQ2OjI2IDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2k6IE1haW50YWluZXIgZm9yIERNMzU1IGFuZCBETTM2NSBFVk0KKworICAgIEFkZGluZyBlbnRyaWVzIHRvIHRoZSBNQUlOVEFJTkVSUyBkaXJlY3RvcnkgZm9yIHRoZQorICAgIERNMzU1IGFuZCBETTM2NSBFVk0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA1ZGY2NWNmNTZhZWVmOWZkZWFiODNhMjU5YzM3YWE3ZDIzODM2ZGQzCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVNhdCBPY3QgMTAgMTM6Mzc6MTAgMjAwOSAtMDQwMAorCisgICAgVEk6IERhVmluY2k6IERNMzU1IExlb3BhcmQgYm9hcmQgc3VwcG9ydAorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBsZW9wYXJkIGJvYXJkIHdoaWNoIGlzCisgICAgYmFzZWQgb24gdGhlIERNMzU1IFNPQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IDZhYjE3NmQ3MDkxZDIxOTYwYTFiZDg5ZmNiN2ZkODdiOWU5MWFjYTEKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJU2F0IE9jdCAxMCAxMjowMDo0NyAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpIERNNjQ2eDogQWRkaW5nIGluaXRpYWwgc3VwcG9ydCBmb3IgRE02NDY3IEVWTQorCisgICAgVGhpcyBwYXRjaCBhZGRzIHRoZSBpbml0aWFsIHN1cHBvcnQgZm9yIERNNjQ2NyBFVk0uCisgICAgT3RoZXIgZmVhdHVyZXMgbGlrZSBORVQgYW5kIE5BTkQgc3VwcG9ydCB3aWxsIGJlIGFkZGVkIGFzIGZvbGxvdyB1cCBwYXRjaGVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgZDg4NGY2NGE3Yjg0ODJmNmM5Njg4NjAwZTBhNDczMWZhNTY3OGUwYworQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglUaHUgT2N0IDEgMjA6MjI6MDkgMjAwOSAtMDQwMAorCisgICAgVEkgRGFWaW5jaSBETTM2NTogRml4IENvbXBpbGF0aW9uIHdhcm5pbmcgZm9yIERNMzY1IEVWTQorCisgICAgVGhpcyBwYXRjaCBmaXhlcyBhIGNvbXBpbGF0aW9uIHdhcm5pbmcgd2hpbGUgY29tcGlsaW5nCisgICAgdGhlIERNMzY1IEVWTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IDZmZTVlODdiZTRiOTQ0ZWRmNDI4ODM1MjEwMDU2ZTAyMGM4YmI3OTQKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJVGh1IE9jdCAxIDIwOjIxOjEzIDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2kgRE0zNTU6IEZpeCBDb21waWxhdGlvbiB3YXJuaW5nIGZvciBETTM1NSBFVk0KKworICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBjb21waWxhdGlvbiB3YXJuaW5nIHdoaWxlIGNvbXBpbGluZworICAgIHRoZSBETTM1NSBFVk0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA1MTNiYmUxYjE3MjA2ODJlNmRlMGFiYTJkOWRiNWU2MGYzYTQyOGJiCitBdXRob3I6IEVyaWMgQmVuYXJkIDxlcmljQGV1a3JlYS5jb20+CitEYXRlOglNb24gT2N0IDEyIDEwOjE1OjM5IDIwMDkgKzAyMDAKKworICAgIEFUOTEgQ1BVQVQ5MSBGaXggY29tcGlsZXIgd2FybmluZworCisgICAgVGhpcyBjaGFuZ2UgZml4ZXMgdGhlIGNvbXBpbGVyIHdhcm5pbmcKKworICAgIG1haW4uYzogSW4gZnVuY3Rpb24gJ2Fib3J0Ym9vdCc6CisgICAgbWFpbi5jOjEyMjogd2FybmluZzogdG9vIGZldyBhcmd1bWVudHMgZm9yIGZvcm1hdAorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBiMWU4MWY3MDFkMDQ0ZWVlMzg4NDIwMmIxMjdkNWQxZjA2NjhiZGI5CitBdXRob3I6IEVyaWMgQmVuYXJkIDxlcmljQGV1a3JlYS5jb20+CitEYXRlOglNb24gT2N0IDEyIDEwOjE1OjQwIDIwMDkgKzAyMDAKKworICAgIEFUOTEgQ1BVOTI2MCBDUFU5RzIwIEZpeCBjb21waWxlIHdhcm5pbmdzCisKKyAgICBUaGlzIGNoYW5nZSBmaXhlcyB0aGUgY29tcGlsZXIgd2FybmluZworCisgICAgbmFuZF91dGlsLmM6NDU6Mjogd2FybmluZzogI3dhcm5pbmcgUGxlYXNlIGRlZmluZSBDT05GSUdfU1lTXzY0QklUX1ZTUFJJTlRGCisgICAgICBmb3IgY29ycmVjdCBvdXRwdXQhCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIEJlbmFyZCA8ZXJpY0BldWtyZWEuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKworY29tbWl0IDk0ZDUwYzUyN2EzY2VkYjZhNDFmYmU2NzczMjU2Y2RkMTg1NTMxN2YKK0F1dGhvcjogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KK0RhdGU6CU1vbiBPY3QgMTIgMTA6MDg6MjAgMjAwOSArMDIwMAorCisgICAgQVQ5MSBDUFU5MjYwIEZpeCBtYWNoaW5lIElEIHdoZW4gdXNpbmcgYSBDUFU5RzIwLgorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCA4YzBhOTJjOGY0Y2YzOTllODczYzI2MTE5MzlmMzYxNzk4Mzc4NWE5CitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CitEYXRlOglTYXQgT2N0IDEwIDExOjUxOjI2IDIwMDkgKzAyMDAKKworICAgIGxjZDogcmVtb3ZlICcjaWYgMCcgMzItYml0IHNjcm9sbCwgbm93IG1lbWNweSBkb2VzIGl0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgorICAgIEFja2VkLWJ5OiBBbmRyZWEgR2FsbG8gPGFuZHJlYS5nYWxsb0BzdGVyaWNzc29uLmNvbT4KKworY29tbWl0IGUzZWE5NDhkNDU4OGU3ZWZkZGJmMGVlOTIxNDdkOTNmODI3ZDdjZWEKK0F1dGhvcjogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KK0RhdGU6CVNhdCBPY3QgMTAgMTE6NTE6MTYgMjAwOSArMDIwMAorCisgICAgbGliX2dlbmVyaWMgbWVtc2V0OiBmaWxsIG9uZSB3b3JkIGF0IGEgdGltZSBpZiBwb3NzaWJsZQorCisgICAgSWYgdGhlIGRlc3RpbmF0aW9uIGlzIGFsaWduZWQsIGZpbGwgdWxvbmcgdmFsdWVzIHVudGlsIHBvc3NpYmxlLgorICAgIFRoZW4gZmlsbCByZW1haW5pbmcgcGFydCBieSBieXRlLgorCisgICAgU2lnbmVkLW9mZi1ieTogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KKyAgICBBY2tlZC1ieTogQW5kcmVhIEdhbGxvIDxhbmRyZWEuZ2FsbG9Ac3Rlcmljc3Nvbi5jb20+CisgICAgQWNrZWQtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGVjZDgzMGI4NjNlNWM2YWM1ZDgwNGQzYjNhOTI0NTNhOThkNTI2ZmMKK0F1dGhvcjogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KK0RhdGU6CVNhdCBPY3QgMTAgMTE6NTE6MDUgMjAwOSArMDIwMAorCisgICAgbGliX2dlbmVyaWMgbWVtY3B5OiBjb3B5IG9uZSB3b3JkIGF0IGEgdGltZSBpZiBwb3NzaWJsZQorCisgICAgSWYgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgYWxpZ25lZCwgdGhpcyBjb3BpZXMgdWxvbmcgdmFsdWVzCisgICAgdW50aWwgcG9zc2libGUsIHRyYWlsaW5nIHBhcnQgaXMgY29waWVkIGJ5IGJ5dGUuIFRoYW5rcyBmb3IgdGhlIGRldGFpbHMKKyAgICB0byBXb2xmZ2FuZyBEZW5rLCBNaWtlIEZyeXNpbmdlciwgUGV0ZXIgVHlzZXIsIENocmlzIE1vb3JlLgorCisgICAgU2lnbmVkLW9mZi1ieTogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KKyAgICBBY2tlZC1ieTogQW5kcmVhIEdhbGxvIDxhbmRyZWEuZ2FsbG9Ac3Rlcmljc3Nvbi5jb20+CisgICAgQWNrZWQtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDljNTU4NmFhMTliYmVkZjI5MGQyYTY2MzgxMzQwNGQyZGI4N2RmYTUKK0F1dGhvcjogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KK0RhdGU6CVRodSBPY3QgOCAxNDoyOToxNCAyMDA5ICswMjAwCisKKyAgICBzZXRlbnY6IGRvIGNvbnNvbGUgcmVkaXJlY3Rpb24gZXZlbiBpZiBwcmV2aW91c2x5IHVuc2V0CisKKyAgICBJZiAic3Rkb3V0IiBpcyBub3QgcHJldmlvdXNseSBzZXQsIGRvaW5nICJzZXRlbnYgc3Rkb3V0IGxjZCIgaGFkIG5vCisgICAgZWZmZWN0LCBzaW5jZSBjb25zb2xlIHJlZGlyZWN0aW9uIG9ubHkgd29ya2VkIGlmIHRoZSBlbnZpcm9ubWVudAorICAgIHZhcmlhYmxlIHdhcyBhbHJlYWR5IHNldDsgdGhlIHNlY29uZCB0aW1lIHlvdSBydW4gc2V0ZW52IGl0IHdvcmtlZC4KKyAgICBNb3N0IGRlZmF1bHQgZW52aXJvbm1lbnRzIGxhY2sgc3RkaW4vb3V0L2VyciBkZWZpbml0aW9ucywgc28gSSdtIHN1cmUKKyAgICBJJ20gbm90IGFsb25lIHdpdGggdGhpcyBwcm9ibGVtLgorCisgICAgVGhpcyBwYXRjaCBzaW1wbHkgbW92ZXMgYSBibG9jayBvZiBjb2RlIG91dCBvZiBhIGNvbmRpdGlvbmFsLCB0byBkbworICAgIHRoZSBzYW1lIHdvcmsgZXZlbiBpZiB0aGUgdmFyaWFibGUgd2FzIHByZXZpb3VzbHkgdW5zZXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgorICAgIEFja2VkLWJ5OiBBbmRyZWEgR2FsbG8gPGFuZHJlYS5nYWxsb0BzdGVyaWNzc29uLmNvbT4KKworY29tbWl0IGM5ZWUzOTk3MmE3NzU4ZTg4M2I3M2M2YzBlM2MzYTE0Y2Q1YjJmNDMKK0F1dGhvcjogTWFydGhhIFN0YW4gPG1tYXJ4QHNpbGljb250a3guY29tPgorRGF0ZToJV2VkIE9jdCA3IDA0OjM4OjQ2IDIwMDkgLTA0MDAKKworICAgIG1wYzUxMng6IGZpeCBTeXN0ZW0gQ2xvY2sgQ29udHJvbCBjb25zdGFudHMgZm9yIFVTQjEgJiBVU0IyCisKKyAgICBTaWduZXItb2ZmLWJ5OiBNYXJ0aGEgU3RhbiA8bW1hcnhAc2lsaWNvbnRreC5jb20+CisKK2NvbW1pdCA4N2IyMmI3Nzg3ZjM5N2ZjM2RhYWQ1NzBkNzExZTQ3OGIxYTdkMjUzCitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJRnJpIE9jdCAyIDE4OjE4OjMzIDIwMDkgLTA0MDAKKworICAgIG1lbV9tdGVzdDogZml4IGVycm9yIHJlcG9ydGluZywgYWxsb3cgZXNjYXBlIHdpdGggXkMKKworICAgIFRoZSBiYXNpYyBtZW10ZXN0IGZ1bmN0aW9uIHRyaWVzIHRvIHdhdGNoIGZvciBeQyBhZnRlciBlYWNoCisgICAgcGF0dGVybiBwYXNzIGFzIGFuIGVzY2FwZSBtZWNoYW5pc20sIGJ1dCBpZiB0aGluZ3MgYXJlIGhvcnJpYmx5CisgICAgd3JvbmcsIHdlJ2xsIGJlIHN0dWNrIGluIGFuIGlubmVyIGxvb3AgZmxvb2RpbmcgdGhlIGNvbnNvbGUgd2l0aAorICAgIGVycm9yIG1lc3NhZ2VzIGFuZCBuZXZlciBjaGVjayBmb3IgXkMuICBUbyBtYWtlIG1hdHRlcnMgd29yc2UsCisgICAgaWYgdGhlIHVzZXIgd2FpdHMgZm9yIGFsbCB0aGUgZXJyb3IgbWVzc2FnZXMgdG8gY29tcGxldGUsIHdlCisgICAgdGhlbiBpbmNvcnJlY3RseSByZXBvcnQgdGhlIHRlc3QgcGFzc2VkIHdpdGhvdXQgZXJyb3JzLgorCisgICAgQWRkaW5nIGEgY2hlY2sgZm9yIF5DIGFmdGVyIGFueSBlcnJvciBpcyBwcmludGVkIHdpbGwgZ2l2ZQorICAgIHRoZSBlbmQgdXNlciBhbiBlc2NhcGUgbWVjaGFuaXNtIGZyb20gYSBjb25zb2xlIGZsb29kIHdpdGhvdXQKKyAgICBzbG93aW5nIGRvd24gdGhlIG92ZXJhbGwgdGVzdCBzcGVlZCBvbiBhIHNsb3cgcHJvY2Vzc29yLgorCisgICAgQWxzbywgdGhlIG1vcmUgZXh0ZW5zaXZlIG1lbXRlc3QgcXVpdCBhZnRlciBqdXN0IGEgc2luZ2xlIGVycm9yLAorICAgIHdoaWNoIGlzIGluY29uc2lzdGVudCB3aXRoIHRoZSBub3JtYWwgbWVtdGVzdCwgYW5kIG5vdCB1c2VmdWwgaWYKKyAgICBpZiB5b3UgYXJlIGRvaW5nIGR5bmFtaWMgZW52aXJvbm1lbnRhbCBpbXBhY3QgdGVzdGluZywgc3VjaCBhcworICAgIGhlYXRpbmcvY29vbGluZyBldGMuCisKKyAgICBCb3RoIHRlc3RzIG5vdyB0cmFjayB0aGUgZXJyb3IgY291bnQgYW5kIHJlcG9ydCBpdCBwcm9wZXJseQorICAgIGF0IHRlc3QgY29tcGxldGlvbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIEFja2VkLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA5ZjRhNDIwNjYzNDE5ZGMxM2YwOGEwY2U2NWI5MzAzM2M2MTcyYzY5CitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVRodSBPY3QgMSAxMjoxMTo1NCAyMDA5IC0wNDAwCisKKyAgICBuZXcgZGVmYXVsdCBzaG9ydGN1dCB0byBjb25maWcgJiBidWlsZCBhIGJvYXJkCisKKyAgICBUaGUgbWFqb3JpdHkgb2YgdGhlIHRpbWUgdGhhdCBJIGJ1aWxkIHRoaW5ncyBpbiBVLUJvb3QsIEkgd2FudCB0byBqdXN0CisgICAgYnVpbGQgZm9yIHRoZSBib2FyZC4gIEkgZG9uJ3QgbWFrZSBib2FyZCBjb25maWcgdHdlYWtzIGFmdGVyIHNlbGVjdGluZyB0aGUKKyAgICBib2FyZC4gIFNvIGFkZCBhIG5ldyBwYXR0ZXJuIHJ1bGUgdGhhdCBhbGxvd3MgcGVvcGxlIHRvIGNvbWJpbmUgdHdvIHN0ZXBzCisgICAgaW4gb25lIGdvOgorCWBtYWtlIGZvb19jb25maWcgJiYgbWFrZWAgPT4gYG1ha2UgZm9vYAorCisgICAgVGhpcyBzaG91bGRuJ3QgY29uZmxpY3Qgd2l0aCBhbnkgZXhpc3RpbmcgbWFrZSBydWxlcyBhcyB0aGUgcGF0dGVybiBydWxlCisgICAgaXMgdXNlZCBvbmx5IHRoZSBydWxlIGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDZkYWI2YWRkMmQ4ZWU4MDkwNTIzNGIzMjZhYmMzZGUxMWJlMWQxNzgKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJV2VkIFNlcCAzMCAxNToyOTo1OCAyMDA5IC0wNDAwCisKKyAgICBlbnY6IG9ubHkgYnVpbGQgZW52X2VtYmVkZGVkIGFuZCBlbnZjcmMgd2hlbiBuZWVkZWQKKworICAgIFRoZSBlbnYgY29kZSBpcyBwcm90ZWN0ZWQgYnkgdGhlIEVOVl9JU19FTUJFRERFRCBkZWZpbmUsIHNvIGF0dGVtcHRpbmcgdG8KKyAgICBjb21waWxlIHRoZSBjb2RlIHdoZW4gdGhpcyBpc24ndCBkZWZpbmVkIGlzIHBvaW50bGVzcy4gIE5vdyB0aGF0IHRoZSBlbnYKKyAgICBoZWFkZXJzIGhhdmUgdW5pZmllZCBhcm91bmQgQ09ORklHX0VOVl9JU19FTUJFRERFRCwgY29udmVydCB0aGUgYnVpbGQKKyAgICBzeXN0ZW0gdG8gb25seSBidWlsZCB0aGUgZW52IG9iamVjdHMgd2hlbiB0aGlzIGlzIGVuYWJsZWQuCUFuZCBub3cgdGhhdAorICAgIHRoZSBlbnYgY29kZSBpcyBjb25kaXRpb25hbGx5IGNvbXBpbGVkLCB3ZSBjYW4gZHJvcCB0aGUgc291cmNlIGNvZGUgY2hlY2tzLgorCisgICAgRm9yIHBlb3BsZSB3aG8gd2FudCB0byBleHRyYWN0IHRoZSBlbnZpcm9ubWVudCBtYW51YWxseSwgYWRkIGEgbmV3IG9wdGlvbgorICAgIENPTkZJR19CVUlMRF9FTlZDUkMgdGhhdCBvbmx5IGVuYWJsZXMgdGhlIGVudmNyYyB1dGlsaXR5LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgNzhmNGNhNzk3Njc0ODE1OTA4MGM5ZDkyMGQ1ZWI1NDJkMWIzMmQ0ZgorQXV0aG9yOiBEYW5pZWwgTWFjayA8ZGFuaWVsQGNhaWFxLmRlPgorRGF0ZToJTW9uIFNlcCAyOCAxMTo0MDozOCAyMDA5ICswMjAwCisKKyAgICBwYXJ0X2RvczogY2hlY2sgc3RhdHVzIGZsYWdzIG9mIHBhcnRpdGlvbnMKKworICAgIE9ubHkgcmVhZCBwYXJ0aXRpb25zIHdoaWNoIGhhdmUgMHgwMCBvciAweDgwIHNldCBpbiB0aGVpciBzdGF0dXMgZmllbGQuCisgICAgQWxsIG90aGVycyBhcmUgaW52YWxpZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhbmllbCBNYWNrIDxkYW5pZWxAY2FpYXEuZGU+CisKK2NvbW1pdCA0NWRlZjBhYjlkMWRlZGNkMmE3MzkzOWFhZDgzNzNmNzYwNDk4NzYyCitBdXRob3I6IEVyaWMgTWlsbGJyYW5kdCA8ZW1pbGxicmFuZHRAY29sZGhhdXMuY29tPgorRGF0ZToJRnJpIFNlcCAyNSAxNzo0Nzo0MyAyMDA5IC0wNTAwCisKKyAgICBnYWxheHk1MjAwOiBjaGFuZ2UgY3MxIGNvbmZpZ3VyYXRpb24KKworICAgIENvcnJlY3QgdGhlIGNoaXAgc2VsZWN0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuYW5kIGZsYXNoIGNoaXAgc2VsZWN0LgorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBkZWthcmVzZWFyY2guY29tPgorCitjb21taXQgNzkzNmI1MTE2NWI1MTlhMTZlY2YzZGIzMDJmYjg4ZGY4YjhiM2IzZAorQXV0aG9yOiBOaWtsYXVzIEdpZ2VyIDxuaWtsYXVzLmdpZ2VyQG5ldHN0YWwuY29tPgorRGF0ZToJV2VkIFNlcCAyMyAwODoxMjoxNCAyMDA5ICswMjAwCisKKyAgICBDbGVhbnVwOiB1c2UgY29uc3RhbnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbmV0c3RhbC5jb20+CisKK2NvbW1pdCA3MTIwYzg4ODEwMTk1MmI3ZTYxYjllNTRiYjQyMzcwOTA0YWEwZTY4CitBdXRob3I6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gT2N0IDEyIDExOjA2OjE5IDIwMDkgLTA1MDAKKworICAgIG1wYzgzeHg6IG1wYzgzMTMgLSBoYW5kbGUgZXJyYXR1bSBJUElDMSAoVFNFQyBJUlEgbnVtYmVyIHN3YXBwYWdlKQorCisgICAgbXBjODMxM2UgZXJyYXR1bSBJUElDMSBzd2FwcGVkIFRTRUMgaW50ZXJydXB0IElEIG51bWJlcnMgb24gcmV2LiAxCisgICAgaC93IChzZWUgQU4zNTQ1KS4gIFRoZSBiYXNlIGRldmljZSB0cmVlIGluIHVzZSBoYXMgcmV2LiAxIElEIG51bWJlcnMsCisgICAgc28gaWYgb24gUmV2LiAyIChhbmQgaGlnaGVyKSBoL3csIHdlIGZpeCB0aGVtIHVwIGhlcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorICAgIFJldmlld2VkLWJ5OiBSb2xhbmQgTGV6dW8gPHJvbGFuZC5sZXp1b0BjaGVsbG8uYXQ+CisKK2NvbW1pdCA5MTUyNWM2NzE1M2ZjZjJjMTliMmZjOGQ5YzYzNzZhYzFhMDE5ZjUyCitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJTW9uIE9jdCAxMiAyMzo1NTozOSAyMDA5ICswNDAwCisKKyAgICBtcGM4NXh4OiBGaXggYm9vdGluZyBvbiB2YXJpb3VzIGJvYXJkcworCisgICAgY29tbWl0IDBlODcwOTgwYTY0NTg0YTU5MWFmNzc1YmI5YzlmZTk0NTAxMjRkZjkgKCI4eHh4OiBSZW1vdmVkCisgICAgQ09ORklHX05VTV9DUFVTIGZyb20gODV4eC84Nnh4IikgYnJlYWtzIFUtQm9vdCBvbiB2YXJpb3VzIGJvYXJkcywKKyAgICBuYW1lbHkgdGhlIG9uZXMgdGhhdCBjYWxsIGdldF9zeXNfaW5mbygpIGZyb20gYm9hcmRfZWFybHlfaW5pdF9mKCkuCisKKyAgICBnZXRfc3lzX2luZm8oKSBjYWxscyBjcHVfbnVtY29yZXMoKSwgd2hpY2ggZGVwZW5kcyBvbiBwcm9iZWNwdSgpCisgICAgYmVpbmcgY2FsbGVkIGJlZm9yZS4gQnV0IHByb2JlY3B1KCkgaXMgY2FsbGVkIGFmdGVyIGJvYXJkX2Vhcmx5X2luaXRfZigpLAorICAgIGFuZCBzbyBjcHVfbnVtY29yZXMoKSByZXR1cm5zIHJhbmRvbSB2YWx1ZXMsIHdoaWNoIGluIHR1cm4gY3Jhc2hlcworICAgIGdldF9zeXNfaW5mbygpLgorCisgICAgVG8gZml4IHRoZSBpc3N1ZSB3ZSBwbGFjZSBwcm9iZWNwdSgpIGJlZm9yZSBib2FyZF9lYXJseV9pbml0X2YoKQorICAgIGluIGFuIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLgorCisgICAgQm9vdGluZyBvbiB0aGUgZm9sbG93aW5nIGJvYXJkcyBzaG91bGQgYmUgcmV2aXZlZCBub3c6CisgICAgIG1wYzg1NDBhZHMKKyAgICAgbXBjODU0MWNkcworICAgICBtcGM4NTQ4Y2RzCisgICAgIG1wYzg1NTVjZHMKKyAgICAgbXBjODU2MGFkcworICAgICBtcGM4NTY4bWRzCisgICAgIG1wYzg1NjltZHMKKyAgICAgYW5kIG1heWJlIG1vcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMjZkZjZhYTk5MTY0NDMwNzcxMzlmOGYwMDhmYmM1ZjQxNGJhMDVlNQorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBPY3QgMiAxODo0ODowNyAyMDA5IC0wNDAwCisKKyAgICBtcGM4Nnh4OiBkZWxldGUgdW51c2VkIE1QQzg2eHhfRERSX1NEUkFNX0NMS19DTlRMIGRlZmluZQorCisgICAgVGhpcyBpcyBhbiBvcnBoYW5lZCBsZWdhY3kgbGVmdG92ZXIgdGhhdCBpcyBqdXN0IHBvbGx1dGluZworICAgIHRoZSBjb25maWcgZmlsZSBuYW1lc3BhY2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZmFkMTUwOTZlM2IzNDkyNzQ0NGJhNWY2MTMzNzQyZDQwZDc4YTQyNQorQXV0aG9yOiBEaXBlbiBEdWRoYXQgPGRpcGVuLmR1ZGhhdEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE9jdCA4IDEzOjMzOjI5IDIwMDkgKzA1MzAKKworICAgIHBwYy9QMV9QMl9SREI6IE9uLWNoaXAgQm9vdFJPTSBzdXBwb3J0CisKKyAgICBPbiBDaGlwIEJvb3RST00gc3VwcG9ydCBmb3IgUDEgYW5kIFAyIHNlcmllcyBSREIgcGxhdGZvcm1zLgorCisgICAgVGhpcyBwYXRjaCBpcyBkZXJpdmVkIGZyb20gbGF0ZXN0IE9uIENoaXAgQm9vdFJPTSBzdXBwb3J0IG9uIE1QQzg1MzZEUworCisgICAgU2lnbmVkLW9mZi1ieTogRGlwZW4gRHVkaGF0IDxkaXBlbi5kdWRoYXRAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZjc3ODBlYzk3N2U1NDViODNiYzUwNjhlMDk1N2Q2NDBmMWQ5OGYxMworQXV0aG9yOiBEaXBlbiBEdWRoYXQgPGRpcGVuLmR1ZGhhdEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE9jdCA4IDEzOjMzOjE4IDIwMDkgKzA1MzAKKworICAgIHBwYy9QMV9QMl9SREI6IE5BTkQgQm9vdCBTdXBwb3J0CisKKyAgICBOQU5EIEJvb3Qgc3VwcG9ydCBmb3IgUDEgYW5kIFAyIHNlcmllcyBSREIgcGxhdGZvcm1zLgorCisgICAgVGhpcyBwYXRjaCBpcyBkZXJpdmVkIGZyb20gTkFORCBCb290IHN1cHBvcnQgb24gTVBDODUzNkRTLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGlwZW4gRHVkaGF0IDxkaXBlbi5kdWRoYXRAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZDExODIzY2EzY2I1NTE4MTRmZmNkOTI2NDAyYzhiY2YzYTdlZmYzNQorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVdlZCBPY3QgNyAxNjozNDoyOCAyMDA5IC0wNDAwCisKKyAgICBtcGM4eHh4OiBpbXByb3ZlIExBVyBlcnJvciBtZXNzYWdlcyB3aGVuIHNldHRpbmcgdXAgRERSCisKKyAgICBXaGVuIHNldHRpbmcgdXAgdGhlIExBV3MgZm9yIHRoZSBERFIsIGlmIHRoZXJlIHdhcyBhbiBlcnJvciwKKyAgICB5b3UgZ290IHRoZSBub3Qtc28taGVscGZ1bCBlcnJvciB0ZXh0ICJFUlJPUiIgYW5kIG5vdGhpbmcKKyAgICBlbHNlLiAgTm90IG9ubHkgaXMgaXQgbm9uLWluZm9ybWF0aXZlLCBidXQgaXQgaXMgYWxzbworICAgIHByZXR0eSBmcnVzdHJhdGluZyB0cnlpbmcgdG8gZ3JlcCBmb3IgIkVSUk9SIiBpbiB0aGUgc291cmNlLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGE5OTQ2ZTNmYzcwODlkZGM2Yjc3MTFhNDRlMDdhNmIwODI3Yjc5YTcKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglXZWQgU2VwIDMwIDE2OjEyOjMxIDIwMDkgLTA0MDAKKworICAgIHNiYzg2NDFkOiBmaXggTEFXIHNvIGJvYXJkIGRvZXNuJ3QgaGFuZyBvbiBERFIgaW5pdAorCisgICAgQWxsIHZlcnNpb25zIGJldHdlZW4gbm93IGFuZCBzaW5jZSB0aGlzIGNvbW1pdDoKKworICAgICAgY29tbWl0IGJkNzY3MjliY2JmZDY0YjVkMDE2YTliOTM2ZjA1ODkzMWZjMDZlYWYKKyAgICAgIE1QQzg2eHg6IHNldCBDT05GSUdfTUFYX01FTV9NQVBQRUQgdG8gMkcgYnkgZGVmYXVsdAorCisgICAgd2lsbCBmYWlsIHRvIGFsbG93IHRoZSBTQkM4NjQxRCB0byBnZXQgcGFzdCBERFIgaW5pdCwgYmVjYXVzZSB0aGUKKyAgICBMQVcgY29uZmlnIHdhcyBvdmVybGFwcGluZy4gIEV2ZW50dWFsbHkgdGhpcyBib2FyZCB3aWxsIGRvIFNQRAorICAgIEVFUFJPTSBjb25maWcsIGJ1dCBmb3Igbm93IHRoaXMgZ2V0cyB0aGUgYm9hcmQgd29ya2luZyBhZ2Fpbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzZDE5ODhhYjQ3Y2MwZTI2NTI3Mjk2N2UwN2Q3NDdlYzYwMGE0NGM5CitBdXRob3I6IGtldmluLm1vcmZpdHRAZmVhcm5zaWRlLXN5c3RlbXMuY28udWsgPGtldmluLm1vcmZpdHRAZmVhcm5zaWRlLXN5c3RlbXMuY28udWs+CitEYXRlOglTYXQgT2N0IDEwIDEzOjM0OjA5IDIwMDkgKzA5MDAKKworICAgIENsZWFuLXVwIG9mIHMzYzI0eDAgbmFuZCBkcml2ZXIKKworICAgIFRoaXMgcGF0Y2ggcmUtZm9ybWF0cyB0aGUgYXJtOTIwdCBzM2MyNHgwIG5hbmQgZHJpdmVyIGluIHByZXBhcmF0aW9uIGZvciBjaGFuZ2VzCisgICAgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZC4KKworICAgIFRoZSBjaGFuZ2VzIGFyZSBhcyBmb2xsb3dzOgorICAgIC0gcmUtaW5kZW50IHRoZSBjb2RlIHVzaW5nIExpbmRlbnQKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlciBsYXlvdXRzIGFyZSBkZWZpbmVkIHVzaW5nIGEgQyBzdHJ1Y3QKKyAgICAtIHJlcGxhY2UgdGhlIHVwcGVyLWNhc2UgdHlwZWRlZidlZCBDIHN0cnVjdCBuYW1lcyB3aXRoIGxvd2VyIGNhc2UKKyAgICBub24tdHlwZWRlZidlZCBvbmVzCisgICAgLSBtYWtlIHN1cmUgcmVnaXN0ZXJzIGFyZSBhY2Nlc3NlZCB1c2luZyB0aGUgcHJvcGVyIGFjY2Vzc29yIGZ1bmN0aW9ucworICAgIC0gcnVuIGNoZWNrcGF0Y2gucGwgYW5kIGZpeCBhbnkgZXJyb3IgcmVwb3J0cworCisgICAgSXQgYXNzdW1lcyB0aGUgZm9sbG93aW5nIHBhdGNoIGhhcyBiZWVuIGFwcGxpZWQgZmlyc3Q6CisgICAgLSBbVS1Cb290XVtQQVRDSC1BUk1dIENPTkZJR19TWVNfSFogZml4IGZvciBBUk05MDJUIFMzQzI0WDAgQm9hcmRzLCAwNS8wOS8yMDA5CisgICAgIC0gcGF0Y2hlcyAxLzQsIDIvNCBhbmQgMy80IG9mIHRoaXMgc2VyaWVzCisKKyAgICBUZXN0ZWQgb24gYW4gRW1iZXN0IFNCQzI0NDAtSUkgQm9hcmQgd2l0aCBsb2NhbCB1LWJvb3QgcGF0Y2hlcyBhcyBJIGRvbid0IGhhdmUKKyAgICBhbnkgczNjMjQwMCBvciBzM2MyNDEwIGJvYXJkcyBidXQgbmVlZCB0aGlzIHBhdGNoIGFwcGx5aW5nIGJlZm9yZSBJIGNhbiBzdWJtaXQKKyAgICBwYXRjaGVzIGZvciB0aGUgU0JDMjQ0MC1JSSBCb2FyZC4gQWxzbywgdGVtcG9yYXJpbHkgbW9kaWZpZWQgc2JjMjQxMHgsIHNtZGsyNDAwLAorICAgIHNtZGsyNDEwIGFuZCB0cmFiIGNvbmZpZ3MgdG8gdXNlIHRoZSBtdGQgbmFuZCBkcml2ZXIgKHdoaWNoIGlzbid0IHVzZWQgYnkgYW55CisgICAgYm9hcmQgYXQgdGhlIG1vbWVudCksIHJhbiBNQUtFQUxMIGZvciBhbGwgQVJNOSB0YXJnZXRzIGFuZCBubyBuZXcgd2FybmluZ3Mgb3IKKyAgICBlcnJvcnMgd2VyZSBmb3VuZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEtldmluIE1vcmZpdHQgPGtldmluLm1vcmZpdHRAZmVhcm5zaWRlLXN5c3RlbXMuY28udWs+CisgICAgU2lnbmVkLW9mZi1ieTogTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgorCitjb21taXQgZWIwYWU3ZjU0OWI3MTQyODI2YThiY2RkMmRjOTQ1ZmFjOWMzNjM0OQorQXV0aG9yOiBrZXZpbi5tb3JmaXR0QGZlYXJuc2lkZS1zeXN0ZW1zLmNvLnVrIDxrZXZpbi5tb3JmaXR0QGZlYXJuc2lkZS1zeXN0ZW1zLmNvLnVrPgorRGF0ZToJU2F0IE9jdCAxMCAxMzozMzoxMSAyMDA5ICswOTAwCisKKyAgICBDbGVhbi11cCBvZiBzM2MyNHgwIGRyaXZlcnMgZXhjbHVkaW5nIG5hbmQgZHJpdmVyCisKKyAgICBUaGlzIHBhdGNoIHJlLWZvcm1hdHMgdGhlIGFybTkyMHQgczNjMjR4MCBkcml2ZXIgZmlsZXMsIGV4Y2x1ZGluZyB0aGUgbmFuZAorICAgIGRyaXZlciwgaW4gcHJlcGFyYXRpb24gZm9yIGNoYW5nZXMgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZC4KKworICAgIFRoZSBjaGFuZ2VzIGFyZSBhcyBmb2xsb3dzOgorICAgIC0gcmUtaW5kZW50IHRoZSBjb2RlIHVzaW5nIExpbmRlbnQKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlciBsYXlvdXRzIGFyZSBkZWZpbmVkIHVzaW5nIGEgQyBzdHJ1Y3QKKyAgICAtIHJlcGxhY2UgdGhlIHVwcGVyLWNhc2UgdHlwZWRlZidlZCBDIHN0cnVjdCBuYW1lcyB3aXRoIGxvd2VyIGNhc2UKKyAgICAgIG5vbi10eXBlZGVmJ2VkIG9uZXMKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlcnMgYXJlIGFjY2Vzc2VkIHVzaW5nIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb25zCisgICAgLSBydW4gY2hlY2twYXRjaC5wbCBhbmQgZml4IGFueSBlcnJvciByZXBvcnRzCisKKyAgICBJdCBhc3N1bWVzIHRoZSBmb2xsb3dpbmcgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCBmaXJzdDoKKyAgICAtIFtVLUJvb3RdW1BBVENILUFSTV0gQ09ORklHX1NZU19IWiBmaXggZm9yIEFSTTkwMlQgUzNDMjRYMCBCb2FyZHMsIDA1LzA5LzIwMDkKKyAgICAtIHBhdGNoZXMgMS80IGFuZCAyLzQgb2YgdGhpcyBzZXJpZXMKKworICAgIFRlc3RlZCBvbiBhbiBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZCB3aXRoIGxvY2FsIHUtYm9vdCBwYXRjaGVzIGFzIEkgZG9uJ3QgaGF2ZQorICAgIGFueSBzM2MyNDAwIG9yIHMzYzI0MTAgYm9hcmRzIGJ1dCBuZWVkIHRoaXMgcGF0Y2ggYXBwbHlpbmcgYmVmb3JlIEkgY2FuIHN1Ym1pdAorICAgIHBhdGNoZXMgZm9yIHRoZSBTQkMyNDQwLUlJIEJvYXJkLiBBbHNvLCB0ZW1wb3JhcmlseSBtb2RpZmllZCBzYmMyNDEweCwgc21kazI0MDAsCisgICAgc21kazI0MTAgYW5kIHRyYWIgY29uZmlncyB0byB1c2UgdGhlIG10ZCBuYW5kIGRyaXZlciAod2hpY2ggaXNuJ3QgdXNlZCBieSBhbnkKKyAgICBib2FyZCBhdCB0aGUgbW9tZW50KSwgcmFuIE1BS0VBTEwgZm9yIGFsbCBBUk05IHRhcmdldHMgYW5kIG5vIG5ldyB3YXJuaW5ncyBvcgorICAgIGVycm9ycyB3ZXJlIGZvdW5kLgorCisgICAgU2lnbmVkLW9mZi1ieTogS2V2aW4gTW9yZml0dCA8a2V2aW4ubW9yZml0dEBmZWFybnNpZGUtc3lzdGVtcy5jby51az4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CisKK2NvbW1pdCA4MjUwZDBiYWU4NDIyOWFiZWEzOTdmNmI0NzRiMzU1NmIwZjA0ZTgwCitBdXRob3I6IGtldmluLm1vcmZpdHRAZmVhcm5zaWRlLXN5c3RlbXMuY28udWsgPGtldmluLm1vcmZpdHRAZmVhcm5zaWRlLXN5c3RlbXMuY28udWs+CitEYXRlOglTYXQgT2N0IDEwIDEzOjMyOjAxIDIwMDkgKzA5MDAKKworICAgIENsZWFuLXVwIG9mIHMzYzI0eDAgaGVhZGVyIGZpbGVzCisKKyAgICBUaGlzIHBhdGNoIHJlLWZvcm1hdHMgdGhlIGFybTkyMHQgczNjMjR4MCBoZWFkZXIgZmlsZXMgaW4gcHJlcGFyYXRpb24gZm9yCisgICAgY2hhbmdlcyB0byBhZGQgc3VwcG9ydCBmb3IgdGhlIEVtYmVzdCBTQkMyNDQwLUlJIEJvYXJkLgorCisgICAgVGhlIGNoYW5nZXMgYXJlIGFzIGZvbGxvd3M6CisgICAgLSByZS1pbmRlbnQgdGhlIGNvZGUgdXNpbmcgTGluZGVudAorICAgIC0gbWFrZSBzdXJlIHJlZ2lzdGVyIGxheW91dHMgYXJlIGRlZmluZWQgdXNpbmcgYSBDIHN0cnVjdAorICAgIC0gcmVwbGFjZSB0aGUgdXBwZXItY2FzZSB0eXBlZGVmJ2VkIEMgc3RydWN0IG5hbWVzIHdpdGggbG93ZXIgY2FzZQorICAgIG5vbi10eXBlZGVmJ2VkIG9uZXMKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlcnMgYXJlIGFjY2Vzc2VkIHVzaW5nIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb25zCisgICAgLSBydW4gY2hlY2twYXRjaC5wbCBhbmQgZml4IGFueSBlcnJvciByZXBvcnRzCisKKyAgICBJdCBhc3N1bWVzIHRoZSBmb2xsb3dpbmcgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCBmaXJzdDoKKyAgICAtIFtVLUJvb3RdW1BBVENILUFSTV0gQ09ORklHX1NZU19IWiBmaXggZm9yIEFSTTkwMlQgUzNDMjRYMCBCb2FyZHMsIDA1LzA5LzIwMDkKKyAgICAtIHBhdGNoIDEvNCBvZiB0aGlzIHNlcmllcworCisgICAgVGVzdGVkIG9uIGFuIEVtYmVzdCBTQkMyNDQwLUlJIEJvYXJkIHdpdGggbG9jYWwgdS1ib290IHBhdGNoZXMgYXMgSSBkb24ndCBoYXZlCisgICAgYW55IHMzYzI0MDAgb3IgczNjMjQxMCBib2FyZHMgYnV0IG5lZWQgdGhpcyBwYXRjaCBhcHBseWluZyBiZWZvcmUgSSBjYW4gc3VibWl0CisgICAgcGF0Y2hlcyBmb3IgdGhlIFNCQzI0NDAtSUkgQm9hcmQuIEFsc28sIHRlbXBvcmFyaWx5IG1vZGlmaWVkIHNiYzI0MTB4LCBzbWRrMjQwMCwKKyAgICBzbWRrMjQxMCBhbmQgdHJhYiBjb25maWdzIHRvIHVzZSB0aGUgbXRkIG5hbmQgZHJpdmVyICh3aGljaCBpc24ndCB1c2VkIGJ5IGFueQorICAgIGJvYXJkIGF0IHRoZSBtb21lbnQpLCByYW4gTUFLRUFMTCBmb3IgYWxsIEFSTTkgdGFyZ2V0cyBhbmQgbm8gbmV3IHdhcm5pbmdzIG9yCisgICAgZXJyb3JzIHdlcmUgZm91bmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLZXZpbiBNb3JmaXR0IDxrZXZpbi5tb3JmaXR0QGZlYXJuc2lkZS1zeXN0ZW1zLmNvLnVrPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KKworY29tbWl0IGQ2N2NjZTJkZGEzYTQwYzNiZDkwYTZjNmUxMjlmYmIyNmRkNGNmYWIKK0F1dGhvcjoga2V2aW4ubW9yZml0dEBmZWFybnNpZGUtc3lzdGVtcy5jby51ayA8a2V2aW4ubW9yZml0dEBmZWFybnNpZGUtc3lzdGVtcy5jby51az4KK0RhdGU6CVNhdCBPY3QgMTAgMTM6MzA6MjIgMjAwOSArMDkwMAorCisgICAgQ2xlYW4tdXAgb2YgY3B1X2FybTkyMHQgYW5kIGNwdV9hcm05MjB0X3MzYzI0eDAgY29kZQorCisgICAgVGhpcyBwYXRjaCByZS1mb3JtYXRzIHRoZSBjb2RlIGluIGNwdS9hcm05MjB0IGFuZCBjcHUvYXJtOTIwdC8yM2MyNHgwIGluCisgICAgcHJlcGFyYXRpb24gZm9yIGNoYW5nZXMgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZC4KKworICAgIFRoZSBjaGFuZ2VzIGFyZSBhcyBmb2xsb3dzOgorICAgIC0gcmUtaW5kZW50IHRoZSBjb2RlIHVzaW5nIExpbmRlbnQKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlciBsYXlvdXRzIGFyZSBkZWZpbmVkIHVzaW5nIGEgQyBzdHJ1Y3QKKyAgICAtIHJlcGxhY2UgdGhlIHVwcGVyLWNhc2UgdHlwZWRlZidlZCBDIHN0cnVjdCBuYW1lcyB3aXRoIGxvd2VyIGNhc2UKKyAgICAgIG5vbi10eXBlZGVmJ2VkIG9uZXMKKyAgICAtIG1ha2Ugc3VyZSByZWdpc3RlcnMgYXJlIGFjY2Vzc2VkIHVzaW5nIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb25zCisgICAgLSBydW4gY2hlY2twYXRjaC5wbCBhbmQgZml4IGFueSBlcnJvciByZXBvcnRzCisKKyAgICBJdCBhc3N1bWVzIHRoZSBmb2xsb3dpbmcgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCBmaXJzdDoKKyAgICAtIFtVLUJvb3RdW1BBVENILUFSTV0gQ09ORklHX1NZU19IWiBmaXggZm9yIEFSTTkwMlQgUzNDMjRYMCBCb2FyZHMsIDA1LzA5LzIwMDkKKworICAgIFRlc3RlZCBvbiBhbiBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZCB3aXRoIGxvY2FsIHUtYm9vdCBwYXRjaGVzIGFzIEkgZG9uJ3QgaGF2ZQorICAgIGFueSBzM2MyNDAwIG9yIHMzYzI0MTAgYm9hcmRzIGJ1dCBuZWVkIHRoaXMgcGF0Y2ggYXBwbHlpbmcgYmVmb3JlIEkgY2FuIHN1Ym1pdAorICAgIHBhdGNoZXMgZm9yIHRoZSBTQkMyNDQwLUlJIEJvYXJkLiBBbHNvLCByYW4gTUFLRUFMTCBmb3IgYWxsIEFSTTkgdGFyZ2V0cyBhbmQgbm8KKyAgICBuZXcgd2FybmluZ3Mgb3IgZXJyb3JzIHdlcmUgZm91bmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLZXZpbiBNb3JmaXR0IDxrZXZpbi5tb3JmaXR0QGZlYXJuc2lkZS1zeXN0ZW1zLmNvLnVrPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KKworY29tbWl0IGNkODU2NjJiMzQ1YzBjMjI0OGZkNzYzN2Y2NWJiMmZiYjRkNTNkZDkKK0F1dGhvcjoga2V2aW4ubW9yZml0dEBmZWFybnNpZGUtc3lzdGVtcy5jby51ayA8a2V2aW4ubW9yZml0dEBmZWFybnNpZGUtc3lzdGVtcy5jby51az4KK0RhdGU6CVN1biBTZXAgNiAwMDozMzoxMyAyMDA5ICswOTAwCisKKyAgICBDT05GSUdfU1lTX0haIGZpeCBmb3IgQVJNOTAyVCBTM0MyNFgwIEJvYXJkcworCisgICAgVGhpcyBzZXRzIENPTkZJR19TWVNfSFogdG8gMTAwMCBmb3IgYWxsIGJvYXJkcyB0aGF0IHVzZSB0aGUgczNjMjQwMCBhbmQKKyAgICBzM2MyNDEwIGNwdSdzIHdoaWNoIGZpeGVzIHZhcmlvdXMgcHJvYmxlbXMgc3VjaCBhcyB0aGUgdGltZW91dHMgaW4gdGZ0cCBiZWluZworICAgIHRvbyBzaG9ydC4KKworICAgIFRlc3RlZCBvbiBhbiBFbWJlc3QgU0JDMjQ0MC1JSSBCb2FyZCB3aXRoIGxvY2FsIHUtYm9vdCBwYXRjaGVzIGFzIEkgZG9uJ3QKKyAgICBoYXZlIGFueSBzM2MyNDAwIG9yIHMzYzI0MTAgYm9hcmRzIGJ1dCBuZWVkIHRoaXMgcGF0Y2ggYXBwbHlpbmcgYmVmb3JlIEkgY2FuCisgICAgc3VibWl0IHBhdGNoZXMgZm9yIHRoZSBTQkMyNDQwLUlJIEJvYXJkLiBBbHNvLCByYW4gTUFLRUFMTCBmb3IgYWxsIEFSTTkgdGFyZ2V0cworICAgIGFuZCBubyBuZXcgd2FybmluZ3Mgb3IgZXJyb3JzIHdlcmUgZm91bmQuCisKKyAgICBJdCB3YXMgb3JpZ2luYWxseSBzdWJtaXR0ZWQgb24gMjEvMDYvMjAwOSBidXQgZGlkbid0IGdldCBpbnRvIHRoZSAyMDA5LjA4CisgICAgcmVsZWFzZSwgYW5kIEplYW4tUGllcnJlIG1hZGUgb25lIGNvbW1lbnQgb24gdGhlIG9yaWdpbmFsIHBhdGNoIChzZWUKKyAgICBodHRwOi8vbGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1ib290LzIwMDktSnVseS8wNTU0NzAuaHRtbCkuIEkndmUgbWFkZSB0d28KKyAgICBjaGFuZ2VzIHRvIHRoZSBvcmlnaW5hbCBwYXRjaDoKKyAgICAtIGl0J3MgYmVlbiByZS1iYXNlZCB0byB0aGUgY3VycmVudCByZWxlYXNlCisgICAgLSBJJ3ZlIHJlLW5hbWVkIGdldF90aW1lcl9yYXcoKSB0byBnZXRfdGlja3MoKSBpbiByZXNwb25zZSB0byBKZWFuLVBpZXJyZSdzIGNvbW1lbnQKKworICAgIFRoaXMgYWZmZWN0cyB0aGUgc2JjMjQxMCwgc21kazI0MDAsIHNtZGsyNDEwIGFuZCB0cmFiIGJvYXJkcy4gSSd2ZSBjb3BpZWQgaXQKKyAgICBkaXJlY3RseSB0byB0aGUgbWFpbnRhaW5lcnMgb2YgYWxsIGV4Y2VwdCB0aGUgc2JjMjQxMCB3aGljaCBkb2Vzbid0IGhhdmUgYW4KKyAgICBlbnRyeSBpbiBNQUlOVEFJTkVSUy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEtldmluIE1vcmZpdHQgPGttb3JmaXR0QGFzZWxhcHRvcC0xLmxvY2FsZG9tYWluPgorICAgIFRlc3RlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CisKK2NvbW1pdCA4YmM0ZWU5ZTgyMTNhYmU0MDMxZWExNzIwYWEwMmZhOThkNDQwMmFkCitBdXRob3I6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KK0RhdGU6CVRodSBPY3QgMSAxNzoyMDo0MCAyMDA5ICswOTAwCisKKyAgICBzNXBjMXh4OiBhZGQgc3VwcG9ydCBTTURLQzEwMCBib2FyZAorCisgICAgQWRkcyBuZXcgYm9hcmQgU01ES0MxMDAgdGhhdCB1c2VzIHM1cGMxMDAgU29DCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogSGV1bmdKdW4sIEtpbSA8cml2ZXJmdWwua2ltQHNhbXN1bmcuY29tPgorCitjb21taXQgZGQyYzllNmEzYjY3YzhmZjU2Njk0ZTUxNWU2ZTNjN2JhZGRkOGY1MgorQXV0aG9yOiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CitEYXRlOglUaHUgT2N0IDEgMTc6MjA6MjggMjAwOSArMDkwMAorCisgICAgczVwYzF4eDogc3VwcG9ydCBzZXJpYWwgZHJpdmVyCisKKyAgICBUaGlzIHBhdGNoIGluY2x1ZGVzIHRoZSBzZXJpYWwgZHJpdmVyIGZvciBzNXBjMXh4LgorICAgIHM1cGMxeHggdWFydCBkcml2ZXIgbmVlZHMgb3duIHJlZ2lzdGVyIHNldHRpbmcgYW5kIGNsb2NrIGNvbmZpZ3VyYXRpb24uCisgICAgU28sIG5lZWQgdG8gc3BlY2lhbCBkcml2ZXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CisKK2NvbW1pdCA0Njc4ZDY3NGYwY2FjYzk4M2RjYTdmNmI5OTMzY2Q4MjkxYzk3OTdjCitBdXRob3I6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KK0RhdGU6CVRodSBPY3QgMSAxNzoyMDowOCAyMDA5ICswOTAwCisKKyAgICBzNXBjMXh4OiBzdXBwb3J0IG9uZW5hbmQgZHJpdmVyCisKKyAgICBUaGlzIHBhdGNoIGluY2x1ZGVzIHRoZSBvbmVuYW5kIGRyaXZlciBmb3IgczVwYzEwMAorCisgICAgU2lnbmVkLW9mZi1ieTogTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+CisKK2NvbW1pdCAzOTllNWFlMGQwYjJlYjQ2NjNmYzU3ODQyMDE5NjhjMDdkNDVhZmFjCitBdXRob3I6IE1pbmt5dSBLYW5nIDxtazcua2FuZ0BzYW1zdW5nLmNvbT4KK0RhdGU6CVRodSBPY3QgMSAxNzoyMDowMSAyMDA5ICswOTAwCisKKyAgICBzNXBjMXh4OiBzdXBwb3J0IFNhbXN1bmcgczVwYzF4eCBTb0MKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBzNXBjMTAwIGFuZCBzNXBjMTEwCisgICAgU29Dcy4gVGhlIHM1cGMxeHggU29DIGlzIGFuIEFSTSBDb3J0ZXggQTggcHJvY2Vzc29yLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEhldW5nSnVuLCBLaW0gPHJpdmVyZnVsLmtpbUBzYW1zdW5nLmNvbT4KKworY29tbWl0IGQwODdkMTlhOTk0ZTc0MWYwY2U1MjYxMjRiZTExN2M5MGJlNDgyYWUKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJVHVlIE9jdCAxMyAyMTo1ODoyNiAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogZHJvcCBNQUMgZGlzcGxheSBhdCBib290CisKKyAgICBUaGUgZGVmYXVsdCBCbGFja2ZpbiBib290IHdvdWxkIGRpc3BsYXkgdGhlIE1BQyBhZGRyZXNzIGZvciB0aGUgZmlyc3QgTklDLAorICAgIGJ1dCB0aGlzIHJlbGllcyBvbiB0aGUgZW52aXJvbm1lbnQuICBUaGUgY3VycmVudCBuZXQgbXVsdGkgc3RhY2sgbm8gbG9uZ2VyCisgICAgd3JpdGVzIHRoZSBkZWZhdWx0IGhhcmR3YXJlIHNldHRpbmdzIHRvIHRoZSBlbnZpcm9ubWVudCwgc28gbW9zdCBvZiB0aGUKKyAgICB0aW1lIHRoZSBkaXNwbGF5IHNob3dzIGFsbCB6ZXJvcy4gIFRoaXMgY2FuIGJlIHByZXR0eSBjb25mdXNpbmcgYW5kIHJlYWxseQorICAgIGRvZXNuJ3QgYWRkIGFueXRoaW5nIHVzZWZ1bCwgc28ganVzdCBkcm9wIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgMWYwMDNjZjQ3MzhhMTk5ZDk5YzgxODEyNDc4NDA1ODUyNmQyZDQwZQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglGcmkgT2N0IDkgMDI6MjQ6MzMgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IHJlc2V0IHdhdGNoZG9nIGluIHVkZWxheSgpCisKKyAgICBBbGwgYXJjaGVzIGFwcGFyZW50bHkgc2hvdWxkIHJlc2V0IHRoZSB3YXRjaGRvZyBpbiB0aGVpciB1ZGVsYXkgbG9vcCBhcworICAgIG5vdGVkIG9uIHRoZSBtYWlsaW5nIGxpc3QgcmVjZW50bHk6CisKKyAgICAgID4gQSBjb21tZW50IGluIGZsYXNoX3N0YXR1c19jaGVjaygpIHN1Z2dlc3RzIHRoYXQgdWRlbGF5KCkgaXMKKyAgICAgID4gZXhwZWN0ZWQgdG8gcmVzZXQgdGhlIHdhdGNoZG9nLCBidXQgSSBjYW4ndCBmaW5kIGFueSBhcmNoaXRlY3R1cmUKKyAgICAgID4gd2hlcmUgaXQgZG9lcy4KKworICAgICAgSWYgdGhpcyBpcyBtaXNzaW5nIGluIG90aGVyIGFyY2hpdGVjdHVyZXMsIGl0IHNob3VsZCBiZSBmaXhlZCBhdCB0aGUKKyAgICAgIHJvb3QgY2F1c2UsIGkuIGUuIGluIHVkZWxheSgpIG9yIGluIHRoZSByZXNwZWN0aXZlIHN1cHBvcnQgcm91dGluZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAzNzBlYzczNDU1N2QwYjBmMjY2ZTZkMDk1MzIyOWVlMTJjYWU1ZWRkCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CUZyaSBPY3QgOSAwMjoyMjoxMSAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogUmVtb3ZlIHJlbG9jYXRpb24gZml4dXBzCisKKyAgICBCbGFja2ZpbiBwaWVjZXMgbGlrZSBjb21taXQgMDYzMDUzNWUyZDA2MmRkNzNjMWNlY2E1YzYxMjVjODZkMTEyN2E0OS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGEzODAyNzliMmFiZTEzMGMyZDNkMmM4ZGUzNmY4ZmY5OGJjNmIzYjAKK0F1dGhvcjogRGFuaWVsIEdvcnN1bG93c2tpIDxEYW5pZWwuR29yc3Vsb3dza2lAZXNkLmV1PgorRGF0ZToJVHVlIFNlcCAyOSAwODowMzoxMiAyMDA5ICswMjAwCisKKyAgICBhdDkxOiBVcGRhdGUgTUVFU0MgYm9hcmQgc3VwcG9ydAorCisgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHNldmVyYWwgdXBkYXRlczoKKyAgICAtZGlzYWJsZSBDT05GSUdfRU5WX09WRVJXUklURQorICAgIC1hZGQgbmV3IGhhcmR3YXJlIHN0eWxlIHZhcmlhbnRzIGFuZCBzZXQgdGhlIGFyY2ggbnVtYmVycyBhcHByb3ByaWF0ZQorICAgIC1wYXNzIHRoZSBzZXJpYWwjIGFuZCBoYXJkd2FyZSByZXZpc2lvbiB0byB0aGUga2VybmVsCisgICAgLXJlbW92ZWQgdW51c2VkIG1hY3JvcyBmcm9tIGluY2x1ZGUvY29uZmlncy9tZWVzYy5oCisgICAgLWZpeGVkIG11bHRpbGluZSBjb21tZW50IHN0eWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgR29yc3Vsb3dza2kgPERhbmllbC5Hb3JzdWxvd3NraUBlc2QuZXU+CisKK2NvbW1pdCA5ZGYyMGNlMjExNTc2YWE3YWM3NTcxMGRjZDhkMGE2MjM2YWJmZDcwCitBdXRob3I6IFNpbW9uIEthZ3N0cm9tIDxbc2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXRdPgorRGF0ZToJVGh1IE9jdCAxIDE5OjQxOjUwIDIwMDkgKzA1MzAKKworICAgIGFybTogQ29ycmVjdCBidWlsZCB3aXRoIENPTkZJR19TWVNfSFVTSF9QQVJTRVIgc2V0CisKKyAgICBGTEFHX1BBUlNFX1NFTUlDT0xPTiBpcyBub3QgZGVmaW5lZCB3aXRob3V0IGh1c2guaCwgc28gaW5jbHVkZSB0aGF0LgorCisgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKworY29tbWl0IGRmMzgyNjI2MmMwZWZkMmJhZWM0ZGYyM2Q0NGIzOTQyYWY5OGY1YTcKK0F1dGhvcjogT2xvZiBKb2hhbnNzb24gPG9sb2ZAbGl4b20ubmV0PgorRGF0ZToJVHVlIFNlcCAyOSAxMDoyMjo0NSAyMDA5IC0wNDAwCisKKyAgICBUSTogT01BUDM6IE92ZXJvIFRvYmkgZXRoZXJuZXQgc3VwcG9ydAorCisgICAgQWRkIHNldHVwIGZvciBldGhlcm5ldCBvbiBUb2JpLCBhbGxvd2luZyBrZXJuZWwvcmFtZGlzayB0byBiZSBsb2FkZWQKKyAgICBvdmVyIHRmdHAuCisKKyAgICBUaGlzIGFsc28gcmVmYWN0b3JzIHRoZSBzbWM5MTF4IGRyaXZlciB0byBhbGxvdyBmb3IgZGV0ZWN0aW5nIHdoZW4gdGhlCisgICAgY2hpcCBpcyBtaXNzaW5nLiBJLmUuIHRoZSBkZXRlY3RfY2hpcCgpIGZ1bmN0aW9uIGlzIGNhbGxlZCBlYXJsaWVyIGFuZAorICAgIHdpbGwgYWJvcnQgZ3JhY2VmdWxseSB3aGVuIHRoZSBDaGlwIElEIHJlYWQgcmV0dXJucyBhbGwgMSdzLgorCisgICAgU2lnbmVkLW9mZi1ieTogT2xvZiBKb2hhbnNzb24gPG9sb2ZAbGl4b20ubmV0PgorICAgIEFja2VkLWJ5OiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorICAgIEFja2VkLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMmE2Y2M5N2I5MTk5N2FlNDg1MzEyYWM5MWZmYmNlYTZhODliNjYzYQorQXV0aG9yOiBPbG9mIEpvaGFuc3NvbiA8b2xvZkBsaXhvbS5uZXQ+CitEYXRlOglUdWUgU2VwIDI5IDEwOjIxOjI5IDIwMDkgLTA0MDAKKworICAgIFNNQzkxMVg6IEFkZCBjaGlwIGF1dG8gZGV0ZWN0aW9uCisKKyAgICBSZWZhY3RvciB0aGUgc21jOTExeCBkcml2ZXIgdG8gYWxsb3cgZm9yIGRldGVjdGluZyB3aGVuIHRoZSBjaGlwIGlzIG1pc3NpbmcuCisgICAgSS5lLiB0aGUgZGV0ZWN0X2NoaXAoKSBmdW5jdGlvbiBpcyBjYWxsZWQgZWFybGllciBhbmQgd2lsbCBhYm9ydCBncmFjZWZ1bGx5CisgICAgd2hlbiB0aGUgQ2hpcCBJRCByZWFkIHJldHVybnMgYWxsIDEncy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE9sb2YgSm9oYW5zc29uIDxvbG9mQGxpeG9tLm5ldD4KKyAgICBBY2tlZC1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKyAgICBBY2tlZC1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDAyOTdlYzdlMmE0MDM5YjhhMjgzNDZmNTJmM2NjY2E0ZGIxZGRjNjIKK0F1dGhvcjogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorRGF0ZToJVHVlIFNlcCAyOSAxMDoxOTo0OSAyMDA5IC0wNDAwCisKKyAgICBUSSBPTUFQMyBVc2UgYXJtIGluaXQgc2VxdWVuY2UgdG8gaW5pdGlhbGl6ZSBpMmMKKworICAgIFRoaXMgY2hhbmdlcyBmaXhlcyBhbiBlYXJseSBpMmMgZXJyb3IuCisKKyAgICBJdCBhcHBlYXJzIHRoYXQgSTJDIGlzIHdvcmtpbmcgYmVjYXVzZSBvbmNlIGEgcmVhZCBvciB3cml0ZQorICAgIGVycm9yIGlzIGRldGVjdGVkLCB0aGUgb21hcDI0eHhfaTJjIGRyaXZlciBjYWxscyBpMmNfaW5pdAorICAgIGluc2lkZSBpdHMgZXJyb3IgaGFuZGxpbmcgY2hlY2suCisKKyAgICBXaGlsZSBpdCBpcyBvayB0byBhdHRlbXB0IGVycm9yIGhhbmRsaW5nIHRoaXMgd2F5LCB0aGUgYm9hcmRzCisgICAgbXVzdCBub3QgZGVwZW5kIG9uIHRoaXMgc2lkZSBlZmZlY3QgdG8gaW5pdGlhbGl6ZSBpdCdzIGkyYy4KKworICAgIEluc3RlYWQgb2YgZXhwbGljaXRseSBjYWxsaW5nIGkyY19pbml0IGZvciBldmVyeSBib2FyZCwgdXNlCisgICAgdGhlIGdlbmVyaWMgYXJtIGluaXRpYWxpemF0aW9uIGluIGxpYl9hcm0vYm9hcmQuYy4gQnkgZGVmaW5pbmcKKyAgICB0aGUgY29uZmlnIHZhcmlhYmxlIENPTkZJR19IQVJEX0kyQywgdGhlIG9tYXAzIGkyYyBpbml0aWFsaXphdGlvbgorICAgIGlzIGluY2x1ZGVkIGluIHRoZSBpbml0X3NlcXVlbmNlIHRhYmxlLgorCisgICAgUnVuIHRlc3RlZCBvbiBCZWFnbGUuCisgICAgQ29tcGlsZSB0ZXN0ZWQgb24gdGhlIG9tYXAzJ3MKKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKyAgICBBY2tlZC1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKworY29tbWl0IDRkZjMwZjNiYjcyODViMmM5NjI3MTNhNWM2OTNjMTZmZDkwODg1ZTAKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJVHVlIFNlcCAyOSAwOTo0MzowNCAyMDA5IC0wNDAwCisKKyAgICBUSTogRGFWaW5jaSBETTM2NTogRW5hYmxpbmcgbmV0d29yayBTdXBwb3J0IG9uIERNMzY1IEVWTQorCisgICAgVGhpcyBwYXRjaCBlbmFibGVzIEVNQUMgb24gdGhlIERNMzY1IEVWTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBBY2tlZC1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgMDBlMTY2NWEzY2Y5NTZlMDlhYzJjZTg2ZWY2ZWM0NTlmNmJmYjMzYworQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglUdWUgU2VwIDI5IDEwOjAyOjM4IDIwMDkgLTA0MDAKKworICAgIFRJOiBEYVZpbmNpOiBHUElPIGhlYWRlciBmaWxlIGFuZCBkZWZpbml0aW9ucworCisgICAgU29tZSBEYVZpbmNpIFNPQydzIHVzZSBHUElPcyB0byBlbmFibGUgRU1BQyBhbmQgRE05MDAwLgorICAgIFRoaXMgcGF0Y2ggYWRkcyBzb21lIGRlZmluaXRpb25zIGZvciBHUElPIHJlZ2lzdGVycyBhbmQgYWxzbyBhZGRzCisgICAgc3RydWN0dXJlcyBmb3IgR1BJTy4KKyAgICBBIHNlcGFyYXRlIGhlYWRlciBmaWxlIGlzIGJlaW5nIGFkZGVkIHNvIHRoYXQgaW4gZnV0dXJlIHdlCisgICAgY2FuIGhhdmUgYSBEYVZpbmNpIEdQSU8gZHJpdmVyIHNpbWlsZXIgdG8gT01BUC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBBY2tlZC1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgOTVhZTgwM2FmYmRkOWY2NzNjOTRiOTkyZWE2MjRhMTBkMjUyYWZjMgorQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglGcmkgU2VwIDE4IDE3OjMwOjA1IDIwMDkgLTA0MDAKKworICAgIFRJOiBEYVZpbmNpIERNNjQ2eDogVXBkYXRlIGZsYWcgdXNlZCB0byByZXByZXNlbnQgRE02NDZ4IFNPQydzCisKKyAgICBJbiB0aGUgRGFWaW5jaSBzcGVjaWZpYyBjb2RlLCB3ZSB1c2UgYm90aCBDT05GSUdfU09DX0RNNjQ2WCBhbmQKKyAgICBDT05GSUdfU09DX0RNNjQ2eCB0byByZXByZXNlbnQgRE02NDZ4IHNwZWNpZmljIGNvZGUuCisgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIG9jY3VycmVuY2VzIG9mIENPTkZJR19TT0NfRE02NDZ4IHRvCisgICAgQ09ORklHX1NPQ19ETTY0NlguIFRoaXMgaXMgYmVjYXVzZSBmb3IgRE02NDR4IHNlcmllcyBvZiBTT0NzIHdlIHVzZQorICAgIHRoZSBmbGFnIENPTkZJR19TT0NfRE02NDRYLiBXZSB3YW50IHNvbWUgdW5pZm9ybWl0eS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBBY2tlZC1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgZmM5MTY1ZmRiM2IwMjFhYThmZjAyNDE3NjkyMjIwZmU5MzQ0MDcyYgorQXV0aG9yOiBPbG9mIEpvaGFuc3NvbiA8b2xvZkBsaXhvbS5uZXQ+CitEYXRlOglNb24gU2VwIDI4IDA4OjE5OjMwIDIwMDkgLTA0MDAKKworICAgIE9NQVAzOiBDbGVhbiB1cCB3aGl0ZXNwYWNlIGluIG11eCBjb25maWdzCisKKyAgICBTd2l0Y2ggZnJvbSBzcGFjZS1iYXNlZCBpbmRlbnRhdGlvbiB0byB0YWItYmFzZWQgaW4gbXV4IGNvbmZpZ3MsIGFzIHBvaW50ZWQKKyAgICBvdXQgYnkgV0QgYXQ6CisKKyAgICBodHRwOi8vbGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1ib290LzIwMDktU2VwdGVtYmVyLzA2MTI0MS5odG1sCisKKyAgICBOb3RoaW5nIGJ1dCB3aGl0ZXNwYWNlIGNoYW5nZXMgaW4gdGhpcyBwYXRjaCAoZGlmZiAtdyBnaXZlcyBubyBvdXRwdXQpLgorCisgICAgU2lnbmVkLW9mZi1ieTogT2xvZiBKb2hhbnNzb24gPG9sb2ZAbGl4b20ubmV0PgorCitjb21taXQgOWRlMDIxMmJkN2M0YzgyYTdlOGMyYTJjODcxNGY4YzdhYmM1N2QwOAorQXV0aG9yOiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorRGF0ZToJTW9uIFNlcCAyOCAwODoxNzo1MCAyMDA5IC0wNDAwCisKKyAgICBPTUFQMyBNTUM6IEZpeCB3YXJuaW5nIGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlcgorCisgICAgRml4IHdhcm5pbmcKKyAgICBEZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IERpcmsgQmVobWUgPGRpcmsuYmVobWVAZ29vZ2xlbWFpbC5jb20+CisgICAgQ0M6IFN0ZXZlIFNha29tYW4gPHNha29tYW5AZ21haWwuY29tPgorICAgIEFja2VkLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBlOTJkYWViNWMyMDUwNDM4NDAyYjg3YzdkNjE0ZThhMTNjMjk0MzQ4CitBdXRob3I6IFNpbW9uIEthZ3N0cm9tIDxbc2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXRdPgorRGF0ZToJVHVlIFNlcCAyMiAwNDowMTowMSAyMDA5ICswNTMwCisKKyAgICBTdXBwb3J0IGZvciB0aGUgT3BlblJEIGJhc2UgYm9hcmQKKworICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBib3Jyb3dlZCBmcm9tIHRoZSBzaGVldmFwbHVnIGJvYXJkIGFuZCB0aGUgTWFydmVsbAorICAgIDEuMS40IGNvZGUuIFVuc3VwcG9ydGVkIChvciB1bnRlc3RlZCkgaXMgdGhlIFNEIGNhcmQsIFBDSWUgYW5kIFNBVEEuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CisKK2NvbW1pdCBhNjJlNzhmYzQ0NGM2N2Y5NThiZTQ4ODkxYmVmM2RhYjBlOWViMjg1CitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMjA6MTU6MTcgMjAwOSArMDUzMAorCisgICAgS2lya3dvb2Q6IG12ODhmNjI4MWd0d19nZTogQWRkIGt3YmltYWdlIGJ1aWxkIHN1cHBvcnQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBrd2JpbWFnZSBjb25maWd1cmF0aW9uIGZpbGUKKyAgICAodXNlZCBieSBta2ltYWdlIHV0aWxpdHkpCisgICAgdG8gc3VwcG9ydCB1LWJvb3Qua3diIHRhcmdldCBvbiBtdjg4ZjYyODFndHdfZ2UgYm9hcmQuCisKKyAgICBUbyBjcmVhdGUgS2lya3dvb2QgYm9vdCBpbWFnZSB0byBiZSBmbGFzaGVkIG9uIFNQSSBGbGFzaCwKKyAgICBhZGRpdGlvbmFsIHBhcmFtZXRlciB1LWJvb3Qua3diIG5lZWQgdG8gYmUgcGFzc2VkIGR1cmluZyBtYWtlLgorCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorCitjb21taXQgNWJjN2NiYzE1YjE4OTA2ODJjMGIyNzlmNzA4OTE0NTE4YmQyNWY4ZAorQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglNb24gU2VwIDIxIDE4OjIzOjExIDIwMDkgKzA1MzAKKworICAgIEtpcmt3b29kOiByZDYyODFhOiBBZGQga3diaW1hZ2UgYnVpbGQgc3VwcG9ydAorCisgICAgVGhpcyBwYXRjaCBhZGRzIGt3YmltYWdlIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgICh1c2VkIGJ5IG1raW1hZ2UgdXRpbGl0eSkKKyAgICB0byBzdXBwb3J0IHUtYm9vdC5rd2IgdGFyZ2V0IG9uIHJkNjI4MWEgcGxhdGZvcm0uCisKKyAgICBUbyBjcmVhdGUgS2lya3dvb2QgYm9vdCBpbWFnZSB0byBiZSBmbGFzaGVkIG9uIE5BTkQsCisgICAgYWRkaXRpb25hbCBwYXJhbWV0ZXIgdS1ib290Lmt3YiBuZWVkIHRvIGJlIHBhc3NlZCBkdXJpbmcgbWFrZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKworY29tbWl0IDIzYjgwOTgyYTAyYTQzYmY0ZWFkOTE1NzRjOWQ2ZjFiNjQ3Y2NjOGYKK0F1dGhvcjogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorRGF0ZToJU3VuIFNlcCAyNyAxMToxMDowOSAyMDA5IC0wNTAwCisKKyAgICBBZGQgc3VwcG9ydCBmb3IgRXVrcmVhIENQVTkyNjAvQ1BVOUcyMCBTQkMKKworICAgIHRoZXNlIGJvYXJkcyBhcmUgYnVpbHQgYXJvdW5kIEF0bWVsJ3MgQVQ5MVNBTTkyNjAvOUcyMCBhbmQgaGF2ZQorICAgIHVwIHRvIDY0TUIgb2YgTk9SIGZsYXNoLCB1cCB0byAxMjhNQiBvZiBTRFJBTSwgdXAgdG8gMkdCIG9mIE5BTkQKKyAgICBhbmQgaW5jbHVkZSBhIDEwLzEwMCBFdGhlcm5ldCBQSFkgaW4gUk1JSSBtb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBkODM4MGM5ZDM1ZTg4NzU5Yzk2ZTY4YTAzNzM4NDQ2Y2EwY2IyOTJmCitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVN1biBTZXAgMjcgMDc6NDc6MjQgMjAwOSAtMDUwMAorCisgICAgQWRkIHN1cHBvcnQgZm9yIEV1a3JlYSBDUFVBVDkxIFNCQworCisgICAgQ1BVQVQ5MSBpcyBidWlsdCBhcm91bmQgQXRtZWwncyBBVDkxUk05MjAwIGFuZCBoYXMgdXAgdG8gMTZNQiBvZiBOT1IKKyAgICBmbGFzaCwgdXAgdG8gMTI4TUIgb2YgU0RSQU0sIGFuZCBpbmNsdWRlcyBhIE1pY3JlbCBLUzg3MjEgUEhZIGluIFJNSUkKKyAgICBtb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBlYjk1YWExNWU2NDRjMjliMDE4MzI3MDNhYTQ5NjRmZTQxOTE3MGYwCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CU1vbiBTZXAgMTQgMTQ6NTc6NDcgMjAwOSAtMDQwMAorCisgICAgVEk6IERhVmluY2kgRE0zNjU6IE1pbm9yIGNvbmZpZyBjbGVhbnVwCisKKyAgICBUaGUgRE0zNjUgY29uZmlnIHdhcyB1c2luZyB0aGUgJ0NPTkZJR19DTURfU0FWRUVOVicgZmxhZy4KKyAgICBUaGlzIGlzIGFscmVhZHkgaW5jbHVkZWQgd2hlbiB3ZSBpbmNsdWRlIHRoZQorICAgIGNvbmZpZ19jbWRfZGVmYXVsdC5oIGhlYWRlciBmaWxlLiBTbyB0aGlzIGZsYWcgaXMgcmVtb3ZlZC4KKyAgICBBbHNvIGFub3RoZXIgZmxhZyB0byBlbmFibGUgTkFORCBmdW5jdGlvbnMgd2FzIGJlaW5nCisgICAgZW5hYmxlZCBpbmNvcnJlY3RseS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IDVkNzgzYzFmZmQ2OTFmZmRhZGJjMmMyZjc5NmM0MTQ4MWI3Y2RjZTcKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJTW9uIFNlcCAxNCAxNTowMzowNiAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpIERNMzY1OiBSZW1vdmluZyBoZWFkZXIgZmlsZSB3aGljaCBkb2VzIG5vdCBleGlzdAorCisgICAgVGhlIERhVmluY2kgRE0zNjUgRVZNIGJvYXJkIHNwZWNpZmljIGNvZGUgd2FzIGluY2x1ZGluZyBhIGhlYWRlciBmaWxlCisgICAgd2hpY2ggZG9lcyBub3QgZXhpc3QuIFNvIHJlbW92aW5nIHRoaXMgaGVhZGVyIGZpbGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA0MDllYzM3YmQ4YWU4ODIyZDI3NmU3NzQxOWQ4OTk1NzE4OTFiMTkxCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVR1ZSBTZXAgOCAxODowODowNiAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpOiBETTM1NTogQ29uZmlnIENsZWFudXAgYW5kIFVwZGF0ZQorCisgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dpbmcKKyAgICAxKSBFbmFibGVzIHRoZSBOQU5EIGRyaXZlciB3aGljaCBpcyBub3cgYXZhaWxhYmxlLgorICAgIDIpIEVuYWJsZXMgdGhlICdDT05GSUdfTVREX0RFVklDRScgYXMgd2l0aG91dCB0aGlzIHRoZQorICAgIGNvbXBpbGF0aW9uIHdpbGwgZmFpbAorICAgIDMpIFdlIG5vdyBoYXZlIGEgc2FmZSBwbGFjZSB0byBzdG9yZSBlbnZpcm9ubWVudCBhbmQgZGVmaW5lcworICAgIGFuIG9mZnNldCB3aGVyZSB0aGlzIGNhbiBiZSBzdG9yZWQuIFRoaXMgb2Zmc2V0IHZhbHVlIGlzIHN1Y2ggdGhhdCBpdCBpcyBhZnRlcgorICAgIHRoZSBsb2NhdGlvbiB3aGVyZSBVLUJvb3QgaXMgZmxhc2hlZCB1c2luZyBUSSBmbGFzaCB1dGlsaXRpZXMuCisgICAgNCkgRW5hYmxlcyBCb290ZGVsYXkKKyAgICA1KSBJbmNyZWFzZXMgbWFsbG9jKCkgYXJlbmEgc2l6ZS4gTWFudWZhY3R1cmVycyBhcmUgY29taW5nIG91dCB3aXRoCisgICAgTkFORCB3aXRoIGxhcmdlIGJsb2NrcyBzaXplcyBvZiB1cHRvIDEgTWlCLiBJdCBoYXMgYmVlbiBub3RpY2VkIHRoYXQKKyAgICBhcyB0aGUgYmxvY2sgc2l6ZSBvZiB0aGUgTkFORCB1c2VkIGlzIGluY3JlYXNlZCwgaWYgdGhpcyBwYXJ0aWN1bGFyCisgICAgdmFsdWUgaXMgbm90IGluY3JlYXNlZCwgdGhlIE5BTkQgZHJpdmVyIHdpbGwgb3V0cHV0IG91dCBvZiBtZW1vcnkKKyAgICBlcnJvcnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA3OTA4Yzk3YTEwNjc2NWFkODgxNmJmMjI3MWE1YmYzMTU3MjhiMjc0CitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVR1ZSBTZXAgOCAxMTozNzozOSAyMDA5IC0wNDAwCisKKyAgICBUSSBEYVZpbmNpOiBETTY0Nng6IEluaXRpYWwgU3VwcG9ydCBmb3IgRE02NDZ4IFNPQworCisgICAgRE02NDZ4IGlzIGFuIFNPQyBmcm9tIFRJIHdoaWNoIGhhcyBib3RoIGFuIEFSTSBhbmQgYSBEU1AuCisgICAgVGhlcmUgYXJlIG11bHRpcGxlIHZhcmlhbnRzIG9mIHRoZSBTT0MgbWFpbmx5IGRlYWxpbmcgd2l0aCBkaWZmZXJlbnQKKyAgICBjb3JlIHNwZWVkcy4KKyAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIGluaXRpYWwgZnJhbWV3b3JrIGZvciB0aGUgRE02NDZ4IFNPQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IDVkMGY1MzYyNGMyNGVhZjgyZDU4MzY4YTZhNWI4NDc2MzkyZGQ1YzcKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJV2VkIFNlcCA5IDE1OjI2OjAwIDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2k6IERNNjQ0NjogRml4IENvbXBpbGF0aW9uIGVycm9yIGluIE5BTkQgbW9kZQorCisgICAgVGhlIERlZmF1bHQgbW9kZSB0aGF0IGlzIGJ1aWx0IGZvciB0aGUgRGF2aW5jaSBEVkVWTSBoYXBwZW5zCisgICAgdG8gYmUgdGhlIE5PUiBtb2RlLgorICAgIFdoZW4gd2Ugd2FudCB0byBidWlsZCBmb3IgdGhlIE5BTkQgbW9kZSwgd2UgZ2V0IGEgY29tcGlsYXRpb24KKyAgICBlcnJvci4gVGhpcyBpcyBvdmVyY29tZSBieSBkZWZpbmluZyB0aGUgQ09ORklHX01URF9ERVZJQ0UKKyAgICBmbGFnIGluIHRoZSBOQU5EIG1vZGUuCisgICAgVGhlIGltYWdlIGJ1aWx0IGZvciBOQU5EIG1vZGUgd2FzIHN1Y2Nlc3NmdWxseSB0ZXN0ZWQgb24gdGhlCisgICAgRGFWaW5jaSBETTY0NDYgRVZNLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorCitjb21taXQgN2EyYWE4YjY4MTIwZjMzM2VkMmVkYzMzNDc1Y2ExOTU4MTBkNmNiMQorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglUaHUgU2VwIDEwIDE1OjI3OjU3IDIwMDkgLTA0MDAKKworICAgIE9NQVAzIE1vdmUgY2FjaGUgcm91dGluZSB0byBjYWNoZS5TCisKKyAgICB2N19mbHVzaF9kY2FjaGVfYWxsLCBiZWNhdXNlIGl0IGRlcGVuZHMgb24gb21hcCBST00gY29kZSBpcyBub3QKKyAgICBnZW5lcmljLiAgUmVuYW1lIHRoZSBmdW5jdGlvbiB0byAnaW52YWxpZGF0ZV9kY2FjaGUnIGFuZCBtb3ZlIGl0CisgICAgdG8gdGhlIG9tYXAgY3B1IGRpcmVjdG9yeS4KKworICAgIENvbGxlY3QgdGhlIG90aGVyIG9tYXAgY2FjaGUgcm91dGluZXMgbDJfY2FjaGVfZW5hYmxlIGFuZAorICAgIGwyX2NhY2hlX2Rpc2FibGUgd2l0aCBpbnZhbGlkZV9kY2FjaGUgaW50byBjYWNoZS5TLiAgVGhpcworICAgIG1lYW5zIHJlbW92aW5nIHRoZSBvbGQgY2FjaGUuYyBmaWxlIHRoYXQgY29udGFpbmVkIGwyX2NhY2hlX2VuYWJsZQorICAgIGFuZCBsMl9jYWNoZV9kaXNhYmxlLgorCisgICAgVGhlIGNvbnZlcnNpb24gZnJvbSBjYWNoZS5jIHRvIGNhY2hlLlMgd2FzIGRvbmUgbW9zdCB0aHJvdWdoCisgICAgZGlzYXNzZW1ibGluZyB0aGUgdWJvb3QgYmluYXJ5LiAgVGhlIG9ubHkgc2lnbmlmaWNhbnQgY2hhbmdlIHdhcworICAgIHRvIGNoYW5nZSB0aGUgY29tcGFyaXNpb24gZm9yIHRoZSByZXR1cm4gb2YgZ2V0X2NwdV9yZXYgZnJvbQorCisgICAgICAgY21wCXIwLCAjMAorICAgICAgIGJlcQllYXJsaWVyX3RoYW5fbGFiZWwKKworICAgIFdoaWNoIHdhcyBsb3N0IGluZm9ybWF0aW9uIHRvCisKKyAgICAgICBjbXAJcjAsICNDUFVfM1hYX0VTMjAKKyAgICAgICBibHQJZWFybGllcl90aGFuX2xhYmVsCisKKyAgICBUaGUgcGF0aHMgdGhyb3VnaCB0aGUgZW5hYmxlIHJvdXRpbmUgd2VyZSB2ZXJpZmllZCBieQorICAgIGFkZGluZyBhbiBpbmZpbml0ZSBsb29wIGFuZCBzZWVpbmcgdGhlIGhhbmcuICBUaGVuCisgICAgcmVtb3ZpbmcgdGhlIGluZmluaXRlIGxvb3AgYW5kIHNlZWluZyBpdCBjb250aW51ZS4KKworICAgIFRoZSBkaXNhYmxlIHJvdXRpbmUgaXMgc2ltaWxhciBlbm91Z2ggdGhhdCBpdCB3YXMgbm90CisgICAgdGVzdGVkIHdpdGggdGhpcyBtZXRob2QuCisKKyAgICBSdW4gdGVzdGVkIGJ5IGNvbGQgYm9vdGluZyBmcm9tIG5hbmQgb24gYmVhZ2xlIGFuZCB6b29tMS4KKyAgICBDb21waWxlIHRlc3RlZCBvbiBNQUtFQUxMIGFybS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKworY29tbWl0IGExNmRmMmMxMTE4ODI5N2VjYTQzY2Y2MDgwYzcwZmI2OWI5NjAyMzIKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJVHVlIFNlcCA4IDE3OjA5OjUyIDIwMDkgLTA0MDAKKworICAgIFRJIERhVmluY2k6IFJlbW92ZSByZWZlcmVuY2VzIHRvIFNaX3h4CisKKyAgICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGFzbS9zaXplcy5oIGhlYWRlciBmaWxlIGZyb20gYmVpbmcKKyAgICBpbmNsdWRlZCBpbiB0aGUgRGFWaW5jaSBTT0MgY29uZmlncy4KKyAgICBSZWZlcmVuY2VzIHRvIFNaX3h4IGhhdmUgYmVlbiByZXBsYWNlZCBieSBhcHByb3ByaWF0ZQorICAgIGJpdCBzaGlmdGVkIHZhbHVlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBBY2tlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDI4NTg3MGY3NTM3OGFjYTQxYzUwNjNlNDM1OGFkOTNiZjMwMTRmZDgKK0F1dGhvcjogRWQgU3dhcnRob3V0IDxFZC5Td2FydGhvdXRAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBPY3QgOSAwMToyNzoxOCAyMDA4IC0wNTAwCisKKyAgICBMZWF2ZSB4ODZlbXUgb3AgY29kZSB0YWJsZXMgaW4gZGVmYXVsdCBzZWN0aW9uCisKKyAgICBGb3JjaW5nIHRoZSB0YWJsZXMgaW50byBnb3QyIGNhdXNlZCBleHRyYSByZWxvY2F0aW9uIHdoZW4gdXNpbmcgLW1yZWxvY2F0YWJsZS4KKyAgICBUaGlzIHBhdGNoIHJlcXVpcmVzIGFueSBib2FyZCBkZWZpbmluZyBDT05GSUdfQklPU0VNVSB0byB1c2UgLW1yZWxvY2F0YWJsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEVkIFN3YXJ0aG91dCA8RWQuU3dhcnRob3V0QGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IEppbiBaaGVuZ3hpb25nIDxKYXNvbi5KaW5AZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGJlMjI1NDQyM2I4NjU3Mjg0MWFhNzBmZjA1ZDIwOTMzZDFiNDk4MjMKK0F1dGhvcjogTHVpZ2kgJ0NvbWlvJyBNYW50ZWxsaW5pIDxsdWlnaS5tYW50ZWxsaW5pQGlkZi1oaXQuY29tPgorRGF0ZToJU2F0IE9jdCAxMCAxMjo0MjoyMiAyMDA5ICswMjAwCisKKyAgICBVcGRhdGUgYWxsIGJvYXJkIHRvIHN1cHBvcnQgbmV3IGJibWlpcGh5IGRyaXZlciAod2l0aCBtdWx0aWJ1cyBzdXBwb3J0KQorCisgICAgU2lnbmVkLW9mZi1ieTogTHVpZ2kgJ0NvbWlvJyBNYW50ZWxsaW5pIDxsdWlnaS5tYW50ZWxsaW5pQGlkZi1oaXQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCAzMTBjZWNiOGNjZGJjOGE5YmU1ODBlNzViMmZkMzYyMTc5ZDc4NTM1CitBdXRob3I6IEx1aWdpICdDb21pbycgTWFudGVsbGluaSA8bHVpZ2kubWFudGVsbGluaUBpZGYtaGl0LmNvbT4KK0RhdGU6CVNhdCBPY3QgMTAgMTI6NDI6MjEgMjAwOSArMDIwMAorCisgICAgQWRkIGJiX21paXBoeV9pbml0IGNhbGwgYmVmb3JlIGFueSBldGhlcm5ldCBicmluZy11cCBjb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogTHVpZ2kgJ0NvbWlvJyBNYW50ZWxsaW5pIDxsdWlnaS5tYW50ZWxsaW5pQGlkZi1oaXQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA0YmEzMWFiMzNhYzgyNDYzNWZjYjQ5YWM2MDkwNzBhOWViY2FiN2YwCitBdXRob3I6IEx1aWdpICdDb21pbycgTWFudGVsbGluaSA8bHVpZ2kubWFudGVsbGluaUBpZGYtaGl0LmNvbT4KK0RhdGU6CVNhdCBPY3QgMTAgMTI6NDI6MjAgMjAwOSArMDIwMAorCisgICAgUmV3cml0ZSB0aGUgbWlpcGh5YmIgKEJpdC1iYW5nZWQgTUlJIGJ1cyBkcml2ZXIpIGluIG9yZGVyIHRvIHN1cHBvcnQgYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBtaWkgYnVzZXMuCisKKyAgICBUaGlzIGZlYXR1cmUgaXMgdXNlZnVsIHdoZW4geW91ciBib2FyZCB1c2VzIGRpZmZlcmVudCBtaWkgYnVzZXMgZm9yIGRpZmZlcmVudAorICAgIHBoeXMgYW5kIGFsbCAob3IgYSBwYXJ0KSBvZiB0aGVzZSBidXNlcyBhcmUgaW1wbGVtZW50ZWQgdmlhIGJpdC1iYW5naW5nIG1vZGUuCisKKyAgICBUaGUgZHJpdmVyIHJlcXVpcmVzIHRoYXQgdGhlIGZvbGxvd2luZyBtYWNyb3Mgc2hvdWxkIGJlIGRlZmluZWQgaW50byB0aGUgYm9hcmQKKyAgICBjb25maWd1cmF0aW9uIGZpbGU6CisKKyAgICBDT05GSUdfQklUQkFOR01JSQkgICAgLSBFbmFibGUgdGhlIG1paXBoeWJiIGRyaXZlcgorICAgIENPTkZJR19CSVRCQU5HTUlJX01VTFRJIC0gRW5hYmxlIHRoZSBtdWx0aSBidXMgc3VwcG9ydAorCisgICAgSWYgdGhlIENPTkZJR19CSVRCQU5HTUlJX01VTFRJIGlzIG5vdCBkZWZpbmVkLCB0aGUgYm9hcmQncyBjb25maWcgZmlsZSBuZWVkcworICAgIHRvIGRlZmluZSBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIG1hY3JvczoKKworICAgIE1JSV9JTklUCSAgLSBHZW5lcmljIGNvZGUgdG8gZW5hYmxlIHRoZSBNSUkgYnVzIChvcHRpb25hbCkKKyAgICBNRElPX0RFQ0xBUkUgIC0gRGVjbGFyYXRpb24gbmVlZGVkIHRvIGFjY2VzcyB0byB0aGUgTURJTyBwaW4gKG9wdGlvbmFsKQorICAgIE1ESU9fQUNUSVZFICAgLSBBY3RpdmF0ZSB0aGUgTURJTyBwaW4gYXMgb3V0IHBpbgorICAgIE1ESU9fVFJJU1RBVEUgLSBBY3RpdmF0ZSB0aGUgTURJTyBwaW4gYXMgaW5wdXQvdHJpc3RhdGUgcGluCisgICAgTURJT19SRUFECSAgLSBSZWFkIHRoZSBNRElPIHBpbgorICAgIE1ESU8odikJICAtIFdyaXRlIHYgb24gdGhlIE1ESU8gcGluCisgICAgTURDX0RFQ0xBUkUgICAtIERlY2xhcmF0aW9uIG5lZWRlZCB0byBhY2Nlc3MgdG8gdGhlIE1EQyBwaW4gKG9wdGlvbmFsKQorICAgIE1EQyh2KQkgIC0gV3JpdGUgdiBvbiB0aGUgTURDIHBpbgorCisgICAgVGhlIHByZXZpb3VzIG1hY3JvcyBtYWtlIHRoZSBkcml2ZXIgY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyB2ZXJzaW9uCisgICAgKHRoYXQgZGlkbid0IHN1cHBvcnQgdGhlIG11bHRpLWJ1cykuCisKKyAgICBXaGVuIHRoZSBDT05GSUdfQklUQkFOR01JSV9NVUxUSSBpcyBhbHNvIGRlZmluZWQsIHRoZSBib2FyZCBjb2RlIG5lZWRzIHRvIGZpbGwKKyAgICB0aGUgYmJfbWlpcGh5X2J1c2VzW10gYXJyYXkgd2l0aCBhIHJlY29yZCBmb3IgZWFjaCByZXF1aXJlZCBidXMgYW5kIGRlY2xhcmUKKyAgICB0aGUgYmJfbWlpcGh5X2J1c2VzX251bSB2YXJpYWJsZSB3aXRoIHRoZSBudW1iZXIgb2YgbWlpIGJ1c2VzLgorICAgIFRoZSByZWNvcmQgKHN0cnVjdCBiYl9taWlwaHlfYnVzKSBoYXMgdGhlIGZvbGxvd2luZyBmaWVsZHMvY2FsbGJhY2tzIChzZWUKKyAgICBtaWlwaHkuaCBmb3IgZGV0YWlscyk6CisKKyAgICBjaGFyIG5hbWVbXQkJICAgLSBUaGUgc3ltYm9saWMgbmFtZSB0aGF0IG11c3QgYmUgZXF1YWwgdG8gdGhlIE1JSSBidXMKKwkJCSAgICAgcmVnaXN0ZXJlZCBuYW1lCisgICAgaW50ICgqaW5pdCkoKQkgICAtIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBhdCBzdGFydHVwIHRpbWUgKGp1c3QKKwkJCSAgICAgYmVmb3JlIHRoZSBFdGhlcm5ldCBpbml0aWFsaXphdGlvbikKKyAgICBpbnQgKCptZGlvX2FjdGl2ZSkoKSAgIC0gQWN0aXZhdGUgdGhlIE1ESU8gcGluIGFzIG91dHB1dAorICAgIGludCAoKm1kaW9fdHJpc3RhdGUpKCkgLSBBY3RpdmF0ZSB0aGUgTURJTyBwaW4gYXMgaW5wdXQvdHJpc3RhdGUgcGluCisgICAgaW50ICgqc2V0X21kaW8pKCkJICAgLSBXcml0ZSB0aGUgTURJTyBwaW4KKyAgICBpbnQgKCpnZXRfbWRpbykoKQkgICAtIFJlYWQgdGhlIE1ESU8gcGluCisgICAgaW50ICgqc2V0X21kYykoKQkgICAtIFdyaXRlIHRoZSBNREMgcGluCisgICAgaW50ICgqZGVsYXkpKCkJICAgLSBEZWxheSBmdW5jdGlvbgorICAgIHZvaWQgKnByaXYJCSAgIC0gUHJpdmF0ZSBkYXRhIHVzZWQgYnkgYm9hcmQgc3BlY2lmaWMgY29kZQorCisgICAgVGhlIGJvYXJkIGNvZGUgd2lsbCBsb29rIGxpa2U6CisKKyAgICBzdHJ1Y3QgYmJfbWlpcGh5X2J1cyBiYl9taWlwaHlfYnVzZXNbXSA9IHsKKyAgICAgeyAubmFtZSA9IG1paWJ1cyMxLCAuaW5pdCA9IGIxX2luaXQsIC5tZGlvX2FjdGl2ZSA9IGIxX21kaW9fYWN0aXZlLCAuLi4gfSwKKyAgICAgeyAubmFtZSA9IG1paWJ1cyMyLCAuaW5pdCA9IGIyX2luaXQsIC5tZGlvX2FjdGl2ZSA9IGIyX21kaW9fYWN0aXZlLCAuLi4gfSwKKyAgICAgLi4uCisgICAgaW50IGJiX21paXBoeV9idXNlc19udW0gPSBzaXplb2YoYmJfbWlpcGh5X2J1c2VzKSAvCisJCQkgICAgICBzaXplb2YoYmJfbWlpcGh5X2J1c2VzWzBdKTsKKworICAgIFNpZ25lZC1vZmYtYnk6IEx1aWdpICdDb21pbycgTWFudGVsbGluaSA8bHVpZ2kubWFudGVsbGluaUBpZGYtaGl0LmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgZWZhZjZmMWJmNmViZGQ4ZjE2YjBkMGMyOTYwYWJlOGQwNmY5NWFmNAorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBPY3QgMiAxODo1NDoyMCAyMDA5IC0wNDAwCisKKyAgICBtcGM4M3h4OiBjb3NtZXRpYyBjb21tZW50IHVwZGF0ZSByZWxhdGluZyB0byBTUEQgRUVQUk9NCisKKyAgICBjb21taXQgNmQwZjZiY2YzMzdjNTI2MWMwOGZhYmUxMjk4MjE3OGMyYzQ4OWQ3NiBkaWQgdGhlIGJpZworICAgIHJlbmFtZSBvZiBDRkdfIG1hY3JvcyB0byBDT05GSUdfU1lTIG1hY3Jvcy4gIEJ1dCBpdCBtaXNzZWQKKyAgICBhIGNvdXBsZSBvZiBpbnN0YW5jZXMgd2l0aGluIGNvbW1lbnRzLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGFmYzNiYTBmYzQxOTU2MjRlNzllMjEyNDQzODBlZDdjYzJmZDY5NjkKK0F1dGhvcjogSm9ha2ltIFRqZXJubHVuZCA8Sm9ha2ltLlRqZXJubHVuZEB0cmFuc21vZGUuc2U+CitEYXRlOglUaHUgT2N0IDggMDI6MDM6NTEgMjAwOSArMDIwMAorCisgICAgcmVsb2NhdGlvbjogRG8gbm90IHJlbG9jYXRlIE5VTEwgcG9pbnRlcnMuCisKKyAgICBOVUxMIGlzIGFuIGFic29sdXRlIHZhbHVlIGFuZCBzaG91bGQgbm90IGJlIHJlbG9jYXRlZC4KKyAgICBBZnRlciB0aGlzIGNvcnJlY3Rpb24gY29kZSBsaWtlOgorICAgICB2b2lkIHdlYWtfZnVuKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWspKTsKKyAgICAgcHJpbnRmKCJ3ZWFrX2Z1bjolcFxuIiwgd2Vha19mdW4pOworICAgIHdpbGwgc3RpbGwgcHJpbnQgbnVsbCBhZnRlciByZWxvY2F0aW9uLgorCisgICAgU2lnbmVkLW9mZi1ieTogSm9ha2ltIFRqZXJubHVuZCA8Sm9ha2ltLlRqZXJubHVuZEB0cmFuc21vZGUuc2U+CisKK2NvbW1pdCAzYmViNDBjMjQ3M2YwZGQzNzMyMzFjNzIzZDg4YzUxZTQ2YWQ5NmY3CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglXZWQgT2N0IDcgMTE6NDU6MDAgMjAwOSAtMDUwMAorCisgICAgODV4eDogRW5zdXJlIEJTUyBzZWdtZW50IGlzbid0IGxpbmtlZCBhdCBhZGRyZXNzIDAKKworICAgIFdoZW4gVS1Cb290IGlzIHJlbG9jYXRlZCBmcm9tIGZsYXNoIHRvIFJBTSBwb2ludGVycyBhcmUgbW9kaWZpZWQKKyAgICBhY2NvcmRpbmdseS4gIEhvd2V2ZXIsIHBvaW50ZXJzIGluaXRpYWx6ZWQgd2l0aCBOVUxMIHZhbHVlcyBzaG91bGQgbm90CisgICAgYmUgbW9kaWZpZWQgc28gdGhhdCB0aGV5IG1haW50YWluIHRoZWlyIGludGVuZGVkIE5VTEwgdmFsdWUuICBJZiB0aGUKKyAgICBCU1Mgc2VnbWVudCBpcyBsaW5rZWQgYXQgYWRkcmVzcyAwIGl0cyBhZGRyZXNzIHdpbGwgbm90IGJlCisgICAgdXBkYXRlZCBhcyBuZWNlc3NhcnkgZHVyaW5nIHJlbG9jYXRpb24uCisKKyAgICBUaGlzIGlzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQuICBUaGUgZW5kIGdvYWwgaXMgdG8gYWRkIHN1cHBvcnQgdG8KKyAgICBVLUJvb3QgdG8gZHluYW1pY2FsbHkgbG9jYXRlIHRoZSBCU1MgYXQgYW4gYXJiaXRyYXJ5IGFkZHJlc3MgYXQKKyAgICBydW50aW1lLiAgV2hlbiB0aGUgYWJpbGl0eSB0byBmaXh1cCB0aGUgQlNTIGludGVsaWdlbnRseSBpcworICAgIGFkZGVkLCB0aGlzIHdvcmthcm91bmQgY2FuIGJlIHJlbW92ZWQgYW5kIHRoZSA4NXh4IGxpbmsgc2NyaXB0CisgICAgY2FuIHB1dCB0aGUgQlNTIGF0IGEgZml4ZWQgYWRkcmVzcyBhdCBsaW5rIHRpbWUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgOTVjNDRlYzQ4NWI0NmZmYjQzZGJkYWEyOTlmMTQ5MWE1MDBmZGFkZgorQXV0aG9yOiBEZXRsZXYgWnVuZGVsIDxkenVAZGVueC5kZT4KK0RhdGU6CVdlZCBPY3QgNyAxNjozODowNSAyMDA5ICswMjAwCisKKyAgICB0cW01MjAwOiBDb3JyZWN0IGNvbW1lbnQgYW5kIGNvZGUgaW4gcG9zdF9ob3RrZXlzX3ByZXNzZWQuCisKKyAgICBUaGlzIGZpeGVzIHRoZSBjb2RlIGFuZCB0aGUgY29tbWVudCBhY2NvcmRpbmcgdG8gdGhlIG9yaWdpbmFsIGludGVudCBvZgorICAgIGRvaW5nIGFuIGludGVuc2l2ZSBtZW1vcnkgdGVzdCB3aGVuIFBTQzZfMyBpcyBwdWxsZWQgbG93IG9uIHRoZSBTVEs1Mnh4LgorICAgIE5vdGFibHkgUE9SVF9DT05GSUcgd2lsbCBiZSBvdmVycmlkZGVuIHdpdGggdGhpcyBjb3JyZWN0IGNvZGUgbm93LAorICAgIHNvIGJld2FyZS4KKworICAgIFRoZSBvcmlnaW5hbCBjb2RlIG9ubHkgd29ya2VkIGJ5IGNvaW5jaWRlbmNlIGRlcGVuZGluZyBvbiB0aGUgUE9SVF9DT05GSUcKKyAgICBzZXR0aW5nIGZyb20gdGhlIGhlYWRlciBmaWxlLiAgVGhlIG5ldyBjb2RlIHdhcyB0ZXN0ZWQgdG8gZW5zdXJlIHRoYXQgdGhlCisgICAgKHVuZG9jdW1lbnRlZCkgbWVtb3J5IHRlc3Qgc3RpbGwgd29ya3Mgb24gdGhlIFNUSzUyeC4KKworICAgIFNpZ25lZC1vZmYtYnk6IERldGxldiBadW5kZWwgPGR6dUBkZW54LmRlPgorICAgIENDOiBNYXJ0aW4gS3JhdXNlIDxNYXJ0aW4uS3JhdXNlQHRxcy5kZT4KKworICAgIE1pbm9yIHdoaXRlLXNwYWNlIGNsZWFudXAuCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IGRhMDFmNTM0MDRmOTlkYjE4NWQxOTY4NjdhZjc5MzcxNzI1ZDQ2ODMKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVN1biBPY3QgNCAyMjo1NjowOCAyMDA5ICswMjAwCisKKyAgICBtcGM1MTJ4OiBmaXggZml4ZWRfc2RyYW0oKSBpbml0IGNvZGUuCisKKyAgICBDb21taXQgMDU0MTk3YmEgYW5kIGxhdGVyIGZpeGVzIHVzZWQgYW4gYXJyYXkgdG8gaW5pdGlhbGl6ZSBzb21lIG9mCisgICAgdGhlIE1ERFJDIHBhcmFtZXRlcnM7IGhvd2V2ZXIsIHRoZSB1c2Ugb2YgYW4gYXJyYXkgdHVybmVkIG91dCB0byBiZSBhCisgICAgYmFkIGlkZWEgYXMgaXQgd2FzIG5vdCBwb3NzaWJsZSB0byBjb3JyZWxhdGUgc3RydWN0dXJlIGVudHJpZXMgdG8KKyAgICBhcnJheSBpbmRpY2VzIGluIHJlYWRhYmxlIGFuZCByZWxpYWJsZSB3YXkuIE5vdyB3ZSB1c2UgYSBzdHJ1Y3QKKyAgICBpbnN0ZWFkLCB3aGljaCBtYWtlcyB0aGlzIHNlbGYtZXhwbGFuYXRvcnkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgZGJjYzM1NzE2NmJlZDIwZGYxMzQ1MGU5M2E1MDFmMzBiMTk3ZWZkMQorQXV0aG9yOiBOaWtsYXVzIEdpZ2VyIDxuaWtsYXVzLmdpZ2VyQG1lbWJlci5mc2Yub3JnPgorRGF0ZToJU3VuIE9jdCA0IDIwOjA0OjIyIDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogcmVzcGVjdCA4MC1jaGFycyBwZXIgbGluZSBpbiBwcGMqLmggZmlsZXMKKworICAgIEFmdGVyIHJ1bm5pbmcgY2hlY2tzdHlsZS5wbCBvbiB0aGUgdGhyZWUgcHJldmlvdXMgcGF0Y2hlcyBJIG5vdGVkIHRoYXQgaW4KKyAgICB0aGUgKi5oIGZpbGVzIHRoZXJlIHdlcmUgYSBsb3Qgb2YgbG9uZyBsaW5lcy4gVGhpcyBwYXRjaCBzb2x2ZXMgdGhpcyBwcm9ibGVtLgorCisgICAgU2lnbmVkLW9mZi1ieTogTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBtZW1iZXIuZnNmLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA3OGQyYTY0MTM3MWVjNzFjYzM3ODZiMTY3YTMxOGM3YjExNWZiYjkwCitBdXRob3I6IE5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbWVtYmVyLmZzZi5vcmc+CitEYXRlOglTdW4gT2N0IDQgMjA6MDQ6MjEgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBSZXdvcmsgY21kIHJlZ2luZm8KKworICAgIFRoZSBjb21tYW5kICJyZWdpbmZvIiBnb3QgYW4gb3ZlcmhhdWwgZm9yIHRoZSBwcGM0eHguIEl0IGR1bXBzIGFsbCB0aGUKKyAgICByZWxldmFudCBIVyBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyAoYWRkcmVzcywgc3ltYm9saWMgbmFtZSwgY29udGVudCkuCisgICAgVGhpcyBhbGxvd3MgdG8gZWFzaWx5IGRldGVjdCBlcnJvcnMgaW4gKi5oIGZpbGVzIGFuZCBjaGFuZ2VzIGluIHRoZSBIVworICAgIGNvbmZpZ3VyYXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBOaWtsYXVzIEdpZ2VyIDxuaWtsYXVzLmdpZ2VyQG1lbWJlci5mc2Yub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGRkYzkyMmZmMmMyMGFlMGI3ZjljZTJkZjFhYzI4MTQzZTJmMzI1YmQKK0F1dGhvcjogTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBtZW1iZXIuZnNmLm9yZz4KK0RhdGU6CVN1biBPY3QgNCAyMDowNDoyMCAyMDA5ICswMjAwCisKKyAgICBwcGNfNHh4OiBBcHBseSBuZXcgSFcgcmVnaXN0ZXIgbmFtZXMKKworICAgIE1vZGlmeSBhbGwgZXhpc3RpbmcgKi5jIGZpbGVzIHRvIHVzZSB0aGUgbmV3IHJlZ2lzdGVyIG5hbWVzCisgICAgYXMgc2VlbiBpbiB0aGUgQU1DQyBtYW51YWxzLgorCisgICAgU2lnbmVkLW9mZi1ieTogTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBtZW1iZXIuZnNmLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBmODBlNjFkY2ZlNTNmYTNhNTkzNjY1OTg4MzQxNWM5YmQxYjVhM2Q5CitBdXRob3I6IE5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbWVtYmVyLmZzZi5vcmc+CitEYXRlOglTdW4gT2N0IDQgMjA6MDQ6MTkgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBDbGVhbnVwIHNvbWUgSFcgcmVnaXN0ZXIgbmFtZXMKKworICAgIEhlcmUgeW91IGZpbmQgYWxsIHRoZSBjaGFuZ2VzIGluIHRoZSBpbmNsdWRlIGRpcmVjdG9yeSBmb3IgbmV3IHJlZ2lzdGVyIG5hbWVzCisgICAgYW5kIGFkYXB0aW5nIG90aGVyIG9uZXMgdG8gdGhlIG5hbWVzIHVzZWQgYnkgQU1DQyBpbiB0aGVpciBtYW51YWxzLCBlLmcuCisgICAgRm9yIDQ0MEVQeC9HUlBQQzQ0MEVQeC9HUlgsIFJldmlzaW9uIDEuMTUg4oCTIFNlcHRlbWJlciAyMiwgMjAwOAorICAgIEZvciBQUEM0MDVHUCBFbWJlZGRlZCBQcm9jZXNzb3IsIFJldmlzaW9uIDEuMDIg4oCTIE1hcmNoIDIyLCAyMDA2CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBOaWtsYXVzIEdpZ2VyIDxuaWtsYXVzLmdpZ2VyQG1lbWJlci5mc2Yub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDU2ZjE0ODE4ZjY2YzY4YThiOWU0NTkyNWYyOWNlYjk3NDQwNWFkNDgKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVHVlIE9jdCA2IDA3OjIxOjA4IDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogQWRkIFBQQzQwNUVYKHIpIFJldiBEIHN1cHBvcnQKKworICAgIFVuZm9ydHVuYXRlbHkgc29tZSBSZXYgRCBQUEM0MDVFWC80MDVFWHIgUFZSJ3MgYXJlIGlkZW50aWNhbCB3aXRoIG9sZGVyCisgICAgNDA1RVgocikgcGFydHMuIEhlcmUgYSBsaXN0OgorCisgICAgMHgxMjkxMTQ3NSAtIDQwNUVYIFJldiBEIHdpdGggU2VjdXJpdHkgKmFuZCogNDA1RVggUmV2IEEvQiB3aXRvdXQgU2VjCisgICAgMHgxMjkxMTQ3MyAtIDQwNUVYIFJldiBEIHdpdGhvdXQgU2VjdXJpdHkgKmFuZCogNDA1RVhyIFJldiBBL0Igd2l0aCBTZWMKKworICAgIFNpbmNlIHRoZXJlIGFyZSBvbmx5IGEgZmV3IG9sZGVyIHBhcnRzIGluIHRoZSBmaWVsZCwgdGhpcyBwYXRjaCBub3cKKyAgICBjaGFuZ2VzIHRoZSBQVlIncyBhYm92ZSB0byByZXByZXNlbnQgdGhlIG5ldyBSZXYgRCB2ZXJzaW9ucy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogUGhvbmcgVm8iIDxwdm9AYW1jYy5jb20+CisKK2NvbW1pdCAwNmRmYWVlZjUyYTVmNzczYWU0MjkyNDMyZTNjNzRmZjUyZWFkMzE2CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CUZyaSBPY3QgMiAxNDozNToxNiAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IEZpeCBtc2cgImluaXRpYWxpemF0aW9uIGFzIHJvb3QtY29tcGxleCBmYWlsZWQiIHVwb24gUENJZSBzY2FuCisKKyAgICBUaGlzIG1lc3NhZ2UgaXMgcHJpbnRlZCB1cG9uIFBDSWUgYnVzIHNjYW4sIG5vdCBvbmx5IHVwb24gZXJyb3IsIGJ1dCBhbHNvCisgICAgaWYgbm8gUENJZSBkZXZpY2UgaXMgZGV0ZWN0ZWQgYXQgYWxsLiBTaW5jZSB0aGlzIGlzIG5vdCBhbiBlcnJvciwgbGV0J3MKKyAgICByZW1vdmUgdGhpcyBtZXNzYWdlIGluIHRoaXMgY2FzZS4gV2UgYWxyZWFkeSBoYXZlIHRoZSBtZXNzYWdlCisgICAgImxpbmsgaXMgbm90IHVwLiIgaWYgdGhlcmUgaXMgbm8gUENJZSBkZXZpY2UgcHJlc2VudC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBBY2tlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDU0ZjVmMDU2YWExZGFhM2UzOWJhZDFjNWMzZmI0M2E3MmNkYjllODQKK0F1dGhvcjogTWlrZSBOdXNzIDxtaWtlQHRlcmFzY2FsYS5jb20+CitEYXRlOglNb24gT2N0IDUgMTI6MzM6MjggMjAwOSAtMDQwMAorCisgICAgUFBDNHh4OiBEZW5hbGkgY29yZTogRml4IGluY29ycmVjdCBERFIgcm93IGJpdHMKKworICAgIFRoZSBTUEQgZGV0ZWN0aW9uIGNvZGUgZm9yIHRoZSBEZW5hbGkgbWVtb3J5IGNvbnRyb2xsZXIgdXNlZCBvbiBzb21lCisgICAgcHBjNHh4CisgICAgcHJvY2Vzc29ycyBpbmNvcnJlY3RseSBlbmNvZGVzIEREUjBfNDIuIFdpdGggY2VydGFpbiBtZW1vcnkKKyAgICBjb25maWd1cmF0aW9ucywKKyAgICB0aGlzIGNhbiBjYXVzZSB0aGUgYm9vdHdyYXBwZXIgdG8gaW5jb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBpbnN0YWxsZWQKKyAgICBtZW1vcnkKKyAgICBzaXplLCBiZWNhdXNlIHRoZSBudW1iZXIgb2Ygcm93IGJpdHMgaXMgd3JvbmcuIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdAorICAgIGVuY29kaW5nLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBOdXNzIDxtaWtlQHRlcmFzY2FsYS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgOTlkYmQ0ZWZkNmQ1ZWNjMzdkN2U4ZjI4YjIwZDliZThjODMwNTVjNworQXV0aG9yOiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorRGF0ZToJTW9uIE9jdCA1IDAwOjAyOjUxIDIwMDkgLTA3MDAKKworICAgIEFkZCBpbmZvcm1hdGlvbiBhYm91dCByZXR1cm4gdmFsdWVzIG9mIHh4eF9ldGhfcmVnaXN0ZXIoKSBpbiBkb2N1bWVudGF0aW9uCisKKyAgICBBcyBkaXNjdXNzZWQgb24gbWFpbGluZyBsaXN0LCA8MCBpbmRpY2F0ZXMgZmFpbHVyZSwgPj0wIGluZGljYXRlcyBudW1iZXIKKyAgICBvZiBpbnRlcmZhY2VzIGZvdW5kLgorCisgICAgQWxzbyBhZGRlZCBibHVyYiBhYm91dCBwcml2YXRlIGRhdGEKKworICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCAxZjFlNzc0ZWM2MjQyZDRlYTM0ZTVjZmY1NzIzMmRlYjViYjU4N2UwCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVdlZCBTZXAgOSAxNDo0MToyMiAyMDA5IC0wNDAwCisKKyAgICBkb2N1bWVudCBuZXR3b3JrIGRyaXZlciBmcmFtZXdvcmsKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKyAgICBBY2tlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgYWJhODIzNzI1N2RkMTViMGU3NmNjNTE3ZjBlNzQxYzA5MDhlZTBiOQorQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglXZWQgU2VwIDkgMTU6NTk6MTkgMjAwOSArMDUzMAorCisgICAgbmV0OiBraXJrd29vZF9lZ2lnYS5jOiBmaXhlZCBidWlsZCB3YXJuaW5nCisKKyAgICBpZiBsaW5rIHVwIGRldGVjdGlvbiBjb2RlIGlzIGRpc2FibGVkIHRocm91Z2ggY29uZmlnIG9wdGlvbiwgaXQgZ2l2ZXMgYnVpbGQgd2FybmluZy4KKyAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBzYW1lCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDcxOTRhYjgwOTUzMmVlY2EzZTJlZTVkYzEyMDE3Y2I5MDFjYzU4NDIKK0F1dGhvcjogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KK0RhdGU6CVN1biBPY3QgNCAyMjozNzowMyAyMDA5IC0wNzAwCisKKyAgICBDb252ZXJ0IFNNQzkxMTExIEV0aGVybmV0IGRyaXZlciB0byBDT05GSUdfTkVUX01VTFRJIEFQSQorCisgICAgQWxsIGluLXRyZWUgYm9hcmRzIHRoYXQgdXNlIHRoaXMgY29udHJvbGxlciBoYXZlIENPTkZJR19ORVRfTVVMVEkKKyAgICBhZGRlZAorICAgIEFsc286CisgICAgICAtIGNoYW5nZWQgQ09ORklHX0RSSVZFUl9TTUM5MTExMSB0byBDT05GSUdfU01DOTExMTEKKyAgICAgIC0gY2xlYW5lZCB1cCBsaW5lIGxlbmd0aHMKKyAgICAgIC0gbW9kaWZpZWQgYWxsIGJvYXJkcyB0aGF0IG92ZXJyaWRlIHdlYWsgZnVuY3Rpb24gaW4gdGhpcyBkcml2ZXIKKyAgICAgIC0gbW9kaWZpZWQgYWxsIGVlcHJvbSBzdGFuZGFsb25lIGFwcHMgdG8gd29yayB3aXRoIG5ldyBkcml2ZXIKKyAgICAgIC0gdXBkYXRlZCBibGFja2ZpbiBzdGFuZGFsb25lIEVFUFJPTSBhcHAgYWZ0ZXIgdGVzdGluZworCisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAzMmU3ZjIzOWRkYTg2MzgzNzdlZGIwZDNlN2FjMjY5Y2FiYmFmYmU2CitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMjA6Mjg6MTggMjAwOSArMDUzMAorCisgICAgbmV0OiBwaHk6IG12ODhlNjF4eC5jIDogZml4ZWQgYnVpbGQgd2FybmluZworCisgICAgZm9sbG93aW5nIGJ1aWxkIHdhcm5pbmcgd2FzIG9ic2VydmVkCisKKyAgICBtdjg4ZTYxeHguYzogSW4gZnVuY3Rpb24g4oCYbXY4OGU2MXh4X2J1c3ljaGvigJk6CisgICAgbXY4OGU2MXh4LmM6MjA4OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHNhbWUKKyAgICBQYXRjaCB0ZXN0ZWQgZm9yIHJkNjI4MWEgYm9hcmQgYnVpbGQKKworICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgYzBiNDZkOGVhZDNjNmM1YjU2OWM4MzU0NGZkNzFiOWQ3MzM1Njg2OQorQXV0aG9yOiBKYW1lcyBDbG91Z2ggPGphbWVzQHJ0ZXRjLmNvbT4KK0RhdGU6CVRodSBTZXAgMTAgMDk6MTE6NTAgMjAwOSArMDIwMAorCisgICAgbmV0OiBGaXggcHJvYmxlbSB3aXRoIDQwNUVaIGV0aGVybmV0IGludGVycnVwdAorCisgICAgT24gNDA1RVogdGhlIFJYLS9UWC1pbnRlcnJ1cHRzIGFyZSBjb2FsZXNjZWQgaW50byBvbmUgSVJRIGJpdCBpbiB0aGUKKyAgICBVSUMuIFdlIG5lZWQgdG8gYWNrbm93bGVkZ2UgdGhlIFJYLS9UWC1pbnRlcnJ1cHRzIGluIHRoZQorICAgIFNEUjBfSUNJTlRTVEFUIHJlZyBhcyB3ZWxsLgorCisgICAgVGhpcyBwcm9ibGVtIHdhcyBpbnRyb2R1Y2VkIHdpdGggY29tbWl0CisgICAgZDE2MzFmZTEgW3BwYzR4eDogQ29uc29saWRhdGUgUFBDNHh4IFVJQyBkZWZpbmVzXQorCisgICAgU2lnbmVkLW9mZi1ieTogSmFtZXMgQ2xvdWdoIDxqYW1lc0BydGV0Yy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA5MWI0NjljOTVmYWY5MjQzNWUzZDVkNzgyOTJiYTc4MDc1YTNjNWNhCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVdlZCBTZXAgMiAwNDoxODo1NSAyMDA5IC0wNDAwCisKKyAgICBuZXQ6IGFkZCByYW5kb21fcG9ydCgpIHByb3RvdHlwZQorCisgICAgVGhlIHJhbmRvbV9wb3J0KCkgaXMgbWVhbnQgdG8gYmUgdXNlZCBieSBvdGhlciBuZXQgY29kZSwgYnV0IHdpdGhvdXQgYQorICAgIHByb3RvdHlwZSwgd2UgZ2V0IGZ1biB3YXJuaW5ncyBsaWtlOgorICAgIGRucy5jOiBJbiBmdW5jdGlvbiAnRG5zU2VuZCc6CisgICAgZG5zLmM6ODk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdyYW5kb21fcG9ydCcKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMzQ2OTQyNGNiNmQ5MzljN2FlZGYxZTBlZmRlYzQ0YTc5N2MwYTE4YworQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxMToyMDozNyAyMDA5IC0wNTAwCisKKyAgICBwcGM6IFJlbW92ZSByZWxvY19vZmYgZmllbGQgZnJvbSBnbG9iYWxfZGF0YSBzdHJ1Y3R1cmUKKworICAgIE5vdyB0aGF0IHByb3BlciByZWxvY2F0aW9uIGlzIHN1cHBvcnRlZCwgdGhlIHJlbG9jX29mZiBmaWVsZCBpcyBubyBsb25nZXIKKyAgICBuZWNlc3NhcnkuCisKKyAgICBOb3RlIHRoYXQgdGhlIGxvY2F0aW9uIG9mIHRoZSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uIGp1bXAgdGFibGUgcG9pbnRlcgorICAgIGluIHRoZSBnbG9iYWwgZGF0YSBzdHJ1Y3R1cmUgaXMgYWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UsIGJyZWFraW5nCisgICAgZXhlY3V0aW9uIG9mIHN0YW5kYWxvbmUgYXBwbGljYXRpb25zIGNvbXBpbGVkIGZvciBwcmV2aW91cyB2ZXJzaW9ucyBvZgorICAgIFUtQm9vdC4KKworICAgIFdlIHRoZXJlZm9yZSBpbmNyZW1lbnQgWEZfVkVSU0lPTiB0byA2CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAwNjMwNTM1ZTJkMDYyZGQ3M2MxY2VjYTVjNjEyNWM4NmQxMTI3YTQ5CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgU2VwIDIyIDA5OjI3OjU1IDIwMDkgLTA1MDAKKworICAgIGFybS9taWNyb2JsYXplL25pb3MvbmlvczIvc2g6IFJlbW92ZSByZWxvY2F0aW9uIGZpeHVwcworCisgICAgVGhlc2UgYXJjaGl0ZWN0dXJlcyBkb24ndCBuZWVkIHJlbG9jYXRpb24gZml4dXBzLCBzbyByZWR1Y2UgdGhlaXIKKyAgICBjb2Rlc2l6ZSBhIGJpdCBieSBkZWZpbmluZyBDT05GSUdfUkVMT0NfRklYVVBfV09SS1MuCisKKyAgICBBbHNvIHJlbW92ZSB0aGUgcmVsb2Nfb2ZmIGZpZWxkIGZyb20gdGhlaXIgZ2xvYmFsIGRhdGEgc3RydWN0dXJlcworICAgIGFzIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQuCisKKyAgICBOb3RlIHRoYXQgdGhlIGxvY2F0aW9uIG9mIHRoZSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uIGp1bXAgdGFibGUgcG9pbnRlcgorICAgIGluIHRoZSBnbG9iYWwgZGF0YSBzdHJ1Y3R1cmUgaXMgYWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UsIGJyZWFraW5nCisgICAgZXhlY3V0aW9uIG9mIHN0YW5kYWxvbmUgYXBwbGljYXRpb25zIGNvbXBpbGVkIGZvciBwcmV2aW91cyB2ZXJzaW9ucyBvZgorICAgIFUtQm9vdC4gV2Ugd2lsbCB0aGVyZWZvcmUgaW5jcmVtZW50IFhGX1ZFUlNJT04gaW4gdGhlIG5leHQgY29tbWl0LAorICAgIHdoaWNoIGFsc28gdG91Y2hlcyB0aGlzIGFyZWEuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA1MjFhZjA0ZDg1MzM2MWI0OTM0NGI2MTg5MmViMDYxOGY5ZjcxM2M1CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjM2IDIwMDkgLTA1MDAKKworICAgIENvbmRpdGlvbmFsbHkgcGVyZm9ybSBjb21tb24gcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIEFkZCAjaWZkZWZzIHdoZXJlIG5lY2Vzc2FyeSB0byBub3QgcGVyZm9ybSByZWxvY2F0aW9uIGZpeHVwcy4gIFRoaXMKKyAgICBhbGxvd3MgYm9hcmRzL2FyY2hpdGVjdHVyZXMgd2hpY2ggc3VwcG9ydCByZWxvY2F0aW9uIHRvIHRyaW0gYSBkZWNlbnQKKyAgICBjaHVuayBvZiBjb2RlLgorCisgICAgTm90ZSB0aGF0IHRoaXMgcGF0Y2ggZG9lc24ndCBhZGQgI2lmZGVmcyB0byBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgY29kZQorICAgIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgcmVsb2NhdGlvbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCAzY2JjZmE3MGIxMTZkZjFiYmRjOTBiYTMxYzYxYWRjYWVjMDU4YThhCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjM1IDIwMDkgLTA1MDAKKworICAgIHAzbXg6IFJlbW92ZSBzZXJpYWwgcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCA4MGY3M2I5MmExOTEyOTg1NDg3NmVjM2YxYWVmNTMxYTA5ZTg2ZDJkCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjM0IDIwMDkgLTA1MDAKKworICAgIGx3bW9uLCBsd21vbjU6IFJlbW92ZSBzeXNtb24gUE9TVCByZWxvY2F0aW9uIGZpeHVwcworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDMzMWFiNjBjNGE0MThjMzllNWIxYTA1ZDQ2NDhhNDE1NWQwYWQxM2UKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMTE6MjA6MzMgMjAwOSAtMDUwMAorCisgICAgbXBsOiBSZW1vdmUgbWVtb3J5IHRlc3QgcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCA2Mzg1YjI4MTE2Zjc3NWRhNDc3MWI3NjhiYTliZjkzYzNhYWFmMjZlCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjMyIDIwMDkgLTA1MDAKKworICAgIGZwZ2E6IFJlbW92ZSByZWxvY2F0aW9uIGZpeHVwcworCisgICAgUFBDIGJvYXJkcyBhcmUgdGhlIG9ubHkgdXNlcnMgb2YgdGhlIGN1cnJlbnQgRlBHQSBjb2RlIHdoaWNoIGlzIGxpdHRlcmVkCisgICAgd2l0aCBtYW51YWwgcmVsb2NhdGlvbiBmaXh1cHMuICBOb3cgdGhhdCBwcm9wZXIgcmVsb2NhdGlvbiBpcyBzdXBwb3J0ZWQKKyAgICBmb3IgUFBDIGJvYXJkcywgcmVtb3ZlIEZQR0EgbWFudWFsIHJlbG9jYXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgY2QxMDExZGI4MDI4N2VlZjkzM2QxNTk5Yjc0Y2ZmMTExNmM5MzEzNAorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxMToyMDozMSAyMDA5IC0wNTAwCisKKyAgICB0c2VjOiBSZW1vdmUgUEhZIGNvbW1hbmQgcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBiNTY1MGM1ZDhjOTkxMDAxNDRkOGU0ZTlhZjkxMDQwNWY4NTdiYjdhCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjMwIDIwMDkgLTA1MDAKKworICAgIHBwYzogUmVtb3ZlIGJvYXJkLXNwZWNpZmljIGNvbW1hbmQgdGFibGUgcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBlNmIwNWU3NzRkN2NlMTY0MTYxM2NkZWZmYjY5YzFkNDgxMzlhODY5CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjI5IDIwMDkgLTA1MDAKKworICAgIHBwYzogUmVtb3ZlIGV4dGFibGUgcmVsb2NhdGlvbiBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBiMzJhODk0MDExYjE0MzY3NTg5MDVmYTEwZTZhMDNiODUzOWM0M2M5CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjIwOjI4IDIwMDkgLTA1MDAKKworICAgIHBwYzogUmVtb3ZlIHBjaSBjb25maWcgdGFibGUgcG9pbnRlciByZWxvY2F0aW9uIGZpeHVwcworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IGEwZTIwNjZmMzkyNzgyNzMwZjAzOTgwOTVlNTgzYzg3ODEyZDk3ZjIKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMTE6MjA6MjcgMjAwOSAtMDUwMAorCisgICAgcHBjOiBSZW1vdmUgYm9hcmQuYyByZWxvY2F0aW9uIGZpeHVwcworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDI0NDYxNTE5NzQ2OWRkNmZlNzVhZTA4MmYzODQyNGI5N2M3OWFlYWYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMTE6MjA6MjYgMjAwOSAtMDUwMAorCisgICAgcHBjOiBDaGVjayBmb3IgY29tcGlsZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCByZWxvY2F0aW9uCisKKyAgICBDZXJ0YWluIHBwYyBjb21waWxlcnMgYXJlIGtub3duIG5vdCB0byBnZW5lcmF0ZSB0aGUgLmZpeHVwIHNlY3Rpb24KKyAgICBwcm9wZXJseS4gIFRoZSAuZml4dXAgc2VjdGlvbiBpcyBuZWNlc3NhcnkgdG8gY3JlYXRlIGEgcmVsb2NhdGFibGUKKyAgICBVLUJvb3QgaW1hZ2UuICBBIGJhc2ljIGNoZWNrIGZvciB0aGUgZXhpc3RlbmNlIG9mIHRoZSAuZml4dXAgc2VjdGlvbgorICAgIHNob3VsZCBob3BlZnVsbHkgY2F0Y2ggdGhlIG1ham9yaXR5IG9mIGJyb2tlbiBjb21waWxlcnMgd2hpY2ggZG9uJ3QKKyAgICBzdXBwb3J0IHJlbG9jYXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgODU4MjkwMTc4ZjIyMmQ5OThiNjQyNWQ4NWNmMDY4MjI0Njc5MThmMworQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxMToyMDoyNSAyMDA5IC0wNTAwCisKKyAgICBwcGM6IEVuYWJsZSBmdWxsIHJlbG9jYXRpb24gdG8gUkFNCisKKyAgICBUaGUgZm9sbG93aW5nIGNoYW5nZXMgYWxsb3cgVS1Cb290IHRvIGZ1bGx5IHJlbG9jYXRlIGZyb20gZmxhc2ggdG8KKyAgICBSQU06CisgICAgIC0gUmVtb3ZlIGxpbmtlciBzY3JpcHRzJyAuZml4dXAgc2VjdGlvbnMgZnJvbSB0aGUgLnRleHQgc2VjdGlvbgorICAgICAtIEFkZCAtbXJlbG9jYXRhYmxlIHRvIFBMQVRGT1JNX1JFTEZMQUdTIGZvciBhbGwgYm9hcmRzCisgICAgIC0gRGVmaW5lIENPTkZJR19SRUxPQ19GSVhVUF9XT1JLUyBmb3IgYWxsIGJvYXJkcworCisgICAgUHJldmlvdXNseSwgVS1Cb290IHdvdWxkIHBhcnRpYWxseSByZWxvY2F0ZSwgYnV0IHN0YXRpY2FsbHkgaW5pdGlhbGl6ZWQKKyAgICBwb2ludGVycyBuZWVkZWQgdG8gYmUgbWFudWFsbHkgcmVsb2NhdGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDNiNGJkMmQ3NWM0YjNjMWE0NTcwZjQ3ZmZhYWVkNjZmNTZhNzhmZjQKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC5ldT4KK0RhdGU6CVdlZCBTZXAgMzAgMTE6NTU6MDQgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBBZGQgU0RSQU0gZGV0ZWN0aW9uIGZvciBQTUM0NDAgYm9hcmRzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byBkZXRlY3QgdGhlIGFtb3VudCBvZiBERFIyIFNEUkFNCisgICAgb24gUE1DNDQwIG1vZHVsZXMuIERldGVjdGlvbiBpcyBkb25lIGJ5IHByb2JpbmcgdGhyb3VnaAorICAgIGEgbGlzdCBvZiBhdmFpbGFibGUgYW5kIHN1cHBvcnRlZCBoYXJkd2FyZSBjb25maWd1cmF0aW9ucworICAgIGZyb20gMUdCeXRlIGRvd24gdG8gMjU2TUIuCisKKyAgICBUaGUgc3RhdGljIFRMQiBlbnRyeSBpcyByZXBsYWNlZCBieSBkeW5hbWljYWxseSBjcmVhdGVkIGVudHJpZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGZiOTUxNjllMzlmMmQwMzI3MGJlZDU1MmQyN2JiYjAyNjI3YTQ0M2UKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIFNlcCAyOCAxNzozMzo0NSAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IE1lcmdlIFBQQzR4eCBERFIgYW5kIEREUjIgRUNDIGhhbmRsaW5nCisKKyAgICBUaGlzIHBhdGNoIG1lcmdlcyB0aGUgRUNDIGhhbmRsaW5nIChFQ0MgcGFyaXR5IGJ5dGUgd3JpdGluZykgaW50byBvbmUKKyAgICBmaWxlIChlY2MuYykgZm9yIGFsbCBQUEM0eHggU0RSQU0gY29udHJvbGxlcnMgZXhjZXB0IGZvciBQUEM0NDBFUHgvR1J4LgorICAgIFRoaXMgZXhjZXB0aW9uIGlzIGJlY2F1c2Ugb25seSB0aG9zZSBQUEMncyB1c2UgdGhlIGNvbXBsZXRlbHkgZGlmZmVyZW50CisgICAgRGVuYWxpIFNEUkFNIGNvbnRyb2xsZXIgY29yZS4KKworICAgIFByZXZpb3VzbHkgd2UgaGFkIHR3byByb3V0aW5lcyB0byBnZW5lcmF0ZS93cml0ZSB0aGUgRUNDIHBhcml0eSBieXRlcy4KKyAgICBXaXRoIHRoaXMgcGF0Y2ggd2Ugbm93IG9ubHkgaGF2ZSBvbmUgY29yZSBmdW5jdGlvbiBsZWZ0LgorCisgICAgVGVzdGVkIG9uIEtpbGF1ZWEgKG5vIEVDQykgYW5kIEthdG1haSAod2l0aCBhbmQgd2l0aG91dCBFQ0MpLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBGZWxpeCBSYWRlbnNreSA8ZmVsaXhAZW1iZWRkZWQtc29sLmNvbT4KKyAgICBDYzogR3JhbnQgRXJpY2tzb24gPGdlcmlja3NvbkBudW92YXRpb25zLmNvbT4KKyAgICBDYzogUGlldGVyIFZvb3J0aHVpanNlbiA8cHZAcHJvZHJpdmUubmw+CisKK2NvbW1pdCBkMjRiZDI1MTdhMmI4NDdmNzczNDUzZWFiMGVlNWIxYzhlYmM3NGJhCitBdXRob3I6IEZlbGl4IFJhZGVuc2t5IDxmZWxpeEBlbWJlZGRlZC1zb2wuY29tPgorRGF0ZToJU3VuIFNlcCAyNyAyMzo1NjoxMiAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFJlb3JnYW5pemUgRERSMiBFQ0MgaGFuZGxpbmcKKworICAgIFJlb3JnYW5pemUgRERSMiBFQ0MgaGFuZGxpbmcgdG8gdXNlIGNvbW1vbiBjb2RlIGZvcgorICAgIFNQRCBESU1NcyBhbmQgc29sZGVyZWQgU0RSQU0uIEFsc28sIHVzZSBjb21tb24gY29kZQorICAgIHRvIGRpc3BsYXkgU0RSQU0gaW5mbyAoRUNDLCBDQVMgbGF0ZW5jeSkgZm9yIFNQRCBhbmQKKyAgICBzb2xkZXJlZCBTRFJBTSB2YXJpYW50cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEZlbGl4IFJhZGVuc2t5IDxmZWxpeEBlbWJlZGRlZC1zb2wuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDQ2YTg4Nzk0OWUxMWQyY2RkYjkxZTE3Y2E0N2U3MzM0MWQ3MWEzNzkKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJV2VkIFNlcCAzMCAwMzowOToxNiAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogdXBkYXRlIGRlZmF1bHQgY29uc29sZT0gc2V0dGluZ3MKKworICAgIFRoZSBMaW51eCBrZXJuZWwgaGFzIGNoYW5nZWQgdGhlIHdheSBpdCBudW1iZXJzIHNlcmlhbCBwb3J0cywgc28gdXBkYXRlCisgICAgdGhlIGRlZmF1bHQgY29tbWFuZCBsaW5lIHRvIG1hdGNoIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgNGM1ZjMwN2Q1ODYwNGRlYTAwMWNjY2YzODhhYTA3N2E5MDJhYjBhNQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglNb24gU2VwIDIxIDE4OjA0OjQ5IDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiBiZjUzMy1lemtpdDogdXBkYXRlIGVudiBsb2NhdGlvbgorCisgICAgVGhlIHUtYm9vdCBpbWFnZSBoYXMgb3V0Z3Jvd24gdGhlIGN1cnJlbnQgc3BhY2UgYW5kIG92ZXJmbG93ZWQgaW50byB0aGUKKyAgICBlbnYgc2VjdG9yLiAgU28gbW92ZSB0aGUgZW52IHRvIHRoZSBuZXh0IGF2YWlsYWJsZSBzZWN0b3IgKHdlJ3ZlIGFscmVhZHkKKyAgICBhbGxvY2F0ZWQgdGhlIGZpcnN0IGZldyBzZWN0b3JzIGFueXdheXMgZm9yIHUtYm9vdCkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAyNGIxN2Q4YTNjM2E0YjljZWFmNjM2M2ViZTAwMjEwMTFiMGI4YmQ4CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgU2VwIDMwIDA4OjM5OjQ0IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBnZXRfbGF3X2VudHJ5IGlzbid0IHVzZWQgaW4gQ09ORklHX05BTkRfU1BMCisKKyAgICBEb24ndCBpbmNsdWRlIGdldF9sYXdfZW50cnkgYXMgcGFydCBvZiB0aGUgTkFORF9TUEwgYnVpbGQgc2luY2UgdGhlCisgICAgY29kZSBpc250IHVzZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNjkzYTA0OGQ4YWMxOTExODFmNWI5YWRiZmY2NDJkM2YxYmJkNDc5ZgorQXV0aG9yOiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CitEYXRlOglXZWQgU2VwIDIzIDE1OjIwOjM5IDIwMDkgKzA4MDAKKworICAgIEFkZCBSRUFETUUubXBjODUzNmRzCisKKyAgICBBZGQgYm9vdCBmcm9tIE5BTkQvZVNESEMvZVNQSSBkZXNjcmlwdGlvbgorCisgICAgU2lnbmVkLW9mZi1ieTogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBlNDBhYzQ4NzBjNmU3MjMwMjA0NGU5ODMzODMyMmY0NWMzNDQzNWJkCitBdXRob3I6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBTZXAgMjMgMTU6MjA6MzggMjAwOSArMDgwMAorCisgICAgT24tY2hpcCBST00gYm9vdDogTVBDODUzNkRTIHN1cHBvcnQKKworICAgIFRoZSBNUEM4NTM2RSBpcyBjYXBhYmxlIG9mIGJvb3RpbmcgZnJvbSB0aGUgb24tY2hpcCBST00gLSBib290IGZyb20KKyAgICBlU0RIQyBhbmQgYm9vdCBmcm9tIGVTUEkuIFdoZW4gcG93ZXIgb24sIHRoZSBwb3JjZXNzb3IgZXhjdXRlcyB0aGUKKyAgICBST00gY29kZSB0byBpbml0aWFsaXplIHRoZSBlU1BJL2VTREhDIGNvbnRyb2xsZXIsIGFuZCBsb2FkcyB0aGUgbWlhbgorICAgIFUtQm9vdCBpbWFnZSBmcm9tIHRoZSBtZW1vcnkgZGV2aWNlIHRoYXQgaW50ZXJmYWNlZCB0byB0aGUgY29udHJvbGxlciwKKyAgICBzdWNoIGFzIHRoZSBTRENhcmQgb3IgU1BJIEVFUFJPTSwgdG8gdGhlIHRhcmdldCBtZW1vcnksIGUuZy4gU0RSQU0gb3IKKyAgICBMMlNSQU0sIHRoZW4gYm9vdCBmcm9tIGl0LgorCisgICAgVGhlIG1lbW9yeSBkZXZpY2Ugc2hvdWxkIGNvbnRhaW4gYSBzcGVjaWZpYyBkYXRhIHN0cnVjdHVyZSB3aXRoIGNvbnRyb2wKKyAgICB3b3JkIGFuZCBjb25maWcgd29yZCBhdCB0aGUgZml4ZWQgYWRkcmVzcy4gVGhlIGNvbmZpZyB3b3JkIGRpcmVjdCB0aGUKKyAgICBwcm9jZXNzIGhvdyB0byBjb25maWcgdGhlIG1lbW9yeSBkZXZpY2UsIGFuZCB0aGUgY29udHJvbCB3b3JkIGRpcmVjdAorICAgIHRoZSBwcm9jZXNzb3Igd2hlcmUgdG8gZmluZCB0aGUgaW1hZ2Ugb24gdGhlIG1lbW9yeSBkZXZpY2UsIG9yIHdoZXJlCisgICAgY29weSB0aGUgbWFpbiBpbWFnZSB0by4gVGhlIHVzZXIgY2FuIHVzZSBhbnkgbWV0aG9kIHRvIHN0b3JlIHRoZSBkYXRhCisgICAgc3RydWN0dXJlIHRvIHRoZSBtZW1vcnkgZGV2aWNlLCBvbmx5IGlmIHN0b3JlIGl0IG9uIHRoZSBhc3NpZ25lZCBhZGRyZXNzLgorCisgICAgVGhlIG9uLWNoaXAgUk9NIGNvZGUgd2lsbCBtYXAgdGhlIHdob2xlIDRHQiBhZGRyZXNzIHNwYWNlIGJ5IHNldHRpbmcKKyAgICBlbnRyeTAgaW4gdGhlIFRMQjEsIHNvIHRoZSBtYWluIGltYWdlIG5lZWQgdG8gc3dpdGNoIHRvIEFkZHJlc3Mgc3BhY2UgMQorICAgIHRvIGRpc2FibGUgdGhpcyBtYXBwaW5nIGFuZCBtYXAgdGhlIGFkZHJlc3Mgc3BhY2UgYWdhaW4uCisKKyAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgbG9hZGluZyB0aGUgbWlhbiBVLUJvb3QgaW1hZ2UgaW50byBMMlNSQU0sIHNvCisgICAgdGhlIGltYWdlIGNhbiBjb25maWd1cmUgdGhlIHN5c3RlbSBtZW1vcnkgYnkgdXNpbmcgU1BEIEVFUFJPTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgOWExYTBhZWRiYmQ1NmY5MDFiZmJjMTI0ZjE4ZWM2ZDlkY2VmZTI4MgorQXV0aG9yOiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CitEYXRlOglXZWQgU2VwIDIzIDE1OjIwOjM3IDIwMDkgKzA4MDAKKworICAgIE5BTkQgYm9vdDogTVBDODUzNkRTIHN1cHBvcnQKKworICAgIE1QQzg1MzZFIGNhbiBzdXBwb3J0IGJvb3RpbmcgZnJvbSBOQU5EIGZsYXNoIHdoaWNoIHVzZXMgdGhlCisgICAgaW1hZ2UgdS1ib290LW5hbmQuYmluLiBUaGlzIGltYWdlIGNvbnRhaW5zIHR3byBwYXJ0czogYSA0SworICAgIE5BTkQgbG9hZGVyIGFuZCBhIG1haW4gVS1Cb290IGltYWdlLiBUaGUgZm9ybWVyIGlzIGFwcGVuZGVkCisgICAgdG8gdGhlIGxhdHRlciB0byBwcm9kdWNlIHUtYm9vdC1uYW5kLmJpbi4gVGhlIDRLIE5BTkQgbG9hZGVyCisgICAgaW5jbHVkZXMgdGhlIGNvcnJlc3BvbmRpbmcgbmFuZF9zcGwgZGlyZWN0b3J5LCBhbG9uZyB3aXRoIHRoZQorICAgIGNvZGUgdHdpc3RlZCBieSBDT05GSUdfTkFORF9TUEwuIFRoZSBtYWluIFUtQm9vdCBpbWFnZSBqdXN0CisgICAgbGlrZSBhIGdlbmVyYWwgVS1Cb290IGltYWdlIGV4Y2VwdCB0aGUgcGFydHMgdGhhdCBpbmNsdWRlZCBieQorICAgIENPTkZJR19TWVNfUkFNQk9PVC4KKworICAgIFdoZW4gcG93ZXIgb24sIGVMQkMgd2lsbCBhdXRvbWF0aWNhbGx5IGxvYWQgZnJvbSBiYW5rIDAgdGhlCisgICAgNEsgTkFORCBsb2FkZXIgaW50byB0aGUgRkNNIGJ1ZmZlciBSQU0gd2hlcmUgQ1BVIGNhbiBleGVjdXRlCisgICAgdGhlIGJvb3QgY29kZSBkaXJlY3RseS4gSW4gdGhlIGZpcnN0IHN0YWdlLCB0aGUgTkFORCBsb2FkZXIKKyAgICBjb3BpZXMgaXRzZWxmIHRvIFJBTSBvciBMMlNSQU0gdG8gZnJlZSB1cCB0aGUgRkNNIGJ1ZmZlciBSQU0sCisgICAgdGhlbiBsb2FkcyB0aGUgbWFpbiBpbWFnZSBmcm9tIE5BTkQgZmxhc2ggdG8gUkFNIG9yIEwyU1JBTQorICAgIGFuZCBib290IGZyb20gaXQuCisKKyAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIE5BTkQgbG9hZGVyIHRvIGxvYWQgdGhlIG1haW4gaW1hZ2UKKyAgICBpbnRvIEwyU1JBTSwgc28gdGhlIG1haW4gaW1hZ2UgY2FuIGNvbmZpZ3VyZSB0aGUgUkFNIGJ5IHVzaW5nCisgICAgU1BEIEVFUFJPTS4gSW4gdGhlIGZpcnN0IHN0YWdlLCB0aGUgTkFORCBsb2FkZXIgY29waWVzIGl0c2VsZgorICAgIHRvIHRoZSBzZWNvbmQgdG8gbGFzdCA0SyBhZGRyZXNzIHNwYWNlLCBhbmQgdXNlcyB0aGUgbGFzdCA0SworICAgIGFkZHJlc3Mgc3BhY2UgYXMgdGhlIGluaXRpYWwgUkFNIGZvciBzdGFjay4KKworICAgIE9idmlvdXNseSwgdGhlIHNpemUgb2YgTDJTUkFNIHNob3VsZG4ndCBiZSBsZXNzIHRoYW4gdGhlIHNpemUKKyAgICBvZiB0aGUgaW1hZ2UgdXNlZC4gSWYgc28sIHRoZSB3b3JrYXJvdW5kIGlzIHRvIGdlbmVyYXRlIGFub3RoZXIKKyAgICBpbWFnZSB0aGF0IGluY2x1ZGVzIHRoZSBjb2RlIHRvIGNvbmZpZ3VyZSB0aGUgUkFNIGJ5IFNQRCBhbmQKKyAgICBsb2FkIGl0IHRvIEwyU1JBTSBmaXJzdCwgdGhlbiByZWxvY2F0ZSB0aGUgbWFpbiBpbWFnZSB0byBSQU0KKyAgICB0byBib290IHVwLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAwNzM1NTcwMDUyMzIwM2M1ZjcyMDE4NzEyY2YwZDkzNjgzZjI1NWM4CitBdXRob3I6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBTZXAgMjMgMTU6MTk6MzIgMjAwOSArMDgwMAorCisgICAgbXBjODUzNjogZml4IGJvYXJkIGNvbmZpZyBmaWxlIGxpbmUgbGVuZ3RoCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGRkOWNhOThmMjYwMDAwMGU1YzI3NDQ3MzUwNDAxMDBiNzcwNjUwZTcKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglGcmkgU2VwIDI1IDExOjE0OjExIDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IHJlY2xhaW0gd2FzdGVkIHNlY3RvciBpbiBib290IGZsYXNoCisKKyAgICBCeSBuYXR1cmUgb2YgYmVpbmcgYmFzZWQgb2ZmIHRoZSBNUEM4NTQ4Q0RTIGJvYXJkLCB0aGlzCisgICAgYm9hcmQgaW5oZXJpdGVkIGFuIEVOVl9TSVpFIHNldHRpbmcgb2YgMjU2ay4gIEJ1dCBzaW5jZQorICAgIGl0IGhhcyBhIHNtYWxsZXIgZmxhc2ggZGV2aWNlICg4TUIgc29sZGVyZWQgb24pLCBpdCBoYXMKKyAgICBhIG5hdGl2ZSBzZWN0b3Igc2l6ZSBvZiAxMjhrLCBhbmQgaGVuY2UgdGhlIEVOVl9TSVpFIHdhcworICAgIGNhdXNpbmcgMiBzZWN0b3JzIHRvIGJlIHVzZWQgZm9yIHRoZSBlbnZpcm9ubWVudC4KKworICAgIEJ5IHJlbW92aW5nIHRoZSB1bnVzZWQgc2VjdG9yLCB3ZSBjYW4gcHVzaCBURVhUX0JBU0UgdXAKKyAgICBjbG9zZXIgdG8gdGhlIGVuZCBvZiBhZGRyZXNzIHNwYWNlIGFuZCByZWNsYWltIHRoYXQKKyAgICBzZWN0b3IgZm9yIGFueSBvdGhlciBhcHBsaWNhdGlvbi4gIFRoaXMgYWxzbyBmaXhlcyB0aGUKKyAgICBtaXNtYXRjaCBiZXR3ZWVuIFRFWFRfQkFTRSBhbmQgTU9OSVRPUl9MRU4gcmVwb3J0ZWQgYnkKKyAgICBLdW1hciBlYXJsaWVyLgorCisgICAgU2luY2UgdGhpcyBib2FyZCBhbHNvIHN1cHBvcnRzIHRoZSBhYmlsaXR5IHRvIGJvb3Qgb2ZmCisgICAgdGhlIDY0TUIgU09ESU1NIGZsYXNoLCB0aGlzIGNoYW5nZSBpcyBmb3J3YXJkIGxvb2tpbmcKKyAgICB3aXRoIHRoYXQgaW4gbWluZDsgaS5lLiB0aGUgc2V0dGluZ3MgZm9yIE1PTklUT1JfTEVOCisgICAgYW5kIEVOVl9TSVpFIHdpbGwgd29yayB3aGVuIHRoZSA1MTJrIHNlY3RvcnMgb2YgdGhlCisgICAgU09ESU1NIGZsYXNoIGFyZSB1c2VkIGZvciBhbHRlcm5hdGUgYm9vdCBpbiB0aGUgZnV0dXJlLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDgyODA5MTJlMDY1N2U5NmE3YjdkOGRhNzAwMzY1NmQ2MmIwZmQxMDkKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CU1vbiBTZXAgMjggMjE6Mzg6MDAgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IENsZWFuIHVwIGltbWFwXzg1eHguaAorCisgICAgKiBDb252ZXJ0ZWQgYWxsIHdoaXRlIHNwYWNlIHRvIHRhYnMKKyAgICAqIENvbnZlcnRlZCBhbGwgdHlwZXMgdG8gdTgvdTE2L3UzMgorICAgICogUmVkdWNlIGxpbmVzIHRvIGZpdCBpbiA4MCBjb2x1bW5zCisgICAgKiBSZW5hbWVkIE1QQzg1eHhfe1EsQn1NQU4gLT4gRlNMX0NPUkVORVRfe1EsQn1NQU4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBkNDRlOWMxNzM2MjgzZjBhYmM1ZDNjNWQyOGNmZWE4NDgwYzkzYTc5CitBdXRob3I6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIFNlcCAyOCAxNjozMzoxOCAyMDA5IC0wNTAwCisKKyAgICBOQU5EOiBkYXZpbmNpOiBGaXggd2FybmluZ3Mgd2hlbiA0LWJpdCBFQ0Mgbm90IHVzZWQKKworICAgIEkgYWNjaWRlbnRhbGx5IGxlZnQgdjIgb2YgIk5BTkQ6IERhVmluY2k6QWRkaW5nIDQgQklUIEVDQyBzdXBwb3J0IgorICAgIGFwcGxpZWQgd2hlbiBJIHB1c2hlZCB0aGUgdHJlZSBsYXN0IG1lcmdlIHdpbmRvdywgYW5kIG1pc3NlZCB0aGVzZSBmaXhlcworICAgIHdoaWNoIHdlcmUgaW4gdjMgb2YgdGhhdCBwYXRjaC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGNhNjE4OWRiNDg0ODgyNzk4ZjJhMzVhNDc2YzA3ZTYxOGUyMWY2ZDMKK0F1dGhvcjogS3l1bmdtaW4gUGFyayA8a21wYXJrQGluZnJhZGVhZC5vcmc+CitEYXRlOglUdWUgU2VwIDIyIDA5OjA1OjAwIDIwMDkgKzA5MDAKKworICAgIFJlZmFjdG9yIE9uZU5BTkQgSVBMIGNvZGUKKworICAgIFJlZmFjdG9yaW5nIHRoZSBPbmVOQU5EIElQTCBjb2RlCisKKyAgICBhbmQgc29tZSBtaW5vciBmaXhlZDoKKyAgICAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBoZWFkZXIgZmlsZQorICAgIC0gRml4IHdyb25nIGFjY2VzcyBhdCByZWFkIGludGVycnVwdAorICAgIC0gVGhlIHJlY2VudCBPbmVOQU5EIGhhcyA0S2lCIHBhZ2VzaXplCisKKyAgICBBbHNvIEJvYXJkIGNhbiBvdmVycmlkZSBPbmVOQU5EIElQTCBpbWFnZQorCisgICAgU2lnbmVkLW9mZi1ieTogS3l1bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KKworY29tbWl0IGEwNWUzZjlhMDg0ZmM4OTUxZDg3NzQ1YjNhOTFkZjI0NjQzMmRmN2QKK0F1dGhvcjogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBwb2JveC5jb20+CitEYXRlOglTYXQgU2VwIDEyIDE4OjAxOjQwIDIwMDkgKzA5MDAKKworICAgIE1JUFM6IFZDVDogUmVtb3ZlIHJlYWRfc3BhcmVyYW0gcmVmZXJlbmNlCisKKyAgICBUaGUgY29tbWl0IGVjYWQyODlmYzZiZDlkODllZjRkNTA5M2NjN2I2ZmQ3MTJmZDBkMjkgKE9uZU5BTkQ6IFJlbW92ZQorICAgIHVudXNlZCByZWFkX3NwYXJlcmFtIGFuZCBhZGQgdW5sb2NrX2FsbCBhcyBrZXJuZWwgZG9lcykgZm9yZ290IHRvIHJlbW92ZQorICAgIGEgbG9jYWwgcmVmZXJlbmNlIHRvIHJlYWRfc3BhcmVyYW0gaW4gYm9hcmQvbWljcm9uYXMvdmN0L2ViaV9vbmVuYW5kLmMsCisgICAgd2hpY2ggY2F1c2VzIHRoZSBmb2xsb3dpbmcgYnVpbGQgZmFpbHVyZSB3aGVuIGNvbmZpZ3VyZWQgd2l0aCBPbmVOQU5EOgorCisgICAgZWJpX29uZW5hbmQuYzogSW4gZnVuY3Rpb24gJ29uZW5hbmRfYm9hcmRfaW5pdCc6CisgICAgZWJpX29uZW5hbmQuYzoxOTY6IGVycm9yOiAnc3RydWN0IG9uZW5hbmRfY2hpcCcgaGFzIG5vIG1lbWJlciBuYW1lZCAncmVhZF9zcGFyZXJhbScKKyAgICBtYWtlWzFdOiAqKiogW2ViaV9vbmVuYW5kLm9dIEVycm9yIDEKKyAgICBtYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgorICAgIG1ha2U6ICoqKiBbYm9hcmQvbWljcm9uYXMvdmN0L2xpYnZjdC5hXSBFcnJvciAyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHBvYm94LmNvbT4KKyAgICBBY2tlZC1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZWYzN2M2ODM1ZWFjNjYyMDZhOWM3YzExZjBjNzE4NmY1ZDY0YmY5MQorQXV0aG9yOiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CitEYXRlOglGcmkgU2VwIDI1IDE0OjA1OjU3IDIwMDkgKzAyMDAKKworICAgIHViaWZzOiBDb3JyZWN0IGRlcmVmZXJlbmNpbmcgb2YgZmlsZXMtYWZ0ZXItc3ltbGlua3MKKworICAgIEZpbGVzIGluIGRpcmVjdG9yaWVzIHdoaWNoIGFyZSBzeW1saW5rZWQgdG8gd2VyZSBub3QgZGVyZWZlcmVuY2VkCisgICAgY29ycmVjdGx5IGluIGxhc3QgY29tbWl0LiBFLmcuLCB3aXRoIGEgc3ltbGluaworCisgICAgICAgL2Jvb3QvbG5rIC0+IC9ib290L3JlYWxfZGlyCisKKyAgICBsb2FkaW5nCisKKyAgICAgICAvYm9vdC9sbmsvdUltYWdlCisKKyAgICB3aWxsIGZhaWwuIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCBieSBzaW1wbHkgc2VlaW5nIHRvIGl0IHRoYXQgdGhlIHRhcmdldAorICAgIGJhc2UgZGlyZWN0b3J5IGhhcyBhIHNsYXNoIGFmdGVyIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGIzMDZkYjJmMWJmNTYxYjU4MjNhNjU1YzY3N2ZlMjhjZmFkODBjZmIKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVGh1IFNlcCAyNCAxNDoxMDozMCAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFJlbW92ZSBtdHNkcmFtMCgpIG1hcmNvcyBhbmQgdXNlIGNvbW1vbiBtdHNkcmFtKCkgaW5zdGVhZAorCisgICAgQWRkaXRpb25hbGx5IHNvbWUgd2hpdGVzcGFjZSBjb2Rpbmcgc3R5bGUgZml4ZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA5NWI2MDJiYWI1ZmVjMmZmZmFiMDdhMDFlYTM5NDdjNzBkMWJhY2MxCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CVRodSBTZXAgMjQgMTM6NTk6NTcgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBDb252ZXJ0IFBQQzR4eCBTRFJBTSBkZWZpbmVzIGZyb20gbG93ZXIgY2FzZSB0byB1cHBlciBjYXNlCisKKyAgICBUaGUgbGF0ZXN0IFBQQzR4eCByZWdpc3RlciBjbGVhbnVwIHBhdGNoIG1pc3NlZCBzb21lIFNEUkFNIGRlZmluZXMuCisgICAgVGhpcyBwYXRjaCBub3cgY2hhbmdlcyBsb3dlciBjYXNlIFVJQyBkZWZpbmVzIHRvIHVwcGVyIGNhc2UuIEFsc28KKyAgICBzb21lIG5hbWVzIGFyZSBjaGFuZ2VkIHRvIG1hdGNoIHRoZSBuYW1pbmcgaW4gdGhlIElCTS9BTUNDIHVzZXJzCisgICAgbWFudWFscyAoZS5nLiBtZW1fbWNvcHQxIC0+IFNEUkFNMF9DRkcpLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgOTUyZTc3NjBiZmM1YjBlM2IxNDJiOWNlMzRlN2ZiYjdkMDA4YzkwMAorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUaHUgU2VwIDI0IDA5OjU1OjUwIDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogQ29udmVydCBQUEM0eHggVUlDIGRlZmluZXMgZnJvbSBsb3dlciBjYXNlIHRvIHVwcGVyIGNhc2UKKworICAgIFRoZSBsYXRlc3QgUFBDNHh4IHJlZ2lzdGVyIGNsZWFudXAgcGF0Y2ggbWlzc2VkIHRoZSBVSUMgZGVmaW5lcy4KKyAgICBUaGlzIHBhdGNoIG5vdyBjaGFuZ2VzIGxvd2VyIGNhc2UgVUlDIGRlZmluZXMgdG8gdXBwZXIgY2FzZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGQxYzllNWIzNzkwMWI1M2ZmYzFjZTNmMDhlYzhlZDYxYmZkNTU3YjYKK0F1dGhvcjogSm9ha2ltIFRqZXJubHVuZCA8Sm9ha2ltLlRqZXJubHVuZEB0cmFuc21vZGUuc2U+CitEYXRlOglUdWUgU2VwIDIyIDEzOjQwOjQ0IDIwMDkgKzAyMDAKKworICAgIGZzbF9pMmM6IERvIG5vdCBnZW5lcmF0ZSBTVE9QIGFmdGVyIHJlYWQuCisKKyAgICBfX2kyY19yZWFkIGFsd2F5cyBlbmRzIHdpdGggYSBTVE9QIGNvbmRpdGlvbiB0aGVyZWJ5IHJlbGVhc2luZworICAgIHRoZSBidXMuIEl0IGlzIGNsZWFuZXIgdG8gZG8gdGhlIFNUT1AgbWFnaWMgaW4gaTJjX3JlYWQoKSwgbGlrZQorICAgIGkyY193cml0ZSgpIGRvZXMuIFRoaXMgbWF5IGFsc28gaGVscCBmdXR1cmUgbXVsdGltYXN0ZXIgc3lzdGVtcyB3aGljaAorICAgIHdhbnRzIHRvIGhvbGQgb24gdG8gdGhlIGJ1cyB1bnRpbCBhbGwgdHJhbnNhY3Rpb25zIGFyZSBmaW5pc2hlZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEpvYWtpbSBUamVybmx1bmQgPEpvYWtpbS5UamVybmx1bmRAdHJhbnNtb2RlLnNlPgorCitjb21taXQgOTk0MDQyMDIxMjczNDZiOWU5MTUwM2JiZDY5ZGVhZmExOGM5ODBjNAorQXV0aG9yOiBKb2FraW0gVGplcm5sdW5kIDxKb2FraW0uVGplcm5sdW5kQHRyYW5zbW9kZS5zZT4KK0RhdGU6CVRodSBTZXAgMTcgMTE6MDc6MTcgMjAwOSArMDIwMAorCisgICAgZnNsX2kyYzogSW1wbC4gQU4yOTE5LCByZXYgNSB0byBjYWxjdWxhdGUgRkRSL0RGU1IKKworICAgIFRoZSBsYXRlc3QgQU4yOTE5IGhhcyBjaGFuZ2VkIHRoZSB3YXkgRkRSL0RGU1Igc2hvdWxkIGJlIGNhbGN1bGF0ZWQuCisgICAgVXBkYXRlIHRoZSBkcml2ZXIgYWNjb3JkaW5nIHRvIHNwZWMuIEhvd2V2ZXIsIENvbmRpdGlvbiAyCisgICAgaXMgbm90IGFjY291bnRlZCBmb3IgYXMgaXQgaXMgbm90IGNsZWFyIGhvdyB0byBkbyBzby4KKworICAgIFNpZ25lZC1vZmYtYnk6IEpvYWtpbSBUamVybmx1bmQgPEpvYWtpbS5UamVybmx1bmRAdHJhbnNtb2RlLnNlPgorICAgIEFja2VkLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IGQwMWVlNGRiOTMwMmNmY2NhYTVjNTQ4YTFjNGU4NzNiNDE1NjgxYTAKK0F1dGhvcjogSm9ha2ltIFRqZXJubHVuZCA8Sm9ha2ltLlRqZXJubHVuZEB0cmFuc21vZGUuc2U+CitEYXRlOglUaHUgU2VwIDE3IDExOjA3OjE2IDIwMDkgKzAyMDAKKworICAgIGZzbF9pMmM6IEFkZCBDT05GSUdfRlNMX0kyQ19DVVNUT01fe0RGU1IvRkRSfQorCisgICAgU29tZSBib2FyZHMgbmVlZCBhIGhpZ2hlciBERlNSIHZhbHVlIHRoYW4gdGhlIHNwZWMgY3VycmVudGx5CisgICAgcmVjb21tZW5kcyBzbyBnaXZlIHRoZXNlIGJvYXJkcyB0aGUgbWVhbnMgdG8gZGVmaW5lIHRoZXJlIG93bi4KKworICAgIEZvciBjb21wbGV0ZW5lc3MsIGFkZCBDT05GSUdfRlNMX0kyQ19DVVNUT01fRkRSIHRvby4KKworICAgIFNpZ25lZC1vZmYtYnk6IEpvYWtpbSBUamVybmx1bmQgPEpvYWtpbS5UamVybmx1bmRAdHJhbnNtb2RlLnNlPgorCitjb21taXQgMjFmNGNiYjc3Mjk5Nzg4ZTJiMDZjOWIwZjQ4Y2YyMGE1YWIwMGQ0YQorQXV0aG9yOiBKb2FraW0gVGplcm5sdW5kIDxKb2FraW0uVGplcm5sdW5kQHRyYW5zbW9kZS5zZT4KK0RhdGU6CVRodSBTZXAgMTcgMTE6MDc6MTUgMjAwOSArMDIwMAorCisgICAgZnNsX2kyYzogV2FpdCBmb3IgU1RPUCBjb25kaXRpb24gdG8gcHJvcGFnYXRlCisKKyAgICBBZnRlciBpc3N1aW5nIGEgU1RPUCBvbmUgbXVzdCB3YWl0IHVudGlsIHRoZSBTVE9QIGhhcyBjb21wbGV0ZWQKKyAgICBvbiB0aGUgYnVzIGJlZm9yZSBkb2luZyBzb21ldGhpbmcgbmV3IHRvIHRoZSBjb250cm9sbGVyLgorCisgICAgQWxzbyBhZGQgYW4gZXh0cmEgcmVhZCBvZiBTUiBhcyB0aGUgbWFudWFsIG1lbnRpb25zIGRvaW5nIHRoYXQKKyAgICBpcyBhIGdvb2QgaWRlYS4KKworICAgIFJlbW92ZSBzdXJwbHVzIHdyaXRlIG9mIENSIGp1c3QgYmVmb3JlIGEgd3JpdGUsIGlzbid0IHJlcXVpcmVkIGFuZAorICAgIGNvdWxkIHBvdGVudGlhbGx5IGRpc3R1cmIgdGhlIEkyQyBidXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKb2FraW0gVGplcm5sdW5kIDxKb2FraW0uVGplcm5sdW5kQHRyYW5zbW9kZS5zZT4KKworY29tbWl0IGM3MTkwZjAyOGZhOTUwZDRkMzZiNmQwYjRiYjNmYzcyNjAyZWM1NGMKK0F1dGhvcjogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBTZXAgMjUgMTg6MTk6NDQgMjAwOSAtMDUwMAorCisgICAgbXBjODN4eDogcmV0YWluIFBPUiB2YWx1ZXMgb2Ygbm9uLWNvbmZpZ3VyZWQgQUNSLCBTUENSLCBTQ0NSLCBhbmQgTENSUiBiaXRmaWVsZHMKKworICAgIHNvbWUgTENSUiBiaXRzIGFyZSBub3QgZG9jdW1lbnRlZCB0aHJvdWdob3V0IHRoZSA4M3h4IGZhbWlseSBSTXMuCisgICAgTmV3IGJvYXJkIHBvcnRlcnMgY29weWluZyBzaW1pbGFyIGJvYXJkIGNvbmZpZ3VyYXRpb25zIG1pZ2h0IG9taXQKKyAgICBzZXR0aW5nIGUuZy4sIERCWVAgc2luY2UgaXQgd2FzIG5vdCBkb2N1bWVudGVkIGluIHRoZWlyIFNvQydzIFJNLgorCisgICAgUHJldmVudCB0aGVtIGJyaWNraW5nIHRoZWlyIGJvYXJkIGJ5IHJldGFpbmluZyBwb3dlciBvbiByZXNldCB2YWx1ZXMKKyAgICBpbiBiaXQgZmllbGRzIHRoYXQgdGhlIGJvYXJkIHBvcnRlciBkb2Vzbid0IGV4cGxpY2l0bHkgY29uZmlndXJlCisgICAgdmlhIENPTkZJR19TWVNfPHJlZ2lzdGVybmFtZT5fPGJpdGZpZWxkPiBhc3NpZ25tZW50cyBpbiB0aGUgYm9hcmQKKyAgICBjb25maWcgZmlsZS4KKworICAgIGFsc28gbW92ZSBMQ1JSIGFzc2lnbm1lbnQgdG8gY3B1X2luaXRfclthbV0gdG8gaGVscCBlbnN1cmUgbm8KKyAgICB0cmFuc2FjdGlvbnMgYXJlIGJlaW5nIGV4ZWN1dGVkIHZpYSB0aGUgbG9jYWwgYnVzIHdoaWxlIENMS0RJViBpcyBiZWluZworICAgIG1vZGlmaWVkLgorCisgICAgYWxzbyBzdGFydCB0byB1c2UgaS9vIGFjY2Vzc29ycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAwMGVjMGZmNTQ5YjhjYjZmYjZkNDBlMjc1YWViNWE0NjA2NDJhM2JkCitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxNzo0NDo1MSAyMDA5IC0wNDAwCisKKyAgICBzYmM4MzQ5OiB0aWR5IHVwIE1ha2VmaWxlIHRvIHVzZSBuZXcgY29uZmlndXJhdGlvbiBzY3JpcHQuCisKKyAgICBDb21taXQgODA0ZDgzYTUgYWxsb3dzIHVzIHRvIG1vdmUgYWxsIHRoZSBjb25maWd1cmF0aW9uCisgICAgdmFyaWF0aW9uIHR3ZWFrcyBvdXQgb2YgdGhlIHRvcCBsZXZlbCBNYWtlZmlsZSBhbmQgZG93bgorICAgIGludG8gdGhlIGJvYXJkIGNvbmZpZyBoZWFkZXIuICBUaGlzIHRha2VzIGFkdmFudGFnZSBvZgorICAgIHRoYXQgZm9yIHRoZSBzYmM4MzQ5IGJvYXJkLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGRhNmVlYTBmNDhjMjRhMzE4ZTZkZTY5ZDZiY2EwYmI1YWI3MDU3MmIKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglXZWQgU2VwIDE2IDIzOjIyOjA4IDIwMDkgKzA0MDAKKworICAgIG1wYzgzeHg6IG1wYzgzNjBlbWRzOiBBZGQgUUUgVVNCIGRldmljZSB0cmVlIGZpeHVwcworCisgICAgV2l0aCB0aGlzIHBhdGNoIHdlIGNhbiBjaGFuZ2UgUUUgVVNCIG1vZGUgd2l0aG91dCBuZWVkIHRvIGhhbmQtZWRpdAorICAgIHRoZSBkZXZpY2UgdHJlZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA4OWRhNDRjZTNmZTE2MzgzMTJkNzFjYjNhZGQ4YzZhNmQyYzdjMWYzCitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJV2VkIFNlcCAxNiAyMzoyMTo1OSAyMDA5ICswNDAwCisKKyAgICBtcGM4M3h4OiBtcGM4MzYwZW1kczogVXNlIFJHTUlJLUlEIG1vZGUsIGFkZCB3b3JrYXJvdW5kcyBmb3IgcmV2LiAyLjEgQ1BVcworCisgICAgVGhpcyBwYXRjaCBmaXhlcyB2YXJpb3VzIGV0aGVybmV0IGlzc3VlcyB3aXRoIGdpZ2FiaXQgbGlua3MgaGFuZGxpbmcKKyAgICBpbiBVLUJvb3QuIFRoZSB3b3JrYXJvdW5kcyBvcmlnaW5hbGx5IGltcGxlbWVudGVkIGJ5IEtpbSBQaGlsbGlwcyBmb3IKKyAgICBMaW51eCBrZXJuZWwuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgMDM0NDc3YmIzMTk0OGQ2OThkMThiODRiYzA4MzRjM2UyNWExNGQwNAorQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVdlZCBTZXAgMTYgMjM6MjE6NTcgMjAwOSArMDQwMAorCisgICAgbXBjODN4eDogbXBjODM2MGVtZHM6IERvbid0IHVzZSBMQkMgU0RSQU0gd2hlbiBERFIgaXMgYXZhaWxhYmxlCisKKyAgICBTaW5jZSBjb21taXQgNWMyZmYzMjNhOTRlMjdlNDgxZjcwYzQ0ODM4ZDQzZmNkODQ0ZGQ0NiAoIm1wYzgzNjBlbWRzOgorICAgIHJld29yayBMQkMgU0RSQU0gc2V0dXAiKSwgTEJDIFNEUkFNIGlzIGF2YWlsYWJsZSBmb3IgdXNlIGluIExpbnV4LgorCisgICAgVGhvdWdoLCBpdCBhcHBlYXJzIHRoYXQgUUUgRXRoZXJuZXQgaW4gR2lnYWJpdCBtb2RlIGNhbid0IHRyYW5zbWl0CisgICAgbGFyZ2UgcGFja2V0cyB3aGVuIGl0IHRyaWVzIHRvIHdvcmsgd2l0aCBhIGRhdGEgaW4gTEJDIFNEUkFNIChtZW10ZXN0CisgICAgZGlkbid0IGRpc2NvdmVyIGFueSBpc3N1ZXMsIGlzIExCQyBTRFJBTSBqdXN0IHRvbyBzbG93PykuCisKKyAgICBXaXRoIHRoaXMgcGF0Y2ggd2UgY2FuIHN0aWxsIHVzZSB0aGUgYm9hcmQgd2l0aG91dCBERFIgbWVtb3J5LCBidXQKKyAgICBpZiBERFIgaXMgYXZhaWxhYmxlLCB3ZSBkb24ndCB1c2UgTEJDIFNEUkFNLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGQ3N2M3NzliYzIzNTk2YWEzNjkzZDFjNWM0ZDViNmUxMDcyZjkzZjIKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglXZWQgU2VwIDE2IDIzOjIxOjU1IDIwMDkgKzA0MDAKKworICAgIG5ldDogdWVjOiBGaXggdWNjZi5oIGFuZCB1ZWMuaCBoZWFkZXJzIHRvIGluY2x1ZGUgaGVhZGVycyB0aGV5IGRlcGVuZCBvbgorCisgICAgSGVhZGVycyBzaG91bGQgaW5jbHVkZSBoZWFkZXJzIGNvbnRhaW5pbmcgcHJvdG90eXBlcyBhbmQgZGVmaW5lcyB0aGV5CisgICAgZGVwZW5kIG9uLCBkb24ndCBhc3N1bWUgdGhhdCB0aGV5J3JlIGluY2x1ZGVkIGJ5IHNvbWVib2R5IGVsc2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgNjE4NWY4MGMzMTFjYzNiZGVmMmY4ZDUwOTZjNjFlNDBjYTZmNDhiMgorQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVdlZCBTZXAgMTYgMjM6MjE6NTMgMjAwOSArMDQwMAorCisgICAgbmV0OiB1ZWNfcGh5OiBJbXBsZW1lbnQgVFhJRCBhbmQgUlhJRCBSR01JSSBtb2RlcyBmb3IgTWFydmVsbCBQSFlzCisKKyAgICBUaGlzIHdpbGwgYmUgbmVlZGVkIGZvciBNUEM4MzYwRS1NRFMgYm9hcmRzIHdpdGggcmV2LiAyLjEgQ1BVcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA5ODRmMTBiYWFjOGVmNjAzMmRmNTJmMTM1OTQzZDZiMGJjOTZmNzI0CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDI1IDE0OjE2OjAwIDIwMDkgKzAyMDAKKworICAgIG1wYzUxMjFhZHM6IGZpeCBicmVha2FnZSBpbnRyb2R1Y2VkIHdoZW4gcmVvcmRlcmluZyBlbHBpZGFfbWRkcmNfY29uZmlnW10KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA2ZTc0OGVhMDA0NDczY2NlOTlmYmRlNjM4MmRkNTgwYzEwZmZkYjYwCitBdXRob3I6IEtlbiBNYWNMZW9kIDxrZW5AYml0c2tvLnNsYy51dC51cz4KK0RhdGU6CUZyaSBTZXAgMTEgMTU6MTY6MTggMjAwOSAtMDUwMAorCisgICAgY21kX2ZkdC5jOiBmaXggcGFyc2Ugb2YgYnl0ZSBzdHJlYW1zIGFuZCBzdHJpbmdzCisKKyAgICBDb21taXQgNGFiZDg0NGQ4ZSBleHRlbmRlZCB0aGUgZmR0IGNvbW1hbmQgcGFyc2VyIHRvIGhhbmRsZSBwcm9wZXJ0eQorICAgIHN0cmluZ3Mgd2hpY2ggYXJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBhcmd1bWVudHMgYnV0IGl0IHdhcyBicm9rZW4gZm9yCisgICAgYnl0ZSBzdHJlYW1zIGFuZCBzdHJpbmdzLgorCisgICAgQnl0ZSBzdHJlYW0gcGFyc2luZzoKKworICAgICAqIEZpeGVzIHdoZXJlIGl0IHdvdWxkIHRlcm1pbmF0ZSBlYXJseSBvciBnbyBpbnRvIGFuIGVuZGxlc3MgbG9vcC4KKworICAgICAqIEZpeGVzIGEgMHgwMCBiZWluZyBpbnNlcnRlZCBpbnRvIHRoZSBkYXRhIGlmIHRoZXJlIGlzIGEgc3BhY2UgYWZ0ZXIKKyAgICAgICAnWycgb3IgYSBzZXBhcmF0ZSBhcmd1bWVudC4KKworICAgICAqIEZpeGVzIGRlcmVmZXJlbmNpbmcgdGhlIGFyZ3VtZW50IHBvaW50ZXIgYWZ0ZXIgdGhlIGxhc3QgYXJndW1lbnQuCisKKyAgICAgKiBDaGVja3MgZm9yIGJhZCBjaGFyYWN0ZXJzLgorCisgICAgU3RyaW5nIHBhcnNpbmc6CisKKyAgICAgKiBUcmVhdCBtdWx0aXBsZSBhcmd1bWVudHMgYXMgYSBzdHJpbmcgbGlzdC4gIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2hlcmUKKyAgICAgICBvbmx5IHRoZSBsYXN0IGFyZ3VtZW50IHdhcyBzdG9yZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLZW4gTWFjTGVvZCA8a2VuQGJpdHNrby5zbGMudXQudXM+CisKK2NvbW1pdCAzODg3YzNmYmRiYmU2YmJiNGRmNjBlZDQxNWM4ZTFhYjlmZTU2YjVlCitBdXRob3I6IEhlaWtvIFNjaG9jaGVyIDxoc0BkZW54LmRlPgorRGF0ZToJV2VkIFNlcCAyMyAwNzo1NjowOCAyMDA5ICswMjAwCisKKyAgICBtdWNtYzUyLCB1YzEwMTogZGVsZXRlIGF0YUAzYTAwIG5vZGUsIGlmIG5vIENGIGNhcmQgaXMgZGV0ZWN0ZWQKKworICAgIFUtQm9vdCBjYW4gZGV0ZWN0IGlmIGFuIElERSBkZXZpY2UgaXMgcHJlc2VudCBvciBub3QuCisgICAgSWYgbm90LCBhbmQgdGhpcyBuZXcgY29uZmlnIG9wdGlvbiBpcyBhY3RpdmF0ZWQsIFUtQm9vdAorICAgIHJlbW92ZXMgdGhlIEFUQSBub2RlIGZyb20gdGhlIERUUyBiZWZvcmUgYm9vdGluZyBMaW51eCwKKyAgICBzbyB0aGUgTGludXggSURFIGRyaXZlciBkb2VzIG5vdCBwcm9iZSB0aGUgZGV2aWNlIGFuZAorICAgIGNyYXNoLiBUaGlzIGlzIG5lZWRlZCBmb3IgYnVnZ3kgaGFyZHdhcmUgKHVjMTAxKSB3aGVyZQorICAgIG5vIHB1bGwgZG93biByZXNpc3RvciBpcyBjb25uZWN0ZWQgdG8gdGhlIHNpZ25hbCBJREU1Vl9ERDcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworY29tbWl0IDdmNjI1ZmM2ZDNiYThmODkwZTg0M2FjMDE3MTc4MDRjMjQ2MmVkNTMKK0F1dGhvcjogSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CitEYXRlOglXZWQgU2VwIDIzIDA3OjU2OjA0IDIwMDkgKzAyMDAKKworICAgIG1wYzUyMDAsIG11Y21jNTIsIHVjMTAxOiBjb25maWcgY2xlYW51cAorCisgICAgLSBBcyB0aGVzZSBib2FyZHMgYXJlIHNpbWlsaWFyLCBjb2xsZWN0IGNvbW1vbiBjb25maWcgb3B0aW9ucworICAgICAgaW4gbWFucm9sYW5kL2NvbW1vbi5oIGFuZCBtYW5yb2xhbmQvbXBjNTJ4eC1jb21tb24uaAorICAgICAgZm9yIG1wYzUyMDAgc3BlY2lmaWMgY29tbW9uIG9wdGlvbnMgZm9yIHRoaXMgbWFudWZhY3R1cmVyLgorICAgIC0gYWRkIE9GIHN1cHBvcnQKKyAgICAtIHVwZGF0ZSBkZWZhdWx0IGVudmlyb25tZW50CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworICAgIE1pbm9yIGVkaXQgb2YgY29tbWl0IG1lc3NhZ2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgOWQxNDJlYThmNzg3ODgyYWI3MzJmYTUzMWEzNGRiMDkxYmZhMzYzZAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCAyNSAwMDo1Nzo0OSAyMDA5ICswMjAwCisKKyAgICBGaXggInBwYy84NXh4OiBDbGVhbiB1cCB1c2Ugb2YgTEFXQVIgZGVmaW5lcyIgYnJlYWthZ2UKKworICAgIENvbW1pdCAwMDI3NDFhZTg2IG1vZGlmaWVkIGluY2x1ZGUvYXNtLXBwYy9tbXUuaCBzdWNoIHRoYXQgdGhlIExBV0FSXworICAgIGRlZmluZXMgd2VyZSBvbmx5IGVuYWJsZWQgZm9yIHRoZSA4M3h4IHBsYXRmb3JtLCBidXQgdGhleSBhcmUgYWxzbworICAgIG5lZWRlZCBvbiBNUEM1MTJ4IHN5c3RlbS4gRW5hYmxpbmcgdGhlc2UgZm9yIEUzMDAgc3lzdGVtcyBzZWVtcyB0aHVzCisgICAgbW9yZSBhcHByb3ByaWF0ZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBhNWFhMzk5OGFiNjQwOGE2YWM3MzhhM2NlODAwNWU2NDdiOTQ2NWY4CitBdXRob3I6IE1hcnRoYSBNIFN0YW4gPG1tYXJ4QHNpbGljb250a3guY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxNDowODowMCAyMDA5IC0wNDAwCisKKyAgICBBZGQgRWxwaWRhIE1lbW9yeSBDb25maWd1cmF0aW9uIHRvIG1wYzUxMjFhZHMgQm9hcmRzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJ0aGEgTSBTdGFuIDxtbWFyeEBzaWxpY29udGt4LmNvbT4KKworICAgIE1pbm9yIGNvZGluZyBzdHlsZSBjbGVhbnVwLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDA1NDE5N2JhOGVlNWVmMWU0MTY5NGRmNTg1MzFiNmU1M2VjNDNmMmQKK0F1dGhvcjogTWFydGhhIE0gU3RhbiA8bW1hcnhAc2lsaWNvbnRreC5jb20+CitEYXRlOglNb24gU2VwIDIxIDE0OjA3OjE0IDIwMDkgLTA0MDAKKworICAgIG1wYzUxMng6IFN0cmVhbWxpbmVkIGZpeGVkX3NkcmFtKCkgaW5pdCBzZXF1ZW5jZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hcnRoYSBNIFN0YW4gPG1tYXJ4QHNpbGljb250a3guY29tPgorCisgICAgTWlub3IgY2xlYW51cDoKKworICAgIFJlLW9yZGVyZWQgZGVmYXVsdF9tZGRyY19jb25maWdbXSB0byBoYXZlIG1hdGNoaW5nIGluZGljZXMuCisKKyAgICBUaGlzIGFsbG93cyB0byB1c2UgdGhlIHNhbWUgaW5kZXggIk4iIGZvciBzb3VyY2UgYW5kIHRhcmdldCBmaWVsZHM7CisgICAgYmVmb3JlLCB3ZSBoYWQgY29kZSBsaWtlIHRoaXMKKworCW91dF9iZTMyKCZpbS0+bWRkcmMuZGRyX3RpbWVfY29uZmlnMiwgbWRkcmNfY29uZmlnWzNdKTsKKworICAgIHdoaWNoIGFsd2F5cyBsb29rZWQgbGlrZSBhIGNvcHkgJiBwYXN0ZSBlcnJvciBiZWNhdXNlIDIgIT0gMy4KKworICAgIEFsc28sIHVzZSBOVUxMIHdoZW4gbWVhbmluZyBhIG51bGwgcG9pbnRlci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAzOWFhY2ExZjY2YTBlNWIxMjA0YjA3ODlmNmMwMDk3OTM4YzAwYWQxCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgTWFyIDE5IDAyOjQ2OjE5IDIwMDkgLTA1MDAKKworICAgIHBwYy9wNDA4MDogRGV0ZXJtaW5lIHZhcmlvdXMgY2hpcCBmcmVxdWVuY2llcyBvbiBDb3JlTmV0IHBsYXRmb3JtcworCisgICAgVGhlIG1lYW5zIHRvIGRldGVybWluZSB0aGUgY29yZSwgYnVzLCBhbmQgRERSIGZyZXF1ZW5jaWVzIGFyZSBjb21wbGV0ZWx5CisgICAgbmV3IG9uIENvcmVOZXQgc3R5bGUgcGxhdGZvcm1zLiAgQWRkaXRpb25hbGx5IG9uIHA0MDgwIHdlIGNhbiBoYXZlCisgICAgZGlmZmVyZW50IGZyZXF1ZW5jaWVzIGZvciBGTUFOIGFuZCBQTUUgSVAgYmxvY2tzLiAgV2UgbmVlZCB0byBrZWVwIHRyYWNrCisgICAgb2YgdGhlIEZNQU4gJiBQTUUgZnJlcXVlbmNpZXMgc2luY2UgdGhleSBhcmUgdXNlZCBmb3IgdGltZSBzdGFtcGluZworICAgIGNhcGFiaWxpdGllcyBpbnNpZGUgZWFjaCBibG9jay4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzYzJhNjdlZWM4YTBmYWNjODY1YjQwMGNhY2E1MmU3ZjZiN2FkZjAxCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDE3IDAxOjUyOjM3IDIwMDkgLTA1MDAKKworICAgIHBwYy9wNDA4MDogSGFuZGxlIHRpbWViYXNlIGVuYWJsaW5nIGFuZCBmcmVxdWVuY3kgcmVwb3J0aW5nCisKKyAgICBPbiBDb3JlTmV0IHN0eWxlIHBsYXRmb3JtcyB0aGUgdGltZWJhc2UgZnJlcXVlbmN5IGlzIHRoZSBidXMgZnJlcXVlbmN5CisgICAgZGVmaW5lZCBieSAxNiAob24gUFEzIGl0IGlzIGRpdmlkZSBieSA4KS4gIEFsc28gb24gdGhlIENvcmVOZXQgcGxhdGZvcm1zCisgICAgdGhlIGNvcmUgbm90IGxvbmdlciBjb250cm9scyB0aGUgZW5hYmxpbmcgb2YgdGhlIHRpbWViYXNlLglXZSBub3cgbmVlZAorICAgIHRvIGVuYWJsZSB0aGUgYm9vdCBjb3JlJ3MgdGltZWJhc2UgdmlhIENDU1IgcmVnaXN0ZXIgd3JpdGVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDdlNDI1OWJiYTRjNTY1MzY3NjBlNDJkMzJkYWNmYjMyMzNmMjE2ZmQKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBNYXIgMTkgMDI6Mzk6MTcgMjAwOSAtMDUwMAorCisgICAgcHBjL3A0MDgwOiBBZGQgdmFyaW91cyBwNDA4MCByZWxhdGVkIGRlZmluZXMgKGFuZCBwNDA0MCkKKworICAgIFRoZXJlIGFyZSB2YXJpb3VzIGxvY2F0aW9ucyB0aGF0IHdlIGhhdmUgY2hpcCBzcGVjaWZpYyBpbmZvOgorCisgICAgKiBNYWtlZmlsZSBmb3Igd2hpY2ggZGRyIGNvZGUgdG8gYnVpbGQKKyAgICAqIEFkZGVkIHA0MDgwICYgcDQwNDAgdG8gY3B1X3R5cGVfbGlzdCBhbmQgU1ZSIGxpc3QKKyAgICAqIEFkZGVkIG51bWJlciBvZiBMQVdzIGZvciBwNDA4MAorICAgICogU2V0IENPTkZJR19NQVhfQ1BVUyB0byA4IGZvciBwNDA4MAorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDM5YTdlN2ZkNTM4Y2RmNDllN2U4YTJmMDYzNGVhNWUxNWUxMmI0ZWMKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBTZXAgMTcgMDE6NDQ6MzkgMjAwOSAtMDUwMAorCisgICAgcHBjL3A0MDgwOiBDb3JlTmV0IHBsYXRmcm9tIHN0eWxlIHNlY29uZGFyeSBjb3JlIHJlbGVhc2UKKworICAgIFRoZSBDb3JlTmV0IHBsYXRmb3JtIHN0eWxlIG9mIGJyaW5naW5nIHNlY29uZGFyeSBjb3JlcyBvdXQgb2YgcmVzZXQgaXMKKyAgICBhIGJpdCBkaWZmZXJlbnQgdGhhdCB0aGUgUFEzIHN0eWxlLiAgTW9zdGx5IHRoZSByZWdpc3RlcnMgdGhhdCB3ZSB1c2UKKyAgICB0byBzZXR1cCBib290IHRyYW5zbGF0aW9uLCBlbmFibGUgdGltZSBiYXNlcywgYW5kIGJvb3QgcmVsZWFzZSB0aGUgY29yZXMKKyAgICBoYXZlIG1vdmVkIGFyb3VuZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBhODgwY2YzZTBlMWMyMjBkNzgwZWNjZDBiMTAxMTcwYzQ0OTk0ODVkCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDE3IDAxOjQ0OjAwIDIwMDkgLTA1MDAKKworICAgIHBwYy9wNDA4MDogQ29yZU5ldCBwbGF0ZnJvbSBzdHlsZSBDQ1NSQkFSIHNldHRpbmcKKworICAgIE9uIENvcmVOZXQgYmFzZWQgcGxhdGZvcm1zIHRoZSBDQ1NSQkFSIGFkZHJlc3MgaXMgc3BsaXQgYmV0d2VlbiBhbiBoaWdoICYKKyAgICBsb3cgcmVnaXN0ZXIgYW5kIHdlIG5vIGxvbmdlciBzaGlmdCB0aGUgYWRkcmVzcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA0MThlYzg1ODQzNDNmMDQwNDhlMmNjN2VlOTZiNmIyOWJlNTRhZDk3CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgTWFyIDE5IDAyOjMyOjIzIDIwMDkgLTA1MDAKKworICAgIHBwYy9wNDA4MDogQWRkIHN1cHBvcnQgZm9yIENvcmVOZXQgc3R5bGUgcGxhdGZvcm0gTEFXcworCisgICAgT24gQ29yZU5ldCBiYXNlZCBwbGF0Zm9ybXMgdGhlIExBVyBhZGRyZXNzIGlzIHNwbGl0IGJldHdlZW4gYW4gaGlnaCAmCisgICAgbG93IHJlZ2lzdGVyIGFuZCB3ZSBubyBsb25nZXIgc2hpZnQgdGhlIGFkZHJlc3MuICBBbHNvLCB0aGUgdGFyZ2V0IElEcworICAgIG9uIENvcmVOZXQgcGxhdGZvcm1zIGhhdmUgYmVlbiBjb21wbGV0ZWx5IHJlLWFzc2lnbmVkLgorCisgICAgQWRkaXRpb25hbGx5LCBhZGRlZCBhIG5ldyBmaW5kX2xhdygpIEFQSSB0byB3aGljaCBMQVcgYW4gYWRkcmVzcyBoaXRzIGluLgorICAgIFRoaXMgaXMgbmVlZCBmb3IgdGhlIENvcmVOZXQgc3R5bGUgYm9vdCByZWxlYXNlIGNvZGUgc2luY2UgaXQgd2lsbCBuZWVkCisgICAgdG8gZGV0ZXJtaW5lIHdoYXQgdGhlIHRhcmdldCBJRCBzaG91bGQgYmUgc2V0IHRvIGZvciBib290IHdpbmRvdworICAgIHRyYW5zbGF0aW9uLgorCisgICAgRmluYWxseSwgZW5hbWVkIExBV0FSX0VOIHRvIExBV19FTiBhbmQgbW92ZWQgdG8gaGVhZGVyIHNvIHdlIGNhbiB1c2UKKyAgICBpdCBlbHNld2hlcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMDFkZjUyMTIxNzk1N2Q3N2Q1M2MyZDU3MDE4M2VkZWQ3MDMwOTM4ZgorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJV2VkIFNlcCAxNiAwOTo0MzoxMiAyMDA5IC0wNTAwCisKKyAgICBwcGMvcDQwODA6IEFkZCBwNDA4MCBwbGF0Zm9ybSBpbW1hcCBkZWZpbml0aW9ucworCisgICAgVGhlIHA0MDgwIFNvQyBoYXMgYSBzaWduaWZpY2FudCBhbW91bnQgb2YgY29tbW9uYWxpdHkgd2l0aCB0aGUgODV4eC9QUTMKKyAgICBwbGF0Zm9ybS4gIFdlIHJldXNlIHRoZSA4NXh4IGltbWFwIGFuZCBqdXN0IGFkZCBuZXcgZGVmaW5pdGlvbnMgZm9yCisgICAgbG9jYWwgYWNjZXNzIGFuZCBnbG9iYWwgdXRpbHMuICBUaGUgZ2xvYmFsIHV0aWxzIGlzIG5vdyBicm9rZW4gaW50bworICAgIGdsb2JhbCB1dGlscywgY2xvY2tpbmcgYW5kIHJ1biBjb250cm9sL3Bvd2VyIG1hbmFnZW1lbnQuCisKKyAgICBUaGUgb2Zmc2V0cyBmcm9tIENDU1IgZm9yIGEgbnVtYmVyIG9mIGJsb2NrcyBoYXZlIGFsc28gY2hhbmdlZC4gIFdlCisgICAgaW50cm9kdWNlIHRoZSBDT05GSUdfRlNMX0NPUkVORVQgZGVmaW5lIHRvIGRpc3RpbnF1aXNoIHRoZSBQUTMgc3R5bGUgb2YKKyAgICBwbGF0Zm9ybSBmcm9tIHRoZSBuZXcgcDQwODAgcGxhdGZvcm0uICBXZSBkb24ndCB1c2UgUW9pclEgYXMgdGhlcmUgYXJlCisgICAgcHJvZHVjdHMgKGxpa2UgcDIwMjApIHRoYXQgYXJlIFBRMyBiYXNlZCBwbGF0Zm9ybXMgYnV0IGhhdmUgdGhlIFFvaXJRCisgICAgbmFtZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAyNWJhY2Y3YTJiMDk2NDk2ZTJjNThmMmRlNGU1YjJiY2U4ZmJhMDM4CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUdWUgU2VwIDIyIDE1OjQ1OjQ0IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBGaXggZW5hYmxpbmcgb2YgTDIgY2FjaGUKKworICAgIFdlIG5lZWQgdG8gZmxhc2ggaW52YWxpZGF0ZSB0aGUgbG9ja3MgaW4gYWRkaXRpb24gdG8gdGhlIGNhY2hlCisgICAgYmVmb3JlIHdlIGVuYWJsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBjYjBmZjY1YzYxOWVmYWNkYzBiYTY5YWE4ZWU2ZWRlN2RkMzY0YTM4CitBdXRob3I6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVR1ZSBTZXAgMjIgMTI6NDg6MjcgMjAwOSArMDUzMAorCisgICAgODV4eC1mZHQ6IEZpeGVkIGwyLWN0bHIncyBjb21wYXRpYmxlIHByb3AgZm9yIFFvcklRCisKKyAgICBUaGUgY29kZSBhc3N1bWVkIG5hbWVzIHdoZXJlIGp1c3QgbnVtYmVycyBhbmQgYWx3YXlzIHByZWZpeGVkICdtcGMnLgorICAgIEhvd2V2ZXIgbmV3ZXIgUW9ySVEgZG9uJ3QgZm9sbG93IHRoZSBtcGMgbmFtaW5nIHNjaGVtZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMjM0YTg5ZDkxMWNlMjhlNDYzNzJmNTU1ZDdjMTRlMjg0MjRmMmIwZAorQXV0aG9yOiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgU2VwIDIyIDE0OjUzOjIxIDIwMDkgKzA4MDAKKworICAgIHBwYy84NXh4OiBhZGQgY3B1IGluaXQgY29uZmlnIGZpbGUgZm9yIGJvb3QgZnJvbSBOQU5ECisKKyAgICBXaGVuIGJvb3QgZnJvbSBOQU5ELCB0aGUgTkFORCBmbGFzaCBtdXN0IGJlIGNvbm5lY3RlZCB0byBici9vcjAuCisgICAgQWxzbyBpbml0IFJBTShMMiBTUkFNIG9yIEREUiBTRFJBTSkgZm9yIGxvYWQgdGhlIHNlY29uZCBpbWFnZSB0bworICAgIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAyNjYxMzliODhiNDNhZTFkODdhYmI1ZjU0MzFlNmY1N2I4MDE3OTVmCitBdXRob3I6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVR1ZSBTZXAgMjIgMTQ6NTM6MzQgMjAwOSArMDgwMAorCisgICAgaW1tYXBfODV4eDogYWRkIHBvcnBsbHNyJ3MgcGxhdCByYXRpbyBkZWZpbml0aW9uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDA5OGJjYmFlMzE3MmQ3M2QyNGNhOGJhMTk2MzI4ZDkwMWVlZDQxMzIKK0F1dGhvcjogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorRGF0ZToJVHVlIFNlcCAyMiAxNDo1MzoxMCAyMDA5ICswODAwCisKKyAgICBwcGMvODV4eDogYWRkIGxkIHNjcmlwdCBmaWxlIGZvciBib290IGZyb20gTkFORAorCisgICAgVGhlIGZpcnN0IHN0YWdlIDRLIGltYWdlIHVzZXMgYSBzZXBlcmF0ZSBsZCBzY3JpcHQgZmlsZSB0bworICAgIGdlbmVyYXRlIDRLIGltYWdlLiBUaGlzIHBhdGNoIG1vdmVzIGl0IHRvIHRoZSBjcHUvbXBjODV4eC8qCisgICAgdG8gbWFrZSBpdCBhdmFsaWFibGUgZm9yIDg1eHggcGxhdGZvcm0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDg0MzlmMDVjZmQ4Y2JiMzg0ODUzNzZhMzRkOWZlMjk3YmEyNjI3MzcKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMjM6MDk6MjggMjAwOSAtMDUwMAorCisgICAgbXBjODYxMGhwY2Q6IFVzZSBjb21tb24gODZ4eCBmZHQgZml4dXAgY29kZQorCisgICAgVXNpbmcgdGhlIGNvbW1vbiA4Nnh4IGZkdCBmaXh1cHMgcmVtb3ZlcyBzb21lIGJvYXJkLXNwZWNpZmljIGNvZGUgYW5kCisgICAgc2hvdWxkIG1ha2UgdGhlIG1wYzg2MTBocGNkIGVhc2llciB0byBtYWludGFpbiBpbiB0aGUgbG9uZyBydW4uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5Mjg0MzVkMTFiODk4ODcwNDE1OTEwZWZmZjg3YTRkNjM5OWNlY2I4CitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJTW9uIFNlcCAyMSAxNzoxOToxNyAyMDA5IC0wNDAwCisKKyAgICBzYmM4NXgwOiB0aWR5IHVwIE1ha2VmaWxlIHRvIHVzZSBuZXcgY29uZmlndXJhdGlvbiBzY3JpcHQuCisKKyAgICBDb21taXQgODA0ZDgzYTUgYWxsb3dzIHVzIHRvIG1vdmUgYWxsIHRoZSBjb25maWd1cmF0aW9uCisgICAgdmFyaWF0aW9uIHR3ZWFrcyBvdXQgb2YgdGhlIHRvcCBsZXZlbCBNYWtlZmlsZSBhbmQgZG93bgorICAgIGludG8gdGhlIGJvYXJkcyBjb25maWcgaGVhZGVyLiAgVGhpcyB0YWtlcyBhZHZhbnRhZ2Ugb2YKKyAgICB0aGF0IGZvciB0aGUgc2JjODU0MC9zYmM4NTYwIGJvYXJkcy4KKworICAgIFRoZXJlIHdlcmUgYSBjb3VwbGUgb2YgY2hlZXp5IGNvbW1lbnRzIHBvaW50aW5nIGF0IGluY29ycmVjdAorICAgIGZpbGVzLCBvciBmaWxlcyB0aGF0IGRvbid0IGV4aXN0LCBzbyBJJ3ZlIGNsZWFuZWQgdGhvc2UgdXAgdG9vLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDI3MzhiYzhkZjY1ZWM5MDUwOTRkODNmNjJmODdmZWQxMjNhMDNiOWMKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglTdW4gU2VwIDIwIDIwOjM2OjA2IDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IGFsbG93IGVuYWJsaW5nIFBDSSB2aWEgYSBtYWtlIGNvbmZpZyBvcHRpb24KKworICAgIFByaW9yIHRvIHRoaXMgY29tbWl0LCB0byBlbmFibGUgUENJLCB5b3UgaGFkIHRvIGdvIG1hbnVhbGx5CisgICAgZWRpdCB0aGUgYm9hcmQgY29uZmlnIGhlYWRlciwgYW5kIGlmIHlvdSBoYWQgMzNNSHogUENJLCB5b3UKKyAgICBoYWQgdG8gbWFudWFsbHkgY2hhbmdlIENPTkZJR19TWVNfTlMxNjU1MF9DTEsgdG9vLCB3aGljaCB3YXMKKyAgICBub3QgcmVhbCB1c2VyIGZyaWVuZGx5LAorCisgICAgVGhpcyBhZGRzIHRoZSB0eXBpY2FsIFBDSSBhbmQgY2xvY2sgc3BlZWQgbWFrZSB0YXJnZXRzIHRvIHRoZQorICAgIHRvcGxldmVsIE1ha2VmaWxlIGluIGFjY29yZGFuY2Ugd2l0aCB3aGF0IGlzIGJlaW5nIGRvbmUgd2l0aAorICAgIG90aGVyIGJvYXJkcyAoaS5lLiB1c2luZyB0aGUgIi10IiB0byBta2NvbmZpZykuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZmRjN2ViOTBiNTA0ZGFhMDIwZjI5MDYwNGQ1MGRhOGY3Y2I3MGQ4YQorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVN1biBTZXAgMjAgMjA6MzY6MDUgMjAwOSAtMDQwMAorCisgICAgc2JjODU0ODogdXBkYXRlIFBDSS9QQ0ktZSBzdXBwb3J0IGNvZGUKKworICAgIFRoZSBQQ0kvUENJLWUgc3VwcG9ydCBmb3IgdGhlIHNiYzg1NDggd2FzIGJhc2VkIG9uIGFuIGVhcmxpZXIKKyAgICB2ZXJzaW9uIG9mIHdoYXQgdGhlIE1QQzg1NDhDRFMgYm9hcmQgd2FzIHVzaW5nLCBhbmQgaW4gaXRzCisgICAgY3VycmVudCBzdGF0ZSBpdCB3b24ndCBldmVuIGNvbXBpbGUuICBUaGlzIHJlLXN5bmNzIGl0IHRvIG1hdGNoCisgICAgdGhlIGxhdGVzdCBjb2RlYmFzZSBhbmQgbWFrZXMgdXNlIG9mIHRoZSBuZXcgc2hhcmVkIFBDSSBmdW5jdGlvbnMKKyAgICB0byByZWR1Y2UgYm9hcmQgZHVwbGljYXRpb24uCisKKyAgICBJdCBib3Jyb3dzIGZyb20gdGhlIE1QQzg1NjhNRFMsIGluIHRoYXQgaXQgcHVsbHMgdGhlIFBDSS1lIEkvTworICAgIGJhY2sgdG8gMHhlMjgwXzAwMDAgKHdoZXJlIFBDSTIgd291bGQgYmUgb24gTVBDODU0OENEUyksIGFuZAorICAgIHNpbWlsYXJseSBpdCBjb2FsZXNjZXMgdGhlIFBDSSBhbmQgUENJLWUgbWVtIGludG8gb25lIHNpbmdsZSBUTEIuCisKKyAgICBCb3RoIFBDSS14IGFuZCBQQ0ktZSBoYXZlIGJlZW4gdGVzdGVkIHdpdGggaW50ZWwgZTEwMDAgY2FyZHMKKyAgICB1bmRlciBsaW51eCAod2l0aCBhbiBhY2NvbXBhbnlpbmcgZHRzIGNoYW5nZSBpbiBwbGFjZSkKKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBhOGIzZTkwZjc5OGUwY2NhNWYxMWM5MTJmOWQwODIzYTFjNWI2YzI0CitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJU3VuIFNlcCAyMCAyMDozNjowMSAyMDA5IC0wNDAwCisKKyAgICBmc2xfcGNpOiBjcmVhdGUgYSBTRVRfU1REX1BDSV9JTkZPKCkgaGVscGVyIHdyYXBwZXIKKworICAgIFJlY3ljbGUgdGhlIHJlY2VudGx5IGFkZGVkIFBDSS1lIHdyYXBwZXIgdXNlZCB0byByZWR1Y2UgYm9hcmQKKyAgICBkdXBsaWNhdGlvbiBvZiBjb2RlIGJ5IGNyZWF0aW5nIGEgc2ltaWxhciB2ZXJzaW9uIGZvciBwbGFpbiBQQ0kuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMTFkNWE2MjlmOGE0MGY5ZDdjZmZjNzRlNThmNGUzZWQyNThlNTZhYgorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVN1biBTZXAgMjAgMjA6MzY6MDQgMjAwOSAtMDQwMAorCisgICAgc2JjODU0ODogY29ycmVjdCBsb2NhbCBidXMgU0RSQU0gc2l6ZSBmcm9tIDY0TSB0byAxMjhNCisKKyAgICBUaGUgc2l6ZSBvZiB0aGUgTEIgU0RSQU0gb24gdGhpcyBib2FyZCBpcyAxMjhNQiwgc3Bhbm5pbmcgQ1MzCisgICAgYW5kIENTNC4gIEl0IHdhcyBwcmV2aW91c2x5IG9ubHkgYmVpbmcgY29uZmlndXJlZCBmb3IgNjRNQiBvbgorICAgIENTMywgc2luY2UgdGhhdCB3YXMgd2hhdCB0aGUgb3JpZ2luYWwgY29kZWJhc2Ugb2YgdGhlIE1QQzg1NDhDRFMKKyAgICBoYWQuICBJbiBhZGRpdGlvbiB0byBzZXR0aW5nIHVwIEJSNC9PUjQsIHRoaXMgYWxzbyBhZGRzIHRoZSBUTEIKKyAgICBlbnRyeSBmb3IgdGhlIHNlY29uZCBoYWxmIG9mIHRoZSBTRFJBTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAwYzdlNGQ0NWQ5ZmIzYzllNTAzZWU5M2Q1MDU3MmQzNDZkYWUxNTBlCitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJU3VuIFNlcCAyMCAyMDozNjowMyAyMDA5IC0wNDAwCisKKyAgICBzYmM4NTQ4OiB1c2UgSS9PIGFjY2Vzc29ycworCisgICAgU3dlZXAgdGhyb3VnaHQgdGhlIGJvYXJkIHNwZWNpZmljIGZpbGUgYW5kIHJlcGxhY2UgdGhlIHZhcmlvdXMKKyAgICByZWdpc3RlciBwcm9kZGluZ3Mgd2l0aCB0aGUgZXF1aXZhbGVudCBJL08gYWNjZXNzb3JzLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGZjMzhlYjk4ZmYyMjZmMmM1M2VlY2JlZTAzM2E2YWI3NjE5NDczZGMKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglTdW4gU2VwIDIwIDIwOjM2OjAyIDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IHJlbW92ZSBlVFNFQzMvNCB2b2x0YWdlIGhhY2sKKworICAgIFdpdGggb25seSBlVFNFQzEgYW5kIDIgYmVpbmcgYnJvdWdodCBvdXQgdG8gUkotNDUgY29ubmVjdG9ycywgd2UKKyAgICBhcmVuJ3QgaW50ZXJlc3RlZCBpbiB0aGUgZVRTRUMzLzQgdm9sdGFnZSBoYWNrIG9uIHRoaXMgYm9hcmQKKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5YjNiYTI0ZjE4OTAwNjMzYTM5NDQxNmNjMDU2YzQ0YTFhNmViNzU0CitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJRnJpIFNlcCAxOCAxOTowODo0MSAyMDA5IC0wNDAwCisKKyAgICBzYmM4NTQ4OiBlbmFibGUgYWNjZXNzIHRvIHNlY29uZCBiYW5rIG9mIGZsYXNoCisKKyAgICBUaGUgc2JjODU0OCBoYXMgYSA2NE1CIFNPRElNTSBmbGFzaCBtb2R1bGUgb2ZmIG9mIENTNiB0aGF0CisgICAgcHJldmlvdXNseSB3YXNuJ3QgZW51bWVyYXRlZCBieSB1LWJvb3QuICBUaGVyZSB3ZXJlIGFscmVhZHkKKyAgICBCUjYvT1I2IHNldHRpbmdzIGZvciBpdCBbdXNlZCBieSBjcHVfaW5pdF9mKCldIGJ1dCB0aGVyZQorICAgIHdhcyBubyBUTEIgZW50cnkgYW5kIGl0IHdhc24ndCBpbiB0aGUgbGlzdCBvZiBmbGFzaCBiYW5rcworICAgIHJlcG9ydGVkIHRvIHUtYm9vdC4KKworICAgIFRoZSBsb2NhdGlvbiBvZiB0aGUgNjRNQiBmbGFzaCBpcyAicHVsbGVkIGJhY2siIDhNQiBmcm9tCisgICAgYSA2NE1CIGJvdW5kYXJ5LCBpbiBvcmRlciB0byBhbGxvdyBhZGRyZXNzIHNwYWNlIGZvciB0aGUKKyAgICA4TUIgYm9vdCBmbGFzaCB0aGF0IGlzIGF0IHRoZSBlbmQgb2YgMzIgYml0IGFkZHJlc3Mgc3BhY2UuCisgICAgVGhpcyBtZWFucyBjcmVhdGluZyB0d28gNE1CIFRMQiBlbnRyaWVzIGZvciB0aGUgOE1CIGNodW5rLAorICAgIGFuZCB0aGVuIGV4cGFuZGluZyB0aGUgb3JpZ2luYWwgYm9vdCBmbGFzaCBlbnRyeSB0byA2NE1CCisgICAgaW4gb3JkZXIgdG8gY292ZXIgdGhlIDhNQiBib290IGZsYXNoIGFuZCB0aGUgcmVtYWluZGVyCisgICAgKDU2TUIpIG9mIHRoZSB1c2VyIGZsYXNoLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGRlZDU4ZjQxNTM5MjNkZmZmMTZkMmY5NjQ5NWJkN2FjZjFmN2UxMGUKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglXZWQgU2VwIDIzIDE3OjMwOjU3IDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IGNvc21ldGljIGxpbmUgcmUtd3JhcAorCisgICAgRml4IHRoZSBleHRyYSBsb25nIGxpbmVzIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB1LWJvb3QgY29kaW5nIHN0eWxlLgorICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGhlcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KKworY29tbWl0IDJjNDBhY2QzNTI1Yjc1ZGIzZmNkM2Y1YTViZDQwNDQ1Njc5YjU1NDcKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglGcmkgU2VwIDE4IDE5OjA4OjQwIDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IGdldF9jbG9ja19mcmVxIGlzIG5vdCB2YWxpZCBmb3IgdGhpcyBib2FyZAorCisgICAgVGhlIGdldF9jbG9ja19mcmVxKCkgY29tZXMgZnJvbSBmcmVlc2NhbGUvY29tbW9uL2NhZG11cy5jIGFuZCBpcworICAgIG9ubHkgdmFsaWQgZm9yIHRoZSBDRFMgYmFzZWQgODV4eCByZWZlcmVuY2UgcGxhdGZvcm1zLiAgSXQgd291bGQKKyAgICBiZSBuaWNlIGlmIHdlIGNvdWxkIHJlYWQgdGhlIDMzIHZzLiA2Nk1IeiBzdGF0dXMgc29tZWhvdywgYnV0IGluCisgICAgdGhlIG1lYW50aW1lLCB0aWUgaXQgdG8gQ09ORklHX1NZU19DTEtfRlJFUSBsaWtlIGFsbCB0aGUgb3RoZXIKKyAgICBub24tQ0RTIGJvYXJkcyBkby4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3YjFmMTM5OWU4NzY1ODdlMGEyNjhhNWE0NzFkZDQ0NGJmYmMzMTE0CitBdXRob3I6IFBhdWwgR29ydG1ha2VyIDxwYXVsLmdvcnRtYWtlckB3aW5kcml2ZXIuY29tPgorRGF0ZToJRnJpIFNlcCAxOCAxOTowODozOSAyMDA5IC0wNDAwCisKKyAgICBzYmM4NTQ4OiBkZWxldGUgdW51c2VkIE1QQzg1NDhDRFMgaW5mbyBjYXJyaWVkIG92ZXIgZnJvbSBwb3J0CisKKyAgICBUaGVyZSBhcmUgYSBjb3VwbGUgZGVmaW5lcyBhbmQgUENJIGJyaWRnZSBxdWlya3MgcmVsYXRlZCB0byB0aGUgUENJCisgICAgYmFja3BsYW5lIG9mIHRoZSBNUEM4NTQ4Q0RTIHRoYXQgaGF2ZSBubyBtZWFuaW5nIGluIHRoZSBjb250ZXh0IG9mCisgICAgdGhlIHBvcnQgdG8gdGhlIHNiYzg1NDggYm9hcmQsIHNvIGRlbGV0ZSB0aGVtLgorCisgICAgQWxzbywgdGhlIGZvcm0gZmFjdG9yIG9mIHRoZSBzYmM4NTQ4IGlzIGEgc3RhbmRhbG9uZSBib2FyZCB3aXRoIGEKKyAgICBzaW5nbGUgUENJLVggYW5kIGEgc2luZ2xlIFBDSS1lIHNsb3QuICBUaGF0IHByZXR0eSBtdWNoIGd1YXJhbnRlZXMKKyAgICB0aGF0IGl0IHdpbGwgbmV2ZXIgYmUgYSBQQ0kgYWdlbnQgaXRzZWxmLCBzbyB0aGUgaG9zdC9hZ2VudCBhbmQgcm9vdAorICAgIGNvbXBsZXgvZW5kIG5vZGUgZGlzdGluY3Rpb25zIGhhdmUgYmVlbiByZW1vdmVkLgorCisgICAgU2ltaWxhcmx5LCBzaW5jZSB0aGVyZSBpcyBubyBwaHlzaWNhbCBjb25uZWN0b3IgbWFwcGluZyB0byBQQ0kyLCBzbworICAgIGFsbCByZWZlcmVuY2VzIG9mIFBDSTIgaW4gdGhlIGJvYXJkIHN1cHBvcnQgZmlsZXMgaGF2ZSBiZWVuIHJlbW92ZWQKKyAgICBhcyB3ZWxsLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDk0Y2EwOTE0NTZkNWMzMDQwZGRkNjM1MWM4MGNmM2U3NDM5M2Y5YmUKK0F1dGhvcjogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CitEYXRlOglGcmkgU2VwIDE4IDE5OjA4OjQ0IDIwMDkgLTA0MDAKKworICAgIHNiYzg1NDg6IGVuYWJsZSB1c2Ugb2YgUENJIG5ldHdvcmsgY2FyZHMKKworICAgIENyZWF0ZSBhIGJvYXJkX2V0aF9pbml0IHRvIGFsbG93IGEgcGxhY2UgdG8gaG9vayBpbgorICAgIHRoZSBQQ0kgZXRoZXJuZXQgaW5pdCBhZnRlciBhbGwgdGhlIGVUU0VDIGFyZSB1cAorICAgIGFuZCBjb25maWd1cmVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDgyYjc3MjViNmQ0NmQ5YWQyYjk2MmI0Y2RmYTg5NmJkNWVlMzJmYjUKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglTYXQgU2VwIDE5IDE3OjUwOjE3IDIwMDkgKzA1MzAKKworICAgIHBwYy84NXh4OiAzMmJpdCBERFIgY2hhbmdlcyBmb3IgUDEwMjAvUDEwMTEKKworICAgIFRoZSBQMTAyMC9QMTAxMSBTT0NzIHN1cHBvcnQgbWF4IDMyYml0IEREUiB3aWR0aCBhcyBvcHBvc2VkIHRvIFAyMDIwL1AyMDEwCisgICAgd2hlcmUgbWF4IEREUiBkYXRhIHdpZHRoIHN1cHBvcnRlZCBpcyA2NGJpdC4KKworICAgIEFzIGEgbmV4dCBzdGVwIHRoZSBERFIgZGF0YSB3aWR0aCBpbml0aWFsaXphdGlvbiB3b3VsZCBiZSBtYWRlIG1vcmUgZHluYW1pYworICAgIHdpdGggbW9yZSBmbGV4aWJpbGl0eSBmcm9tIHRoZSBib2FyZCBwZXJzcGVjdGl2ZSBhbmQgdXNlciBjaG9pY2UuCisgICAgR29pbmcgZm9yd2FyZCB3ZSB3b3VsZCBhbHNvIHJlbW92ZSB0aGUgaGFyZGNvZGluZ3MgZm9yIHBsYXRmb3JtcyB3aXRoIG9uYm9hcmQKKyAgICBtZW1vcmllcyBhbmQgdHJ5IHRvIHVzZSB0aGUgRlNMIFNQRCBjb2RlIGZvciBERFIgaW5pdGlhbGl6YXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYmQ0MmJiYjg1OGRkZTcxM2YwMjNmYzJlNGY1MTJlYzE3NGExYThkMgorQXV0aG9yOiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBTZXAgMTggMTk6MDg6NDYgMjAwOSAtMDQwMAorCisgICAgc2JjODU0ODogcmVwbGFjZSBSRUFETUUgd2l0aCBjb21wbGV0ZWx5IG5ldyBkb2N1bWVudAorCisgICAgVGhlIHByZXZpb3VzIFJFQURNRS5zYmM4NTQ4IHdhcyBwcmV0dHkgbXVjaCBjb250ZW50LWZyZWUuIFJlcGxhY2UKKyAgICBpdCB3aXRoIHNvbWV0aGluZyB0aGF0IGFjdHVhbGx5IGdpdmVzIHRoZSBlbmQgdXNlciBzb21lIHJlbGV2YW50CisgICAgaGFyZHdhcmUgZGV0YWlscywgYW5kIGFsc28gbGlzdHMgdGhlIHUtYm9vdCBjb25maWd1cmF0aW9uIGNob2ljZXMuCisKKyAgICBBbHNvIGluIHRoZSBjb3NtZXRpYyBkZXBhcnRtZW50LCBmaXggdGhlIGJvZ3VzIGxpbmUgaW4gdGhlIE1ha2VmaWxlCisgICAgdGhhdCB3YXMgY2FycmllZCBvdmVyIGZyb20gdGhlIFNCQzg1NjAgTWFrZWZpbGUsIGFuZCB0aGUgdHlwbyBpbgorICAgIHRoZSBzYmM4NTQ4LmMgY29weXJpZ2h0LgorCisgICAgU2lnbmVkLW9mZi1ieTogUGF1bCBHb3J0bWFrZXIgPHBhdWwuZ29ydG1ha2VyQHdpbmRyaXZlci5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDAwMjc0MWFlODYyYzFjN2UzZGFkODlkMDIwZTM5MmU2YWRkMWMwNWQKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVNhdCBTZXAgMTkgMTE6MjA6NTQgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IENsZWFuIHVwIHVzZSBvZiBMQVdBUiBkZWZpbmVzCisKKyAgICBPbiA4NXh4IHBsYXRmb3JtcyB3ZSBzaG91bGRuJ3QgYmUgdXNpbmcgYW55IExBV0FSXyogZGVmaW5lcworICAgIGJ1dCB1c2luZyB0aGUgTEFXXyogb25lcyBwcm92aWRlZCBieSBmc2wtbGF3LmguICBSZW5hbWUgYW55IHN1Y2gKKyAgICB1c2VzIGFuZCBsaW1pdCB0aGUgTEFXQVJfIHRvIHRoZSA4M3h4IHBsYXRmb3JtIGFzIHRoZSBvbmx5IHVzZXIgc28KKyAgICB3ZSB3aWxsIGdldCBjb21waWxlIGVycm9ycyBpbiB0aGUgZnV0dXJlLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGY2MWRhZTdjOWRjNTI2NDEwZmFlYzE1Y2UzNTJiMTFmYzM2YTU2MGIKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBTZXAgMyAxMDoyMDowOSAyMDA5IC0wNTAwCisKKyAgICBwcGMvODV4eDogQ2xlYW4gdXAgbXBjODU3MkRTIFBDSSBzZXR1cCBjb2RlCisKKyAgICBVc2UgbmV3IGZzbF9wY2lfaW5pdF9wb3J0KCkgdGhhdCByZWR1Y2VzIGFtb3VudCBvZiBkdXBsaWNhdGVkIGNvZGUgaW4gdGhlCisgICAgYm9hcmQgcG9ydHMsIHVzZSBJTyBhY2Nlc3NvcnMgYW5kIGNsZWFuIHVwIHByaW50aW5nIG9mIHN0YXR1cyBpbmZvLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDQ5NThhZjg3MzUyMDc2NDAxODFjNDQyM2U0MWIyNGVlNzQxODM2MWEKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBTZXAgMyAwOTo0MjowMSAyMDA5IC0wNTAwCisKKyAgICBwcGMvODV4eDogQ2xlYW4gdXAgcDIwMjBkcyBQQ0kgc2V0dXAgY29kZQorCisgICAgVXNlIG5ldyBmc2xfcGNpX2luaXRfcG9ydCgpIHRoYXQgcmVkdWNlcyBhbW91bnQgb2YgZHVwbGljYXRlZCBjb2RlIGluIHRoZQorICAgIGJvYXJkIHBvcnRzLCB1c2UgSU8gYWNjZXNzb3JzIGFuZCBjbGVhbiB1cCBwcmludGluZyBvZiBzdGF0dXMgaW5mby4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5M2E4Mzg3MmM3MDc4OTFiYWQyMmY3Nzc2ZDc5YTY1MGM4NzA2MDFmCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDMgMTA6MDk6MDQgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IENsZWFuIHVwIHAxX3AyX3JkYiBQQ0kgc2V0dXAKKworICAgIEdlbmVyYWwgY29kZSBjbGVhbnVwIHRvIHVzZSBpbi9vdXQgSU8gYWNjZXNzb3JzIGFzIHdlbGwgYXMgbWFraW5nCisgICAgdGhlIGNvZGUgdGhhdCBwcmludHMgb3V0IGluZm8gc2FuZSBiZXR3ZWVuIGJvYXJkIGFuZCBnZW5lcmljIGZzbCBwY2kKKyAgICBjb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDYyY2EyMWM0NDJlMThmZWMxMThlYzgzZTE4M2Q2NGVhNDk5NjZjZTcKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBTZXAgMTAgMTY6MzE6NTMgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IFNpbXBsaWZ5IHRoZSB0b3AgbWFrZWZpbGUgZm9yIFAxX1AyX1JEQiBib2FyZHMKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBhMGY5ZTBlMGYwNjAzMzgwN2RlMGFlMDE3YWQ0ZDljZjVkZGZmODRiCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDEwIDE2OjI2OjM3IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBTaW1wbGlmeSB0aGUgdG9wIG1ha2VmaWxlIGZvciAzNi1iaXQgY29uZmlnIGZvciBQMjAyMERTCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZjllZGNjMTBlNmNiNDk3ZGQ3ZGNiYWY2OTFjZmQxODU5YWJhZTI3YQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVGh1IFNlcCAxMCAxNjoyMzo0NSAyMDA5IC0wNTAwCisKKyAgICBwcGMvODV4eDogU2ltcGxpZnkgdGhlIHRvcCBtYWtlZmlsZSBmb3IgMzYtYml0IGNvbmZpZyBmb3IgTVBDODU3MkRTCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMGU5MDVhYzI4YjFlMDM5ZDc0ZTYzMjMyMjkzOTcyYmZmNmI1YTBjZQorQXV0aG9yOiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CitEYXRlOglGcmkgU2VwIDE4IDExOjQ1OjA5IDIwMDkgKzA4MDAKKworICAgIHBwYy84NXh4OiBzaW1wbGlmeSB0aGUgdG9wIG1ha2VmaWxlIGZvciAzNi1iaXQgY29uZmlnIGZvciBtcGM4NTM2ZHMKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMjAyZDk0ODc1Yzk4YjdiNTczZjEzNmM0ZjM1MzYwOTc1OGVkOTczMworQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVHVlIFNlcCAxNSAyMjoyMTo1OCAyMDA5IC0wNTAwCisKKyAgICBwcGMvODV4eDogRml4IExDUlJfQ0xLRElWIGRlZmluZXMKKworICAgIEZvciBzb21lIHJlYXNvbiB0aGUgQ0xLRElWIGZpZWxkIHZhcmllcyBiZXR3ZWVuIFNvQyBpbiBob3cgaXQgaW50ZXJwcmV0cworICAgIHRoZSBiaXQgdmFsdWVzLgorCisgICAgQWxsIDgzeHggYW5kIGVhcmx5IChlNTAwdjEpIFBRMyBkZXZpY2VzIHN1cHBvcnQ6CisgICAgIGNsay8yOiBDTEtESVYgPSAyCisgICAgIGNsay80OiBDTEtESVYgPSA0CisgICAgIGNsay84OiBDTEtESVYgPSA4CisKKyAgICBOZXdlciBQUTMgKGU1MDB2MikgYW5kIE1QQzg2eHggc3VwcG9ydDoKKyAgICAgY2xrLzQ6IENMS0RJViA9IDIKKyAgICAgY2xrLzg6IENMS0RJViA9IDQKKyAgICAgY2xrLzE2OiBDTEtESVYgPSA4CisKKyAgICBFbnN1cmUgdGhhdCB0aGUgTVBDODZ4eCBhbmQgTVBDODV4eCBzdGlsbCBnZXQgdGhlIHNhbWUgYmVoYXZpb3IgYW5kIG1ha2UKKyAgICB0aGUgZGVmaW5lcyByZWZsZWN0IHRoZWlyIGxvZ2ljYWwgdmlldyAobm90IHRoZSB2YWx1ZSBvZiB0aGUgZmllbGQpLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAgICBBY2tlZC1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDU1Zjc4NmQ4YmE4Y2U1OGE4MTQyODUzNmRhMzRhMjE5MmI5YmFkOWYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMTI6MDQ6MzMgMjAwOSAtMDUwMAorCisgICAgTUFLRUFMTDogVXNlIFBPU0lYIG1hdGgKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCA0MGEyOGYwODg1ZTYyYjY2MDdlMTJlZDZiYWE2Mjg0OTI3ZjUyNjNlCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglNb24gU2VwIDIxIDEyOjA0OjMyIDIwMDkgLTA1MDAKKworICAgIE1BS0VBTEw6IEFkZCBzdW1tYXJ5IGluZm9ybWF0aW9uCisKKyAgICBUaGlzIGNoYW5nZSBhZGRzIHNvbWUgYmFzaWMgc3VtbWFyeSBpbmZvcm1hdGlvbiB0byB0aGUgTUFLRUFMTCBzY3JpcHQuCisgICAgVGhlIHN1bW1hcnkgaW5mb3JtYXRpb24gaW5jbHVkZXMgaG93IG1hbnkgYm9hcmRzIHdlcmUgY29tcGlsZWQsIGhvdyBtYW55CisgICAgYm9hcmRzIGhhZCBjb21waWxlIHdhcm5pbmdzIG9yIGVycm9ycywgYW5kIHdoaWNoIHNwZWNpZmljIGJvYXJkcyBoYWQKKyAgICBjb21waWxlIHdhcm5pbmdzIG9yIGVycm9ycy4KKworICAgIFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZnVsIHdoZW4gZG9pbmcgY29tcGlsZSB0ZXN0aW5nIHRvIHF1aWNrbHkKKyAgICBkZXRlcm1pbmUgd2hpY2ggYm9hcmRzIGFyZSBicm9rZW4uCisKKyAgICBBcyBhIHNpZGUgYmVuZWZpdCwgbm8gZW1wdHkgJEJPQVJELkVSUiBmaWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IE1BS0VBTEwuCisgICAgUHJldmlvdXNseSwgZWFjaCBib2FyZCBoYWQgYSBjb3JyZXNwb25kaW5nICRCT0FSRC5FUlIgZmlsZSwgZXZlbiBpZiB0aGUKKyAgICBib2FyZCBjb21waWxlZCBjbGVhbmx5LgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDcxY2U5YmQ3ZjU1MWU0NGM0ZGRiNGM5ODVjMDk1ZGE2ZDM0NTJkNzkKK0F1dGhvcjogRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBjb2xkaGF1cy5jb20+CitEYXRlOglNb24gU2VwIDIxIDExOjA1OjU1IDIwMDkgLTA1MDAKKworICAgIGdhbGF4eTUyMDA6IGVuYWJsZSB2ZXJzaW9uIGVudmlyb25tZW50IHZhcmlhYmxlCisKKyAgICBBZGQgdmVyc2lvbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb25maWd1cmF0aW9uIHRvIHRoZSBnYWxheHk1MjAwCisgICAgYm9hcmQgaGVhZGVyIGZpbGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGRla2FyZXNlYXJjaC5jb20+CisKKyAgICBFZGl0ZWQgY29tbWl0IG1lc3NhZ2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgYzU2OWFkNmUxZTg3NjhhMGZlYzUxM2ZmYzE1NjQxMjI0MGI3ZWIzNQorQXV0aG9yOiBXZXJuZXIgUGZpc3RlciA8d2VybmVyLnBmaXN0ZXJAaW50ZXJjb250cm9sLmRlPgorRGF0ZToJTW9uIFNlcCAyMSAxNDo0OTo1NiAyMDA5ICswMjAwCisKKyAgICBkaWdzeV9tdGM6IEFkZCBUQ1IgcmVnaXN0ZXIgdmFsdWUgZm9yIFJUQyAoRFMxMzM5KQorCisgICAgU2lnbmVkLW9mZi1ieTogV2VybmVyIFBmaXN0ZXIgPHdlcm5lci5wZmlzdGVyQGludGVyY29udHJvbC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBEZXRsZXYgWnVuZGVsIDxkenVAZGVueC5kZT4KKworY29tbWl0IGIwMDc4Yzg3OTJiYWRkODFhZWQ1MWI3ZWFiZTg1ZTk2MDAzNjM2MWMKK0F1dGhvcjogV2VybmVyIFBmaXN0ZXIgPHdlcm5lci5wZmlzdGVyQGludGVyY29udHJvbC5kZT4KK0RhdGU6CU1vbiBTZXAgMjEgMTQ6NDk6NTUgMjAwOSArMDIwMAorCisgICAgcnRjL2RzMTMzNy5jOiBBbGxvdyB0byBzZXQgVENSIHJlZ2lzdGVyCisKKyAgICBUaGlzIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgc3RhcnQgdGhlIGNoYXJnaW5nIG9mIGFuIGF0dGFjaGVkIGNhcGFjaXRvcgorICAgIG9yIGJhdHRlcnkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXZXJuZXIgUGZpc3RlciA8d2VybmVyLnBmaXN0ZXJAaW50ZXJjb250cm9sLmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IERldGxldiBadW5kZWwgPGR6dUBkZW54LmRlPgorCitjb21taXQgOWQ3OTUyZTRjNjM2YjhjOTkyODlhNDRkYmUyOGM2ZjkzYzQzYjlmNworQXV0aG9yOiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CitEYXRlOglUdWUgU2VwIDE1IDA5OjUzOjI5IDIwMDkgKzAyMDAKKworICAgIHViaWZzOiBBZGQgc3VwcG9ydCBmb3IgbG9va2luZyB1cCBkaXJlY3RvcnkgYW5kIHJlbGF0aXZlIHN5bWxpbmtzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgcmVzb2x2aW5nIHN5bWxpbmtzIHRvIGRpcmVjdG9yaWVzIGFzIHdlbGwgYXMKKyAgICByZWxhdGl2ZSBzeW1saW5rcy4gU3ltbGlua3MgYXJlIG5vdyBhbHdheXMgcmVzb2x2ZWQgZHVyaW5nIGZpbGUgbG9va3VwLAorICAgIHNvIHRoZSBsb2FkIHN0YWdlIG5vIGxvbmdlciBuZWVkcyB0byBzcGVjaWFsLWNhc2UgdGhlbS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBmY2RiMzZiODVhYzAzM2MwOWE5NzYyYTBhMTQ4MDhmN2NiMmVkNTRjCitBdXRob3I6IFJ1cGp5b3RpIFNhcm1haCA8cnNhcm1haEBhbWNjLmNvbT4KK0RhdGU6CU1vbiBTZXAgMjEgMTE6MjY6MTkgMjAwOSAtMDcwMAorCisgICAgcHBjNHh4OiBGaXggUENJRSBQTEwgbG9jayBvbiA0NDBTUGUgWXVjY2EgYm9hcmQKKworICAgIHUtYm9vdCByZXBvcnRzIGEgUENJRSBQTEwgbG9jayBlcnJvciBhdCBib290IHRpbWUgb24gWXVjY2EgYm9hcmQsIGFuZAorICAgIGxlZnQgUENJZSBub25mdW5jdGlvbmFsLiBUaGlzIGlzIGZpeGVkIGJ5IG1ha2luZyB1LWJvb3QgZnVuY3Rpb24KKyAgICBwcGM0eHhfaW5pdF9wY2llKCkgdG8gd2FpdCAzMDAgdVMgYWZ0ZXIgbmVnYXRpbmcgcmVzZXQgYmVmb3JlIHRoZQorICAgIGZpcnN0IGNoZWNrIG9mIHRoZSBQTEwgbG9jay4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJ1cGp5b3RpIFNhcm1haCA8cnNhcm1haEBhbWNjLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA5MWQ1OTkwNDRjYWFjNGE4YzIyODExNWIxNmNmM2IwNzNmOTAyMDgwCitBdXRob3I6IERpcmsgRWliYWNoIDxlaWJhY2hAZ2RzeXMuZGU+CitEYXRlOglNb24gU2VwIDIxIDEzOjI3OjE0IDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogTWFrZSBERFIyIHRpbWluZyBmb3IgaW50aXAgbW9yZSByb2J1c3QKKworICAgIEREUjIgdGltaW5nIGZvciBpbnRpcCB3YXMgb24gdGhlIGVkZ2UgZm9yIHNvbWUgb2YgdGhlIGF2YWlsYWJsZSBjaGlwcworICAgIGZvciB0aGlzIGJvYXJkLiBOb3cgaXQgaXMgdmVyZmllZCB0byB3b3JrIHdpdGggYWxsIG9mIHRoZW0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXJrIEVpYmFjaCA8ZWliYWNoQGdkc3lzLmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDE4NGEzYTI3ZjVjZDJjNjQ2NjZmNzRkZjk0Yzg2Yjk0YzQzODNlZjgKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVR1ZSBTZXAgMTUgMDA6MjY6MDIgMjAwOSArMDIwMAorCisgICAgYm9hcmQvbGlua3N0YXRpb24vaWRlLmM6IEZpeCBjb21waWxlIHdhcm5pbmcKKworICAgIEZpeCB3YXJuaW5nOiBpZGUuYzo2MDogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwKKyAgICBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEd1ZW5uYWRpIExpYWtob3ZldHNraSA8bGdAZGVueC5kZT4KKworY29tbWl0IDAwNGVjYTBjOWJhMzI4ZGU0NTdkNWRjOWVmODgwNTYzOWRmZWY4OTMKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVdlZCBTZXAgMTYgMjI6MDM6MDggMjAwOSAtMDUwMAorCisgICAgcHBjOiBDbGVhbiB1cCBjYWxsaW5nIG9mIHBoeV9yZXNldCgpIGR1cmluZyBpbml0CisKKyAgICBSZW1vdmUgYm9hcmQtc3BlY2lmaWMgI2lmZGVmcyBmb3IgY2FsbGluZyBwaHlfcmVzZXQoKSBkdXJpbmcKKyAgICBpbml0aWFsaXp0aW9uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgM2E4ZjI4ZDBhNmQ5Zjg1MDUwMTc2ODAyMzMwNjRjMTNlNDU4NzE3NAorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJV2VkIFNlcCAxNiAyMjowMzowNyAyMDA5IC0wNTAwCisKKyAgICBwcGM6IENsZWFuIHVwIGNhbGxpbmcgb2YgbWlzY19pbml0X3IoKSBkdXJpbmcgaW5pdAorCisgICAgUmVtb3ZlIGJvYXJkLXNwZWNpZmljICNpZmRlZnMgZm9yIGNhbGxpbmcgbWlzY19pbml0X3IoKSBkdXJpbmcKKyAgICBpbml0aWFsaXp0aW9uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIEFja2VkLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworY29tbWl0IDMyMDJkMzMxNjlkZjA0ZGE1Y2YzZGVhOGM1YWIwYTkwMmI5MGVjYWEKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVdlZCBTZXAgMTYgMjE6Mzg6MTAgMjAwOSAtMDUwMAorCisgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgJ2F1dG9zY3InIGNvbW1hbmQvdmFyaWFibGVzCisKKyAgICBUaGUgbW9yZSBzdGFuZGFyZCAnc291cmNlJyBjb21tYW5kIHByb3ZpZGVzIGlkZW50aWNhbCBmdW5jdGlvbmFsaXR5IHRvCisgICAgdGhlIGF1dG9zY3IgY29tbWFuZC4KKworICAgIEVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzL3ZhbHVlcyBvbiB0aGUgTVZCQ19QLCBNVkJNTDcsIGttZXRlcjEsCisgICAgbWdjb2dlLCBhbmQga204eHggYm9hcmRzIGFyZSB1cGRhdGVkIHRvIG5vIGxvbmdlciByZWZlcm5jZSAnYXV0b3NjcicuCisKKyAgICBUaGUgJ2F1dG9zY3JpcHQnIGFuZCAnYXV0b3NjcmlwdF91bmFtZScgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZQorICAgIGFsc28gcmVtb3ZlZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgQWNrZWQtYnk6IEFuZHJlIFNjaHdhcnogPGFuZHJlLnNjaHdhcnpAbWF0cml4LXZpc2lvbi5kZT4KKyAgICBBY2tlZC1ieTogSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CisKK2NvbW1pdCBkM2Y0OTQxODc0YTIwZDhhMzkwYTM2YmE3MTMzNWFlMWRiMmY5YmEwCitBdXRob3I6IFBhdWwgR2lic29uIDxwYXVsLmdpYnNvbjIwNzRAZ21haWwuY29tPgorRGF0ZToJV2VkIFNlcCAxNiAxMDowNTowMCAyMDA5ICsxMDAwCisKKyAgICBtcGM1MTJ4LiBNaWNyb24gbmFuZCBmbGFzaCBuZWVkcyBhIHJlc2V0IGJlZm9yZSBhIHJlYWQgY29tbWFuZCBpcyBpc3N1ZWQuCisKKyAgICBNaWNyb24gbmFuZCBmbGFzaCBuZWVkcyBhIHJlc2V0IGJlZm9yZSBhIHJlYWQgY29tbWFuZCBpcyBpc3N1ZWQuCisgICAgVGhlIGN1cnJlbnQgbXBjNTEyMV9uZmMgZHJpdmVyIGlnbm9yZXMgdGhlIHJlc2V0IGNvbW1hbmQuCisKK2NvbW1pdCBiNTVhZTQwMjQ5NTQ1ZWFiYjlkNmJmYjg1MGIxNDAwYTMyNTYxYjFmCitBdXRob3I6IE1hcmNlbCBaaXN3aWxlciA8bWFyY2VsQHppc3dpbGVyLmNvbT4KK0RhdGU6CVdlZCBTZXAgOSAyMToxODo0MSAyMDA5ICswMjAwCisKKyAgICBGRFQ6IHJlbW92ZSBvYnNvbGV0ZSBPRl9DUFUgYW5kIE9GX1NPQyBtYWNyb3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgWmlzd2lsZXIgPG1hcmNlbC56aXN3aWxlckBub3Nlci5jb20+CisgICAgQWNrZWQtYnk6IEd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgorICAgIEFja2VkLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworY29tbWl0IDNiNmE5MjY3ZjBkZTdiODVkMzg3ZmE0MTIzZDBiNTgzNzkzNjM0NDcKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVR1ZSBTZXAgMTUgMDA6MDk6MjEgMjAwOSArMDIwMAorCisgICAgYm9hcmQvZmxhZ2FkbS9mbGFzaC5jOiBmaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZzogZmxhc2guYzo1MzE6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlcgorICAgIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBL4XJpIERhdu3wc3NvbiA8a2RAZmxhZ2EuaXM+CisKK2NvbW1pdCAwNDEzY2ZlY2VhMzUwMDAwZWFiNWU1OTFhMDk2NWMzZTNlZTBmZjAwCitBdXRob3I6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KK0RhdGU6CVRodSBTZXAgMTcgMTU6MTU6NTIgMjAwOSArMDIwMAorCisgICAgQ29ycmVjdCBmZnMvZmxzIHJlZ3Jlc3Npb24gZm9yIFBvd2VyUEMgZXRjCisKKyAgICBDb21taXRzCisKKyAgICAgIDAyZjk5OTAxZWQxYzlkODI4ZTNlYTExN2Y5NGNlMjI2NGJmODM4OWUKKyAgICAgIDUyZDYxMjI3YjY2ZDQwOTliMzljODMwOWFiMzdjYjY3ZWUwOWE0MDUKKworICAgIGludHJvZHVjZWQgYSByZWdyZXNzaW9uIHdoZXJlIHBsYXRmb3JtLXNwZWNpZmljIGZmcy9mbHMgaW1wbGVtZW50YXRpb25zCisgICAgd2VyZSBkZWZpbmVkIGF3YXkuIFRoaXMgcGF0Y2ggY29ycmVjdHMgdGhhdCBieSB1c2luZyBQTEFURk9STV94eHgKKyAgICBpbnN0ZWFkIG9mIHRoZSBuYW1lIGl0c2VsZi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKyAgICBBY2tlZC1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAgICBBY2tlZC1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgZTY3YWY0NGQwMTY3ZDgyMzdkZDJjMmRkZjhlMzAxZDE5Y2ExMjkxNAorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglNb24gU2VwIDE0IDExOjEzOjM0IDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogQ29uc29saWRhdGUgZ2V0X09QQl9mcmVxKCkKKworICAgIEFsbCA0eHggdmFyaWFudHMgaGFkIHRoZWlyIG93biwgbW9zdGx5IGlkZW50aWNhbCBnZXRfT1BCX2ZyZXEoKQorICAgIGZ1bmN0aW9uLiBTb21lIHZhcmlhbnRzIGV2ZW4gb25seSBoYWQgdGhlIE9QQiBmcmVxdWVuY3kgY2FsY3VsYXRlZAorICAgIGluIHRoaXMgcm91dGluZSBhbmQgbm90IHN1cHBsaWVkIHRoZSBzeXNfaW5mby5mcmVxT1BCIHZhcmlhYmxlCisgICAgY29ycmVjdGx5IChlLmcuIDQwNUVaKS4gVGhpcyByZXN1bHRlZCBpbiBpbmNvcnJlY3QgT1BCIHZhbHVlcyBwYXNzZWQKKyAgICB2aWEgdGhlIEZEVCB0byBMaW51eC4KKworICAgIFRoaXMgcGF0Y2ggbm93IHJlbW92ZXMgYWxsIHRob3NlIGNvcGllcyBhbmQgb25seSB1c2VzIG9uZSBmdW5jdGlvbgorICAgIGZvciBhbGwgNHh4IHZhcmlhbnRzIChleGNlcHQgZm9yIElPUDQ4MCB3aGljaCBkb2Vzbid0IGhhdmUgYW4gT1BCKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDg0YTQ1ZDMzYzJjYzI2MWRiZDU0MTFmN2MyYWQ0NWY2MDAzMDI1YjYKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCAxMSAxNzowOTo0NSAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IEVuYWJsZSBjb21tYW5kcyBmb3IgRkRUIGVuYWJsZWQgTGludXggYm9vdGluZyBvbiBBTUNDIEFjYWRpYQorCisgICAgQWNhZGlhIHN0aWxsIHVzZWQgdGhlICJvbGQiIGFyY2gvcHBjIGJvb3RtIGNvbW1hbmRzIGZvciBib290aW5nCisgICAgTGludXggaW1hZ2VzIHdpdGhvdXQgRkRULiBUaGlzIHBhdGNoIG5vdyBlbmFibGVzIHRoZXNlIGZkdC1hd2FyZQorICAgIGJvb3QgY29tbWFuZHMgZm9yIEFjYWRpYSBhcyB3ZWxsLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgOTVhNGE1OTNiNTc3YjZlMmYxZGEyZDRiMGY1ZWM4Njk3NWMzMzQxMworQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDExIDE3OjA3OjU1IDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogRml4IDQwNUVaIHVhcnQgYmFzZSBiYXVkIGNhbGN1bGF0aW9uCisKKyAgICBXaXRoIHRoaXMgZml4LCBMaW51eCBjb3JyZWN0bHkgY29uZmlndXJlcyB0aGUgYmF1ZHJhdGUgd2hlbiBib290aW5nCisgICAgd2l0aCBGRFQgcGFzc2VkIGZyb20gVS1Cb290IHRvIExpbnV4LgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgMTVmYmEzMjc5YjU2MzMzYmRiNjVlYWQzNjZmODJjOTQ1ZWQzMjBkMQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJRnJpIFNlcCAxMSAxNToyODo0MSAyMDA5IC0wNTAwCisKKyAgICBwcGMvODV4eDogRGlzYWJsZSBhbGwgYXN5bmMgaW50ZXJydXB0IHNvdXJjZXMgd2hlbiB3ZSBib290CisKKyAgICBXZSBzaG91bGQgbWFrZSBzdXJlIHRvIGNsZWFyIE1TUltNRSwgQ0UsIERFXSB3aGVuIHdlIGJvb3QgYW4gT1MgaW1hZ2UKKyAgICBzaW5jZSB3ZSBoYXZlIGNoYW5nZWQgdGhlIGV4Y2VwdGlvbiB2ZWN0b3JzIGFuZCB0aGUgT1NlcyB2ZWN0b3JzIG1pZ2h0CisgICAgbm90IGJlIHNldHVwIHdlIHNob3VsZCBhdm9pZCBhc3luYyBpbnRlcnJ1cHRzIGF0IGFsbCBjb3N0cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5ZjAwNDA5YTlkMDRjZjUzMzMwNTUzMWRhMzI0MzcxMzA4MDJmM2EzCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglGcmkgU2VwIDExIDEzOjUyOjQ1IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBTcGxpdCBvdXQgY3B1X2luaXRfZWFybHkgaW50byBpdHMgb3duIGZpbGUgZm9yIE5BTkRfU1BMCisKKyAgICBCeSBwdWxsaW5nIG91dCBjcHVfaW5pdF9lYXJseSB3ZSBjYW4gYnVpbGQganVzdCBpdCBhbmQgbm90IGFsbCBvZgorICAgIGNwdV9pbml0IGZvciBOQU5EX1NQTC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAwNDU2ZGJmMzQ3NWQwYWVjNDI4NzNhOTY3YWM5N2VkODFmMzc2MTE5CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglGcmkgU2VwIDExIDEzOjQxOjQ5IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBDaGFuZ2UgY3B1X2luaXRfZWFybHlfZiBzbyB3ZSBjYW4gdXNlIHdpdGggTkFORCBTUEwKKworICAgIFVzZSB3cml0ZV90bGIgYW5kIGRvbid0IHVzZSBtZW1zZXQgc28gd2UgY2FuIHVzZSB0aGUgc2FtZSBjb2RlIGZvcgorICAgIGNwdV9pbml0X2Vhcmx5X2YgYmV0d2VlbiBOQU5EIFNQTCBhbmQgbm90LgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDZlMTM4NWQ1ZjhkMTM3ZTc0MWRmZWYwMjQ2NWQ3ZGMzMjgwNDBhZDcKK0F1dGhvcjogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorRGF0ZToJRnJpIFNlcCAxMSAxMDo1MzowOCAyMDA5ICswODAwCisKKyAgICBOQU5EIGJvb3Q6IGNoYW5nZSBOQU5EIGxvYWRlcidzIHJlbG9jYXRlIFNQIHRvIENPTkZJRyBwYXJhbQorCisgICAgU28gdGhhdCB3ZSBjYW4gc2V0IHRoZSBOQU5EIGxvYWRlcidzIHJlbG9jYXRlIHN0YWNrIHBvaW50ZXIKKyAgICB0byB0aGUgdmFsdWUgb3RoZXIgdGhhbiB0aGUgcmVsb2NhdGUgYWRkcmVzcyArIDB4MTAwMDAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3ZGE1MzM1MWQ4MTdjNmQ3NzM2NGNmZGU5MjI4OTFmMzdkMGU1ZWQ4CitBdXRob3I6IE1pbmdrYWkgSHUgPE1pbmdrYWkuaHVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBTZXAgMTEgMTQ6MTk6MTAgMjAwOSArMDgwMAorCisgICAgcHBjLzg1eHg6IGFkZCBib290IGZyb20gTkFORC9lU0RIQy9lU1BJIHN1cHBvcnQKKworICAgIFRoZSBNUEM4NTM2RSBpcyBjYXBhYmxlIG9mIGJvb3RpbmcgZm9ybSBOQU5EL2VTREhDL2VTUEksIHRoaXMgcGF0Y2gKKyAgICBpbXBsZW1lbnRzIHRoZXNlIHRocmVlIGJvb3R1cCBtZXRob2RzIGluIGEgdW5pZmllZCB3YXkgLSBhbGwgb2YgdGhlc2UKKyAgICB1c2UgdGhlIGdlbmVyYWwgY3B1L21wYzg1eHgvc3RhcnQuUywgYW5kIGxvYWQgdGhlIG1haW4gaW1hZ2UgdG8gTDJTUkFNCisgICAgd2hpY2ggbGV0cyB1cyB1c2UgdGhlIFNQRCB0byBpbml0aWFsaXplIHRoZSBTRFJBTS4KKworICAgIEZvciBhbGwgdGhyZWUgYm9vdHVwIG1ldGhvZHMsIHRoZSBib290dXAgcHJvY2VzcyBjYW4gYmUgZGl2aWRlZCBpbnRvIHR3bworICAgIHN0YWdlczogdGhlIGZpcnN0IHN0YWdlIHdpbGwgaW5pdGlhbGl6ZSB0aGUgY29ycmVzcG9uZGluZyBjb250cm9sbGVyLAorICAgIGNvbmZpZ3VyZSB0aGUgTDJTUkFNLCB0aGVuIGNvcHkgdGhlIHNlY29uZCBzdGFnZSBpbWFnZSB0byBMMlNSQU0gYW5kCisgICAganVtcCB0byBpdC4gVGhlIHNlY29uZCBzdGFnZSBpbWFnZSBpcyBqdXN0IGxpa2UgdGhlIGdlbmVyYWwgVS1Cb290IGltYWdlCisgICAgdG8gY29uZmlndXJlIGFsbCB0aGUgaGFyZHdhcmUgYW5kIGJvb3QgdXAgdG8gVS1Cb290IGNvbW1hbmQgbGluZS4KKworICAgIFdoZW4gYm9vdCBmcm9tIE5BTkQsIHRoZSBlTEJDIGNvbnRyb2xsZXIgd2lsbCBmaXJzdCBsb2FkIHRoZSBmaXJzdCBzdGFnZQorICAgIGltYWdlIHRvIGludGVybmFsIDRLIFJBTSBidWZmZXIgYmVjYXVzZSBpdCdzIGFsc28gc3RvcmVkIG9uIHRoZSBOQU5ECisgICAgZmxhc2guIFRoZSBmaXJzdCBzdGFnZSBpbWFnZSwgYWxzbyBjYWxsIDRLIE5BTkQgbG9hZGVyLCB3aWxsIGluaXRpYWxpemUKKyAgICB0aGUgTDJTUkFNLCBsb2FkIHRoZSBzZWNvbmQgc3RhZ2UgaW1hZ2UgdG8gTDJTUkFNIGFuZCBqdW1wIHRvIGl0LiBUaGUgNEsKKyAgICBOQU5EIGxvYWRlcidzIGNvZGUgY29tZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBuYW5kX3NwbCBkaXJlY3RvcnksIGFsb25nCisgICAgd2l0aCB0aGUgY29kZSB0d2lzdGVkIGJ5IENPTkZJR19OQU5EX1NQTC4KKworICAgIFdoZW4gYm9vdCBmcm9tIGVTREhDL2VTUEksIHRoZXJlJ3Mgbm8gc3VjaCBhIGZpcnN0IHN0YWdlIGltYWdlIGJlY2F1c2UKKyAgICB0aGUgQ1BVIFJPTSBjb2RlIGRvZXMgdGhlIHNhbWUgd29yay4gSXQgd2lsbCBpbml0aWFsaXplIHRoZSBMMlNSQU0KKyAgICBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZyBhZGRyL3dvcmQgcGFpcnMgb24gdGhlIGZpeGVkIGFkZHJlc3MgYW5kCisgICAgaW5pdGlhbGl6ZSB0aGUgZVNESEMvZVNQSSBjb250cm9sbGVyLCB0aGVuIGxvYWQgdGhlIHNlY29uZCBzdGFnZSBpbWFnZQorICAgIHRvIEwyU1JBTSBhbmQganVtcCB0byBpdC4KKworICAgIFRoZSBtYWNybyBDT05GSUdfU1lTX1JBTUJPT1QgaXMgdXNlZCB0byBjb250cm9sIHRoZSBjb2RlIHRvIHByb2R1Y2UgdGhlCisgICAgc2Vjb25kIHN0YWdlIGltYWdlIGZvciBhbGwgZGlmZmVyZW50IGJvb3R1cCBtZXRob2RzLiBJdCdzIHNldCBpbiB0aGUKKyAgICBib2FyZCBjb25maWcgZmlsZSB3aGVuIG9uZSBvZiB0aGUgYm9vdHVwIG1ldGhvZHMgYWJvdmUgaXMgc2VsZWN0ZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGIyZWVjMjgxYTgxMWJiNTI5NDFmNjEyMDNkOGZlMzUyNTZiMzU4MmMKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CUZyaSBTZXAgMTEgMTI6MzI6MDEgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IE1vdmUgY29kZSBhcm91bmQgdG8gcHJlcCBmb3IgTkFORF9TUEwKKworICAgIElmIHdlIG1vdmUgc29tZSBvZiB0aGUgZnVuY3Rpb25zIGluIHRsYi5jIGFyb3VuZCB3ZSBuZWVkIGxlc3MKKyAgICBpZmRlZnMuICBUaGUgZmlyc3Qgc3RhZ2UgbG9hZGVyIGp1c3QgbmVlZHMgaW52YWxpZGF0ZV90bGIgYW5kCisgICAgaW5pdF90bGJzLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDIwNmFmMzUyN2MwNWU1MjBlMjhkMzhhNDhhMWQxNTQzM2UzNDY3NWQKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CUZyaSBTZXAgMTEgMTE6MzA6MzAgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IFJlcGFjayB0bGJfdGFibGUgdG8gc2F2ZSBzcGFjZQorCisgICAgV2UgY2FuIHBhY2sgdGhlIGluaXRpYWwgdGxiX3RhYmxlIGluIE1BUyByZWdpc3RlciBmb3JtYXQgYW5kIHVzZQorICAgIHdyaXRlX3RsYiB0byBzZXQgdGhpbmdzIHVwLiAgVGhpcyBzYXZpbmdzIGNhbiBiZSBoZWxwZnVsIGZvciBOQU5ECisgICAgc3R5bGUgZmlyc3Qgc3RhZ2UgYm9vdCBsb2FkZXJzLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGQzMGY5MDQzNTM5ZDM3MmNmNjY0MDZiYzJmMjFiYjhjMjBlNjcwMDkKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CUZyaSBTZXAgMTEgMTE6Mjc6MDAgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEludHJvZHVjZSBsb3cgbGV2ZWwgd3JpdGVfdGxiIGZ1bmN0aW9uCisKKyAgICBGYWN0b3Igb3V0IHRoZSBjb2RlIHdlIHVzZSB0byBhY3R1YWxseSB3cml0ZSBhIHRsYiBlbnRyeS4KKworICAgIHNldF90bGIgaXMgYSBsb2dpY2FsIHZpZXcgb2YgdGhlIFRMQiB3aGlsZSB3cml0ZV90bGIgaXMgYSBsb3cgbGV2ZWwKKyAgICBtYXRjaGluZyB0aGUgTUFTIHJlZ2lzdGVycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAwZWFkNmYyZWQ3Y2Y0ZTFmNzBkYWI1YjUyOWFkMTIxZTM4MzU5NDg1CitBdXRob3I6IFJveSBaYW5nIDx0aWUtZmVpLnphbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBTZXAgMTAgMTQ6NDQ6NDggMjAwOSArMDgwMAorCisgICAgcHBjLzg1eHg6IEVuYWJsZSB1c2IgZWhjaSBzdXBwb3J0IGZvciBwMjAyMGRzIGJvYXJkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSb3kgWmFuZyA8dGllLWZlaS56YW5nQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDZkODU2NWExZWQ1YWNiMDFiYWQ0YTRjZDc0YTkzYmU1ZjdmYjdmN2MKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBTZXAgMTAgMTQ6NTQ6NTUgMjAwOSAtMDUwMAorCisgICAgcHBjLzh4eHg6IE1pc2MgRERSIHJlbGF0ZWQgZml4ZXMKKworICAgICogRml4IHNldHRpbmcgb2YgRVNETU9ERSAoTVIxKSByZWdpc3RlciAtIHRoZSBiaXQgc2hpZnRpbmcgd2FzIHdyb25nCisgICAgKiBGaXggdGhlIGZvcm1hdCBzdHJpbmcgdG8gbWF0Y2ggc2l6ZSBpbiBhIGRlYnVnIHByaW50CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgM2UzYzljMTU3Yjg5ZWFiMmRjMmY4OTc4OTliMWI5NWNkNzBjMWE1OAorQXV0aG9yOiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBBdWcgMjAgMTc6NDU6MDAgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IFJlbW92ZSBzb21lIGJvZ3VzIGNvZGUgZnJvbSBleHRlcm5hbCBpbnRlcnJ1cHQgaGFuZGxlci4KKworICAgIFNraXBwaW5nIHRoZSBpbnRlcnJ1cHRlZCBpbnN0cnVjdGlvbiB3aWxsIGFjY29tcGxpc2ggbm90aGluZyBvdGhlcgorICAgIHRoYW4gdHVybmluZyBhIHNwdXJpb3VzIGludGVycnVwdCBpbnRvIGEgY3Jhc2guCisKKyAgICBFeHRlcm5hbCBpbnRlcnJ1cHRzIGFyZSBub3QgbWFjaGluZSBjaGVja3MsIHNvIGRvbid0IGNvdW50IHRoZW0gYXMgc3VjaC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZGNjODdkZDU4ZGI0NjZjYWEyZDY2NzU1YzVlYzk0NTVlZGY0MmZlOAorQXV0aG9yOiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBBdWcgMjAgMTc6NDU6MDUgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEVuc3VyZSB0aGF0IE1BUzggaXMgemVybyB3aGVuIHdyaXRpbmcgVExCIGVudHJpZXMuCisKKyAgICBJdHMgcmVzZXQgdmFsdWUgaXMgcmFuZG9tLCBhbmQgd2Ugc29tZXRpbWVzIHJlYWQgdW5pbml0aWFsaXplZCBUTEIKKyAgICBhcnJheXMuICBNYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCByZXRhaW4gTUFTOCBmcm9tIHJlYWRpbmcgc3VjaCBhbiBlbnRyeQorICAgIGlmIHRoZSBWRiBiaXQgaW4gTUFTOCBpcyBzZXQsIGF0dGVtcHRzIHRvIHVzZSB0aGUgbWFwcGluZyB3aWxsIHRyYXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDFiNzJkYmVjY2EyZDdhZDdhMjFjOTJkODAyMjdkYWEyZDhlYzVhNTcKK0F1dGhvcjogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgQXVnIDIwIDE3OjQ0OjIwIDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBEb24ndCBlbmFibGUgaW50ZXJydXB0cyBiZWZvcmUgd2UncmUgcmVhZHkKKworICAgIFdlIGNhbm5vdCBoYW5kbGUgYW55IGV4Y2VwdGlvbnMgd2hpbGUgcnVubmluZyBpbiBBUzEsIGFzIHRoZSBleGNlcHRpb25zCisgICAgd2lsbCB0cmFuc2l0aW9uIGJhY2sgdG8gQVMwIHdpdGhvdXQgYSB2YWxpZCBtYXBwaW5nLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAzY2E1NWJjZTljOGJmMDBkZjA2YTIwNDg3ZmFmYzE2ZmEyZjgwODRiCitBdXRob3I6IE1hcmNlbCBaaXN3aWxlciA8bWFyY2VsQHppc3dpbGVyLmNvbT4KK0RhdGU6CUZyaSBTZXAgMTEgMDc6NTA6MzMgMjAwOSAtMDQwMAorCisgICAgbXBjODI2MDogcmVtb3ZlIEV0aGVybmV0IG5vZGUgZml4dXAgdG8gdXNlIGdlbmVyaWMgRkRUIGNvZGUuCisKKyAgICBSZW1vdmUgRXRoZXJuZXQgbm9kZSBmaXh1cCBmcm9tIG1nY29nZSBhbmQgbXVhczMwMDEgYm9hcmRzIGFuZCBtb2RpZnkgaXRzCisgICAgY29uZmlncyBmb3IgdGhlIGNvbW1vbiBtcGM4MjYwIGNvZGUgdG8gdXNlIGdlbmVyaWMgRXRoZXJuZXQgZml4dXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgWmlzd2lsZXIgPG1hcmNlbC56aXN3aWxlckBub3Nlci5jb20+CisgICAgVGVzdGVkLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworY29tbWl0IDFjMjBlNGE5ZmJjNTMxZTIxNDlhZTA2MWU4NTgzZjVmYWQ4MmYxNjMKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJV2VkIFNlcCA5IDEyOjIwOjIxIDIwMDkgLTA0MDAKKworICAgIHRvb2xzL25ldGNvbnNvbGU6IHVzZSBuY2IgYXV0b21hdGljYWxseSBpZiBhdmFpbGFibGUKKworICAgIFRoZSBzdGFuZGFyZCBuZXRjYXQsIHdoaWxlIHViaXF1aXRvdXMsIGRvZXNuJ3QgaGFuZGxlIGJyb2FkY2FzdCB1ZHAgcGFja2V0cworICAgIHByb3Blcmx5LiAgVGhlIGxvY2FsIG5jYiB1dGlsIGRvZXMgaG93ZXZlci4gIFNvIGlmIG5jYiBjYW4gYmUgbG9jYXRlZCBpbgorICAgIHRoZSBzdGFuZGFyZCBsb2NhdGlvbnMsIGF1dG9tYXRpY2FsbHkgdXNlIHRoYXQgaW5zdGVhZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDc3MDkzMTgwNWQyOTI5MDhhNTdhM2QyYzVmOWE0ZmNkZTg4OGI1YTIKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJV2VkIFNlcCA5IDEyOjIwOjIwIDIwMDkgLTA0MDAKKworICAgIHRvb2xzL25ldGNvbnNvbGU6IG1ha2UgYSBiaXQgbW9yZSByb2J1c3QKKworICAgIFRoZSBuZXRjYXQgdXRpbGl0eSBsaWtlcyB0byBleGl0IHdoZW4gaXQgcmVjZWl2ZXMgYW4gZW1wdHkgcGFja2V0IChhcyBpdAorICAgIHRoaW5rcyB0aGlzIG1lYW5zIEVPRikuICBUaGlzIGNhbiBlYXNpbHkgb2NjdXIgd2hlbiB3b3JraW5nIHdpdGggY29tbWFuZAorICAgIGxpbmUgZWRpdGluZyBhcyB0aGlzIGJlaGF2aW9yIHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdXNpbmcgYmFja3NwYWNlLiAgT3IKKyAgICB3aXRoIHRhYnMgYW5kIGNvbW1hbmQgbGluZSBjb21wbGV0aW9uLiAgU28gY3JlYXRlIHR3byBuZXRjYXQgcHJvY2Vzc2VzIC0KKyAgICBvbmUgdG8gb25seSBsaXN0ZW4gKGFuZCBwdXQgaXQgaW50byBhIGxvb3ApLCBhbmQgb25lIHRvIGRvIHRoZSBzZW5kaW5nLgorICAgIE9uY2UgdGhlIHVzZXIgcXVpdHMgdGhlIHRyYW5zbWl0dGluZyBuZXRjYXQsIHRoZSBsaXN0ZW5pbmcgb25lIHdpbGwgYmUKKyAgICBraWxsZWQgYXV0b21hdGljYWxseS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGE2ZTE5ZDY5ZjYzYzE0Yjc2NzJjNjVjYTRiMDE0NjIxYzZmZDAyMDEKK0F1dGhvcjogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorRGF0ZToJTW9uIEF1ZyAyNCAwOToxMDoxNiAyMDA5ICswMjAwCisKKyAgICBhcm06IERlZmluZSB0ZXN0X2FuZF9zZXRfYml0IGFuZCB0ZXN0X2FuZF9jbGVhciBiaXQgZm9yIEFSTQorCisgICAgTmVlZGVkIGZvciAoZS5nLikgdWJpZnMgc3VwcG9ydCB0byB3b3JrLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorCitjb21taXQgNTJkNjEyMjdiNjZkNDA5OWIzOWM4MzA5YWIzN2NiNjdlZTA5YTQwNQorQXV0aG9yOiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CitEYXRlOglNb24gQXVnIDI0IDA5OjEwOjEyIDIwMDkgKzAyMDAKKworICAgIERlZmluZSBmZnMvZmxzIGZvciBhbGwgYXJjaGl0ZWN0dXJlcworCisgICAgVUJJRlMgcmVxdWlyZXMgZmxzKCksIHdoaWNoIGlzIG5vdCBkZWZpbmVkIGZvciBhcm0gKGFuZCBzb21lIG90aGVyCisgICAgYXJjaGl0ZWN0dXJlcykgYW5kIHRoaXMgcGF0Y2ggYWRkcyBpdC4gVGhlIGltcGxlbWVudGF0aW9uIGlzIHRha2VuIGZyb20KKyAgICBMaW51eCBhbmQgaXMgZ2VuZXJpYy4gZmZzKCkgaXMgYWxzbyBkZWZpbmVkIGZvciB0aG9zZSB0aGF0IG1pc3MgaXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CisKK2NvbW1pdCA0YjE1ZGUwOGZlNGQyYzlkMTJhMzc2NDM5NDczMTAxOGE3NjMyMTZiCitBdXRob3I6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KK0RhdGU6CU1vbiBBdWcgMjQgMDk6MTA6MDMgMjAwOSArMDIwMAorCisgICAgYXJtOiBNYWtlIGFybSBiaXRvcHMgZW5kaWFubmVzcy1pbmRlcGVuZGVudAorCisgICAgQnJpbmcgb3ZlciB0aGUgYml0b3AgaW1wbGVtZW50YXRpb25zIGZyb20gdGhlIExpbnV4CisgICAgaW5jbHVkZS9hc20tZ2VuZXJpYy9iaXRvcHMvbm9uLWF0b21pYy5oIHRvIHByb3ZpZGUKKyAgICBlbmRpYW5uZXNzLWluZGVwZW5kZW5jZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKworY29tbWl0IDAyZjk5OTAxZWQxYzlkODI4ZTNlYTExN2Y5NGNlMjI2NGJmODM4OWUKK0F1dGhvcjogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorRGF0ZToJTW9uIEF1ZyAyNCAwOTowOTo1MCAyMDA5ICswMjAwCisKKyAgICBNb3ZlIF9fc2V0L2NsZWFyX2JpdCBmcm9tIHViaWZzLmggdG8gYml0b3BzLmgKKworICAgIF9fc2V0X2JpdCBhbmQgX19jbGVhcl9iaXQgYXJlIGRlZmluZWQgaW4gdWJpZnMuaCBhcyB3ZWxsIGFzIGluCisgICAgYXNtL2luY2x1ZGUvYml0b3BzLmggZm9yIHNvbWUgYXJjaGl0ZWN0dXJlcy4gVGhpcyBwYXRjaCBtb3ZlcworICAgIHRoZSBnZW5lcmljIGltcGxlbWVudGF0aW9uIHRvIGluY2x1ZGUvbGludXgvYml0b3BzLmggYW5kIHVzZXMKKyAgICB0aGF0IHVubGVzcyBpdCdzIGRlZmluZWQgYnkgdGhlIGFyY2hpdGVjdHVyZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKworY29tbWl0IDU1NzU1NWZlMGI4Mjk0MGJhN2NjNjlmODFkMzFkNmVmNGQ0OTMzYjQKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJRnJpIFNlcCA0IDE5OjU0OjQ1IDIwMDkgLTA0MDAKKworICAgIHN0YW5kYWxvbmU6IGNvbnZlcnQgdG8ga2J1aWxkIHN0eWxlCisKKyAgICBDbGVhbiB1cCB0aGUgYXJjaC9jcHUvYm9hcmQvY29uZmlnIGNoZWNrcyBhcyB3ZWxsIGFzIHJlZHVuZGFudCBzZXR0aW5nIG9mCisgICAgc3JlYy9iaW4gdmFyaWFibGVzIGJ5IHVzaW5nIHRoZSBrYnVpbGQgVkFSLSQoLi4uKSBzdHlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDgwNGQ4M2E1NjNjNDdiNTVlMWYxNGY1ZGUzYjZlOWQ3ZTJhN2VmNWUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVR1ZSBTZXAgMTUgMjI6MTI6MzEgMjAwOSArMDIwMAorCisgICAgbWtjb25maWc6IHNwbGl0IHRoZSBib2FyZCBtYWtlIHRhcmdldCB0byBtdWx0aXBsZSBjb25maWcgdGFyZ2V0cworCisgICAgVG8gc2ltcGxpZnkgdGhlIHRvcCBsZXZlbCBtYWtlZmlsZSBpdCB1c2VmdWwgdG8gYmUgYWJsZSB0byBwYXJzZQorICAgIHRoZSB0b3AgbGV2ZWwgbWFrZWZpbGUgdGFyZ2V0IHRvIG11bHRpcGxlIGluZGl2aWR1YWwgdGFyZ2V0LCB0aGVuCisgICAgcHV0IHRoZW0gdG8gdGhlIGNvbmZpZy5oLCBsZWF2ZSB0aGUgYm9hcmQgY29uZmlnIGZpbGUgdG8gaGFuZGxlCisgICAgdGhlIGRpZmZlcmVudCB0YXJnZXRzLgorCisgICAgTm90ZSB0aGF0IHRoaXMgbWV0aG9kIHVzZXMgdGhlICdfJyh1bmRlcmxpbmUpIGFzIHRoZSBkZWxpbWl0ZXIgd2hlbgorICAgIHNwbGl0cyB0aGUgYm9hcmQgbWFrZSB0YXJnZXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisKKyAgICBUaGlzIGFsc28gcmV2ZXJ0cyBjb21taXQgNTExYzAyZjYxMWNiNWFmYTFiOGNhNTk4MGNhYWFhYmFhMGRlMzc3Zi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBjZWIyZDU3YzIyMDVkYjViYmQ4Njg1NzdmNzU2Yzc0YTI1NjgxNjBjCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUdWUgU2VwIDE1IDIxOjEzOjI3IDIwMDkgKzAyMDAKKworICAgIGt3YmltYWdlLmM6IEZpeCBjb21waWxlIHdhcm5pbmcgd2hlbiBidWlsZGluZyBvbiA2NCBiaXQgc3lzdGVtcyAoYWdhaW4pCisKKyAgICBDb21taXQgNTEwMDNiODkgYXR0ZW1wdGVkIHRvIGZpeCBhIGJ1aWxkIHByb2JsZW0gb24gNjQgYml0IHN5c3RlbXMsCisgICAgYnV0IGp1c3QgdHVybmVkIGl0IGludG8gYSBidWlsZCBwcm9ibGVtIG9uIDMyIGJpdCBzeXN0ZW1zIChzaWxseSBtZSkuCisKKyAgICBOb3cgZG8gdGhlIFJpZ2h0IFRoaW5nIChUTSkgYW5kIHVzZSBhICIlenUiIHByaW50ZiBmb3JtYXQuCisKKyAgICBBbHNvIGZpeCBzcGVsbGluZyBlcnJvci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA2YzdiYzkxZmIzZGJhMTg2ZDMzOThhMTY1M2Y2ZGIyMzY1MTBmZmE3CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDExIDExOjMwOjM0IDIwMDkgKzAyMDAKKworICAgIGJvYXJkL2FtY2MvY29tbW9uL2ZsYXNoLmM6IEZpeCBjb21waWxlIHdhcm5pbmcKKworICAgIEZpeCB3YXJuaW5nOiAuLi9jb21tb24vZmxhc2guYzo5MTc6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQKKyAgICBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDcwZmI4MDljNTYzYzM0MDUzODI2NGQyYTk0MzYxMzVlNzRjMzhiZmUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBTZXAgMTEgMTE6NDc6MDcgMjAwOSArMDIwMAorCisgICAgYm9hcmQvYW1jYy95dWNjYS9mbGFzaC5jOiBGaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZzogZmxhc2guYzo5MTk6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlcgorICAgIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDAzMGVjNTJmOGNjODMwMTVmOTY4ZGIzMDIwOGY0YmQwN2ZlZmZhNmMKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBTZXAgMTEgMTE6NDQ6MzkgMjAwOSArMDIwMAorCisgICAgYm9hcmQvYW1jYy90YWlodS9mbGFzaC5jOiBGaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZ3M6CisgICAgZmxhc2guYzogSW4gZnVuY3Rpb24gJ3dyaXRlX3dvcmRfMSc6CisgICAgZmxhc2guYzo2OTY6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIGZsYXNoLmM6IEluIGZ1bmN0aW9uICd3cml0ZV93b3JkXzInOgorICAgIGZsYXNoLmM6MTA0NDogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDBmZDNkOTAyZDkyMGYzZTYwZjg4NTMwYzMzZjFhZTc1ODEyNjA5NTEKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBTZXAgMTEgMTE6Mzc6MjAgMjAwOSArMDIwMAorCisgICAgYm9hcmQvZXRpbi9kZWJyaXMvcGhhbnRvbS5jOiBGaXggY29tcGlsZSBlcnJvcgorCisgICAgRml4IGJ1aWxkIHByb2JsZW0gY2F1c2VkIGJ5IGNvbW1pdCBlODRhYmExMzogIlJlcGxhY2UgQkNEMkJJTiBhbmQKKyAgICBCSU4yQkNEIG1hY3JvcyB3aXRoIGlubGluZSBmdW5jdGlvbnMiCisKKyAgICBwaGFudG9tLmM6MTYzOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdiY2QyYmluJworICAgIC9ob21lL3dkL2dpdC91LWJvb3Qvd29yay9pbmNsdWRlL2JjZC5oOjE2OiBlcnJvcjogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiAnYmNkMmJpbicgd2FzIGhlcmUKKyAgICBwaGFudG9tLmM6MTY4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdiaW4yYmNkJworICAgIC9ob21lL3dkL2dpdC91LWJvb3Qvd29yay9pbmNsdWRlL2JjZC5oOjIxOiBlcnJvcjogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiAnYmluMmJjZCcgd2FzIGhlcmUKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IFNhbmdtb29uIEtpbSA8ZG9nb2lsQGV0aW5zeXMuY29tPgorCitjb21taXQgNTE2ODgwMWY0YjcxYzJmOGRjZDkyYTgwY2ZjZmRhODQyNDZlNjdmZQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCAxMSAxMToyODoyMSAyMDA5ICswMjAwCisKKyAgICBib2FyZC9kYXZlL2NvbW1vbi9mbGFzaC5jOiBmaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZzogLi4vY29tbW9uL2ZsYXNoLmM6NjY4OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkCisgICAgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogQW5kcmVhIE1hcnNvbiA8YW5kcmVhLm1hcnNvbkBkYXZlLXRlY2guaXQ+CisKK2NvbW1pdCA5NzEzOGZjNDgwOTFmMmIwNjNjNGUzMmYzNmQwNTg1NGI5ZDExM2ZiCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDExIDExOjE1OjMxIDIwMDkgKzAyMDAKKworICAgIGJvYXJkL2VzZC9jcGNpNzUwL2lkZS5jOiBmaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZzogaWRlLmM6NTQ6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsCisgICAgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KKyAgICBDYzogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIEFja2VkLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBiYTczMDYwY2Y0MTYzYmQ1ZWIxNzExMDIwMTI2ZTJmN2Y2MmQzNjNlCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDExIDEwOjEzOjI2IDIwMDkgKzAyMDAKKworICAgIGJvYXJkL2VzZC9jb21tb24vZmxhc2guYzogRml4IGNvbXBpbGUgd2FybmluZworCisgICAgRml4IHdhcm5pbmc6IC4uL2NvbW1vbi9mbGFzaC5jOjYzNTogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZAorICAgIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IE1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgorICAgIENjOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IE1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QuZXU+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDJkNmQ5ZjA4NDhlOTUyZWEzM2M2NThkZmJhMzM1Njg1YTI3MjViOGIKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBTZXAgMTEgMDk6MzY6MzEgMjAwOSArMDIwMAorCisgICAgc2s5OGxpbjogZml4IGNvbXBpbGUgd2FybmluZ3MKKworICAgIEZpeCB3YXJuaW5nczoKKyAgICBza2dlLmM6IEluIGZ1bmN0aW9uICdCb2FyZEluaXRNZW0nOgorICAgIHNrZ2UuYzoxMzg5OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza2dlLmM6MTM5MDogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisgICAgc2tnZS5jOjEzOTE6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNrZ2VzaXJxLmM6IEluIGZ1bmN0aW9uICdTa0dlUG9ydENoZWNrVXBYbWFjJzoKKyAgICBza2dlc2lycS5jOjEzMDE6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNrZ2VzaXJxLmM6MTMwMTogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisgICAgc2tnZXNpcnEuYzoxMzk4OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza2dlc2lycS5jOjEzOTg6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNrcmxtdC5jOiBJbiBmdW5jdGlvbiAnU2tSbG10SW5pdCc6CisgICAgc2tybG10LmM6NjYxOiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6IEluIGZ1bmN0aW9uICdTa01hY1Byb21pc2NNb2RlJzoKKyAgICBza3htYWMyLmM6NzUzOiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6NzUzOiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6IEluIGZ1bmN0aW9uICdTa01hY0hhc2hpbmcnOgorICAgIHNreG1hYzIuYzo4MDM6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNreG1hYzIuYzo4MDM6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNreG1hYzIuYzogSW4gZnVuY3Rpb24gJ1NrTWFjRmx1c2hUeEZpZm8nOgorICAgIHNreG1hYzIuYzoxMTE1OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6MTExNTogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisgICAgc2t4bWFjMi5jOiBJbiBmdW5jdGlvbiAnU2tNYWNGbHVzaFJ4Rmlmbyc6CisgICAgc2t4bWFjMi5jOjExNDU6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNreG1hYzIuYzoxMTQ1OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6IEluIGZ1bmN0aW9uICdTa1htSW5pdFBhdXNlTWQnOgorICAgIHNreG1hYzIuYzoxOTg3OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6MTk4Nzogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisgICAgc2t4bWFjMi5jOiBJbiBmdW5jdGlvbiAnU2tYbU92ZXJmbG93U3RhdHVzJzoKKyAgICBza3htYWMyLmM6NDIzNjogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisgICAgc2t4bWFjMi5jOjQyMzY6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHNreG1hYzIuYzo0MjQyOiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKyAgICBza3htYWMyLmM6NDI0Mjogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMzcwOGU0Y2RiMWYxZDNkNTEyOGNmODdiZTA0MGQ3ZTZiODVmNjBkZAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCAxMSAwOToxMzo1OCAyMDA5ICswMjAwCisKKyAgICBkcml2ZXJzL25ldC9uYXRzZW1pLmM6IGZpeCBjb21waWxlIHdhcm5pbmcKKworICAgIEZpeCB3YXJuaW5nOiBuYXRzZW1pLmM6NzU3OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIKKyAgICB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDc4ZDE5YTM5ODc3OGE1OGQ3YjQwYjBjNzhlMDI2NTE1MjcxYjFhODQKK0F1dGhvcjogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorRGF0ZToJTW9uIFNlcCA3IDA5OjA4OjAyIDIwMDkgKzAyMDAKKworICAgIG5ldDogZW1hY2xpdGU6IENsZWFudXAgbGljZW5zZSB0byBiZSBHUEwgY29tcGF0aWJsZQorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlcGhlbiBOZXVlbmRvcmZmZXIgPHN0ZXBoZW4ubmV1ZW5kb3JmZmVyQHhpbGlueC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorCitjb21taXQgMDkwMGJlZTlhYjk4MTg0MzliMmQxMjk4ZmE4OTA5YTg4Zjc0ZWMwZAorQXV0aG9yOiBNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CitEYXRlOglGcmkgQXVnIDE0IDEzOjQxOjE3IDIwMDkgKzAyMDAKKworICAgIG1pY3JvYmxhemU6IEVuYWJsZSBodXNoIHBhcnNlcgorCisgICAgV2l0aCBIdXNoIHBhcnNlciBpcyBwb3NzaWJsZSB0byBjaGFuZ2UgY29tbWFuZCBsaW5lIGluIGR0YgorCisgICAgU2lnbmVkLW9mZi1ieTogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorCitjb21taXQgMTM5MTZhYmY5OTZiMTI3YjY4MWRkYzI2NjY0YzIzNmRlZDI4YmE3ZgorQXV0aG9yOiBNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CitEYXRlOglUaHUgQXVnIDIwIDIyOjQ0OjAyIDIwMDkgKzAyMDAKKworICAgIG1pY3JvYmxhemU6IFJlbW92ZSBBdG1hcmtUZWNobm8gU3V6YWt1IGJvYXJkCisKKyAgICBVc2VycyBzaG91bGQgdXNlIG1pY3JvYmxhemUtZ2VuZXJpYyBwbGF0Zm9ybS4KKyAgICBUaGlzIHBsYXRmb3JtIGlzIGxvbmdlciBub3Qgc3VwcG9ydGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorCitjb21taXQgM2NlYmExZDQ1ZDAwNzE0NGQxMDM2OGY5MWZmOWUzNmYzYjVmMzlhMQorQXV0aG9yOiBNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CitEYXRlOglUaHUgQXVnIDIwIDIyOjM2OjIwIDIwMDkgKzAyMDAKKworICAgIG5ldDogUmVtb3ZlIG9sZCBYaWxpbnggRW1hYyBkcml2ZXIKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KKworY29tbWl0IDJmZGRkNDQ0NjRkMDJlMGYzYWRlMDZkYWJlMGUxNjU4MzVmYTYxZjAKK0F1dGhvcjogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorRGF0ZToJV2VkIEF1ZyAxOSAwODoxMDowOCAyMDA5ICswMjAwCisKKyAgICBtaWNyb2JsYXplOiBTaG9ydCBzaXplIG9mIGdsb2JhbCBkYXRhIGFuZCBmaXggbWFsbG9jIHNpemUKKworICAgIElmIGlzIGZ1bGwgbWFsbG9jIGFyZWEgZ2xvYmFsLCBkYXRhIGFyZSByZXdyaXRlIGJlY2F1c2UKKyAgICB0aGVyZSB3YXMgYmFkIHNpemUgb2YgbWFsbG9jIGFyZWEuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CisKK2NvbW1pdCBhZWRiNDY4MzA5N2QzZTVkZTg4MzNmNGE5ZTM0NjY0ZDNkMmJkMDc3CitBdXRob3I6IE1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KK0RhdGU6CUZyaSBBdWcgMTQgMTc6MDI6MzUgMjAwOSArMDIwMAorCisgICAgbWljcm9ibGF6ZTogQWRkIHNic3MsIHNjb21tb24gYW5kIENPTU1PTiBzeW1ib2xzIGZvciBjbGVhcmluZworCisgICAgU2lnbmVkLW9mZi1ieTogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorCitjb21taXQgNGMxODgzNjcwYWNiZjFjYzgzYzA0ZGYxODc2MjM1YzNhZWRkZTEyOAorQXV0aG9yOiBEaXJrIEVpYmFjaCA8ZWliYWNoQGdkc3lzLmRlPgorRGF0ZToJV2VkIFNlcCA5IDEyOjM2OjA3IDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogUmVuYW1lIGNvbXBhY3RjZW50ZXIgdG8gaW50aXAKKworICAgIFNpZ25lZC1vZmYtYnk6IERpcmsgRWliYWNoIDxlaWJhY2hAZ2RzeXMuZGU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgZDFjM2IyNzUyNWI2NjRlOGM0ZGI2YmIxNzNlZWQ1MWJmYzgyMjBkZQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglXZWQgU2VwIDkgMTY6MjU6MjkgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBCaWcgY2xlYW51cCBvZiBQUEM0eHggZGVmaW5lcworCisgICAgVGhpcyBwYXRjaCBjbGVhbnMgdXAgbXVsdGlwbGUgaXNzdWVzIG9mIHRoZSA0eHggcmVnaXN0ZXIgKG1vc3RseQorICAgIERDUiwgU0RSLCBDUFIsIGV0YykgZGVmaW5pdGlvbnM6CisKKyAgICAtIENoYW5nZSBsb3dlciBjYXNlIGRlZmluZXMgdG8gdXBwZXIgY2FzZSAocGxiNF9hY3IgLT4gUExCNF9BQ1IpCisgICAgLSBDaGFuZ2UgdGhlIGRlZmluZXMgdG8gYmV0dGVyIG1hdGNoIHRoZSBuYW1lcyBmcm9tIHRoZQorICAgICAgdXNlcidzIG1hbnVhbHMgKGUuZy4gY3BycGxsYyAtPiBDUFIwX1BMTEMpCisgICAgLSBSZW1vdmFsIG9mIHNvbWUgdW51c2VkIGRlZmluZXMKKworICAgIFBsZWFzZSB0ZXN0IHRoaXMgcGF0Y2ggaW50ZW5zaXZlIG9uIHlvdXIgUFBDNHh4IHBsYXRmb3JtLiBFdmVuIHRob3VnaAorICAgIEkgdHJpZWQgbm90IHRvIGJyZWFrIGFueXRoaW5nIGFuZCB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5IG9uIG11bHRpcGxlCisgICAgNHh4IEFNQ0MgcGxhdGZvcm1zLCB0ZXN0aW5nIG9uIGN1c3RvbSBwbGF0Zm9ybXMgaXMgcmVjb21tZW5kZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBkOGQ4NzI0YmUwNmRmNDM3NzIxNjJkYzM0NGFlMjBkZmE4MTRkYzcyCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgU2VwIDExIDA5OjA1OjMyIDIwMDkgKzAyMDAKKworICAgIG5ldC9ib290cC5jOiBmaXggY29tcGlsZSB3YXJuaW5nCisKKyAgICBGaXggd2FybmluZzogYm9vdHAuYzo2OTU6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlcgorICAgIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgNTEwMDNiODk4MTY4NDhjYmU4NmE4ZmU0OGY5NzBiYThiMTQwMDVmNQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCAxMSAwODo1ODoxMSAyMDA5ICswMjAwCisKKyAgICBrd2JpbWFnZS5jOiBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgb24gNjQgYml0IHN5c3RlbXMKKworICAgIEZpeCB0aGlzIHdhcm5pbmcgd2hlbiBidWlsZGluZyBvbiA2NCBiaXQgc3lzdGVtczoKKyAgICB0b29scy9rd2JpbWFnZS5jOiBJbiBmdW5jdGlvbiAna3diaW1hZ2VfY2hlY2tzdW0zMic6CisgICAgdG9vbHMva3diaW1hZ2UuYzoxMzU6IHdhcm5pbmc6IGZvcm1hdCAnJWQnIGV4cGVjdHMgdHlwZSAnaW50JywKKyAgICBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCBlNzk2Mzc3MmViNzhhNmFhMWZhNjUwNjNkNjRlYWIzYTg2MjZkYWFjCitBdXRob3I6IE1hcmNlbCBaaXN3aWxlciA8bWFyY2VsQHppc3dpbGVyLmNvbT4KK0RhdGU6CVdlZCBTZXAgOSAyMToxMToxOCAyMDA5ICswMjAwCisKKyAgICBtdWFzMzAwMTogcmVtb3ZlIEJSRyBjbG9jayBub2RlIGZpeHVwIHRvIHVzZSBjb21tb24gbXBjODI2MCBjb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWFyY2VsIFppc3dpbGVyIDxtYXJjZWwuemlzd2lsZXJAbm9zZXIuY29tPgorICAgIEFja2VkLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKworY29tbWl0IGM3YzFkYmJmNzE1OWIzOGYzMzAyYjg0NWRkOTdkMjhhNTQzZmY5MWIKK0F1dGhvcjogTWFyY2VsIFppc3dpbGVyIDxtYXJjZWxAemlzd2lsZXIuY29tPgorRGF0ZToJV2VkIFNlcCA5IDIxOjA5OjAwIDIwMDkgKzAyMDAKKworICAgIHI3NzgwbXA6IGZpeCB0eXBvIGluIEV0aGVybmV0IGNoaXAgbW9kZWwgbnVtYmVyIGNvbW1lbnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgWmlzd2lsZXIgPG1hcmNlbC56aXN3aWxlckBub3Nlci5jb20+CisKK2NvbW1pdCA0NWY4OWYzNDBiNGQ4YWEwOTlmZDAyMjI2MGRjYjEzY2YzMzIxYjYxCitBdXRob3I6IE1hcmNlbCBaaXN3aWxlciA8bWFyY2VsQHppc3dpbGVyLmNvbT4KK0RhdGU6CVdlZCBTZXAgOSAyMToyMjowOCAyMDA5ICswMjAwCisKKyAgICBlcDgyNDg6IGFkZCBzdXBwb3J0IGZvciBkZXZpY2UgdHJlZSBhbmQgc2Vjb25kYXJ5IEV0aGVybmV0IGludGVyZmFjZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hcmNlbCBaaXN3aWxlciA8bWFyY2VsLnppc3dpbGVyQG5vc2VyLmNvbT4KKworY29tbWl0IGFhMGM3YTg2Y2QyMzZiODE5MzIxOGEwOWUxMzY1Yzg5OTFiYjVkZGMKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJTW9uIFNlcCA3IDE1OjA1OjAyIDIwMDkgKzA1MzAKKworICAgIG1raW1hZ2U6IEFkZCBLaXJrd29vZCBCb290IEltYWdlIHN1cHBvcnQgKGt3YmltYWdlKQorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yICJrd2JpbWFnZSIgKEtpcmt3b29kIEJvb3QgSW1hZ2UpCisgICAgaW1hZ2UgdHlwZXMgdG8gdGhlIG1raW1hZ2UgY29kZS4KKworICAgIEZvciBkZXRhaWxzIHJlZmVyIHRvIGRvY3MvUkVBRE1FLmt3YmltYWdlCisKKyAgICBUaGlzIHBhdGNoIGlzIHRlc3RlZCB3aXRoIFNoZWV2YXBsdWcgYm9hcmQKKworICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKyAgICBBY2tlZC1ieTogUm9uIExlZSA8cm9uQGRlYmlhbi5vcmc+CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCA3ODA5ZmJiOWFhZmQ2MGUzYTZlNWRmZTQ1NmFlMzBiOTNhYzYxMzM4CitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CU1vbiBTZXAgNyAxNDo1OTowOSAyMDA5ICswNTMwCisKKyAgICBLaXJrd29vZDogU2hlZXZhcGx1ZzogQWRkIGt3aW1hZ2UgY29uZmlndXJhdGlvbiBmaWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCBiMDI5ZGRkYzlhZTk1OGIxY2NmODc1NjQ5ZjUyYzZkYjM5NmE3NDJkCitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CU1vbiBTZXAgNyAxNDo1OTowOCAyMDA5ICswNTMwCisKKyAgICBta2ltYWdlOiBNYWtlIHRhYmxlX2VudHJ5IGNvZGUgZ2xvYmFsCisKKyAgICAtIG1ha2UgZ2V0X3RhYmxlX2VudHJ5X2lkKCkgZ2xvYmFsCisgICAgLSBtYWtlIGdldF90YWJsZV9lbnRyeV9uYW1lKCkgZ2xvYmFsCisgICAgLSBtb3ZlIHN0cnVjdCB0YWJsZV9lbnRyeSB0byBpbWFnZS5oCisKKyAgICBDdXJyZW50bHkgdGhpcyBjb2RlIGlzIHVzZWQgYnkgaW1hZ2UuYyBvbmx5LgorCisgICAgVGhpcyBwYXRjaCBtYWtlcyB0aGlzIEFQSSBnbG9iYWwgc28gaXQgY2FuIGJlIHVzZWQgYnkgb3RoZXIgcGFydHMgb2YKKyAgICBjb2RlLCB0b28uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgQWNrZWQtYnk6IFJvbiBMZWUgPHJvbi5kZWJpYW4ub3JnPgorCisgICAgRWRpdCBjb21tZW50cyBhbmQgY29tbWl0IG1lc3NhZ2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgZjY2NmRlYThhYjIxNWM3NmMzYzJhMDc3YWQyOTlmOTBkZDFhY2U3YworQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglNb24gU2VwIDcgMTQ6NTk6MDcgMjAwOSArMDUzMAorCisgICAgbWtpbWFnZTogTWFrZSBnZW5pbWdfcHJpbnRfc2l6ZSgpIGdsb2JhbAorCisgICAgQ3VycmVudGx5IGl0IGlzIHVzZWQgYnkgaW1hZ2UuYyBvbmx5LCBidXQgdGhlIHRoZSBmdW5jdGlvbiBjYW4gYmUKKyAgICB1c2VkIHRvIHN1cHBvcnQgYWRkaXRpb25hbCBta2ltYWdlIHR5cGVzIGxpa2UgZm9yIGV4YW1wbGUga3diaW1hZ2UsCisgICAgc28gbWFrZSB0aGlzIGZ1bmN0aW9uIGdsb2JhbGx5IHZpc2libGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKKyAgICBFZGl0ZWQgY29tbWl0IG1lc3NhZ2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgMzdiODAxODg4Y2Y3M2IxOGY3OGMxMTA5MTQwZmY0NGUzZTM3OTE0ZgorQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglNb24gU2VwIDcgMTQ6NTk6MDYgMjAwOSArMDUzMAorCisgICAgbWtpbWFnZTogSW5jbHVkZSBtaXNzaW5nIGZpbGVzIGluIGJ1aWxkIGRlcGVuZGVuY3kgY2FsY3VsYXRpb25zCisKKyAgICBJbmNsdWRlIGRlZmF1bHRfaW1hZ2UubyBhbmQgZml0X2ltYWdlLm8gaW50byB0aGUgYnVpbGQgZGVwZW5kZW5jeQorICAgIGNhbGN1bGF0aW9ucy4gVGhpcyBtYWtlcyBzdXJlIHRoZXkgZ2V0IHJlYnVpbHQgaWYgYW55IG9mIHRoZSBoZWFkZXJzCisgICAgdGhleSBpbmNsdWRlIGFyZSBtb2RpZmllZAorCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorICAgIEFja2VkLWJ5OiBSb24gTGVlIDxyb25AZGViaWFuLm9yZz4KKworICAgIEVkaXRlZCBjb21taXQgbWVzc2FnZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAzYTIwMDNmNjFlZTc5YWM1M2QyMGMyNGNjODk2YzI2MzdhMmRmYzI0CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglXZWQgQXVnIDE5IDExOjQyOjU2IDIwMDkgKzAyMDAKKworICAgIHRvb2xzL21raW1hZ2U6IGZpeCBjb21waWxlciB3YXJuaW5ncywgdXNlICJjb25zdCIKKworICAgIFRoaXMgZml4ZXMgc29tZSBjb21waWxlciB3YXJuaW5nczoKKyAgICB0b29scy9kZWZhdWx0X2ltYWdlLmM6MTQxOiB3YXJuaW5nOiBpbml0aWFsaXphdGlvbiBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKKyAgICB0b29scy9maXRfaW1hZ2UuYzoyMDI6IHdhcm5pbmc6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQorICAgIGFuZCBjaGFuZ2VzIHRvIGNvZGUgdG8gdXNlICJjb25zdCIgYXR0cmlidXRlcyBpbiBhIGZldyBwbGFjZXMgd2hlcmUKKyAgICBpdCdzIGFwcHJvcHJpYXRlLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDg5YTRkNmIxMmZkNjM5NDg5OGI4YTQ1NGNiYWJlYWYxY2Q1OWJhZTUKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJV2VkIEF1ZyAxOSAxNzozNjo0NiAyMDA5ICswNTMwCisKKyAgICB0b29sczogbWtpbWFnZTogc3BsaXQgY29kZSBpbnRvIGNvcmUsIGRlZmF1bHQgYW5kIEZJVCBpbWFnZSBzcGVjaWZpYworCisgICAgVGhpcyBpcyBhIGZpcnN0IHN0ZXAgdG93YXJkcyByZW9yZ2FuaXppbmcgdGhlIG1raW1hZ2UgY29kZSB0byBtYWtlIGl0CisgICAgZWFzaWVyIHRvIGFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIGltYWdlcyB0eXBlcy4gQ3VycmVudCBta2ltYWdlCisgICAgY29kZSBpcyBzcGVjaWZpYyB0byBnZW5lcmF0aW5nIHVJbWFnZSBhbmQgRklUIGltYWdlIGZpbGVzLCBidXQgdGhlCisgICAgc2FtZSBmcmFtZXdvcmsgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgb3RoZXIgaW1hZ2UgdHlwZXMgbGlrZQorICAgIEtpcmt3b29kIGJvb3QgaW1hZ2VzIChrd2JpbWFnZS1UQkQpLiBGb3IgdGhpcywgdGhlIG1raW1hZ2UgY29kZSBnZXRzCisgICAgcmV3b3JrZWQ6CisKKyAgICBIZXJlIGlzIHRoZSBicmllZiBwbGFuIGZvciB0aGUgc2FtZTotCisgICAgYSkgU3BsaXQgbWtpbWFnZSBjb2RlIGludG8gY29yZSBhbmQgaW1hZ2Ugc3BlY2lmaWMgc3VwcG9ydAorICAgIGIpIEltcGxlbWVudCBjYWxsYmFjayBmdW5jdGlvbnMgZm9yIGltYWdlIHNwZWNpZmljIGNvZGUKKyAgICBjKSBNb3ZlIGltYWdlIHR5cGUgc3BlY2lmaWMgY29kZSB0byByZXNwZWN0aXZlIEMgZmlsZXMKKwkgICBDdXJyZW50bHkgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBmaWxlIGdlbmVyYXRpb24vbGlzdAorCSAgIHN1cHBvcnRlZCAoaS5lIHVJbWFnZSwgRklUKSwgdGhlIGNvZGUgaXMgYWJzdHJhY3RlZCBmcm9tCisJICAgbWtpbWFnZS5jLy5oIGFuZCBwdXQgaW4gZGVmYXVsdF9pbWFnZS5jIGFuZCBmaXRfaW1hZ2UuYzsKKwkgICBhbGwgY29kZSBpbiB0aGVzZSBmaWxlIGlzIHN0YXRpYyBleGNlcHQgaW5pdCBmdW5jdGlvbiBjYWxsCisgICAgZCkgbWtpbWFnZV9yZWdpc3RlciBBUEkgaXMgYWRkZWQgdG8gYWRkIG5ldyBpbWFnZSB0eXBlIHN1cHBvcnQKKyAgICBBbGwgYWJvdmUgaXMgYWRkcmVzc2VkIGluIHRoaXMgcGF0Y2gKKyAgICBlKSBBZGQga3diaW1hZ2UgdHlwZSBzdXBwb3J0IHRvIHRoaXMgbmV3IGZyYW1ld29yayAoVEJEKQorICAgIFRoaXMgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiBhIGZvbGxvd2luZyBjb21taXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgRWRpdCBjb21taXQgbWVzc2FnZSwgZml4IGNvZGluZyBzdHlsZSBhbmQgdHlwb3MuCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDQ0OTYwOWY1YjExY2NlNmJlYmE3MzM4YmM0Y2UwZjMzNDUzNzZhMGIKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJU3VuIEF1ZyAxNiAwNToyODoxOSAyMDA5ICswNTMwCisKKyAgICB0b29sczogbWtpbWFnZTogRml4ZWQgYnVpbGQgd2FybmluZ3MKKworICAgIHVuaW5pdGlhbGl6ZWQgcmV0dmFsIHZhcmlhYmxlIHdhcm5pbmcgZml4ZWQKKyAgICBjcmMzMiBBUElzIG1vdmVkIHRvIGNyYy5oIChuZXdseSBhZGRlZCkgYW5kIGJ1aWxkIHdhcm5pbmdzIGZpeGVkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDE0ODIxZDdkZWE4ZDcyMDlmMjQ1N2MzMTc5ZmE2NTUxYzA4OGJhNzEKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJTW9uIEF1ZyAxMCAyMDo0NDowNiAyMDA5ICswNTMwCisKKyAgICB0b29sczogbWtpbWFnZTogTWFrZWZpbGUgc29ydGVkCisKKyAgICBUaGUgdG9vbHMvTWFrZWZpbGUgaXMgc29ydGVkIGZvciBhbGwgZW50cmllcywKKworICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKworY29tbWl0IGY3NjQ0YzBiZjM1MDI1MjkwMzE2NTdhODY5ZmEyMTNjZGE1YTI0MjQKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJTW9uIEF1ZyAxMCAxODo0OTozNyAyMDA5ICswNTMwCisKKyAgICB0b29sczogbWtpbWFnZSA6IGJ1Z2ZpeCByZXR1cm5zIGNvcnJlY3QgdmFsdWUgZm9yIGxpc3QgY29tbWFuZAorCisgICAgTGlzdCBjb21tYW5kIGFsd2F5cyByZXR1cm4gIkVYSVRfU1VDQ0VTUyIgZXZlbiBpbiBjYXNlIG9mCisgICAgZmFpbHVyZSBieSBhbnkgbWVhbnMuCisKKyAgICBUaGlzIHBhdGNoIHJldHVybiAwIGlmIGxpc3QgY29tbWFuZCBpcyBzdWNlc3NmdWwsCisgICAgcmV0dXJucyBuZWdhdGl2ZSB2YWx1ZSByZXBvcnRlZCBieSBjaGVja19oZWFkZXIgZnVuY3Rpb25zCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDUxMWMwMmY2MTFjYjVhZmExYjhjYTU5ODBjYWFhYWJhYTBkZTM3N2YKK0F1dGhvcjogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorRGF0ZToJVHVlIFNlcCA4IDE1OjA3OjEyIDIwMDkgKzA4MDAKKworICAgIG1rY29uZmlnOiBwYXNzIHRoZSBib2FyZCBuYW1lIHRvIGJvYXJkIGNvbmZpZyBmaWxlCisKKyAgICBUaGVuIHdlIGNhbiBoYW5kbGUgZGlmZmVyZW50IGNvbmZpZyB0YXJnZXRzIGluIHRoZSBib2FyZCBmaWxlLCB3aGljaAorICAgIHNpbXBsaWZpZXMgdGhlIHRvcCBsZXZlbCBNYWtlZmlsZSBmb3IgYm9hcmRzIHRoYXQgaGF2ZSBtdWx0aXBsZQorICAgIGNvbmZpZyB0YXJnZXRzLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWluZ2thaSBIdSA8TWluZ2thaS5odUBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZDY0MGFjNThkYmY2MWM3Njk4NjRiM2ZlNzYzMTQzMDZiNzMzNmNmMQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJTW9uIFNlcCA3IDIzOjUyOjMxIDIwMDkgKzAyMDAKKworICAgIFJlbW92ZSAiYXRtZWxfZGZfcG93MiIgYmluYXJ5IHdpdGggIm1ha2UgY2xlYW4iCisKKyAgICBDb21taXQgNjVmNmYwN2IgYWRkZWQgc3VwcG9ydCBmb3IgdGhlIGF0bWVsX2RmX3BvdzIgc3RhbmRhbG9uZSBwcm9ncmFtCisgICAgYnV0IG1pc3NlZCB0byBhZGQgYSBydWxlIHRvIHJlbW92ZSBpdCB0byB0aGUgImNsZWFuIiBtYWtlIHRhcmdldC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAwYjM0ZGJiZDBiNjk2OWM5OGM0NDMxM2IyOTE4MzZkOTA1NmVjNDBhCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBTZXAgNyAxMDo1MjoyNCAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5nIGluIDR4eCBtaWlwaHkuYworCisgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9sbG93aW5nIGNvbXBpbGF0aW9uIHdhcm5pbmc6CisKKyAgICBtaWlwaHkuYzogSW4gZnVuY3Rpb24gJ2VtYWM0eHhfbWlpcGh5X3JlYWQnOgorICAgIG1paXBoeS5jOjM1Mzogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsKKyAgICBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDgyMzc5YjU1NjQ4MTllNjI2MjRhM2M1OGZiYzQzZjFhZmVkZjRmNWYKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC5ldT4KK0RhdGU6CU1vbiBTZXAgNyAxNzowMDo0MSAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IEFkZCBDT05GSUdfUENJXzR4eF9QVE1fT1ZFUldSSVRFIHRvIHNvbWUgZXNkIDR4eCBib2FyZHMKKworICAgIFNpZ25lZC1vZmYtYnk6IE1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QuZXU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgOTliY2YxNGQ1NTNmMzk5MTQ4YTc2NjBiOThmN2FjYmQ4Y2M3MmQ4MAorQXV0aG9yOiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorRGF0ZToJTW9uIFNlcCA3IDE3OjAwOjQwIDIwMDkgKzAyMDAKKworICAgIHBwYzR4eDogQWxsb3cgb3ZlcndyaXRpbmcgcGNpIHRhcmdldCByZWdpc3RlcnMgZm9yIGFsbCA0eHggYm9hcmRzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIENPTkZJR19QQ0lfNHh4X1BUTV9PVkVSV1JJVEUgb3B0aW9uIGFuZCByZXBsYWNlcworICAgIHRoZSB1Z2x5ICdpZiBkZWZpbmVkKEJPQVJEMSkgfHwgLi4uIHx8IGRlZmluZWQoQk9BUkRuKScgY29uc3RydWN0CisgICAgaW4gNHh4IHBjaSBjb2RlLgorCisgICAgV2hlbiBDT05GSUdfUENJXzR4eF9QVE1fT1ZFUldSSVRFIGlzIGRlZmluZWQgdGhlIGRlZmF1bHQgcHRtIHJlZ2lzdGVyCisgICAgc2V0dXAgY2FuIGJlIG92ZXJ3cml0dGVuIHRocm91Z2ggZW52aXJvbm1lbnQgdmFyaWFibGVzIHB0bTFsYSwgcHRtMW1zLAorICAgIHB0bTJsYSBhbmQgcHRtMm1zIHRvIGRvIGFwcGxpY2F0aW9uIHNwZWNpZmljIHBjaSB0YXJnZXQgQkFSIGNvbmZpZ3VyYXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGNmYWIyYWUzMjJhOTlhZDU1MzY0ZDA1NDA1NGYxMzhmNTExMzBjMmEKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC5ldT4KK0RhdGU6CUZyaSBTZXAgNCAxMDozNzowNCAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IEZpeCBQTUM0MDVERSBzdXBwb3J0CisKKyAgICBUaGlzIHBhdGNoIGZpeGVzIFBNQzQwNURFIHN1cHBvcnQuIFBhdGNoIDg1ZDZiZjBiIGZpeGVkIG91dC1vZi10cmVlCisgICAgYnVpbGRpbmcgZm9yIHRoaXMgYm9hcmQgYnV0IHRoZSBsb2FkcGNpIG9iamVjdCBkaWQgbm90IGdldCBsaW5rZWQKKyAgICBhZnRlciB0aGF0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC5ldT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBjODM1NWI5ZDlmNzc4YmQxMmVlMTljOGYzNGQ4OGUxMzc1OGE0ZWZkCitBdXRob3I6IERldGxldiBadW5kZWwgPGR6dUBkZW54LmRlPgorRGF0ZToJV2VkIFNlcCAyIDE3OjI0OjU3IDIwMDkgKzAyMDAKKworICAgIGFtY2MtY29tbW9uLmg6IFVzZSBmaWxlbmFtZXMgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHVwZGF0ZSBwcm9jZWR1cmUuCisKKyAgICBVc2luZyBhIHNlcGFyYXRlICJ1LWJvb3QiIGVudmlyb25tZW50IHZhcmlhYmxlIGFsbG93cyB0byBlYXNpbHkKKyAgICBzcGVjaWZ5IGRpZmZlcmVudCBmaWxlbmFtZXMgZm9yIHRoZSB1cGRhdGUgcHJvY2VkdXJlLiAgVGhpcyBpcyBhbHNvIGluCisgICAgbGluZSB3aXRoIG1hbnkgb3RoZXIgYm9hcmQgY29uZmlndXJhdGlvbnMgZGVmaW5pbmcgYW4gInVwZGF0ZSIgc2NyaXB0LgorCisgICAgU2lnbmVkLW9mZi1ieTogRGV0bGV2IFp1bmRlbCA8ZHp1QGRlbnguZGU+CisgICAgQWNrZWQtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgNmM5N2EyMGQwYjJmNTZjYjRmMzc0NWQ5NGIxZjk2OTg2ZThjY2VkNQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJV2VkIFNlcCA5IDExOjQwOjQxIDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBJbnRyb2R1Y2UgUkVTRVRfVkVDVE9SX0FERFJFU1MgdG8gaGFuZGxlIG5vbi1zdGFuZGFyZCBsaW5rIGFkZHJlc3MKKworICAgIFNvbWUgYm9hcmQgcG9ydHMgcGxhY2UgVEVYVF9CQVNFIGF0IGEgbG9jYXRpb24gdGhhdCB3b3VsZCBjYXVzZSB0aGUKKyAgICBSRVNFVF9WRUNUT1JfQUREUkVTUyBub3QgdG8gYmUgYXQgMHhmZmZmZmZmYyB3aGVuIHdlIGxpbmsuCUJ5IGRlZmF1bHQKKyAgICB3ZSBhc3N1bWUgUkVTRVRfVkVDVE9SX0FERFJFU1Mgd2lsbCBiZSAweGZmZmZmZmZjIGlmIHRoZSBib2FyZCBkb2Vzbid0CisgICAgZXhwbGljaXRseSBzZXQgaXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorICAgIEFja2VkLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgYzM0ODMyMmFjN2Y3NjMxODI5NWNmMjVmZmFiMmNjMmE0OTAwYTIzNAorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVHVlIFNlcCA4IDEzOjQ2OjQ2IDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBDbGVhbiB1cCBkb19yZXNldAorCisgICAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIGRvIGEgcnVuIHRpbWUgY2hlY2sgZm9yIGU1MDAgdjEgYmFzZWQgY29yZXMgdG8KKyAgICBkZXRlcm1pbmUgaWYgd2UgaGF2ZSB0aGUgR1VUcyBSU1RDUiBmYWNpbGl0eS4gIE9ubHkgdGhlIGZpcnN0IGdlbmVyYXRpb24KKyAgICBvZiBQUTMgcGFydHMgKE1QQzg1NDAvNDEvNTUvNjApIGRvIG5vdCBoYXZlIGl0LiAgU28gY2hlY2tpbmcgdG8gc2VlIGlmCisgICAgd2UgYXJlIGU1MDAgdjIgd291bGQgbWlzcyBmdXR1cmUgcGFydHMgKGxpa2UgZTUwMG1jKS4KKworICAgIEp1c3QgY2hhbmdlIHRoaXMgdG8gYmUgaWZkZWYnZCBiYXNlZCBvbiBDT05GSUdfTVBDODV7NDAsNDEsNTUsNjB9LgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDIxMTcwYzgwYTgzZjFlNjBjZTdmNmY4MzAwNWUwNmE1YzJkMTVhOGUKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgU2VwIDMgMTk6NDI6NDAgMjAwOSArMDUzMAorCisgICAgcHBjLzg1eHgvODZ4eDogQnVnIGZpeDogY2FsbCB0byBwdXRzIGluIHByb2JlY3B1KCkgbW92ZWQgdG8gY2hlY2tjcHUoKS4KKworICAgIFdoaWxlIGluIHByb2JlY3B1KCkgVUFSVCBpcyBzdGlsbCBub3QgaW5pdGlhbGl6ZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZjgwMjdmNmI0Nzg5ZTMzNDBmMTA2MjBkOGZiNjExM2I5NWI4OGQ5YworQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBTZXAgMiAxOTo0MDozNiAyMDA5ICswNTMwCisKKyAgICBwcGMvODV4eC84Nnh4OiBEZXZpY2UgdHJlZSBmaXh1cCBmb3IgbnVtYmVyIG9mIGNvcmVzCisKKyAgICBGaXhpbmcgdGhlIG51bWJlciBvZiBjb3JlcyBpbiB0aGUgZGV2aWNlIHRyZWUgYmFzZWQgb24gdGhlIGFjdHVhbCBudW1iZXIgb2YKKyAgICBjb3JlcyBvbiB0aGUgc3lzdGVtLiAgV2l0aCB0aGlzIHNhbWUgZGV2aWNlIHRyZWUgaW1hZ2UgY2FuIGJlIHVzZWQgZm9yIGR1YWwKKyAgICBjb3JlIGFuZCBzaW5nbGUgY29yZSBtZW1iZXJzIG9mIG90aGVyd2lzZSBleGFjdGx5IHNhbWUgU09DLgorCisgICAgRm9yIGV4YW1wbGU6CisgICAgKiBQMjAyMFJEQiBhbmQgUDIwMTBSREIKKyAgICAqIFAxMDIwUkRCIGFuZCBQMTAxMVJEQgorICAgICogTVBDODY0MUQgYW5kIE1QQzg2NDEKKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA1ODQ0MmRjMDFlNDdjYzhjZTQyYWY0ZjI5NDg2YTM0Y2FkNjBiOWQyCitBdXRob3I6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIFNlcCAyIDEzOjM1OjIxIDIwMDkgKzA1MzAKKworICAgIHBwYy84NXh4LDg2eHg6IEhhbmRsaW5nIFVua25vd24gU09DIHZlcnNpb24KKworICAgIEluY2FzZSB0aGUgc3lzdGVtIGlzIGRldGVjdGVkIHdpdGggVW5rbm93biBTVlIsIGxldCB0aGUgc3lzdGVtIGJvb3QKKyAgICB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBhbmQgYSBwcm9wZXIgbWVzc2FnZS4KKworICAgIE5vdyB3aXRoIGR5bmFtaWMgZGV0ZWN0aW9uIG9mIFNPQyBwcm9wZXJ0aWVzIGZyb20gU1ZSLCB0aGlzIGlzIG5lY2Vzc2FyeQorICAgIHRvIHByZXZlbnQgYSBjcmFzaC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzZTdiNmMxZjJkYjVlYzMxZjllN2RiYzNlMGNiY2E2MDIxNjdhNDZhCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgU2VwIDIgMDk6MDM6MDggMjAwOSAtMDUwMAorCisgICAgcHBjLzh4eHg6IFJlZmFjdG9yIGNvZGUgdG8gZGV0ZXJtaW5lIGlmIFBDSSBpcyBlbmFibGVkICYgYWdlbnQvaG9zdAorCisgICAgUmVmYWN0b3IgdGhlIGNvZGUgaW50byBhIHNpbXBsZSBiaXRtYXNrIGxvb2t1cCB0YWJsZSB0aGF0IGRldGVybWluZXMgaWYKKyAgICBhIGdpdmVuIFBDSSBjb250cm9sbGVyIGlzIGVuYWJsZWQgYW5kIGlmIGl0cyBpbiBob3N0L3Jvb3QtY29tcGxleCBvcgorICAgIGFnZW50L2VuZC1wb2ludCBtb2RlLgorCisgICAgRWFjaCBwcm9jZXNzb3IgaW4gdGhlIFBRMy9NUEM4Nnh4IGZhbWlseSBzcGVjaWZpZWQgZGlmZmVyZW50IGVuY29kaW5ncworICAgIGZvciB0aGUgY2ZnX2hvc3RfYWd0W10gYW5kIGNmZ19JT19wb3J0c1tdIGJvb3Qgc3RyYXBwaW5nIHNpZ25hbHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNTA1MmE3NzFjZjE3MjJjMzdjNzMyZjNjMzQwNzc1YjU1ZmJlM2EyMgorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJV2VkIFNlcCAyIDA5OjAwOjUwIDIwMDkgLTA1MDAKKworICAgIHBwYy84NXh4OiBDbGVhbnVwIG1ha2VmaWxlIGFuZCByZWxhdGVkIG9wdGlvbmFsIGZpbGVzCisKKyAgICBDbGVhbmVkIHVwIGNwdS9tcGM4NXh4L01ha2VmaWxlIHRvIHVzZSBDT05GSUdfKiBmb3IgdGhvc2Ugb2J2aW91cyBjYXNlcworICAgIHdlIGhhdmUgbGlrZSBQQ0ksIENQTTIsIFFFLiAgQWxzbyByZXdvcmtlZCBpdCB0byB1c2Ugb25lIGxpbmUgcGVyIGZpbGUKKyAgICBmb3IgZXZlcnl0aGluZyBhbmQgc29ydGVkIGluIGFscGhhYmV0aWNhbCBvcmRlci4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3NGM1ZGZkODFmOTRhMmExZjBkNjk5MGQxN2M0OTFkNzE4ZThiOWVhCitBdXRob3I6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CitEYXRlOglGcmkgU2VwIDQgMTc6MDU6MjQgMjAwOSAtMDUwMAorCisgICAgZnNsOiBhZGQgcmVnaXN0ZXIgcmVhZC1iYWNrIHRvIHNldF9sYXcoKQorCisgICAgQWZ0ZXIgcHJvZ3JhbW1pbmcgYSBuZXcgTEFXLCB3ZSBzaG91bGQgcmVhZC1iYWNrIHRoZSBMQVdBUiByZWdpc3RlciBzbyB0aGF0CisgICAgd2Ugc3luYyB0aGUgd3JpdGVzLiAgT3RoZXJ3aXNlLCBjb2RlIHRoYXQgYXR0ZW1wdHMgdG8gdXNlIHRoZSBuZXcgTEFXLW1hcHBlZAorICAgIG1lbW9yeSBtaWdodCBmYWlsIHJpZ2h0IGF3YXkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBjNzI1OTA4NjgxNjQwNWZlMGViNzdmNGRjMjJlNzY5ODBhMDQwY2VmCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDMgMDg6NDE6MzEgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEZpeCBidWcgaW4gc2V0dXBfbXAgY29kZQorCisgICAgSXRzIHBvc3NpYmxlIHRoYXQgd2UgdHJ5IGFuZCBjb3B5IHRoZSBib290IHBhZ2UgY29kZSBvdXQgb2YgZmxhc2ggaW50byBhCisgICAgRERSIGxvY2F0aW9uIHRoYXQgZG9lc24ndCBoYXZlIGEgVExCIGNvdmVyIGl0LiAgRm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUKKyAgICAzRyBvZiBERFIgd2UgdHlwaWNhbGx5IG9ubHkgbWFwIHRoZSBmaXJzdCAyRy4gIEluIHRoZSBjYXNlcyBvZiA0RysgdGhpcworICAgIHdhc24ndCBhbiBpc3N1ZSBzaW5jZSB0aGUgcmVzZXQgcGFnZSBUTEIgbWFwcGluZyBjb3ZlcmVkIHRoZSBsYXN0IHBhZ2UKKyAgICBvZiBtZW1vcnkgd2hpY2ggd2Ugd2FudGVkIHRvIGNvcHkgdG8uCisKKyAgICBXZSBub3cgY2hhbmdlIHRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSByZXNldCBwYWdlIFRMQiB0byBtYXAgdG8gdGhlCisgICAgdHJ1ZSBwaHlzaWNhbCBsb2NhdGlvbiBvZiB0aGUgYm9vdCBwYWdlIGNvZGUsIGNvcHkgYW5kIHRoYW4gc2V0IHRoZQorICAgIFRMQiBiYWNrIHRvIGl0cyAxOjEgbWFwcGluZyBvZiB0aGUgcmVzZXQgcGFnZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBjMjI4N2FmMTU1MmJkNjMwOTU2NTY4ZDM5NTdjMzcwZjg2ODAxYjdkCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgU2VwIDMgMDg6MjA6MjQgMjAwOSAtMDUwMAorCisgICAgcHBjLzg1eHg6IEFkZCBhIHNpbXBsZSBmdW5jdGlvbiB0byBzZWFyY2ggdGhlIFRMQgorCisgICAgQWxsb3cgdXMgdG8gc2VhcmNoIHRoZSBUTEIgYXJyYXkgYmFzZWQgb24gYW4gYWRkcmVzcy4gIFRoaXMgaXMgdXNlZnVsCisgICAgaWYgd2Ugd2FudCB0byBjaGFuZ2UgYW4gZW50cnkgYnV0IGRvbnQga25vdyB3aGVyZSBpdCBoYXBwZW5zIHRvIGJlCisgICAgbG9jYXRlZC4KKworICAgIEZvciBleGFtcGxlLCB0aGUgYm9vdCBwYWdlIG1hcHBpbmcgd2UgdXNlIG9uIE1QIG9yIHRoZSBmbGFzaCBUTEIgdGhhdAorICAgIHdlIGNoYW5nZSB0aGUgV0lNR0Ugc2V0dGluZ3MgZm9yIGFmdGVyIHdlJ3ZlIHJlbG9jYXRlZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAyNmY0Y2RiYTZiNTFkZWFiNGVjOTlkNjBiZTM4MTI0NDA2OGVmOTUwCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglGcmkgQXVnIDE0IDEzOjM3OjU0IDIwMDkgLTA1MDAKKworICAgIDg1eHg6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIElWT1JzIHRvIGZpeGVkIG9mZnNldCBkZWZhdWx0cworCisgICAgSW4gZnV0dXJlIEJvb2stRSBpbXBsZW1lbnRhdGlvbnMgSVZPUnMgd2lsbCBtb3N0IGxpa2VseSBnbyBhd2F5IGFuZCBiZQorICAgIHJlcGxhY2VkIHdpdGggZml4ZWQgb2Zmc2V0cy4gIFRoZSBJVlBSIHdpbGwgY29udGludWUgdG8gZXhpc3QgdG8gYWxsb3cKKyAgICBmb3IgcmVsb2NhdGlvbiBvZiB0aGUgaW50ZXJydXB0IHZlY3RvcnMuCisKKyAgICBUaGlzIGNvZGUgYWRkcyBzdXBwb3J0IHRvIHNldHVwIHRoZSBJVk9ScyBhcyB0aGVpciBmaXhlZCBvZmZzZXQgdmFsdWVzCisgICAgcGVyIHRoZSBJU0EgMi4wNiBzcGVjIHdoZW4gd2UgdHJhbnNpdGlvbiBmcm9tIHUtYm9vdCB0byBhbm90aGVyIE9TCisgICAgZWl0aGVyIHZpYSAnYm9vdG0nIG9yIGEgY3B1IHJlbGVhc2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZGExY2Q5NTVkZmVjMzViMGUxNTM4MWFkMWVlMjQ4ZmExOTRlZWQ4MgorQXV0aG9yOiBEaXBlbiBEdWRoYXQgPGRpcGVuLmR1ZGhhdEBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIFNlcCAyIDExOjI1OjA4IDIwMDkgKzA1MzAKKworICAgIHBwYy84NXh4OiBGaXggdXAgZVNESEMgY29udHJvbGxlciBjbG9jayBmcmVxdWVuY3kgaW4gdGhlIGRldmljZSB0cmVlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXBlbiBEdWRoYXQgPGRpcGVuLmR1ZGhhdEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAyYWJiZDMxZGE2ZDkwMDQ3M2VkNjc4Y2E1MDc4OWVlNThiYzliYjAwCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUdWUgU2VwIDEgMjI6MDE6NTQgMjAwOSAtMDUwMAorCisgICAgcHBjLzh4eHg6IFJlbW92ZSBkZHJfcGRfY250bCByZWdpc3RlciBzaW5jZSBpdCBkb2Vzbid0IGV4aXN0CisKKyAgICBUaGUgZGRyX3BkX2NudGwgaXNuJ3QgZGVmaW5lZCBpbiBhbnkgcmVmZXJlbmNlIG1hbnVhbCBhbmQgdGh1cyB3ZSB3aWwKKyAgICByZW1vdmUgZXNwZWNpYWxseSBzaW5jZSB3ZSBzZXQgaXQgdG8gMCwgd2hpY2ggd291bGQgbW9zdCBsaWtlbHkgYmUgaXRzCisgICAgUE9SIHZhbHVlLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDEzZDQ2YWIyNTcyYzAyODNkMzRmOTNiZWJjOWE0MTI5NWVmODRjYTUKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVR1ZSBTZXAgMSAyMTowNzowOCAyMDA5IC0wNTAwCisKKyAgICBwcGMvOHh4eDogcmVsb2NhdGUgY3B1IHBvaW50ZXIgaW4gZ2xvYmFsIGRhdGEKKworICAgIE5vdyB0aGF0IHdlIGhhdmUgYSBwb2ludGVyIHRvIHRoZSBjcHUgc3RydWN0IHdlIG5lZWQgdG8gcmVsb2NhdGUgaXQgb25jZQorICAgIHdlIGdldCBpbnRvIHJhbS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5YzY3MWU3MDYyNzIwMDc0Zjg5NGVlMzI5ZWFhNjk5NWIwODIzNzI3CitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJV2VkIFNlcCAyIDAyOjE3OjI0IDIwMDkgKzA0MDAKKworICAgIGZzbDogc3lzX2VlcHJvbTogRml4ICdtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyB3YXJuaW5nCisKKyAgICBUaGUgd2FybmluZyBpcyBib2d1cywgc28gc2lsZW5jZSBpdCBieSBpbml0aWFsaXppbmcgdGhlICdyZXQnIHZhcmlhYmxlLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgQWNrZWQtYnk6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDZiOWVhMDhjNTAxMGVhYjVhZDEwNTZiYzliZjAzM2FmYjY3MmQ5Y2MKK0F1dGhvcjogRGlwZW4gRHVkaGF0IDxkaXBlbi5kdWRoYXRAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVR1ZSBTZXAgMSAxNzoyNzowMCAyMDA5ICswNTMwCisKKyAgICBwcGMvODV4eDogVXNlIENPTkZJR19GU0xfRVNESEMgdG8gZW5hYmxlIHNkaGMgY2xrCisKKyAgICBFbmFibGUgZVNESEMgQ2xvY2sgYmFzZWQgb24gZ2VuZXJpYyBDT05GSUdfRlNMX0VTREhDIGRlZmluZSBpbnN0ZWFkIG9mIGEKKyAgICBwbGF0Zm9ybSBkZWZpbmUuICBUaGlzIHdpbGwgZW5hYmxlIGFsbCB0aGUgODV4eCBwbGF0Zm9ybXMgdG8gdXNlIHNkaGNfY2xrCisgICAgYmFzZWQgb24gQ09ORklHX0ZTTF9FU0RIQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdhbyBHdWFuaHVhIDxCMjI4MjZAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXBlbiBEdWRoYXQgPGRpcGVuLmR1ZGhhdEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5MjQ3N2E2MzFiYmRhMmRjMGRkMjE5NGUwM2Y5YmQzZGRiOGI5YzIxCitBdXRob3I6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CitEYXRlOglGcmkgU2VwIDQgMTY6Mjg6MzUgMjAwOSAtMDUwMAorCisgICAgZnNsX2kyYzogaW5jcmVhc2UgSTJDIHRpbWVvdXQgdmFsdWVzIGFuZCBtYWtlIHRoZW0gY29uZmlndXJhYmxlCisKKyAgICBUaGUgdmFsdWUgb2YgSTJDX1RJTUVPVVQgaW4gZnNsX2kyYy5jIGhhcyBzZXZlcmFsIHByb2JsZW1zLiAgRmlyc3QsIGl0IGlzCisgICAgZGVmaW5lZCBhcyBDT05GSUdfSFovNCwgYnV0IGl0IGlzIHVzZWQgYXMgYSBjb3VudCBvZiBtaWNyb3NlY29uZHMsIHNvIGl0IG1ha2VzCisgICAgbm8gc2Vuc2UgdG8gZGVyaXZlIGl0IGZyb20gYSBjbG9jayByYXRlLiAgU2Vjb25kLCB0aGUgY3VycmVudCB2YWx1ZSAoMjUwKSBpcworICAgIHRvbyBsb3cgZm9yIHNvbWUgYm9hcmRzLCBzbyBpdCBuZWVkcyB0byBiZSBpbmNyZWFzZWQuICBUaGlyZCwgdGhlIHRpbWVvdXQKKyAgICBuZWNlc3NhcnkgZm9yIG11bHRpcGxlLW1hc3RlciBhcmJpdHJhdGlvbiBpcyBsYXJnZXIgdGhhbiB0aGUgdGltZW91dCBmb3IgYmFzaWMKKyAgICByZWFkL3dyaXRlIG9wZXJhdGlvbnMsIHNvIHdlIHNob3VsZG4ndCBoYXZlIGEgc2luZ2xlIGNvbnN0YW50IGZvciBib3RoIHRpbWVvdXRzLgorICAgIEZpbmFsbHksIGl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgY291bGQgb3ZlcnJpZGUgdGhlc2UgdmFsdWVzIG9uIGEgcGVyLWJvYXJkCisgICAgYmFzaXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgorICAgIEFja2VkLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIFRlc3RlZC1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBBY2tlZC1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDVkYTcxZWZhMThlOGI0ZWFjOWFmZDhiZmExM2UzYzdlN2RkZGUxZDAKK0F1dGhvcjogRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBjb2xkaGF1cy5jb20+CitEYXRlOglUaHUgU2VwIDMgMDg6MDk6NDQgMjAwOSAtMDUwMAorCisgICAgUmVzZXQgaTJjIHNsYXZlIGRldmljZXMgZHVyaW5nIGluaXQgb24gbXBjNXh4eCBjcHVzCisKKyAgICBSZXNldCBhbnkgaTJjIGRldmljZXMgdGhhdCBtYXkgaGF2ZSBiZWVuIGludGVycnVwdGVkIGR1cmluZyBhIHN5c3RlbSByZXNldC4KKyAgICBOb3JtYWxseSB0aGlzIHdvdWxkIGJlIGFjY29tcGxpc2hlZCBieSBjbG9ja2luZyB0aGUgbGluZSB1bnRpbCBTQ0wgYW5kIFNEQQorICAgIGFyZSByZWxlYXNlZCBhbmQgdGhlbiBzZW5kaW5nIGEgc3RhcnQgY29uZHRpaW9uIChGcm9tIGFuIEF0bWVsIGRhdGFzaGVldCkuCisgICAgVGhlcmUgaXMgbm8gZGlyZWN0IGFjY2VzcyB0byB0aGUgaTJjIHBpbnMgc28gaW5zdGVhZCBjcmVhdGUgc3RhcnQgY29tbWFuZHMKKyAgICB0aHJvdWdoIHRoZSBpMmMgaW50ZXJmYWNlLglTZW5kIGEgc3RhcnQgY29tbWFuZCB0aGVuIGRlbGF5IGZvciB0aGUgU0RBIEhvbGQKKyAgICB0aW1lLCByZXBlYXQgdGhpcyBieSBkaXNhYmxpbmcvZW5hYmxpbmcgdGhlIGJ1cyBhIHRvdGFsIG9mIDkgdGltZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGRla2FyZXNlYXJjaC5jb20+CisKK2NvbW1pdCAyZDQwNzJjMDZiNTU0OTQ0NGU0MTQwMjMxYmJhM2Q0N2Q5YjBiYzUzCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVNhdCBBdWcgMTUgMTE6MjA6NTggMjAwOSAtMDQwMAorCisgICAgQVJNOiBEYVZpbmNpOiBBZGRpbmcgU3VwcG9ydCBmb3IgRGFWaW5jaSBETTM2NSBFVk0KKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0aGUgRE0zNjUgRVZNLgorICAgIEl0IGhhcyBiZWVuIHRlc3RlZCBvbiBhIERNMzY1IEVWTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IGNmNDYzMDkxYmNlOGIwZjg5NTFkZDA4Zjk0NzU0ZDA4ZDY0NzkzYjgKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJU2F0IEF1ZyAxNSAxMToyMDo0NCAyMDA5IC0wNDAwCisKKyAgICBBUk06IERhVmluY2k6IERhVmluY2kgRE0zNjUgU09DIHNwZWNpZmljIGNvZGUKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBEYVZpbmNpIERNMzY1IFNPQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKworY29tbWl0IGU4MzBiNjZiMzU5MmYxMTUzMTY2MDBkMzcwMzk5ZjNlZTE0OGU5MDkKK0F1dGhvcjogSWxrbyBJbGlldiA8aWxpZXZAcm9uZXRpeC5hdD4KK0RhdGU6CVNhdCBTZXAgNSAwMjo1MTozNCAyMDA5ICswMjAwCisKKyAgICBETTkwMDAgaW5pdCBmb3IgcG05MjYxCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbGtvIElsaWV2IDxpbGlldkByb25ldGl4LmF0PgorCitjb21taXQgYzM1ZDdjZjA3MWYxNzFiZDZiYmE2OWYxNTYzYTZhYzU3OGExOGVhNgorQXV0aG9yOiBGcmVkZXJpayBLcmlld2l0eiA8ZnJlZGVyaWtAa3JpZXdpdHouZXU+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU2OjQyIDIwMDkgKzAyMDAKKworICAgIEFkZCBzdXBwb3J0IGZvciB0aGUgRGV2S2l0ODAwMCBib2FyZAorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBEZXZLaXQ4MDAwIGJvYXJkLgorCisgICAgU2lnbmVkLW9mZi1ieTogRnJlZGVyaWsgS3JpZXdpdHogPGZyZWRlcmlrQGtyaWV3aXR6LmV1PgorCitjb21taXQgMTI3ZjlhZTU3NTk5MWFlZTNlMTA1ZTE0NDhjNDliNWI0ZTI1NDk5OAorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxNjozMjo0MCAyMDA5ICswMjAwCisKKyAgICBvbWFwMzogbW92ZSB0aGUgb3RoZXIgYm9hcmRzIHRvIGJvYXJkLworCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDM1MGYzYWM1NzMxZmFmMGYwMmNhNTVhYjAxNjY5NGI3YzcyNjlmOTcKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBBdWcgMjMgMTY6MzI6MzkgMjAwOSArMDIwMAorCisgICAgYXJtOiBtb3ZlIExvZ2ljcGQncyBib2FyZHMgdG8gYm9hcmQvbG9naWNwZC8KKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAwYTBlNGJhZDk2OTNlZjFkMmNhOGMzM2JhNTUxZDM5NWE0ZTNkNjQxCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDE2OjMyOjM4IDIwMDkgKzAyMDAKKworICAgIG9tYXA6IG1vdmUgVEkncyBib2FyZHMgdG8gYm9hcmQvdGkvCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgOWYyM2NhNDJiM2JhMTliMjRlNjZmYWRlNTcyZjJiODZkOTI5YjZlOAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIFNlcCA0IDIzOjIwOjI5IDIwMDkgKzAyMDAKKworICAgIEFSTTogVXBkYXRlIG1hY2gtdHlwZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAyNjJhZTBhNjE5M2YxMGI2YTk0ZTg2ZDJmNzUyZTdmNTUxMDQxNmZhCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVRodSBTZXAgMyAyMzoxMjo0NyAyMDA5IC0wNDAwCisKKyAgICBwdXNoIExPQURfQUREUiBvdXQgdG8gYXJjaCBtayBmaWxlcworCisgICAgUmF0aGVyIHRoYW4gbWFpbnRhaW4vZXh0ZW5kIHRoZSBjdXJyZW50IGlmZXEoJChBUkNIKSkgbWVzcyB0aGF0IGV4aXN0cyBpbgorICAgIHRoZSBzdGFuZGFsb25lIE1ha2VmaWxlLCBwdXNoIHRoZSBzZXR0aW5nIHVwIG9mIExPQURfQUREUiBvdXQgdG8gdGhlIGFyY2gKKyAgICBjb25maWcubWsgKGFuZCByZW5hbWUgdG8gU1RBTkRBTE9ORV9MT0FEX0FERFIgaW4gdGhlIHByb2Nlc3MpLiAgVGhpcyBrZWVwcworICAgIHRoZSBjb21tb24gY29kZSBjbGVhbiBhbmQgbGV0cyB0aGUgYXJjaCBkbyB3aGF0ZXZlciBjcmF6eSBjcmFwIGl0IHdhbnRzIGluCisgICAgaXRzIG93biBhcmVhLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgNzY2MmViMmI5ZDZmYmM5NWVjYjFmYjNlNWI1MTQ3MjE1ZTI1MWU3ZAorQXV0aG9yOiBHaXVzZXBwZSBDT05ET1JFTExJIDxnaXVzZXBwZS5jb25kb3JlbGxpQHN0LmNvbT4KK0RhdGU6CVRodSBTZXAgMyAwNzozNzo0NiAyMDA5IC0wNDAwCisKKyAgICB6bGliOiBmaXggY29kZSB3aGVuIERFQlVHIGlzIGRlZmluZWQKKworICAgIFJlbW92ZWQgc3RkaW8uaCBpbmNsdXNpb24gYW5kIG1vdmVkIHRyYWNlIG1hY3JvcyB0byB1c2UgcHJpbnRmIGF2b2lkaW5nIHRvCisgICAgd3JpdGUgZGVidWcgaW5mb3JtYXRpb25zIHRvIHN0YW5kYXJkIGVycm9yLgorCisgICAgU2lnbmVkLW9mZi1ieTogR2l1c2VwcGUgQ29uZG9yZWxsaSA8Z2l1c2VwcGUuY29uZG9yZWxsaUBzdC5jb20+CisKK2NvbW1pdCBjZmNiZjhjNGNmM2RhOTZiOWUzZjY1MjUwNmI2NjRiZmQ3NjZhNTIwCitBdXRob3I6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIFNlcCAyIDE2OjQ1OjMxIDIwMDkgLTA1MDAKKworICAgIG14Y19uYW5kOiBSZW1vdmUgRnJlZXNjYWxlJ3MgIkFsbCBSaWdodHMgUmVzZXJ2ZWQuIgorCisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAwMDFkNjE1NjgxMzMzNTY5YzU1NWU2Y2RlMDdkOGQyM2UyYzUzNmZiCitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJV2VkIFNlcCAyIDE3OjU4OjQ4IDIwMDkgKzA0MDAKKworICAgIG1wYzgzeHgvc2VyZGVzOiBMaWNlbnNlIGNsZWFudXA6IHJlbW92ZSAiQWxsIFJpZ2h0cyBSZXNlcnZlZCIgbm90aWNlCisKKyAgICAiQWxsIFJpZ2h0cyBSZXNlcnZlZCIgY29uZmxpY3RzIHdpdGggdGhlIEdQTC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorCitjb21taXQgNDZmZjZkNDYxMzIxZjViNTY1Y2M3OTBlMDI2NzkyMzdmZmQ5YTIwZgorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJV2VkIFNlcCAyIDE0OjU3OjI3IDIwMDkgKzAyMDAKKworICAgIExpY2Vuc2UgY2xlYW51cDogcmVtb3ZlIHVuaW50ZW5kZWQgIkFsbCBSaWdodHMgUmVzZXJ2ZWQiIG5vdGljZXMuCisKKyAgICBTb21lIGZpbGVzIGluY2x1ZGVkIG15IG9sZCBzdGFuZGVyZCBmaWxlIGhlYWRlciB3aGljaCBoYWQgYSAiQWxsCisgICAgUmlnaHRzIFJlc2VydmVkIiBwYXJ0LiBBcyB0aGlzIGhhcyBuZXZlciBiZWVuIG15IGludGVudGlvbiwgSSByZW1vdmUKKyAgICB0aGVzZSBsaW5lcyB0byBtYWtlIHRoZSBmaWxlcyBjb21wYXRpYmxlIHdpdGggR1BMIHYuMiBhbmQgbGF0ZXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgMzdkYWE3N2YzY2FmYjVlYzlhOTc0ZWZmM2RiMmFmNGEwNTYwYTllZgorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJV2VkIFNlcCAyIDEwOjIxOjIwIDIwMDkgKzAyMDAKKworICAgIGNtZF9tdGRwYXJ0cy5jOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBjb2RlCisKKyAgICBGaXggd2FybmluZyBtZXNzYWdlczoKKyAgICBjbWRfbXRkcGFydHMuYzoxNDI5OiB3YXJuaW5nOiBmb3JtYXQgJyUwOGx4JyBleHBlY3RzIHR5cGUgJ2xvbmcKKyAgICB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNiBoYXMgdHlwZSAndTMyJworICAgIGNtZF9tdGRwYXJ0cy5jOjE0Mjk6IHdhcm5pbmc6IGZvcm1hdCAnJTA4bHgnIGV4cGVjdHMgdHlwZSAnbG9uZworICAgIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA3IGhhcyB0eXBlICd1MzInCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgZDhiYzU1YTZmYjI4ODc2YWJjYmY0YTNmYzNiNmMzY2U0MjljMWJiMworQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVR1ZSBTZXAgMSAyMDo1ODowMyAyMDA5ICswNDAwCisKKyAgICBNb3ZlIHVuaW5pdGlhbGl6ZWRfdmFyKCkgbWFjcm8gZnJvbSB1YmlfdWJvb3QuaCB0byBjb21waWxlci5oCisKKyAgICBUaGlzIGlzIG5lZWRlZCBzbyB0aGF0IHdlIGNvdWxkIHVzZSB0aGlzIG1hY3JvIGZvciBub24tVUJJIGNvZGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKworY29tbWl0IGQ3Mjg3MWUxMzg3MDk0OTcyNTY5ZTRiNzdjMjVlODgwMjBmN2I2OGYKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVR1ZSBTZXAgMSAxMToyNDo0NSAyMDA5IC0wNTAwCisKKyAgICBhcm06IFJlbW92ZSAtZm5vLXN0cmljdC1hbGlhc2luZworCisgICAgLWZuby1zdHJpY3QtYWxpYXNpbmcgaXMgaGlkZGluZyB3YXJuaW5ncy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBkNjI4MWZmMGNjMmViYjVkNmE1YzNlMTAyMTgzNzMzNDA3NGY5MmVjCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUdWUgU2VwIDEgMTE6MjQ6NDQgMjAwOSAtMDUwMAorCisgICAgcHBjOiBSZW1vdmUgLWZuby1zdHJpY3QtYWxpYXNpbmcKKworICAgIC1mbm8tc3RyaWN0LWFsaWFzaW5nIGlzIGhpZGRpbmcgd2FybmluZ3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNzk1ZDI0NmMyNzhlNzBiNGJhOTg2OGNjOWYyYzhmYmFkYTQ5ZDM4OAorQXV0aG9yOiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGNvbGRoYXVzLmNvbT4KK0RhdGU6CUZyaSBBdWcgMjggMDc6MTQ6MDQgMjAwOSAtMDUwMAorCisgICAgZ2FsYXh5NTIwMDogQWRkIGNoaXAgc2VsZWN0IHJlZ2lvbiBmb3IgYW4gRXBzb24gUzFEMTUzMTMKKworICAgIFNpZ25lZC1vZmYtYnk6IEVyaWMgTWlsbGJyYW5kdCA8ZW1pbGxicmFuZHRAZGVrYXJlc2VhcmNoLmNvbT4KKworY29tbWl0IDNkZmFkNDBhMDQ1OWY2MzA5OWUxNzdkYzE1YTFkZjM5ZDA0OGY4NjAKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBBdWcgMjcgMDg6MjM6NTUgMjAwOSAtMDUwMAorCisgICAgQWRkIGFiaWxpdHkgZm9yIGFyY2ggY29kZSB0byBtYWtlIGNoYW5nZXMgYmVmb3JlIHdlIGJvb3QKKworICAgIEFkZGVkIGEgYXJjaF9wcmVib290X29zKCkgZnVuY3Rpb24gdGhhdCBjcHUgc3BlY2lmaWMgY29kZSBjYW4gaW1wbGVtZW50IHRvCisgICAgYWxsb3cgZm9yIHZhcmlvdXMgbW9kaWZpY2F0aW9ucyB0byB0aGUgc3RhdGUgb2YgdGhlIG1hY2hpbmUgcmlnaHQgYmVmb3JlCisgICAgd2UgYm9vdC4gIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXR1cCByZWdpc3RlciBzdGF0ZSB0byBhIHNwZWNpZmljCisgICAgY29uZmlndXJhdGlvbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5ZWEwMDVmYjQ0MjhjOTIyNTM2ZmE3NTk5MWNlOTk3MjMwNGEwMmZiCitBdXRob3I6IFJveSBaYW5nIDx0aWUtZmVpLnphbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVNhdCBBdWcgMjIgMDM6NDk6NTIgMjAwOSArMDgwMAorCisgICAgVXNlIGRpZmZlcmVudCBQQkEgdmFsdWUgZm9yIEUxMDAwIFBDSSBhbmQgUENJZSBjYXJkcworCisgICAgU2lnbmVkLW9mZi1ieTogUm95IFphbmcgPHRpZS1mZWkuemFuZ0BmcmVlc2NhbGUuY29tPgorICAgIEFja2VkLWJ5OiBBbmRy6SBTY2h3YXJ6IDxhbmRyZS5zY2h3YXJ6QG1hdHJpeC12aXNpb24uZGU+CisKK2NvbW1pdCA1YjM0YTI5NmQ0N2IyMzZkYWZiY2FmMWM5MWFlMTFiNWFlYjFlZjUxCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjU4IDIwMDkgKzEwMDAKKworICAgIEFkZCBQQ0kgc3VwcG9ydCB0byBlTkVUIGJvYXJkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgZjUwYjYxOWQ5Y2IyOTdiMDEyNWZlNzhkY2Q2ZjI1NWViMGQ5MTY1OQorQXV0aG9yOiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxMjo1OTo1NyAyMDA5ICsxMDAwCisKKyAgICBpMzg2OiBNb3ZlZCBQQ0kgZnJvbSAjaWZkZWYgdG8gY29uZGl0aW9uYWwgY29tcGlsZSBmb3Igc2M1MjAgYm9hcmRzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgZWQ3YTFiNjgxZGUxZTMxZDE4ZDViOTJlMjc2N2FlOGRmMzI0MTY4NworQXV0aG9yOiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxMjo1OTo1NiAyMDA5ICsxMDAwCisKKyAgICBpMzg2OiBSZXBsYWNlIFtyZWFkLCB3cml0ZV1fbW1jcl9bYnl0ZSwgd29yZCwgbG9uZ10gd2l0aCBtZW1vcnkgbWFwcGVkIHN0cnVjdHVyZQorCisgICAgU2lnbmVkLW9mZi1ieTogR3JhZW1lIFJ1c3MgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KKworY29tbWl0IDliMzJmOTZiNWI5MmJhMTNmZGI0YjVlYjYzNzczNDc1MjIzNWYyNjAKK0F1dGhvcjogR3JhZW1lIFJ1c3MgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KK0RhdGU6CVN1biBBdWcgMjMgMTI6NTk6NTUgMjAwOSArMTAwMAorCisgICAgTWlzYyBzYzUyMCBjZHAgZml4dXBzCisKKyAgICBOb3cgdGhhdCB0aGUgUENJLCBTQVRBIGV0IGFsIGNvbXBpbGUgcHJvYmxlbXMgaGF2ZSBiZWVuIHJlc29sdmVkLCB0aGUKKyAgICBjbHVkZ2UgdGhhdCB3YXMgYXBwbGllZCB0byBhdm9pZCB0aGVtIGNhbiBiZSByZW1vdmVkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgOTFlZTRlMTgzY2I3YWM1Zjg2ZTc2NzNlYWQ1MTQwMGYxOTkwNjYzNQorQXV0aG9yOiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxMjo1OTo1NCAyMDA5ICsxMDAwCisKKyAgICBGaXh1cCBzYzUyMF9zcHVuayBib2FyZAorCisgICAgUHJpbWFyeSBpbnRlbnQgaXMgdG8gcmVzb2x2ZSBidWlsZCBlcnJvcnMgZm9yIHRoaXMgYm9hcmQgd2hpY2ggaGFzIGJlZW4KKyAgICBuZWdsZWN0ZWQgZm9yIGEgdmVyeSBsb25nIHRpbWUuIEkgZG8gbm90IGhhdmUgb25lIG9mIHRoZXNlIGJvYXJkcywgc28gSQorICAgIGNhbm5vdCB0ZXN0IGZ1bmN0aW9uYWxpdHkKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCA4OTA3YjhkYmM1ODA1MDk0ZjEzMTZkNjQ3MzdkMzQyOGIzODYzNjkzCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjUzIDIwMDkgKzEwMDAKKworICAgIE1pc2MgZHMxNzIyIGZpeHVwcworCisgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBhIHBhdGNoIHN1Ym1pdHRlZCBieSBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRAorICAgIG9uIDE4dGggTWF5IDIwMDggYXMgcGFydCBvZiBhIGdlbmVyYWwgaTM4NiAvIHNjNTIwIGZpeHVwIHdoaWNoIHdhcyBuZXZlcgorICAgIGFwcGxpZWQKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCBhOTI1MTBlN2ZhZTUyMzE0NWI1ODc2NWNkYzQ2MTEwZjExNjIyNjBkCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjUyIDIwMDkgKzEwMDAKKworICAgIE1pc2MgdGlfcGNpMTQxMGEgZml4dXBzCisKKyAgICBSZW1vdmVkIGRvX3Bpbml0KCkgLSBub3cgZGVjbGFyZWQgaW4gY21kX3BjbWNpYS5jCisKKyAgICBBZGRlZCAjZGVmaW5lIENPTkZJR19DTURfUENNQ0lBIGFyb3VuZCBwY21jaWFfb2ZmKCkgaW4gbGluZSB3aXRoIG90aGVyCisgICAgUENNQ0lBIGRyaXZlcnMKKworICAgIHNpZ25lZC91bnNpZ25lZCB0eXBlIGZpeHVwcworCisgICAgQWRkZWQgc2VtaS1jb2xvbiBhZnRlciBkZWZhdWx0OiBsYWJlbCBhcyByZXF1aXJlZCBieSBuZXdlciBnY2MKKworICAgIFRoZSBvbmx5IGJvYXJkIHRoYXQgYXBwZWFycyB0byB1c2UgdGhpcyBkcml2ZXIgaXMgdGhlIHNjNTIwX3NwdW5rIHdoaWNoCisgICAgaXMgdmVyeSBvbGQgYW5kIHZlcnkgbGlrZWx5IHZlcnkgYnJva2VuIGFueXdheS4gSSBkbyBub3QgaGF2ZSBvbmUgdG8gdGVzdAorICAgIHdoZXRoZXIgdGhpcyBwYXRjaCBicmVha3MgYW55dGhpbmcgZnVuY3Rpb25hbHksIEkgaGF2ZSBjYW4gb25seSBjaGVjaworICAgIHRoYXQgaXQgY29tcGlsZXMgd2l0aG91dCB3YXJuaW5nIG9yIGVycm9yCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgMzFiOWFiMzNkOTNkODhmZjg5ZjMwNDZhYTQ1YzY4NjY3YTM3OGE1NgorQXV0aG9yOiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxMjo1OTo1MSAyMDA5ICsxMDAwCisKKyAgICBNaXNjIFNBVEEgZml4dXBzCisKKyAgICBDYXN0IGZpcnN0IHBhcmFtZXRlciB0byBzYXRhX2NweSgpCisKKyAgICBJbiAvZHJpdmVycy9ibG9jay9hdGFfcGlpeC5oLCBhdGFfaWRfaGFzX2xiYTQ4KCksIGF0YV9pZF9oYXNfbGJhKCksCisgICAgYXRhX2lkX2hhc19kbWEoKSwgYXRhX2lkX3UzMigpLCBhdGFfaWRfdTY0KCkgYXJlIGFsbCBkZWZpbmVkIGluCisgICAgaW5jbHVkZS9saWJhdGEuaCB3aGljaCBpcyBpbmNsdWRlZCBpbiBhdGEuaCB3aGljaCBpcyBpbmNsdWRlZCBieSBhbGwgZmlsZXMKKyAgICB3aGljaCBpbmNsdWRlIGF0YV9waWl4LmggKG9ubHkgYXRhX3BpaXguYykgc28gdGhlc2UgZGVmaW5pdGlvbnMgYXJlCisgICAgc3VwdXJmbG91cyB0byAoYW5kIGNvbmxpY3Qgd2l0aCkgdGhpcyBpbiBsaWJhdGEuaC4gSW50ZXJlc3RpbmdseSwgbXkKKyAgICBjb21waWxlciBjb21wbGFpbnMgYWJvdXQgYXRhX2lkX3U2NCBhbHJlYWR5IGJlaW5nIGRlZmluZWQsIGJ1dCBub3QKKyAgICBhdGFfaWRfdTMyCisKKyAgICBhdGFfZHVtcF9pZCgpIGlzIGRlZmluZWQgaW4gaW5jbHVkZS9saWJhdGEuaCBhbmQgc2hvdWxkIG5vdCBiZSBzdGF0aWMKKyAgICAobWF5YmUgc2hvdWxkIGV2ZW4gdXNlIGF0YV9kdW1wX2lkKCkgaW4gbGliYXRhLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCBkNzU0OTAyNDA5OGFmMDkzNzg1MTUxMjYxMjY2YTAyYmUxOWFmNjMzCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjUwIDIwMDkgKzEwMDAKKworICAgIGkzODY6IE1pc2MgUENJIGZpeHVwcworCisgICAgQ2hhbmdlIFBDSV9SRUdJT05fTUVNT1JZIHRvIFBDSV9SRUdJT05fU1lTX01FTU9SWSAoT3JpZ2luYWxseSBkb25lIGluCisgICAgY29tbWl0IGZmNGU2NmU5M2MxYSwgcmVncmVzc2VkIGJ5IGNvbW1pdCA2ZDdmNjEwYjA5ZjgpCisKKyAgICBDYXN0IFBDSV9ST01fQUREUkVTU19NQVNLIHRvIHUzMgorCisgICAgV3JhcCBwcm9iZV9wY2lfdmlkZW8oKSBjYWxsIGluc2lkZSAjaWZkZWYgQ09ORklHX1ZJREVPCisKKyAgICBDaGFuZ2UgY2FsbCB0byBwY2lfZmluZF9jbGFzcygpIHRvIHBjaV9maW5kX2RldmljZXMoKS4gVGhpcyBpcyBiYXNlZCBvbiBhCisgICAgcGF0Y2ggc3VibWl0dGVkIG9uIDFzdCBNYXJjaCAyMDA3IChQYXRjaCB0aGF0IGZpeGVzIHRoZSBjb21waWxhdGlvbiBlcnJvcnMKKyAgICBmb3Igc2M1MjBfY2RwIGJvYXJkKSBieSBtdXNodGFxX2sKKworICAgIFRoaXMgcGF0Y2ggcmVxdWlyZXMgdGhhdCBQQ0lfVklERU9fVkVORE9SX0lEIGFuZCBQQ0lfVklERU9fREVWSUNFX0lEIGJlCisgICAgc3BlY2lmaWVkIGluIHRoZSBib2FyZCBjb25maWcgZmlsZS4gIER1bW15IHZhbHVlcyBoYXZlIGJlZW4gYWRkZWQgZm9yIHRoZQorICAgIFNDNTIwIENEUCBib2FyZCB0byBlbmFibGUgY29tcGlsYXRpb24sIGJ1dCBzaW5jZSBJIGRvIG5vdCBoYXZlIG9uZSBvZiB0aGVzZSwKKyAgICBJIGRvIGtub3cgd2hhdCB0aGUgdmFsdWVzIHNob3VsZCBiZQorCisgICAgU2lnbmVkLW9mZi1ieTogR3JhZW1lIFJ1c3MgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KKworY29tbWl0IDA0ZmY5YWIxNTg3MTRkNDNjZGYyZjRmNmYwMjM1YzNlYTlkMjQxYTIKK0F1dGhvcjogR3JhZW1lIFJ1c3MgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KK0RhdGU6CVN1biBBdWcgMjMgMTI6NTk6NDkgMjAwOSArMTAwMAorCisgICAgRml4IHNjNTIwIHRpbWVyIGludGVycnVwdCBnZW5lcmF0aW9uCisKKyAgICBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBoYXMgdGhlIHRpbWVyIGJlaW5nIHN0YXJ0ZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQKKyAgICBoYW5kbGVyIGlzIGluc3RhbGxlZC4gSXQgdGhlIGludGVycnVwdCBvY2N1cnMgYmVmb3JlIHRoZSBoYW5kbGVyIGlzCisgICAgaW5zdGFsbGVkLCB0aGUgdGltZXIgaW50ZXJydXB0IGlzIG5ldmVyIHJlc2V0IGFuZCB0aGUgdGltZXIgc3RvcHMKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCBmM2E4ZDZiMjliMWNkMDFmZGQ5NDBlOGZmN2E2MmIxZGYwZWJiZjgyCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjQ4IDIwMDkgKzEwMDAKKworICAgIEZpeCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIGZvciBlTkVUIGJvYXJkCisKKyAgICBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9mIHRoZSBFbnZpcm9ubWVudCBoYXMgdGhlIHJlZHVuZGFudCBjb3B5IG9mIHRoZQorICAgIGVudmlyb25tZW50IGluIHRoZSBCb290IEZsYXNoIC0gVGhpcyB3YXMgbmV2ZXIgdGhlIGludGVudC4gVGhlIEVudmlyb25tZW50CisgICAgc2hvdWxkIGluc3RlYWQgYmUgaW4gdGhlIGZpcnN0IHR3byBzZWN0b3JzIG9mIHRoZSBmaXJzdCBTdHJhdGEgRmxhc2gKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCBlYTBjMzc3OThjMzgyM2ZkZDc3ZWRmZmZkMjdiMjAxOTFmOGNhMWYwCitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjQ3IDIwMDkgKzEwMDAKKworICAgIGkzODY6IEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IDhjNjNkNDc2NTFmNworCisgICAgQSBsb2NhbCB2YXJpYWJsZSB3YXMgZGVsZXRlZCB0aGF0IHNob3VsZCBub3QgaGF2ZSBiZWVuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgY2ZiM2E3MzZmZmNmZjNlMzc1M2I5MDJjYWQ1MzZmMjJmY2Y4OTYxZAorQXV0aG9yOiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorRGF0ZToJU3VuIEF1ZyAyMyAxMjo1OTo0NiAyMDA5ICsxMDAwCisKKyAgICBpMzg2OiBDaGFuZ2UgaW5saW5lIGFzbSBnbG9iYWwgc3ltYm9scyB0byBsb2NhbAorCisgICAgZ2NjIDQuMy4yIG9wdGltaXNlciBjcmVhdGVzIG11bHRpcGxlIGNvcGllcyBvZiBpbmxpbmUgYXNtICh3aG8ga25vd3Mgd2h5KQorICAgIFJlbW92ZSB1c2Ugb2YgZ2xvYmFsIG5hbWVzIGZvciBsYWJlbHMgdG8gcHJldmVudCAnc3ltYm9sIGFscmVhZHkgZGVmaW5lZCcKKyAgICBlcnJvcnMKKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CisKK2NvbW1pdCBhM2FiOGNhZWU2OTZhMWQ1M2ZjODJmYTMyMWUyYjJmMTc5OTcwMTY4CitBdXRob3I6IEdyYWVtZSBSdXNzIDxncmFlbWUucnVzc0BnbWFpbC5jb20+CitEYXRlOglTdW4gQXVnIDIzIDEyOjU5OjQ1IDIwMDkgKzEwMDAKKworICAgIGkzODY6IEFkZCBlcnJuby5oCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFlbWUgUnVzcyA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorCitjb21taXQgZDRlOGFkYTBmNmQ1MWUwZTNiODA3OTBmYjkzNzVhYzg5MTBmNTM1MgorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJRnJpIEF1ZyAyMSAyMzowNToyMSAyMDA5IC0wNTAwCisKKyAgICBDb25zb2xpZGF0ZSBhcmNoLXNwZWNpZmljIG1lbV9tYWxsb2NfaW5pdCgpIGltcGxlbWVudGF0aW9ucworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IGE0ODNhMTY3YmM4ZDgwODE0NWNhMTIyNGEyYzIzOGNkYTkwYWE2MGMKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBBdWcgMjEgMjM6MDU6MjAgMjAwOSAtMDUwMAorCisgICAgU3RhbmRhcmRpemUgbWVtX21hbGxvY19pbml0KCkgaW1wbGVtZW50YXRpb24KKworICAgIFRoaXMgbGF5cyB0aGUgZ3JvdW5kd29yayB0byBhbGxvdyBhcmNoaXRlY3R1cmVzIHRvIHNoYXJlIGEgY29tbW9uCisgICAgbWVtX21hbGxvY19pbml0KCkuCisKKyAgICBOb3RlIHRoYXQgdGhlIHg4NiBpbXBsZW1lbnRhdGlvbiB3YXMgbm90IG1vZGlmaWVkIGFzIGl0IGRpZCBub3QgZml0IHRoZQorICAgIG1vbGQgb2YgYWxsIG90aGVyIGFyY2hpdGVjdHVyZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgNWU5M2JkMWM5YWFlYTg4NmM1ZTVjN2MxYjYxMTRhYjM2YzMwNjY4ZgorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJRnJpIEF1ZyAyMSAyMzowNToxOSAyMDA5IC0wNTAwCisKKyAgICBDb25zb2xpZGF0ZSBhcmNoLXNwZWNpZmljIHNicmsoKSBpbXBsZW1lbnRhdGlvbnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCA2NWY2ZjA3YjcyYTcxYjgzZDc3NWM0ZDIwZDdlYmNkNmIyZDIwODZkCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVRodSBKdWwgMjMgMTY6Mzc6MDMgMjAwOSAtMDQwMAorCisgICAgYXRtZWxfZGZfcG93Mjogc3RhbmRhbG9uZSB0byBjb252ZXJ0IGRhdGFmbGFzaGVzIHRvIHBvdzIKKworICAgIEF0bWVsIERhdGFGbGFzaGVzIGJ5IGRlZmF1bHQgb3BlcmF0ZSB3aXRoIHBhZ2VzIHRoYXQgYXJlIHNsaWdodGx5IGJpZ2dlcgorICAgIHRoYW4gbm9ybWFsIGJpbmFyeSBzaXplcyAoaS5lLiBtYW55IGFyZSAxMDU2IGJ5dGUgcGFnZXMgcmF0aGVyIHRoYW4gMTAyNAorICAgIGJ5dGVzKS4gIEhvd2V2ZXIsIHRoZXkgYWxzbyBoYXZlIGEgInBvd2VyIG9mIDIiIG1vZGUgd2hlcmUgdGhlIHBhZ2VzIHNob3cKKyAgICB1cCB3aXRoIHRoZSBub3JtYWwgYmluYXJ5IHNpemUuICBUaGUgbGF0dGVyIG1vZGUgaXMgcmVxdWlyZWQgaW4gb3JkZXIgdG8KKyAgICBib290IHdpdGggYSBCbGFja2ZpbiBwcm9jZXNzb3IsIHNvIG1hbnkgcGVvcGxlIHdpc2ggdG8gY29udmVydCB0aGVpcgorICAgIERhdGFGbGFzaGVzIG9uIHRoZWlyIGRldmVsb3BtZW50IHN5c3RlbXMgdG8gdGhpcyBtb2RlLiAgVGhpcyBzdGFuZGFsb25lCisgICAgYXBwbGljYXRpb24gZG9lcyBqdXN0IHRoYXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCBjYjk1YzdhOTM1YWI5YjUyZGFjNWQwOGU1YmE0MDA3YzVhNDgwZjk3CitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVdlZCBTZXAgMiAwNTo1MjozNyAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogY20tYmY1NDg6IGZpeCBkZXZpY2UtPnN0ZGlvX2RldiBmYWxsb3V0CisKKyAgICBUaGUgcmVjZW50IDUyY2I0ZDRmYjM0OCBjb21taXQgd2hpY2ggcmVuYW1lZCBkZXZpY2UgdG8gc3RkaW9fZGV2IG1pc3NlZCB0aGUKKyAgICBjbS1iZjU0OCdzIHZpZGVvIGJvYXJkLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgYzdiY2RkZTQ2YTdlZjc4NjI4ZjBmMDlmZGM2Y2I2MWJiMWJkN2U3OQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglXZWQgU2VwIDIgMDQ6MjE6MTYgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IGVuYWJsZSA2NGJpdCBwcmludGYgZm9yIG5hbmQKKworICAgIFNpbmNlIHRoZSBOQU5EIGNvZGUgbm93IHVzZXMgNjRiaXQgY29kZSwgbWFrZSBzdXJlIHdlIGVuYWJsZSBzdXBwb3J0IGZvcgorICAgIEFESSBCbGFja2ZpbiBib2FyZHMgaW4gcHJpbnRmIHRvIGF2b2lkIHRoZSB3YXJuaW5nOgorICAgIG5hbmRfdXRpbC5jOjQ1OjI6IHdhcm5pbmc6ICN3YXJuaW5nIFBsZWFzZSBkZWZpbmUgQ09ORklHX1NZU182NEJJVF9WU1BSSU5URiBmb3IgY29ycmVjdCBvdXRwdXQhCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA5YzQ2ZTcxYWYyYjAzY2NkNzIxYzU2YjFkYzkwNmVhZDcwMmQ2ZmI1CitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CU1vbiBBdWcgMjQgMjA6NDg6MDQgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IHVzZSBzY3JhdGNoIHBhZCBmb3IgZXhjZXB0aW9uIHN0YWNrCisKKyAgICBJZiB0aGUgbWVtb3J5IGxheW91dCBwdXNoZXMgdGhlIHN0YWNrIG91dCBvZiB0aGUgZGVmYXVsdCBEQ1BMQiBjb3ZlcmFnZSwKKyAgICB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgbWF5IHRyaWdnZXIgYSBkb3VibGUgZmF1bHQgYnkgdHJ5aW5nIHRvIHB1c2ggb250bworICAgIHRoZSB1bmNvdmVyZWQgc3RhY2suICBTbyBoYW5kbGUgdGhlIGV4Y2VwdGlvbiBzdGFjayBzaW1pbGFyIHRvIHRoZSBrZXJuZWwKKyAgICBieSB1c2luZyB0aGUgdG9wIG9mIHRoZSBzY3JhdGNoIHBhZCBTUkFNLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgNjlhMjVjZTM1NzhmMzRjOGFjY2I0NzZmNzAwODlmM2E0NGI3OGVkOQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglNb24gQXVnIDI0IDIwOjM2OjI1IDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiBpbmNyZWFzZSBkZWZhdWx0IGNvbnNvbGUgc2l6ZQorCisgICAgVGhlIGRlZmF1bHQgY29uc29sZSBzaXplIGluZGlyZWN0bHkgYXBwbGllcyB0byBsZW5ndGggb2YgZW52IHZhcnMsIHNvIGEKKyAgICBzbWFsbGVyIGxlbmd0aCBtYWtlcyBpdCBoYXJkIHRvIHBhc3MgbG9uZ2VyIGNvbW1hbmQgbGluZXMgdG8ga2VybmVscy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGY1NDFlMWQ2ZDk5YzIyYmJkNGJjOGM4NGZkYjAyYmFhZDAyNzc4NDcKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJTW9uIEF1ZyAyNCAxOTowMzoxOCAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogZml4IGRlYnVnIHByaW50ZiBtb2RpZmllcnMKKworICAgIFRoZSBkaXNwbGF5X2dsb2JhbF9kYXRhKCkgZnVuY3Rpb24gZ2VuZXJhdGVkIHdhcm5pbmdzIHdpdGggcHJldHR5IG11Y2gKKyAgICBldmVyeSB2YXJpYWJsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDQ2NDBjMmI4Njk5YmNkZDIzNDZhMmM2MzM0ODZmMDdmMDYxYTI5MzkKK0F1dGhvcjogSGFyYWxkIEtyYXBmZW5iYXVlciA8SGFyYWxkLktyYXBmZW5iYXVlckBibHVldGVjaG5peC5hdD4KK0RhdGU6CVRodSBBdWcgMjAgMTk6MjA6NDEgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IGNtLWJmNTM3dTogbmV3IGJvYXJkIHBvcnQKKworICAgIFRoZSBDTS1CRjUzN1UgaXMgc2ltaWxhciB0byB0aGUgQ00tQkY1MzdFIG1vZHVsZSwgYnV0IGVub3VnaCB0byBuZWVkIGl0cworICAgIG93biBib2FyZCBwb3J0LgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFyYWxkIEtyYXBmZW5iYXVlciA8SGFyYWxkLktyYXBmZW5iYXVlckBibHVldGVjaG5peC5hdD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCBjNGRiMzM1YzJlMDgwNWUxY2U0YzMzZDI3OGI3NzQ5MmMwODEyMzUzCitBdXRob3I6IFJvYmluIEdldHogPHJvYmluLmdldHpAYW5hbG9nLmNvbT4KK0RhdGU6CU1vbiBBdWcgMTcgMTU6MjM6MDIgMjAwOSArMDAwMAorCisgICAgQmxhY2tmaW46IGNoYW5nZSBnbG9iYWwgZGF0YSByZWdpc3RlciBmcm9tIFA1IHRvIFAzCisKKyAgICBTaW5jZSB0aGUgQmxhY2tmaW4gQUJJIGZhdm9ycyBoaWdoZXIgc2NyYXRjaCByZWdpc3RlcnMgYnkgZGVmYXVsdCwgdXNlIHRoZQorICAgIGxhc3Qgc2NyYXRjaCByZWdpc3RlciAoUDMpIGZvciBnbG9iYWwgZGF0YSByYXRoZXIgdGhhbiB0aGUgZmlyc3QgKFA1KS4KKyAgICBUaGlzIGFsbG93cyB0aGUgY29tcGlsZXIncyByZWdpc3RlciBhbGxvY2F0b3IgdG8gdXNlIGhpZ2hlciBudW1iZXIgc2NyYXRjaAorICAgIFAgcmVnaXN0ZXJzLCB3aGljaCBpbiB0dXJuIGJldHRlciBtYXRjaGVzIHRoZSBCbGFja2ZpbiBpbnN0cnVjdGlvbiBzZXQsCisgICAgd2hpY2ggcmVkdWNlcyB0aGUgc2l6ZSBvZiBVLUJvb3QgYnkgbW9yZSB0aGFuIDEwMjQgYnl0ZXMuLi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJvYmluIEdldHogPHJvYmluLmdldHpAYW5hbG9nLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA1NzRiNzBkZjAzZmJhMGVhNjM1ZTJmZTcxZmJkN2I5N2QxOWI3MDZhCitBdXRob3I6IFJvYmluIEdldHogPHJvYmluLmdldHpAYW5hbG9nLmNvbT4KK0RhdGU6CVR1ZSBBdWcgMTEgMTQ6MjA6MTMgMjAwOSArMDAwMAorCisgICAgQmxhY2tmaW46IGVuYWJsZSBtb3JlIG5ldHdvcmsgY29tbWFuZHMgZm9yIEFESSBkZXYgYm9hcmRzCisKKyAgICBBZGQgZG5zIGFuZCBudHAgdG8gZGVmYXVsdCBuZXR3b3JraW5nIGNvbW1hbmRzLCBhbmQgYXNrIGZvciBtb3JlIGRoY3AKKyAgICBvcHRpb25zIHRvIGJldHRlciBjb25maWd1cmUgdGhlIG5ldHdvcmsgZW52aXJvbm1lbnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSb2JpbiBHZXR6IDxyb2Jpbi5nZXR6QGFuYWxvZy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgYWE3YjI0OGEwNTMyM2Q0NzIwOTY5MjI3NjAzZTM5YTIyNzc3ZWQ5NQorQXV0aG9yOiBNaWNoYWVsIEhlbm5lcmljaCA8bWljaGFlbC5oZW5uZXJpY2hAYW5hbG9nLmNvbT4KK0RhdGU6CVRodSBKdW4gMTggMDk6MTI6NTAgMjAwOSArMDAwMAorCisgICAgQmxhY2tmaW46IGJmNTM3LXN0YW1wOiBjb21tZW50IENGLUZsYXNoIENhcmQgU3VwcG9ydCBiZXR0ZXIKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSGVubmVyaWNoIDxtaWNoYWVsLmhlbm5lcmljaEBhbmFsb2cuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDY5YzZkMjY4YTI5Y2Y2ZDYxZTA5NmQ4MTVhYmY1YWJmMjQxMzZmNDUKK0F1dGhvcjogUm9iaW4gR2V0eiA8cm9iaW4uZ2V0ekBhbmFsb2cuY29tPgorRGF0ZToJRnJpIEp1bCAxMCAxODozNzoxNSAyMDA5ICswMDAwCisKKyAgICBCbGFja2ZpbjogdXNlICsoZmlsZXNpemUpIHRvIG1ha2Ugc3VyZSB3ZSBhcmUgb25seSBkb2luZyB3aGF0IGlzIG5lY2Vzc2FyeQorCisgICAgU2lnbmVkLW9mZi1ieTogUm9iaW4gR2V0eiA8cm9iaW4uZ2V0ekBhbmFsb2cuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDJkYzg1MWUzYjBmMDdhNTZmODMwNjBmMTM4ODJmZjRiNjJjZjUxMTIKK0F1dGhvcjogQWxiaW4gVG9ubmVycmUgPGFsYmluLnRvbm5lcnJlQGZyZWUtZWxlY3Ryb25zLmNvbT4KK0RhdGU6CVRodSBBdWcgMjAgMTY6MDQ6NDkgMjAwOSArMDIwMAorCisgICAgU3VwcG9ydCBmb3IgdGhlIENhbGFvIFROWS1BOTI2MC9UTlktQTlHMjAgYm9hcmRzCisKKyAgICBUaGUgQ2FsYW8gVE5ZLUE5MjYwIGFuZCBUTlktOUcyMCBhcmUgYm9hcmRzIG1hbnVmYWN0dXJlZCBhbmQgc29sZCBieQorICAgIENhbGFvIFN5c3RlbXMgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+LiBUaGVpciBjb21wb25lbnRzIGFyZSB2ZXJ5CisgICAgc2ltaWxhciB0byB0aGUgQVQ5MVNBTTkyNjBFSyBib2FyZCwgc28gdGhlaXIgY29uZmlndXJhdGlvbiBpcyBiYXNlZCBvbgorICAgIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoaXMgYm9hcmQuIFRoZXJlIGFyZSBob3dldmVyIHNvbWUgZGlmZmVyZW5jZXM6CisgICAgZGlmZmVyZW50IGNsb2Nrcywgbm8gTENELCBubyBldGhlcm5ldC4gVGhleSBhbHNvIGNhbiB1c2UgU1BJIEVFUFJPTSB0bworICAgIHN0b3JlIHRoZSBlbnZpcm9ubWVudC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDQ5ZDJjYjRkNjE1M2E2YzE4MjQ5ZGNjYjVkZTVjZmZlYjI2MWE2MWMKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJVGh1IEF1ZyAyMCAyMDo1OToyOCAyMDA5ICswNTMwCisKKyAgICBhcm06IEtpcmt3b29kOiBhZGQgU1lTUlNUbiBEdXJhdGlvbiBDb3VudGVyIFN1cHBvcnQKKworICAgIFRoaXMgZmVhdHVyZSBjYW4gYmUgdXNlZCB0byB0cmlnZ2VyIHNwZWNpYWwgY29tbWFuZCAic3lzcnN0Y21kIiB1c2luZworICAgIHJlc2V0IGtleSBsb25nIHByZXNzIGV2ZW50IGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAic3lzcnN0ZGVsYXkiIGlzIHNldAorICAgICh1c2VmdWwgZm9yIHJlc2V0IHRvIGZhY3Rvcnkgb3IgbWFudWZhY3R1cmluZyBtb2RlIGV4ZWN1dGlvbikKKworICAgIEtpcmt3b29kIFNvQyBpbXBsZW1lbnRzIGEgaGFyZHdhcmUtYmFzZWQgU1lTUlNUbiBkdXJhdGlvbiBjb3VudGVyLgorICAgIFdoZW4gU1lTUlNUbiBpcyBhc3NlcnRlZCBsb3csIGEgU1lTUlNUbiBkdXJhdGlvbiBjb3VudGVyIGlzIHJ1bm5pbmcuCisgICAgVGhlIGNvdW50ZXIgdmFsdWUgaXMgc3RvcmVkIGluIHRoZSBTWVNSU1RuIExlbmd0aCBDb3VudGVyIFJlZ2lzdGVyCisgICAgVGhlIGNvdW50ZXIgaXMgYmFzZWQgb24gdGhlIDI1LU1IeiByZWZlcmVuY2UgY2xvY2sgKDQwbnMpCisgICAgSXQgaXMgYSAyOS1iaXQgY291bnRlciwgeWllbGRpbmcgYSBtYXhpbXVtIGNvdW50aW5nIGR1cmF0aW9uIG9mCisgICAgMl4yOS8yNSBNSHogKDIxLjQgc2Vjb25kcykuIFdoZW4gdGhlIGNvdW50ZXIgcmVhY2ggaXRzIG1heGltdW0gdmFsdWUsCisgICAgaXQgcmVtYWlucyBhdCB0aGlzIHZhbHVlIHVudGlsIGNvdW50ZXIgcmVzZXQgaXMgdHJpZ2dlcmVkIGJ5IHNldHRpbmcKKyAgICBiaXQgMzEgb2YgS1dfUkVHX1NZU1JTVF9DTlQKKworICAgIEltcGxlbWVudGF0aW9uOgorICAgIFVwb24gbG9uZyByZXNldCBhc3NlcnRpb24gKD4gJHtzeXNyc3RkZWxheX0gaW4gc2Vjcykgc3lzcnN0Y21kIHdpbGwgYmUKKyAgICBleGVjdXRlZCBpZiBwcmUtZGVmaW5lZCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCisgICAgVGhpcyBmZWF0dXJlIHdpbGwgYmUgZGlzYWJsZWQgaWYgInN5c3JzdGRlbGF5IiB2YXJpYWJsZSBpcyB1bnNldC4KKworICAgIGZvci1leC4KKyAgICBzZXRlbnYgc3lzcnN0X2NtZCAiZWNobyBzdGFydGluZyBmYWN0b3J5IHJlc2V0OworCQkgICBuYW5kIGVyYXNlIDB4YTAwMDAgMHgyMDAwMDsKKwkJICAgZWNobyBmaW5pc2ggZWQgc3lzcnN0IGNvbW1hbmQ7IgorICAgIHdpbGwgZXJhc2UgcGFydGljdWxhciBuYW5kIHNlY3RvciBpZiB0cmlnZ2VyZWQgYnkgdGhpcyBldmVudAorCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorCitjb21taXQgOTQ1Mzk2N2UyOGM1ZTNhYmJmODU2Zjk1NzM1ZWE2OWJhZTFlNzdmYQorQXV0aG9yOiBBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgorRGF0ZToJTW9uIEF1ZyAyNCAxODowMzoyNiAyMDA5ICswMjAwCisKKyAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIENhbGFvIFNCQzM1LUE5RzIwIGJvYXJkCisKKyAgICBUaGUgQ2FsYW8gU0JDMzUtQTlHMjAgYm9hcmQgaXMgbWFudWZhY3R1cmVkIGFuZCBzb2xkIGJ5IENhbGFvIFN5c3RlbXMKKyAgICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4uIEl0IGlzIGJ1aWx0IGFyb3VuZCBhbiBBVDkxU0FNOUcyMCBBUk0gU29DCisgICAgcnVubmluZyBhdCA0MDBNSHouIEl0IGZlYXR1cmVzIGFuIEV0aGVybmV0IHBvcnQsIGFuIFNQSSBSVEMgYmFja2VkIGJ5IGFuIG9uYm9hcmQKKyAgICBiYXR0ZXJ5ICwgYW4gU0QvTU1DIHNsb3QsIGEgQ29tcGFjdEZsYXNoIHNsb3QsIDY0TW8gb2YgU0RSQU0sIDI1Nk1vIG9mIE5BTkQKKyAgICBmbGFzaCwgdHdvIFVTQiBob3N0IHBvcnRzLCBhbmQgYW4gVVNCIGRldmljZSBwb3J0LiBNb3JlIGluZm9ybWF0aW9ucyBjYW4gYmUKKyAgICBmb3VuZCBhdCA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbS9hcnRpY2xlcy5waHA/bG5nPWVuJnBnPTU5MzY+CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgorCitjb21taXQgMTBiYzI0MWRmYzE1YTA4MjBkOWM1MjQ2OTE3M2I3Y2NhZmVjMGI4NAorQXV0aG9yOiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KK0RhdGU6CVR1ZSBBdWcgMTEgMDI6MzI6MDkgMjAwOSArMDQwMAorCisgICAgaW14MjdsaXRlOiBhZGQgc3VwcG9ydCBmb3IgaW14MjdsaXRlIGJvYXJkIGZyb20gTG9naWNQRAorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGkuTVgyNy1MSVRFS0lUIGRldmVsb3BtZW50IGJvYXJkIGZyb20KKyAgICBMb2dpY1BELiBUaGlzIGJvYXJkIHVzZXMgaS5NWDI3IFNvQyBhbmQgaGFzIDJNQiBOT1IgZmxhc2gsIDY0TUIgTkFORAorICAgIGZsYXNoLCBGRUMgZXRoZXJuZXQgY29udHJvbGxlciBpbnRlZ3JhdGVkIGludG8gaS5NWDI3LgorCisgICAgU2lnbmVkLW9mZi1ieTogSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CisgICAgQWNrZWQtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA1MGI1ZmZmNTU4Mjc5NDZjODZhNjBkYjhiMjFhOTM1OGJlNzIwNjY2CitBdXRob3I6IEFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CitEYXRlOglUdWUgU2VwIDEgMTE6MjY6MjAgMjAwOSArMDIwMAorCisgICAgYXQ5MXNhbTkyNjAvYWZlYjkyNjA6IEZpeCBTUEkgaW5pdGlhbGl6YXRpb24KKworICAgIENvbW1pdCA3ZWJhZmI3ZWMxYTAyODVhZjgzODA2MjNjMDA5NTc2ZjkyNTgzYjk4IGludHJvZHVjZWQgYSBtaXN0YWtlIGluIHRoZSBzcGkKKyAgICBpbml0IGZ1bmN0aW9uIGNhbGwgZm9yIHRob3NlIGJvYXJkcy4gVGhpcyBwYXRjaCBmaXhlcyB0aGlzLgorCisgICAgU2lnbmVkLW9mZi1ieTogQWxiaW4gVG9ubmVycmUgPGFsYmluLnRvbm5lcnJlQGZyZWUtZWxlY3Ryb25zLmNvbT4KKworY29tbWl0IGYzZDRmODg3MGU2OWUwZmQxNzczOTc3NzhkOTdkMDc1MWJiZDAyMGEKK0F1dGhvcjogU2ltb24gS2Fnc3Ryb20gPHNpbW9uLmthZ3N0cm9tQG5ldGluc2lnaHQubmV0PgorRGF0ZToJVHVlIEF1ZyAxOCAxMToxMzo0NCAyMDA5ICswMjAwCisKKyAgICBSZW1vdmUgZHVwbGljYXRlIHNldF9jcgorCisgICAgUmVtb3ZlIGR1cGxpY2F0ZSBzZXRfY3IKKworICAgIHNldF9jciBpcyBkZWZpbmVkIGluIGJvdGggYXNtLWFybS9wcm9jLWFybXYvc3lzdGVtLmggYW5kCisgICAgaW5jbHVkZS9hc20tYXJtL3N5c3RlbS5oLiBUaGlzIHBhdGNoIHJlbW92ZXMgaXQgKGFuZCBzb21lIGR1cGxpY2F0ZQorICAgIGRlZmluZXMpIGZyb20gdGhlIGZvcm1lci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KKworY29tbWl0IDNkMzVkODdkNTQ4MmRlMjNjZDVkYzRkNzcyMWIxMDg2MTA3Y2FlNTAKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CU1vbiBBdWcgMzEgMTk6NTc6NDIgMjAwOSArMDIwMAorCisgICAgUHJlcGFyZSAyMDA5LjA4CisKKyAgICBVcGRhdGUgQ0hBTkdFTE9HCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCiBjb21taXQgNjMyYTZkZDBiNjEyZWI3YjE0M2Y3ODlmMmEwMjczOTE3NDY4YzA0MQogQXV0aG9yOiBBbmRyZSBTY2h3YXJ6IDxhbmRyZS5zY2h3YXJ6QG1hdHJpeC12aXNpb24uZGU+CiBEYXRlOglNb24gQXVnIDMxIDE2OjE4OjI0IDIwMDkgKzAyMDAKQEAgLTI2LDYgKzU0NDUsMzg1IEBACiAKICAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KIAorY29tbWl0IDJkMDRkYjA4OGU2ZGY4YTAwOGJiMDlmNjA0ODc2YTQ1MDMxZGY5M2IKK0F1dGhvcjogVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBBdWcgMjggMTY6NTY6NDUgMjAwOSAtMDUwMAorCisgICAgZnNsOiBzaW1wbGlmeSB0aGUgIm1hYyBpZCIgY29tbWFuZCwgaW1wcm92ZSBib290LXRpbWUgaW5mb3JtYXRpb25hbCBtZXNzYWdlCisKKyAgICBUaGUgIm1hYyBpZCIgY29tbWFuZCB0b29rIGEgNC1jaGFyYWN0ZXIgcGFyYW1ldGVyIGFzIHRoZSBpZGVudGlmaWVyIHN0cmluZy4KKyAgICBIb3dldmVyLCBmb3IgYW55IGdpdmVuIGJvYXJkLCBvbmx5IG9uZSBraW5kIG9mIGlkZW50aWZpZXIgaXMgYWNjZXB0YWJsZSwgc28gaXQKKyAgICBtYWtlcyBubyBzZW5zZSB0byBhc2sgdGhlIHVzZXIgdG8gdHlwZSBpdCBpbi4gIEluc3RlYWQsIGlmIHRoZSB1c2VyIGVudGVycworICAgICJtYWMgaWQiLCB0aGUgaWRlbnRpZmllciAoYW5kIGFsc28gdGhlIHZlcnNpb24sIGlmIGl0J3MgTlhJRCkgd2lsbAorICAgIGF1dG9tYXRpY2FsbHkgYmUgc2V0IHRvIHRoZSBjb3JyZWN0IHZhbHVlLgorCisgICAgSW1wcm92ZSB0aGUgbWVzc2FnZSB0aGF0IGlzIGRpc3BsYXllZCB3aGVuIEVFUFJPTSBpcyByZWFkIGR1cmluZyBib290LiAgSXQgbm93CisgICAgZGlzcGxheXMgIkVFUFJPTToiIGFuZCB0aGVuIGVpdGhlciBhbiBlcnJvciBtZXNzYWdlIG9yIHRoZSBFRVBST00gaWRlbnRpZmllcgorICAgIGlmIHN1Y2Nlc3NmdWwuCisKKyAgICBJZiB0aGUgaWRlbnRpZmllciBpbiBFRVBST00gaXMgdmFsaWQsIHRoZW4gYWx3YXlzIHJlamVjdCBhIGJhZCBDUkMsIGV2ZW4gaWYgdGhlCisgICAgQ1JDIGZpZWxkIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZC4KKworICAgIERvbid0IGZvcmNlIHRoZSBNQUMgYWRkcmVzcyBjb3VudCB0byBNQVhfTlVNX1BPUlRTIG9yIGxlc3MuICBGb3JjaW5nIHRoZSB2YWx1ZQorICAgIHRvIGJlIGNoYW5nZWQgcmVzdWx0aW5nIGluIGFuIGluLW1lbW9yeSBjb3B5IHRoYXQgZG9lcyBub3QgbWF0Y2ggd2hhdCdzIGluCisgICAgaGFyZHdhcmUsIGV2ZW4gdGhvdWdoIHRoZSB1c2VyIGRpZCBub3QgcmVxdWVzdCB0aGF0IGNoYW5nZS4KKworICAgIEZpbmFsbHksIGFsd2F5cyB1cGRhdGUgdGhlIENSQyB2YWx1ZSBpbiB0aGUgaW4tbWVtb3J5IGNvcHkgYWZ0ZXIgYW55IGZpZWxkCisgICAgaXMgY2hhbmdlZCwgc28gdGhhdCB0aGUgQ1JDIGlzIGFsd2F5cyBjb3JyZWN0LgorCisgICAgU2lnbmVkLW9mZi1ieTogVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMzNmM2YzNDI1NWJkN2NmMGJlNTAyMjc1YzU5ZjBmZjIyZGM1MDA4MAorQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBBdWcgMjEgMDc6Mjk6NTggMjAwOSArMDUzMAorCisgICAgODV4eDogQWRkZWQgUENJZSBzdXBwb3J0IGZvciBQMSBQMiBSREIKKworICAgIENhbGwgZnNsX3BjaV9pbml0X3BvcnQoKSB0byBpbml0aWFsaXplIGFsbCB0aGUgUENJZSBwb3J0cyBvbiB0aGUgYm9hcmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMGQzZDY4YjI1YThlNzc5MGY1ODUzMGRkY2NiZDYxZjlmYzAyNDVlZgorQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBBdWcgMjEgMDc6Mjk6NDIgMjAwOSArMDUzMAorCisgICAgZHJpdmVyL2ZzbF9wY2k6IEFkZCBmc2xfcGNpX2luaXRfcG9ydCBmdW5jdGlvbiB0byBpbml0aWFsaXplIGEgUENJIGNvbnRyb2xsZXIKKworICAgIGZzbF9wY2lfaW5pdF9wb3J0IGNhbiBiZSBjYWxsZWQgZnJvbSBib2FyZCBzcGVjaWZpYyBQQ0kgaW5pdGlhbGl6YXRpb24KKyAgICByb3V0aW5lcyB0byBzZXR1cCB0aGUgUENJIChvciBQQ0llKSBjb250cm9sbGVyLiAgVGhpcyB3aWxsIHJlZHVjZSBjb2RlCisgICAgcmVkdW5kYW5jeSBpbiBtb3N0IG9mIHRoZSA4NXh4Lzg2eHggRlNMIGJvYXJkIHBvcnRzIHRoYXQgc2V0dXAgUENJLgorCisgICAgU2lnbmVkLW9mZi1ieTogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDA1ZjZmNjY0NzQzMTJhZDAzYzM5YjRjYTQ4NzVhZjQ2Yzg3MzY2YmYKK0F1dGhvcjogVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBBdWcgMjAgMTc6NDE6MTEgMjAwOSAtMDUwMAorCisgICAgODV4eDogSW1wcm92ZSBNUElDIGluaXRpYWxpemF0aW9uCisKKyAgICBUaGUgTVBJQyBpbml0aWFsaXphdGlvbiBjb2RlIGZvciBGcmVlc2NhbGUgZTUwMCBDUFVzIHdhcyBub3QgdXNpbmcgSS9PCisgICAgYWNjZXNzb3JzLCBhbmQgaXQgd2FzIG5vdCBpc3N1aW5nIGEgcmVhZC1iYWNrIHRvIHRoZSBNUElDIGFmdGVyIHNldHRpbmcKKyAgICBtaXhlZCBtb2RlLiAgVGhpcyBtYXkgYmUgdGhlIGNhdXNlIG9mIGEgc3B1cmlvdXMgaW50ZXJydXB0IG9uIHNvbWUgc3lzdGVtcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGMxN2I3OWZiZDBjNzkyMzk0ODMzMWQ2NWNiNTg4NzM0YTljNjgxZmYKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgQXVnIDIwIDE4OjU5OjE4IDIwMDkgKzA1MzAKKworICAgIDg1eHg6IEFkZGVkIHN1cHBvcnQgZm9yIFAxMDExUkRCIGFuZCBQMjAxMFJEQgorCisgICAgUDEwMTEgYW5kIFAyMDEwIGFyZSBzaW5nbGUgY29yZSB2YXJpYW50cyBvZiBQMTAxMCBhbmQgUDIwMjAgcmVzcGVjdGl2ZWx5LgorICAgIFRoZSBib2FyZChSREIpIHdpbGwgYmUgc2FtZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBhNzEzYmE5MjZiNDVkYTlhNmY5MjNmMWFjOWU2MGE2Njg1MmU1ZjJkCitBdXRob3I6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IEF1ZyAyMCAxODo1Nzo0NSAyMDA5ICswNTMwCisKKyAgICA4NXh4OiBBZGRlZCBzaW5nbGUgY29yZSBtZW1iZXJzIG9mIEZTTCBQMXh4L1AyeHggcHJvY2Vzc29ycyBzZXJpZXMKKworICAgIFAxMDExIC0gU2luZ2xlIGNvcmUgdmFyaWFudCBvZiBQMTAyMAorICAgIFAyMDEwIC0gU2luZ2xlIGNvcmUgdmFyaWFudCBvZiBQMjAyMAorCisgICAgU2lnbmVkLW9mZi1ieTogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGJmNDg4YmMwOTQ5ZmM5MDBkMTI5NmE3ZjM1YTM4YTZhMjhjYjVmYWIKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgQXVnIDIwIDE4OjU3OjAyIDIwMDkgKzA1MzAKKworICAgIDg1eHg6IFAxMDIwUkRCIFN1cHBvcnQgQWRkZWQKKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzYjFmMjQzYjhkYWQzMGE2NDZhMGYwNTZiMDI2ODUxOWVhZGJjM2M1CitBdXRob3I6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IEF1ZyAyMCAxODo1NTozNSAyMDA5ICswNTMwCisKKyAgICA4NXh4OiBBZGRlZCBDT05GSUdfTUFYX0NQVVMgZm9yIFAxMDIwCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNzZiNDc0ZTJmNWEyMjNmY2FiZmVhYTRmMWM4ZmI2OTkwNjJiOTg2YworQXV0aG9yOiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgQXVnIDE4IDE1OjM3OjE1IDIwMDkgKzA4MDAKKworICAgIDg1eHg6IEFkZCBMMlNSQU0gUmVnaXN0ZXIncyBtYWNybyBkZWZpbml0aW9uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDE1OGM2NzI0Yzk5MzY4YTRkOGVlZjExZWU3ZTNjN2FkMGVmMDNhMTUKK0F1dGhvcjogRmVsaXggUmFkZW5za3kgPGZlbGl4QGVtYmVkZGVkLXNvbC5jb20+CitEYXRlOglTYXQgQXVnIDE1IDE1OjA4OjM3IDIwMDkgKzAzMDAKKworICAgIDg1eHg6IEZpeCBtZW1vcnkgdGVzdCByYW5nZSBvbiBNUEM4NTM2RFMKKworICAgIFdpdGggY3VycmVudCB2YWx1ZXMgb2YgQ09ORklHX1NZU19NRU1URVNUX1NUQVJUIGFuZCBDT05GSUdfU1lTX01FTVRFU1RfRU5ECisgICAgbWVtb3J5IHRlc3QgaGFuZ3MgaWYgcnVuIHdpdGhvdXQgYXJndW1lbnRzLiBTZXQgdGhlbSB0byBzYW5lIHZhbHVlcywgc28KKyAgICB0aGF0IGFsbCBhdmFpbGFibGUgNTEyTUIgb2YgUkFNIGV4Y2x1ZGluZyBleGNlcHRpb24gdmVjdG9ycyBhdCB0aGUgYm90dG9tCisgICAgYW5kIHUtYm9vdCBjb2RlIGFuZCBzdGFjayBhdCB0aGUgdG9wIGNhbiBiZSB0ZXN0ZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBGZWxpeCBSYWRlbnNreSA8ZmVsaXhAZW1iZWRkZWQtc29sLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZWY0MWYyYTI1YzU1NDYwNDE1NmI1OWY1OTQ1ZmVhZGFlMmYzY2I1NQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJV2VkIEF1ZyAxMiAwMDoxMDo0NCAyMDA5IC0wNTAwCisKKyAgICA4NXh4OiBSZW1vdmVkIEJFREJVRyBzdXBwb3J0IG9uIFAxX1AyX1JEQgorCisgICAgVG8gbWF0Y2ggYWxsIG90aGVyIDg1eHggcGxhdGZvcm1zIHdlIGFyZSByZW1vdmluZyBCRURCVUcgc3VwcG9ydC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBiNTYwYWI4NWVkZmI2OGRhNjUzYmYyNTI3YzM5MGMzZTE4MjM5MmExCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglTYXQgQXVnIDggMTA6NDI6MzAgMjAwOSAtMDUwMAorCisgICAgODV4eDogSW5pdCBwY2kgZXRoZXJuZXQgY2FyZHMgaWYgd2UgZW5hYmxlIGFueSBvbiBNUEM4NTcyRFMKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAxYmI2MWI2OWY3YWJhNDkzMWVkZTM1ZmRjYWJkOGU1ZWNhZDEyMWQ3CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgQXVnIDcgMTM6MTY6MzQgMjAwOSAtMDUwMAorCisgICAgeGVzOiBVc2UgcHJvcGVyIElPIGFjY2VzcyBmdW5jdGlvbnMKKworICAgIEFsc28gZml4IHNvbWUgbWlub3Igd2hpdGVzcGFjZSBvZGRpdGllcyB3aGlsZSB3ZSdyZSBjbGVhbmluZyB1cAorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZWM3OWQzM2IyYzQxZWU4YjZkMTM1NGNjMDkxMDIxN2I3NjljNTAzNgorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJRnJpIEF1ZyA3IDEzOjAwOjU1IDIwMDkgLTA1MDAKKworICAgIDg1eHg6IE1vdmUgdG8gYSBjb21tb24gbGlua2VyIHNjcmlwdAorCisgICAgVGhlcmUgYXJlIHJlYWxseSBubyBkaWZmZXJlbmNlcyBiZXR3ZWVuIGFsbCB0aGUgODV4eCBsaW5rZXIgc2NyaXB0cyBzbworICAgIHdlIGNhbiBqdXN0IG1vdmUgdG8gYSBzaW5nbGUgY29tbW9uIG9uZS4gIEJvYXJkIGNvZGUgaXMgc3RpbGwgYWJsZSB0bworICAgIG92ZXJyaWRlIHRoZSBjb21tb24gb25lIGlmIG5lZWQgYmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgODdjNzY2MWI0MmFhNzY3MjUzOWI1NGI1MWQzZDVjNDAxM2VjNmY2YworQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBKdWwgMzEgMTI6MDg6MjcgMjAwOSArMDUzMAorCisgICAgODV4eDogQWRkZWQgUDEwMjAgUHJvY2Vzc29yIFN1cHBvcnQuCisKKyAgICBQMTAyMCBpcyBhbm90aGVyIG1lbWJlciBvZiBRb3JJUSBzZXJpZXMgb2YgcHJvY2Vzc29ycyB3aGljaCBmYWxscyBpbiBVTEUKKyAgICBjYXRlZ29yeS4gSXQgaXMgYW4gZTUwMCBiYXNlZCBkdWFsIGNvcmUgU09DLgorCisgICAgQmVpbmcgYSBzY2FsZWQgZG93biB2ZXJzaW9uIG9mIFAyMDIwIGl0IGhhcyBmb2xsb3dpbmcgZGlmZmVyZW5jZXM6CisgICAgLSA1MzNNSHogLSA4MDBNSHogY29yZSBmcmVxdWVuY3kuCisgICAgLSAyNTZLYnl0ZSBMMiBjYWNoZQorICAgIC0gRXRoZXJuZXQgY29udHJvbGxlcnMgd2l0aCBjbGFzc2lmaWNhdGlvbiBjYXBhYmlsaXRpZXMuCisgICAgQWxzbyB0aGUgU09DIGlzIHBpbiBjb21wYXRpYmxlIHdpdGggUDIwMjAKKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3MjhlY2UzNDNlOGJiMmE2NmVlOTc3YzQ5ZDQ1NTQzOWUzYjI4ZGE5CitBdXRob3I6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIEF1ZyA1IDEzOjI5OjI0IDIwMDkgKzA1MzAKKworICAgIDg1eHg6IEFkZCBzdXBwb3J0IGZvciBQMjAyMFJEQiBib2FyZAorCisgICAgVGhlIGNvZGUgYmFzZSBhZGRzIFAxICYgUDIgUkRCIHBsYXRmb3JtcyBzdXBwb3J0LgorICAgIFRoZSBmb2xkZXIgYW5kIGZpbGUgbmFtZXMgY2FuIGNhdGVyIHRvIGZ1dHVyZSBTT0NzIG9mIFAxL1AyIGZhbWlseS4KKyAgICBQMSAmIFAyIHByb2Nlc3NvcnMgYXJlIDg1eHggcGxhdGZvcm1zLCBwYXJ0IG9mIEZyZWVzY2FsZSBRb3JJUSBzZXJpZXMuCisKKyAgICBUZXN0ZWQgZm9sbG93aW5nIG9uIFAyMDIwUkRCOgorICAgIDEuIGVUU0VDcworICAgIDIuIEREUiwgTkFORCwgTk9SLCBJMkMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMGU4NzA5ODBhNjQ1ODRhNTkxYWY3NzViYjljOWZlOTQ1MDEyNGRmOQorQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CUZyaSBKdWwgMzEgMTI6MDg6MTQgMjAwOSArMDUzMAorCisgICAgOHh4eDogUmVtb3ZlZCBDT05GSUdfTlVNX0NQVVMgZnJvbSA4NXh4Lzg2eHgKKworICAgIFRoZSBudW1iZXIgb2YgQ1BVcyBhcmUgZ2V0dGluZyBkZXRlY3RlZCBkeW5hbWljYWxseSBieSBjaGVja2luZyB0aGUKKyAgICBwcm9jZXNzb3IgU1ZSIHZhbHVlLiAgQWxzbyByZW1vdmVkIENPTkZJR19OVU1fQ1BVUyByZWZlcmVuY2VzIGZyb20gYWxsCisgICAgdGhlIHBsYXRmb3JtcyB3aXRoIDg1eHgvODZ4eCBwcm9jZXNzb3JzLgorCisgICAgVGhpcyBjYW4gaGVscCB0byB1c2UgdGhlIHNhbWUgdS1ib290IGltYWdlIGFjcm9zcyB0aGUgcGxhdGZvcm1zLgorCisgICAgQWxzbyByZXZhbXBlZCBhbmQgY29ycmVjdGVkIGZldyBGcmVlc2NhbGUgQ29weXJpZ2h0IG1lc3NhZ2VzLgorCisgICAgU2lnbmVkLW9mZi1ieTogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDE4YmFjYzIwMjdmODUzMWQ4ZGVjMTViYThkYTMyNDJkZmI0ZTYzZjMKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglGcmkgSnVsIDMxIDEyOjA3OjQ1IDIwMDkgKzA1MzAKKworICAgIDh4eHg6IFJlZmFjdG9yZWQgY29tbW9uIGNwdSBzcGVjaWZpYyBjb2RlIGZvciA4NXh4Lzg2eHggaW50byBvbmUgZmlsZS4KKworICAgIFJlbW92ZWQgc2FtZSBjb2RlIHBpZWNlcyBmcm9tIGNwdS9tcGM4NXh4L2NwdS5jIGFuZCBjcHUvbXBjODZ4eC9jcHUuYworICAgIGFuZCBtb3ZlZCB0byBjcHUvbXBjOHh4eC9jcHUuYyhuZXcgZmlsZSkKKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3YjE4YzIyN2I4NDdlNDc4MmViMTQ5MjIxOWViZDU1NWY1MjFiMDhiCitBdXRob3I6IEFsZXggRHVib3YgPG9ha2FkQHlhaG9vLmNvbT4KK0RhdGU6CUZyaSBBdWcgNyAxNToyODozMiAyMDA5ICsxMDAwCisKKyAgICBzdHg6IGNyZWF0ZSBjb21tb24gdmVuZG9yL2JvYXJkIGhpZXJhcmNoeSBmb3IgU1R4IGJvYXJkcworCisgICAgTW92ZSBmaWxlcyBiZWxvbmdpbmcgdG8gdGhlIFNUeCBib2FyZHMgaW50byBjb21tb24gdmVuZG9yIGRpcmVjdG9yeSBhbmQKKyAgICB1cGRhdGUgdGhlIE1ha2VmaWxlIHRvIHJlZmxlY3QgdGhpcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXggRHVib3YgPG9ha2FkQHlhaG9vLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYmFmZGY5YWE5ZGJiNjlkOTM3YjcyZGIxN2VkNTgwMDk5OGM1OTUyMworQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJVHVlIEF1ZyA0IDE3OjM4OjAwIDIwMDkgLTA1MDAKKworICAgIDg1eHg6IFJlbW92ZSB1bnVzZWQgQ09ORklHX0NMRUFSX0xBVzAgZGVmaW5lcworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNzNhYWNjNTIyODQ5NDg2YjYwYTU2MTFmNjc4ZjBiZjFjMzA1Mzc3OQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVGh1IEF1ZyA2IDE4OjM4OjQzIDIwMDkgLTA1MDAKKworICAgIDg2eHg6IFJlbW92ZSByZWR1ZGFudCBQTEFURk9STV9DUFBGTEFHUworCisgICAgRm9yIGhpc3RvcmljIHJlYXNvbnMgd2UgaGFkIGRlZmluZWQgc29tZSBhZGRpdGlvbmFsIFBMQVRGT1JNX0NQUEZMQUdTIGxpa2U6CisKKyAgICBQTEFURk9STV9DUFBGTEFHUyArPSAtRENPTkZJR19NUEM4Nnh4PTEKKyAgICBQTEFURk9STV9DUFBGTEFHUyArPSAtRENPTkZJR19NUEM4NjQxPTEKKworICAgIEhvd2V2ZXIgdGhlc2UgYXJlIGFsbCBjYXB0dXJlZCBpbiB0aGUgY29uZmlnLmggYW5kIHRodXMgcmVkdWRhbnQuICBBbHNvCisgICAgbW92ZWQgY29tbW9uIDg2eHggZmxhZ3MgaW50byBjcHUvbXBjODZ4eC9jb25maWcubWsuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNTNlZmExZjFhY2FjYWNiNzZmYTlhMjFiMDliMzI5NDc4M2ExMWMwMworQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVGh1IEF1ZyA2IDE4OjI4OjM0IDIwMDkgLTA1MDAKKworICAgIDg1eHg6IFJlbW92ZSByZWR1ZGFudCBQTEFURk9STV9DUFBGTEFHUworCisgICAgRm9yIGhpc3RvcmljIHJlYXNvbnMgd2UgaGFkIGRlZmluZWQgc29tZSBhZGRpdGlvbmFsIFBMQVRGT1JNX0NQUEZMQUdTCisgICAgbGlrZToKKworICAgIFBMQVRGT1JNX0NQUEZMQUdTICs9IC1EQ09ORklHX0U1MDA9MQorICAgIFBMQVRGT1JNX0NQUEZMQUdTICs9IC1EQ09ORklHX01QQzg1eHg9MQorICAgIFBMQVRGT1JNX0NQUEZMQUdTICs9IC1EQ09ORklHX01QQzg1NDg9MQorCisgICAgSG93ZXZlciB0aGVzZSBhcmUgYWxsIGNhcHR1cmVkIGluIHRoZSBjb25maWcuaCBhbmQgdGh1cyByZWR1ZGFudC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzMzdmOWZkZTJlOTMxN2MxZDllODVhNGE4OTU1YTJmMTQ3MzBhMDBmCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglUaHUgSnVsIDMwIDE1OjU0OjA3IDIwMDkgLTA1MDAKKworICAgIDg1eHg6IEFkZCBhIDM2LWJpdCBwaHlzaWNhbCBjb25maWd1cmF0aW9uIGZvciBNUEM4NTM2RFMKKworICAgIFdlIG1vdmUgYWxsIElPIGFkZHJlc3NlZCAoQ0NTUiwgbG9jYWxidXMsIFBDSSkgYWJvdmUgdGhlIDRHIGJvdW5kYXJ5CisgICAgdG8gYWxsb3cgZm9yIGxhcmdlciBtZW1vcnkgc2l6ZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorICAgIEFja2VkLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGVjZWFkODRkNTZiMGNlZDY3YjcyN2Y1Y2UyMWJhMDhjNTNiNWYwOWUKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVR1ZSBBdWcgNCAwOToxMDowMyAyMDA5IC0wNTAwCisKKyAgICA4NXh4OiBDbGVhbnVwIHdoaXRlc3BhY2UgaW4gbXBjODUzNmRzLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBhZDE5ZTdhNWQyZGUzMzcwNjRjZTc3MjhkNjUwNGRmOTY0OGY1ZDMxCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgQXVnIDUgMDc6NTk6MzUgMjAwOSAtMDUwMAorCisgICAgcGNpL2ZzbF9wY2lfaW5pdDogUmV3b3JrIFBDSSBBVE1VIHNldHVwIHRvIGhhbmRsZSA+NEcgb2YgbWVtb3J5CisKKyAgICBUaGUgb2xkIFBDSSBBVE1VIHNldHVwIGNvZGUgd291bGQganVzdCBtaW1pYyB0aGUgUENJIHJlZ2lvbnMgaW50byB0aGUKKyAgICBBVE1VIHJlZ2lzdGVycy4gIEZvciBzaW1wbGUgbWVtb3J5IG1hcHMgaW4gd2hpY2ggYWxsIG1lbW9yeSwgTU1JTywgZXRjCisgICAgc3BhY2UgZml0IGludG8gNEcgdGhpcyB3b3JrcyBvay4gIEhvd2V2ZXIgdGhlcmUgYXJlIGlzc3VlcyB3aXRoIHdlIGhhdmUKKyAgICA+NEcgb2YgbWVtb3J5IGFzIHdlIGtub3cgY2FuJ3QgYWNjZXNzIGFsbCBvZiBtZW1vcnkgYW5kIHdlIG5lZWQgdG8KKyAgICBlbnN1cmUgdGhhdCBQQ0lDU1JCQVIgKFBFWENTUkJBUiBvbiBQQ0llKSBpc24ndCBvdmVybGFwcGluZyB3aXRoCisgICAgYW55dGhpbmcgc2luY2Ugd2UgY2FuJ3QgdHVybiBpdCBvZmYuCisKKyAgICBXZSBmaXJzdCBzZXR1cCBvdXRib3VuZCB3aW5kb3dzIGJhc2VkIG9uIHdoYXQgdGhlIGJvYXJkIGNvZGUgc2V0dXAKKyAgICBpbiB0aGUgcGNpIHJlZ2lvbnMgZm9yIE1NSU8gYW5kIElPIGFjY2Vzcy4JTmV4dCB3ZSBwbGFjZSBQQ0lDU1JCQVIKKyAgICBiZWxvdyB0aGUgTU1JTyB3aW5kb3cuICBBZnRlciB3aGljaCB3ZSB0cnkgdG8gc2V0dXAgdGhlIGluYm91bmQgd2luZG93cworICAgIHRvIG1hcCBhcyBtdWNoIG9mIG1lbW9yeSBhcyBwb3NzaWJsZS4KKworICAgIE9uIFBDSWUgYmFzZWQgY29udHJvbGxlcnMgd2UgYXJlIGFibGUgdG8gb3Zlcm1hcCB0aGUgQVRNVSBzZXR1cCBzaW5jZQorICAgIFJYICYgVFggbGlua3MgYXJlIHNlcGFyYXRlIGJ1dCByZXBvcnQgdGhlIHByb3BlciBhbW91bnQgb2YgaW5ib3VuZAorICAgIGFkZHJlc3Mgc3BhY2UgdG8gdGhlIHJlZ2lvbiB0cmFja2luZyB0byBlbnN1cmUgdGhlcmUgaXMgbm8gb3ZlcmxhcC4KKworICAgIE9uIFBDSSBiYXNlZCBjb250cm9sbGVycyB3ZSB1c2UgYXMgbWFueSBpbmJvdW5kIHdpbmRvd3MgYXMgYXZhaWxhYmxlIHRvCisgICAgbWFwIGFzIG11Y2ggb2YgdGhlIG1lbW9yeSBhcyBwb3NzaWJsZS4KKworICAgIEFkZGl0aW9uYWxseSB3ZSBjaGFuZ2VkIGFsbCB0aGUgQ0NTUiByZWdpc3RlciBhY2Nlc3MgdG8gdXNlIHByb3BlciBJTworICAgIGFjY2Vzc29yIGZ1bmN0aW9ucy4gIEFsc28gaGFkIHRvIGFkZCBDT05GSUdfU1lTX0NDU1JCQVJfUEhZUyB0byBzb21lCisgICAgODZ4eCBwbGF0Zm9ybXMgdGhhdCBkaWRuJ3QgaGF2ZSBpdCBkZWZpbmVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDgyOTViOTQ0MDA0NDk1ODY1MDVmZmUzNGVjMDI0ZmViM2QyYzhmZTQKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVdlZCBBdWcgNSAwNzo0OToyNyAyMDA5IC0wNTAwCisKKyAgICBwY2kvZnNsX3BjaV9pbml0OiBVc2UgUENJZSBjYXBhYmlsaXR5IHRvIGRldGVybWluZSBpZiBjb250cm9sbGVyIGlzIFBDSWUKKworICAgIENoYW5nZSB0aGUgY29kZSB0byB1c2UgdGhlIFBDSWUgY2FwYWJpbGl0aWVzIHJlZ2lzdGVyIHRvIGRldGVybWluZSBpZiB3ZQorICAgIGFyZSBhIFBDSWUgY29udHJvbGxlciBvciBub3QuICBBZGRpdGlvbmFsbHkgY2xlYW5lZCB1cCBzb21lIHdoaXRlIHNwYWNlCisgICAgYW5kIGZvcm1hdHRpbmcgaW4gdGhlIGZpbGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgY2IxNTFhYTJjZjVmYmIxZTQxMmZjNzYzYTNhNjExNzU4ZjA2NjIzOAorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJTW9uIEF1ZyAzIDIxOjAyOjAyIDIwMDkgLTA1MDAKKworICAgIHBjaS9mc2xfcGNpX2luaXQ6IEZvbGQgZnNsX3BjaV9zZXR1cF9pbmJvdW5kX3dpbmRvd3MgaW50byBmc2xfcGNpX2luaXQKKworICAgIEV2ZXJ5IHBsYXRmb3JtIHRoYXQgY2FsbHMgZnNsX3BjaV9pbml0IGNhbGxzIGZzbF9wY2lfc2V0dXBfaW5ib3VuZF93aW5kb3dzCisgICAgYmVmb3JlIGl0IGNhbGxzIGZzbF9wY2lfaW5pdC4gIFRoZXJlIGlzbid0IGFueSByZWFzb24gdG8ganVzdCBjYWxsIGl0CisgICAgZnJvbSBmc2xfcGNpX2luaXQgYW5kIHNpbXBsaWZ5IHRoaW5ncyBhIGJpdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBmYjMxNDNiMzVlYjU4OTBlYzcyZTc5ZDE3YTYwNjhhODRhMDU3ZDQ3CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglNb24gQXVnIDMgMjA6NDQ6NTUgMjAwOSAtMDUwMAorCisgICAgcGNpL2ZzbF9wY2lfaW5pdDogRm9sZCBwY2lfc2V0dXBfaW5kaXJlY3QgaW50byBmc2xfcGNpX2luaXQKKworICAgIEV2ZXJ5IHBsYXRmb3JtIHRoYXQgY2FsbHMgZnNsX3BjaV9pbml0IGNhbGxzIHBjaV9zZXR1cF9pbmRpcmVjdCBiZWZvcmUKKyAgICBpdCBjYWxscyBmc2xfcGNpX2luaXQuICBUaGVyZSBpc24ndCBhbnkgcmVhc29uIHRvIGp1c3QgY2FsbCBpdCBmcm9tCisgICAgZnNsX3BjaV9pbml0IGFuZCBzaW1wbGlmeSB0aGluZ3MgYSBiaXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCiBjb21taXQgMjg4ODdkODMxYjAyYzY2Y2NjMTBkN2YxMzc5MjA0YjVhNjJmNDU0MwogQXV0aG9yOiBBbmRyw6kgU2Nod2FyeiA8YW5kcmUuc2Nod2FyekBtYXRyaXgtdmlzaW9uLmRlPgogRGF0ZToJVGh1IEF1ZyAyNyAxNDo0ODozNSAyMDA5ICswMjAwCkBAIC01OCw2ICs1ODU2LDI4MyBAQAogICAgIG1wYzgzeHg6IG1hdGNoIGR0YiBmaWxlbmFtZSByZWZlcmVuY2VzIHRvIHRoZWlyIGR0cyBlcXVpdmFsZW50cyBpbiB0aGUgbGludXgga2VybmVsCiAKICAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgNzdiMzUxY2QwZjIwNDgzZWVmYTA5YmViZWJiM2UwY2JmNTU1NWIyYworQXV0aG9yOiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CitEYXRlOglUdWUgQXVnIDE4IDEwOjEwOjQyIDIwMDkgLTA0MDAKKworICAgIE5BTkQ6IERhVmluY2k6IFYyIEFkZGluZyA0IEJJVCBFQ0Mgc3VwcG9ydAorCisgICAgVGhpcyBwYXRjaCBhZGRzIDQgQklUIEVDQyBzdXBwb3J0IGluIHRoZSBEYVZpbmNpIE5BTkQKKyAgICBkcml2ZXIuIFRlc3RlZCBvbiBib3RoIHRoZSBETTM1NSBhbmQgRE0zNjUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBmODNiN2Y5ZThhNWQxMzM0ZTI0NTA2ZWE1OTUzZGQ4NzE1OTZlYThhCitBdXRob3I6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CU1vbiBBdWcgMTAgMTM6Mjc6NTYgMjAwOSAtMDQwMAorCisgICAgTVREOk5BTkQ6IEFERCBuZXcgRUNDIG1vZGUgTkFORF9FQ0NfSFdfT09CX0ZJUlNUCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIG5ldyBtb2RlIE5BTkRfRUNDX0hXX09PQl9GSVJTVCBpbiB0aGUgbmFuZCBjb2RlIHRvCisgICAgc3VwcG9ydCA0LWJpdCBFQ0Mgb24gVEkgRGFWaW5jaSBkZXZpY2VzIHdpdGggbGFyZ2UgcGFnZSAodXAgdG8gMkspIE5BTkQKKyAgICBjaGlwcy4gIFRoaXMgRUNDIG1vZGUgaXMgc2ltaWxhciB0byBOQU5EX0VDQ19IVywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mCisgICAgcmVhZF9wYWdlIEFQSSB0aGF0IGZpcnN0IHJlYWRzIHRoZSBPT0IgYXJlYSwgcmVhZHMgdGhlIGRhdGEgaW4gY2h1bmtzLAorICAgIGZlZWRzIHRoZSBFQ0MgZnJvbSBPT0IgYXJlYSB0byB0aGUgRUNDIGh3IGVuZ2luZSBhbmQgcGVyZm9ybSBhbnkKKyAgICBjb3JyZWN0aW9uIG9uIHRoZSBkYXRhIGFzIHBlciB0aGUgRUNDIHN0YXR1cyByZXBvcnRlZCBieSB0aGUgZW5naW5lLgorCisgICAgVGhpcyBwYXRjaCBoYXMgYmVlbiBhY2NlcHRlZCBieSBBbmRyZXcgTW9ydG9uIGFuZCBjYW4gYmUgZm91bmQgYXQKKworICAgIGh0dHA6Ly91c2Vyd2ViLmtlcm5lbC5vcmcvfmFrcG0vbW1vdG0vYnJva2VuLW91dC9tdGQtbmFuZC1hZGQtbmV3LWVjYy1tb2RlLWVjY19od19vb2JfZmlyc3QucGF0Y2gKKworICAgIFNpZ25lZC1vZmYtYnk6IFNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTbmVoYSBOYXJuYWthamUgPG5zbmVoYXByYWJoYUB0aS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAzNmZhYjk5N2Q4NWQ4OWVlN2ZkMmM3ZmQ2MDU3ZmFiNzg2ZDU1NmFhCitBdXRob3I6IElseWEgWWFub2sgPHlhbm9rQGVtY3JhZnQuY29tPgorRGF0ZToJVHVlIEF1ZyAxMSAwMjozMjo1NCAyMDA5ICswNDAwCisKKyAgICBteGNfbmFuZDogYWRkIG5hbmQgZHJpdmVyIGZvciBNWDIvTVgzCisKKyAgICBEcml2ZXIgZm9yIE5GQyBOQU5EIGNvbnRyb2xsZXIgZm91bmQgb24gRnJlZXNjYWxlJ3MgTVgyIGFuZCBNWDMKKyAgICBwcm9jZXNzb3JzLiBQb3J0ZWQgZnJvbSBMaW51eC4gVGVzdGVkIG9ubHkgd2l0aCBpLk1YMjcgYnV0IHNob3VsZAorICAgIHdvcmtzIHdpdGggb3RoZXIgTVgyIGFuZCBNWDMgcHJvY2Vzc29ycyB0b28uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGEyYzY1YjQ3ZWZmY2IzZDBhYTIzZTU4NTk2NTM4YWNkMzM4YWM3YzUKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJTW9uIEF1ZyAxMCAxMzoyNzo0NiAyMDA5IC0wNDAwCisKKyAgICBOQU5EOiBBREQgcGFnZSBQYXJhbWV0ZXIgdG8gYWxsIHJlYWRfcGFnZS9yZWFkX3BhZ2VfcmF3IEFQSSdzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgYSBuZXcgInBhZ2UiIHBhcmFtZXRlciB0byBhbGwgTkFORCByZWFkX3BhZ2UvcmVhZF9wYWdlX3JhdworICAgIEFQSXMuICBUaGUgcmVhZF9wYWdlIEFQSSBmb3IgdGhlIG5ldyBtb2RlIEVDQ19IV19PT0JfRklSU1QgcmVxdWlyZXMgdGhlCisgICAgcGFnZSBpbmZvcm1hdGlvbiB0byBzZW5kIHRoZSBSRUFET09CIGNvbW1hbmQgYW5kIHJlYWQgdGhlIE9PQiBhcmVhIGJlZm9yZQorICAgIHRoZSBkYXRhIGFyZWEuCisKKyAgICBUaGlzIHBhdGNoIGhhcyBiZWVuIGFjY2VwdGVkIGJ5IEFuZHJldyBNb3J0b24gYW5kIGNhbiBiZSBmb3VuZCBhdAorICAgIGh0dHA6Ly91c2Vyd2ViLmtlcm5lbC5vcmcvfmFrcG0vbW1vdG0vYnJva2VuLW91dC9tdGQtbmFuZC1hZGQtcGFnZS1wYXJhbWV0ZXItdG8tYWxsLXJlYWRfcGFnZS1yZWFkX3BhZ2VfcmF3LWFwaXMucGF0Y2gKKworICAgIFdFIHdvdWxkIGxpa2UgdGhpcyB0byBiZWNvbWUgcGFydCBvZiB0aGUgdS1ib290IEdJVCBhcyB3ZWxsCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU25laGEgTmFybmFrYWplIDxuc25laGFwcmFiaGFAdGkuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZGU0MjUwOTI5ZjM3ZTZjMTY4NjA3NDFiNzQ1NDZiZWRiZTBiZGFiYQorQXV0aG9yOiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KK0RhdGU6CVR1ZSBKdWwgMjEgMTc6MTM6NDAgMjAwOSArMDIwMAorCisgICAgODN4eCwga21ldGVyMTogYWRkZWQgTkFORCBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGVjYWQyODlmYzZiZDlkODllZjRkNTA5M2NjN2I2ZmQ3MTJmZDBkMjkKK0F1dGhvcjogS3l1bmdtaW4gUGFyayA8a21wYXJrQGluZnJhZGVhZC5vcmc+CitEYXRlOglUdWUgSnVsIDIxIDExOjU4OjA0IDIwMDkgKzA5MDAKKworICAgIE9uZU5BTkQ6IFJlbW92ZSB1bnVzZWQgcmVhZF9zcGFyZXJhbQorCisgICAgUmVtb3ZlIHVudXNlZCByZWFkX3NwYXJlcmFtIGFuZCBhZGQgdW5sb2NrX2FsbCBhcyBrZXJuZWwgZG9lcworCisgICAgU2lnbmVkLW9mZi1ieTogS3l1bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDQwM2NlMWY3NTliNWFjZWM4NTE0Y2Q3ZTEwY2U3NjcwNGZlZDUxOWMKK0F1dGhvcjogTWF0dGhpYXMgS2FlaGxja2UgPG1hdHRoaWFzQGthZWhsY2tlLm5ldD4KK0RhdGU6CVRodSBKdWwgMTYgMjE6MTk6MjkgMjAwOSArMDIwMAorCisgICAgS0I5MjAyOiBBZGQgTkFORCBzdXBwb3J0CisKKyAgICBBZGQgS0I5MjAyIE5BTkQgZHJpdmVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgY2UzMjc3YTZmMmMwODJmMzk1OTZkM2QzZDg4ZGQwYTViYzkxNDM5ZAorQXV0aG9yOiBLeXVuZ21pbiBQYXJrIDxrbXBhcmtAaW5mcmFkZWFkLm9yZz4KK0RhdGU6CVR1ZSBKdWwgMjEgMTE6NTg6MDQgMjAwOSArMDkwMAorCisgICAgT25lTkFORDogUmVtb3ZlIHVudXNlZCByZWFkX3NwYXJlcmFtCisKKyAgICBSZW1vdmUgdW51c2VkIHJlYWRfc3BhcmVyYW0gYW5kIGFkZCB1bmxvY2tfYWxsIGFzIGtlcm5lbCBkb2VzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgorCitjb21taXQgMGQwNDIwMzdiM2NmODY5M2VhMGY3OTNkMGMyOTI0MzBiZmM1YTk1YworQXV0aG9yOiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGNvbGRoYXVzLmNvbT4KK0RhdGU6CVR1ZSBBdWcgMjUgMTA6MzA6MjYgMjAwOSAtMDUwMAorCisgICAgZ2FsYXh5NTIwMDogQ2xlYW51cCB0eXBvIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGRla2FyZXNlYXJjaC5jb20+CisKK2NvbW1pdCBmNmEzMDkwODBiMmRhOWU1MDliNWVlOGQwOTFkY2E1ZTE3NTQxNWI3CitBdXRob3I6IFRzaUNodW5nIExpZXcgPHRzaWNsaWV3QGdtYWlsLmNvbT4KK0RhdGU6CVdlZCBKdWwgMjIgMTg6NDI6NDUgMjAwOSArMDAwMAorCisgICAgQ29sZEZpcmU6IEZpeCBjb21waWxlIHdhcm5pbmcgbWVzc2FnZXMKKworICAgIENoYW5nZSAlMDhsWCB0byAlMDhYIGluIGJvYXJkLmMuIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKKyAgICAnb3NjaWxsYXRvcicgaW4gbWNmNTIyN3gvY3B1X2luaXQuYyBhbmQgJ3NjbTInIGluCisgICAgbWNmNTMyeC9jcHVfaW5pdC5jLiBQcm92aWRlIGFyZ3VtZW50IHR5cGUgY2FzdCBpbgorICAgIGRyaXZlcnMvZG1hL01DRF9kbWFBcGkuYy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRzaUNodW5nIExpZXcgPHRzaWNsaWV3QGdtYWlsLmNvbT4KKworY29tbWl0IDg4YzgxMWIxNTM3NzFhM2QxYmZlOTU4Mjk3YzY5NzIyZWZiMjc4ZTkKK0F1dGhvcjogVHNpQ2h1bmcgTGlldyA8dHNpY2xpZXdAZ21haWwuY29tPgorRGF0ZToJV2VkIEp1bCAyMiAxNjozMjozOSAyMDA5ICswMDAwCisKKyAgICBDb2xkRmlyZTogRml4IG1pc3NpbmcgX0lPX0JBU0Ugd2hpY2ggY2F1c2VkIGNvbXBpbGUgZXJyb3IKKworICAgIFRoZSBjb21waWxlIGVycm9yIHdhcyBjYXVzZWQgYnkgYSByZWNlbnQgcGF0Y2guIEFmZmVjdGVkIHBsYXRmb3JtcyAtCisgICAgTTUyNTNERU1PLmgsIE01MjUzRVZCRS5oLCBhbmQgTTU0NDU1RVZCLmguIEFkZGluZyB0aGUgX0lPX0JBU0UKKyAgICBhdXRvbWF0aWNhbGx5IGRlZmluZWQgdG8gMCBpbiBhc20tbTY4ay9pby5oIGlmIGl0IGlzbid0IHNldCBpbgorICAgIHBsYXRmb3JtIGNvbmZpZ3VyYXRpb24gZmlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRzaUNodW5nIExpZXcgPHRzaWNsaWV3QGdtYWlsLmNvbT4KKworY29tbWl0IDNhN2IyYzIxZmIwOGIwMjJlM2U2MjRjZDA3MTAwMmI0YWFlZDE2MDYKK0F1dGhvcjogTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBtZW1iZXIuZnNmLm9yZz4KK0RhdGU6CVdlZCBKdWwgMjIgMTc6MTM6MjQgMjAwOSArMDIwMAorCisgICAgU3VwcG9ydCB1cCB0byA3IGJhbmtzIGZvciBpZHMgYXMgc3BlY2lmaWVkIGluIEpFREVDIEpFUDEwNloKKworICAgIHNlZSBodHRwOi8vd3d3LmplZGVjLm9yZy9kb3dubG9hZC9zZWFyY2gvamVwMTA2Wi5wZGYKKyAgICBBZGQgc29tZSBzZWNvbmQgc291cmNlIGxlZ2FjeSBmbGFzaCBjaGlwcyAyNTZ4OC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbWVtYmVyLmZzZi5vcmc+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgMGQwNzFjZGQ3ODJlOTE3YjQzZTA0ODY5ODQzZGYzMTY3MDIzMWZmZAorQXV0aG9yOiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIEF1ZyAyNCAxNDozMjoyNiAyMDA5IC0wNTAwCisKKyAgICBuZXQ6IHRzZWMgLSBoYW5kbGUgdXNlciBpbnRlcnJ1cHQgd2hpbGUgd2FpdGluZyBmb3IgUEhZIGF1dG8gbmVnb3RpYXRpb24gdG8gY29tcGxldGUKKworICAgIGlmIHlvdSBkb24ndCBoYXZlIGZpcm13YXJlIGluc3RhbGxlZCBmb3IgdGhlIFBIWSB0byBjb21lIHRvIGxpZmUsIHRoaXMKKyAgICB3YWl0IGNhbiBiZSBwYWluZnVsIC0gbGV0J3MgZ2l2ZSB0aGUgb3B0aW9uIHRvIGF2b2lkIGl0IGlmIHdlIHdhbnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorICAgIEFja2VkLWJ5OiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDRmY2NiODE4ZTdlZTExOTA2MDJlNzlhYTU3MjlhMjNiYzM0OWJmMGMKK0F1dGhvcjogUm9iaW4gR2V0eiA8cmdldHpAYmxhY2tmaW4udWNsaW51eC5vcmc+CitEYXRlOglUaHUgQXVnIDIwIDEwOjUwOjIwIDIwMDkgLTA0MDAKKworICAgIEFkZCBUcmFuc2ZlciBTaXplIE9wdGlvbiB0byB0ZnRwCisKKyAgICBPcHRpb25hbGx5IGFkZCBSRkMgMjM0OSAiVHJhbnNmZXIgU2l6ZSBPcHRpb24iLCBzbyB3ZSBjYW4gbWluaW1pemUgdGhlCisgICAgdGltZSBzcGVudCBzZW5kaW5nIGRhdGEgb3ZlciB0aGUgVUFSVCAobm93IHByaW50IGEgc2luZ2xlIGxpbmUgZHVyaW5nIGEKKyAgICB0ZnRwIHRyYW5zZmVyKS4KKworICAgICAtIElmIHR1cm5lZCBvbiAoQ09ORklHX1RGVFBfVFNJWkUpLCBVLUJvb3QgYXNrcyBmb3IgdGhlIHNpemUgb2YgdGhlIGZpbGUuCisgICAgIC0gaWYgcmVjZWl2ZXMgdGhlIGZpbGUgc2l6ZSwgYSBzaW5nbGUgbGluZSAoNTAgY2hhcnMpIGFyZSBwcmludGVkLgorCSBvbmUgaGFzaCBtYXJrID09IDIlIG9mIHRoZSBmaWxlIGRvd25sb2FkZWQuCisgICAgIC0gaWYgaXQgZG9lc24ndCByZWNlaXZlIHRoZSBmaWxlIHNpemUgKHRoZSBzZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IFJGQworCSAyMzQ5LCBwcmludHMgc3RhbmRhcmQgaGFzaCBtYXJrcyAob25lIG1hcmsgZm9yIGVhY2ggVURQIGZyYW1lKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJvYmluIEdldHogPHJnZXR6QGJsYWNrZmluLnVjbGludXgub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA0ODhmZWVmODUyMjljMDhjZDNhYTFmYTE4M2JjOGY0ODNkMmFlODMyCitBdXRob3I6IFJvYmluIEdldHogPHJnZXR6QGJsYWNrZmluLnVjbGludXgub3JnPgorRGF0ZToJTW9uIEF1ZyAyNCAxMDozMzozOSAyMDA5IC0wNDAwCisKKyAgICBBZGQgZGVidWcgbWVzc2FnZSBmb3IgQmxhY2tmaW4gRXRoZXJuZXQgUnggZnVuY3Rpb24uCisKKyAgICBBZGQgYSBzaW1wbGUgcHJpbnQgZm9yIHRoZSBCbGFja2ZpbidzIEV0aGVybmV0IFJ4IGZ1bmN0aW9uLAorICAgIHNvIHdlIGNhbiBkZWJ1ZyBpbmNvbW1pbmcgRXRoZXJuZXQgZnVuY3Rpb25zIGVhc2llci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJvYmluIEdldHogPHJnZXR6QGJsYWNrZmluLnVjbGludXgub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBiMWMwZWFhYzExMGJjOTE5ZTViNGU4ODgyMTM0OGU3MTQ0OTNmMjY2CitBdXRob3I6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CitEYXRlOglUdWUgQXVnIDI1IDEzOjA5OjM3IDIwMDkgLTA3MDAKKworICAgIENvbnZlcnQgQ1M4OTAwIEV0aGVybmV0IGRyaXZlciB0byBDT05GSUdfTkVUX01VTFRJIEFQSQorCisgICAgQWxsIGluLXRyZWUgYm9hcmRzIHRoYXQgdXNlIHRoaXMgY29udHJvbGxlciBoYXZlIENPTkZJR19ORVRfTVVMVEkgYWRkZWQKKyAgICBBbHNvOgorICAgICAgLSBjaGFuZ2VkIENPTkZJR19EUklWRVJfQ1M4OTAwIHRvIENPTkZJR19DUzg5MDAKKyAgICAgIC0gY2hhbmdlZCBDUzg5MDBfQkFTRSB0byBDT05GSUdfQ1M4OTAwX0JBU0UKKyAgICAgIC0gY2hhbmdlZCBDUzg5MDBfQlVTPz8gdG8gQ09ORklHX0NTODkwMF9CVVM/PworICAgICAgLSBjbGVhbmVkIHVwIGxpbmUgbGVuZ3RocworICAgICAgLSBtb2RpZmllZCBWQ01BOSBjb21tYW5kIGZ1bmN0aW9uIHRoYXQgYWNjZXNzZXMgdGhlIGRldmljZQorICAgICAgLSByZW1vdmVkIE1BQyBhZGRyZXNzIGluaXRpYWxpemF0aW9uIGZyb20gbGliX2FybS9ib2FyZC5jCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorICAgIFRlc3RlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBBY2tlZC1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IGQ0NzYyOGE2ZWNmODBjZDQ1ODRhNTBiNmM3OTViOTBjOTg1YTQ4ZTUKK0F1dGhvcjogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaS1saXN0QGdudWRkLmNvbT4KK0RhdGU6CUZyaSBBdWcgNyAxMzo1OToyNiAyMDA5ICswMjAwCisKKyAgICBhcm0gbm9tYWRpazogYWN0aXZhdGUgZGVmcmFnIGNob29zZSA0ayB0cmFuc2ZlciBibG9jayBzaXplCisKKyAgICBUaGlzIGNob29zZXMgNGtCIGRhdGEgc2l6ZSBmb3IgYm90aCBURlRQIGFuZCBORlMsIGFzIGFuIGV4YW1wbGUKKyAgICBhYm91dCBob3cgdG8gdXNlIHN1cHBvcnQgZm9yIElQIGZyYWdtZW50cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAZ251ZGQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBiZDkzMWNhNjFjODQwMzkyNDFkNDM4YWRlNGE5NzU1YWUwZTUzNzJmCitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmktbGlzdEBnbnVkZC5jb20+CitEYXRlOglGcmkgQXVnIDcgMTM6NTk6MTYgMjAwOSArMDIwMAorCisgICAgbmZzOiBhY2NlcHQgQ09ORklHX05GU19SRUFEX1NJWkUgZnJvbSBjb25maWcgZmlsZQorCisgICAgVG8gdGFrZSBhZHZhbnRhZ2Ugb2YgZGVmcmFnbWVudGVkIHBhY2tldHMsIHRoZSBjb25maWcgZmlsZQorICAgIGNhbiBkZWZpbmUgQ09ORklHX05GU19SRUFEX1NJWkUgdG8gb3ZlcnJpZGUgdGhlIDFrQiBkZWZhdWx0LgorICAgIE5vIHN1cHBvcnQgaXMgdGhlcmUgZm9yIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGJ5IG5vdy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAZ251ZGQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA4OWJhODFkMTA3OWEwN2I4NDMwYTk4YzE3NDZjNmQ0MTEzMTJlYjBkCitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmktbGlzdEBnbnVkZC5jb20+CitEYXRlOglGcmkgQXVnIDcgMTM6NTk6MDYgMjAwOSArMDIwMAorCisgICAgdGZ0cDogZ2V0IHRoZSB0ZnRwIGJsb2NrIHNpemUgZnJvbSBjb25maWcgZmlsZSBhbmQgZnJvbSB0aGUgZW52aXJvbm1lbnQKKworICAgIEluY3JlYXNpbmcgdGhlIGJsb2NrIHNpemUgaXMgdXNlZnVsIGlmIENPTkZJR19JUF9ERUZSQUcgaXMKKyAgICB1c2VkLiBIb3dlcnZlciwgdGhlIGxhc3QgZnJhZ21lbnRzIGluIGEgYnVyc3QgbWF5IG92ZXJmbG93IHRoZQorICAgIHJlY2VpdmluZyBldGhlcm5ldCwgc28gdGhlIGRlZmF1bHQgaXMgbGVmdCBhdCAxNDY4LCB3aXRoIHRocmUgbmV3CisgICAgQ09ORklHX1RGVFBfQkxPQ0tTSVpFIGZvciBjb25maWcgZmlsZXMuIEZ1cnRoZXIsICJ0ZnRwYmxvY2tzaXplIgorICAgIGNhbiBiZSBzZXQgaW4gdGhlIGVudmlyb25tZW50LgorCisgICAgU2lnbmVkLW9mZi1ieTogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUBnbnVkZC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDVjZmFhNGU1NGQwZWI4MjMyZmExY2YwOTJkOTU1ZmRhZWQ1YjY3M2QKK0F1dGhvcjogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaS1saXN0QGdudWRkLmNvbT4KK0RhdGU6CUZyaSBBdWcgNyAxMzo1ODo1NiAyMDA5ICswMjAwCisKKyAgICBuZXQ6IGRlZnJhZ21lbnQgSVAgcGFja2V0cworCisgICAgVGhlIGRlZnJhZ21lbnRpbmcgY29kZSBpcyBlbmFibGVkIGJ5IENPTkZJR19JUF9ERUZSQUc7IHRoZSBjb2RlIGlzCisgICAgdXNlZnVsIGZvciBURlRQIGFuZCBORlMgdHJhbnNmZXJzLglUaGUgdXNlciBjYW4gc3BlY2lmeSB0aGUgbWF4aW11bQorICAgIGRlZnJhZ21lbnRlZCBwYXlsb2FkIGFzIENPTkZJR19ORVRfTUFYREVGUkFHIChkZWZhdWx0IDE2aykuCisgICAgU2luY2UgTkZTIGhhcyBhIGJpZ2dlciBwZXItcGFja2V0IG92ZXJoZWFkIHRoYW4gVEZUUCwgdGhlIHN0YXRpYworICAgIHJlYXNzZW1ibHkgYnVmZmVyIGNhbiBob2xkIENPTkZJR19ORVRfTUFYREVGUkFHICsgdGhlIE5GUyBvdmVyaGVhZC4KKworICAgIFRoZSBwYWNrZXQgYnVmZmVyIGlzIHVzZWQgYXMgYW4gYXJyYXkgb2YgImhvbGUiIHN0cnVjdHVyZXMsIGFjdGluZyBhcworICAgIGEgZG91YmxlLWxpbmtlZCBsaXN0LiBFYWNoIG5ldyBmcmFnbWVudCBjYW4gc3BsaXQgYSBob2xlIGluIHR3bywKKyAgICByZWR1Y2UgYSBob2xlIG9yIGZpbGwgYSBob2xlLiBObyBzdXBwb3J0IGlzIHRoZXJlIGZvciBhIGZyYWdtZW50CisgICAgb3ZlcmxhcHBpbmcgdHdvIGRpZmZyZW50IGhvbGVzIChpLmUuLCB0aHJlIG5ldyBmcmFnbWVudCBpcyBhY3Jvc3MgYW4KKyAgICBhbHJlYWR5LXJlY2VpdmVkIGZyYWdtZW50KS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAZ251ZGQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CiAKIGNvbW1pdCA2OGU3NDU2N2NmMzE3MzE4ZGY1MmRiY2IyYWMxNzBmZmM1ZTc3NThhCiBBdXRob3I6IEZlbmcgS2FuIDxma2FuQGFtY2MuY29tPgpAQCAtODksNiArNjE2NCw5MyBAQAogICAgIEFja2VkLWJ5OiBQcm9keXV0IEhhemFyaWthIDxwaGF6YXJpa2FAYW1jYy5jb20+CiAgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgogCitjb21taXQgMzA3ZWNiNmRiMDRlZWJkYzA2YjhjODdkNDhiZjQ4ZDNjYmQ1ZTlkNworQXV0aG9yOiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGNvbGRoYXVzLmNvbT4KK0RhdGU6CVRodSBBdWcgMTMgMDg6MzI6MzcgMjAwOSAtMDUwMAorCisgICAgQWRkIHN1cHBvcnQgZm9yIFVTQiBvbiBQU0MzIGZvciB0aGUgbXBjNTIwMAorCisgICAgU3VwcG9ydCBVU0Igb24gUFNDMyBvbiB0aGUgbXBjNTIwMC4gIEJlZm9yZSB0aGlzIHBhdGNoLCBlbmFibGluZyBVU0Igc3VwcG9ydAorICAgIHdvdWxkIHJlY29uZmlndXJlIFBTQzQgYW5kIFBTQzUgdG8gVVNCLiAgVGhlIG1wYzUyMDAgZG9lcyBub3Qgc3VwcG9ydCBVU0IKKyAgICBlbmFibGVkIG9uIGJvdGggdGhlIHN0YW5kYXJkIFVTQiBwb3J0IGFuZCBQU0MzLiAgVGhpcyBwYXRjaCBtYXNrcyB0aGUKKyAgICBhcHByb3ByaWF0ZSBiaXRzIHdoZW4gZW5hYmxpbmcgVVNCLgorCisgICAgU2lnbmVkLW9mZi1ieTogRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBkZWthcmVzZWFyY2guY29tPgorICAgIEFja2VkLWJ5OiBHcmFudCBMaWtlbHkgPGdyYW50Lmxpa2VseUBzZWNyZXRsYWIuY2E+CisgICAgQWNrZWQtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorCitjb21taXQgNmI4NTQ4YjBmNzA2ODM3OWFkMWVmYTRmYTI4NzI1ZjM2MWIyZDNjZAorQXV0aG9yOiBBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgorRGF0ZToJVGh1IEF1ZyAxMyAxOToxMjo0NCAyMDA5ICswMjAwCisKKyAgICBBZGQgZHJpdmVyIGZvciB0aGUgU1QgTTQxVDk0IFNQSSBSVEMKKworICAgIFRoaXMgUlRDIGlzIHVzZWQgaW4gc29tZSBDYWxhbyBib2FyZHMuIFRoZSBkcml2ZXIgY29kZSBpcyB0YWtlbiBmcm9tCisgICAgdGhlIGxpbnV4IHJ0Yy1tNDF0OTQgZHJpdmVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgorCitjb21taXQgODg1ZmM3OGMyOGZiZTc3M2JjYjRlZGM5ZGQwZmRhYzA1ZWJiNWIzOAorQXV0aG9yOiBBbGJpbiBUb25uZXJyZSA8YWxiaW4udG9ubmVycmVAZnJlZS1lbGVjdHJvbnMuY29tPgorRGF0ZToJVGh1IEF1ZyAxMyAxNTozMToxMiAyMDA5ICswMjAwCisKKyAgICBTd2l0Y2ggZnJvbSBwZXItZHJpdmVyIHRvIGNvbW1vbiBkZWZpbml0aW9uIG9mIGJpbjJiY2QgYW5kIGJjZDJiaW4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGU4NGFiYTEzNWVkNzE0NTI5OTMwNGVmNTUwZTkyZjA4YjJjOTlkN2EKK0F1dGhvcjogQWxiaW4gVG9ubmVycmUgPGFsYmluLnRvbm5lcnJlQGZyZWUtZWxlY3Ryb25zLmNvbT4KK0RhdGU6CVRodSBBdWcgMTMgMTU6MzE6MTEgMjAwOSArMDIwMAorCisgICAgUmVwbGFjZSBCQ0QyQklOIGFuZCBCSU4yQkNEIG1hY3JvcyB3aXRoIGlubGluZSBmdW5jdGlvbnMKKworICAgIEluIHRoZSBwcm9jZXNzLCBhbHNvIHJlbW92ZSBiYWNrd2FyZC1jb21wYXRpYmxpdHkgbWFjcm9zIEJJTl9UT19CQ0QgYW5kCisgICAgQkNEX1RPX0JJTiBhbmQgdXBkYXRlIHRoZSBzb2xlIGJvYXJkIHVzaW5nIHRoZW0gdG8gdXNlIHRoZSBuZXcgYmluMmJjZAorICAgIGFuZCBiY2QyYmluIGluc3RlYWQKKworICAgIFNpZ25lZC1vZmYtYnk6IEFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CisgICAgQWNrZWQtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBBY2tlZC1ieTogRGV0bGV2IFp1bmRlbCA8ZHp1QGRlbnguZGU+CisKK2NvbW1pdCA1YjUzYjI5YmMyZTgyYjgwYjY2OWYxZDI0MDIwNjhjNjBkN2ZlY2QwCitBdXRob3I6IEVyaWMgTWlsbGJyYW5kdCA8ZW1pbGxicmFuZHRAY29sZGhhdXMuY29tPgorRGF0ZToJVGh1IEF1ZyAxMyAxMDoxNDoyMSAyMDA5IC0wNTAwCisKKyAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIGdhbGF4eTUyMDAKKworICAgIEFkZCBzdXBwb3J0IGZvciB0aGUgREVLQSBSZXNlYXJjaCBhbmQgRGV2ZWxvcG1lbnQgZ2FsYXh5NTIwMCBib2FyZAorCisgICAgVGhlIGdhbGF4eTUyMDAgaXMgYW4gRnJlZXNjYWxlIG1wYzUyMDAgYmFzZWQgZW1iZWRkZWQgaW5kdXN0cmlhbAorICAgIGNvbnRyb2wgYm9hcmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIE1pbGxicmFuZHQgPGVtaWxsYnJhbmR0QGRla2FyZXNlYXJjaC5jb20+CisKK2NvbW1pdCAwYTllNGU3NzIxMjNmZTNlMmJiNDk5ZDdkMjE2MGM0Y2ZkOGEzYThkCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CUZyaSBKdWwgMjQgMTY6MzQ6MzIgMjAwOSAtMDQwMAorCisgICAgdW5pZnkge0NPTkZJR18sfUVOVl9JU19FTUJFRERFRAorCisgICAgU29tZSBib2FyZHMgaGF2ZSBmYWxsZW4gb3V0IG9mIHN5bmMgYnkgZGVmaW5pbmcgQ09ORklHX0VOVl9JU19FTUJFRERFRAorICAgIG1hbnVhbGx5LiAgV2hpbGUgaXQgaXMgdXNlZnVsIHRvIGhhdmUgdGhpcyBhdmFpbGFibGUgdG8gdGhlIGJ1aWxkIHN5c3RlbSwKKyAgICBsZXQncyBkbyBpdCBhdXRvbWF0aWNhbGx5IHJhdGhlciB0aGFuIGZvcmNpbmcgcGVvcGxlIHRvIG9wdCBpbnRvIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IEFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDAyYzlhYTFkNDFmNzNmZGNmODM4M2EzNmNjMGNiYmZhZjk1Mjg1NWQKK0F1dGhvcjogUm9iaW4gR2V0eiA8cmdldHpAYmxhY2tmaW4udWNsaW51eC5vcmc+CitEYXRlOglNb24gSnVsIDI3IDAwOjA3OjU5IDIwMDkgLTA0MDAKKworICAgIEFkZCBtZDVzdW0gYW5kIHNoYTEgY29tbWFuZHMuLi4KKworICAgIE5vdyB0aGF0IHdlIGhhdmUgc2hhMSBhbmQgbWQ1IGluIGxpYl9nZW5lcmljLCBhbGxvdyBwZW9wbGUgdG8gdXNlCisgICAgdGhlbSBvbiB0aGUgY29tbWFuZCBsaW5lLCBmb3IgY2hlY2tpbmcgZG93bmxvYWRlZCBmaWxlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJvYmluIEdldHogPHJnZXR6QGFuYWxvZy5jb20+CisKIGNvbW1pdCAzMGZjNWNkMzExNmNiMTEyZDBhYWI3ZTZkN2M4ZWVmMWI2N2VkMDc1CiBBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CiBEYXRlOglUdWUgQXVnIDI1IDEyOjIyOjM4IDIwMDkgKzAyMDAKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggYTY5ZTZkNS4uYmNiM2ZlOSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTIyLDkgKzIyLDkgQEAKICMKIAogVkVSU0lPTiA9IDIwMDkKLVBBVENITEVWRUwgPSAwOAorUEFUQ0hMRVZFTCA9IDExCiBTVUJMRVZFTCA9Ci1FWFRSQVZFUlNJT04gPQorRVhUUkFWRVJTSU9OID0gLXJjMQogaWZuZXEgIiQoU1VCTEVWRUwpIiAiIgogVV9CT09UX1ZFUlNJT04gPSAkKFZFUlNJT04pLiQoUEFUQ0hMRVZFTCkuJChTVUJMRVZFTCkkKEVYVFJBVkVSU0lPTikKIGVsc2UKZGlmZiAtLWdpdCBhL2JvYXJkL2RhdmluY2kvZG02NDY3ZXZtL2RtNjQ2N2V2bS5jIGIvYm9hcmQvZGF2aW5jaS9kbTY0Njdldm0vZG02NDY3ZXZtLmMKaW5kZXggOTYwNTgxOC4uYWMzYjI4MiAxMDA2NDQKLS0tIGEvYm9hcmQvZGF2aW5jaS9kbTY0Njdldm0vZG02NDY3ZXZtLmMKKysrIGIvYm9hcmQvZGF2aW5jaS9kbTY0Njdldm0vZG02NDY3ZXZtLmMKQEAgLTI4LDQgKzI4LDMgQEAKIAogCXJldHVybiAwOwogfQotCmRpZmYgLS1naXQgYS9ib2FyZC9lcDgyNDgvZXA4MjQ4LmMgYi9ib2FyZC9lcDgyNDgvZXA4MjQ4LmMKaW5kZXggNTdkMzlhYS4uNTkwODk0MyAxMDA2NDQKLS0tIGEvYm9hcmQvZXA4MjQ4L2VwODI0OC5jCisrKyBiL2JvYXJkL2VwODI0OC9lcDgyNDguYwpAQCAtMjY4LDQgKzI2OCwzIEBACiAJZnRfY3B1X3NldHVwKCBibG9iLCBiZCk7CiB9CiAjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfT0ZfQk9BUkRfU0VUVVApICYmIGRlZmluZWQoQ09ORklHX09GX0xJQkZEVCkgKi8KLQpkaWZmIC0tZ2l0IGEvYm9hcmQvbG9naWNwZC9pbXgyN2xpdGUvTWFrZWZpbGUgYi9ib2FyZC9sb2dpY3BkL2lteDI3bGl0ZS9NYWtlZmlsZQppbmRleCBjNDA0Y2VmLi4wNGRjOGFlIDEwMDY0NAotLS0gYS9ib2FyZC9sb2dpY3BkL2lteDI3bGl0ZS9NYWtlZmlsZQorKysgYi9ib2FyZC9sb2dpY3BkL2lteDI3bGl0ZS9NYWtlZmlsZQpAQCAtNDgsNCArNDgsMyBAQAogc2luY2x1ZGUgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KZGlmZiAtLWdpdCBhL2NwdS9hcm05MjZlanMvbXgyNy9nZW5lcmljLmMgYi9jcHUvYXJtOTI2ZWpzL214MjcvZ2VuZXJpYy5jCmluZGV4IDgwODM3MWYuLmRhMDVjNTUgMTAwNjQ0Ci0tLSBhL2NwdS9hcm05MjZlanMvbXgyNy9nZW5lcmljLmMKKysrIGIvY3B1L2FybTkyNmVqcy9teDI3L2dlbmVyaWMuYwpAQCAtMzI4LDQgKzMyOCwzIEBACiAKIH0KICNlbmRpZiAvKiBDT05GSUdfTVhDX01NQyAqLwotCmRpZmYgLS1naXQgYS9jcHUvYXJtX2NvcnRleGE4L3N0YXJ0LlMgYi9jcHUvYXJtX2NvcnRleGE4L3N0YXJ0LlMKaW5kZXggMTRhOWJkMy4uMjlkYWUyZiAxMDA2NDQKLS0tIGEvY3B1L2FybV9jb3J0ZXhhOC9zdGFydC5TCisrKyBiL2NwdS9hcm1fY29ydGV4YTgvc3RhcnQuUwpAQCAtNDE0LDQgKzQxNCwzIEBACiAJYmwJZG9fZmlxCiAKICNlbmRpZgotCmRpZmYgLS1naXQgYS9jcHUvbXBjODV4eC9maXhlZF9pdm9yLlMgYi9jcHUvbXBjODV4eC9maXhlZF9pdm9yLlMKaW5kZXggZGM3MjVjOS4uMzIwY2FlMyAxMDA2NDQKLS0tIGEvY3B1L21wYzg1eHgvZml4ZWRfaXZvci5TCisrKyBiL2NwdS9tcGM4NXh4L2ZpeGVkX2l2b3IuUwpAQCAtMzUsMjIgKzM1LDIyIEBACiAJbGkJcjMsdmVjdG9yX29mZnNldEBsOyAJCVwKIAltdHNwcglTUFJOX0dJVk9SIyN2ZWN0b3JfbnVtYmVyLHIzOwogCi0gICAgICAgIFNFVF9JVk9SKDAsIDB4MDIwKSAvKiBDcml0aWNhbCBJbnB1dCAqLwotICAgICAgICBTRVRfSVZPUigxLCAweDAwMCkgLyogTWFjaGluZSBDaGVjayAqLwotICAgICAgICBTRVRfSVZPUigyLCAweDA2MCkgLyogRGF0YSBTdG9yYWdlICovCi0gICAgICAgIFNFVF9JVk9SKDMsIDB4MDgwKSAvKiBJbnN0cnVjdGlvbiBTdG9yYWdlICovCi0gICAgICAgIFNFVF9JVk9SKDQsIDB4MGEwKSAvKiBFeHRlcm5hbCBJbnB1dCAqLwotICAgICAgICBTRVRfSVZPUig1LCAweDBjMCkgLyogQWxpZ25tZW50ICovCi0gICAgICAgIFNFVF9JVk9SKDYsIDB4MGUwKSAvKiBQcm9ncmFtICovCi0gICAgICAgIFNFVF9JVk9SKDcsIDB4MTAwKSAvKiBGUCBVbmF2YWlsYWJsZSAqLwotICAgICAgICBTRVRfSVZPUig4LCAweDEyMCkgLyogU3lzdGVtIENhbGwgKi8KLSAgICAgICAgU0VUX0lWT1IoOSwgMHgxNDApIC8qIEF1eGlsaWFyeSBQcm9jZXNzb3IgVW5hdmFpbGFibGUgKi8KLSAgICAgICAgU0VUX0lWT1IoMTAsIDB4MTYwKSAvKiBEZWNyZW1lbnRlciAqLwotICAgICAgICBTRVRfSVZPUigxMSwgMHgxODApIC8qIEZpeGVkIEludGVydmFsIFRpbWVyICovCi0gICAgICAgIFNFVF9JVk9SKDEyLCAweDFhMCkgLyogV2F0Y2hkb2cgVGltZXIgKi8KLSAgICAgICAgU0VUX0lWT1IoMTMsIDB4MWMwKSAvKiBEYXRhIFRMQiBFcnJvciAqLwotICAgICAgICBTRVRfSVZPUigxNCwgMHgxZTApIC8qIEluc3RydWN0aW9uIFRMQiBFcnJvciAqLwotICAgICAgICBTRVRfSVZPUigxNSwgMHgwNDApIC8qIERlYnVnICovCisJU0VUX0lWT1IoMCwgMHgwMjApIC8qIENyaXRpY2FsIElucHV0ICovCisJU0VUX0lWT1IoMSwgMHgwMDApIC8qIE1hY2hpbmUgQ2hlY2sgKi8KKwlTRVRfSVZPUigyLCAweDA2MCkgLyogRGF0YSBTdG9yYWdlICovCisJU0VUX0lWT1IoMywgMHgwODApIC8qIEluc3RydWN0aW9uIFN0b3JhZ2UgKi8KKwlTRVRfSVZPUig0LCAweDBhMCkgLyogRXh0ZXJuYWwgSW5wdXQgKi8KKwlTRVRfSVZPUig1LCAweDBjMCkgLyogQWxpZ25tZW50ICovCisJU0VUX0lWT1IoNiwgMHgwZTApIC8qIFByb2dyYW0gKi8KKwlTRVRfSVZPUig3LCAweDEwMCkgLyogRlAgVW5hdmFpbGFibGUgKi8KKwlTRVRfSVZPUig4LCAweDEyMCkgLyogU3lzdGVtIENhbGwgKi8KKwlTRVRfSVZPUig5LCAweDE0MCkgLyogQXV4aWxpYXJ5IFByb2Nlc3NvciBVbmF2YWlsYWJsZSAqLworCVNFVF9JVk9SKDEwLCAweDE2MCkgLyogRGVjcmVtZW50ZXIgKi8KKwlTRVRfSVZPUigxMSwgMHgxODApIC8qIEZpeGVkIEludGVydmFsIFRpbWVyICovCisJU0VUX0lWT1IoMTIsIDB4MWEwKSAvKiBXYXRjaGRvZyBUaW1lciAqLworCVNFVF9JVk9SKDEzLCAweDFjMCkgLyogRGF0YSBUTEIgRXJyb3IgKi8KKwlTRVRfSVZPUigxNCwgMHgxZTApIC8qIEluc3RydWN0aW9uIFRMQiBFcnJvciAqLworCVNFVF9JVk9SKDE1LCAweDA0MCkgLyogRGVidWcgKi8KIAogLyogZTUwMHYxICYgZTUwMHYyIG9ubHkgKi8KICNpZm5kZWYgQ09ORklHX0U1MDBNQwpAQCAtNTksMjEgKzU5LDIxIEBACiAJU0VUX0lWT1IoMzQsIDB4MjQwKSAvKiBFbWJlZGRlZCBGUCBSb3VuZCAqLwogI2VuZGlmCiAKLSAgICAgICAgU0VUX0lWT1IoMzUsIDB4MjYwKSAvKiBQZXJmb3JtYW5jZSBtb25pdG9yICovCisJU0VUX0lWT1IoMzUsIDB4MjYwKSAvKiBQZXJmb3JtYW5jZSBtb25pdG9yICovCiAKIC8qIGU1MDBtYyBvbmx5ICovCiAjaWZkZWYgQ09ORklHX0U1MDBNQwotICAgICAgICBTRVRfSVZPUigzNiwgMHgyODApIC8qIFByb2Nlc3NvciBkb29yYmVsbCAqLwotICAgICAgICBTRVRfSVZPUigzNywgMHgyYTApIC8qIFByb2Nlc3NvciBkb29yYmVsbCBjcml0aWNhbCAqLwotICAgICAgICBTRVRfSVZPUigzOCwgMHgyYzApIC8qIEd1ZXN0IFByb2Nlc3NvciBkb29yYmVsbCAqLwotICAgICAgICBTRVRfSVZPUigzOSwgMHgyZTApIC8qIEd1ZXN0IFByb2Nlc3NvciBjcml0aWNhbCAmIG1hY2hpbmUgY2hlY2sgKi8KLSAgICAgICAgU0VUX0lWT1IoNDAsIDB4MzAwKSAvKiBIeXBlcnZpc29yIHN5c3RlbSBjYWxsICovCi0gICAgICAgIFNFVF9JVk9SKDQxLCAweDMyMCkgLyogSHlwZXJ2aXNvciBQcml2aWxlZGdlICovCisJU0VUX0lWT1IoMzYsIDB4MjgwKSAvKiBQcm9jZXNzb3IgZG9vcmJlbGwgKi8KKwlTRVRfSVZPUigzNywgMHgyYTApIC8qIFByb2Nlc3NvciBkb29yYmVsbCBjcml0aWNhbCAqLworCVNFVF9JVk9SKDM4LCAweDJjMCkgLyogR3Vlc3QgUHJvY2Vzc29yIGRvb3JiZWxsICovCisJU0VUX0lWT1IoMzksIDB4MmUwKSAvKiBHdWVzdCBQcm9jZXNzb3IgY3JpdGljYWwgJiBtYWNoaW5lIGNoZWNrICovCisJU0VUX0lWT1IoNDAsIDB4MzAwKSAvKiBIeXBlcnZpc29yIHN5c3RlbSBjYWxsICovCisJU0VUX0lWT1IoNDEsIDB4MzIwKSAvKiBIeXBlcnZpc29yIFByaXZpbGVkZ2UgKi8KIAotICAgICAgICBTRVRfR0lWT1IoMiwgMHgwNjApIC8qIEd1ZXN0IERhdGEgU3RvcmFnZSAqLwotICAgICAgICBTRVRfR0lWT1IoMywgMHgwODApIC8qIEd1ZXN0IEluc3RydWN0aW9uIFN0b3JhZ2UgKi8KLSAgICAgICAgU0VUX0dJVk9SKDQsIDB4MGEwKSAvKiBHdWVzdCBFeHRlcm5hbCBJbnB1dCAqLwotICAgICAgICBTRVRfR0lWT1IoOCwgMHgxMjApIC8qIEd1ZXN0IFN5c3RlbSBDYWxsICovCi0gICAgICAgIFNFVF9HSVZPUigxMywgMHgxYzApIC8qIEd1ZXN0IERhdGEgVExCIEVycm9yICovCi0gICAgICAgIFNFVF9HSVZPUigxNCwgMHgxZTApIC8qIEd1ZXN0IEluc3RydWN0aW9uIFRMQiBFcnJvciAqLworCVNFVF9HSVZPUigyLCAweDA2MCkgLyogR3Vlc3QgRGF0YSBTdG9yYWdlICovCisJU0VUX0dJVk9SKDMsIDB4MDgwKSAvKiBHdWVzdCBJbnN0cnVjdGlvbiBTdG9yYWdlICovCisJU0VUX0dJVk9SKDQsIDB4MGEwKSAvKiBHdWVzdCBFeHRlcm5hbCBJbnB1dCAqLworCVNFVF9HSVZPUig4LCAweDEyMCkgLyogR3Vlc3QgU3lzdGVtIENhbGwgKi8KKwlTRVRfR0lWT1IoMTMsIDB4MWMwKSAvKiBHdWVzdCBEYXRhIFRMQiBFcnJvciAqLworCVNFVF9HSVZPUigxNCwgMHgxZTApIC8qIEd1ZXN0IEluc3RydWN0aW9uIFRMQiBFcnJvciAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9kb2MvUkVBRE1FLmJpdGJhbmdNSUkgYi9kb2MvUkVBRE1FLmJpdGJhbmdNSUkKaW5kZXggZWRkMDg1Ni4uMGEyZmE0OCAxMDA2NDQKLS0tIGEvZG9jL1JFQURNRS5iaXRiYW5nTUlJCisrKyBiL2RvYy9SRUFETUUuYml0YmFuZ01JSQpAQCAtNiw3ICs2LDcgQEAKIFRoZSBkcml2ZXIgcmVxdWlyZXMgdGhhdCB0aGUgZm9sbG93aW5nIG1hY3JvcyBzaG91bGQgYmUgZGVmaW5lZCBpbnRvIHRoZSBib2FyZAogY29uZmlndXJhdGlvbiBmaWxlOgogCi1DT05GSUdfQklUQkFOR01JSSAgICAgICAtIEVuYWJsZSB0aGUgbWlpcGh5YmIgZHJpdmVyCitDT05GSUdfQklUQkFOR01JSQktIEVuYWJsZSB0aGUgbWlpcGh5YmIgZHJpdmVyCiBDT05GSUdfQklUQkFOR01JSV9NVUxUSSAtIEVuYWJsZSB0aGUgbXVsdGkgYnVzIHN1cHBvcnQKIAogSWYgdGhlIENPTkZJR19CSVRCQU5HTUlJX01VTFRJIGlzIG5vdCBkZWZpbmVkLCB0aGUgYm9hcmQncyBjb25maWcgZmlsZSBuZWVkcwpAQCAtMTksNyArMTksNyBAQAogTURJT19SRUFEICAgICAtIFJlYWQgdGhlIE1ESU8gcGluCiBNRElPKHYpICAgICAgIC0gV3JpdGUgdiBvbiB0aGUgTURJTyBwaW4KIE1EQ19ERUNMQVJFICAgLSBEZWNsYXJhdGlvbiBuZWVkZWQgdG8gYWNjZXNzIHRvIHRoZSBNREMgcGluIChvcHRpb25hbCkKLU1EQyh2KSAgICAgICAgLSBXcml0ZSB2IG9uIHRoZSBNREMgcGluCitNREModikJICAgICAgLSBXcml0ZSB2IG9uIHRoZSBNREMgcGluCiAKIFRoZSBwcmV2aW91cyBtYWNyb3MgbWFrZSB0aGUgZHJpdmVyIGNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbgogKHRoYXQgZGlkbid0IHN1cHBvcnQgdGhlIG11bHRpLWJ1cykuCkBAIC0zMCwxNyArMzAsMTcgQEAKIFRoZSByZWNvcmQgKHN0cnVjdCBiYl9taWlwaHlfYnVzKSBoYXMgdGhlIGZvbGxvd2luZyBmaWVsZHMvY2FsbGJhY2tzIChzZWUKIG1paXBoeS5oIGZvciBkZXRhaWxzKToKIAotY2hhciBuYW1lW10gICAgICAgICAgICAtIFRoZSBzeW1ib2xpYyBuYW1lIHRoYXQgbXVzdCBiZSBlcXVhbCB0byB0aGUgTUlJIGJ1cwotICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWQgbmFtZQotaW50ICgqaW5pdCkoKSAgICAgICAgICAtIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBhdCBzdGFydHVwIHRpbWUgKGp1c3QKLSAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIEV0aGVybmV0IGluaXRpYWxpemF0aW9uKQorY2hhciBuYW1lW10JICAgICAgIC0gVGhlIHN5bWJvbGljIG5hbWUgdGhhdCBtdXN0IGJlIGVxdWFsIHRvIHRoZSBNSUkgYnVzCisJCQkgcmVnaXN0ZXJlZCBuYW1lCitpbnQgKCppbml0KSgpCSAgICAgICAtIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBhdCBzdGFydHVwIHRpbWUgKGp1c3QKKwkJCSBiZWZvcmUgdGhlIEV0aGVybmV0IGluaXRpYWxpemF0aW9uKQogaW50ICgqbWRpb19hY3RpdmUpKCkgICAtIEFjdGl2YXRlIHRoZSBNRElPIHBpbiBhcyBvdXRwdXQKIGludCAoKm1kaW9fdHJpc3RhdGUpKCkgLSBBY3RpdmF0ZSB0aGUgTURJTyBwaW4gYXMgaW5wdXQvdHJpc3RhdGUgcGluCiBpbnQgKCpzZXRfbWRpbykoKSAgICAgIC0gV3JpdGUgdGhlIE1ESU8gcGluCiBpbnQgKCpnZXRfbWRpbykoKSAgICAgIC0gUmVhZCB0aGUgTURJTyBwaW4KIGludCAoKnNldF9tZGMpKCkgICAgICAgLSBXcml0ZSB0aGUgTURDIHBpbgotaW50ICgqZGVsYXkpKCkgICAgICAgICAtIERlbGF5IGZ1bmN0aW9uCi12b2lkICpwcml2ICAgICAgICAgICAgIC0gUHJpdmF0ZSBkYXRhIHVzZWQgYnkgYm9hcmQgc3BlY2lmaWMgY29kZQoraW50ICgqZGVsYXkpKCkJICAgICAgIC0gRGVsYXkgZnVuY3Rpb24KK3ZvaWQgKnByaXYJICAgICAgIC0gUHJpdmF0ZSBkYXRhIHVzZWQgYnkgYm9hcmQgc3BlY2lmaWMgY29kZQogCiBUaGUgYm9hcmQgY29kZSB3aWxsIGxvb2sgbGlrZToKIApAQCAtNTAsNyArNTAsNyBAQAogIC4uLgogfTsKIGludCBiYl9taWlwaHlfYnVzZXNfbnVtID0gc2l6ZW9mKGJiX21paXBoeV9idXNlcykgLwotICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoYmJfbWlpcGh5X2J1c2VzWzBdKTsKKwkJCSAgc2l6ZW9mKGJiX21paXBoeV9idXNlc1swXSk7CiAKIDIwMDkgSW5kdXN0cmllIERpYWwgRmFjZSBTLnAuQS4KICAgICAgTHVpZ2kgJ0NvbWlvJyBNYW50ZWxsaW5pIDxsdWlnaS5tYW50ZWxsaW5pQGlkZi1oaXQuY29tPgpkaWZmIC0tZ2l0IGEvZG9jL1JFQURNRS5kcml2ZXJzLmV0aCBiL2RvYy9SRUFETUUuZHJpdmVycy5ldGgKaW5kZXggZTA2ZDNhZC4uZTczZTQ2MiAxMDA2NDQKLS0tIGEvZG9jL1JFQURNRS5kcml2ZXJzLmV0aAorKysgYi9kb2MvUkVBRE1FLmRyaXZlcnMuZXRoCkBAIC04OCw3ICs4OCw3IEBACiA8IDAgLSBmYWlsdXJlIChoYXJkd2FyZSBmYWlsdXJlLCBub3QgcHJvYmUgZmFpbHVyZSkKID49MCAtIG51bWJlciBvZiBpbnRlcmZhY2VzIGRldGVjdGVkCiAKLVlvdSBtaWdodCBub3RpY2UgdGhhdCBtYW55IGRyaXZlcnMgc2VlbSB0byB1c2UgeHh4X2luaXRpYWxpemUoKSByYXRoZXIgdGhhbiAKK1lvdSBtaWdodCBub3RpY2UgdGhhdCBtYW55IGRyaXZlcnMgc2VlbSB0byB1c2UgeHh4X2luaXRpYWxpemUoKSByYXRoZXIgdGhhbgogeHh4X3JlZ2lzdGVyKCkuICBUaGlzIGlzIHRoZSBvbGQgbmFtaW5nIGNvbnZlbnRpb24gYW5kIHNob3VsZCBiZSBhdm9pZGVkIGFzIGl0CiBjYXVzZXMgY29uZnVzaW9uIHdpdGggdGhlIGRyaXZlci1zcGVjaWZpYyBpbml0IGZ1bmN0aW9uLgogCmRpZmYgLS1naXQgYS9kb2MvUkVBRE1FLmt3YmltYWdlIGIvZG9jL1JFQURNRS5rd2JpbWFnZQppbmRleCAyYTViM2IzLi42ZGQ5NDJmIDEwMDY0NAotLS0gYS9kb2MvUkVBRE1FLmt3YmltYWdlCisrKyBiL2RvYy9SRUFETUUua3diaW1hZ2UKQEAgLTE3LDEyICsxNywxMiBAQAogCQl0byBsaXN0IHRoZSBrd2IgaW1hZ2UgZmlsZSBkZXRhaWxzCiAKIC4vdG9vbHMvbWtpbWFnZSAtbiA8Ym9hcmQgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlPiBcCi0gICAgICAgICAgICAgICAgLVQga3diaW1hZ2UgLWEgPHN0YXJ0IGFkZHJlc3M+IC1lIDxleGVjdXRpb24gYWRkcmVzcz4gXAorCQktVCBrd2JpbWFnZSAtYSA8c3RhcnQgYWRkcmVzcz4gLWUgPGV4ZWN1dGlvbiBhZGRyZXNzPiBcCiAJCS1kIDxpbnB1dF9yYXdfYmluYXJ5PiA8b3V0cHV0X2t3Ym9vdF9maWxlPgogCiBmb3IgZXguCiAuL3Rvb2xzL21raW1hZ2UgLW4gLi9ib2FyZC9NYXJ2ZWxsL29wZW5yZF9iYXNlL2t3YmltYWdlLmNmZyBcCi0gICAgICAgICAgICAgICAgLVQga3diaW1hZ2UgLWEgMHgwMDYwMDAwMCAtZSAweDAwNjAwMDAwIFwKKwkJLVQga3diaW1hZ2UgLWEgMHgwMDYwMDAwMCAtZSAweDAwNjAwMDAwIFwKIAkJLWQgdS1ib290LmJpbiB1LWJvb3Qua3diCiAKIGt3aW1hZ2Ugc3VwcG9ydCBhdmFpbGFibGUgd2l0aCBta2ltYWdlIHV0aWxpdHkgd2lsbCBnZW5lcmF0ZSBraXJrd29vZCBib290CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbWlpcGh5YmIuYyBiL2RyaXZlcnMvbmV0L3BoeS9taWlwaHliYi5jCmluZGV4IDRhN2NlNWIuLjI3NjhjNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9taWlwaHliYi5jCisrKyBiL2RyaXZlcnMvbmV0L3BoeS9taWlwaHliYi5jCkBAIC0xMTksNyArMTE5LDcgQEAKIH07CiAKIGludCBiYl9taWlwaHlfYnVzZXNfbnVtID0gc2l6ZW9mKGJiX21paXBoeV9idXNlcykgLwotICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoYmJfbWlpcGh5X2J1c2VzWzBdKTsKKwkJCSAgc2l6ZW9mKGJiX21paXBoeV9idXNlc1swXSk7CiAjZW5kaWYKIAogdm9pZCBiYl9taWlwaHlfaW5pdCh2b2lkKQpAQCAtMTY3LDcgKzE2Nyw3IEBACiAgKiBhbmQgd3JpdGUpLgogICovCiBzdGF0aWMgdm9pZCBtaWlwaHlfcHJlKHN0cnVjdCBiYl9taWlwaHlfYnVzICpidXMsIGNoYXIgcmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBhZGRyLCB1bnNpZ25lZCBjaGFyIHJlZykKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgYWRkciwgdW5zaWduZWQgY2hhciByZWcpCiB7CiAJaW50IGo7CiAKQEAgLTI0Nyw3ICsyNDcsNyBAQAogICogICAwIG9uIHN1Y2Nlc3MKICAqLwogaW50IGJiX21paXBoeV9yZWFkKGNoYXIgKmRldm5hbWUsIHVuc2lnbmVkIGNoYXIgYWRkciwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIHJlZywgdW5zaWduZWQgc2hvcnQgKnZhbHVlKQorCQkgICB1bnNpZ25lZCBjaGFyIHJlZywgdW5zaWduZWQgc2hvcnQgKnZhbHVlKQogewogCXNob3J0IHJkcmVnOyAvKiByZWdpc3RlciB3b3JraW5nIHZhbHVlICovCiAJaW50IHY7CkBAIC0zMjgsNyArMzI4LDcgQEAKICAqICAgMCBvbiBzdWNjZXNzCiAgKi8KIGludCBiYl9taWlwaHlfd3JpdGUgKGNoYXIgKmRldm5hbWUsIHVuc2lnbmVkIGNoYXIgYWRkciwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgcmVnLCB1bnNpZ25lZCBzaG9ydCB2YWx1ZSkKKwkJICAgICB1bnNpZ25lZCBjaGFyIHJlZywgdW5zaWduZWQgc2hvcnQgdmFsdWUpCiB7CiAJc3RydWN0IGJiX21paXBoeV9idXMgKmJ1czsKIAlpbnQgajsJCQkvKiBjb3VudGVyICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9zbWM5MTF4LmMgYi9kcml2ZXJzL25ldC9zbWM5MTF4LmMKaW5kZXggZGY3MzQ3OC4uYzUwNzU4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvc21jOTExeC5jCisrKyBiL2RyaXZlcnMvbmV0L3NtYzkxMXguYwpAQCAtMTQ4LDcgKzE0OCw3IEBACiB7CiAJc3RydWN0IGNoaXBfaWQgKmlkID0gZGV2LT5wcml2OwogCi0gICAgICAgIHByaW50ZihEUklWRVJOQU1FICI6IGRldGVjdGVkICVzIGNvbnRyb2xsZXJcbiIsIGlkLT5uYW1lKTsKKwlwcmludGYoRFJJVkVSTkFNRSAiOiBkZXRlY3RlZCAlcyBjb250cm9sbGVyXG4iLCBpZC0+bmFtZSk7CiAKIAlzbWM5MTF4X3Jlc2V0KGRldik7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWRhdmluY2kvZ3Bpb19kZWZzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1kYXZpbmNpL2dwaW9fZGVmcy5oCmluZGV4IGVjNDM5NjkuLmZmNjI5NzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWRhdmluY2kvZ3Bpb19kZWZzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZGF2aW5jaS9ncGlvX2RlZnMuaApAQCAtNTAsNCArNTAsMyBAQAogfTsKIAogI2VuZGlmCi0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9QMV9QMl9SREIuaCBiL2luY2x1ZGUvY29uZmlncy9QMV9QMl9SREIuaAppbmRleCAzMTAyNDJlLi5lMjkzMGMxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2NvbmZpZ3MvUDFfUDJfUkRCLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL1AxX1AyX1JEQi5oCkBAIC0yODIsNyArMjgyLDYgQEAKICAqIHNob3J0ZWQgLSBpbmRleCAxCiAgKi8KICNkZWZpbmUgQ09ORklHX0NPTlNfSU5ERVgJMQotLy8jZGVmaW5lIENPTkZJR19DT05TX0lOREVYCTIKICN1bmRlZglDT05GSUdfU0VSSUFMX1NPRlRXQVJFX0ZJRk8KICNkZWZpbmUgQ09ORklHX1NZU19OUzE2NTUwCiAjZGVmaW5lIENPTkZJR19TWVNfTlMxNjU1MF9TRVJJQUwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9kYXZpbmNpX2RtNjQ2N2V2bS5oIGIvaW5jbHVkZS9jb25maWdzL2RhdmluY2lfZG02NDY3ZXZtLmgKaW5kZXggMmE0Y2I3OS4uNjYxNzk0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL2RhdmluY2lfZG02NDY3ZXZtLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL2RhdmluY2lfZG02NDY3ZXZtLmgKQEAgLTEyOSw0ICsxMjksMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBfX0NPTkZJR19IICovCi0K