Hello All, Is this the correct to send a patch ? I am attaching a single patch for previously individual sent patches. I am requesting you to please review the same and suggest me needed modification. Thanks Gedare and Corinna for helping me to understand the single patch generation from several patches. Regards, Aditya Upadhyay On Wed, Jun 28, 2017 at 1:02 AM, wrote: > Hi. This is the qmail-send program at sourceware.org. > I'm afraid I wasn't able to deliver your message to the following addresses. > This is a permanent error; I've given up. Sorry it didn't work out. > > : > Invalid mime type "text/html" detected in message text or > attachment. Please send plain text messages only. > See http://sourceware.org/lists.html#sourceware-list-info for more information. > Contact newlib-owner@sourceware.org if you have questions about this. (#5.7.2) > > --- Below this line is a copy of the message. > > Return-Path: > Received: (qmail 108984 invoked by uid 89); 27 Jun 2017 19:32:46 -0000 > Authentication-Results: sourceware.org; auth=none > X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org > X-Virus-Found: No > X-Spam-SWARE-Status: No, score=3.9 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1674 > X-Spam-Status: No, score=3.9 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 > X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org > X-Spam-Level: *** > X-HELO: mail-io0-f174.google.com > Received: from mail-io0-f174.google.com (HELO mail-io0-f174.google.com) (209.85.223.174) > by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Jun 2017 19:32:45 +0000 > Received: by mail-io0-f174.google.com with SMTP id z62so23678602ioi.3 > for ; Tue, 27 Jun 2017 12:32:44 -0700 (PDT) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=gmail.com; s=20161025; > h=mime-version:in-reply-to:references:from:date:message-id:subject:to; > bh=mUJ4+KvyjRtm6UBXlN+dpwpTbT7ZyEznvXaQMTj/eWo=; > b=V/aQFT5v5tUD3eHPoHqMhMaPBaQyM1r1rT0+bffRYSliiPA5pXyN7zu/LaW1Z4hOOe > b+irsJfU1jJfF9PEmEzm5haqYmq/ZzNye/BCYmI211jLMUrLxggvSjr1GeUU6Zrkhmb1 > z4WQvgTE/nF8v2ikbCOzlbCH/qSYK86neTtcKsvjaEMbVo9wYvSANvp6dNAQVNNpd+qz > WywQgGHG33xPLKXRJmp0KoyZ9e0X+6Lj9Vi4S0a5vdcHttqoj7W6iE7ApMPTEDbayla9 > CMCD32wIp2zXUfQl1KKQgboi/8Q8OsOsvR6H2tQVRHd+srdHkzlCyzknYaVheyGQFF1K > Y0qQ== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20161025; > h=x-gm-message-state:mime-version:in-reply-to:references:from:date > :message-id:subject:to; > bh=mUJ4+KvyjRtm6UBXlN+dpwpTbT7ZyEznvXaQMTj/eWo=; > b=KR6lb0mXbBlO8s8vg/v6ez+2J+Zm6vTZr7EqjdVGboBZqNDB0CFx19+KjHBylcqbXO > oSmqjaAPcwB0XR7/WFGc1+E6rUQIZgzOb9NbQsuNX26lncPBkkQSBa0JeOmir2FuVrWi > 49ApzfDr0p62ci5s9Z+AQjQwlfagacP57rn0PLQGLY3rAvUJYfk9WW485leAbFn9Q9h7 > 0sAMQkYeip6A76nkbf2uKYyK0mfgxroQQms3G7Z7j0Xtu9CYeWgSJ8ZyWBHQyAQj3ooC > Bp/aXfYZHYR/500bbJB4ndkc4mlz5SclrGBxJ4lh9yhvHj+toEs8fCm28KfIL1Y0kpgA > jeuA== > X-Gm-Message-State: AKS2vOyPLTnIWjx4MsQ53man9upWhR9/EHXrC3tuIVhUFMwd2xgSY+yj > wqRcfHbVrLTLM1/lcS/nxl4gTD+aYw== > X-Received: by 10.107.170.80 with SMTP id t77mr8263100ioe.77.1498591963149; > Tue, 27 Jun 2017 12:32:43 -0700 (PDT) > MIME-Version: 1.0 > Received: by 10.79.4.203 with HTTP; Tue, 27 Jun 2017 12:32:42 -0700 (PDT) > In-Reply-To: <20170626120421.GK6201@calimero.vinschen.de> > References: > <20170626120421.GK6201@calimero.vinschen.de> > From: Aditya Upadhyay > Date: Wed, 28 Jun 2017 01:02:42 +0530 > Message-ID: > Subject: Re: Adding some long double complex methods from NetBSD > To: newlib@sourceware.org, Gedare Bloom > Content-Type: multipart/mixed; boundary="001a11415d58a0bfbb0552f6215b" > > --001a11415d58a0bfbb0552f6215b > Content-Type: multipart/alternative; boundary="001a11415d58a0bfb50552f62159" > > --001a11415d58a0bfb50552f62159 > Content-Type: text/plain; charset="UTF-8" > > Hello All, > > Is this the correct to send a patch ? I am attaching a single patch for > previously individual sent patches. I am requesting you to please review > the same and suggest me needed modification. > > Thanks Gedare and Corinna for helping me to understand the single patch > generation from several patches. > > Regards, > Aditya Upadhyay > > On Mon, Jun 26, 2017 at 5:34 PM, Corinna Vinschen > wrote: > >> On Jun 26 14:43, Aditya Upadhyay wrote: >> > Hello Developers, >> > >> > I have ported some of the long double complex methods from NetBSD. I >> > am requesting you to please review the patch and suggest me needed >> > modification. >> >> Uhm... patch *series*? Clumping all patches together into a single >> one wasn't quite what I meant :} >> >> >> Corinna >> >> -- >> Corinna Vinschen >> Cygwin Maintainer >> Red Hat >> > > --001a11415d58a0bfb50552f62159 > Content-Type: text/html; charset="UTF-8" > Content-Transfer-Encoding: quoted-printable > >
Hello All,

