From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender3-pp-o99.zoho.com (sender3-pp-o99.zoho.com [136.143.184.99]) by sourceware.org (Postfix) with ESMTPS id BFCAE3858D20; Fri, 17 Nov 2023 22:48:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BFCAE3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=zoho.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=zoho.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BFCAE3858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.184.99 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700261338; cv=pass; b=gzPD6MTphSdDHBTxOxToSAf9qeUC6Qv92JHDPwzPyEsfPZp9pRmPp74Sa3leVoruaRwJAkXAjKoZQYCV+75rtWjQ7830mBJJ1+BCU6FXoV9gFx9gv/xeZ9loKUZTdPO9eILXVJUGCtDFLTYTIFrH/E5DBhTwxiGHm2GytXXkgMA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700261338; c=relaxed/simple; bh=5M1PiJ6PMNzFKZPgyO3AlflhD4jcL+ZdDhonS58hhR0=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=NLwfgmkrV94fVa7SqZpgIDhGEQnQ3HK4k4Ha+GxlZy0J3IWA0qWNUTCsfP7Qq1g7ItuG7uWe+scRAs4VX4FITvnn0pqAhO9UXx5CPYHrSSXEMlcFV3ObDN652OARN7I9NDiqCHKMwauKcmtu2PYnJR18OWVLX2x5iUnnWCGEji8= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1700261330; cv=none; d=zohomail.com; s=zohoarc; b=RtpIDXO68CH98TEvPHl5xkTbjrqEKKIP+99PQjUdTMjXGzW112soObDjDju4sEOJJoVRjaa5viG6c8Xla8uhzMKo4aiAvAUb94zlKwN/9dVUom6ySU1jfn8lAQKGTdnML44Y4gcbGDcB782c6NpSszx94Q+CKhnOzPMO4nn4usU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700261330; h=Content-Type:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=G0IAQOEA7mNsrhOv9oTCz1p8GMSVy9VqI6a9Wdnbyck=; b=SDoeVdFq/6Bjb2LqAuDJKDr0L+HOyRDCqSsLzHdXOZnQPzetdY+uQWP56LQS1z14vFXfIDj+52ucbaMb4fLEKyqGhX7f8vOp25omMYeHv+AXjokTPC4nlXOffTi862KgfyN7i29LbnSEJwdRIWW3qWJQEnnQxcuBIsNR8em5tM8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zoho.com; spf=pass smtp.mailfrom=bouanto@zoho.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1700261330; s=zm2022; d=zoho.com; i=bouanto@zoho.com; h=Message-ID:Subject:Subject:From:From:To:To:Cc:Cc:Date:Date:Content-Type:MIME-Version:Feedback-ID:Message-Id:Reply-To; bh=G0IAQOEA7mNsrhOv9oTCz1p8GMSVy9VqI6a9Wdnbyck=; b=AMVvY64lUyKBD12ZUE+gucZpCZ6GgPItsJCyyZhUx9WcbDyRQm1H0RYB4VzTFDZT xjYCMu4FFPGQ10Wm0BAveeGE4xE5g/wTUyn8ax5FWoM0WO+N4Su26vZd89XjSRCyl9d OHB4qdr0KYW8qFUpx0oqXZYF9PYzn65h7725UmvM= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 170026132873673.55873616394308; Fri, 17 Nov 2023 14:48:48 -0800 (PST) Message-ID: <4568a2ea1baa146f2f4b83636d8329c6dd351599.camel@zoho.com> Subject: [PATCH] libgccjit: Add ways to set the personality function From: Antoni Boucher To: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Cc: David Malcolm Date: Fri, 17 Nov 2023 17:48:47 -0500 Autocrypt: addr=bouanto@zoho.com; prefer-encrypt=mutual; keydata=mQENBFOSMLQBCADO5aw6Ys8thMQUNzrwAnfJX2wbgWiz0pQ01DjYj22eeIpChkoZn6LWdt4dieq30u2rFi/yQzJ02foHwI2+aL9rU6xz/x4TwqyRJQGMOqklNc3R+pdXmH4WDQkQDWmLxvc07vu+zb8Tx5A6pMDh4J2ncCEhLEUcH39Yq/yg4eBnFwUX6N7kakvHrnScGNqhnSFCacoJeMJUAR+1G7VBSBd++jmnHLnx3mj7QkRZVECJUw2zqiv1yReCC6GU4SvqLjdqm5ZGeoWOqD/NHjBRoEeOVjzp6M/qOjjWRbkJVqmvgfcD8UytSSqqboR35YFT4L+rZt2ri3T12MJb3i5syCAXABEBAAG0IUFudG9uaSBCb3VjaGVyIDxib3VhbnRvQHpvaG8uY29tPokBVgQTAQgAQAIbIwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QM4FCRLMEZoACgkQRVeGAwR4zcFBQQf/afttJrA/puADQZhrDfkgr0MFvq6iB+GCy1b8BkXimk1TOXTPt87YLehSeijNu3JkYhl5eRc87BNfU9J87KfI/KIy6hZxqlDXk16FhW9bw/7wYEA0hpb3MUn7xLElXDT0ZHaD+KTe8Oun7qfzgx5RlL6r/WODf3CkSpO085R/rfeBqDEx9mVlhDWgq6Az3CZoD+3CqiCKVqmDuHTWz4kwrd9AM5eVcLvvLKnZIdoIp+G5Ao6BvaGlZyfenN1iOSjLy2NXNt4MnUt0lUYEP5KSIIRhHQ8xkUbj7eWUmaahkxhNb3fH3sAPwGnRZrPpb4rgYzNmSk63wWMh9M2xk+rLb7kBDQRTkjC0AQgAumZzsAV/UFWI+dpzebQfma36kKYZZFuseant5sq/HWP553XQ/U6ttJiKyN5MpCqtxvCAoRplf42YhlHuFqgf73WJxoJ6Y+sdyqoBSwlR+ gzAneAmsa8gmmY0wawH0Z2leazjKuS7mJjVEQZg0ZGsiCVRGeRnDqFGzDEzDc9ngWKSoTq0fKzlGy1X85OrtmUrvEbhSo6HP+FoeunHkIqrxu3w3vDoFEXxVQlKI6V3I4nCz5n6DB8WR3L7nsiiTnOiGirPw1ngvWFLW86kkA4FJpayc8Xl3va3SLY+2y4yuROboX2DVI4AC/Qeug/mDiBicPxkP6YfUartQRMe6obkEQARAQABiQE8BBgBCAAmAhsMFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QRsFCRLMEecACgkQRVeGAwR4zcE56ggAgTgrJInBKC+7552Dpccuo6Clh3wZfjlNLv9/6r5lKEbaNzaTrfhPiAP4WgnluIUmj8amOFLFJpj+BAVNOXpZ4D2R3o9ch8z7fot+fW4Yw+PKIxH4I2xEys8ndoEB3aiQwHjKcGIhkIU7uyMJFQr2aWjdTY0gmXw0YZueHOSLgo7uX4XKxB8fEO/yto/Tff2YBAAq+AtNwt+Gh5YS9rZw7rwUTWMi84yVOlc+zRE79E9NJkvdTwX7IJYo64VzIRNfgHsn7QNdVzuM1XIFHl+Glk6cIlI8s6BO7nEoCn3hTF104fQTAO3fEs+XXZOKXo2lk8faowEoPq5r58StrV0nyg== Content-Type: multipart/mixed; boundary="=-yzfB6erE5ky9YsAU1Mz7" User-Agent: Evolution 3.50.1 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/200.232.44 Feedback-ID: rr08011228e758b768f9a0e0df002e1eb30000db6590e79050c0ff2916d8790d6c5de0c09377a0a4e68d5a6393:zu080112268846aa5b82d3f3170517a083000080e1ec5ea30ca02348a7f6b2365e905a5b12b4e99d9beff1:rf080112324f75f62376e49249a3ece5e900007c136a64df924f77b11eeea9ba575b29c04351cea3ebd5322eebfc2e961b34829faa9cba:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-yzfB6erE5ky9YsAU1Mz7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi. This adds functions to set the personality function (bug 112603). I'm not sure I can make a test for this: it seems the personality function will not be set if there are no try/catch inside the functions. Do you know a way to keep the personality function that is set in this case? Or should we wait until I send the patch for try/catch? Thanks for the review. --=-yzfB6erE5ky9YsAU1Mz7 Content-Disposition: attachment; filename="0001-libgccjit-Add-ways-to-set-the-personality-function.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Add-ways-to-set-the-personality-function.patch"; charset="UTF-8" RnJvbSA2YmViNjQ1MmM3YmFjOWVjYmRhZWE3NTBkNjFkNmU2YzZiZDNlZDhmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogU3VuLCAxNiBBcHIgMjAyMyAxMzoxOToyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogQWRkIHdheXMgdG8gc2V0IHRoZSBwZXJzb25hbGl0eSBmdW5jdGlvbgoKZ2NjL0NoYW5n ZUxvZzoKCVBSIGppdC8xMTI2MDMKCSogZXhwci5jYyAoYnVpbGRfcGVyc29uYWxpdHlfZnVuY3Rp b25fd2l0aF9uYW1lKTogTmV3IGZ1bmN0aW9uLgoJKiB0cmVlLmNjICh0cmVlX2NjX2ZpbmFsaXpl KTogQ2xlYW51cCBnY2NfZWhfcGVyc29uYWxpdHlfZGVjbC4KCSogdHJlZS5oIChidWlsZF9wZXJz b25hbGl0eV9mdW5jdGlvbl93aXRoX25hbWUpOiBOZXcgZGVjbC4KCmdjYy9qaXQvQ2hhbmdlTG9n OgoJUFIgaml0LzExMjYwMwoJKiBkb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCAoTElCR0ND SklUX0FCSV8yNik6IE5ldyBBQkkgdGFnLgoJKiBkb2NzL3RvcGljcy9mdW5jdGlvbnMucnN0OiBE b2N1bWVudCB0aGUgZnVuY3Rpb25zCglnY2Nfaml0X3NldF9nbG9iYWxfcGVyc29uYWxpdHlfZnVu Y3Rpb25fbmFtZSBhbmQKCWdjY19qaXRfZnVuY3Rpb25fc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9u LgoJKiBkdW1teS1mcm9udGVuZC5jYyAoaml0X2djX3Jvb3QpOiBOZXcgdmFyaWFibGUuCgkoaml0 X3ByZXNlcnZlX2Zyb21fZ2MpOiBOZXcgZnVuY3Rpb24uCgkoaml0X2xhbmdob29rX2luaXQpOiBJ bml0aWFsaXplIG5ldyB2YXJpYWJsZXMuCgkoaml0X2xhbmdob29rX2VoX3BlcnNvbmFsaXR5KTog TmV3IGhvb2suCgkoTEFOR19IT09LU19FSF9QRVJTT05BTElUWSk6IE5ldyBob29rLgoJKiBqaXQt cGxheWJhY2suY2MgKHNldF9wZXJzb25hbGl0eV9mdW5jdGlvbik6IE5ldyBmdW5jdGlvbi4KCSog aml0LXBsYXliYWNrLmg6IE5ldyBkZWNsLgoJKiBqaXQtcmVjb3JkaW5nLmNjCgkobWVtZW50b19v Zl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb246Om1ha2VfZGVidWdfc3RyaW5nLAoJcmVjb3JkaW5n OjptZW1lbnRvX29mX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbjo6d3JpdGVfcmVwcm9kdWNlciwK CXJlY29yZGluZzo6ZnVuY3Rpb246OnNldF9wZXJzb25hbGl0eV9mdW5jdGlvbiwKCXJlY29yZGlu Zzo6bWVtZW50b19vZl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb246OnJlcGxheV9pbnRvKToKCU5l dyBmdW5jdGlvbnMKCSogaml0LXJlY29yZGluZy5oIChjbGFzcyBtZW1lbnRvX29mX3NldF9wZXJz b25hbGl0eV9mdW5jdGlvbik6CglOZXcgY2xhc3MuCgkocmVjb3JkaW5nOjpmdW5jdGlvbjo6c2V0 X3BlcnNvbmFsaXR5X2Z1bmN0aW9uKTogTmV3IGZ1bmN0aW9uLgoJKiBsaWJnY2NqaXQuY2MgKGdj Y19qaXRfZnVuY3Rpb25fc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9uLAoJZ2NjX2ppdF9zZXRfZ2xv YmFsX3BlcnNvbmFsaXR5X2Z1bmN0aW9uX25hbWUpOiBOZXcgZnVuY3Rpb25zLgoJKiBsaWJnY2Nq aXQuaCAoZ2NjX2ppdF9zZXRfZ2xvYmFsX3BlcnNvbmFsaXR5X2Z1bmN0aW9uX25hbWUsCglnY2Nf aml0X2Z1bmN0aW9uX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbik6IE5ldyBmdW5jdGlvbnMuCgkq IGxpYmdjY2ppdC5tYXA6IE5ldyBmdW5jdGlvbnMuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoK CgkqIGppdC5kZy90ZXN0LXBlcnNvbmFsaXR5LWZ1bmN0aW9uLmM6IE5ldyB0ZXN0LgoJKiBqaXQu ZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmg6IE1lbnRpb24KCXRlc3QtcGVyc29uYWxpdHktZnVu Y3Rpb24uYy4KLS0tCiBnY2MvZXhwci5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgOCArKysKIGdjYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QgICAgICAg ICB8IDEwICsrKysKIGdjYy9qaXQvZG9jcy90b3BpY3MvZnVuY3Rpb25zLnJzdCAgICAgICAgICAg ICB8IDI4ICsrKysrKysrKysKIGdjYy9qaXQvZHVtbXktZnJvbnRlbmQuY2MgICAgICAgICAgICAg ICAgICAgICB8IDM2ICsrKysrKysrKysrKwogZ2NjL2ppdC9qaXQtcGxheWJhY2suY2MgICAgICAg ICAgICAgICAgICAgICAgIHwgIDggKysrCiBnY2Mvaml0L2ppdC1wbGF5YmFjay5oICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMyArCiBnY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MgICAgICAgICAg ICAgICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysKIGdjYy9qaXQvaml0LXJlY29yZGluZy5o ICAgICAgICAgICAgICAgICAgICAgICB8IDIzICsrKysrKysrCiBnY2Mvaml0L2xpYmdjY2ppdC5j YyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKwogZ2NjL2ppdC9saWJnY2Nq aXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrCiBnY2Mvaml0L2xpYmdjY2pp dC5tYXAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKwogZ2NjL3Rlc3RzdWl0ZS9qaXQu ZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmggIHwgIDMgKwogLi4uL2ppdC5kZy90ZXN0LXBlcnNv bmFsaXR5LWZ1bmN0aW9uLmMgICAgICAgIHwgNTUgKysrKysrKysrKysrKysrKysrKwogZ2NjL3Ry ZWUuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogZ2NjL3RyZWUu aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogMTUgZmlsZXMgY2hh bmdlZCwgMjU2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2ppdC5kZy90ZXN0LXBlcnNvbmFsaXR5LWZ1bmN0aW9uLmMKCmRpZmYgLS1naXQgYS9nY2MvZXhw ci5jYyBiL2djYy9leHByLmNjCmluZGV4IDU1NmJjZjdlZjU5Li4yNWQ1MDI4OWIyNCAxMDA2NDQK LS0tIGEvZ2NjL2V4cHIuY2MKKysrIGIvZ2NjL2V4cHIuY2MKQEAgLTEzNTU5LDYgKzEzNTU5LDE0 IEBAIGJ1aWxkX3BlcnNvbmFsaXR5X2Z1bmN0aW9uIChjb25zdCBjaGFyICpsYW5nKQogCiAgIG5h bWUgPSBBQ09OQ0FUICgoIl9fIiwgbGFuZywgIl9wZXJzb25hbGl0eSIsIHVud2luZF9hbmRfdmVy c2lvbiwgTlVMTCkpOwogCisgIHJldHVybiBidWlsZF9wZXJzb25hbGl0eV9mdW5jdGlvbl93aXRo X25hbWUgKG5hbWUpOworfQorCit0cmVlCitidWlsZF9wZXJzb25hbGl0eV9mdW5jdGlvbl93aXRo X25hbWUgKGNvbnN0IGNoYXIgKm5hbWUpCit7CisgIHRyZWUgZGVjbCwgdHlwZTsKKwogICB0eXBl ID0gYnVpbGRfZnVuY3Rpb25fdHlwZV9saXN0ICh1bnNpZ25lZF90eXBlX25vZGUsCiAJCQkJICAg aW50ZWdlcl90eXBlX25vZGUsIGludGVnZXJfdHlwZV9ub2RlLAogCQkJCSAgIGxvbmdfbG9uZ191 bnNpZ25lZF90eXBlX25vZGUsCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBh dGliaWxpdHkucnN0IGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdAppbmRl eCBlYmVkZTQ0MGVlNC4uMzFjM2VmNjQwMWEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZG9jcy90b3Bp Y3MvY29tcGF0aWJpbGl0eS5yc3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmls aXR5LnJzdApAQCAtMzc4LDMgKzM3OCwxMyBAQCBhbGlnbm1lbnQgb2YgYSB2YXJpYWJsZToKIC0t LS0tLS0tLS0tLS0tLS0tLS0tCiBgYExJQkdDQ0pJVF9BQklfMjVgYCBjb3ZlcnMgdGhlIGFkZGl0 aW9uIG9mCiA6ZnVuYzpgZ2NjX2ppdF90eXBlX2dldF9yZXN0cmljdGAKKworLi4gX0xJQkdDQ0pJ VF9BQklfMjY6CisKK2BgTElCR0NDSklUX0FCSV8yNmBgCistLS0tLS0tLS0tLS0tLS0tLS0tLQor YGBMSUJHQ0NKSVRfQUJJXzI2YGAgY292ZXJzIHRoZSBhZGRpdGlvbiBvZiBmdW5jdGlvbnMgdG8g c2V0IHRoZSBwZXJzb25hbGl0eQorZnVuY3Rpb246CisKKyAgKiA6ZnVuYzpgZ2NjX2ppdF9mdW5j dGlvbl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb25gCisgICogOmZ1bmM6YGdjY19qaXRfc2V0X2ds b2JhbF9wZXJzb25hbGl0eV9mdW5jdGlvbl9uYW1lYApkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2Nz L3RvcGljcy9mdW5jdGlvbnMucnN0IGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9mdW5jdGlvbnMucnN0 CmluZGV4IGNmNWNiNzE2ZGFmLi5lNTk4ODVjMzU0OSAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9kb2Nz L3RvcGljcy9mdW5jdGlvbnMucnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvZnVuY3Rpb25z LnJzdApAQCAtMTk3LDYgKzE5NywzNCBAQCBGdW5jdGlvbnMKIAogICAgLi4gdHlwZTo6IGdjY19q aXRfY2FzZQogCisuLiBmdW5jdGlvbjo6ICB2b2lkCisgICAgICAgICAgICAgICBnY2Nfaml0X2Z1 bmN0aW9uX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbiAoZ2NjX2ppdF9mdW5jdGlvbiAqZm4sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z2NjX2ppdF9mdW5jdGlvbiAqcGVyc29uYWxpdHlfZnVuYykKKworICAgU2V0IHRoZSBwZXJzb25h bGl0eSBmdW5jdGlvbiBvZiBgYGZuYGAgdG8gYGBwZXJzb25hbGl0eV9mdW5jYGAuCisKKyAgIHdl cmUgYWRkZWQgaW4gOnJlZjpgTElCR0NDSklUX0FCSV8yNmA7IHlvdSBjYW4gdGVzdCBmb3IgdGhl aXIgcHJlc2VuY2UKKyAgIHVzaW5nCisKKyAgIC4uIGNvZGUtYmxvY2s6OiBjCisKKyAgICAgICNp ZmRlZiBMSUJHQ0NKSVRfSEFWRV9QRVJTT05BTElUWV9GVU5DVElPTgorCisuLiBmdW5jdGlvbjo6 ICB2b2lkCisgICAgICAgICAgICAgICBnY2Nfaml0X3NldF9nbG9iYWxfcGVyc29uYWxpdHlfZnVu Y3Rpb25fbmFtZSAoY2hhciogbmFtZSkKKworICAgU2V0IHRoZSBnbG9iYWwgcGVyc29uYWxpdHkg ZnVuY3Rpb24uCisKKyAgIFRoaXMgaXMgbWFpbmx5IHVzZWZ1bCB0byBwcmV2ZW50IHRoZSBvcHRp bWl6ZXIgZnJvbSB1bnNldHRpbmcgdGhlIHBlcnNvbmFsaXR5CisgICBmdW5jdGlvbiBzZXQgb24g b3RoZXIgZnVuY3Rpb25zLgorCisgICB3ZXJlIGFkZGVkIGluIDpyZWY6YExJQkdDQ0pJVF9BQklf MjZgOyB5b3UgY2FuIHRlc3QgZm9yIHRoZWlyIHByZXNlbmNlCisgICB1c2luZworCisgICAuLiBj b2RlLWJsb2NrOjogYworCisgICAgICAjaWZkZWYgTElCR0NDSklUX0hBVkVfUEVSU09OQUxJVFlf RlVOQ1RJT04KKwogQmxvY2tzCiAtLS0tLS0KIC4uIHR5cGU6OiBnY2Nfaml0X2Jsb2NrCmRpZmYg LS1naXQgYS9nY2Mvaml0L2R1bW15LWZyb250ZW5kLmNjIGIvZ2NjL2ppdC9kdW1teS1mcm9udGVu ZC5jYwppbmRleCBhNzI5MDg2YmFmYi4uYzlkZWRkNTliMjQgMTAwNjQ0Ci0tLSBhL2djYy9qaXQv ZHVtbXktZnJvbnRlbmQuY2MKKysrIGIvZ2NjL2ppdC9kdW1teS1mcm9udGVuZC5jYwpAQCAtMTQ2 LDYgKzE0NiwyMCBAQCBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX3NwZWMgaml0X2Zvcm1hdF9hdHRy aWJ1dGVfdGFibGVbXSA9CiAgIHsgTlVMTCwgICAgICAgICAgICAgICAgICAgICAwLCAwLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgTlVMTCwgTlVMTCB9CiB9OwogCitjaGFyKiBqaXRfcGVy c29uYWxpdHlfZnVuY19uYW1lID0gTlVMTDsKK3N0YXRpYyB0cmVlIHBlcnNvbmFsaXR5X2RlY2w7 CisKKy8qIEZJWE1FOiBUaGlzIGlzIGEgaGFjayB0byBwcmVzZXJ2ZSB0cmVlcyB0aGF0IHdlIGNy ZWF0ZSBmcm9tIHRoZQorICAgZ2FyYmFnZSBjb2xsZWN0b3IuICAqLworCitzdGF0aWMgR1RZICgo KSkgdHJlZSBqaXRfZ2Nfcm9vdDsKKwordm9pZAoraml0X3ByZXNlcnZlX2Zyb21fZ2MgKHRyZWUg dCkKK3sKKyAgaml0X2djX3Jvb3QgPSB0cmVlX2NvbnMgKE5VTExfVFJFRSwgdCwgaml0X2djX3Jv b3QpOworfQorCiAvKiBBdHRyaWJ1dGUgaGFuZGxlcnMuICAqLwogCiAvKiBIYW5kbGUgYSAibm9y ZXR1cm4iIGF0dHJpYnV0ZTsgYXJndW1lbnRzIGFzIGluCkBAIC01NzgsNiArNTkyLDggQEAgaml0 X2VuZF9kaWFnbm9zdGljIChkaWFnbm9zdGljX2NvbnRleHQgKmNvbnRleHQsCiBzdGF0aWMgYm9v bAogaml0X2xhbmdob29rX2luaXQgKHZvaWQpCiB7CisgIGppdF9nY19yb290ID0gTlVMTF9UUkVF OworICBwZXJzb25hbGl0eV9kZWNsID0gTlVMTF9UUkVFOwogICBnY2NfYXNzZXJ0IChnY2M6Ompp dDo6YWN0aXZlX3BsYXliYWNrX2N0eHQpOwogICBKSVRfTE9HX1NDT1BFIChnY2M6OmppdDo6YWN0 aXZlX3BsYXliYWNrX2N0eHQtPmdldF9sb2dnZXIgKCkpOwogCkBAIC02OTQsNiArNzEwLDI2IEBA IGppdF9sYW5naG9va19nZXRkZWNscyAodm9pZCkKICAgcmV0dXJuIE5VTEw7CiB9CiAKK3N0YXRp YyB0cmVlCitqaXRfbGFuZ2hvb2tfZWhfcGVyc29uYWxpdHkgKHZvaWQpCit7CisgIGlmIChwZXJz b25hbGl0eV9kZWNsID09IE5VTExfVFJFRSkKKyAgeworICAgIGlmIChqaXRfcGVyc29uYWxpdHlf ZnVuY19uYW1lICE9IE5VTEwpCisgICAgeworICAgICAgcGVyc29uYWxpdHlfZGVjbCA9CisJYnVp bGRfcGVyc29uYWxpdHlfZnVuY3Rpb25fd2l0aF9uYW1lIChqaXRfcGVyc29uYWxpdHlfZnVuY19u YW1lKTsKKyAgICAgIGppdF9wcmVzZXJ2ZV9mcm9tX2djIChwZXJzb25hbGl0eV9kZWNsKTsKKyAg ICB9CisgICAgZWxzZQorICAgICAgcmV0dXJuIGxoZF9nY2NfcGVyc29uYWxpdHkgKCk7CisgIH0K KyAgcmV0dXJuIHBlcnNvbmFsaXR5X2RlY2w7Cit9CisKKyN1bmRlZiBMQU5HX0hPT0tTX0VIX1BF UlNPTkFMSVRZCisjZGVmaW5lIExBTkdfSE9PS1NfRUhfUEVSU09OQUxJVFkgaml0X2xhbmdob29r X2VoX3BlcnNvbmFsaXR5CisKICN1bmRlZiBMQU5HX0hPT0tTX05BTUUKICNkZWZpbmUgTEFOR19I T09LU19OQU1FCQkibGliZ2Njaml0IgogCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1wbGF5YmFj ay5jYyBiL2djYy9qaXQvaml0LXBsYXliYWNrLmNjCmluZGV4IDE4Y2M0ZGEyNWI4Li5lZjMxNTJh M2FlZCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcGxheWJhY2suY2MKKysrIGIvZ2NjL2ppdC9q aXQtcGxheWJhY2suY2MKQEAgLTE4NTcsNiArMTg1NywxNCBAQCBwbGF5YmFjazo6ZnVuY3Rpb246 OmdldF9hZGRyZXNzIChsb2NhdGlvbiAqbG9jKQogICByZXR1cm4gbmV3IHJ2YWx1ZSAobV9jdHh0 LCB0X2ZucHRyKTsKIH0KIAordm9pZAorcGxheWJhY2s6OmZ1bmN0aW9uOjoKK3NldF9wZXJzb25h bGl0eV9mdW5jdGlvbiAoZnVuY3Rpb24gKnBlcnNvbmFsaXR5X2Z1bmN0aW9uKQoreworICBERUNM X0ZVTkNUSU9OX1BFUlNPTkFMSVRZIChtX2lubmVyX2ZuZGVjbCkgPQorICAgIHBlcnNvbmFsaXR5 X2Z1bmN0aW9uLT5hc19mbmRlY2wgKCk7Cit9CisKIC8qIEJ1aWxkIGEgc3RhdGVtZW50IGxpc3Qg Zm9yIHRoZSBmdW5jdGlvbiBhcyBhIHdob2xlIG91dCBvZiB0aGUKICAgIGxpc3RzIG9mIHN0YXRl bWVudHMgZm9yIHRoZSBpbmRpdmlkdWFsIGJsb2NrcywgYnVpbGRpbmcgbGFiZWxzCiAgICBmb3Ig ZWFjaCBibG9jay4gICovCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1wbGF5YmFjay5oIGIvZ2Nj L2ppdC9qaXQtcGxheWJhY2suaAppbmRleCBmOWUyOWQwYmFlYy4uMmZmNTc2YTU3NmYgMTAwNjQ0 Ci0tLSBhL2djYy9qaXQvaml0LXBsYXliYWNrLmgKKysrIGIvZ2NjL2ppdC9qaXQtcGxheWJhY2su aApAQCAtNTA4LDYgKzUwOCw5IEBAIHB1YmxpYzoKICAgcnZhbHVlICoKICAgZ2V0X2FkZHJlc3Mg KGxvY2F0aW9uICpsb2MpOwogCisgIHZvaWQKKyAgc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9uIChm dW5jdGlvbiAqcGVyc29uYWxpdHlfZnVuY3Rpb24pOworCiAgIHZvaWQKICAgYnVpbGRfc3RtdF9s aXN0ICgpOwogCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MgYi9nY2Mvaml0 L2ppdC1yZWNvcmRpbmcuY2MKaW5kZXggOWI1YjgwMDVlYmUuLmJiMThhYWY0NGIzIDEwMDY0NAot LS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MKKysrIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5n LmNjCkBAIC00MTY0LDYgKzQxNjQsNTAgQEAgcmVjb3JkaW5nOjpmdW5jdGlvbjo6cmVwbGF5X2lu dG8gKHJlcGxheWVyICpyKQogCQkJCSAgICAgbV9idWlsdGluX2lkKSk7CiB9CiAKKy8qIEltcGxl bWVudGF0aW9uIG9mIHJlY29yZGluZzo6bWVtZW50bzo6bWFrZV9kZWJ1Z19zdHJpbmcgZm9yCisg ICBzZXR0aW5nIGEgcGVyc29uYWxpdHkgZnVuY3Rpb24uICAqLworCityZWNvcmRpbmc6OnN0cmlu ZyAqCityZWNvcmRpbmc6Om1lbWVudG9fb2Zfc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9uOjptYWtl X2RlYnVnX3N0cmluZyAoKQoreworICByZXR1cm4gc3RyaW5nOjpmcm9tX3ByaW50ZiAobV9jdHh0 LAorCQkJICAgICAgIiVzIiwKKwkJCSAgICAgIG1fcGVyc29uYWxpdHlfZnVuY3Rpb24tPmdldF9k ZWJ1Z19zdHJpbmcgKCkpOworfQorCisvKiBJbXBsZW1lbnRhdGlvbiBvZiByZWNvcmRpbmc6Om1l bWVudG86OndyaXRlX3JlcHJvZHVjZXIgZm9yIHNldHRpbmcgdGhlCisgICBwZXJzb25hbGl0eSBm dW5jdGlvbi4gICovCisKK3ZvaWQKK3JlY29yZGluZzo6bWVtZW50b19vZl9zZXRfcGVyc29uYWxp dHlfZnVuY3Rpb246OndyaXRlX3JlcHJvZHVjZXIgKHJlcHJvZHVjZXIgJnIpCit7CisgIHIud3Jp dGUgKCIgICAgZ2NjX2ppdF9mdW5jdGlvbl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKCVzLFxu IgorCSAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVz KTtcbiIsCisJICAgci5nZXRfaWRlbnRpZmllciAobV9mdW5jdGlvbiksCisJICAgci5nZXRfaWRl bnRpZmllciAobV9wZXJzb25hbGl0eV9mdW5jdGlvbikpOworfQorCit2b2lkCityZWNvcmRpbmc6 OmZ1bmN0aW9uOjpzZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKGZ1bmN0aW9uICpmdW5jdGlvbikK K3sKKyAgcmVjb3JkaW5nOjptZW1lbnRvX29mX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbiAqcmVz dWx0ID0KKyAgICBuZXcgbWVtZW50b19vZl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKG1fY3R4 dCwgdGhpcywgZnVuY3Rpb24pOworICBtX2N0eHQtPnJlY29yZCAocmVzdWx0KTsKK30KKworLyog VGhlIGltcGxlbWVudGF0aW9uIG9mIGNsYXNzCisgICBnY2M6OmppdDo6cmVjb3JkaW5nOjptZW1l bnRvX29mX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbi4gICovCisKKy8qIEltcGxlbWVudGF0aW9u IG9mIHB1cmUgdmlydHVhbCBob29rIHJlY29yZGluZzo6bWVtZW50bzo6cmVwbGF5X2ludG8KKyAg IGZvciByZWNvcmRpbmc6Om1lbWVudG9fb2Zfc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9uLiAgKi8K Kwordm9pZAorcmVjb3JkaW5nOjptZW1lbnRvX29mX3NldF9wZXJzb25hbGl0eV9mdW5jdGlvbjo6 cmVwbGF5X2ludG8gKHJlcGxheWVyICopCit7CisgIG1fZnVuY3Rpb24tPnBsYXliYWNrX2Z1bmN0 aW9uICgpLT5zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKAorICAgIG1fcGVyc29uYWxpdHlfZnVu Y3Rpb24tPnBsYXliYWNrX2Z1bmN0aW9uICgpKTsKK30KKwogLyogQ3JlYXRlIGEgcmVjb3JkaW5n Ojpsb2NhbCBpbnN0YW5jZSBhbmQgYWRkIGl0IHRvCiAgICB0aGUgZnVuY3Rpb25zJ3MgY29udGV4 dCdzIGxpc3Qgb2YgbWVtZW50b3MsIGFuZCB0byB0aGUgZnVuY3Rpb24ncwogICAgbGlzdCBvZiBs b2NhbHMuCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaCBiL2djYy9qaXQvaml0 LXJlY29yZGluZy5oCmluZGV4IDRhODA4Mjk5MWZiLi4wY2NiMGYzOGJiOSAxMDA2NDQKLS0tIGEv Z2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKKysrIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKQEAg LTEzNDIsNiArMTM0Miw4IEBAIHB1YmxpYzoKIAogICBydmFsdWUgKmdldF9hZGRyZXNzIChsb2Nh dGlvbiAqbG9jKTsKIAorICB2b2lkIHNldF9wZXJzb25hbGl0eV9mdW5jdGlvbiAoZnVuY3Rpb24g KmZ1bmN0aW9uKTsKKwogcHJpdmF0ZToKICAgc3RyaW5nICogbWFrZV9kZWJ1Z19zdHJpbmcgKCkg ZmluYWwgb3ZlcnJpZGU7CiAgIHZvaWQgd3JpdGVfcmVwcm9kdWNlciAocmVwcm9kdWNlciAmcikg ZmluYWwgb3ZlcnJpZGU7CkBAIC0xMzU5LDYgKzEzNjEsMjcgQEAgcHJpdmF0ZToKICAgdHlwZSAq bV9mbl9wdHJfdHlwZTsKIH07CiAKK2NsYXNzIG1lbWVudG9fb2Zfc2V0X3BlcnNvbmFsaXR5X2Z1 bmN0aW9uIDogcHVibGljIG1lbWVudG8KK3sKK3B1YmxpYzoKKyAgbWVtZW50b19vZl9zZXRfcGVy c29uYWxpdHlfZnVuY3Rpb24gKGNvbnRleHQgKmN0eCwKKwkJCQkgICAgICAgZnVuY3Rpb24gKmZ1 bmMsCisJCQkJICAgICAgIGZ1bmN0aW9uICpwZXJzb25hbGl0eV9mdW5jdGlvbikKKyAgOiBtZW1l bnRvIChjdHgpLAorICAgIG1fZnVuY3Rpb24gKGZ1bmMpLAorICAgIG1fcGVyc29uYWxpdHlfZnVu Y3Rpb24gKHBlcnNvbmFsaXR5X2Z1bmN0aW9uKSB7fQorCisgIHZvaWQgcmVwbGF5X2ludG8gKHJl cGxheWVyICpyKSBmaW5hbCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgc3RyaW5nICogbWFrZV9k ZWJ1Z19zdHJpbmcgKCkgZmluYWwgb3ZlcnJpZGU7CisgIHZvaWQgd3JpdGVfcmVwcm9kdWNlciAo cmVwcm9kdWNlciAmcikgZmluYWwgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgIGZ1bmN0aW9uICpt X2Z1bmN0aW9uOworICBmdW5jdGlvbiAqbV9wZXJzb25hbGl0eV9mdW5jdGlvbjsKK307CisKIGNs YXNzIGJsb2NrIDogcHVibGljIG1lbWVudG8KIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL2djYy9q aXQvbGliZ2Njaml0LmNjIGIvZ2NjL2ppdC9saWJnY2NqaXQuY2MKaW5kZXggMDQ1MWI0ZGY3Zjku LjY3ZDkwMzYyNDllIDEwMDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2ppdC5jYworKysgYi9nY2Mv aml0L2xpYmdjY2ppdC5jYwpAQCAtMzU5MCw2ICszNTkwLDI4IEBAIGdjY19qaXRfY29udGV4dF9h ZGRfY29tbWFuZF9saW5lX29wdGlvbiAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LAogICBjdHh0LT5h ZGRfY29tbWFuZF9saW5lX29wdGlvbiAob3B0bmFtZSk7CiB9CiAKKy8qIFB1YmxpYyBlbnRyeXBv aW50LiAgU2VlIGRlc2NyaXB0aW9uIGluIGxpYmdjY2ppdC5oLgorICAgQWZ0ZXIgZXJyb3ItY2hl Y2tpbmcsIHRoZSByZWFsIHdvcmsgaXMgZG9uZSBieSB0aGUKKyAgIGdjYzo6aml0OjpyZWNvcmRp bmc6OmZ1bmN0aW9uOjpzZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gbWV0aG9kLCBpbgorICAgaml0 LXJlY29yZGluZy5jLiAgKi8KKwordm9pZAorZ2NjX2ppdF9mdW5jdGlvbl9zZXRfcGVyc29uYWxp dHlfZnVuY3Rpb24gKGdjY19qaXRfZnVuY3Rpb24gKmZuLAorCQkJCQkgICBnY2Nfaml0X2Z1bmN0 aW9uICpwZXJzb25hbGl0eV9mdW5jKQoreworICBSRVRVUk5fSUZfRkFJTCAoZm4sIE5VTEwsIE5V TEwsICJOVUxMIGZ1bmN0aW9uIik7CisKKyAgZm4tPnNldF9wZXJzb25hbGl0eV9mdW5jdGlvbiAo cGVyc29uYWxpdHlfZnVuYyk7Cit9CisKK2V4dGVybiBjaGFyKiBqaXRfcGVyc29uYWxpdHlfZnVu Y19uYW1lOworCit2b2lkCitnY2Nfaml0X3NldF9nbG9iYWxfcGVyc29uYWxpdHlfZnVuY3Rpb25f bmFtZSAoY2hhciogbmFtZSkKK3sKKyAgaml0X3BlcnNvbmFsaXR5X2Z1bmNfbmFtZSA9IG5hbWU7 Cit9CisKIC8qIFB1YmxpYyBlbnRyeXBvaW50LiAgU2VlIGRlc2NyaXB0aW9uIGluIGxpYmdjY2pp dC5oLgogCiAgICBUaGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCmRpZmYgLS1naXQgYS9nY2Mv aml0L2xpYmdjY2ppdC5oIGIvZ2NjL2ppdC9saWJnY2NqaXQuaAppbmRleCA3NDlmNmMyNDE3Ny4u ODY3NDgwYjAzMzEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmgKKysrIGIvZ2NjL2pp dC9saWJnY2NqaXQuaApAQCAtMTc5Nyw2ICsxNzk3LDE0IEBAIGV4dGVybiBnY2Nfaml0X3J2YWx1 ZSAqCiBnY2Nfaml0X2Z1bmN0aW9uX2dldF9hZGRyZXNzIChnY2Nfaml0X2Z1bmN0aW9uICpmbiwK IAkJCSAgICAgIGdjY19qaXRfbG9jYXRpb24gKmxvYyk7CiAKKyNkZWZpbmUgTElCR0NDSklUX0hB VkVfUEVSU09OQUxJVFlfRlVOQ1RJT04KKworZXh0ZXJuIHZvaWQKK2djY19qaXRfc2V0X2dsb2Jh bF9wZXJzb25hbGl0eV9mdW5jdGlvbl9uYW1lIChjaGFyKiBuYW1lKTsKKwordm9pZAorZ2NjX2pp dF9mdW5jdGlvbl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKGdjY19qaXRfZnVuY3Rpb24gKmZu LAorCQkJCQkgICBnY2Nfaml0X2Z1bmN0aW9uICpwZXJzb25hbGl0eV9mdW5jKTsKIAogI2RlZmlu ZSBMSUJHQ0NKSVRfSEFWRV9nY2Nfaml0X2NvbnRleHRfbmV3X3J2YWx1ZV9mcm9tX3ZlY3Rvcgog CmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAgYi9nY2Mvaml0L2xpYmdjY2ppdC5t YXAKaW5kZXggOGI5MGEwZTJmZjMuLjJhMGViODE5YTUyIDEwMDY0NAotLS0gYS9nY2Mvaml0L2xp YmdjY2ppdC5tYXAKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQubWFwCkBAIC0yNzYsMyArMjc2LDkg QEAgTElCR0NDSklUX0FCSV8yNSB7CiAgIGdsb2JhbDoKICAgICBnY2Nfaml0X3R5cGVfZ2V0X3Jl c3RyaWN0OwogfSBMSUJHQ0NKSVRfQUJJXzI0OworCitMSUJHQ0NKSVRfQUJJXzI2IHsKKyAgZ2xv YmFsOgorICAgIGdjY19qaXRfc2V0X2dsb2JhbF9wZXJzb25hbGl0eV9mdW5jdGlvbl9uYW1lOwor ICAgIGdjY19qaXRfZnVuY3Rpb25fc2V0X3BlcnNvbmFsaXR5X2Z1bmN0aW9uOworfSBMSUJHQ0NK SVRfQUJJXzI1OwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWls aW5nLXRlc3RzLmggYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMu aAppbmRleCBlNzYyNTYzZjliZC4uMzc4NWE3ODhmZmEgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3Vp dGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oCisrKyBiL2djYy90ZXN0c3VpdGUvaml0 LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oCkBAIC0zMjIsNiArMzIyLDkgQEAKIC8qIHRlc3Qt c2V0dGluZy1hbGlnbm1lbnQuYzogVGhpcyBjYW4ndCBiZSBpbiB0aGUgdGVzdGNhc2VzIGFycmF5 IGFzIGl0CiAgICBpcyB0YXJnZXQtc3BlY2lmaWMuICAqLwogCisvKiB0ZXN0LXBlcnNvbmFsaXR5 LWZ1bmN0aW9uLmM6IFRoaXMgY2FuJ3QgYmUgaW4gdGhlIHRlc3RjYXNlcyBhcnJheSBhcyBpdAor ICAgaXMgdGFyZ2V0LXNwZWNpZmljLiAgKi8KKwogLyogdGVzdC1zdHJpbmctbGl0ZXJhbC5jICov CiAjZGVmaW5lIGNyZWF0ZV9jb2RlIGNyZWF0ZV9jb2RlX3N0cmluZ19saXRlcmFsCiAjZGVmaW5l IHZlcmlmeV9jb2RlIHZlcmlmeV9jb2RlX3N0cmluZ19saXRlcmFsCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2ppdC5kZy90ZXN0LXBlcnNvbmFsaXR5LWZ1bmN0aW9uLmMgYi9nY2MvdGVzdHN1 aXRlL2ppdC5kZy90ZXN0LXBlcnNvbmFsaXR5LWZ1bmN0aW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjExMjU2MzZlMzYyCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1wZXJzb25hbGl0eS1mdW5jdGlvbi5jCkBAIC0wLDAgKzEs NTUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB4ODZfNjQtKi0qIH0gfSAqLworCisj aW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgImxpYmdj Y2ppdC5oIgorCisvKiBXZSBkb24ndCB3YW50IHNldF9vcHRpb25zKCkgaW4gaGFybmVzcy5oIHRv IHNldCAtTzMgc28gb3VyIGxpdHRsZSBsb2NhbAorICAgaXMgb3B0aW1pemVkIGF3YXkuICovCisj ZGVmaW5lIFRFU1RfRVNDSEVXU19TRVRfT1BUSU9OUworc3RhdGljIHZvaWQgc2V0X29wdGlvbnMg KGdjY19qaXRfY29udGV4dCAqY3R4dCwgY29uc3QgY2hhciAqYXJndjApCit7Cit9CisKKyNkZWZp bmUgVEVTVF9DT01QSUxJTkdfVE9fRklMRQorI2RlZmluZSBPVVRQVVRfS0lORCAgICAgIEdDQ19K SVRfT1VUUFVUX0tJTkRfQVNTRU1CTEVSCisjZGVmaW5lIE9VVFBVVF9GSUxFTkFNRSAgIm91dHB1 dC1vZi10ZXN0LXBlcnNvbmFsaXR5LWZ1bmN0aW9uLmMucyIKKyNpbmNsdWRlICJoYXJuZXNzLmgi CisKK3ZvaWQKK2NyZWF0ZV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJf ZGF0YSkKK3sKKyAgZ2NjX2ppdF9jb250ZXh0X2FkZF9kcml2ZXJfb3B0aW9uIChjdHh0LCAiLWZl eGNlcHRpb25zIik7CisgIGdjY19qaXRfY29udGV4dF9hZGRfY29tbWFuZF9saW5lX29wdGlvbiAo Y3R4dCwgIi1mZXhjZXB0aW9ucyIpOworICBnY2Nfaml0X3NldF9nbG9iYWxfcGVyc29uYWxpdHlf ZnVuY3Rpb25fbmFtZSAoIm15X3BlcnNvbmFsaXR5X2Z1bmN0aW9uIik7CisKKyAgZ2NjX2ppdF90 eXBlICp2b2lkX3R5cGUgPQorICAgIGdjY19qaXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0ND X0pJVF9UWVBFX1ZPSUQpOworCisgIGdjY19qaXRfZnVuY3Rpb24gKnBlcnNvbmFsaXR5X2Z1bmMg PQorICAgIGdjY19qaXRfY29udGV4dF9uZXdfZnVuY3Rpb24gKGN0eHQsIE5VTEwsCisJCQkJICBH Q0NfSklUX0ZVTkNUSU9OX0VYUE9SVEVELAorCQkJCSAgdm9pZF90eXBlLAorCQkJCSAgIm15X3Bl cnNvbmFsaXR5X2Z1bmN0aW9uIiwKKwkJCQkgIDAsIE5VTEwsCisJCQkJICAwKTsKKyAgZ2NjX2pp dF9ibG9jayAqYmxvY2tfcGVyc29uYWxpdHkgPSBnY2Nfaml0X2Z1bmN0aW9uX25ld19ibG9jayAo cGVyc29uYWxpdHlfZnVuYywgTlVMTCk7CisgIGdjY19qaXRfYmxvY2tfZW5kX3dpdGhfdm9pZF9y ZXR1cm4gKGJsb2NrX3BlcnNvbmFsaXR5LCBOVUxMKTsKKworICBnY2Nfaml0X2Z1bmN0aW9uICpm dW5jX2EgPQorICAgIGdjY19qaXRfY29udGV4dF9uZXdfZnVuY3Rpb24gKGN0eHQsIE5VTEwsCisJ CQkJICBHQ0NfSklUX0ZVTkNUSU9OX0VYUE9SVEVELAorCQkJCSAgdm9pZF90eXBlLAorCQkJCSAg ImEiLAorCQkJCSAgMCwgTlVMTCwKKwkJCQkgIDApOworCisKKyAgZ2NjX2ppdF9ibG9jayAqYmxv Y2tfYSA9IGdjY19qaXRfZnVuY3Rpb25fbmV3X2Jsb2NrIChmdW5jX2EsIE5VTEwpOworICBnY2Nf aml0X2Jsb2NrX2VuZF93aXRoX3ZvaWRfcmV0dXJuIChibG9ja19hLCBOVUxMKTsKKyAgZ2NjX2pp dF9mdW5jdGlvbl9zZXRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKGZ1bmNfYSwgcGVyc29uYWxpdHlf ZnVuYyk7Cit9CisKKy8qIHsgZGctZmluYWwgeyBqaXQtdmVyaWZ5LW91dHB1dC1maWxlLXdhcy1j cmVhdGVkICIiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IGppdC12ZXJpZnktYXNzZW1ibGVyLW91 dHB1dCAiLmNmaV9wZXJzb25hbGl0eSBUT0RPIiB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90cmVl LmNjIGIvZ2NjL3RyZWUuY2MKaW5kZXggYTNkOTA3YTRhYzAuLjMwYmE4ZDZkOWNkIDEwMDY0NAot LS0gYS9nY2MvdHJlZS5jYworKysgYi9nY2MvdHJlZS5jYwpAQCAtMTUxMTUsNiArMTUxMTUsNyBA QCB2b2lkCiB0cmVlX2NjX2ZpbmFsaXplICh2b2lkKQogewogICBjbGVhcl9ub25zdGFuZGFyZF9p bnRlZ2VyX3R5cGVfY2FjaGUgKCk7CisgIGdjY19laF9wZXJzb25hbGl0eV9kZWNsID0gTlVMTDsK ICAgdmVjX2ZyZWUgKGJpdGludF90eXBlX2NhY2hlKTsKIH0KIApkaWZmIC0tZ2l0IGEvZ2NjL3Ry ZWUuaCBiL2djYy90cmVlLmgKaW5kZXggMDg2YjU1ZjAzNzUuLjA0MmFmZTZhMTAxIDEwMDY0NAot LS0gYS9nY2MvdHJlZS5oCisrKyBiL2djYy90cmVlLmgKQEAgLTY2NzIsNiArNjY3Miw3IEBAIGV4 dGVybiB0cmVlIGdldF9pbm5lcl9yZWZlcmVuY2UgKHRyZWUsIHBvbHlfaW50NjQgKiwgcG9seV9p bnQ2NCAqLAogCQkJCSB0cmVlICosIG1hY2hpbmVfbW9kZSAqLCBpbnQgKiwgaW50ICosIGludCAq KTsKIAogZXh0ZXJuIHRyZWUgYnVpbGRfcGVyc29uYWxpdHlfZnVuY3Rpb24gKGNvbnN0IGNoYXIg Kik7CitleHRlcm4gdHJlZSBidWlsZF9wZXJzb25hbGl0eV9mdW5jdGlvbl93aXRoX25hbWUgKGNv bnN0IGNoYXIgKik7CiAKIHN0cnVjdCBHVFkoKCkpIGludF9uX3RyZWVzX3QgewogICAvKiBUaGVz ZSBwYXJ0cyBhcmUgaW5pdGlhbGl6ZWQgYXQgcnVudGltZSAqLwotLSAKMi40Mi4xCgo= --=-yzfB6erE5ky9YsAU1Mz7--