From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6B7ABC433F5 for ; Thu, 10 Feb 2022 23:30:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=oDCNUq+57B1EF16FvGjSzpAxZuimtRSOTKXu8HIIygg=; b=HFUGWXma7k4wFcW6FDUGdk5r56 QnusXXnGe/Ak7C9yoAKlz5y0nD2c+b/5Du0T4w2UKMkcd9lpH6MRY1h5lgJllWmxEIXlq5RGHHOKw 3Q7yMM0F0OEOdgNSH4qnVEGnuXx6rJII6WLCGPp5Uv4sJ+6t777hwJxsna7eOvxG08w6aUDeTDxxH m6+AeLorjGXjSY6/fe2RGW3p9aS5n6X/qvcABo1wMAY/LEdH/udpxmrpCMaONPuOjlIbHUy/OJ9yT KsCbscTDbUCDhavqLRQkVa3X1gqRVdvNVak3G54nypkMuWE14SDwXBTY4ll+ssgKAMicDtHuoyyCZ jxbhE8RA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nIIrz-005AI8-Us; Thu, 10 Feb 2022 23:29:00 +0000 Received: from mail-ua1-x949.google.com ([2607:f8b0:4864:20::949]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nIIrg-005AEg-KH for linux-arm-kernel@lists.infradead.org; Thu, 10 Feb 2022 23:28:43 +0000 Received: by mail-ua1-x949.google.com with SMTP id e20-20020ab037d4000000b0033cf87c764bso1771812uav.23 for ; Thu, 10 Feb 2022 15:28:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc:content-transfer-encoding; bh=hMLABJ99eOAvi/mzHi8TOvXnAJT7y1QJHMEUiSzJRyA=; b=h5r1dLJAVwLcHRThB7P468t18WUMTHgtU7vjJI1al922TynvB0jopSwpau6Qg84bpJ xkfE46S1MjW5s3BUuIWmwDl5DVq+uDkBY+hKdZ8wXO6dXz8UnZzYZzkXZVRQXgVXxNEC qNLA1lZtGxZ74PUUUtW43StMwcMKdg+7I8GC0prG1gm0LvNOSz72DvUgwTN9oa6C11zz /6p1ME3wmYUs9KATcOPfo7AUWZGzWuzqGD3AHZHVX7YkGOJ+TP55Q0iy3d5nGpurNMpT d74Pc51aicWjhjbQlLa0os1qoYsolql/MuiuicANEpRtGdt5HET716/yrv484q5dN6t5 WYqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=hMLABJ99eOAvi/mzHi8TOvXnAJT7y1QJHMEUiSzJRyA=; b=XiiG8mDpTikh6H7gs8e/xkMC+6ybGkKQ/JGTuWjnYWIi6U8tw/k1HxBM4lNjZZoYGl a0bkIRB+ldGE7+anV/L8cnDZzVc+DuKctx/tWLjymUpWnmg7M3FKO2v0hdigitqRYyfF Pj1cdqwmgSsbNBxykIQgeFS4tGzjsw5tV/BIRmNWcI8z86usmm8+rC05q3kCF6OP9Fae kw0lRt28XrcarV8ny90ZBrxPc9cRZ8g6ynbMLBtC9376LH2chJ+T3/CMdRgcYfgOQjbf k8s8Nw1OQLhH3nBFiPHwmkFWabLsH9xW7a5dYWAxf1EwmFBYXggvA4daOLPEL7pkOZFD eqRA== X-Gm-Message-State: AOAM533XInUUw/Y2YGNxGoG90jwjB4If5KtHClPG3goN7rMgJcNAYYQL JYK8i7Wbm7lsXbaT8xhdybxE6MvF/Q== X-Google-Smtp-Source: ABdhPJxbcp3VuiZ0f+3SeDdptIhMvEd+qOnhM68C86J6K1lZEWSMcPJQQrTBoGwLq2P0zYvkIUc8CKd7ow== X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a05:6122:7c7:: with SMTP id l7mr3487351vkr.9.1644535718486; Thu, 10 Feb 2022 15:28:38 -0800 (PST) Date: Thu, 10 Feb 2022 23:28:07 +0000 In-Reply-To: <20220210232812.798387-1-nhuck@google.com> Message-Id: <20220210232812.798387-3-nhuck@google.com> Mime-Version: 1.0 References: <20220210232812.798387-1-nhuck@google.com> X-Mailer: git-send-email 2.35.1.265.g69c8d7142f-goog Subject: [RFC PATCH v2 2/7] crypto: polyval - Add POLYVAL support From: Nathan Huckleberry To: linux-crypto@vger.kernel.org Cc: Herbert Xu , "David S. Miller" , linux-arm-kernel@lists.infradead.org, Paul Crowley , Eric Biggers , Sami Tolvanen , Ard Biesheuvel , Nathan Huckleberry X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220210_152840_719453_A2C5A7D7 X-CRM114-Status: GOOD ( 28.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIHN1cHBvcnQgZm9yIFBPTFlWQUwsIGFuIM61Lc6ULXVuaXZlcnNhbCBoYXNoIGZ1bmN0aW9u IHNpbWlsYXIgdG8KR0hBU0guICBQT0xZVkFMIGlzIHVzZWQgYXMgYSBjb21wb25lbnQgdG8gaW1w bGVtZW50IEhDVFIyIG1vZGUuCgpQT0xZVkFMIGlzIGltcGxlbWVudGVkIGFzIGFuIHNoYXNoIGFs Z29yaXRobS4gIFRoZSBpbXBsZW1lbnRhdGlvbiBpcwptb2RpZmllZCBmcm9tIGdoYXNoLWdlbmVy aWMuYy4KCk1vcmUgaW5mb3JtYXRpb24gb24gUE9MWVZBTCBjYW4gYmUgZm91bmQgaW4gdGhlIEhD VFIyIHBhcGVyOgpodHRwczovL2VwcmludC5pYWNyLm9yZy8yMDIxLzE0NDEucGRmCgpTaWduZWQt b2ZmLWJ5OiBOYXRoYW4gSHVja2xlYmVycnkgPG5odWNrQGdvb2dsZS5jb20+Ci0tLQoKQ2hhbmdl cyBzaW5jZSB2MToKICogQWRkZWQgY29tbWVudHMgZXhwbGFpbmluZyB0aGUgR0hBU0gvUE9MWVZB TCB0cmljawogKiBGaXhlZCBhIGJ1ZyBvbiBub24tYmxvY2stbXVsdGlwbGUgbWVzc2FnZXMKCiBj cnlwdG8vS2NvbmZpZyAgICAgICAgICAgfCAgIDggKysKIGNyeXB0by9NYWtlZmlsZSAgICAgICAg ICB8ICAgMSArCiBjcnlwdG8vcG9seXZhbC1nZW5lcmljLmMgfCAxOTkgKysrKysrKysrKysrKysr KysrKysrKysrKysrCiBjcnlwdG8vdGNyeXB0LmMgICAgICAgICAgfCAgIDQgKwogY3J5cHRvL3Rl c3RtZ3IuYyAgICAgICAgIHwgICA2ICsKIGNyeXB0by90ZXN0bWdyLmggICAgICAgICB8IDI4NCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvY3J5cHRvL3Bv bHl2YWwuaCB8ICAyMiArKysKIDcgZmlsZXMgY2hhbmdlZCwgNTI0IGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBjcnlwdG8vcG9seXZhbC1nZW5lcmljLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBpbmNsdWRlL2NyeXB0by9wb2x5dmFsLmgKCmRpZmYgLS1naXQgYS9jcnlwdG8vS2NvbmZp ZyBiL2NyeXB0by9LY29uZmlnCmluZGV4IDg1NDNmMzRmYTIwMC4uMGM2MWQwMzUzMGE2IDEwMDY0 NAotLS0gYS9jcnlwdG8vS2NvbmZpZworKysgYi9jcnlwdG8vS2NvbmZpZwpAQCAtNzYwLDYgKzc2 MCwxNCBAQCBjb25maWcgQ1JZUFRPX0dIQVNICiAJICBHSEFTSCBpcyB0aGUgaGFzaCBmdW5jdGlv biB1c2VkIGluIEdDTSAoR2Fsb2lzL0NvdW50ZXIgTW9kZSkuCiAJICBJdCBpcyBub3QgYSBnZW5l cmFsLXB1cnBvc2UgY3J5cHRvZ3JhcGhpYyBoYXNoIGZ1bmN0aW9uLgogCitjb25maWcgQ1JZUFRP X1BPTFlWQUwKKwl0cmlzdGF0ZQorCXNlbGVjdCBDUllQVE9fR0YxMjhNVUwKKwlzZWxlY3QgQ1JZ UFRPX0hBU0gKKwloZWxwCisJICBQT0xZVkFMIGlzIHRoZSBoYXNoIGZ1bmN0aW9uIHVzZWQgaW4g SENUUjIuICBJdCBpcyBub3QgYSBnZW5lcmFsLXB1cnBvc2UKKwkgIGNyeXB0b2dyYXBoaWMgaGFz aCBmdW5jdGlvbi4KKwogY29uZmlnIENSWVBUT19QT0xZMTMwNQogCXRyaXN0YXRlICJQb2x5MTMw NSBhdXRoZW50aWNhdG9yIGFsZ29yaXRobSIKIAlzZWxlY3QgQ1JZUFRPX0hBU0gKZGlmZiAtLWdp dCBhL2NyeXB0by9NYWtlZmlsZSBiL2NyeXB0by9NYWtlZmlsZQppbmRleCA2YjNmZTNkZjE0ODku LjU2MWY5MDFhOTFkNCAxMDA2NDQKLS0tIGEvY3J5cHRvL01ha2VmaWxlCisrKyBiL2NyeXB0by9N YWtlZmlsZQpAQCAtMTY5LDYgKzE2OSw3IEBAIFVCU0FOX1NBTklUSVpFX2ppdHRlcmVudHJvcHku byA9IG4KIGppdHRlcmVudHJvcHlfcm5nLXkgOj0gaml0dGVyZW50cm9weS5vIGppdHRlcmVudHJv cHkta2NhcGkubwogb2JqLSQoQ09ORklHX0NSWVBUT19URVNUKSArPSB0Y3J5cHQubwogb2JqLSQo Q09ORklHX0NSWVBUT19HSEFTSCkgKz0gZ2hhc2gtZ2VuZXJpYy5vCitvYmotJChDT05GSUdfQ1JZ UFRPX1BPTFlWQUwpICs9IHBvbHl2YWwtZ2VuZXJpYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX1VT RVJfQVBJKSArPSBhZl9hbGcubwogb2JqLSQoQ09ORklHX0NSWVBUT19VU0VSX0FQSV9IQVNIKSAr PSBhbGdpZl9oYXNoLm8KIG9iai0kKENPTkZJR19DUllQVE9fVVNFUl9BUElfU0tDSVBIRVIpICs9 IGFsZ2lmX3NrY2lwaGVyLm8KZGlmZiAtLWdpdCBhL2NyeXB0by9wb2x5dmFsLWdlbmVyaWMuYyBi L2NyeXB0by9wb2x5dmFsLWdlbmVyaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmU4ZDdlMzRlNTM1NQotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9wb2x5dmFs LWdlbmVyaWMuYwpAQCAtMCwwICsxLDE5OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQorLyoKKyAqIFBPTFlWQUw6IGhhc2ggZnVuY3Rpb24gZm9yIEhDVFIyLgor ICoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBOb2tpYSBTaWVtZW5zIE5ldHdvcmtzIC0gTWlra28g SGVycmFuZW4gPG1oMUBpa2kuZmk+CisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgSW50ZWwgQ29ycC4K KyAqICAgQXV0aG9yOiBIdWFuZyBZaW5nIDx5aW5nLmh1YW5nQGludGVsLmNvbT4KKyAqIENvcHly aWdodCAyMDIxIEdvb2dsZSBMTEMKKyAqLworCisvKgorICogQ29kZSBiYXNlZCBvbiBjcnlwdG8v Z2hhc2gtZ2VuZXJpYy5jCisgKgorICogUE9MWVZBTCBpcyBhIGtleWVkIGhhc2ggZnVuY3Rpb24g c2ltaWxhciB0byBHSEFTSC4gUE9MWVZBTCB1c2VzIGEKKyAqIGRpZmZlcmVudCBtb2R1bHVzIGZv ciBmaW5pdGUgZmllbGQgbXVsdGlwbGljYXRpb24gd2hpY2ggbWFrZXMgaGFyZHdhcmUKKyAqIGFj Y2VsZXJhdGVkIGltcGxlbWVudGF0aW9ucyBvbiBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzIGZhc3Rl ci4KKyAqCisgKiBMaWtlIEdIQVNILCBQT0xZVkFMIGlzIG5vdCBhIGNyeXB0b2dyYXBoaWMgaGFz aCBmdW5jdGlvbiBhbmQgc2hvdWxkCisgKiBub3QgYmUgdXNlZCBvdXRzaWRlIG9mIGNyeXB0byBt b2RlcyBleHBsaWNpdGx5IGRlc2lnbmVkIHRvIHVzZSBQT0xZVkFMLgorICoKKyAqIFRoaXMgaW1w bGVtZW50YXRpb24gdXNlcyBhIGNvbnZlbmllbnQgdHJpY2sgaW52b2x2aW5nIHRoZSBHSEFTSCBh bmQgUE9MWVZBTAorICogZmllbGRzLiBUaGlzIHRyaWNrIGFsbG93cyBtdWx0aXBsaWNhdGlvbiBp biB0aGUgUE9MWVZBTCBmaWVsZCB0byBiZQorICogaW1wbGVtZW50ZWQgYnkgdXNpbmcgbXVsdGlw bGljYXRpb24gaW4gdGhlIEdIQVNIIGZpZWxkIGFzIGEgc3Vicm91dGluZS4gQW4KKyAqIGVsZW1l bnQgb2YgdGhlIFBPTFlWQUwgZmllbGQgY2FuIGJlIGNvbnZlcnRlZCB0byBhbiBlbGVtZW50IG9m IHRoZSBHSEFTSAorICogZmllbGQgYnkgY29tcHV0aW5nIHgqUkVWRVJTRShhKSwgd2hlcmUgUkVW RVJTRSByZXZlcnNlcyB0aGUgYnl0ZS1vcmRlcmluZyBvZgorICogYS4gU2ltaWxhcmx5LCBhbiBl bGVtZW50IG9mIHRoZSBHSEFTSCBmaWVsZCBjYW4gYmUgY29udmVydGVkIGJhY2sgdG8gdGhlCisg KiBQT0xZVkFMIGZpZWxkIGJ5IGNvbXB1dGluZyBSRVZFUlNFKHheey0xfSphKS4KKyAqCisgKiBC eSB1c2luZyB0aGlzIHRyaWNrLCB3ZSBkbyBub3QgbmVlZCB0byBpbXBsZW1lbnQgdGhlIFBPTFlW QUwgZmllbGQgZm9yIHRoZQorICogZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbi4KKyAqCisgKiBXYXJu aW5nOiB0aGlzIGdlbmVyaWMgaW1wbGVtZW50YXRpb24gaXMgbm90IGludGVuZGVkIHRvIGJlIHVz ZWQgaW4gcHJhY3RpY2UKKyAqIGFuZCBpcyBub3QgY29uc3RhbnQgdGltZS4gRm9yIHByYWN0aWNh bCB1c2UsIGEgaGFyZHdhcmUgYWNjZWxlcmF0ZWQKKyAqIGltcGxlbWVudGF0aW9uIG9mIFBPTFlW QUwgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KKyAqCisgKi8KKworI2luY2x1ZGUgPGFzbS91bmFs aWduZWQuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2dm MTI4bXVsLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3BvbHl2YWwuaD4KKyNpbmNsdWRlIDxjcnlwdG8v aW50ZXJuYWwvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxp bnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9t b2R1bGUuaD4KKworc3RydWN0IHBvbHl2YWxfdGZtX2N0eCB7CisJc3RydWN0IGdmMTI4bXVsXzRr ICpnZjEyODsKK307CisKK3N0YXRpYyBpbnQgcG9seXZhbF9pbml0KHN0cnVjdCBzaGFzaF9kZXNj ICpkZXNjKQoreworCXN0cnVjdCBwb2x5dmFsX2Rlc2NfY3R4ICpkY3R4ID0gc2hhc2hfZGVzY19j dHgoZGVzYyk7CisKKwltZW1zZXQoZGN0eCwgMCwgc2l6ZW9mKCpkY3R4KSk7CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIHZvaWQgcmV2ZXJzZV9ibG9jayh1OCBibG9ja1tQT0xZVkFMX0JMT0NL X1NJWkVdKQoreworCXU2NCAqcDEgPSAodTY0ICopYmxvY2s7CisJdTY0ICpwMiA9ICh1NjQgKikm YmxvY2tbOF07CisJdTY0IGEgPSBnZXRfdW5hbGlnbmVkKHAxKTsKKwl1NjQgYiA9IGdldF91bmFs aWduZWQocDIpOworCisJcHV0X3VuYWxpZ25lZChzd2FiNjQoYSksIHAyKTsKKwlwdXRfdW5hbGln bmVkKHN3YWI2NChiKSwgcDEpOworfQorCitzdGF0aWMgaW50IHBvbHl2YWxfc2V0a2V5KHN0cnVj dCBjcnlwdG9fc2hhc2ggKnRmbSwKKwkJCWNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXls ZW4pCit7CisJc3RydWN0IHBvbHl2YWxfdGZtX2N0eCAqY3R4ID0gY3J5cHRvX3NoYXNoX2N0eCh0 Zm0pOworCWJlMTI4IGs7CisKKwlpZiAoa2V5bGVuICE9IFBPTFlWQUxfQkxPQ0tfU0laRSkKKwkJ cmV0dXJuIC1FSU5WQUw7CisKKwlnZjEyOG11bF9mcmVlXzRrKGN0eC0+Z2YxMjgpOworCisJQlVJ TERfQlVHX09OKHNpemVvZihrKSAhPSBQT0xZVkFMX0JMT0NLX1NJWkUpOworCS8vIGF2b2lkIHZp b2xhdGluZyBhbGlnbm1lbnQgcnVsZXMKKwltZW1jcHkoJmssIGtleSwgUE9MWVZBTF9CTE9DS19T SVpFKTsKKworCXJldmVyc2VfYmxvY2soKHU4ICopJmspOworCWdmMTI4bXVsX3hfbGxlKCZrLCAm ayk7CisKKwljdHgtPmdmMTI4ID0gZ2YxMjhtdWxfaW5pdF80a19sbGUoJmspOworCW1lbXplcm9f ZXhwbGljaXQoJmssIFBPTFlWQUxfQkxPQ0tfU0laRSk7CisKKwlpZiAoIWN0eC0+Z2YxMjgpCisJ CXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcG9seXZhbF91 cGRhdGUoc3RydWN0IHNoYXNoX2Rlc2MgKmRlc2MsCisJCQkgY29uc3QgdTggKnNyYywgdW5zaWdu ZWQgaW50IHNyY2xlbikKK3sKKwlzdHJ1Y3QgcG9seXZhbF9kZXNjX2N0eCAqZGN0eCA9IHNoYXNo X2Rlc2NfY3R4KGRlc2MpOworCWNvbnN0IHN0cnVjdCBwb2x5dmFsX3RmbV9jdHggKmN0eCA9IGNy eXB0b19zaGFzaF9jdHgoZGVzYy0+dGZtKTsKKwl1OCAqZHN0ID0gZGN0eC0+YnVmZmVyOworCXU4 ICpwb3M7CisJdTggdG1wW1BPTFlWQUxfQkxPQ0tfU0laRV07CisJaW50IG47CisKKwlpZiAoZGN0 eC0+Ynl0ZXMpIHsKKwkJbiA9IG1pbihzcmNsZW4sIGRjdHgtPmJ5dGVzKTsKKwkJcG9zID0gZHN0 ICsgZGN0eC0+Ynl0ZXMgLSAxOworCisJCWRjdHgtPmJ5dGVzIC09IG47CisJCXNyY2xlbiAtPSBu OworCisJCXdoaWxlIChuLS0pCisJCQkqcG9zLS0gXj0gKnNyYysrOworCisJCWlmICghZGN0eC0+ Ynl0ZXMpCisJCQlnZjEyOG11bF80a19sbGUoKGJlMTI4ICopZHN0LCBjdHgtPmdmMTI4KTsKKwl9 CisKKwl3aGlsZSAoc3JjbGVuID49IFBPTFlWQUxfQkxPQ0tfU0laRSkgeworCQltZW1jcHkodG1w LCBzcmMsIFBPTFlWQUxfQkxPQ0tfU0laRSk7CisJCXJldmVyc2VfYmxvY2sodG1wKTsKKwkJY3J5 cHRvX3hvcihkc3QsIHRtcCwgUE9MWVZBTF9CTE9DS19TSVpFKTsKKwkJZ2YxMjhtdWxfNGtfbGxl KChiZTEyOCAqKWRzdCwgY3R4LT5nZjEyOCk7CisJCXNyYyArPSBQT0xZVkFMX0JMT0NLX1NJWkU7 CisJCXNyY2xlbiAtPSBQT0xZVkFMX0JMT0NLX1NJWkU7CisJfQorCisJaWYgKHNyY2xlbikgewor CQlkY3R4LT5ieXRlcyA9IFBPTFlWQUxfQkxPQ0tfU0laRSAtIHNyY2xlbjsKKwkJcG9zID0gZHN0 ICsgUE9MWVZBTF9CTE9DS19TSVpFIC0gMTsKKwkJd2hpbGUgKHNyY2xlbi0tKQorCQkJKnBvcy0t IF49ICpzcmMrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwb2x5dmFsX2Zp bmFsKHN0cnVjdCBzaGFzaF9kZXNjICpkZXNjLCB1OCAqZHN0KQoreworCXN0cnVjdCBwb2x5dmFs X2Rlc2NfY3R4ICpkY3R4ID0gc2hhc2hfZGVzY19jdHgoZGVzYyk7CisJY29uc3Qgc3RydWN0IHBv bHl2YWxfdGZtX2N0eCAqY3R4ID0gY3J5cHRvX3NoYXNoX2N0eChkZXNjLT50Zm0pOworCXU4ICpi dWYgPSBkY3R4LT5idWZmZXI7CisKKwlpZiAoZGN0eC0+Ynl0ZXMpCisJCWdmMTI4bXVsXzRrX2xs ZSgoYmUxMjggKilidWYsIGN0eC0+Z2YxMjgpOworCWRjdHgtPmJ5dGVzID0gMDsKKworCXJldmVy c2VfYmxvY2soYnVmKTsKKwltZW1jcHkoZHN0LCBidWYsIFBPTFlWQUxfQkxPQ0tfU0laRSk7CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcG9seXZhbF9leGl0X3RmbShzdHJ1Y3QgY3J5 cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBwb2x5dmFsX3RmbV9jdHggKmN0eCA9IGNyeXB0b190 Zm1fY3R4KHRmbSk7CisKKwlnZjEyOG11bF9mcmVlXzRrKGN0eC0+Z2YxMjgpOworfQorCitzdGF0 aWMgc3RydWN0IHNoYXNoX2FsZyBwb2x5dmFsX2FsZyA9IHsKKwkuZGlnZXN0c2l6ZQk9IFBPTFlW QUxfRElHRVNUX1NJWkUsCisJLmluaXQJCT0gcG9seXZhbF9pbml0LAorCS51cGRhdGUJCT0gcG9s eXZhbF91cGRhdGUsCisJLmZpbmFsCQk9IHBvbHl2YWxfZmluYWwsCisJLnNldGtleQkJPSBwb2x5 dmFsX3NldGtleSwKKwkuZGVzY3NpemUJPSBzaXplb2Yoc3RydWN0IHBvbHl2YWxfZGVzY19jdHgp LAorCS5iYXNlCQk9IHsKKwkJLmNyYV9uYW1lCQk9ICJwb2x5dmFsIiwKKwkJLmNyYV9kcml2ZXJf bmFtZQk9ICJwb2x5dmFsLWdlbmVyaWMiLAorCQkuY3JhX3ByaW9yaXR5CQk9IDEwMCwKKwkJLmNy YV9ibG9ja3NpemUJCT0gUE9MWVZBTF9CTE9DS19TSVpFLAorCQkuY3JhX2N0eHNpemUJCT0gc2l6 ZW9mKHN0cnVjdCBwb2x5dmFsX3RmbV9jdHgpLAorCQkuY3JhX21vZHVsZQkJPSBUSElTX01PRFVM RSwKKwkJLmNyYV9leGl0CQk9IHBvbHl2YWxfZXhpdF90Zm0sCisJfSwKK307CisKK3N0YXRpYyBp bnQgX19pbml0IHBvbHl2YWxfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lz dGVyX3NoYXNoKCZwb2x5dmFsX2FsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwb2x5dmFs X21vZF9leGl0KHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfc2hhc2goJnBvbHl2YWxfYWxn KTsKK30KKworc3Vic3lzX2luaXRjYWxsKHBvbHl2YWxfbW9kX2luaXQpOworbW9kdWxlX2V4aXQo cG9seXZhbF9tb2RfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVND UklQVElPTigiUE9MWVZBTCBoYXNoIGZ1bmN0aW9uIik7CitNT0RVTEVfQUxJQVNfQ1JZUFRPKCJw b2x5dmFsIik7CitNT0RVTEVfQUxJQVNfQ1JZUFRPKCJwb2x5dmFsLWdlbmVyaWMiKTsKZGlmZiAt LWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCBiM2EyM2RiZjVi MTQuLmNlZDc0NjdiYjQ4MSAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5jCisrKyBiL2NyeXB0 by90Y3J5cHQuYwpAQCAtMTczMCw2ICsxNzMwLDEwIEBAIHN0YXRpYyBpbnQgZG9fdGVzdChjb25z dCBjaGFyICphbGcsIHUzMiB0eXBlLCB1MzIgbWFzaywgaW50IG0sIHUzMiBudW1fbWIpCiAJCXJl dCArPSB0Y3J5cHRfdGVzdCgiY2NtKHNtNCkiKTsKIAkJYnJlYWs7CiAKKwljYXNlIDU3OgorCQly ZXQgKz0gdGNyeXB0X3Rlc3QoInBvbHl2YWwiKTsKKwkJYnJlYWs7CisKIAljYXNlIDEwMDoKIAkJ cmV0ICs9IHRjcnlwdF90ZXN0KCJobWFjKG1kNSkiKTsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9j cnlwdG8vdGVzdG1nci5jIGIvY3J5cHRvL3Rlc3RtZ3IuYwppbmRleCBkMmI0MmZmMGIwNGEuLjNl NTRkMTdmZTY0NCAxMDA2NDQKLS0tIGEvY3J5cHRvL3Rlc3RtZ3IuYworKysgYi9jcnlwdG8vdGVz dG1nci5jCkBAIC01MjQ1LDYgKzUyNDUsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbGdfdGVz dF9kZXNjIGFsZ190ZXN0X2Rlc2NzW10gPSB7CiAJCS5zdWl0ZSA9IHsKIAkJCS5oYXNoID0gX19W RUNTKHBvbHkxMzA1X3R2X3RlbXBsYXRlKQogCQl9CisJfSwgeworCQkuYWxnID0gInBvbHl2YWwi LAorCQkudGVzdCA9IGFsZ190ZXN0X2hhc2gsCisJCS5zdWl0ZSA9IHsKKwkJCS5oYXNoID0gX19W RUNTKHBvbHl2YWxfdHZfdGVtcGxhdGUpCisJCX0KIAl9LCB7CiAJCS5hbGcgPSAicmZjMzY4Nihj dHIoYWVzKSkiLAogCQkudGVzdCA9IGFsZ190ZXN0X3NrY2lwaGVyLApkaWZmIC0tZ2l0IGEvY3J5 cHRvL3Rlc3RtZ3IuaCBiL2NyeXB0by90ZXN0bWdyLmgKaW5kZXggZTFlYmJiM2M0ZDRjLi5kYTM3 MzZlNTE5ODIgMTAwNjQ0Ci0tLSBhL2NyeXB0by90ZXN0bWdyLmgKKysrIGIvY3J5cHRvL3Rlc3Rt Z3IuaApAQCAtMzMzNDYsNCArMzMzNDYsMjg4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2lwaGVy X3Rlc3R2ZWMgYWVzX3hjdHJfdHZfdGVtcGxhdGVbXSA9IHsKIAl9LAogfTsKIAorLyoKKyAqIFRl c3QgdmVjdG9ycyBnZW5lcmF0ZWQgdXNpbmcgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9oY3Ry MgorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGhhc2hfdGVzdHZlYyBwb2x5dmFsX3R2X3RlbXBs YXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MzFceDA3XHgyOFx4ZDlceDkxXHgxZlx4MWZceDM4 IgorCQkJICAiXHgzN1x4YjJceDQzXHgxNlx4YzNceGZhXHhiOVx4YTAiLAorCQkucGxhaW50ZXh0 CT0gIlx4NjVceDc4XHg2MVx4NmRceDcwXHg2Y1x4NjVceDAwIgorCQkJICAiXHgwMFx4MDBceDAw XHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDQ4XHg2NVx4NmNceDZjXHg2Zlx4MjBceDc3 XHg2ZiIKKwkJCSAgIlx4NzJceDZjXHg2NFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgz OFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDU4XHgwMFx4MDBceDAwXHgw MFx4MDBceDAwXHgwMCIsCisJCS5kaWdlc3QJPSAiXHhhZFx4N2ZceGNmXHgwYlx4NTFceDY5XHg4 NVx4MTYiCisJCQkgICJceDYyXHg2N1x4MmZceDNjXHg1Zlx4OTVceDEzXHg4ZiIsCisJCS5wc2l6 ZQk9IDQ4LAorCQkua3NpemUJPSAxNiwKKwl9LAorCXsKKwkJLmtleQk9ICJceGQ5XHhiM1x4NjBc eDI3XHg5Nlx4OTRceDk0XHgxYSIKKwkJCSAgIlx4YzVceGRiXHhjNlx4OThceDdhXHhkYVx4NzNc eDc3IiwKKwkJLnBsYWludGV4dAk9ICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIK KwkJCSAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJc eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgwMFx4MDBc eDAwXHgwMFx4MDBceDAwIiwKKwkJLnBzaXplCT0gMTYsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJ eworCQkua2V5CT0gIlx4ZDlceGIzXHg2MFx4MjdceDk2XHg5NFx4OTRceDFhIgorCQkJICAiXHhj NVx4ZGJceGM2XHg5OFx4N2FceGRhXHg3M1x4NzciLAorCQkucGxhaW50ZXh0CT0gIlx4MDFceDAw XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAw XHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAg Ilx4NDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJceGViXHg5 M1x4YjdceDc0XHgwOVx4NjJceGM1XHhlNCIKKwkJCSAgIlx4OWRceDJhXHg5MFx4YTdceGRjXHg1 Y1x4ZWNceDc0IiwKKwkJLnBzaXplCT0gMzIsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJeworCQku a2V5CT0gIlx4ZDlceGIzXHg2MFx4MjdceDk2XHg5NFx4OTRceDFhIgorCQkJICAiXHhjNVx4ZGJc eGM2XHg5OFx4N2FceGRhXHg3M1x4NzciLAorCQkucGxhaW50ZXh0CT0gIlx4MDFceDAwXHgwMFx4 MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4 MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4NjBc eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJceDQ4XHhlYlx4NmNc eDZjXHg1YVx4MmRceGJlXHg0YSIKKwkJCSAgIlx4MWRceGRlXHg1MFx4OGZceGVlXHgwNlx4MzZc eDFiIiwKKwkJLnBzaXplCT0gMzIsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJeworCQkua2V5CT0g Ilx4ZDlceGIzXHg2MFx4MjdceDk2XHg5NFx4OTRceDFhIgorCQkJICAiXHhjNVx4ZGJceGM2XHg5 OFx4N2FceGRhXHg3M1x4NzciLAorCQkucGxhaW50ZXh0CT0gIlx4MDFceDAwXHgwMFx4MDBceDAw XHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJ CQkgICJceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgw MFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgw MFx4MDAiCisJCQkgICJceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIsCisJCS5kaWdl c3QJPSAiXHhjZVx4NmVceGRjXHg5YVx4NTBceGIzXHg2ZFx4OWEiCisJCQkgICJceDk4XHg5OFx4 NmJceGJmXHg2YVx4MjZceDFjXHgzYiIsCisJCS5wc2l6ZQk9IDQ4LAorCQkua3NpemUJPSAxNiwK Kwl9LAorCXsKKwkJLmtleQk9ICJceGQ5XHhiM1x4NjBceDI3XHg5Nlx4OTRceDk0XHgxYSIKKwkJ CSAgIlx4YzVceGRiXHhjNlx4OThceDdhXHhkYVx4NzNceDc3IiwKKwkJLnBsYWludGV4dAk9ICJc eDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgwMFx4MDBc eDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAi CisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDNceDAw XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAw XHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAg Ilx4ODBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJceDgxXHgz OFx4ODdceDQ2XHhiY1x4MjJceGQyXHg2YiIKKwkJCSAgIlx4MmFceGJjXHgzZFx4Y2JceDE1XHg3 NVx4NDJceDIyIiwKKwkJLnBzaXplCT0gNjQsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJeworCQku a2V5CT0gIlx4ZDlceGIzXHg2MFx4MjdceDk2XHg5NFx4OTRceDFhIgorCQkJICAiXHhjNVx4ZGJc eGM2XHg5OFx4N2FceGRhXHg3M1x4NzciLAorCQkucGxhaW50ZXh0CT0gIlx4MDFceDAwXHgwMFx4 MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4 MDAiCisJCQkgICJceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBc eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwM1x4MDBceDAwXHgwMFx4MDBc eDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJ CSAgIlx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAw XHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAw XHgwMCIKKwkJCSAgIlx4MDBceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2Vz dAk9ICJceDFlXHgzOVx4YjZceGQzXHgzNFx4NGRceDM0XHg4ZiIKKwkJCSAgIlx4NjBceDQ0XHhm OFx4OTlceDM1XHhkMVx4Y2ZceDc4IiwKKwkJLnBzaXplCT0gODAsCisJCS5rc2l6ZQk9IDE2LAor CX0sCisJeworCQkua2V5CT0gIlx4ZDlceGIzXHg2MFx4MjdceDk2XHg5NFx4OTRceDFhIgorCQkJ ICAiXHhjNVx4ZGJceGM2XHg5OFx4N2FceGRhXHg3M1x4NzciLAorCQkucGxhaW50ZXh0CT0gIlx4 MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIK KwkJCSAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwM1x4MDBc eDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBc eDAwXHgwMCIKKwkJCSAgIlx4MDhceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAi XHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiLAorCQkuZGlnZXN0CT0gIlx4MmNceGU3 XHhkYVx4YWZceDdjXHg4OVx4NDlceDA4IgorCQkJICAiXHgyMlx4MDVceDEyXHg1NVx4YjFceDJl XHhjYVx4NmIiLAorCQkucHNpemUJPSA2NCwKKwkJLmtzaXplCT0gMTYsCisJfSwKKwl7CisJCS5r ZXkJPSAiXHhkOVx4YjNceDYwXHgyN1x4OTZceDk0XHg5NFx4MWEiCisJCQkgICJceGM1XHhkYlx4 YzZceDk4XHg3YVx4ZGFceDczXHg3NyIsCisJCS5wbGFpbnRleHQJPSAiXHgwMVx4MDBceDAwXHgw MFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgw MCIKKwkJCSAgIlx4MDJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4 MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAzXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJ ICAiXHgwNFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBc eDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDhceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBc eDAwIgorCQkJICAiXHg4MFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiLAorCQkuZGlnZXN0 CT0gIlx4OWNceGE5XHg4N1x4NzFceDVkXHg2OVx4YzFceDc4IgorCQkJICAiXHg2N1x4MTFceGRm XHhjZFx4MjJceGY4XHgzMFx4ZmMiLAorCQkucHNpemUJPSA4MCwKKwkJLmtzaXplCT0gMTYsCisJ fSwKKwl7CisJCS5rZXkJPSAiXHhkOVx4YjNceDYwXHgyN1x4OTZceDk0XHg5NFx4MWEiCisJCQkg ICJceGM1XHhkYlx4YzZceDk4XHg3YVx4ZGFceDczXHg3NyIsCisJCS5wbGFpbnRleHQJPSAiXHgw MVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAwXHgw MFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgor CQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAzXHgwMFx4 MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIgorCQkJICAiXHgwNFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJc eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDVceDAwXHgwMFx4MDBc eDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAi CisJCQkgICJceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAy XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJceGZmXHhjZFx4MDVceGQ1 XHg3N1x4MGZceDM0XHhhZCIKKwkJCSAgIlx4OTJceDY3XHhmMFx4YTVceDk5XHg5NFx4YjFceDVh IiwKKwkJLnBzaXplCT0gOTYsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJeworCQkua2V5CT0gIlx4 MDNceDZlXHhlMVx4ZmVceDJkXHg3OVx4MjZceGFmIgorCQkJICAiXHg2OFx4ODlceDgwXHg5NVx4 ZTVceDRlXHg3Ylx4M2MiLAorCQkucGxhaW50ZXh0CT0gIlx4MDBceDAwXHgwMFx4MDBceDAwXHgw MFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiLAorCQku ZGlnZXN0CT0gIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4 MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiLAorCQkucHNpemUJPSAxNiwKKwkJLmtzaXplCT0g MTYsCisJfSwKKwl7CisJCS5rZXkJPSAiXHgzN1x4MjRceGY1XHg1Zlx4MWRceDIyXHhhY1x4MGEi CisJCQkgICJceGI4XHgzMFx4ZGFceDBiXHg2YVx4OTlceDVkXHg3NCIsCisJCS5wbGFpbnRleHQJ PSAiXHg3NVx4NzZceGY3XHgwMlx4OGVceGM2XHhlYlx4NWUiCisJCQkgICJceGE3XHhlMlx4OThc eDM0XHgyYVx4OTRceGQ0XHhiMiIKKwkJCSAgIlx4MDJceGIzXHg3MFx4ZWZceDk3XHg2OFx4ZWNc eDY1IgorCQkJICAiXHg2MVx4YzRceGZlXHg2Ylx4N2VceDcyXHg5Nlx4ZmEiCisJCQkgICJceDg1 XHg5Y1x4MjFceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4MDBceDAwXHgwMFx4MDBceDAw XHgwMFx4MDBceDAwIgorCQkJICAiXHhlNFx4MmFceDNjXHgwMlx4YzJceDViXHg2NFx4ODYiCisJ CQkgICJceDllXHgxNFx4NmRceDdiXHgyM1x4MzlceDg3XHhiZCIKKwkJCSAgIlx4ZGZceGMyXHg0 MFx4ODdceDFkXHgwMFx4MDBceDAwIgorCQkJICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgw MFx4MDAiCisJCQkgICJceDE4XHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKwkJCSAgIlx4 YThceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIiwKKwkJLmRpZ2VzdAk9ICJceDRjXHhiYlx4 YTBceDkwXHhmMFx4M2ZceDdkXHgxMSIKKwkJCSAgIlx4ODhceGVhXHg1NVx4NzRceDlmXHhhNlx4 YzdceGJkIiwKKwkJLnBzaXplCT0gOTYsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJeworCQkua2V5 CT0gIlx4OTBceGNjXHhhY1x4ZWVceGJhXHhkN1x4ZDRceDY4IgorCQkJICAiXHg5OFx4YTZceDc5 XHg3MFx4ZGZceDY2XHgxNVx4NmMiLAorCQkucGxhaW50ZXh0CT0gIiIsCisJCS5kaWdlc3QJPSAi XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgwMFx4MDBceDAw XHgwMFx4MDBceDAwXHgwMCIsCisJCS5wc2l6ZQk9IDAsCisJCS5rc2l6ZQk9IDE2LAorCX0sCisJ eworCQkua2V5CT0gIlx4ODlceGM5XHg0Ylx4ZGVceDQwXHhhNlx4ZjlceDYyIgorCQkJICAiXHg1 OFx4MDRceDUxXHgyNlx4YjRceGIxXHgxNFx4ZTQiLAorCQkucGxhaW50ZXh0CT0gIiIsCisJCS5k aWdlc3QJPSAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisJCQkgICJceDAwXHgw MFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIsCisJCS5wc2l6ZQk9IDAsCisJCS5rc2l6ZQk9IDE2 LAorCX0sCisJeworCQkua2V5CT0gIlx4MzdceGJlXHg2OFx4MTZceDUwXHhiOVx4NGVceGIwIgor CQkJICAiXHg0N1x4ZGVceGUyXHhiZFx4ZGVceGU0XHg0OFx4MDkiLAorCQkucGxhaW50ZXh0CT0g Ilx4ODdceGZjXHg2OFx4OWZceGZmXHhmMlx4NGFceDFlIgorCQkJICAiXHg4Mlx4M2JceDczXHg4 Zlx4YzFceGIyXHgxYlx4N2EiCisJCQkgICJceDZjXHg0Zlx4ODFceGJjXHg4OFx4OWJceDZjXHhh MyIKKwkJCSAgIlx4OWNceGMyXHhhNVx4YmNceDE0XHg3MFx4NGNceDliIgorCQkJICAiXHgwY1x4 OWZceDU5XHg5Mlx4MTZceDRiXHg5MVx4M2QiCisJCQkgICJceDE4XHg1NVx4MjJceDY4XHgxMlx4 OGNceDYzXHhiMiIKKwkJCSAgIlx4NTFceGNiXHg4NVx4NGJceGQyXHhhZVx4MGJceDFjIgorCQkJ ICAiXHg1ZFx4MjhceDlkXHgxZFx4YjFceGM4XHhmMFx4NzciCisJCQkgICJceGU5XHhiNVx4MDdc eDRlXHgwNlx4YzhceGVlXHhmOCIKKwkJCSAgIlx4MWJceGVkXHg3Mlx4MmFceDU1XHg3ZFx4MTZc eGM5IgorCQkJICAiXHhmMlx4NTRceGU3XHhlOVx4ZTBceDQ0XHg1Ylx4MzMiCisJCQkgICJceGIx XHg0OVx4ZWVceGZmXHg0M1x4ZmJceDgyXHhjZCIKKwkJCSAgIlx4NGFceDcwXHg3OFx4ODFceGE0 XHgzNFx4MzZceGU4IgorCQkJICAiXHg0Y1x4MjhceDU0XHhhNlx4NmNceGMzXHg2Ylx4NzgiCisJ CQkgICJceGU3XHhjMFx4NWRceGM2XHg1ZFx4ODFceGFiXHg3MCIKKwkJCSAgIlx4MDhceDg2XHhh MVx4ZmRceGY0XHg3N1x4NTVceGZkIgorCQkJICAiXHhhM1x4ZTlceGUyXHgxYlx4ZGZceDk5XHhi N1x4ODAiCisJCQkgICJceGY5XHgwYVx4NGZceDcyXHg0YVx4ZDNceGFmXHhiYiIKKwkJCSAgIlx4 YjNceDNiXHhlYlx4MDhceDU4XHgwZlx4NzlceGNlIgorCQkJICAiXHhhNVx4OTlceDA1XHgxMlx4 MzRceGQ0XHhmNFx4ODYiCisJCQkgICJceDM3XHgyM1x4MWRceGM4XHg0OVx4YzBceDkyXHhhZSIK KwkJCSAgIlx4YTZceGFjXHg5Ylx4MzFceDU1XHhlZFx4MTVceGM2IgorCQkJICAiXHgwNVx4MTdc eDM3XHg4ZFx4OTBceDQyXHhlNFx4ODciCisJCQkgICJceDg5XHg2Mlx4ODhceDY5XHgxY1x4NmFc eGZkXHhlMyIKKwkJCSAgIlx4MDBceDJiXHg0N1x4MWFceDczXHhjMVx4NTFceGMyIgorCQkJICAi XHhjMFx4NjJceDc0XHg2YVx4OWVceGIyXHhlNVx4MjEiCisJCQkgICJceGJlXHg5MFx4YjVceGIw XHg1MFx4Y2FceDg4XHg2OCIKKwkJCSAgIlx4ZTFceDlkXHg3YVx4ZGZceDZjXHhiN1x4YjlceDk4 IgorCQkJICAiXHhlZVx4MjhceDYyXHg2MVx4OGJceGQxXHg0N1x4ZjkiCisJCQkgICJceDA0XHg3 YVx4MGJceDVkXHhjZFx4MmJceDY1XHhmNSIKKwkJCSAgIlx4MTJceGEzXHhmZVx4MWFceGFhXHgy Y1x4NzhceDQyIgorCQkJICAiXHhiOFx4YmVceDdkXHg3NFx4ZWJceDU5XHhiYVx4YmEiLAorCQku ZGlnZXN0CT0gIlx4YWVceDExXHhkNFx4NjBceDJhXHg1Zlx4OWVceDQyIgorCQkJICAiXHg4OVx4 MDRceGMyXHgzNFx4OGRceDU1XHg5NFx4MGEiLAorCQkucHNpemUJPSAyNTYsCisJCS5rc2l6ZQk9 IDE2LAorCX0sCisJeworCQkua2V5CT0gIlx4YzhceDUzXHhkZVx4YWFceGIxXHg0Ylx4NmJceGQ1 IgorCQkJICAiXHg4OFx4ZDZceDRjXHhlOVx4YmFceDM1XHgzZFx4NWEiLAorCQkucGxhaW50ZXh0 CT0gIlx4YzFceGViXHhiYVx4OGRceGI3XHgyMFx4MDlceGUwIgorCQkJICAiXHgyOFx4NGZceDI5 XHhmM1x4ZDhceDI2XHg1MFx4NDAiCisJCQkgICJceGQ5XHgwNlx4YThceGE4XHhjMFx4YmVceGYw XHhmYiIKKwkJCSAgIlx4NzVceDdjXHgwMlx4ODZceDE2XHg4M1x4OWRceDY1IgorCQkJICAiXHg4 Zlx4NWVceGM0XHg1OFx4ZWRceDZhXHhiM1x4MTAiCisJCQkgICJceGQyXHhmN1x4MjNceGMyXHg0 YVx4YjBceDAwXHg2YSIKKwkJCSAgIlx4MDFceDdjXHhmN1x4ZjdceDY5XHg0Mlx4YjJceDEyIgor CQkJICAiXHhiMFx4ZWJceDY1XHgwN1x4ZDdceDhlXHgyZFx4MjciCisJCQkgICJceDY3XHhhMlx4 NTdceGYwXHg0OVx4MGZceDNmXHgwZSIKKwkJCSAgIlx4YzlceGY3XHgxYlx4ZTBceDViXHhkZFx4 ODdceGZiIgorCQkJICAiXHg4OVx4ZDFceGZhXHhiMVx4NDZceGFmXHhhMlx4OTMiCisJCQkgICJc eDAxXHg2NVx4YjZceDZmXHhiZVx4MjlceDdkXHg5ZiIKKwkJCSAgIlx4ZmFceGY1XHg1OFx4YzZc eGI1XHg5Mlx4NTVceDI1IgorCQkJICAiXHg0Y1x4YjVceDBjXHhjMlx4NjFceDlmXHhjNFx4YjEi CisJCQkgICJceDdmXHhlM1x4NjFceDE4XHgzZlx4OGNceGIyXHhkNiIKKwkJCSAgIlx4ZmRceDlm XHhkOFx4ZTVceDNkXHgwM1x4MDVceGEyIgorCQkJICAiXHg1ZFx4MWFceGE4XHhmMFx4MDRceDQx XHhlYVx4YTYiCisJCQkgICJceDA3XHg2N1x4ODZceDAwXHhlOFx4ODZceGZjXHhiMSIKKwkJCSAg Ilx4YzNceDE1XHgzZVx4YzhceDg0XHgyZVx4NWVceDVmIgorCQkJICAiXHg3Ylx4NzVceDZhXHhj NFx4NDhceGI0XHhlZVx4NWYiCisJCQkgICJceGU5XHg3Nlx4ZGZceGU2XHgxYVx4ZDRceDE1XHg5 MiIKKwkJCSAgIlx4MjNceDAzXHgwNlx4YzFceDJkXHgwZlx4OTRceGNiIgorCQkJICAiXHhlNlx4 NWVceDE4XHhhNlx4M2JceDM4XHgxZlx4YzIiCisJCQkgICJceDI4XHg3M1x4OGFceGJkXHgzYVx4 NmZceGIwXHg5NSIKKwkJCSAgIlx4MGZceDFjXHhjN1x4ZGZceDEwXHgwYlx4MmFceDdkIgorCQkJ ICAiXHhmOVx4NmJceGUxXHg0YVx4ZmJceGUxXHgwN1x4YzkiCisJCQkgICJceDY5XHg3Ylx4Mjdc eDY1XHhjMFx4MDhceDQ5XHhjMCIKKwkJCSAgIlx4ZjNceDBiXHg1Ylx4YTZceDhiXHhmN1x4MWFc eGZlIgorCQkJICAiXHhlM1x4OWZceDg3XHgxZFx4NjhceDA3XHhmNFx4NTMiCisJCQkgICJceDhk XHg1NFx4ZTlceDNmXHhkNVx4MDJceDNhXHgwOSIKKwkJCSAgIlx4NzJceGE5XHg4NFx4ZGNceDI1 XHhkM1x4YWRceGRiIgorCQkJICAiXHg0ZVx4NDVceDRmXHg3Zlx4ZThceDAyXHg2OVx4NDUiLAor CQkuZGlnZXN0CT0gIlx4N2JceDRmXHgyOVx4YjNceDBiXHg0ZFx4MmJceGEzIgorCQkJICAiXHg0 MFx4YzhceDU2XHg1YVx4MGFceGNmXHhiZFx4OWIiLAorCQkucHNpemUJPSAyNTYsCisJCS5rc2l6 ZQk9IDE2LAorCX0sCit9OworCiAjZW5kaWYJLyogX0NSWVBUT19URVNUTUdSX0ggKi8KZGlmZiAt LWdpdCBhL2luY2x1ZGUvY3J5cHRvL3BvbHl2YWwuaCBiL2luY2x1ZGUvY3J5cHRvL3BvbHl2YWwu aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZkMGM2ZTEyNGI2NQot LS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY3J5cHRvL3BvbHl2YWwuaApAQCAtMCwwICsxLDIy IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLworLyoKKyAqIENvbW1v biB2YWx1ZXMgZm9yIHRoZSBQb2x5dmFsIGhhc2ggYWxnb3JpdGhtCisgKgorICogQ29weXJpZ2h0 IDIwMjEgR29vZ2xlIExMQworICovCisKKyNpZm5kZWYgX0NSWVBUT19QT0xZVkFMX0gKKyNkZWZp bmUgX0NSWVBUT19QT0xZVkFMX0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVk ZSA8bGludXgvY3J5cHRvLmg+CisKKyNkZWZpbmUgUE9MWVZBTF9CTE9DS19TSVpFCTE2CisjZGVm aW5lIFBPTFlWQUxfRElHRVNUX1NJWkUJMTYKKworc3RydWN0IHBvbHl2YWxfZGVzY19jdHggewor CXU4IGJ1ZmZlcltQT0xZVkFMX0JMT0NLX1NJWkVdOworCXUzMiBieXRlczsKK307CisKKyNlbmRp ZgotLSAKMi4zNS4xLjI2NS5nNjljOGQ3MTQyZi1nb29nCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=