Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ilVtL-0005cN-4I for pgsql-hackers@arkaria.postgresql.org; Sun, 29 Dec 2019 10:33:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ilVtH-000160-UH for pgsql-hackers@arkaria.postgresql.org; Sun, 29 Dec 2019 10:33:43 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ilVtG-00015e-CC for pgsql-hackers@lists.postgresql.org; Sun, 29 Dec 2019 10:33:43 +0000 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ilVtC-00063W-DL for pgsql-hackers@postgresql.org; Sun, 29 Dec 2019 10:33:40 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id CE17A44B for ; Sun, 29 Dec 2019 05:33:36 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Sun, 29 Dec 2019 05:33:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=KX5g21GjcWjXumVonPxxoNf4L1Owh P2WmlFiVi/hxBk=; b=Cb/dwyabHSkSnrMz82gX1RJbVKfLZIc1FS3/62fRhdzIl GUMY4RhDUCP2vZiO7pH1m6MZWdgAotAdjyuIjWs32Ow+YWg6DigXpOWDYr8+wRyA X2iFIOLn5BZWqTDinbNMjXt98jYaxl+dvST2T155bMOS2CqcwihIlL3eqHHQA3UW mBFo9/PwA6pErlseDVPOFaa5e9qUInBtZXfY9Cac77BVPT0Am7dW6iHleFsmbZeq 64Y/P1xIs18SiEQFuNlWEtzigW/mgDdeTHz0S8BXdFe1IteSaO14ipbAaF2bdm7W zusaueULOZN6bjfUUJZg0FJkfrWWiX/RNsyrbtCcg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrvdeffedgudejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefvhffuohfkffgfgggtsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomheqnecuffhomhgrihhnpe dvnhguqhhurggurhgrnhhtrdgtohhmnecukfhppeelfedrvdegfedrudekjedrudeggeen ucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnh guqhhurggurhgrnhhtrdgtohhmnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (p5df3bb90.dip0.t-ipconnect.de [93.243.187.144]) by mail.messagingengine.com (Postfix) with ESMTPA id 55A663060AA8 for ; Sun, 29 Dec 2019 05:33:35 -0500 (EST) To: pgsql-hackers From: Peter Eisentraut Subject: remove some STATUS_* symbols Organization: 2ndQuadrant Message-ID: Date: Sun, 29 Dec 2019 11:33:34 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------7C90284B606C81D1B39165A9" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------7C90284B606C81D1B39165A9 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I have found the collection of STATUS_* defines in c.h a bit curious. There used to be a lot more even that have been removed over time. Currently, STATUS_FOUND and STATUS_WAITING are only used in one group of functions each, so perhaps it would make more sense to remove these from the global namespace and make them a local concern. Attached are two patches to remove these two symbols. STATUS_FOUND can be replaced by a simple bool. STATUS_WAITING is replaced by a separate enum. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------7C90284B606C81D1B39165A9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Remove-STATUS_FOUND.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Remove-STATUS_FOUND.patch" RnJvbSBmNTc1ZGEwZmVkYzkyMDAwM2FmYjQ2NTVmMzUwM2NjOTE5NDljYzU1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU3VuLCAyOSBEZWMgMjAxOSAwOTowOToyMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS80XSBSZW1vdmUgU1RBVFVTX0ZPVU5ECgpSZXBsYWNlIHRoZSBzb2xpdGFy eSB1c2Ugd2l0aCBhIGJvb2wuCi0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL2xvY2su YyB8IDI0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9s bWdyL3Byb2MuYyB8IDEyICsrKystLS0tLS0tLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAg ICAgICAgICB8ICAxIC0KIHNyYy9pbmNsdWRlL3N0b3JhZ2UvbG9jay5oICAgICAgfCAgMiAr LQogNCBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jIGIvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9sbWdyL2xvY2suYwppbmRleCA5MDg5NzMzZWNjLi5lMmM3MjhhOTdk IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jCisrKyBiL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMKQEAgLTc0Niw3ICs3NDYsNyBAQCBMb2Nr QWNxdWlyZUV4dGVuZGVkKGNvbnN0IExPQ0tUQUcgKmxvY2t0YWcsCiAJUmVzb3VyY2VPd25l ciBvd25lcjsKIAl1aW50MzIJCWhhc2hjb2RlOwogCUxXTG9jawkgICAqcGFydGl0aW9uTG9j azsKLQlpbnQJCQlzdGF0dXM7CisJYm9vbAkJZm91bmRfY29uZmxpY3Q7CiAJYm9vbAkJbG9n X2xvY2sgPSBmYWxzZTsKIAogCWlmIChsb2NrbWV0aG9kaWQgPD0gMCB8fCBsb2NrbWV0aG9k aWQgPj0gbGVuZ3Rob2YoTG9ja01ldGhvZHMpKQpAQCAtOTc5LDEyICs5NzksMTIgQEAgTG9j a0FjcXVpcmVFeHRlbmRlZChjb25zdCBMT0NLVEFHICpsb2NrdGFnLAogCSAqIChUaGF0J3Mg bGFzdCBiZWNhdXNlIG1vc3QgY29tcGxleCBjaGVjay4pCiAJICovCiAJaWYgKGxvY2tNZXRo b2RUYWJsZS0+Y29uZmxpY3RUYWJbbG9ja21vZGVdICYgbG9jay0+d2FpdE1hc2spCi0JCXN0 YXR1cyA9IFNUQVRVU19GT1VORDsKKwkJZm91bmRfY29uZmxpY3QgPSB0cnVlOwogCWVsc2UK LQkJc3RhdHVzID0gTG9ja0NoZWNrQ29uZmxpY3RzKGxvY2tNZXRob2RUYWJsZSwgbG9ja21v ZGUsCisJCWZvdW5kX2NvbmZsaWN0ID0gTG9ja0NoZWNrQ29uZmxpY3RzKGxvY2tNZXRob2RU YWJsZSwgbG9ja21vZGUsCiAJCQkJCQkJCQlsb2NrLCBwcm9jbG9jayk7CiAKLQlpZiAoc3Rh dHVzID09IFNUQVRVU19PSykKKwlpZiAoIWZvdW5kX2NvbmZsaWN0KQogCXsKIAkJLyogTm8g Y29uZmxpY3Qgd2l0aCBoZWxkIG9yIHByZXZpb3VzbHkgcmVxdWVzdGVkIGxvY2tzICovCiAJ CUdyYW50TG9jayhsb2NrLCBwcm9jbG9jaywgbG9ja21vZGUpOwpAQCAtOTkyLDggKzk5Miw2 IEBAIExvY2tBY3F1aXJlRXh0ZW5kZWQoY29uc3QgTE9DS1RBRyAqbG9ja3RhZywKIAl9CiAJ ZWxzZQogCXsKLQkJQXNzZXJ0KHN0YXR1cyA9PSBTVEFUVVNfRk9VTkQpOwotCiAJCS8qCiAJ CSAqIFdlIGNhbid0IGFjcXVpcmUgdGhlIGxvY2sgaW1tZWRpYXRlbHkuICBJZiBjYWxsZXIg c3BlY2lmaWVkIG5vCiAJCSAqIGJsb2NraW5nLCByZW1vdmUgdXNlbGVzcyB0YWJsZSBlbnRy aWVzIGFuZCByZXR1cm4KQEAgLTEzMzAsNyArMTMyOCw3IEBAIFJlbW92ZUxvY2FsTG9jayhM T0NBTExPQ0sgKmxvY2FsbG9jaykKICAqIExvY2tDaGVja0NvbmZsaWN0cyAtLSB0ZXN0IHdo ZXRoZXIgcmVxdWVzdGVkIGxvY2sgY29uZmxpY3RzCiAgKgkJd2l0aCB0aG9zZSBhbHJlYWR5 IGdyYW50ZWQKICAqCi0gKiBSZXR1cm5zIFNUQVRVU19GT1VORCBpZiBjb25mbGljdCwgU1RB VFVTX09LIGlmIG5vIGNvbmZsaWN0LgorICogUmV0dXJucyB0cnVlIGlmIGNvbmZsaWN0LCBm YWxzZSBpZiBubyBjb25mbGljdC4KICAqCiAgKiBOT1RFUzoKICAqCQlIZXJlJ3Mgd2hhdCBt YWtlcyB0aGlzIGNvbXBsaWNhdGVkOiBvbmUgcHJvY2VzcydzIGxvY2tzIGRvbid0CkBAIC0x MzQwLDcgKzEzMzgsNyBAQCBSZW1vdmVMb2NhbExvY2soTE9DQUxMT0NLICpsb2NhbGxvY2sp CiAgKiB0aGUgc2FtZSBncm91cC4gIFNvLCB3ZSBtdXN0IHN1YnRyYWN0IG9mZiB0aGVzZSBs b2NrcyB3aGVuIGRldGVybWluaW5nCiAgKiB3aGV0aGVyIHRoZSByZXF1ZXN0ZWQgbmV3IGxv Y2sgY29uZmxpY3RzIHdpdGggdGhvc2UgYWxyZWFkeSBoZWxkLgogICovCi1pbnQKK2Jvb2wK IExvY2tDaGVja0NvbmZsaWN0cyhMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSwKIAkJCQkg ICBMT0NLTU9ERSBsb2NrbW9kZSwKIAkJCQkgICBMT0NLICpsb2NrLApAQCAtMTM2Nyw3ICsx MzY1LDcgQEAgTG9ja0NoZWNrQ29uZmxpY3RzKExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxl LAogCWlmICghKGNvbmZsaWN0TWFzayAmIGxvY2stPmdyYW50TWFzaykpCiAJewogCQlQUk9D TE9DS19QUklOVCgiTG9ja0NoZWNrQ29uZmxpY3RzOiBubyBjb25mbGljdCIsIHByb2Nsb2Nr KTsKLQkJcmV0dXJuIFNUQVRVU19PSzsKKwkJcmV0dXJuIGZhbHNlOwogCX0KIAogCS8qCkBA IC0xMzkzLDcgKzEzOTEsNyBAQCBMb2NrQ2hlY2tDb25mbGljdHMoTG9ja01ldGhvZCBsb2Nr TWV0aG9kVGFibGUsCiAJaWYgKHRvdGFsQ29uZmxpY3RzUmVtYWluaW5nID09IDApCiAJewog CQlQUk9DTE9DS19QUklOVCgiTG9ja0NoZWNrQ29uZmxpY3RzOiByZXNvbHZlZCAoc2ltcGxl KSIsIHByb2Nsb2NrKTsKLQkJcmV0dXJuIFNUQVRVU19PSzsKKwkJcmV0dXJuIGZhbHNlOwog CX0KIAogCS8qIElmIG5vIGdyb3VwIGxvY2tpbmcsIGl0J3MgZGVmaW5pdGVseSBhIGNvbmZs aWN0LiAqLwpAQCAtMTQwMiw3ICsxNDAwLDcgQEAgTG9ja0NoZWNrQ29uZmxpY3RzKExvY2tN ZXRob2QgbG9ja01ldGhvZFRhYmxlLAogCQlBc3NlcnQocHJvY2xvY2stPnRhZy5teVByb2Mg PT0gTXlQcm9jKTsKIAkJUFJPQ0xPQ0tfUFJJTlQoIkxvY2tDaGVja0NvbmZsaWN0czogY29u ZmxpY3RpbmcgKHNpbXBsZSkiLAogCQkJCQkgICBwcm9jbG9jayk7Ci0JCXJldHVybiBTVEFU VVNfRk9VTkQ7CisJCXJldHVybiB0cnVlOwogCX0KIAogCS8qCkBAIC0xNDM5LDcgKzE0Mzcs NyBAQCBMb2NrQ2hlY2tDb25mbGljdHMoTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUsCiAJ CQl7CiAJCQkJUFJPQ0xPQ0tfUFJJTlQoIkxvY2tDaGVja0NvbmZsaWN0czogcmVzb2x2ZWQg KGdyb3VwKSIsCiAJCQkJCQkJICAgcHJvY2xvY2spOwotCQkJCXJldHVybiBTVEFUVVNfT0s7 CisJCQkJcmV0dXJuIGZhbHNlOwogCQkJfQogCQl9CiAJCW90aGVycHJvY2xvY2sgPSAoUFJP Q0xPQ0sgKikKQEAgLTE0NDksNyArMTQ0Nyw3IEBAIExvY2tDaGVja0NvbmZsaWN0cyhMb2Nr TWV0aG9kIGxvY2tNZXRob2RUYWJsZSwKIAogCS8qIE5vcGUsIGl0J3MgYSByZWFsIGNvbmZs aWN0LiAqLwogCVBST0NMT0NLX1BSSU5UKCJMb2NrQ2hlY2tDb25mbGljdHM6IGNvbmZsaWN0 aW5nIChncm91cCkiLCBwcm9jbG9jayk7Ci0JcmV0dXJuIFNUQVRVU19GT1VORDsKKwlyZXR1 cm4gdHJ1ZTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1n ci9wcm9jLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jCmluZGV4IGZmZjA2 MjhlNTguLmRiYjU0MTc1N2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1n ci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYwpAQCAtMTE0 OSwxMCArMTE0OSw4IEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01l dGhvZCBsb2NrTWV0aG9kVGFibGUpCiAJCQkJfQogCQkJCS8qIEkgbXVzdCBnbyBiZWZvcmUg dGhpcyB3YWl0ZXIuICBDaGVjayBzcGVjaWFsIGNhc2UuICovCiAJCQkJaWYgKChsb2NrTWV0 aG9kVGFibGUtPmNvbmZsaWN0VGFiW2xvY2ttb2RlXSAmIGFoZWFkUmVxdWVzdHMpID09IDAg JiYKLQkJCQkJTG9ja0NoZWNrQ29uZmxpY3RzKGxvY2tNZXRob2RUYWJsZSwKLQkJCQkJCQkJ CSAgIGxvY2ttb2RlLAotCQkJCQkJCQkJICAgbG9jaywKLQkJCQkJCQkJCSAgIHByb2Nsb2Nr KSA9PSBTVEFUVVNfT0spCisJCQkJCSFMb2NrQ2hlY2tDb25mbGljdHMobG9ja01ldGhvZFRh YmxlLCBsb2NrbW9kZSwgbG9jaywKKwkJCQkJCQkJCQlwcm9jbG9jaykpCiAJCQkJewogCQkJ CQkvKiBTa2lwIHRoZSB3YWl0IGFuZCBqdXN0IGdyYW50IG15c2VsZiB0aGUgbG9jay4gKi8K IAkJCQkJR3JhbnRMb2NrKGxvY2ssIHByb2Nsb2NrLCBsb2NrbW9kZSk7CkBAIC0xNjQ4LDEw ICsxNjQ2LDggQEAgUHJvY0xvY2tXYWtldXAoTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUs IExPQ0sgKmxvY2spCiAJCSAqIChiKSBkb2Vzbid0IGNvbmZsaWN0IHdpdGggYWxyZWFkeS1o ZWxkIGxvY2tzLgogCQkgKi8KIAkJaWYgKChsb2NrTWV0aG9kVGFibGUtPmNvbmZsaWN0VGFi W2xvY2ttb2RlXSAmIGFoZWFkUmVxdWVzdHMpID09IDAgJiYKLQkJCUxvY2tDaGVja0NvbmZs aWN0cyhsb2NrTWV0aG9kVGFibGUsCi0JCQkJCQkJICAgbG9ja21vZGUsCi0JCQkJCQkJICAg bG9jaywKLQkJCQkJCQkgICBwcm9jLT53YWl0UHJvY0xvY2spID09IFNUQVRVU19PSykKKwkJ CSFMb2NrQ2hlY2tDb25mbGljdHMobG9ja01ldGhvZFRhYmxlLCBsb2NrbW9kZSwgbG9jaywK KwkJCQkJCQkJcHJvYy0+d2FpdFByb2NMb2NrKSkKIAkJewogCQkJLyogT0sgdG8gd2FrZW4g Ki8KIAkJCUdyYW50TG9jayhsb2NrLCBwcm9jLT53YWl0UHJvY0xvY2ssIGxvY2ttb2RlKTsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCAw MGU0MWFjNTQ2Li5lZGRlYjM2Y2ExIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jLmgKKysr IGIvc3JjL2luY2x1ZGUvYy5oCkBAIC0xMTIwLDcgKzExMjAsNiBAQCB0eXBlZGVmIHVuaW9u IFBHQWxpZ25lZFhMb2dCbG9jawogI2RlZmluZSBTVEFUVVNfT0sJCQkJKDApCiAjZGVmaW5l IFNUQVRVU19FUlJPUgkJCSgtMSkKICNkZWZpbmUgU1RBVFVTX0VPRgkJCQkoLTIpCi0jZGVm aW5lIFNUQVRVU19GT1VORAkJCSgxKQogI2RlZmluZSBTVEFUVVNfV0FJVElORwkJCSgyKQog CiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9sb2NrLmggYi9zcmMvaW5j bHVkZS9zdG9yYWdlL2xvY2suaAppbmRleCBlOGI1MGZlMDk0Li43OTc4ZmNmMjE2IDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2xvY2suaAorKysgYi9zcmMvaW5jbHVkZS9z dG9yYWdlL2xvY2suaApAQCAtNTUwLDcgKzU1MCw3IEBAIGV4dGVybiBWaXJ0dWFsVHJhbnNh Y3Rpb25JZCAqR2V0TG9ja0NvbmZsaWN0cyhjb25zdCBMT0NLVEFHICpsb2NrdGFnLAogCQkJ CQkJCQkJCQkgIExPQ0tNT0RFIGxvY2ttb2RlLCBpbnQgKmNvdW50cCk7CiBleHRlcm4gdm9p ZCBBdFByZXBhcmVfTG9ja3Modm9pZCk7CiBleHRlcm4gdm9pZCBQb3N0UHJlcGFyZV9Mb2Nr cyhUcmFuc2FjdGlvbklkIHhpZCk7Ci1leHRlcm4gaW50CUxvY2tDaGVja0NvbmZsaWN0cyhM b2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSwKK2V4dGVybiBib29sIExvY2tDaGVja0NvbmZs aWN0cyhMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSwKIAkJCQkJCQkgICBMT0NLTU9ERSBs b2NrbW9kZSwKIAkJCQkJCQkgICBMT0NLICpsb2NrLCBQUk9DTE9DSyAqcHJvY2xvY2spOwog ZXh0ZXJuIHZvaWQgR3JhbnRMb2NrKExPQ0sgKmxvY2ssIFBST0NMT0NLICpwcm9jbG9jaywg TE9DS01PREUgbG9ja21vZGUpOwotLSAKMi4yNC4xCgo= --------------7C90284B606C81D1B39165A9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-Remove-STATUS_WAITING.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Remove-STATUS_WAITING.patch" RnJvbSAwNDlmYTk1MTlkMTRiM2IwMWJmZmJkMjE5ZWJiYzgzNDA5ODdmOTBlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU3VuLCAyOSBEZWMgMjAxOSAwOTowOToyMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi80XSBSZW1vdmUgU1RBVFVTX1dBSVRJTkcKCkFkZCBhIHNlcGFyYXRlIGVu dW0gZm9yIHVzZSBpbiB0aGUgbG9ja2luZyBBUElzLCB3aGljaCB3ZXJlIHRoZSBvbmx5CnVz ZXIuCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2UuYyB8ICAyICst CiBzcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jICAgICAgIHwgIDggKystLS0KIHNy Yy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMgICAgICAgfCA0NiArKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0KIHNyYy9pbmNsdWRlL2MuaCAgICAgICAgICAgICAgICAgICAgICAg fCAgMSAtCiBzcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaCAgICAgICAgICAgIHwgMTMgKysr KysrLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2Uu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMKaW5kZXggNTI5OTc2 ODg1Zi4uZjg1ODJkMmNiYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0vdHdvcGhhc2UuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90d29waGFz ZS5jCkBAIC00NjAsNyArNDYwLDcgQEAgTWFya0FzUHJlcGFyaW5nR3V0cyhHbG9iYWxUcmFu c2FjdGlvbiBneGFjdCwgVHJhbnNhY3Rpb25JZCB4aWQsIGNvbnN0IGNoYXIgKmdpZCwKIAlN ZW1TZXQocHJvYywgMCwgc2l6ZW9mKFBHUFJPQykpOwogCXByb2MtPnBncHJvY25vID0gZ3hh Y3QtPnBncHJvY25vOwogCVNITVF1ZXVlRWxlbUluaXQoJihwcm9jLT5saW5rcykpOwotCXBy b2MtPndhaXRTdGF0dXMgPSBTVEFUVVNfT0s7CisJcHJvYy0+d2FpdFN0YXR1cyA9IFBST0Nf V0FJVF9TVEFUVVNfT0s7CiAJLyogV2Ugc2V0IHVwIHRoZSBneGFjdCdzIFZYSUQgYXMgSW52 YWxpZEJhY2tlbmRJZC9YSUQgKi8KIAlwcm9jLT5seGlkID0gKExvY2FsVHJhbnNhY3Rpb25J ZCkgeGlkOwogCXBneGFjdC0+eGlkID0geGlkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv c3RvcmFnZS9sbWdyL2xvY2suYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMK aW5kZXggZTJjNzI4YTk3ZC4uMzNjOWY0NzFhYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv c3RvcmFnZS9sbWdyL2xvY2suYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9j ay5jCkBAIC0xNzYzLDcgKzE3NjMsNyBAQCBXYWl0T25Mb2NrKExPQ0FMTE9DSyAqbG9jYWxs b2NrLCBSZXNvdXJjZU93bmVyIG93bmVyKQogCSAqLwogCVBHX1RSWSgpOwogCXsKLQkJaWYg KFByb2NTbGVlcChsb2NhbGxvY2ssIGxvY2tNZXRob2RUYWJsZSkgIT0gU1RBVFVTX09LKQor CQlpZiAoUHJvY1NsZWVwKGxvY2FsbG9jaywgbG9ja01ldGhvZFRhYmxlKSAhPSBQUk9DX1dB SVRfU1RBVFVTX09LKQogCQl7CiAJCQkvKgogCQkJICogV2UgZmFpbGVkIGFzIGEgcmVzdWx0 IG9mIGEgZGVhZGxvY2ssIHNlZSBDaGVja0RlYWRMb2NrKCkuIFF1aXQKQEAgLTE4MTQsNyAr MTgxNCw3IEBAIFdhaXRPbkxvY2soTE9DQUxMT0NLICpsb2NhbGxvY2ssIFJlc291cmNlT3du ZXIgb3duZXIpCiAvKgogICogUmVtb3ZlIGEgcHJvYyBmcm9tIHRoZSB3YWl0LXF1ZXVlIGl0 IGlzIG9uIChjYWxsZXIgbXVzdCBrbm93IGl0IGlzIG9uIG9uZSkuCiAgKiBUaGlzIGlzIG9u bHkgdXNlZCB3aGVuIHRoZSBwcm9jIGhhcyBmYWlsZWQgdG8gZ2V0IHRoZSBsb2NrLCBzbyB3 ZSBzZXQgaXRzCi0gKiB3YWl0U3RhdHVzIHRvIFNUQVRVU19FUlJPUi4KKyAqIHdhaXRTdGF0 dXMgdG8gUFJPQ19XQUlUX1NUQVRVU19FUlJPUi4KICAqCiAgKiBBcHByb3ByaWF0ZSBwYXJ0 aXRpb24gbG9jayBtdXN0IGJlIGhlbGQgYnkgY2FsbGVyLiAgQWxzbywgY2FsbGVyIGlzCiAg KiByZXNwb25zaWJsZSBmb3Igc2lnbmFsaW5nIHRoZSBwcm9jIGlmIG5lZWRlZC4KQEAgLTE4 MzAsNyArMTgzMCw3IEBAIFJlbW92ZUZyb21XYWl0UXVldWUoUEdQUk9DICpwcm9jLCB1aW50 MzIgaGFzaGNvZGUpCiAJTE9DS01FVEhPRElEIGxvY2ttZXRob2RpZCA9IExPQ0tfTE9DS01F VEhPRCgqd2FpdExvY2spOwogCiAJLyogTWFrZSBzdXJlIHByb2MgaXMgd2FpdGluZyAqLwot CUFzc2VydChwcm9jLT53YWl0U3RhdHVzID09IFNUQVRVU19XQUlUSU5HKTsKKwlBc3NlcnQo cHJvYy0+d2FpdFN0YXR1cyA9PSBQUk9DX1dBSVRfU1RBVFVTX1dBSVRJTkcpOwogCUFzc2Vy dChwcm9jLT5saW5rcy5uZXh0ICE9IE5VTEwpOwogCUFzc2VydCh3YWl0TG9jayk7CiAJQXNz ZXJ0KHdhaXRMb2NrLT53YWl0UHJvY3Muc2l6ZSA+IDApOwpAQCAtMTg1Myw3ICsxODUzLDcg QEAgUmVtb3ZlRnJvbVdhaXRRdWV1ZShQR1BST0MgKnByb2MsIHVpbnQzMiBoYXNoY29kZSkK IAkvKiBDbGVhbiB1cCB0aGUgcHJvYydzIG93biBzdGF0ZSwgYW5kIHBhc3MgaXQgdGhlIG9r L2ZhaWwgc2lnbmFsICovCiAJcHJvYy0+d2FpdExvY2sgPSBOVUxMOwogCXByb2MtPndhaXRQ cm9jTG9jayA9IE5VTEw7Ci0JcHJvYy0+d2FpdFN0YXR1cyA9IFNUQVRVU19FUlJPUjsKKwlw cm9jLT53YWl0U3RhdHVzID0gUFJPQ19XQUlUX1NUQVRVU19FUlJPUjsKIAogCS8qCiAJICog RGVsZXRlIHRoZSBwcm9jbG9jayBpbW1lZGlhdGVseSBpZiBpdCByZXByZXNlbnRzIG5vIGFs cmVhZHktaGVsZCBsb2Nrcy4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1n ci9wcm9jLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jCmluZGV4IGRiYjU0 MTc1N2YuLmNkZDZjODg5M2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1n ci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYwpAQCAtMzgz LDcgKzM4Myw3IEBAIEluaXRQcm9jZXNzKHZvaWQpCiAJICogaW5pdGlhbGl6ZWQgYnkgSW5p dFByb2NHbG9iYWwuCiAJICovCiAJU0hNUXVldWVFbGVtSW5pdCgmKE15UHJvYy0+bGlua3Mp KTsKLQlNeVByb2MtPndhaXRTdGF0dXMgPSBTVEFUVVNfT0s7CisJTXlQcm9jLT53YWl0U3Rh dHVzID0gUFJPQ19XQUlUX1NUQVRVU19PSzsKIAlNeVByb2MtPmx4aWQgPSBJbnZhbGlkTG9j YWxUcmFuc2FjdGlvbklkOwogCU15UHJvYy0+ZnBWWElETG9jayA9IGZhbHNlOwogCU15UHJv Yy0+ZnBMb2NhbFRyYW5zYWN0aW9uSWQgPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkOwpA QCAtNTY3LDcgKzU2Nyw3IEBAIEluaXRBdXhpbGlhcnlQcm9jZXNzKHZvaWQpCiAJICogaW5p dGlhbGl6ZWQgYnkgSW5pdFByb2NHbG9iYWwuCiAJICovCiAJU0hNUXVldWVFbGVtSW5pdCgm KE15UHJvYy0+bGlua3MpKTsKLQlNeVByb2MtPndhaXRTdGF0dXMgPSBTVEFUVVNfT0s7CisJ TXlQcm9jLT53YWl0U3RhdHVzID0gUFJPQ19XQUlUX1NUQVRVU19PSzsKIAlNeVByb2MtPmx4 aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkOwogCU15UHJvYy0+ZnBWWElETG9jayA9 IGZhbHNlOwogCU15UHJvYy0+ZnBMb2NhbFRyYW5zYWN0aW9uSWQgPSBJbnZhbGlkTG9jYWxU cmFuc2FjdGlvbklkOwpAQCAtNzU1LDcgKzc1NSw3IEBAIExvY2tFcnJvckNsZWFudXAodm9p ZCkKIAkJICogZGlkIGdyYW50IHVzIHRoZSBsb2NrLCB3ZSdkIGJldHRlciByZW1lbWJlciBp dCBpbiBvdXIgbG9jYWwgbG9jawogCQkgKiB0YWJsZS4KIAkJICovCi0JCWlmIChNeVByb2Mt PndhaXRTdGF0dXMgPT0gU1RBVFVTX09LKQorCQlpZiAoTXlQcm9jLT53YWl0U3RhdHVzID09 IFBST0NfV0FJVF9TVEFUVVNfT0spCiAJCQlHcmFudEF3YWl0ZWRMb2NrKCk7CiAJfQogCkBA IC0xMDUxLDE0ICsxMDUxLDE0IEBAIFByb2NRdWV1ZUluaXQoUFJPQ19RVUVVRSAqcXVldWUp CiAgKiBUaGUgbG9jayB0YWJsZSdzIHBhcnRpdGlvbiBsb2NrIG11c3QgYmUgaGVsZCBhdCBl bnRyeSwgYW5kIHdpbGwgYmUgaGVsZAogICogYXQgZXhpdC4KICAqCi0gKiBSZXN1bHQ6IFNU QVRVU19PSyBpZiB3ZSBhY3F1aXJlZCB0aGUgbG9jaywgU1RBVFVTX0VSUk9SIGlmIG5vdCAo ZGVhZGxvY2spLgorICogUmVzdWx0OiBQUk9DX1dBSVRfU1RBVFVTX09LIGlmIHdlIGFjcXVp cmVkIHRoZSBsb2NrLCBQUk9DX1dBSVRfU1RBVFVTX0VSUk9SIGlmIG5vdCAoZGVhZGxvY2sp LgogICoKICAqIEFTU1VNRTogdGhhdCBubyBvbmUgd2lsbCBmaWRkbGUgd2l0aCB0aGUgcXVl dWUgdW50aWwgYWZ0ZXIKICAqCQl3ZSByZWxlYXNlIHRoZSBwYXJ0aXRpb24gbG9jay4KICAq CiAgKiBOT1RFUzogVGhlIHByb2Nlc3MgcXVldWUgaXMgbm93IGEgcHJpb3JpdHkgcXVldWUg Zm9yIGxvY2tpbmcuCiAgKi8KLWludAorUHJvY1dhaXRTdGF0dXMKIFByb2NTbGVlcChMT0NB TExPQ0sgKmxvY2FsbG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUpCiB7CiAJTE9D S01PREUJbG9ja21vZGUgPSBsb2NhbGxvY2stPnRhZy5tb2RlOwpAQCAtMTA3MCw3ICsxMDcw LDcgQEAgUHJvY1NsZWVwKExPQ0FMTE9DSyAqbG9jYWxsb2NrLCBMb2NrTWV0aG9kIGxvY2tN ZXRob2RUYWJsZSkKIAlMT0NLTUFTSwlteUhlbGRMb2NrcyA9IE15UHJvYy0+aGVsZExvY2tz OwogCWJvb2wJCWVhcmx5X2RlYWRsb2NrID0gZmFsc2U7CiAJYm9vbAkJYWxsb3dfYXV0b3Zh Y3V1bV9jYW5jZWwgPSB0cnVlOwotCWludAkJCW15V2FpdFN0YXR1czsKKwlQcm9jV2FpdFN0 YXR1cyBteVdhaXRTdGF0dXM7CiAJUEdQUk9DCSAgICpwcm9jOwogCVBHUFJPQwkgICAqbGVh ZGVyID0gTXlQcm9jLT5sb2NrR3JvdXBMZWFkZXI7CiAJaW50CQkJaTsKQEAgLTExNTUsNyAr MTE1NSw3IEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01ldGhvZCBs b2NrTWV0aG9kVGFibGUpCiAJCQkJCS8qIFNraXAgdGhlIHdhaXQgYW5kIGp1c3QgZ3JhbnQg bXlzZWxmIHRoZSBsb2NrLiAqLwogCQkJCQlHcmFudExvY2sobG9jaywgcHJvY2xvY2ssIGxv Y2ttb2RlKTsKIAkJCQkJR3JhbnRBd2FpdGVkTG9jaygpOwotCQkJCQlyZXR1cm4gU1RBVFVT X09LOworCQkJCQlyZXR1cm4gUFJPQ19XQUlUX1NUQVRVU19PSzsKIAkJCQl9CiAJCQkJLyog QnJlYWsgb3V0IG9mIGxvb3AgdG8gcHV0IG15c2VsZiBiZWZvcmUgaGltICovCiAJCQkJYnJl YWs7CkBAIC0xMTg5LDcgKzExODksNyBAQCBQcm9jU2xlZXAoTE9DQUxMT0NLICpsb2NhbGxv Y2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlKQogCU15UHJvYy0+d2FpdFByb2NMb2Nr ID0gcHJvY2xvY2s7CiAJTXlQcm9jLT53YWl0TG9ja01vZGUgPSBsb2NrbW9kZTsKIAotCU15 UHJvYy0+d2FpdFN0YXR1cyA9IFNUQVRVU19XQUlUSU5HOworCU15UHJvYy0+d2FpdFN0YXR1 cyA9IFBST0NfV0FJVF9TVEFUVVNfV0FJVElORzsKIAogCS8qCiAJICogSWYgd2UgZGV0ZWN0 ZWQgZGVhZGxvY2ssIGdpdmUgdXAgd2l0aG91dCB3YWl0aW5nLiAgVGhpcyBtdXN0IGFncmVl IHdpdGgKQEAgLTExOTgsNyArMTE5OCw3IEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2Fs bG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUpCiAJaWYgKGVhcmx5X2RlYWRsb2Nr KQogCXsKIAkJUmVtb3ZlRnJvbVdhaXRRdWV1ZShNeVByb2MsIGhhc2hjb2RlKTsKLQkJcmV0 dXJuIFNUQVRVU19FUlJPUjsKKwkJcmV0dXJuIFBST0NfV0FJVF9TVEFUVVNfRVJST1I7CiAJ fQogCiAJLyogbWFyayB0aGF0IHdlIGFyZSB3YWl0aW5nIGZvciBhIGxvY2sgKi8KQEAgLTEy MzAsNyArMTIzMCw3IEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01l dGhvZCBsb2NrTWV0aG9kVGFibGUpCiAJLyoKIAkgKiBTZXQgdGltZXIgc28gd2UgY2FuIHdh a2UgdXAgYWZ0ZXIgYXdoaWxlIGFuZCBjaGVjayBmb3IgYSBkZWFkbG9jay4gSWYgYQogCSAq IGRlYWRsb2NrIGlzIGRldGVjdGVkLCB0aGUgaGFuZGxlciBzZXRzIE15UHJvYy0+d2FpdFN0 YXR1cyA9Ci0JICogU1RBVFVTX0VSUk9SLCBhbGxvd2luZyB1cyB0byBrbm93IHRoYXQgd2Ug bXVzdCByZXBvcnQgZmFpbHVyZSByYXRoZXIKKwkgKiBQUk9DX1dBSVRfU1RBVFVTX0VSUk9S LCBhbGxvd2luZyB1cyB0byBrbm93IHRoYXQgd2UgbXVzdCByZXBvcnQgZmFpbHVyZSByYXRo ZXIKIAkgKiB0aGFuIHN1Y2Nlc3MuCiAJICoKIAkgKiBCeSBkZWxheWluZyB0aGUgY2hlY2sg dW50aWwgd2UndmUgd2FpdGVkIGZvciBhIGJpdCwgd2UgY2FuIGF2b2lkCkBAIC0xMjk2LDEx ICsxMjk2LDExIEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01ldGhv ZCBsb2NrTWV0aG9kVGFibGUpCiAJCX0KIAogCQkvKgotCQkgKiB3YWl0U3RhdHVzIGNvdWxk IGNoYW5nZSBmcm9tIFNUQVRVU19XQUlUSU5HIHRvIHNvbWV0aGluZyBlbHNlCisJCSAqIHdh aXRTdGF0dXMgY291bGQgY2hhbmdlIGZyb20gUFJPQ19XQUlUX1NUQVRVU19XQUlUSU5HIHRv IHNvbWV0aGluZyBlbHNlCiAJCSAqIGFzeW5jaHJvbm91c2x5LiAgUmVhZCBpdCBqdXN0IG9u Y2UgcGVyIGxvb3AgdG8gcHJldmVudCBzdXJwcmlzaW5nCiAJCSAqIGJlaGF2aW9yIChzdWNo IGFzIG1pc3NpbmcgbG9nIG1lc3NhZ2VzKS4KIAkJICovCi0JCW15V2FpdFN0YXR1cyA9ICoo KHZvbGF0aWxlIGludCAqKSAmTXlQcm9jLT53YWl0U3RhdHVzKTsKKwkJbXlXYWl0U3RhdHVz ID0gKigodm9sYXRpbGUgUHJvY1dhaXRTdGF0dXMgKikgJk15UHJvYy0+d2FpdFN0YXR1cyk7 CiAKIAkJLyoKIAkJICogSWYgd2UgYXJlIG5vdCBkZWFkbG9ja2VkLCBidXQgYXJlIHdhaXRp bmcgb24gYW4gYXV0b3ZhY3V1bS1pbmR1Y2VkCkBAIC0xNDgxLDI0ICsxNDgxLDI0IEBAIFBy b2NTbGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFi bGUpCiAJCQkJCQkJCQkJCSAgIGxvY2tIb2xkZXJzTnVtLCBsb2NrX2hvbGRlcnNfc2J1Zi5k YXRhLCBsb2NrX3dhaXRlcnNfc2J1Zi5kYXRhKSkpKTsKIAkJCX0KIAotCQkJaWYgKG15V2Fp dFN0YXR1cyA9PSBTVEFUVVNfV0FJVElORykKKwkJCWlmIChteVdhaXRTdGF0dXMgPT0gUFJP Q19XQUlUX1NUQVRVU19XQUlUSU5HKQogCQkJCWVyZXBvcnQoTE9HLAogCQkJCQkJKGVycm1z ZygicHJvY2VzcyAlZCBzdGlsbCB3YWl0aW5nIGZvciAlcyBvbiAlcyBhZnRlciAlbGQuJTAz ZCBtcyIsCiAJCQkJCQkJCU15UHJvY1BpZCwgbW9kZW5hbWUsIGJ1Zi5kYXRhLCBtc2Vjcywg dXNlY3MpLAogCQkJCQkJIChlcnJkZXRhaWxfbG9nX3BsdXJhbCgiUHJvY2VzcyBob2xkaW5n IHRoZSBsb2NrOiAlcy4gV2FpdCBxdWV1ZTogJXMuIiwKIAkJCQkJCQkJCQkJICAgIlByb2Nl c3NlcyBob2xkaW5nIHRoZSBsb2NrOiAlcy4gV2FpdCBxdWV1ZTogJXMuIiwKIAkJCQkJCQkJ CQkJICAgbG9ja0hvbGRlcnNOdW0sIGxvY2tfaG9sZGVyc19zYnVmLmRhdGEsIGxvY2tfd2Fp dGVyc19zYnVmLmRhdGEpKSkpOwotCQkJZWxzZSBpZiAobXlXYWl0U3RhdHVzID09IFNUQVRV U19PSykKKwkJCWVsc2UgaWYgKG15V2FpdFN0YXR1cyA9PSBQUk9DX1dBSVRfU1RBVFVTX09L KQogCQkJCWVyZXBvcnQoTE9HLAogCQkJCQkJKGVycm1zZygicHJvY2VzcyAlZCBhY3F1aXJl ZCAlcyBvbiAlcyBhZnRlciAlbGQuJTAzZCBtcyIsCiAJCQkJCQkJCU15UHJvY1BpZCwgbW9k ZW5hbWUsIGJ1Zi5kYXRhLCBtc2VjcywgdXNlY3MpKSk7CiAJCQllbHNlCiAJCQl7Ci0JCQkJ QXNzZXJ0KG15V2FpdFN0YXR1cyA9PSBTVEFUVVNfRVJST1IpOworCQkJCUFzc2VydChteVdh aXRTdGF0dXMgPT0gUFJPQ19XQUlUX1NUQVRVU19FUlJPUik7CiAKIAkJCQkvKgogCQkJCSAq IEN1cnJlbnRseSwgdGhlIGRlYWRsb2NrIGNoZWNrZXIgYWx3YXlzIGtpY2tzIGl0cyBvd24K LQkJCQkgKiBwcm9jZXNzLCB3aGljaCBtZWFucyB0aGF0IHdlJ2xsIG9ubHkgc2VlIFNUQVRV U19FUlJPUiB3aGVuCisJCQkJICogcHJvY2Vzcywgd2hpY2ggbWVhbnMgdGhhdCB3ZSdsbCBv bmx5IHNlZSBQUk9DX1dBSVRfU1RBVFVTX0VSUk9SIHdoZW4KIAkJCQkgKiBkZWFkbG9ja19z dGF0ZSA9PSBEU19IQVJEX0RFQURMT0NLLCBhbmQgdGhlcmUncyBubyBuZWVkIHRvCiAJCQkJ ICogcHJpbnQgcmVkdW5kYW50IG1lc3NhZ2VzLiAgQnV0IGZvciBjb21wbGV0ZW5lc3MgYW5k CiAJCQkJICogZnV0dXJlLXByb29maW5nLCBwcmludCBhIG1lc3NhZ2UgaWYgaXQgbG9va3Mg bGlrZSBzb21lb25lCkBAIC0xNTIzLDcgKzE1MjMsNyBAQCBQcm9jU2xlZXAoTE9DQUxMT0NL ICpsb2NhbGxvY2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlKQogCQkJcGZyZWUobG9j a19ob2xkZXJzX3NidWYuZGF0YSk7CiAJCQlwZnJlZShsb2NrX3dhaXRlcnNfc2J1Zi5kYXRh KTsKIAkJfQotCX0gd2hpbGUgKG15V2FpdFN0YXR1cyA9PSBTVEFUVVNfV0FJVElORyk7CisJ fSB3aGlsZSAobXlXYWl0U3RhdHVzID09IFBST0NfV0FJVF9TVEFUVVNfV0FJVElORyk7CiAK IAkvKgogCSAqIERpc2FibGUgdGhlIHRpbWVycywgaWYgdGhleSBhcmUgc3RpbGwgcnVubmlu Zy4gIEFzIGluIExvY2tFcnJvckNsZWFudXAsCkBAIC0xNTYyLDcgKzE1NjIsNyBAQCBQcm9j U2xlZXAoTE9DQUxMT0NLICpsb2NhbGxvY2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxl KQogCS8qCiAJICogSWYgd2UgZ290IHRoZSBsb2NrLCBiZSBzdXJlIHRvIHJlbWVtYmVyIGl0 IGluIHRoZSBsb2NhbGxvY2sgdGFibGUuCiAJICovCi0JaWYgKE15UHJvYy0+d2FpdFN0YXR1 cyA9PSBTVEFUVVNfT0spCisJaWYgKE15UHJvYy0+d2FpdFN0YXR1cyA9PSBQUk9DX1dBSVRf U1RBVFVTX09LKQogCQlHcmFudEF3YWl0ZWRMb2NrKCk7CiAKIAkvKgpAQCAtMTU4NCwxMCAr MTU4NCwxMCBAQCBQcm9jU2xlZXAoTE9DQUxMT0NLICpsb2NhbGxvY2ssIExvY2tNZXRob2Qg bG9ja01ldGhvZFRhYmxlKQogICogWFhYOiBwcmVzZW50bHksIHRoaXMgY29kZSBpcyBvbmx5 IHVzZWQgZm9yIHRoZSAic3VjY2VzcyIgY2FzZSwgYW5kIG9ubHkKICAqIHdvcmtzIGNvcnJl Y3RseSBmb3IgdGhhdCBjYXNlLiAgVG8gY2xlYW4gdXAgaW4gZmFpbHVyZSBjYXNlLCB3b3Vs ZCBuZWVkCiAgKiB0byB0d2lkZGxlIHRoZSBsb2NrJ3MgcmVxdWVzdCBjb3VudHMgdG9vIC0t LSBzZWUgUmVtb3ZlRnJvbVdhaXRRdWV1ZS4KLSAqIEhlbmNlLCBpbiBwcmFjdGljZSB0aGUg d2FpdFN0YXR1cyBwYXJhbWV0ZXIgbXVzdCBiZSBTVEFUVVNfT0suCisgKiBIZW5jZSwgaW4g cHJhY3RpY2UgdGhlIHdhaXRTdGF0dXMgcGFyYW1ldGVyIG11c3QgYmUgUFJPQ19XQUlUX1NU QVRVU19PSy4KICAqLwogUEdQUk9DICoKLVByb2NXYWtldXAoUEdQUk9DICpwcm9jLCBpbnQg d2FpdFN0YXR1cykKK1Byb2NXYWtldXAoUEdQUk9DICpwcm9jLCBQcm9jV2FpdFN0YXR1cyB3 YWl0U3RhdHVzKQogewogCVBHUFJPQwkgICAqcmV0UHJvYzsKIApAQCAtMTU5NSw3ICsxNTk1 LDcgQEAgUHJvY1dha2V1cChQR1BST0MgKnByb2MsIGludCB3YWl0U3RhdHVzKQogCWlmIChw cm9jLT5saW5rcy5wcmV2ID09IE5VTEwgfHwKIAkJcHJvYy0+bGlua3MubmV4dCA9PSBOVUxM KQogCQlyZXR1cm4gTlVMTDsKLQlBc3NlcnQocHJvYy0+d2FpdFN0YXR1cyA9PSBTVEFUVVNf V0FJVElORyk7CisJQXNzZXJ0KHByb2MtPndhaXRTdGF0dXMgPT0gUFJPQ19XQUlUX1NUQVRV U19XQUlUSU5HKTsKIAogCS8qIFNhdmUgbmV4dCBwcm9jZXNzIGJlZm9yZSB3ZSB6YXAgdGhl IGxpc3QgbGluayAqLwogCXJldFByb2MgPSAoUEdQUk9DICopIHByb2MtPmxpbmtzLm5leHQ7 CkBAIC0xNjUxLDcgKzE2NTEsNyBAQCBQcm9jTG9ja1dha2V1cChMb2NrTWV0aG9kIGxvY2tN ZXRob2RUYWJsZSwgTE9DSyAqbG9jaykKIAkJewogCQkJLyogT0sgdG8gd2FrZW4gKi8KIAkJ CUdyYW50TG9jayhsb2NrLCBwcm9jLT53YWl0UHJvY0xvY2ssIGxvY2ttb2RlKTsKLQkJCXBy b2MgPSBQcm9jV2FrZXVwKHByb2MsIFNUQVRVU19PSyk7CisJCQlwcm9jID0gUHJvY1dha2V1 cChwcm9jLCBQUk9DX1dBSVRfU1RBVFVTX09LKTsKIAogCQkJLyoKIAkJCSAqIFByb2NXYWtl dXAgcmVtb3ZlcyBwcm9jIGZyb20gdGhlIGxvY2sncyB3YWl0aW5nIHByb2Nlc3MgcXVldWUK QEAgLTE3MzEsNyArMTczMSw3IEBAIENoZWNrRGVhZExvY2sodm9pZCkKIAkJICogcHJlc2Vy dmUgdGhlIGZsZXhpYmlsaXR5IHRvIGtpbGwgc29tZSBvdGhlciB0cmFuc2FjdGlvbiB0aGFu IHRoZQogCQkgKiBvbmUgZGV0ZWN0aW5nIHRoZSBkZWFkbG9jay4pCiAJCSAqCi0JCSAqIFJl bW92ZUZyb21XYWl0UXVldWUgc2V0cyBNeVByb2MtPndhaXRTdGF0dXMgdG8gU1RBVFVTX0VS Uk9SLCBzbworCQkgKiBSZW1vdmVGcm9tV2FpdFF1ZXVlIHNldHMgTXlQcm9jLT53YWl0U3Rh dHVzIHRvIFBST0NfV0FJVF9TVEFUVVNfRVJST1IsIHNvCiAJCSAqIFByb2NTbGVlcCB3aWxs IHJlcG9ydCBhbiBlcnJvciBhZnRlciB3ZSByZXR1cm4gZnJvbSB0aGUgc2lnbmFsCiAJCSAq IGhhbmRsZXIuCiAJCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYy5oIGIvc3JjL2lu Y2x1ZGUvYy5oCmluZGV4IGVkZGViMzZjYTEuLmY0YjM0Y2YyNDMgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2MuaAorKysgYi9zcmMvaW5jbHVkZS9jLmgKQEAgLTExMjAsNyArMTEyMCw2 IEBAIHR5cGVkZWYgdW5pb24gUEdBbGlnbmVkWExvZ0Jsb2NrCiAjZGVmaW5lIFNUQVRVU19P SwkJCQkoMCkKICNkZWZpbmUgU1RBVFVTX0VSUk9SCQkJKC0xKQogI2RlZmluZSBTVEFUVVNf RU9GCQkJCSgtMikKLSNkZWZpbmUgU1RBVFVTX1dBSVRJTkcJCQkoMikKIAogLyoKICAqIGdl dHRleHQgc3VwcG9ydApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmgg Yi9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaAppbmRleCAyODFlMWRiNzI1Li4xODBjMjI1 OWQzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaAorKysgYi9zcmMv aW5jbHVkZS9zdG9yYWdlL3Byb2MuaApAQCAtNzYsNiArNzYsMTMgQEAgc3RydWN0IFhpZENh Y2hlCiAgKi8KICNkZWZpbmUgSU5WQUxJRF9QR1BST0NOTwkJUEdfSU5UMzJfTUFYCiAKK3R5 cGVkZWYgZW51bQoreworCVBST0NfV0FJVF9TVEFUVVNfT0ssCisJUFJPQ19XQUlUX1NUQVRV U19XQUlUSU5HLAorCVBST0NfV0FJVF9TVEFUVVNfRVJST1IsCit9IFByb2NXYWl0U3RhdHVz OworCiAvKgogICogRWFjaCBiYWNrZW5kIGhhcyBhIFBHUFJPQyBzdHJ1Y3QgaW4gc2hhcmVk IG1lbW9yeS4gIFRoZXJlIGlzIGFsc28gYSBsaXN0IG9mCiAgKiBjdXJyZW50bHktdW51c2Vk IFBHUFJPQyBzdHJ1Y3RzIHRoYXQgd2lsbCBiZSByZWFsbG9jYXRlZCB0byBuZXcgYmFja2Vu ZHMuCkBAIC05OSw3ICsxMDYsNyBAQCBzdHJ1Y3QgUEdQUk9DCiAJUEdQUk9DCSAgKipwcm9j Z2xvYmFsbGlzdDsgLyogcHJvY2dsb2JhbCBsaXN0IHRoYXQgb3ducyB0aGlzIFBHUFJPQyAq LwogCiAJUEdTZW1hcGhvcmUgc2VtOwkJCS8qIE9ORSBzZW1hcGhvcmUgdG8gc2xlZXAgb24g Ki8KLQlpbnQJCQl3YWl0U3RhdHVzOwkJLyogU1RBVFVTX1dBSVRJTkcsIFNUQVRVU19PSyBv ciBTVEFUVVNfRVJST1IgKi8KKwlQcm9jV2FpdFN0YXR1cyB3YWl0U3RhdHVzOwogCiAJTGF0 Y2gJCXByb2NMYXRjaDsJCS8qIGdlbmVyaWMgbGF0Y2ggZm9yIHByb2Nlc3MgKi8KIApAQCAt MzE3LDggKzMyNCw4IEBAIGV4dGVybiBib29sIEhhdmVORnJlZVByb2NzKGludCBuKTsKIGV4 dGVybiB2b2lkIFByb2NSZWxlYXNlTG9ja3MoYm9vbCBpc0NvbW1pdCk7CiAKIGV4dGVybiB2 b2lkIFByb2NRdWV1ZUluaXQoUFJPQ19RVUVVRSAqcXVldWUpOwotZXh0ZXJuIGludAlQcm9j U2xlZXAoTE9DQUxMT0NLICpsb2NhbGxvY2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxl KTsKLWV4dGVybiBQR1BST0MgKlByb2NXYWtldXAoUEdQUk9DICpwcm9jLCBpbnQgd2FpdFN0 YXR1cyk7CitleHRlcm4gUHJvY1dhaXRTdGF0dXMgUHJvY1NsZWVwKExPQ0FMTE9DSyAqbG9j YWxsb2NrLCBMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSk7CitleHRlcm4gUEdQUk9DICpQ cm9jV2FrZXVwKFBHUFJPQyAqcHJvYywgUHJvY1dhaXRTdGF0dXMgd2FpdFN0YXR1cyk7CiBl eHRlcm4gdm9pZCBQcm9jTG9ja1dha2V1cChMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSwg TE9DSyAqbG9jayk7CiBleHRlcm4gdm9pZCBDaGVja0RlYWRMb2NrQWxlcnQodm9pZCk7CiBl eHRlcm4gYm9vbCBJc1dhaXRpbmdGb3JMb2NrKHZvaWQpOwotLSAKMi4yNC4xCgo= --------------7C90284B606C81D1B39165A9--