From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49301 invoked by alias); 21 Jun 2017 02:25:10 -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 49053 invoked by uid 89); 21 Jun 2017 02:24:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-oi0-f46.google.com Received: from mail-oi0-f46.google.com (HELO mail-oi0-f46.google.com) (209.85.218.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 21 Jun 2017 02:24:52 +0000 Received: by mail-oi0-f46.google.com with SMTP id p66so49911055oia.0 for ; Tue, 20 Jun 2017 19:24:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=4c6HlniM457urZBBZlXtp2zAlgfcE3kWvoHxQLhT9Hg=; b=rFf49DgJrUXx0XQ4woBgcWKZFZ9NvAOUGU5ad5zbcVWUsdWGV6fajzDA2dNkGM1qNC 0d4jmsFjCgXezHPmDBNWFh+2hS4S6IvAVRjzeAjE//uYdS/g/kiMWEgRx3gF61Y3Ppi1 y2McNKK9sJVl93MpBy0V/PfcQnJpb+MiOVYBJeUi/+PhMECJf33jUJD9Mr7vG4JP6X71 mp4fX1F2pp9RV+d8jumckj+NsKoMZwGV0NdLL1BXSLTZJD1GEwNLd47MCktMAVKj13mq cAv9Y1mcpexk+27X+vxu6PuWyeyIy4GTaXa6Jj2mCyTzK9QCmtBMxWEbkNO/HRZP7TKV VOyg== X-Gm-Message-State: AKS2vOwmEAtoVRcVXJSvgCD80nMDXvfA0eNQh/xWzLQUSqe0JRDlMeHG 8jKhKjPwbj8CjR5pWt/lTacUmrEGyQ== X-Received: by 10.202.197.200 with SMTP id v191mr16778215oif.223.1498011890770; Tue, 20 Jun 2017 19:24:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.83.29 with HTTP; Tue, 20 Jun 2017 19:24:50 -0700 (PDT) From: aditya upadhyay Date: Wed, 21 Jun 2017 02:25:00 -0000 Message-ID: Subject: Importing cacoshl.c and its dependent methos, To: newlib@sourceware.org Content-Type: multipart/mixed; boundary="001a1134fcf69f214905526f12c1" X-IsSubscribed: yes X-SW-Source: 2017/txt/msg00443.txt.bz2 --001a1134fcf69f214905526f12c1 Content-Type: text/plain; charset="UTF-8" Content-length: 330 Hello Developers, In cacoshl.c, There is a dependency between cacoshl.c and csqrtl.c. In ported csqrtl.c from NetBSD, stdbool.h is there, But i saw there is no stdbool.h. So for bool data type, I have used enum. Is it a right way or not. please suggest or do i have to use stdbool.h from gcc library ? Thanks, Aditya Upadhyay --001a1134fcf69f214905526f12c1 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Importing-cacoshl.c-and-its-dependent-methods.patch" Content-Disposition: attachment; filename="0002-Importing-cacoshl.c-and-its-dependent-methods.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j46dljmt0 Content-length: 17215 RnJvbSBjOTQ1MWE3YWNmMGYxMjQ0ZmYzMTU4MmU3NzVkNmUyZjFlNjIwYzI4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVXBhZGh5 YXkgPGFhZGl0MDQwMkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIw MTcgMDU6NTU6NDQgKzA1MzAKU3ViamVjdDogW1BBVENIIDIvMl0gSW1wb3J0 aW5nIGNhY29zaGwuYyBhbmQgaXRzIGRlcGVuZGVudCBtZXRob2RzLgoKLS0t CiBuZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmFtIHwgICAyICstCiBu ZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmluIHwgIDI2ICsrKysrKysr LS0KIG5ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jICAgfCAgNDUgKysr KysrKysrKysrKysrKwogbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5jICAg ICB8ICA0NiArKysrKysrKysrKysrKysrKwogbmV3bGliL2xpYm0vY29tcGxl eC9jc3FydGwuYyAgICB8IDExMiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDIyNyBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IG5l d2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYwoKZGlmZiAtLWdp dCBhL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0gYi9uZXdsaWIv bGlibS9jb21wbGV4L01ha2VmaWxlLmFtCmluZGV4IDQwMjA1M2YuLjlkMDRh NWMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUu YW0KKysrIGIvbmV3bGliL2xpYm0vY29tcGxleC9NYWtlZmlsZS5hbQpAQCAt MTAsNyArMTAsNyBAQCBzcmMgPSBjYWJzLmMgY2Fjb3MuYyBjYWNvc2guYyBj YXJnLmMgY2FzaW4uYyBjYXNpbmguYyBcCiAgICAgICBjcG93LmMgY3Byb2ou YyAgY3JlYWwuYyAgXAogICAgICAgY3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBj dGFuLmMgY3RhbmguYwogCi1sc3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1h Z2wuYyBjY29zaGwuYworbHNyYyA9IGNhYnNsLmMgY3JlYWxsLmMgY2ltYWds LmMgY2Nvc2hsLmMgY2Fjb3NobC5jIGNzcXJ0bC5jIGNsb2dsLmMKIAogZnNy YyA9CWNhYnNmLmMgY2FzaW5mLmMgY2Nvc2YuYyBjaW1hZ2YuYyBjcHJvamYu YyAgXAogICAgICAgICBjc3FydGYuYyBjYWNvc2YuYyBjYXNpbmhmLmMgY2Nv c2hmLmMgY2xvZ2YuYyBjbG9nMTBmLmMgXApkaWZmIC0tZ2l0IGEvbmV3bGli L2xpYm0vY29tcGxleC9NYWtlZmlsZS5pbiBiL25ld2xpYi9saWJtL2NvbXBs ZXgvTWFrZWZpbGUuaW4KaW5kZXggNTVjNzRhMS4uNTgxNDE5ZiAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYm0vY29tcGxleC9NYWtlZmlsZS5pbgorKysgYi9u ZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmluCkBAIC05Nyw3ICs5Nyw4 IEBAIGFtX19vYmplY3RzXzIgPSBsaWJfYS1jYWJzZi4kKE9CSkVYVCkgbGli X2EtY2FzaW5mLiQoT0JKRVhUKSBcCiAJbGliX2EtY2F0YW5oZi4kKE9CSkVY VCkgbGliX2EtY2V4cGYuJChPQkpFWFQpIFwKIAlsaWJfYS1jcG93Zi4kKE9C SkVYVCkgbGliX2EtY3NpbmhmLiQoT0JKRVhUKQogYW1fX29iamVjdHNfMyA9 IGxpYl9hLWNhYnNsLiQoT0JKRVhUKSBsaWJfYS1jcmVhbGwuJChPQkpFWFQp IFwKLQlsaWJfYS1jaW1hZ2wuJChPQkpFWFQpIGxpYl9hLWNjb3NobC4kKE9C SkVYVCkKKwlsaWJfYS1jaW1hZ2wuJChPQkpFWFQpIGxpYl9hLWNjb3NobC4k KE9CSkVYVCkgbGliX2EtY2Fjb3NobC4kKE9CSkVYVCkgXAorICAgICAgICBs aWJfYS1jbG9nbC4kKE9CSkVYVCkgbGliX2EtY3NxcnRsLiQoT0JKRVhUKQog QFVTRV9MSUJUT09MX0ZBTFNFQGFtX2xpYl9hX09CSkVDVFMgPSAkKGFtX19v YmplY3RzXzEpIFwKIEBVU0VfTElCVE9PTF9GQUxTRUAJJChhbV9fb2JqZWN0 c18yKSAkKGFtX19vYmplY3RzXzMpCiBsaWJfYV9PQkpFQ1RTID0gJChhbV9s aWJfYV9PQkpFQ1RTKQpAQCAtMTEyLDcgKzExMyw4IEBAIGFtX19vYmplY3Rz XzUgPSBjYWJzZi5sbyBjYXNpbmYubG8gY2Nvc2YubG8gY2ltYWdmLmxvIGNw cm9qZi5sbyBcCiAJY3JlYWxmLmxvIGN0YW5mLmxvIGNhY29zaGYubG8gY2F0 YW5mLmxvIGNlcGhlc19zdWJyZi5sbyBcCiAJY29uamYubG8gY3NpbmYubG8g Y3RhbmhmLmxvIGNhcmdmLmxvIGNhdGFuaGYubG8gY2V4cGYubG8gXAogCWNw b3dmLmxvIGNzaW5oZi5sbwotYW1fX29iamVjdHNfNiA9IGNhYnNsLmxvIGNy ZWFsbC5sbyBjaW1hZ2wubG8gY2Nvc2hsLmxvCithbV9fb2JqZWN0c182ID0g Y2Fic2wubG8gY3JlYWxsLmxvIGNpbWFnbC5sbyBjY29zaGwubG8gY2Fjb3No bC5sbyBcCisgICAgICAgIGNsb2dsLmxvIGNzcXJ0bC5sbwogQFVTRV9MSUJU T09MX1RSVUVAYW1fbGliY29tcGxleF9sYV9PQkpFQ1RTID0gJChhbV9fb2Jq ZWN0c180KSBcCiBAVVNFX0xJQlRPT0xfVFJVRUAJJChhbV9fb2JqZWN0c181 KSAkKGFtX19vYmplY3RzXzYpCiBsaWJjb21wbGV4X2xhX09CSkVDVFMgPSAk KGFtX2xpYmNvbXBsZXhfbGFfT0JKRUNUUykKQEAgLTI3Niw3ICsyNzgsNyBA QCBzcmMgPSBjYWJzLmMgY2Fjb3MuYyBjYWNvc2guYyBjYXJnLmMgY2FzaW4u YyBjYXNpbmguYyBcCiAgICAgICBjcG93LmMgY3Byb2ouYyAgY3JlYWwuYyAg XAogICAgICAgY3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBjdGFuLmMgY3Rhbmgu YwogCi1sc3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29zaGwu YworbHNyYyA9IGNhYnNsLmMgY3JlYWxsLmMgY2ltYWdsLmMgY2Nvc2hsLmMg Y2Fjb3NobC5jIGNsb2dsLmMgY3NxcnRsLmMKIGZzcmMgPSBjYWJzZi5jIGNh c2luZi5jIGNjb3NmLmMgY2ltYWdmLmMgY3Byb2pmLmMgIFwKICAgICAgICAg Y3NxcnRmLmMgY2Fjb3NmLmMgY2FzaW5oZi5jIGNjb3NoZi5jIGNsb2dmLmMg Y2xvZzEwZi5jIFwKICAgICAgICAgY3JlYWxmLmMgY3RhbmYuYyBjYWNvc2hm LmMgY2F0YW5mLmMgICBcCkBAIC02ODksNiArNjkxLDI0IEBAIGxpYl9hLWNj b3NobC5vOiBjY29zaGwuYwogbGliX2EtY2Nvc2hsLm9iajogY2Nvc2hsLmMK IAkkKENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURF UykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1Mp ICQoQ0ZMQUdTKSAtYyAtbyBsaWJfYS1jY29zaGwub2JqIGBpZiB0ZXN0IC1m ICdjY29zaGwuYyc7IHRoZW4gJChDWUdQQVRIX1cpICdjY29zaGwuYyc7IGVs c2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvY2Nvc2hsLmMnOyBmaWAKIAor bGliX2EtY2Fjb3NobC5vOiBjYWNvc2hsLmMKKwkkKENDKSAkKERFRlMpICQo REVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykg JChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1MpICQoQ0ZMQUdTKSAtYyAtbyBs aWJfYS1jYWNvc2hsLm8gYHRlc3QgLWYgJ2NhY29zaGwuYycgfHwgZWNobyAn JChzcmNkaXIpLydgY2Fjb3NobC5jCisKK2xpYl9hLWNhY29zaGwub2JqOiBj YWNvc2hsLmMKKwkkKENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykg JChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJf YV9DRkxBR1MpICQoQ0ZMQUdTKSAtYyAtbyBsaWJfYS1jYWNvc2hsLm9iaiBg aWYgdGVzdCAtZiAnY2Fjb3NobC5jJzsgdGhlbiAkKENZR1BBVEhfVykgJ2Nh Y29zaGwuYyc7IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvY2Fjb3No bC5jJzsgZmlgCisKK2xpYl9hLWNsb2dsLm86IGNsb2dsLmMKKwkkKENDKSAk KERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9D UFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1MpICQoQ0ZMQUdT KSAtYyAtbyBsaWJfYS1jbG9nbC5vIGB0ZXN0IC1mICdjbG9nbC5jJyB8fCBl Y2hvICckKHNyY2RpcikvJ2BjbG9nbC5jCisKK2xpYl9hLWNsb2dsLm9iajog Y2xvZ2wuYworCSQoQ0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAk KElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGxpYl9h X0NGTEFHUykgJChDRkxBR1MpIC1jIC1vIGxpYl9hLWNsb2dsLm9iaiBgaWYg dGVzdCAtZiAnY2xvZ2wuYyc7IHRoZW4gJChDWUdQQVRIX1cpICdjbG9nbC5j JzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9jbG9nbC5jJzsgZmlg CisKK2xpYl9hLWNzcXJ0bC5vOiBjc3FydGwuYworCSQoQ0MpICQoREVGUykg JChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdT KSAkKENQUEZMQUdTKSAkKGxpYl9hX0NGTEFHUykgJChDRkxBR1MpIC1jIC1v IGxpYl9hLWNzcXJ0bC5vIGB0ZXN0IC1mICdjc3FydGwuYycgfHwgZWNobyAn JChzcmNkaXIpLydgY3NxcnRsLmMKKworbGliX2EtY3NxcnRsLm9iajogY3Nx cnRsLmMKKwkkKENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJ TkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9D RkxBR1MpICQoQ0ZMQUdTKSAtYyAtbyBsaWJfYS1jc3FydGwub2JqIGBpZiB0 ZXN0IC1mICdjc3FydGwuYyc7IHRoZW4gJChDWUdQQVRIX1cpICdjc3FydGwu Yyc7IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvY3NxcnRsLmMnOyBm aWAKKwogbW9zdGx5Y2xlYW4tbGlidG9vbDoKIAktcm0gLWYgKi5sbwogCmRp ZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2NhY29zaGwuYyBiL25l d2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjRlNGUwMDYKLS0tIC9kZXYvbnVsbAorKysg Yi9uZXdsaWIvbGlibS9jb21wbGV4L2NhY29zaGwuYwpAQCAtMCwwICsxLDQ1 IEBACisvKiAkTmV0QlNEOiBjYWNvc2hsLmMsdiAxLjEgMjAxNC8xMC8xMCAw MDo0ODoxOCBjaHJpc3RvcyBFeHAgJCAqLworCisvKi0KKyAqIENvcHlyaWdo dCAoYykgMjAwNyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KKyAqIEFs bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2 ZWQgZnJvbSBzb2Z0d2FyZSB3cml0dGVuIGJ5IFN0ZXBoZW4gTC4gTW9zaGll ci4KKyAqIEl0IGlzIHJlZGlzdHJpYnV0ZWQgYnkgdGhlIE5ldEJTRCBGb3Vu ZGF0aW9uIGJ5IHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4KKyAqCisgKiBS ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS T1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09O VFJJQlVUT1JTCisgKiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElN UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQK KyAqIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5E QVRJT04gT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBP RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8Y29tcGxleC5oPgor Citsb25nIGRvdWJsZSBjb21wbGV4CitjYWNvc2hsKGxvbmcgZG91YmxlIGNv bXBsZXggeikKK3sKKwlsb25nIGRvdWJsZSBjb21wbGV4IHc7CisKKyNpZiAw IC8qIGRvZXMgbm90IGdpdmUgdGhlIHByaW5jaXBhbCB2YWx1ZSAqLworCXcg PSBJICogY2Fjb3NsKHopOworI2Vsc2UKKwl3ID0gY2xvZ2woeiArIGNzcXJ0 bCh6ICsgMSkgKiBjc3FydGwoeiAtIDEpKTsKKyNlbmRpZgorCXJldHVybiB3 OworfQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5j IGIvbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NDRhNDQKLS0tIC9kZXYvbnVsbAor KysgYi9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKQEAgLTAsMCArMSw0 NiBAQAorLyogJE5ldEJTRDogY2xvZ2wuYyx2IDEuMSAyMDE0LzEwLzEwIDAw OjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29weXJpZ2h0 IChjKSAyMDA3IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxs IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZl ZCBmcm9tIHNvZnR3YXJlIHdyaXR0ZW4gYnkgU3RlcGhlbiBMLiBNb3NoaWVy LgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0aGUgTmV0QlNEIEZvdW5k YXRpb24gYnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAqIFJl ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0 CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0 aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP VklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05U UklCVVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAor ICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRB VElPTiBPUiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9G IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxjb21wbGV4Lmg+Cisj aW5jbHVkZSA8bWF0aC5oPgorCitsb25nIGRvdWJsZSBjb21wbGV4CitjbG9n bChsb25nIGRvdWJsZSBjb21wbGV4IHopCit7CisJbG9uZyBkb3VibGUgY29t cGxleCB3OworCWxvbmcgZG91YmxlIHAsIHJyOworCisJcnIgPSBjYWJzbCh6 KTsKKwlwID0gbG9nbChycik7CisJcnIgPSBhdGFuMmwoY2ltYWdsKHopLCBj cmVhbGwoeikpOworCXcgPSBwICsgcnIgKiBJOworCXJldHVybiB3OworfQpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYyBiL25l d2xpYi9saWJtL2NvbXBsZXgvY3NxcnRsLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uYmY2OTBlZQotLS0gL2Rldi9udWxsCisrKyBi L25ld2xpYi9saWJtL2NvbXBsZXgvY3NxcnRsLmMKQEAgLTAsMCArMSwxMTIg QEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMDggRGF2aWQgU2No dWx0eiA8ZGFzQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZl ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0 aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJV VE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUg RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1Ig Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElO RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP TlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisg KiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7 IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VE IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD T05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg V0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERB TUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaWYgMAor X19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL3NyYy9zX2NzcXJ0 bC5jIDE4MTQwMiAyMDA4LTA4LTA4IDAwOjE1OjE2WiBkYXMgJCIpOworI2Vs c2UKK19fUkNTSUQoIiROZXRCU0Q6IGNzcXJ0bC5jLHYgMS4yIDIwMTQvMTAv MTEgMDA6NDM6NTEgY2hyaXN0b3MgRXhwICQiKTsKKyNlbmRpZgorCisjaW5j bHVkZSA8Y29tcGxleC5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CisjaW5jbHVk ZSA8bWF0aC5oPgorCisvKgorICogZ2NjIGRvZXNuJ3QgaW1wbGVtZW50IGNv bXBsZXggbXVsdGlwbGljYXRpb24gb3IgZGl2aXNpb24gY29ycmVjdGx5LAor ICogc28gd2UgbmVlZCB0byBoYW5kbGUgaW5maW5pdGllcyBzcGVjaWFsbHku IFdlIHR1cm4gb24gdGhpcyBwcmFnbWEgdG8KKyAqIG5vdGlmeSBjb25mb3Jt aW5nIGM5OSBjb21waWxlcnMgdGhhdCB0aGUgZmFzdC1idXQtaW5jb3JyZWN0 IGNvZGUgdGhhdAorICogZ2NjIGdlbmVyYXRlcyBpcyBhY2NlcHRhYmxlLCBz aW5jZSB0aGUgc3BlY2lhbCBjYXNlcyBoYXZlIGFscmVhZHkgYmVlbgorICog aGFuZGxlZC4KKyAqLworLy8gI3ByYWdtYQlTVERDIENYX0xJTUlURURfUkFO R0UJT04KKworLyogV2UgcmlzayBzcHVyaW91cyBvdmVyZmxvdyBmb3IgY29t cG9uZW50cyA+PSBMREJMX01BWCAvICgxICsgc3FydCgyKSkuICovCisjZGVm aW5lCVRIUkVTSAkoTERCTF9NQVggLyAyLjQxNDIxMzU2MjM3MzA5NTA0ODgw MTY4ODcyNDIwOTY5OEwpCisKKyNkZWZpbmUgY3BhY2tsKHIsIGkpICgocikg KyAoaSkgKiBJKQordHlwZWRlZiBlbnVtIHsgZmFsc2UsIHRydWUgfSBib29s ZWFuOworbG9uZyBkb3VibGUgY29tcGxleAorY3NxcnRsKGxvbmcgZG91Ymxl IGNvbXBsZXggeikKK3sKKwlsb25nIGRvdWJsZSBjb21wbGV4IHJlc3VsdDsK Kwlsb25nIGRvdWJsZSBhLCBiOworCWxvbmcgZG91YmxlIHQ7CisJYm9vbGVh biBzY2FsZTsKKworCWEgPSBjcmVhbGwoeik7CisJYiA9IGNpbWFnbCh6KTsK KworCS8qIEhhbmRsZSBzcGVjaWFsIGNhc2VzLiAqLworCWlmICh6ID09IDAu MEwpCisJCXJldHVybiAoY3BhY2tsKDAuMEwsIGIpKTsKKwlpZiAoaXNpbmYo YikpCisJCXJldHVybiAoY3BhY2tsKElORklOSVRZLCBiKSk7CisJaWYgKGlz bmFuKGEpKSB7CisJCXQgPSAoYiAtIGIpIC8gKGIgLSBiKTsJLyogcmFpc2Ug aW52YWxpZCBpZiBiIGlzIG5vdCBhIE5hTiAqLworCQlyZXR1cm4gKGNwYWNr bChhLCB0KSk7CS8qIHJldHVybiBOYU4gKyBOYU4gaSAqLworCX0KKwlpZiAo aXNpbmYoYSkpIHsKKwkJLyoKKwkJICogY3NxcnQoaW5mICsgTmFOIGkpICA9 IGluZiArICBOYU4gaQorCQkgKiBjc3FydChpbmYgKyB5IGkpICAgID0gaW5m ICsgIDAgaQorCQkgKiBjc3FydCgtaW5mICsgTmFOIGkpID0gTmFOICstIGlu ZiBpCisJCSAqIGNzcXJ0KC1pbmYgKyB5IGkpICAgPSAwICAgKyAgaW5mIGkK KwkJICovCisJCWlmIChzaWduYml0KGEpKQorCQkJcmV0dXJuIChjcGFja2wo ZmFic2woYiAtIGIpLCBjb3B5c2lnbmwoYSwgYikpKTsKKwkJZWxzZQorCQkJ cmV0dXJuIChjcGFja2woYSwgY29weXNpZ25sKGIgLSBiLCBiKSkpOworCX0K KwkvKgorCSAqIFRoZSByZW1haW5pbmcgc3BlY2lhbCBjYXNlIChiIGlzIE5h TikgaXMgaGFuZGxlZCBqdXN0IGZpbmUgYnkKKwkgKiB0aGUgbm9ybWFsIGNv ZGUgcGF0aCBiZWxvdy4KKwkgKi8KKworCS8qIFNjYWxlIHRvIGF2b2lkIG92 ZXJmbG93LiAqLworCWlmIChmYWJzbChhKSA+PSBUSFJFU0ggfHwgZmFic2wo YikgPj0gVEhSRVNIKSB7CisJCWEgKj0gMC4yNUw7CisJCWIgKj0gMC4yNUw7 CisJCXNjYWxlID0gdHJ1ZTsKKwl9IGVsc2UgeworCQlzY2FsZSA9IGZhbHNl OworCX0KKworCS8qIEFsZ29yaXRobSAzMTIsIENBQ00gdm9sIDEwLCBPY3Qg MTk2Ny4gKi8KKwlpZiAoYSA+PSAwTCkgeworCQl0ID0gc3FydGwoKGEgKyBo eXBvdGwoYSwgYikpICogMC41TCk7CisJCXJlc3VsdCA9IGNwYWNrbCh0LCBi IC8gKDIuMEwgKiB0KSk7CisJfSBlbHNlIHsKKwkJdCA9IHNxcnRsKCgtYSAr IGh5cG90bChhLCBiKSkgKiAwLjVMKTsKKwkJcmVzdWx0ID0gY3BhY2tsKGZh YnNsKGIpIC8gKDIuMEwgKiB0KSwgY29weXNpZ25sKHQsIGIpKTsKKwl9CisK KwkvKiBSZXNjYWxlLiAqLworCWlmIChzY2FsZSkKKwkJcmV0dXJuIChyZXN1 bHQgKiAyLjBMKTsKKwllbHNlCisJCXJldHVybiAocmVzdWx0KTsKK30KLS0g CjIuNy40Cgo= --001a1134fcf69f214905526f12c1--