From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106745 invoked by alias); 27 Jun 2017 19:41:21 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 106202 invoked by uid 89); 27 Jun 2017 19:41:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=H*i:sk:CAMZxAx, realtime, camzxaxdtsvz7nz4iq3qw3wofapvv4zh99w79cr9k4gkc4x8dwg@mail.gmail.com, camzxaxdtsvz7nz4iq3qw3wofapvv4zh99w79cr9k4gkc4x8dwgmailgmailcom X-HELO: mx.coeval.ca Received: from mx.coeval.ca (HELO mx.coeval.ca) (184.75.211.21) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Jun 2017 19:41:15 +0000 Received: from [192.168.1.171] (unknown [67.63.146.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx.coeval.ca (Postfix) with ESMTPSA id 68CFE436054; Tue, 27 Jun 2017 19:41:12 +0000 (UTC) Reply-To: joel@rtems.org Subject: Re: failure notice To: Aditya Upadhyay , "newlib@sourceware.org" , Gedare Bloom References: <5952b2e7.11ca620a.f1276.242cSMTPIN_ADDED_MISSING@mx.google.com> From: Joel Sherrill Message-ID: Date: Tue, 27 Jun 2017 19:41:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2017/txt/msg00491.txt.bz2 Messages have to be in ASCII format and under 100KB. I think you tripped the no HTML rule. --joel On 6/27/2017 2:35 PM, Aditya Upadhyay wrote: > 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-- -- Joel Sherrill, Ph.D. Check out RTEMS at https://www.rtems.org Truly free real-time operating sysem