Is this the co= > rrect to send a patch ? I am attaching a single patch for previously indivi= > dual sent patches. I am requesting you to please review the same and sugges= > t me needed modification.

Thanks Gedare and Corinna=C2=A0 for = > helping me to understand the single patch generation from several patches. = >

Regards,
Aditya Upadhyay
l_extra">
On Mon, Jun 26, 2017 at 5:34 PM, Co= > rinna Vinschen < target=3D"_blank">vinschen@redhat.com> wrote:
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli= > d;padding-left:1ex">On Jun 26 14:43, Aditya Upadhyay wrote= > :
> > Hello Developers,
> >
> > I have ported some of the long double complex methods from NetBSD. I r> > > am requesting you to please review the patch and suggest me needed
> > modification.
>
>
Uhm... patch *series*?=C2=A0 Clumping all patches together into a si= > ngle
> one wasn't quite what I meant :}
>
>
> Corinna
>
> --
> Corinna Vinschen
> Cygwin Maintainer
> Red Hat
>

> > --001a11415d58a0bfb50552f62159-- > --001a11415d58a0bfbb0552f6215b > Content-Type: application/octet-stream; > name=Adding_long_double_complex_methods > Content-Disposition: attachment; > filename=Adding_long_double_complex_methods > Content-Transfer-Encoding: base64 > X-Attachment-Id: f_j4fyyghp1 > > ZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0gYi9uZXdsaWIvbGli > bS9jb21wbGV4L01ha2VmaWxlLmFtCmluZGV4IDQwMjA1M2YuLmRlMmZjYTkgMTAwNjQ0Ci0tLSBh > L25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0KKysrIGIvbmV3bGliL2xpYm0vY29tcGxl > eC9NYWtlZmlsZS5hbQpAQCAtMTAsNyArMTAsOSBAQCBzcmMgPSBjYWJzLmMgY2Fjb3MuYyBjYWNv > c2guYyBjYXJnLmMgY2FzaW4uYyBjYXNpbmguYyBcCiAgICAgICBjcG93LmMgY3Byb2ouYyAgY3Jl > YWwuYyAgXAogICAgICAgY3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBjdGFuLmMgY3RhbmguYwogCi1s > c3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29zaGwuYworbHNyYyA9IGNhYnNsLmMg > Y3JlYWxsLmMgY2ltYWdsLmMgY2Nvc2hsLmMgY2Fjb3NobC5jIFwgCisgICAgICAgY2xvZ2wuYyBj > c3FydGwuYyBjYXJnbC5jIGNwcm9qbC5jIGNleHBsLmMgY2VwaGVzX3N1YnJsLmNcCisgICAgICAg > Y2Fjb3NsLmMgY2Nvc2wuYwogCiBmc3JjID0JY2Fic2YuYyBjYXNpbmYuYyBjY29zZi5jIGNpbWFn > Zi5jIGNwcm9qZi5jICBcCiAgICAgICAgIGNzcXJ0Zi5jIGNhY29zZi5jIGNhc2luaGYuYyBjY29z > aGYuYyBjbG9nZi5jIGNsb2cxMGYuYyBcCkBAIC00Myw0ICs0NSw0IEBAIENIQVBURVJTID0gY29t > cGxleC50ZXgKIAogIyBBIHBhcnRpYWwgZGVwZW5kZW5jeSBsaXN0LgogCi0kKGxpYl9hX09CSkVD > VFMpOiAkKHNyY2RpcikvLi4vLi4vbGliYy9pbmNsdWRlL2NvbXBsZXguaCAkKHNyY2RpcikvY2Vw > aGVzX3N1YnIuaCAkKHNyY2RpcikvY2VwaGVzX3N1YnJmLmgKKyQobGliX2FfT0JKRUNUUyk6ICQo > c3JjZGlyKS8uLi8uLi9saWJjL2luY2x1ZGUvY29tcGxleC5oICQoc3JjZGlyKS9jZXBoZXNfc3Vi > ci5oICQoc3JjZGlyKS9jZXBoZXNfc3VicmYuaCAkKHNyY2RpcikvY2VwaGVzX3N1YnJsLmgKZGlm > ZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jIGIvbmV3bGliL2xpYm0vY29t > cGxleC9jYWNvc2hsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0ZTAw > NgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jCkBAIC0w > LDAgKzEsNDUgQEAKKy8qICROZXRCU0Q6IGNhY29zaGwuYyx2IDEuMSAyMDE0LzEwLzEwIDAwOjQ4 > OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3IFRoZSBO > ZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU > aGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIHdyaXR0ZW4gYnkgU3RlcGhlbiBMLiBN > b3NoaWVyLgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0aGUgTmV0QlNEIEZvdW5kYXRpb24g > YnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1 > c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp > Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp > b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11 > c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m > IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp > YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0 > CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n > IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl > cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB > UkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05UUklC > VVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT > LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ > RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV > UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRBVElPTiBP > UiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO > Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF > UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT > VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg > T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU > SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ > TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ > U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg > QURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp > bmNsdWRlIDxjb21wbGV4Lmg+CisKK2xvbmcgZG91YmxlIGNvbXBsZXgKK2NhY29zaGwobG9uZyBk > b3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKworI2lmIDAgLyog > ZG9lcyBub3QgZ2l2ZSB0aGUgcHJpbmNpcGFsIHZhbHVlICovCisJdyA9IEkgKiBjYWNvc2woeik7 > CisjZWxzZQorCXcgPSBjbG9nbCh6ICsgY3NxcnRsKHogKyAxKSAqIGNzcXJ0bCh6IC0gMSkpOwor > I2VuZGlmCisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2Nh > Y29zbC5jIGIvbmV3bGliL2xpYm0vY29tcGxleC9jYWNvc2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 > NAppbmRleCAwMDAwMDAwLi42YTA1YzhjCi0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0v > Y29tcGxleC9jYWNvc2wuYwpAQCAtMCwwICsxLDQ1IEBACisvKiAkTmV0QlNEOiBjYWNvc2wuYyx2 > IDEuMSAyMDE0LzEwLzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29w > eXJpZ2h0IChjKSAyMDA3IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxsIHJpZ2h0 > cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIHdy > aXR0ZW4gYnkgU3RlcGhlbiBMLiBNb3NoaWVyLgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0 > aGUgTmV0QlNEIEZvdW5kYXRpb24gYnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAq > IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg > b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg > dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp > b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg > IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh > aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj > ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp > b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0 > aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u > LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFU > SU9OLCBJTkMuIEFORCBDT05UUklCVVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg > T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8s > IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP > UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT > SEFMTCBUSEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z > IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq > IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS > T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT > RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF > UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD > T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug > T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI > SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNV > Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxjb21wbGV4Lmg+CisjaW5jbHVkZSA8bWF0aC5o > PgorI2luY2x1ZGUgImNlcGhlc19zdWJybC5oIgorCitsb25nIGRvdWJsZSBjb21wbGV4CitjYWNv > c2wobG9uZyBkb3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKwor > CXcgPSBjYXNpbmwoeik7CisJdyA9IChNX1BJXzJMIC0gY3JlYWxsKHcpKSAtIGNpbWFnbCh3KSAq > IEk7CisJcmV0dXJuIHc7Cit9CisKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fy > Z2wuYyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2FyZ2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp > bmRleCAwMDAwMDAwLi5kMjg4NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0vY29t > cGxleC9jYXJnbC5jCkBAIC0wLDAgKzEsMTggQEAKKy8qICROZXRCU0Q6IGNhcmdsLmMsdiAxLjEg > MjAxNC8xMC8xMCAwMDo0ODoxOCBjaHJpc3RvcyBFeHAgJCAqLworCisvKgorICogUHVibGljIGRv > bWFpbi4KKyAqLworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1ZGUgPG1hdGguaD4KKwor > bG9uZyBkb3VibGUKK2NhcmdsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sgICAgIAorICAgICAg > ICNpZmRlZiBfTERCTF9FUV9EQkwKKyAgICAgICAgIHJldHVybiBjYXJnICh6KTsKKyAgICAgICAj > ZWxzZQorICAgICAgICAgcmV0dXJuIGF0YW4ybCAoaW1hZyAoeiksIHJlYWwgKHopKTsKKyAgICAg > ICAjZW5kaWYKK30KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Nvc2wuYyBiL25l > d2xpYi9saWJtL2NvbXBsZXgvY2Nvc2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw > MDAwLi5jMzEwZjQwCi0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0vY29tcGxleC9jY29z > bC5jCkBAIC0wLDAgKzEsNDUgQEAKKy8qICROZXRCU0Q6IGNjb3NsLmMsdiAxLjEgMjAxNC8xMC8x > MCAwMDo0ODoxOCBjaHJpc3RvcyBFeHAgJCAqLworCisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAw > NyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg > KgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSB3cml0dGVuIGJ5IFN0ZXBo > ZW4gTC4gTW9zaGllci4KKyAqIEl0IGlzIHJlZGlzdHJpYnV0ZWQgYnkgdGhlIE5ldEJTRCBGb3Vu > ZGF0aW9uIGJ5IHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv > biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq > IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg > Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug > Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg > bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS > ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv > cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv > bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro > ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT > IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQg > Q09OVFJJQlVUT1JTCisgKiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS > UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBUSEUgSU1QTElFRCBX > QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS > CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5E > QVRJT04gT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS > RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM > IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor > ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS > T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP > TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD > VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK > KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF > VkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq > LworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlICJj > ZXBoZXNfc3VicmwuaCIKKworbG9uZyBkb3VibGUgY29tcGxleAorY2Nvc2wobG9uZyBkb3VibGUg > Y29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKwlsb25nIGRvdWJsZSBjaCwg > c2g7CisKKwlfY2Noc2hsKGNpbWFnbCh6KSwgJmNoLCAmc2gpOworCXcgPSBjb3NsKGNyZWFsbCh6 > KSkgKiBjaCAtIChzaW5sKGNyZWFsbCh6KSkgKiBzaCkgKiBJOworCXJldHVybiB3OworfQpkaWZm > IC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jZXBoZXNfc3VicmwuYyBiL25ld2xpYi9saWJt > L2NvbXBsZXgvY2VwaGVzX3N1YnJsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw > MC4uOGFmMTFkZgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2VwaGVz > X3N1YnJsLmMKQEAgLTAsMCArMSwxMjggQEAKKy8qICROZXRCU0Q6IGNlcGhlc19zdWJybC5jLHYg > MS4yIDIwMTQvMTAvMTAgMTQ6MDY6NDAgY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5 > cmlnaHQgKGMpIDIwMDcgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRz > IHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3Jp > dHRlbiBieSBTdGVwaGVuIEwuIE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRo > ZSBOZXRCU0QgRm91bmRhdGlvbiBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICog > UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv > ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0 > aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv > bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg > bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp > bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl > IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv > bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp > b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u > CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJ > T04sIElOQy4gQU5EIENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBP > UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywg > VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S > IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI > QUxMIFRIRSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg > RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog > Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP > Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF > LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS > IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP > TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP > UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ > UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VD > SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+ > CisjaW5jbHVkZSAiY2VwaGVzX3N1YnJsLmgiCisKKy8qIGNhbGN1bGF0ZSBjb3NoIGFuZCBzaW5o > ICovCisKK3ZvaWQKK19jY2hzaGwobG9uZyBkb3VibGUgeCwgbG9uZyBkb3VibGUgKmMsIGxvbmcg > ZG91YmxlICpzKQoreworCWxvbmcgZG91YmxlIGUsIGVpOworCisJaWYgKGZhYnNsKHgpIDw9IDAu > NUwpIHsKKwkJKmMgPSBjb3NobCh4KTsKKwkJKnMgPSBzaW5obCh4KTsKKwl9IGVsc2UgeworCQll > ID0gZXhwbCh4KTsKKwkJZWkgPSAwLjVMIC8gZTsKKwkJZSA9IDAuNUwgKiBlOworCQkqcyA9IGUg > LSBlaTsKKwkJKmMgPSBlICsgZWk7CisJfQorfQorCisvKiBQcm9ncmFtIHRvIHN1YnRyYWN0IG5l > YXJlc3QgaW50ZWdlciBtdWx0aXBsZSBvZiBQSSAqLworCisvKiBleHRlbmRlZCBwcmVjaXNpb24g > dmFsdWUgb2YgUEk6ICovCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUgRFAxID0gMy4xNDE1OTI2 > NTM1ODk3OTMyMzgyOTU5Njg1MjQ5MDkwODUzMTc2MzEyNUw7CitzdGF0aWMgY29uc3QgbG9uZyBk > b3VibGUgRFAyID0gMS42NjY3NDg1ODM3MDQxNzU2NjU2NDAzNDI0ODI5MzAxOTk4NzAzMDA3ZS0x > OUw7CisjaWZuZGVmIF9fdmF4X18KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZSBEUDMgPSAxLjg4 > MzA0MTA3NzY2MDc4NTExNjc0NTkwOTU0ODQ1NjAzNDk0MDI3NTNlLTM5TDsKKyNkZWZpbmUgTUFD > SEVQTCAxLjFlLTM4TAorI2Vsc2UKK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZSBEUDMgPSAwTDsK > KyNkZWZpbmUgTUFDSEVQTCAxLjFlLTE5TAorI2VuZGlmCisKK2xvbmcgZG91YmxlCitfcmVkdXBp > bChsb25nIGRvdWJsZSB4KQoreworCWxvbmcgZG91YmxlIHQ7CisJbG9uZyBsb25nIGk7CisKKwl0 > ID0geCAvIE1fUElMOworCWlmICh0ID49IDAuMEwpCisJCXQgKz0gMC41TDsKKwllbHNlCisJCXQg > LT0gMC41TDsKKworCWkgPSB0OwkvKiB0aGUgbXVsdGlwbGUgKi8KKwl0ID0gaTsKKwl0ID0gKCh4 > IC0gdCAqIERQMSkgLSB0ICogRFAyKSAtIHQgKiBEUDM7CisJcmV0dXJuIHQ7Cit9CisKKy8qIFRh > eWxvciBzZXJpZXMgZXhwYW5zaW9uIGZvciBjb3NoKDJ5KSAtIGNvcygyeCkgKi8KKworbG9uZyBk > b3VibGUKK19jdGFuc2wobG9uZyBkb3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGYs > IHgsIHgyLCB5LCB5Miwgcm4sIHQ7CisJbG9uZyBkb3VibGUgZDsKKworCXggPSBmYWJzbCgyLjBM > ICogY3JlYWxsKHopKTsKKwl5ID0gZmFic2woMi4wTCAqIGNpbWFnbCh6KSk7CisKKwl4ID0gX3Jl > ZHVwaWwoeCk7CisKKwl4ID0geCAqIHg7CisJeSA9IHkgKiB5OworCXgyID0gMS4wOworCXkyID0g > MS4wOworCWYgPSAxLjA7CisJcm4gPSAwLjA7CisJZCA9IDAuMDsKKwlkbyB7CisJCXJuICs9IDEu > MEw7CisJCWYgKj0gcm47CisJCXJuICs9IDEuMEw7CisJCWYgKj0gcm47CisJCXgyICo9IHg7CisJ > CXkyICo9IHk7CisJCXQgPSB5MiArIHgyOworCQl0IC89IGY7CisJCWQgKz0gdDsKKworCQlybiAr > PSAxLjBMOworCQlmICo9IHJuOworCQlybiArPSAxLjBMOworCQlmICo9IHJuOworCQl4MiAqPSB4 > OworCQl5MiAqPSB5OworCQl0ID0geTIgLSB4MjsKKwkJdCAvPSBmOworCQlkICs9IHQ7CisJfSB3 > aGlsZSAoZmFic2wodC9kKSA+IE1BQ0hFUEwpOworCXJldHVybiBkOworfQpkaWZmIC0tZ2l0IGEv > bmV3bGliL2xpYm0vY29tcGxleC9jZXBoZXNfc3VicmwuaCBiL25ld2xpYi9saWJtL2NvbXBsZXgv > Y2VwaGVzX3N1YnJsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM1NGIy > MwotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2VwaGVzX3N1YnJsLmgK > QEAgLTAsMCArMSw5IEBACisvKiAkTmV0QlNEOiBjZXBoZXNfc3VicmwuaCx2IDEuMSAyMDE0LzEw > LzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKK3ZvaWQgX2NjaHNobChsb25nIGRvdWJs > ZSwgbG9uZyBkb3VibGUgKiwgbG9uZyBkb3VibGUgKik7Citsb25nIGRvdWJsZSBfcmVkdXBpbChs > b25nIGRvdWJsZSk7Citsb25nIGRvdWJsZSBfY3RhbnNsKGxvbmcgZG91YmxlIGNvbXBsZXgpOwor > CisjZGVmaW5lCU1fUElMCTMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyODBlKzAw > TAorI2RlZmluZQlNX1BJXzJMCTEuNTcwNzk2MzI2Nzk0ODk2NjE5MjMxMzIxNjkxNjM5NzUxNDBl > KzAwTAorCmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2NleHBsLmMgYi9uZXdsaWIv > bGlibS9jb21wbGV4L2NleHBsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u > OGI1NjYzNAotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2V4cGwuYwpA > QCAtMCwwICsxLDQ2IEBACisvKiAkTmV0QlNEOiBjZXhwbC5jLHYgMS4xIDIwMTQvMTAvMTAgMDA6 > NDg6MTggY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMDcgVGhl > IE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq > IFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3JpdHRlbiBieSBTdGVwaGVuIEwu > IE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRoZSBOZXRCU0QgRm91bmRhdGlv > biBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k > IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp > ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp > dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg > bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg > b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0 > cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln > aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp > bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h > dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU > V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElOQy4gQU5EIENPTlRS > SUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ > RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywgVEhFIElNUExJRUQgV0FSUkFO > VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog > UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBGT1VOREFUSU9O > IE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg > SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B > R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV > QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT > OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z > IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB > QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB > UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ > RiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor > I2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK2xvbmcgZG91YmxlIGNv > bXBsZXgKK2NleHBsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25nIGRvdWJsZSBjb21w > bGV4IHc7CisJbG9uZyBkb3VibGUgciwgeCwgeTsKKworCXggPSBjcmVhbGwoeik7CisJeSA9IGNp > bWFnbCh6KTsKKwlyID0gZXhwbCh4KTsKKwl3ID0gciAqIGNvc2woeSkgKyByICogc2lubCh5KSAq > IEk7CisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2ds > LmMgYi9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k > ZXggMDAwMDAwMC4uMzY0NGE0NAotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBs > ZXgvY2xvZ2wuYwpAQCAtMCwwICsxLDQ2IEBACisvKiAkTmV0QlNEOiBjbG9nbC5jLHYgMS4xIDIw > MTQvMTAvMTAgMDA6NDg6MTggY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5cmlnaHQg > KGMpIDIwMDcgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2Vy > dmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3JpdHRlbiBi > eSBTdGVwaGVuIEwuIE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRoZSBOZXRC > U0QgRm91bmRhdGlvbiBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICogUmVkaXN0 > cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo > b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s > bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg > c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl > LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor > ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh > Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k > IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k > L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor > ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElO > Qy4gQU5EIENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM > SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywgVEhFIElN > UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS > VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRI > RSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU > LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR > VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F > TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB > LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF > RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU > LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF > UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU > V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B > R0UuCisgKi8KKworI2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK2xv > bmcgZG91YmxlIGNvbXBsZXgKK2Nsb2dsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25n > IGRvdWJsZSBjb21wbGV4IHc7CisJbG9uZyBkb3VibGUgcCwgcnI7CisKKwlyciA9IGNhYnNsKHop > OworCXAgPSBsb2dsKHJyKTsKKwlyciA9IGF0YW4ybChjaW1hZ2woeiksIGNyZWFsbCh6KSk7CisJ > dyA9IHAgKyByciAqIEk7CisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9j > b21wbGV4L2Nwcm9qbC5jIGIvbmV3bGliL2xpYm0vY29tcGxleC9jcHJvamwuYwpuZXcgZmlsZSBt > b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzFjNzczCi0tLSAvZGV2L251bGwKKysrIGIvbmV3 > bGliL2xpYm0vY29tcGxleC9jcHJvamwuYwpAQCAtMCwwICsxLDY0IEBACisvKgkkTmV0QlNEOiBj > cHJvamwuYyx2IDEuNyAyMDE0LzEwLzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkCSovCisKKy8q > LQorICogQ29weXJpZ2h0IChjKSAyMDEwIFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICog > QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv > dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg > YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog > YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp > biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp > b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg > aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg > bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp > bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy > b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS > T1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09OVFJJQlVUT1JTCisg > KiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE > SU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F > UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS > RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5EQVRJT04gT1IgQ09OVFJJ > QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM > LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV > RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH > T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO > RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G > IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S > IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g > QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg > T0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgPHN5 > cy9jZGVmcy5oPgorX19SQ1NJRCgiJE5ldEJTRDogY3Byb2psLmMsdiAxLjcgMjAxNC8xMC8xMCAw > MDo0ODoxOCBjaHJpc3RvcyBFeHAgJCIpOworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1 > ZGUgPG1hdGguaD4KKworI2luY2x1ZGUgIi4uL2NvbW1vbi9mZGxpYm0uaCIKKworLyoKKyAqIGNw > cm9qbChsb25nIGRvdWJsZSBjb21wbGV4IHopCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHJldHVy > biB0aGUgdmFsdWUgb2YgdGhlIHByb2plY3Rpb24gKG5vdCBzdGVyZW9ncmFwaGljISkKKyAqIG9u > dG8gdGhlIFJpZW1hbm4gc3BoZXJlLgorICoKKyAqIHogcHJvamVjdHMgdG8geiwgZXhjZXB0IHRo > YXQgYWxsIGNvbXBsZXggaW5maW5pdGllcyAoZXZlbiB0aG9zZSB3aXRoIG9uZQorICogaW5maW5p > dGUgcGFydCBhbmQgb25lIE5hTiBwYXJ0KSBwcm9qZWN0IHRvIHBvc2l0aXZlIGluZmluaXR5IG9u > IHRoZSByZWFsIGF4aXMuCisgKiBJZiB6IGhhcyBhbiBpbmZpbml0ZSBwYXJ0LCB0aGVuIGNwcm9q > KHopIHNoYWxsIGJlIGVxdWl2YWxlbnQgdG86CisgKgorICogSU5GSU5JVFkgKyBJICogY29weXNp > Z24oMC4wLCBjaW1hZyh6KSkKKyAqLworbG9uZyBkb3VibGUgY29tcGxleAorY3Byb2psKGxvbmcg > ZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25nX2RvdWJsZV9jb21wbGV4IHcgPSB7IC56ID0geiB9 > OworCisJLypDT05TVENPTkQqLworCWlmIChpc2luZihjcmVhbGwoeikpIHx8IGlzaW5mKGNpbWFn > bCh6KSkpIHsKKyNpZmRlZiBfX0lORklOSVRZCisJCVJFQUxfUEFSVCh3KSA9IEhVR0VfVkFMOwor > I2Vsc2UKKwkJUkVBTF9QQVJUKHcpID0gSU5GSU5JVFk7CisjZW5kaWYKKwkJSU1BR19QQVJUKHcp > ID0gY29weXNpZ25sKDAuMEwsIGNpbWFnbCh6KSk7CisJfQorCisJcmV0dXJuICh3LnopOworfQpk > aWZmIC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYyBiL25ld2xpYi9saWJtL2Nv > bXBsZXgvY3NxcnRsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwYTEy > NgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY3NxcnRsLmMKQEAgLTAs > MCArMSwxMTIgQEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMDggRGF2aWQgU2NodWx0 > eiA8ZGFzQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp > c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp > dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm > b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv > ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp > Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu > CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl > IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh > bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh > bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq > CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJV > VE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs > IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF > UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF > CisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09O > VFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO > VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElO > Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP > T0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV > U0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ > IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFks > IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB > TlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT > RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk > ZSA8c3lzL2NkZWZzLmg+CisjaWYgMAorX19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL2xpYi9tc3Vu > L3NyYy9zX2NzcXJ0bC5jIDE4MTQwMiAyMDA4LTA4LTA4IDAwOjE1OjE2WiBkYXMgJCIpOworI2Vs > c2UKK19fUkNTSUQoIiROZXRCU0Q6IGNzcXJ0bC5jLHYgMS4yIDIwMTQvMTAvMTEgMDA6NDM6NTEg > Y2hyaXN0b3MgRXhwICQiKTsKKyNlbmRpZgorCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1 > ZGUgPGZsb2F0Lmg+CisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKy8q > CisgKiBnY2MgZG9lc24ndCBpbXBsZW1lbnQgY29tcGxleCBtdWx0aXBsaWNhdGlvbiBvciBkaXZp > c2lvbiBjb3JyZWN0bHksCisgKiBzbyB3ZSBuZWVkIHRvIGhhbmRsZSBpbmZpbml0aWVzIHNwZWNp > YWxseS4gV2UgdHVybiBvbiB0aGlzIHByYWdtYSB0bworICogbm90aWZ5IGNvbmZvcm1pbmcgYzk5 > IGNvbXBpbGVycyB0aGF0IHRoZSBmYXN0LWJ1dC1pbmNvcnJlY3QgY29kZSB0aGF0CisgKiBnY2Mg > Z2VuZXJhdGVzIGlzIGFjY2VwdGFibGUsIHNpbmNlIHRoZSBzcGVjaWFsIGNhc2VzIGhhdmUgYWxy > ZWFkeSBiZWVuCisgKiBoYW5kbGVkLgorICovCisvLyAjcHJhZ21hCVNUREMgQ1hfTElNSVRFRF9S > QU5HRQlPTgorCisvKiBXZSByaXNrIHNwdXJpb3VzIG92ZXJmbG93IGZvciBjb21wb25lbnRzID49 > IExEQkxfTUFYIC8gKDEgKyBzcXJ0KDIpKS4gKi8KKyNkZWZpbmUJVEhSRVNICShMREJMX01BWCAv > IDIuNDE0MjEzNTYyMzczMDk1MDQ4ODAxNjg4NzI0MjA5Njk4TCkKKworI2RlZmluZSBjcGFja2wo > ciwgaSkgKChyKSArIChpKSAqIEkpCisKK2xvbmcgZG91YmxlIGNvbXBsZXgKK2NzcXJ0bChsb25n > IGRvdWJsZSBjb21wbGV4IHopCit7CisJbG9uZyBkb3VibGUgY29tcGxleCByZXN1bHQ7CisJbG9u > ZyBkb3VibGUgYSwgYjsKKwlsb25nIGRvdWJsZSB0OworCWJvb2wgc2NhbGU7CisKKwlhID0gY3Jl > YWxsKHopOworCWIgPSBjaW1hZ2woeik7CisKKwkvKiBIYW5kbGUgc3BlY2lhbCBjYXNlcy4gKi8K > KwlpZiAoeiA9PSAwLjBMKQorCQlyZXR1cm4gKGNwYWNrbCgwLjBMLCBiKSk7CisJaWYgKGlzaW5m > KGIpKQorCQlyZXR1cm4gKGNwYWNrbChJTkZJTklUWSwgYikpOworCWlmIChpc25hbihhKSkgewor > CQl0ID0gKGIgLSBiKSAvIChiIC0gYik7CS8qIHJhaXNlIGludmFsaWQgaWYgYiBpcyBub3QgYSBO > YU4gKi8KKwkJcmV0dXJuIChjcGFja2woYSwgdCkpOwkvKiByZXR1cm4gTmFOICsgTmFOIGkgKi8K > Kwl9CisJaWYgKGlzaW5mKGEpKSB7CisJCS8qCisJCSAqIGNzcXJ0KGluZiArIE5hTiBpKSAgPSBp > bmYgKyAgTmFOIGkKKwkJICogY3NxcnQoaW5mICsgeSBpKSAgICA9IGluZiArICAwIGkKKwkJICog > Y3NxcnQoLWluZiArIE5hTiBpKSA9IE5hTiArLSBpbmYgaQorCQkgKiBjc3FydCgtaW5mICsgeSBp > KSAgID0gMCAgICsgIGluZiBpCisJCSAqLworCQlpZiAoc2lnbmJpdChhKSkKKwkJCXJldHVybiAo > Y3BhY2tsKGZhYnNsKGIgLSBiKSwgY29weXNpZ25sKGEsIGIpKSk7CisJCWVsc2UKKwkJCXJldHVy > biAoY3BhY2tsKGEsIGNvcHlzaWdubChiIC0gYiwgYikpKTsKKwl9CisJLyoKKwkgKiBUaGUgcmVt > YWluaW5nIHNwZWNpYWwgY2FzZSAoYiBpcyBOYU4pIGlzIGhhbmRsZWQganVzdCBmaW5lIGJ5CisJ > ICogdGhlIG5vcm1hbCBjb2RlIHBhdGggYmVsb3cuCisJICovCisKKwkvKiBTY2FsZSB0byBhdm9p > ZCBvdmVyZmxvdy4gKi8KKwlpZiAoZmFic2woYSkgPj0gVEhSRVNIIHx8IGZhYnNsKGIpID49IFRI > UkVTSCkgeworCQlhICo9IDAuMjVMOworCQliICo9IDAuMjVMOworCQlzY2FsZSA9IHRydWU7CisJ > fSBlbHNlIHsKKwkJc2NhbGUgPSBmYWxzZTsKKwl9CisKKwkvKiBBbGdvcml0aG0gMzEyLCBDQUNN > IHZvbCAxMCwgT2N0IDE5NjcuICovCisJaWYgKGEgPj0gMEwpIHsKKwkJdCA9IHNxcnRsKChhICsg > aHlwb3RsKGEsIGIpKSAqIDAuNUwpOworCQlyZXN1bHQgPSBjcGFja2wodCwgYiAvICgyLjBMICog > dCkpOworCX0gZWxzZSB7CisJCXQgPSBzcXJ0bCgoLWEgKyBoeXBvdGwoYSwgYikpICogMC41TCk7 > CisJCXJlc3VsdCA9IGNwYWNrbChmYWJzbChiKSAvICgyLjBMICogdCksIGNvcHlzaWdubCh0LCBi > KSk7CisJfQorCisJLyogUmVzY2FsZS4gKi8KKwlpZiAoc2NhbGUpCisJCXJldHVybiAocmVzdWx0 > ICogMi4wTCk7CisJZWxzZQorCQlyZXR1cm4gKHJlc3VsdCk7Cit9Cg== > --001a11415d58a0bfbb0552f6215b--