From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luis de Bethencourt Subject: Re: [PATCH v3 1/7] lib: string: add functions to case-convert strings Date: Wed, 13 Jul 2016 23:53:25 +0100 Message-ID: <5786C665.6020307@osg.samsung.com> References: <1468017794-4818-1-git-send-email-mmayer@broadcom.com> <1468017794-4818-2-git-send-email-mmayer@broadcom.com> <5780E866.8000001@osg.samsung.com> <57867813.8010608@osg.samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Markus Mayer Cc: devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org, Kees Cook , linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Rasmus Villemoes , Linux Kernel , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, speakup-UPO/6gOIxNZglr+F8WMZYdi2O/JbrIOy@public.gmane.org, Chris Metcalf , target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Al Viro , Andrew Morton , linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-acpi@vger.kernel.org T24gMTMvMDcvMTYgMjM6MjYsIE1hcmt1cyBNYXllciB3cm90ZToKPiBPbiAxMyBKdWx5IDIwMTYg YXQgMTA6MTksIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+IHdy b3RlOgo+PiBPbiAxMS8wNy8xNiAyMzo0NiwgTWFya3VzIE1heWVyIHdyb3RlOgo+Pgo+PiBIaSBN YXJrdXMsCj4+Cj4+IEFtYXppbmcuIEkgc2VlIHRoaXMgaGFwcGVuaW5nIGFzIHdlbGwsIGJ1dCBJ IGtub3cgaXQgc2hvdWxkbid0Lgo+Pgo+PiBUaGUgcmVhc29uIHRoZSAjaWZuZGVmIGd1YXJkcyBp biBoZWFkZXJzIGFyZSB0aGVyZSBpcyBwcmVjaXNlbHkgdG8gYWxsb3cKPj4gY2lyY3VsYXIgZGVw ZW5kZW5jaWVzLgo+Pgo+PiBUaGUgcHJvYmxlbSBpbiB5b3VyIG91dHB1dCByZWFkcyBhczoKPj4g c3Ryc3RyKCkgaXMgaW4gc3RyaW5nLmgKPj4gI2luY2x1ZGUgc3RyaW5nLmggLT4gdGhhdCBpbmNs dWRlcyBrZXJuZWwuaCAtPiB0aGF0IGluY2x1ZGVzIHN0cmluZy5oCj4+Cj4+IFRoZSB0aGlyZCBz aG91bGQgZG8gbm90aGluZyBiYXNlZCBvbiBfTElOVVhfU1RSSU5HX0hfIGJlaW5nIGRlZmluZWQg YWxyZWFkeQo+PiBhbmQgYWxsIGNvZGUgaW5zaWRlIHRoZSAjaWZuZGVmIGluIHN0cmluZy5oIG5v dCBiZWluZyBleGVjdXRlZC4KPj4gWWV0IGl0IHNob3VsZG4ndCBibG9jayB0aGUgZmlyc3QgaW5j bHVkZSBhYm92ZSBzaW5jZSB0aGF0IG1hY3JvIGlzbid0IGRlZmluZWQsCj4+IHdoaWNoIGlzIHdo YXQgdGhlIGVycm9yIHN1Z2dlc3RzIHNpbmNlIGl0IGRvZXNuJ3QgaGF2ZSBzdHJzdHIoKQo+PiBJ ZiBfTElOVVhfU1RSSU5HX0ggaXMgZGVmaW5lZCwgc3Ryc3RyKCkgc2hvdWxkIGJlIGF2YWlsYWJs ZS4KPj4KPj4gSW52ZXN0aWdhdGluZyB0aGlzIGlzc3VlLCBpdCBvbmx5IGhhcHBlbnMgd2hlbiBD T05GSUdfRFlOQU1JQ19ERUJVRyBpcyBub3QKPj4gc2V0IGFuZCBsaW5lIDE3MCBvZiBkeW5hbWlj X2RlYnVnLmggcnVucywgYnV0IGp1c3QgYWJvdmUgd2UgaGF2ZSBhbgo+PiBpbmNsdWRlIG9mIHN0 cmluZy5oLgo+Pgo+PiBWZXJ5IHN0cmFuZ2UgdGhhdCAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+ IGlzbid0IGRvaW5nIGl0cyBqb2IuCj4+Cj4+IFRoZSBmaXJzdCB0aGluZyBJIHRyaWVkIGlzIHRv IHVuZGVyc3RhbmQgd2hlcmUgZHluYW1pY19kZWJ1Zy5oIGlzIHVzZWQgYW5kCj4+IHJlbW92ZWQg dGhlIHVubmVlZGVkIG9uZXM6Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L2tlcm5lbC5oIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaAo+PiAtLS0gYS9p bmNsdWRlL2xpbnV4L2tlcm5lbC5oCj4+ICsrKyBiL2luY2x1ZGUvbGludXgva2VybmVsLmgKPj4g QEAgLTExLDcgKzExLDYgQEAKPj4gICNpbmNsdWRlIDxsaW51eC9sb2cyLmg+Cj4+ICAjaW5jbHVk ZSA8bGludXgvdHlwZWNoZWNrLmg+Cj4+ICAjaW5jbHVkZSA8bGludXgvcHJpbnRrLmg+Cj4+IC0j aW5jbHVkZSA8bGludXgvZHluYW1pY19kZWJ1Zy5oPgo+PiAgI2luY2x1ZGUgPGFzbS9ieXRlb3Jk ZXIuaD4KPj4gICNpbmNsdWRlIDx1YXBpL2xpbnV4L2tlcm5lbC5oPgo+Pgo+PiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC9wcmludGsuaCBiL2luY2x1ZGUvbGludXgvcHJpbnRrLmgKPj4gLS0t IGEvaW5jbHVkZS9saW51eC9wcmludGsuaAo+PiArKysgYi9pbmNsdWRlL2xpbnV4L3ByaW50ay5o Cj4+IEBAIC0zMDcsMTAgKzMwNywxMSBAQCBhc21saW5rYWdlIF9fcHJpbnRmKDEsIDIpIF9fY29s ZCB2b2lkIF9fcHJfaW5mbyhjb25zdCBjaGFyICpmbXQsIC4uLik7Cj4+ICAgICAgICAgbm9fcHJp bnRrKEtFUk5fREVCVUcgcHJfZm10KGZtdCksICMjX19WQV9BUkdTX18pCj4+ICAjZW5kaWYKPj4K Pj4gLSNpbmNsdWRlIDxsaW51eC9keW5hbWljX2RlYnVnLmg+Cj4+Cj4+ICAvKiBJZiB5b3UgYXJl IHdyaXRpbmcgYSBkcml2ZXIsIHBsZWFzZSB1c2UgZGV2X2RiZyBpbnN0ZWFkICovCj4+ICAjaWYg ZGVmaW5lZChDT05GSUdfRFlOQU1JQ19ERUJVRykKPj4gKyNpbmNsdWRlIDxsaW51eC9keW5hbWlj X2RlYnVnLmg+Cj4+ICsKPj4gIC8qIGR5bmFtaWNfcHJfZGVidWcoKSB1c2VzIHByX2ZtdCgpIGlu dGVybmFsbHkgc28gd2UgZG9uJ3QgbmVlZCBpdCBoZXJlICovCj4+ICAjZGVmaW5lIHByX2RlYnVn KGZtdCwgLi4uKSBcCj4+ICAgICAgICAgZHluYW1pY19wcl9kZWJ1ZyhmbXQsICMjX19WQV9BUkdT X18pCj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvbW9kdWxlLmMgYi9rZXJuZWwvbW9kdWxlLmMKPj4g aW5kZXggYmVhZWJlYS4uZTcwYTJmYSAxMDA2NDQKPj4gLS0tIGEva2VybmVsL21vZHVsZS5jCj4+ ICsrKyBiL2tlcm5lbC9tb2R1bGUuYwo+PiBAQCAtNjAsNiArNjAsNyBAQAo+PiAgI2luY2x1ZGUg PGxpbnV4L2p1bXBfbGFiZWwuaD4KPj4gICNpbmNsdWRlIDxsaW51eC9wZm4uaD4KPj4gICNpbmNs dWRlIDxsaW51eC9ic2VhcmNoLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvZHluYW1pY19kZWJ1Zy5o Pgo+PiAgI2luY2x1ZGUgPHVhcGkvbGludXgvbW9kdWxlLmg+Cj4+ICAjaW5jbHVkZSAibW9kdWxl LWludGVybmFsLmgiCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+Cj4+IFRoaXMgZGlmZiBbMF0gZml4 ZXMgdGhlIGlzc3VlIGJ1dCBpdCBpcyBhIHdvcmthcm91bmQgZm9yIHRoZSBvcmlnaW5hbAo+PiBp c3N1ZSBhYm91dCBzdHJpbmcuaCBub3QgYmVpbmcgcHJvcGVybHkgaW5jbHVkZWQgaW4gZHluYW1p Y19kZWJ1Zy5oCj4+Cj4+IFB1enpsZWQgYnkgdGhpcyBhbmQgY2FuJ3QgZmlndXJlIG91dCB3aGF0 IGlzIGhhcHBlbmluZyB3cm9uZy4KPj4KPj4gVGhlIHNlY29uZCB0aGluZyBJIHRyaWVkIHdhcyBh ZGRpbmcKPj4gI3dhcm5pbmcgIkxpbmtpbmcgdG8gc3RyaW5nIGhlYWRlciIKPj4gaW4gaW5jbHVk ZS9saW51eC9zdHJpbmcuaCwgYW5kIEkgZG9uJ3Qgc2VlIGFueSBpbmNsdWRlIHBhdGggbWVudGlv bmluZwo+PiBrZXJuZWwuaCwgd2hlcmUgZG8geW91IHNlZSB0aGUgY2lyY3VsYXIgZGVwZW5kZW5j eT8gSSBtaWdodCBiZSBtaXNzaW5nCj4+IHNvbWV0aGluZy4KPiAKPiBJIGRpZCBzb21lIG1vcmUg cG9raW5nIGFyb3VuZCBhbmQgdGhpcyBpcyB3aGF0IEkgZm91bmQuCj4gCj4gRm9yIHN0YXJ0ZXJz LCB0aGUgcHJvYmxlbSBoYXBwZW5zIHdpdGgga2VybmVsL2JvdW5kcy5jLiBXaXRob3V0Cj4gd29y cnlpbmcgYWJvdXQgU0laRV9NQVggb3IgbWFraW5nIGFueSBvdGhlciBjaGFuZ2VzLCBJIGFkZGVk IGEKPiAjd2FybmluZyBsaW5lIHRvIGtlcm5lbC5oIGFuZCBzdHJpbmcuaCB0byBzZWUgdGhlIGlu Y2x1ZGUgc2VxdWVuY2UuCj4gCj4gJCBhYXJjaDY0LWxpbnV4LWdjYyAtV3AsLU1ELGtlcm5lbC8u Ym91bmRzLnMuZCAgLW5vc3RkaW5jIC1pc3lzdGVtCj4gL29wdC90b29sY2hhaW4vc3RiZ2NjLTQu OC0xLjUvYmluLy4uL2xpYi9nY2MvYWFyY2g2NC1saW51eC1nbnUvNC44LjUvaW5jbHVkZQo+IC1J Li9hcmNoL2FybTY0L2luY2x1ZGUgLUlhcmNoL2FybTY0L2luY2x1ZGUvZ2VuZXJhdGVkL3VhcGkK PiAtSWFyY2gvYXJtNjQvaW5jbHVkZS9nZW5lcmF0ZWQgIC1JaW5jbHVkZSAtSS4vYXJjaC9hcm02 NC9pbmNsdWRlL3VhcGkKPiAtSWFyY2gvYXJtNjQvaW5jbHVkZS9nZW5lcmF0ZWQvdWFwaSAtSS4v aW5jbHVkZS91YXBpCj4gLUlpbmNsdWRlL2dlbmVyYXRlZC91YXBpIC1pbmNsdWRlIC4vaW5jbHVk ZS9saW51eC9rY29uZmlnLmgKPiAtRF9fS0VSTkVMX18gLW1saXR0bGUtZW5kaWFuIC1XYWxsIC1X dW5kZWYgLVdzdHJpY3QtcHJvdG90eXBlcwo+IC1Xbm8tdHJpZ3JhcGhzIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tY29tbW9uCj4gLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv biAtV25vLWZvcm1hdC1zZWN1cml0eSAtc3RkPWdudTg5Cj4gLW1nZW5lcmFsLXJlZ3Mtb25seSAt Zm5vLWFzeW5jaHJvbm91cy11bndpbmQtdGFibGVzCj4gLWZuby1kZWxldGUtbnVsbC1wb2ludGVy LWNoZWNrcyAtTzIgLS1wYXJhbT1hbGxvdy1zdG9yZS1kYXRhLXJhY2VzPTAKPiAtV2ZyYW1lLWxh cmdlci10aGFuPTIwNDggLWZuby1zdGFjay1wcm90ZWN0b3IKPiAtV25vLXVudXNlZC1idXQtc2V0 LXZhcmlhYmxlIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyCj4gLWZuby1vcHRpbWl6ZS1zaWJsaW5n LWNhbGxzIC1mbm8tdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRzIC1nCj4gLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVduby1wb2ludGVyLXNpZ24gLWZuby1zdHJpY3Qtb3ZlcmZsb3cKPiAt ZmNvbnNlcnZlLXN0YWNrIC1XZXJyb3I9aW1wbGljaXQtaW50IC1XZXJyb3I9c3RyaWN0LXByb3Rv dHlwZXMKPiAtREtCVUlMRF9CQVNFTkFNRT0nImJvdW5kcyInICAtREtCVUlMRF9NT0ROQU1FPSci Ym91bmRzIicKPiAtZnZlcmJvc2UtYXNtIC1FIC1vIGtlcm5lbC9ib3VuZHMuaSBrZXJuZWwvYm91 bmRzLmMKPiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDox MzowLAo+ICAgICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYnVn Lmg6NjIsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGludXgvYnVnLmg6NCwKPiAg ICAgICAgICAgICAgICAgIGZyb20gaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmg6OSwKPiAgICAg ICAgICAgICAgICAgIGZyb20ga2VybmVsL2JvdW5kcy5jOjk6Cj4gaW5jbHVkZS9saW51eC9rZXJu ZWwuaDo0OjI6IHdhcm5pbmc6ICN3YXJuaW5nIEluIGtlcm5lbC5oIFstV2NwcF0KPiAgI3dhcm5p bmcgSW4ga2VybmVsLmgKPiAgIF4KPiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gaW5jbHVkZS9saW51 eC9keW5hbWljX2RlYnVnLmg6MTExOjAsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUv bGludXgvcHJpbnRrLmg6Mjg5LAo+ICAgICAgICAgICAgICAgICAgZnJvbSBpbmNsdWRlL2xpbnV4 L2tlcm5lbC5oOjE0LAo+ICAgICAgICAgICAgICAgICAgZnJvbSBpbmNsdWRlL2FzbS1nZW5lcmlj L2J1Zy5oOjEzLAo+ICAgICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gvYXJtNjQvaW5jbHVkZS9h c20vYnVnLmg6NjIsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGludXgvYnVnLmg6 NCwKPiAgICAgICAgICAgICAgICAgIGZyb20gaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmg6OSwK PiAgICAgICAgICAgICAgICAgIGZyb20ga2VybmVsL2JvdW5kcy5jOjk6Cj4gaW5jbHVkZS9saW51 eC9zdHJpbmcuaDo0OjI6IHdhcm5pbmc6ICN3YXJuaW5nIEluIHN0cmluZy5oIFstV2NwcF0KPiAg I3dhcm5pbmcgSW4gc3RyaW5nLmgKPiAgIF4KPiAKPiBTbywga2VybmVsLmggZ2V0cyBwdWxsZWQg aW4gZmlyc3QuIHN0cmluZy5oIGdldHMgcHVsbGVkIGluIGJ5IGtlcm5lbC5oCj4gKHZpYSBkeW5h bWljX2RlYnVnLmggYXMgeW91IHBvaW50ZWQgb3V0KS4gVGhlIGJ1aWxkIHN0aWxsIHN1Y2NlZWRz IGF0Cj4gdGhpcyBwb2ludCAoYmVjYXVzZSBJIGRpZG4ndCBjaGFuZ2Ugc3RyaW5nLmggeWV0KS4K PiAKPiBOb3csIGlmIEkgcmVmZXJlbmNlIFNJWkVfTUFYIGluIHN0cmluZy5oLCB0aGVyZSdzIGEg cHJvYmxlbTogc3RyaW5nLmgKPiBnZXRzIHB1bGxlZCBpbiBhdCB0aGUgdG9wIG9mIGtlcm5lbC5o LCBiZWZvcmUga2VybmVsLmggZGVmaW5lcwo+IFNJWkVfTUFYLiBUaGUgY29tcGlsZXIgY29tcGxh aW5zICgiZXJyb3I6IOKAmFNJWkVfTUFY4oCZIHVuZGVjbGFyZWQiKS4KPiAKPiBJZiBJIGFkZCAi I2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPiIgdG8gdGhlIHRvcCBvZiBzdHJpbmcuaCBpbiBhbgo+ IGF0dGVtcHQgdG8gZ2V0IFNJWkVfTUFYIHNvb25lciwgbm90aGluZyBoYXBwZW5zLCBiZWNhdXNl IGtlcm5lbC5oIGhhcwo+IGFscmVhZHkgYmVlbiBpbmNsdWRlZCAoYW5kIHRoZXJlZm9yZSB0aGUg aW5jbHVkZSBndWFyZCBpcyBkZWZpbmVkLAo+IG1lYW5pbmcgdGhhdCB0aGUgbmV3IGF0dGVtcHQg dG8gaW5jbHVkZSBpdCBkb2Vzbid0IGRvIGFueXRoaW5nKS4gU28sIEkKPiBhbSBsZWF2aW5nIGl0 IG91dCBhdCB0aGlzIHBvaW50Lgo+IAo+IFRvIGZpeCB0aGUgU0laRV9NQVggaXNzdWUsIEkgcXVp Y2tseSBoYWNrZWQgdXAga2VybmVsLmgsIHNvIFNJWkVfTUFYCj4gZ2V0cyBkZWZpbmVkIGJlZm9y ZSBzdHJpbmcuaCBnZXRzIHB1bGxlZCBpbi4KPiAKPiAkIGdpdCBkaWZmCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgva2VybmVsLmggYi9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCj4gaW5kZXgg OTRhYTEwZi4uNmNkNTI2OSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCj4g KysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaAo+IEBAIC0xMCw4ICsxMCw2IEBACj4gICNpbmNs dWRlIDxsaW51eC9iaXRvcHMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2xvZzIuaD4KPiAgI2luY2x1 ZGUgPGxpbnV4L3R5cGVjaGVjay5oPgo+IC0jaW5jbHVkZSA8bGludXgvcHJpbnRrLmg+Cj4gLSNp bmNsdWRlIDxsaW51eC9keW5hbWljX2RlYnVnLmg+Cj4gICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVy Lmg+Cj4gICNpbmNsdWRlIDx1YXBpL2xpbnV4L2tlcm5lbC5oPgo+IAo+IEBAIC0yOSw2ICsyNyw5 IEBACj4gICNkZWZpbmUgVUxMT05HX01BWCAgICAgKH4wVUxMKQo+ICAjZGVmaW5lIFNJWkVfTUFY ICAgICAgICh+KHNpemVfdCkwKQo+IAo+ICsjaW5jbHVkZSA8bGludXgvcHJpbnRrLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9keW5hbWljX2RlYnVnLmg+Cj4gKwo+ICAjZGVmaW5lIFU4X01BWCAgICAg ICAgICgodTgpfjBVKQo+ICAjZGVmaW5lIFM4X01BWCAgICAgICAgICgoczgpKFU4X01BWD4+MSkp Cj4gICNkZWZpbmUgUzhfTUlOICAgICAgICAgKChzOCkoLVM4X01BWCAtIDEpKQo+IAo+IFRoaXMg c29sdmVzIGJvdW5kcy5jLiBCdXQgaXQgZG9lc24ndCBoZWxwIHdpdGggb3RoZXIgZmlsZXMgdGhh dCBkb24ndAo+IGF1dG9tYXRpY2FsbHkgcHVsbCBpbiBrZXJuZWwuaCBiZWZvcmUgc3RyaW5nLmgu IFRoZXkgc3RpbGwgY29tcGxhaW4KPiBhYm91dCBTSVpFX01BWCBiZWluZyB1bmRlY2xhcmVkLiBT bywgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPiAqZG9lcyoKPiBuZWVkIHRvIGdvIGludG8gc3Ry aW5nLmguIEF0IHRoaXMgcG9pbnQsIHdlIHJ1biBpbnRvIHRoZSBuZXh0IHByb2JsZW0uCj4gCj4g JCBhYXJjaDY0LWxpbnV4LWdjYyAtV3AsLU1ELHNjcmlwdHMvbW9kLy5kZXZpY2V0YWJsZS1vZmZz ZXRzLnMuZAo+IC1ub3N0ZGluYyAtaXN5c3RlbQo+IC9vcHQvdG9vbGNoYWluL3N0YmdjYy00Ljgt MS41L2Jpbi8uLi9saWIvZ2NjL2FhcmNoNjQtbGludXgtZ251LzQuOC41L2luY2x1ZGUKPiAtSS4v YXJjaC9hcm02NC9pbmNsdWRlIC1JYXJjaC9hcm02NC9pbmNsdWRlL2dlbmVyYXRlZC91YXBpCj4g LUlhcmNoL2FybTY0L2luY2x1ZGUvZ2VuZXJhdGVkICAtSWluY2x1ZGUgLUkuL2FyY2gvYXJtNjQv aW5jbHVkZS91YXBpCj4gLUlhcmNoL2FybTY0L2luY2x1ZGUvZ2VuZXJhdGVkL3VhcGkgLUkuL2lu Y2x1ZGUvdWFwaQo+IC1JaW5jbHVkZS9nZW5lcmF0ZWQvdWFwaSAtaW5jbHVkZSAuL2luY2x1ZGUv bGludXgva2NvbmZpZy5oCj4gLURfX0tFUk5FTF9fIC1tbGl0dGxlLWVuZGlhbiAtV2FsbCAtV3Vu ZGVmIC1Xc3RyaWN0LXByb3RvdHlwZXMKPiAtV25vLXRyaWdyYXBocyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLWNvbW1vbgo+IC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24g LVduby1mb3JtYXQtc2VjdXJpdHkgLXN0ZD1nbnU4OQo+IC1tZ2VuZXJhbC1yZWdzLW9ubHkgLWZu by1hc3luY2hyb25vdXMtdW53aW5kLXRhYmxlcwo+IC1mbm8tZGVsZXRlLW51bGwtcG9pbnRlci1j aGVja3MgLU8yIC0tcGFyYW09YWxsb3ctc3RvcmUtZGF0YS1yYWNlcz0wCj4gLVdmcmFtZS1sYXJn ZXItdGhhbj0yMDQ4IC1mbm8tc3RhY2stcHJvdGVjdG9yCj4gLVduby11bnVzZWQtYnV0LXNldC12 YXJpYWJsZSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcgo+IC1mbm8tb3B0aW1pemUtc2libGluZy1j YWxscyAtZm5vLXZhci10cmFja2luZy1hc3NpZ25tZW50cyAtZwo+IC1XZGVjbGFyYXRpb24tYWZ0 ZXItc3RhdGVtZW50IC1Xbm8tcG9pbnRlci1zaWduIC1mbm8tc3RyaWN0LW92ZXJmbG93Cj4gLWZj b25zZXJ2ZS1zdGFjayAtV2Vycm9yPWltcGxpY2l0LWludCAtV2Vycm9yPXN0cmljdC1wcm90b3R5 cGVzCj4gLURLQlVJTERfQkFTRU5BTUU9JyJkZXZpY2V0YWJsZV9vZmZzZXRzIicKPiAtREtCVUlM RF9NT0ROQU1FPSciZGV2aWNldGFibGVfb2Zmc2V0cyInICAtZnZlcmJvc2UtYXNtIC1TIC1vCj4g c2NyaXB0cy9tb2QvZGV2aWNldGFibGUtb2Zmc2V0cy5zIHNjcmlwdHMvbW9kL2RldmljZXRhYmxl LW9mZnNldHMuYwo+IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBpbmNsdWRlL3VhcGkvbGludXgvdXVp ZC5oOjIxOjAsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGludXgvdXVpZC5oOjE5 LAo+ICAgICAgICAgICAgICAgICAgZnJvbSBpbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5o OjEyLAo+ICAgICAgICAgICAgICAgICAgZnJvbSBzY3JpcHRzL21vZC9kZXZpY2V0YWJsZS1vZmZz ZXRzLmM6MjoKPiBpbmNsdWRlL2xpbnV4L3N0cmluZy5oOjQ6Mjogd2FybmluZzogI3dhcm5pbmcg SW4gc3RyaW5nLmggWy1XY3BwXQo+ICAjd2FybmluZyBJbiBzdHJpbmcuaAo+ICAgXgo+IEluIGZp bGUgaW5jbHVkZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3N0cmluZy5oOjc6MCwKPiAgICAgICAgICAg ICAgICAgIGZyb20gaW5jbHVkZS91YXBpL2xpbnV4L3V1aWQuaDoyMSwKPiAgICAgICAgICAgICAg ICAgIGZyb20gaW5jbHVkZS9saW51eC91dWlkLmg6MTksCj4gICAgICAgICAgICAgICAgICBmcm9t IGluY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmg6MTIsCj4gICAgICAgICAgICAgICAgICBm cm9tIHNjcmlwdHMvbW9kL2RldmljZXRhYmxlLW9mZnNldHMuYzoyOgo+IGluY2x1ZGUvbGludXgv a2VybmVsLmg6NDoyOiB3YXJuaW5nOiAjd2FybmluZyBJbiBrZXJuZWwuaCBbLVdjcHBdCj4gICN3 YXJuaW5nIEluIGtlcm5lbC5oCj4gICBeCj4gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGluY2x1ZGUv bGludXgvcHJpbnRrLmg6Mjg5OjAsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGlu dXgva2VybmVsLmg6MzEsCj4gICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGludXgvc3Ry aW5nLmg6NywKPiAgICAgICAgICAgICAgICAgIGZyb20gaW5jbHVkZS91YXBpL2xpbnV4L3V1aWQu aDoyMSwKPiAgICAgICAgICAgICAgICAgIGZyb20gaW5jbHVkZS9saW51eC91dWlkLmg6MTksCj4g ICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmg6MTIs Cj4gICAgICAgICAgICAgICAgICBmcm9tIHNjcmlwdHMvbW9kL2RldmljZXRhYmxlLW9mZnNldHMu YzoyOgo+IGluY2x1ZGUvbGludXgvZHluYW1pY19kZWJ1Zy5oOiBJbiBmdW5jdGlvbiDigJhkZGVi dWdfZHluZGJnX21vZHVsZV9wYXJhbV9jYuKAmToKPiBpbmNsdWRlL2xpbnV4L2R5bmFtaWNfZGVi dWcuaDoxMjI6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mCj4gZnVuY3Rpb24g4oCY c3Ryc3Ry4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ICAgaWYg KHN0cnN0cihwYXJhbSwgImR5bmRiZyIpKSB7Cj4gICBeCj4gaW5jbHVkZS9saW51eC9keW5hbWlj X2RlYnVnLmg6MTIyOjY6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdAo+IGRlY2xhcmF0 aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uIOKAmHN0cnN0cuKAmSBbZW5hYmxlZCBieSBkZWZhdWx0 XQo+ICAgaWYgKHN0cnN0cihwYXJhbSwgImR5bmRiZyIpKSB7Cj4gICAgICAgXgo+IGNjMTogc29t ZSB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+IAo+IFNvLCBub3cgd2UgaGF2ZSB0 aGUgZm9sbG93aW5nIHNlcXVlbmNlOgo+IAo+IHN0cmluZy5oIC0+IGtlcm5lbC5oIC0+IGR5bmFt aWNfZGVidWcuaCAtPiBvb3BzLCB3ZSBkb24ndCBrbm93IHN0cnN0cigpIHlldC4KPiAKPiBZZXMs IGR5bmFtaWNfZGVidWcuaCBkb2VzIGluY2x1ZGUgc3RyaW5nLmgsIGJ1dCBiZWNhdXNlIG9mIHRo ZSBpbmNsdWRlCj4gZ3VhcmQsIHRoYXQgc2Vjb25kIGF0dGVtcHQgYXQgaW5jbHVkaW5nIHN0cmlu Zy5oIGlzIHN0dWJiZWQgb3V0IGFuZAo+IGRvZXNuJ3QgZG8gYW55dGhpbmcuCj4gCj4gVG8gZ2V0 IHBhc3QgdGhhdCBpc3N1ZSwgSSBjYW4gbW92ZSAiI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPiIg YWxsIHRoZQo+IHdheSBkb3duIGFuZCBvbmx5IGluY2x1ZGUgaXQgZGlyZWN0bHkgYmVmb3JlIG15 IG5ldyBmdW5jdGlvbnMuIFRoYXQKPiB3YXkgc3Ryc3RyKCkgaXMgZGVjbGFyZWQgd2hlbiBkeW5h bWljX2RlYnVnLmggd2FudHMgaXQuCj4gCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc3Ry aW5nLmggYi9pbmNsdWRlL2xpbnV4L3N0cmluZy5oCj4gaW5kZXggNmNjODVkYy4uZWIyZDlhOCAx MDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3N0cmluZy5oCj4gKysrIGIvaW5jbHVkZS9saW51 eC9zdHJpbmcuaAo+IEBAIC0xNzEsNiArMTcxLDggQEAgc3RhdGljIGlubGluZSBjb25zdCBjaGFy ICprYmFzZW5hbWUoY29uc3QgY2hhciAqcGF0aCkKPiAgICAgICAgIHJldHVybiB0YWlsID8gdGFp bCArIDEgOiBwYXRoOwo+ICB9Cj4gCj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiArCj4g IC8qKgo+ICAgKiBzdHJjcHl0b3VwcGVyIC0gQ29weSBzdHJpbmcgYW5kIGNvbnZlcnQgdG8gdXBw ZXJjYXNlLgo+ICAgKiBAZHN0OiBUaGUgYnVmZmVyIHRvIHN0b3JlIHRoZSByZXN1bHQuCj4gCj4g VGhpcyBpcyBzb21lIHNjYXJ5IHN0dWZmLCBidXQgdGhpcyB3YXkgaXQgc2VlbXMgdG8gYnVpbGQu IE5vdCB0b28gc3VyZQo+IGhvdyB0byBmaXggdGhpcyBwcm9wZXJseSBhbmQgd2l0aG91dCByaXNr aW5nIHNvbWUgbWFqb3IgaGVhZGFjaGVzIHdoZW4KPiBvbmUgbGVhc3QgZXhwZWN0cyB0aGVtLgo+ IAo+IFJlZ2FyZHMsCj4gLU1hcmt1cwo+IAo+PiBUaGFua3MsCj4+IEx1aXMKCkhpIE1hcmt1cywK ClRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHRoZSB0aG9yb3VnaCB0ZXN0aW5nIGFuZCBzb2x1dGlv biBzZWFyY2hpbmcuCgpFYXJsaWVyIHRvZGF5IEkgc2VudCBhIHBhdGNoIHRoYXQgcmVtb3ZlcyBk eW5hbWljX2RlYnVnLmggZnJvbQppbmNsdWRlL2xpbnV4L2tlcm5lbC5oLCBzaW5jZSBpdCBpc24n dCByZWFsbHkgbmVlZGVkLiBTb3JyeSBhYm91dCB0aGlzCnNpbmNlIGl0IGNoYW5nZXMgd2hhdCB5 b3Ugd2VyZSB0ZXN0aW5nIGp1c3QgYSBmZXcgaG91cnMgbGF0ZXIuCgpJIGFtIHN0YXJ0aW5nIHRv IHRoaW5rIHRoYXQgZ2V0dGluZyBhY2Nlc3MgdG8gU0laRV9NQVggaXNuJ3Qgd29ydGggdGhlCnRy b3VibGUsIHNwZWNpYWxseSBjb25zaWRlcmluZyB0aGF0IG1vdmluZyBhbiBpbmNsdWRlIG91dCBv ZiB0aGUgdG9wCm9mIHRoZSBmaWxlIG1ha2VzIHRoZSBjb2RlIGxlc3MgcmVhZGFibGUuIFRoZSBM aW51eCBrZXJuZWwgaXMgZ3Jvd2luZwppbiBjb21wbGV4aXR5IGFuZCB0cnlpbmcgdG8ga2VlcCBp dCByZWFkYWJsZSBmb3IgbmV3Y29tZXJzIGlzIHZlcnkKaW1wb3J0YW50IElNSE8uCgpUaGUgbWFp bnRhaW5lcnMgaGF2ZSB0aGUgbGFzdCB3b3JkIG9uIHRoaXMsIGJ1dCBmb3Igbm93IEkgcmVtb3Zl IG15CnF1ZXN0aW9uIGFib3V0IHdoeSB1c2UgLTEgaW5zdGVhZCBvZiBTSVpFX01BWC4KCkFwb2xv Z2llcyBmb3IgdGhhdCwgdGhlIHNpbHZlciBsaW5pbmcgd2FzIHRoYXQgYXQgbGVhc3QgZm9yIG1l IGl0IHdhcwppbnRlcmVzdGluZyB0byBleHBsb3JlIHRoaXMgYXJlYSBvZiB0aGUgY29kZSBhbmQg aXRzIGluY2x1c2lvbnMuIEkgaG9wZQppdCB3YXMgZm9yIHlvdSBhcyB3ZWxsLgoKVGhhbmsgeW91 IHZlcnkgbXVjaCwKTHVpcwoKClBEOiBqdXN0IGEgc21hbGwgY29tbWVudCwgaW4gY2FzZSB5b3Ug ZW5kIHVwIHNlbmRpbmcgYSBuZXcgdmVyc2lvbiBvZgp5b3VyIHBhdGNoZXMuIEluIHRoZSBmb2xs b3dpbmcgZG9jdW1lbnRhdGlvbiBvZiB5b3VyIGZ1bmN0aW9ucy4KKiBAbGVuOiBNYXhpbXVtIHN0 cmluZyBsZW5ndGguIE1heSBiZSBTSVpFX01BWCAoLTEpIHRvIHNldCBubyBsaW1pdC4KCldoYXQg ZG8geW91IHRoaW5rIGFib3V0ICJTSVpFX01BWCBvciAtMSIgaW5zdGVhZCBvZiAiU0laRV9NQVgg KC0xKSIgdG8KYXZvaWQgY29uZnVzaW5nIGFueSByZWFkZXJzIHdobyBtaWdodCB0aGluayBTSVpF X01BWCBpcyBhIGZ1bmN0aW9uPyBBcwpJIHRoaW5rIHlvdSBpbnRlbmQgdG8gbWVhbiB5b3VyIGNv ZGUgYWNjZXB0cyBib3RoIC0xIG9yIFNJWkVfTUFYLCB3aGljaAppcyB+MC4KCkp1c3QgYW4gaWRl YSwgZmVlbCBmcmVlIHRvIGlnbm9yZSBpdCA6KQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL25vdXZlYXUK