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 095B8C433F5 for ; Wed, 4 May 2022 00:20:41 +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=WwzN3RQ6JqfNeTylr5OjVGYXzXdyuNIhdPGS6vqV28o=; b=xK2uOxL1UMMI4fq3AkcpCcJiYN Z8+KZ6lmquzfni1kDQmIZSAywPdBXHQOgN+vfDseUlRgarjN0M6nrL2VDxrwWBz4V/IX4PaIk193Y NFsm6Z4+9dHK5Wnx/T7DsbUccvRsekFwp25FJSwQSsBrDYK2VhZTjISjfQYgy4M7ftuLgMc48E2SH n92yvcHUt/CPO5effMpSqfda7gezqP+Tu2/6ESgV2p6+yQh9OfSPDvXX9zo4J64Zdrl1YrtyWtaQL jSXxrPSW/hX1h2bI7gFqoh1JhkIqcIMbGdWY5NJ38hYhfQfX6fus2k+Nk9YcWtiPPH3qhr/U7P9TL m0ClTq+Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nm2jb-0089a1-MT; Wed, 04 May 2022 00:19:15 +0000 Received: from mail-yb1-xb49.google.com ([2607:f8b0:4864:20::b49]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nm2j7-0089OE-Et for linux-arm-kernel@lists.infradead.org; Wed, 04 May 2022 00:18:51 +0000 Received: by mail-yb1-xb49.google.com with SMTP id w133-20020a25c78b000000b0064847b10a22so16929112ybe.18 for ; Tue, 03 May 2022 17:18:44 -0700 (PDT) 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=3ystt2sBKsPANJIeRlt5KsQj0jKBfsi5eq5UWIBZAUE=; b=h4oP+MzhDFBME5weR8X5Y1WwKDZDW0hqhD+fD2GD63KNq2qZ/MxGXuI5315eARGDCW RkFROGzBygdq0moCSfxvsxdM1TSG4cG37Bn1bJXSuvUBbOqzYAvEz382nFHwbK0lcEx8 rzeyzptDv7RFwQpu5+14yOPZd03Sgb9BikM5ex6LFvJMACw0LyyHJL/VpG1gw4dmPqFn fnr815jSVTYHG641dvqX2MSx8LNpG2/F98aZoQE2qFb3KJZvJ0YCY3cAkfheASb7qZ0G jW0Nq52RGNXEGTeLEOogARTzNtVmI6cJF3Dr+0Cwm2BtIY2GRePmUiZxNDxC2U0IZoKh Z5PA== 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=3ystt2sBKsPANJIeRlt5KsQj0jKBfsi5eq5UWIBZAUE=; b=whDzb4NkgRdaNfyTTJNfQWd9CQvMCOoXc1PJhKHMm5lRQ4DAq4xyqAFIFToJkoDR6/ T9aGxxZ75OD2lZNUxuFKueBL1tK3AOMDl0LDW5skCqBqFM8lsdOBACvhvZ7sBNdr2lRq A/hgPTVes68H7X8ZC/um8SdzikayXhSM+X1lJtM83vwSYyXA+HSnMY+aDhvlrQfcCw9l dhJZbVvRn4VPOeowHU0Dw0KL83/Y3fIuxgiEq3R4czaIbyoCdHvYgklY3JCc2nI9XxUW pJ70nfQdMUGBBbqmuXZYqnN0DXKvesyw7sHUVQ0nW6Z61NhB3h9ZqWwuPEDe7qbN/vXA 874A== X-Gm-Message-State: AOAM531SeEvQdvoJWcQKnyfVc/iO8T79FITmemqjZZ82xeUiuwaYImkh 8xEjng3Kt4Dfvp94cAxy9r1zimZBZg== X-Google-Smtp-Source: ABdhPJzzt0oWK+oOzYapTrfkx0Rysra+IMiORo5BmIHzqEFzviQ+r9SQoKFR9mmwMvMGeZKNoUaXm4mnEg== X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a25:d90c:0:b0:648:dbec:5391 with SMTP id q12-20020a25d90c000000b00648dbec5391mr17143606ybg.309.1651623524254; Tue, 03 May 2022 17:18:44 -0700 (PDT) Date: Wed, 4 May 2022 00:18:17 +0000 In-Reply-To: <20220504001823.2483834-1-nhuck@google.com> Message-Id: <20220504001823.2483834-4-nhuck@google.com> Mime-Version: 1.0 References: <20220504001823.2483834-1-nhuck@google.com> X-Mailer: git-send-email 2.36.0.464.gb9c8b46e94-goog Subject: [PATCH v6 3/9] crypto: hctr2 - Add HCTR2 support From: Nathan Huckleberry To: linux-crypto@vger.kernel.org Cc: linux-fscrypt@vger.kernel.org, Herbert Xu , "David S. Miller" , linux-arm-kernel@lists.infradead.org, Paul Crowley , Eric Biggers , Sami Tolvanen , Ard Biesheuvel , Nathan Huckleberry , Eric Biggers X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220503_171845_565931_F2B2A5D3 X-CRM114-Status: GOOD ( 30.11 ) 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 QWRkIHN1cHBvcnQgZm9yIEhDVFIyIGFzIGEgdGVtcGxhdGUuICBIQ1RSMiBpcyBhIGxlbmd0aC1w cmVzZXJ2aW5nCmVuY3J5cHRpb24gbW9kZSB0aGF0IGlzIGVmZmljaWVudCBvbiBwcm9jZXNzb3Jz IHdpdGggaW5zdHJ1Y3Rpb25zIHRvCmFjY2VsZXJhdGUgQUVTIGFuZCBjYXJyeWxlc3MgbXVsdGlw bGljYXRpb24sIGUuZy4geDg2IHByb2Nlc3NvcnMgd2l0aApBRVMtTkkgYW5kIENMTVVMLCBhbmQg QVJNIHByb2Nlc3NvcnMgd2l0aCB0aGUgQVJNdjggQ3J5cHRvIEV4dGVuc2lvbnMuCgpBcyBhIGxl bmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24gbW9kZSwgSENUUjIgaXMgc3VpdGFibGUgZm9yCmFw cGxpY2F0aW9ucyBzdWNoIGFzIHN0b3JhZ2UgZW5jcnlwdGlvbiB3aGVyZSBjaXBoZXJ0ZXh0IGV4 cGFuc2lvbiBpcwpub3QgcG9zc2libGUsIGFuZCB0aHVzIGF1dGhlbnRpY2F0ZWQgZW5jcnlwdGlv biBjYW5ub3QgYmUgdXNlZC4KQ3VycmVudGx5LCBzdWNoIGFwcGxpY2F0aW9ucyB1c3VhbGx5IHVz ZSBYVFMsIG9yIGluIHNvbWUgY2FzZXMgQWRpYW50dW0uClhUUyBoYXMgdGhlIGRpc2FkdmFudGFn ZSB0aGF0IGl0IGlzIGEgbmFycm93LWJsb2NrIG1vZGU6IGEgYml0ZmxpcCB3aWxsCm9ubHkgY2hh bmdlIDE2IGJ5dGVzIGluIHRoZSByZXN1bHRpbmcgY2lwaGVydGV4dCBvciBwbGFpbnRleHQuICBU aGlzCnJldmVhbHMgbW9yZSBpbmZvcm1hdGlvbiB0byBhbiBhdHRhY2tlciB0aGFuIG5lY2Vzc2Fy eS4KCkhDVFIyIGlzIGEgd2lkZS1ibG9jayBtb2RlLCBzbyBpdCBwcm92aWRlcyBhIHN0cm9uZ2Vy IHNlY3VyaXR5IHByb3BlcnR5OgphIGJpdGZsaXAgd2lsbCBjaGFuZ2UgdGhlIGVudGlyZSBtZXNz YWdlLiAgSENUUjIgaXMgc29tZXdoYXQgc2ltaWxhciB0bwpBZGlhbnR1bSwgd2hpY2ggaXMgYWxz byBhIHdpZGUtYmxvY2sgbW9kZS4gIEhvd2V2ZXIsIEhDVFIyIGlzIGRlc2lnbmVkCnRvIHRha2Ug YWR2YW50YWdlIG9mIGV4aXN0aW5nIGNyeXB0byBpbnN0cnVjdGlvbnMsIHdoaWxlIEFkaWFudHVt CnRhcmdldHMgZGV2aWNlcyB3aXRob3V0IHN1Y2ggaGFyZHdhcmUgc3VwcG9ydC4gIEFkaWFudHVt IGlzIGFsc28KZGVzaWduZWQgd2l0aCBsb25nZXIgbWVzc2FnZXMgaW4gbWluZCwgd2hpbGUgSENU UjIgaXMgZGVzaWduZWQgdG8gYmUKZWZmaWNpZW50IGV2ZW4gb24gc2hvcnQgbWVzc2FnZXMuCgpI Q1RSMiByZXF1aXJlcyBQT0xZVkFMIGFuZCBYQ1RSIGFzIGNvbXBvbmVudHMuICBNb3JlIGluZm9y bWF0aW9uIG9uCkhDVFIyIGNhbiBiZSBmb3VuZCBoZXJlOiAiTGVuZ3RoLXByZXNlcnZpbmcgZW5j cnlwdGlvbiB3aXRoIEhDVFIyIjoKaHR0cHM6Ly9lcHJpbnQuaWFjci5vcmcvMjAyMS8xNDQxLnBk ZgoKU2lnbmVkLW9mZi1ieTogTmF0aGFuIEh1Y2tsZWJlcnJ5IDxuaHVja0Bnb29nbGUuY29tPgpS ZXZpZXdlZC1ieTogQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4KUmV2aWV3ZWQtYnk6 IEVyaWMgQmlnZ2VycyA8ZWJpZ2dlcnNAZ29vZ2xlLmNvbT4KLS0tCiBjcnlwdG8vS2NvbmZpZyAg IHwgIDExICsKIGNyeXB0by9NYWtlZmlsZSAgfCAgIDEgKwogY3J5cHRvL2hjdHIyLmMgICB8IDU4 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBjcnlwdG8vdGNyeXB0 LmMgIHwgICA1ICsKIGNyeXB0by90ZXN0bWdyLmMgfCAgIDggKwogY3J5cHRvL3Rlc3RtZ3IuaCB8 IDY3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNiBm aWxlcyBjaGFuZ2VkLCAxMjc4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjcnlw dG8vaGN0cjIuYwoKZGlmZiAtLWdpdCBhL2NyeXB0by9LY29uZmlnIGIvY3J5cHRvL0tjb25maWcK aW5kZXggMDAxMzk4NDVkNzZkLi4wZGVkYmE3NGRiNGEgMTAwNjQ0Ci0tLSBhL2NyeXB0by9LY29u ZmlnCisrKyBiL2NyeXB0by9LY29uZmlnCkBAIC01MzIsNiArNTMyLDE3IEBAIGNvbmZpZyBDUllQ VE9fQURJQU5UVU0KIAogCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAorY29uZmlnIENSWVBUT19IQ1RS MgorCXRyaXN0YXRlICJIQ1RSMiBzdXBwb3J0IgorCXNlbGVjdCBDUllQVE9fWENUUgorCXNlbGVj dCBDUllQVE9fUE9MWVZBTAorCXNlbGVjdCBDUllQVE9fTUFOQUdFUgorCWhlbHAKKwkgIEhDVFIy IGlzIGEgbGVuZ3RoLXByZXNlcnZpbmcgZW5jcnlwdGlvbiBtb2RlIGZvciBzdG9yYWdlIGVuY3J5 cHRpb24gdGhhdAorCSAgaXMgZWZmaWNpZW50IG9uIHByb2Nlc3NvcnMgd2l0aCBpbnN0cnVjdGlv bnMgdG8gYWNjZWxlcmF0ZSBBRVMgYW5kCisJICBjYXJyeWxlc3MgbXVsdGlwbGljYXRpb24sIGUu Zy4geDg2IHByb2Nlc3NvcnMgd2l0aCBBRVMtTkkgYW5kIENMTVVMLCBhbmQKKwkgIEFSTSBwcm9j ZXNzb3JzIHdpdGggdGhlIEFSTXY4IGNyeXB0byBleHRlbnNpb25zLgorCiBjb25maWcgQ1JZUFRP X0VTU0lWCiAJdHJpc3RhdGUgIkVTU0lWIHN1cHBvcnQgZm9yIGJsb2NrIGVuY3J5cHRpb24iCiAJ c2VsZWN0IENSWVBUT19BVVRIRU5DCmRpZmYgLS1naXQgYS9jcnlwdG8vTWFrZWZpbGUgYi9jcnlw dG8vTWFrZWZpbGUKaW5kZXggNTYxZjkwMWE5MWQ0Li4yZGNhOWRiZGVkZTYgMTAwNjQ0Ci0tLSBh L2NyeXB0by9NYWtlZmlsZQorKysgYi9jcnlwdG8vTWFrZWZpbGUKQEAgLTk0LDYgKzk0LDcgQEAg b2JqLSQoQ09ORklHX0NSWVBUT19MUlcpICs9IGxydy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX1hU UykgKz0geHRzLm8KIG9iai0kKENPTkZJR19DUllQVE9fQ1RSKSArPSBjdHIubwogb2JqLSQoQ09O RklHX0NSWVBUT19YQ1RSKSArPSB4Y3RyLm8KK29iai0kKENPTkZJR19DUllQVE9fSENUUjIpICs9 IGhjdHIyLm8KIG9iai0kKENPTkZJR19DUllQVE9fS0VZV1JBUCkgKz0ga2V5d3JhcC5vCiBvYmot JChDT05GSUdfQ1JZUFRPX0FESUFOVFVNKSArPSBhZGlhbnR1bS5vCiBvYmotJChDT05GSUdfQ1JZ UFRPX05IUE9MWTEzMDUpICs9IG5ocG9seTEzMDUubwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2hjdHIy LmMgYi9jcnlwdG8vaGN0cjIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjdkMDBhM2JjYjY2NwotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9oY3RyMi5jCkBAIC0w LDAgKzEsNTgxIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAq IEhDVFIyIGxlbmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24gbW9kZQorICoKKyAqIENvcHlyaWdo dCAyMDIxIEdvb2dsZSBMTEMKKyAqLworCisKKy8qCisgKiBIQ1RSMiBpcyBhIGxlbmd0aC1wcmVz ZXJ2aW5nIGVuY3J5cHRpb24gbW9kZSB0aGF0IGlzIGVmZmljaWVudCBvbgorICogcHJvY2Vzc29y cyB3aXRoIGluc3RydWN0aW9ucyB0byBhY2NlbGVyYXRlIEFFUyBhbmQgY2FycnlsZXNzCisgKiBt dWx0aXBsaWNhdGlvbiwgZS5nLiB4ODYgcHJvY2Vzc29ycyB3aXRoIEFFUy1OSSBhbmQgQ0xNVUws IGFuZCBBUk0KKyAqIHByb2Nlc3NvcnMgd2l0aCB0aGUgQVJNdjggY3J5cHRvIGV4dGVuc2lvbnMu CisgKgorICogRm9yIG1vcmUgZGV0YWlscywgc2VlIHRoZSBwYXBlcjogIkxlbmd0aC1wcmVzZXJ2 aW5nIGVuY3J5cHRpb24gd2l0aCBIQ1RSMiIKKyAqIChodHRwczovL2VwcmludC5pYWNyLm9yZy8y MDIxLzE0NDEucGRmKQorICovCisKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvY2lwaGVyLmg+ CisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KKyNpbmNsdWRlIDxjcnlwdG8vaW50 ZXJuYWwvc2tjaXBoZXIuaD4KKyNpbmNsdWRlIDxjcnlwdG8vcG9seXZhbC5oPgorI2luY2x1ZGUg PGNyeXB0by9zY2F0dGVyd2Fsay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorCisjZGVm aW5lIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUJCTE2CisKKy8qCisgKiBUaGUgc3BlY2lmaWNhdGlv biBhbGxvd3MgdmFyaWFibGUtbGVuZ3RoIHR3ZWFrcywgYnV0IExpbnV4J3MgY3J5cHRvIEFQSQor ICogY3VycmVudGx5IG9ubHkgYWxsb3dzIGFsZ29yaXRobXMgdG8gc3VwcG9ydCBhIHNpbmdsZSBs ZW5ndGguICBUaGUgIm5hdHVyYWwiCisgKiB0d2VhayBsZW5ndGggZm9yIEhDVFIyIGlzIDE2LCBz aW5jZSB0aGF0IGZpdHMgaW50byBvbmUgUE9MWVZBTCBibG9jayBmb3IKKyAqIHRoZSBiZXN0IHBl cmZvcm1hbmNlLiAgQnV0IGxvbmdlciB0d2Vha3MgYXJlIHVzZWZ1bCBmb3IgZnNjcnlwdCwgdG8g YXZvaWQKKyAqIG5lZWRpbmcgdG8gZGVyaXZlIHBlci1maWxlIGtleXMuICBTbyBpbnN0ZWFkIHdl IHVzZSB0d28gYmxvY2tzLCBvciAzMiBieXRlcy4KKyAqLworI2RlZmluZSBUV0VBS19TSVpFCQkz MgorCitzdHJ1Y3QgaGN0cjJfaW5zdGFuY2VfY3R4IHsKKwlzdHJ1Y3QgY3J5cHRvX2NpcGhlcl9z cGF3biBibG9ja2NpcGhlcl9zcGF3bjsKKwlzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVyX3NwYXduIHhj dHJfc3Bhd247CisJc3RydWN0IGNyeXB0b19zaGFzaF9zcGF3biBwb2x5dmFsX3NwYXduOworfTsK Kworc3RydWN0IGhjdHIyX3RmbV9jdHggeworCXN0cnVjdCBjcnlwdG9fY2lwaGVyICpibG9ja2Np cGhlcjsKKwlzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVyICp4Y3RyOworCXN0cnVjdCBjcnlwdG9fc2hh c2ggKnBvbHl2YWw7CisJdTggTFtCTE9DS0NJUEhFUl9CTE9DS19TSVpFXTsKKwlpbnQgaGFzaGVk X3R3ZWFrX29mZnNldDsKKwkvKgorCSAqIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRlZCB3aXRoIGV4 dHJhIHNwYWNlIGZvciB0d28gZXhwb3J0ZWQgaGFzaAorCSAqIHN0YXRlcy4gIFNpbmNlIHRoZSBo YXNoIHN0YXRlIHNpemUgaXMgbm90IGtub3duIGF0IGNvbXBpbGUtdGltZSwgd2UKKwkgKiBjYW4n dCBhZGQgdGhlc2UgdG8gdGhlIHN0cnVjdCBkaXJlY3RseS4KKwkgKgorCSAqIGhhc2hlZF90d2Vh a2xlbl9kaXZpc2libGU7CisJICogaGFzaGVkX3R3ZWFrbGVuX3JlbWFpbmRlcjsKKwkgKi8KK307 CisKK3N0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCB7CisJdTggZmlyc3RfYmxvY2tbQkxPQ0tDSVBI RVJfQkxPQ0tfU0laRV07CisJdTggeGN0cl9pdltCTE9DS0NJUEhFUl9CTE9DS19TSVpFXTsKKwlz dHJ1Y3Qgc2NhdHRlcmxpc3QgKmJ1bGtfcGFydF9kc3Q7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpi dWxrX3BhcnRfc3JjOworCXN0cnVjdCBzY2F0dGVybGlzdCBzZ19zcmNbMl07CisJc3RydWN0IHNj YXR0ZXJsaXN0IHNnX2RzdFsyXTsKKwkvKgorCSAqIFN1Yi1yZXF1ZXN0IHNpemVzIGFyZSB1bmtu b3duIGF0IGNvbXBpbGUtdGltZSwgc28gdGhleSBuZWVkIHRvIGdvCisJICogYWZ0ZXIgdGhlIG1l bWJlcnMgd2l0aCBrbm93biBzaXplcy4KKwkgKi8KKwl1bmlvbiB7CisJCXN0cnVjdCBzaGFzaF9k ZXNjIGhhc2hfZGVzYzsKKwkJc3RydWN0IHNrY2lwaGVyX3JlcXVlc3QgeGN0cl9yZXE7CisJfSB1 OworCS8qCisJICogVGhpcyBzdHJ1Y3QgaXMgYWxsb2NhdGVkIHdpdGggZXh0cmEgc3BhY2UgZm9y IG9uZSBleHBvcnRlZCBoYXNoCisJICogc3RhdGUuICBTaW5jZSB0aGUgaGFzaCBzdGF0ZSBzaXpl IGlzIG5vdCBrbm93biBhdCBjb21waWxlLXRpbWUsIHdlCisJICogY2FuJ3QgYWRkIGl0IHRvIHRo ZSBzdHJ1Y3QgZGlyZWN0bHkuCisJICoKKwkgKiBoYXNoZWRfdHdlYWs7CisJICovCit9OworCitz dGF0aWMgaW5saW5lIHU4ICpoY3RyMl9oYXNoZWRfdHdlYWtsZW4oY29uc3Qgc3RydWN0IGhjdHIy X3RmbV9jdHggKnRjdHgsCisJCQkJCWJvb2wgaGFzX3JlbWFpbmRlcikKK3sKKwl1OCAqcCA9ICh1 OCAqKXRjdHggKyBzaXplb2YoKnRjdHgpOworCisJaWYgKGhhc19yZW1haW5kZXIpIC8qIEZvciBt ZXNzYWdlcyBub3QgYSBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGggKi8KKwkJcCArPSBjcnlwdG9f c2hhc2hfc3RhdGVzaXplKHRjdHgtPnBvbHl2YWwpOworCXJldHVybiBwOworfQorCitzdGF0aWMg aW5saW5lIHU4ICpoY3RyMl9oYXNoZWRfdHdlYWsoY29uc3Qgc3RydWN0IGhjdHIyX3RmbV9jdHgg KnRjdHgsCisJCQkJICAgICBzdHJ1Y3QgaGN0cjJfcmVxdWVzdF9jdHggKnJjdHgpCit7CisJcmV0 dXJuICh1OCAqKXJjdHggKyB0Y3R4LT5oYXNoZWRfdHdlYWtfb2Zmc2V0OworfQorCisvKgorICog VGhlIGlucHV0IGRhdGEgZm9yIGVhY2ggSENUUjIgaGFzaCBzdGVwIGJlZ2lucyB3aXRoIGEgMTYt Ynl0ZSBibG9jayB0aGF0CisgKiBjb250YWlucyB0aGUgdHdlYWsgbGVuZ3RoIGFuZCBhIGZsYWcg dGhhdCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgaXMgZXZlbmx5CisgKiBkaXZpc2libGUg aW50byBibG9ja3MuICBTaW5jZSB0aGlzIGltcGxlbWVudGF0aW9uIG9ubHkgc3VwcG9ydHMgb25l IHR3ZWFrCisgKiBsZW5ndGgsIHdlIHByZWNvbXB1dGUgdGhlIHR3byBoYXNoIHN0YXRlcyByZXN1 bHRpbmcgZnJvbSBoYXNoaW5nIHRoZSB0d28KKyAqIHBvc3NpYmxlIHZhbHVlcyBvZiB0aGlzIGlu aXRpYWwgYmxvY2suICBUaGlzIHJlZHVjZXMgYnkgb25lIGJsb2NrIHRoZSBhbW91bnQgb2YKKyAq IGRhdGEgdGhhdCBuZWVkcyB0byBiZSBoYXNoZWQgZm9yIGVhY2ggZW5jcnlwdGlvbi9kZWNyeXB0 aW9uCisgKgorICogVGhlc2UgcHJlY29tcHV0ZWQgaGFzaGVzIGFyZSBzdG9yZWQgaW4gaGN0cjJf dGZtX2N0eC4KKyAqLworc3RhdGljIGludCBoY3RyMl9oYXNoX3R3ZWFrbGVuKHN0cnVjdCBoY3Ry Ml90Zm1fY3R4ICp0Y3R4LCBib29sIGhhc19yZW1haW5kZXIpCit7CisJU0hBU0hfREVTQ19PTl9T VEFDSyhzaGFzaCwgdGZtLT5wb2x5dmFsKTsKKwlfX2xlNjQgdHdlYWtfbGVuZ3RoX2Jsb2NrWzJd OworCWludCBlcnI7CisKKwlzaGFzaC0+dGZtID0gdGN0eC0+cG9seXZhbDsKKwltZW1zZXQodHdl YWtfbGVuZ3RoX2Jsb2NrLCAwLCBzaXplb2YodHdlYWtfbGVuZ3RoX2Jsb2NrKSk7CisKKwl0d2Vh a19sZW5ndGhfYmxvY2tbMF0gPSBjcHVfdG9fbGU2NChUV0VBS19TSVpFICogOCAqIDIgKyAyICsg aGFzX3JlbWFpbmRlcik7CisJZXJyID0gY3J5cHRvX3NoYXNoX2luaXQoc2hhc2gpOworCWlmIChl cnIpCisJCXJldHVybiBlcnI7CisJZXJyID0gY3J5cHRvX3NoYXNoX3VwZGF0ZShzaGFzaCwgKHU4 ICopdHdlYWtfbGVuZ3RoX2Jsb2NrLAorCQkJCSAgUE9MWVZBTF9CTE9DS19TSVpFKTsKKwlpZiAo ZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiBjcnlwdG9fc2hhc2hfZXhwb3J0KHNoYXNoLCBo Y3RyMl9oYXNoZWRfdHdlYWtsZW4odGN0eCwgaGFzX3JlbWFpbmRlcikpOworfQorCitzdGF0aWMg aW50IGhjdHIyX3NldGtleShzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVyICp0Zm0sIGNvbnN0IHU4ICpr ZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBoY3RyMl90Zm1fY3R4ICp0 Y3R4ID0gY3J5cHRvX3NrY2lwaGVyX2N0eCh0Zm0pOworCXU4IGhiYXJbQkxPQ0tDSVBIRVJfQkxP Q0tfU0laRV07CisJaW50IGVycjsKKworCWNyeXB0b19jaXBoZXJfY2xlYXJfZmxhZ3ModGN0eC0+ YmxvY2tjaXBoZXIsIENSWVBUT19URk1fUkVRX01BU0spOworCWNyeXB0b19jaXBoZXJfc2V0X2Zs YWdzKHRjdHgtPmJsb2NrY2lwaGVyLAorCQkJCWNyeXB0b19za2NpcGhlcl9nZXRfZmxhZ3ModGZt KSAmCisJCQkJQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJZXJyID0gY3J5cHRvX2NpcGhlcl9zZXRr ZXkodGN0eC0+YmxvY2tjaXBoZXIsIGtleSwga2V5bGVuKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4g ZXJyOworCisJY3J5cHRvX3NrY2lwaGVyX2NsZWFyX2ZsYWdzKHRjdHgtPnhjdHIsIENSWVBUT19U Rk1fUkVRX01BU0spOworCWNyeXB0b19za2NpcGhlcl9zZXRfZmxhZ3ModGN0eC0+eGN0ciwKKwkJ CQkgIGNyeXB0b19za2NpcGhlcl9nZXRfZmxhZ3ModGZtKSAmCisJCQkJICBDUllQVE9fVEZNX1JF UV9NQVNLKTsKKwllcnIgPSBjcnlwdG9fc2tjaXBoZXJfc2V0a2V5KHRjdHgtPnhjdHIsIGtleSwg a2V5bGVuKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJbWVtc2V0KGhiYXIsIDAsIHNp emVvZihoYmFyKSk7CisJY3J5cHRvX2NpcGhlcl9lbmNyeXB0X29uZSh0Y3R4LT5ibG9ja2NpcGhl ciwgaGJhciwgaGJhcik7CisKKwltZW1zZXQodGN0eC0+TCwgMCwgc2l6ZW9mKHRjdHgtPkwpKTsK Kwl0Y3R4LT5MWzBdID0gMHgwMTsKKwljcnlwdG9fY2lwaGVyX2VuY3J5cHRfb25lKHRjdHgtPmJs b2NrY2lwaGVyLCB0Y3R4LT5MLCB0Y3R4LT5MKTsKKworCWNyeXB0b19zaGFzaF9jbGVhcl9mbGFn cyh0Y3R4LT5wb2x5dmFsLCBDUllQVE9fVEZNX1JFUV9NQVNLKTsKKwljcnlwdG9fc2hhc2hfc2V0 X2ZsYWdzKHRjdHgtPnBvbHl2YWwsIGNyeXB0b19za2NpcGhlcl9nZXRfZmxhZ3ModGZtKSAmCisJ CQkgICAgICAgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJZXJyID0gY3J5cHRvX3NoYXNoX3NldGtl eSh0Y3R4LT5wb2x5dmFsLCBoYmFyLCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFKTsKKwlpZiAoZXJy KQorCQlyZXR1cm4gZXJyOworCW1lbXplcm9fZXhwbGljaXQoaGJhciwgc2l6ZW9mKGhiYXIpKTsK KworCXJldHVybiBoY3RyMl9oYXNoX3R3ZWFrbGVuKHRjdHgsIHRydWUpID86IGhjdHIyX2hhc2hf dHdlYWtsZW4odGN0eCwgZmFsc2UpOworfQorCitzdGF0aWMgaW50IGhjdHIyX2hhc2hfdHdlYWso c3RydWN0IHNrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVy ICp0Zm0gPSBjcnlwdG9fc2tjaXBoZXJfcmVxdGZtKHJlcSk7CisJY29uc3Qgc3RydWN0IGhjdHIy X3RmbV9jdHggKnRjdHggPSBjcnlwdG9fc2tjaXBoZXJfY3R4KHRmbSk7CisJc3RydWN0IGhjdHIy X3JlcXVlc3RfY3R4ICpyY3R4ID0gc2tjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3Qg c2hhc2hfZGVzYyAqaGFzaF9kZXNjID0gJnJjdHgtPnUuaGFzaF9kZXNjOworCWludCBlcnI7CisJ Ym9vbCBoYXNfcmVtYWluZGVyID0gcmVxLT5jcnlwdGxlbiAlIFBPTFlWQUxfQkxPQ0tfU0laRTsK KworCWhhc2hfZGVzYy0+dGZtID0gdGN0eC0+cG9seXZhbDsKKwllcnIgPSBjcnlwdG9fc2hhc2hf aW1wb3J0KGhhc2hfZGVzYywgaGN0cjJfaGFzaGVkX3R3ZWFrbGVuKHRjdHgsIGhhc19yZW1haW5k ZXIpKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCWVyciA9IGNyeXB0b19zaGFzaF91cGRh dGUoaGFzaF9kZXNjLCByZXEtPml2LCBUV0VBS19TSVpFKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4g ZXJyOworCisJLy8gU3RvcmUgdGhlIGhhc2hlZCB0d2Vhaywgc2luY2Ugd2UgbmVlZCBpdCB3aGVu IGNvbXB1dGluZyBib3RoCisJLy8gSChUIHx8IE4pIGFuZCBIKFQgfHwgVikuCisJcmV0dXJuIGNy eXB0b19zaGFzaF9leHBvcnQoaGFzaF9kZXNjLCBoY3RyMl9oYXNoZWRfdHdlYWsodGN0eCwgcmN0 eCkpOworfQorCitzdGF0aWMgaW50IGhjdHIyX2hhc2hfbWVzc2FnZShzdHJ1Y3Qgc2tjaXBoZXJf cmVxdWVzdCAqcmVxLAorCQkJICAgICAgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2wsCisJCQkgICAg ICB1OCBkaWdlc3RbUE9MWVZBTF9ESUdFU1RfU0laRV0pCit7CisJc3RhdGljIGNvbnN0IHU4IHBh ZGRpbmdbQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRV0gPSB7IDB4MSB9OworCXN0cnVjdCBoY3RyMl9y ZXF1ZXN0X2N0eCAqcmN0eCA9IHNrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJc3RydWN0IHNo YXNoX2Rlc2MgKmhhc2hfZGVzYyA9ICZyY3R4LT51Lmhhc2hfZGVzYzsKKwljb25zdCB1bnNpZ25l ZCBpbnQgYnVsa19sZW4gPSByZXEtPmNyeXB0bGVuIC0gQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRTsK KwlzdHJ1Y3Qgc2dfbWFwcGluZ19pdGVyIG1pdGVyOworCXVuc2lnbmVkIGludCByZW1haW5kZXIg PSBidWxrX2xlbiAlIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkU7CisJaW50IGk7CisJaW50IGVyciA9 IDA7CisJaW50IG4gPSAwOworCisJc2dfbWl0ZXJfc3RhcnQoJm1pdGVyLCBzZ2wsIHNnX25lbnRz KHNnbCksCisJCSAgICAgICBTR19NSVRFUl9GUk9NX1NHIHwgU0dfTUlURVJfQVRPTUlDKTsKKwlm b3IgKGkgPSAwOyBpIDwgYnVsa19sZW47IGkgKz0gbikgeworCQlzZ19taXRlcl9uZXh0KCZtaXRl cik7CisJCW4gPSBtaW5fdCh1bnNpZ25lZCBpbnQsIG1pdGVyLmxlbmd0aCwgYnVsa19sZW4gLSBp KTsKKwkJZXJyID0gY3J5cHRvX3NoYXNoX3VwZGF0ZShoYXNoX2Rlc2MsIG1pdGVyLmFkZHIsIG4p OworCQlpZiAoZXJyKQorCQkJYnJlYWs7CisJfQorCXNnX21pdGVyX3N0b3AoJm1pdGVyKTsKKwor CWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlpZiAocmVtYWluZGVyKSB7CisJCWVyciA9IGNy eXB0b19zaGFzaF91cGRhdGUoaGFzaF9kZXNjLCBwYWRkaW5nLAorCQkJCQkgIEJMT0NLQ0lQSEVS X0JMT0NLX1NJWkUgLSByZW1haW5kZXIpOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKKwl9 CisJcmV0dXJuIGNyeXB0b19zaGFzaF9maW5hbChoYXNoX2Rlc2MsIGRpZ2VzdCk7Cit9CisKK3N0 YXRpYyBpbnQgaGN0cjJfZmluaXNoKHN0cnVjdCBza2NpcGhlcl9yZXF1ZXN0ICpyZXEpCit7CisJ c3RydWN0IGNyeXB0b19za2NpcGhlciAqdGZtID0gY3J5cHRvX3NrY2lwaGVyX3JlcXRmbShyZXEp OworCWNvbnN0IHN0cnVjdCBoY3RyMl90Zm1fY3R4ICp0Y3R4ID0gY3J5cHRvX3NrY2lwaGVyX2N0 eCh0Zm0pOworCXN0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCAqcmN0eCA9IHNrY2lwaGVyX3JlcXVl c3RfY3R4KHJlcSk7CisJdTggZGlnZXN0W1BPTFlWQUxfRElHRVNUX1NJWkVdOworCXN0cnVjdCBz aGFzaF9kZXNjICpoYXNoX2Rlc2MgPSAmcmN0eC0+dS5oYXNoX2Rlc2M7CisJaW50IGVycjsKKwor CS8vIFUgPSBVVSBeIEgoVCB8fCBWKQorCS8vIG9yIE0gPSBNTSBeIEgoVCB8fCBOKQorCWhhc2hf ZGVzYy0+dGZtID0gdGN0eC0+cG9seXZhbDsKKwllcnIgPSBjcnlwdG9fc2hhc2hfaW1wb3J0KGhh c2hfZGVzYywgaGN0cjJfaGFzaGVkX3R3ZWFrKHRjdHgsIHJjdHgpKTsKKwlpZiAoZXJyKQorCQly ZXR1cm4gZXJyOworCWVyciA9IGhjdHIyX2hhc2hfbWVzc2FnZShyZXEsIHJjdHgtPmJ1bGtfcGFy dF9kc3QsIGRpZ2VzdCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwljcnlwdG9feG9yKHJj dHgtPmZpcnN0X2Jsb2NrLCBkaWdlc3QsIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUpOworCisJLy8g Q29weSBVIChvciBNKSBpbnRvIGRzdCBzY2F0dGVybGlzdAorCXNjYXR0ZXJ3YWxrX21hcF9hbmRf Y29weShyY3R4LT5maXJzdF9ibG9jaywgcmVxLT5kc3QsCisJCQkJIDAsIEJMT0NLQ0lQSEVSX0JM T0NLX1NJWkUsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBoY3RyMl94Y3RyX2Rv bmUoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICphcmVxLAorCQkJCSAgICBpbnQgZXJyKQor eworCXN0cnVjdCBza2NpcGhlcl9yZXF1ZXN0ICpyZXEgPSBhcmVxLT5kYXRhOworCisJaWYgKCFl cnIpCisJCWVyciA9IGhjdHIyX2ZpbmlzaChyZXEpOworCisJc2tjaXBoZXJfcmVxdWVzdF9jb21w bGV0ZShyZXEsIGVycik7Cit9CisKK3N0YXRpYyBpbnQgaGN0cjJfY3J5cHQoc3RydWN0IHNrY2lw aGVyX3JlcXVlc3QgKnJlcSwgYm9vbCBlbmMpCit7CisJc3RydWN0IGNyeXB0b19za2NpcGhlciAq dGZtID0gY3J5cHRvX3NrY2lwaGVyX3JlcXRmbShyZXEpOworCWNvbnN0IHN0cnVjdCBoY3RyMl90 Zm1fY3R4ICp0Y3R4ID0gY3J5cHRvX3NrY2lwaGVyX2N0eCh0Zm0pOworCXN0cnVjdCBoY3RyMl9y ZXF1ZXN0X2N0eCAqcmN0eCA9IHNrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJdTggZGlnZXN0 W1BPTFlWQUxfRElHRVNUX1NJWkVdOworCWludCBidWxrX2xlbiA9IHJlcS0+Y3J5cHRsZW4gLSBC TE9DS0NJUEhFUl9CTE9DS19TSVpFOworCWludCBlcnI7CisKKwkvLyBSZXF1ZXN0cyBtdXN0IGJl IGF0IGxlYXN0IG9uZSBibG9jaworCWlmIChyZXEtPmNyeXB0bGVuIDwgQkxPQ0tDSVBIRVJfQkxP Q0tfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvLyBDb3B5IE0gKG9yIFUpIGludG8gYSB0 ZW1wb3JhcnkgYnVmZmVyCisJc2NhdHRlcndhbGtfbWFwX2FuZF9jb3B5KHJjdHgtPmZpcnN0X2Js b2NrLCByZXEtPnNyYywKKwkJCQkgMCwgQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRSwgMCk7CisKKwkv LyBDcmVhdGUgc2NhdHRlcmxpc3RzIGZvciBOIGFuZCBWCisJcmN0eC0+YnVsa19wYXJ0X3NyYyA9 IHNjYXR0ZXJ3YWxrX2Zmd2QocmN0eC0+c2dfc3JjLCByZXEtPnNyYywKKwkJCQkJICAgICAgIEJM T0NLQ0lQSEVSX0JMT0NLX1NJWkUpOworCXJjdHgtPmJ1bGtfcGFydF9kc3QgPSBzY2F0dGVyd2Fs a19mZndkKHJjdHgtPnNnX2RzdCwgcmVxLT5kc3QsCisJCQkJCSAgICAgICBCTE9DS0NJUEhFUl9C TE9DS19TSVpFKTsKKworCS8vIE1NID0gTSBeIEgoVCB8fCBOKQorCS8vIG9yIFVVID0gVSBeIEgo VCB8fCBWKQorCWVyciA9IGhjdHIyX2hhc2hfdHdlYWsocmVxKTsKKwlpZiAoZXJyKQorCQlyZXR1 cm4gZXJyOworCWVyciA9IGhjdHIyX2hhc2hfbWVzc2FnZShyZXEsIHJjdHgtPmJ1bGtfcGFydF9z cmMsIGRpZ2VzdCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwljcnlwdG9feG9yKGRpZ2Vz dCwgcmN0eC0+Zmlyc3RfYmxvY2ssIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUpOworCisJLy8gVVUg PSBFKE1NKQorCS8vIG9yIE1NID0gRChVVSkKKwlpZiAoZW5jKQorCQljcnlwdG9fY2lwaGVyX2Vu Y3J5cHRfb25lKHRjdHgtPmJsb2NrY2lwaGVyLCByY3R4LT5maXJzdF9ibG9jaywKKwkJCQkJICBk aWdlc3QpOworCWVsc2UKKwkJY3J5cHRvX2NpcGhlcl9kZWNyeXB0X29uZSh0Y3R4LT5ibG9ja2Np cGhlciwgcmN0eC0+Zmlyc3RfYmxvY2ssCisJCQkJCSAgZGlnZXN0KTsKKworCS8vIFMgPSBNTSBe IFVVIF4gTAorCWNyeXB0b194b3IoZGlnZXN0LCByY3R4LT5maXJzdF9ibG9jaywgQkxPQ0tDSVBI RVJfQkxPQ0tfU0laRSk7CisJY3J5cHRvX3hvcl9jcHkocmN0eC0+eGN0cl9pdiwgZGlnZXN0LCB0 Y3R4LT5MLCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFKTsKKworCS8vIFYgPSBYQ1RSKFMsIE4pCisJ Ly8gb3IgTiA9IFhDVFIoUywgVikKKwlza2NpcGhlcl9yZXF1ZXN0X3NldF90Zm0oJnJjdHgtPnUu eGN0cl9yZXEsIHRjdHgtPnhjdHIpOworCXNrY2lwaGVyX3JlcXVlc3Rfc2V0X2NyeXB0KCZyY3R4 LT51LnhjdHJfcmVxLCByY3R4LT5idWxrX3BhcnRfc3JjLAorCQkJCSAgIHJjdHgtPmJ1bGtfcGFy dF9kc3QsIGJ1bGtfbGVuLAorCQkJCSAgIHJjdHgtPnhjdHJfaXYpOworCXNrY2lwaGVyX3JlcXVl c3Rfc2V0X2NhbGxiYWNrKCZyY3R4LT51LnhjdHJfcmVxLAorCQkJCSAgICAgIHJlcS0+YmFzZS5m bGFncywKKwkJCQkgICAgICBoY3RyMl94Y3RyX2RvbmUsIHJlcSk7CisJcmV0dXJuIGNyeXB0b19z a2NpcGhlcl9lbmNyeXB0KCZyY3R4LT51LnhjdHJfcmVxKSA/OgorCQloY3RyMl9maW5pc2gocmVx KTsKK30KKworc3RhdGljIGludCBoY3RyMl9lbmNyeXB0KHN0cnVjdCBza2NpcGhlcl9yZXF1ZXN0 ICpyZXEpCit7CisJcmV0dXJuIGhjdHIyX2NyeXB0KHJlcSwgdHJ1ZSk7Cit9CisKK3N0YXRpYyBp bnQgaGN0cjJfZGVjcnlwdChzdHJ1Y3Qgc2tjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVy biBoY3RyMl9jcnlwdChyZXEsIGZhbHNlKTsKK30KKworc3RhdGljIGludCBoY3RyMl9pbml0X3Rm bShzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVyICp0Zm0pCit7CisJc3RydWN0IHNrY2lwaGVyX2luc3Rh bmNlICppbnN0ID0gc2tjaXBoZXJfYWxnX2luc3RhbmNlKHRmbSk7CisJc3RydWN0IGhjdHIyX2lu c3RhbmNlX2N0eCAqaWN0eCA9IHNrY2lwaGVyX2luc3RhbmNlX2N0eChpbnN0KTsKKwlzdHJ1Y3Qg aGN0cjJfdGZtX2N0eCAqdGN0eCA9IGNyeXB0b19za2NpcGhlcl9jdHgodGZtKTsKKwlzdHJ1Y3Qg Y3J5cHRvX3NrY2lwaGVyICp4Y3RyOworCXN0cnVjdCBjcnlwdG9fY2lwaGVyICpibG9ja2NpcGhl cjsKKwlzdHJ1Y3QgY3J5cHRvX3NoYXNoICpwb2x5dmFsOworCXVuc2lnbmVkIGludCBzdWJyZXFf c2l6ZTsKKwlpbnQgZXJyOworCisJeGN0ciA9IGNyeXB0b19zcGF3bl9za2NpcGhlcigmaWN0eC0+ eGN0cl9zcGF3bik7CisJaWYgKElTX0VSUih4Y3RyKSkKKwkJcmV0dXJuIFBUUl9FUlIoeGN0cik7 CisKKwlibG9ja2NpcGhlciA9IGNyeXB0b19zcGF3bl9jaXBoZXIoJmljdHgtPmJsb2NrY2lwaGVy X3NwYXduKTsKKwlpZiAoSVNfRVJSKGJsb2NrY2lwaGVyKSkgeworCQllcnIgPSBQVFJfRVJSKGJs b2NrY2lwaGVyKTsKKwkJZ290byBlcnJfZnJlZV94Y3RyOworCX0KKworCXBvbHl2YWwgPSBjcnlw dG9fc3Bhd25fc2hhc2goJmljdHgtPnBvbHl2YWxfc3Bhd24pOworCWlmIChJU19FUlIocG9seXZh bCkpIHsKKwkJZXJyID0gUFRSX0VSUihwb2x5dmFsKTsKKwkJZ290byBlcnJfZnJlZV9ibG9ja2Np cGhlcjsKKwl9CisKKwl0Y3R4LT54Y3RyID0geGN0cjsKKwl0Y3R4LT5ibG9ja2NpcGhlciA9IGJs b2NrY2lwaGVyOworCXRjdHgtPnBvbHl2YWwgPSBwb2x5dmFsOworCisJQlVJTERfQlVHX09OKG9m ZnNldG9mZW5kKHN0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCwgdSkgIT0KKwkJCQkgc2l6ZW9mKHN0 cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCkpOworCXN1YnJlcV9zaXplID0gbWF4KHNpemVvZl9maWVs ZChzdHJ1Y3QgaGN0cjJfcmVxdWVzdF9jdHgsIHUuaGFzaF9kZXNjKSArCisJCQkgIGNyeXB0b19z aGFzaF9kZXNjc2l6ZShwb2x5dmFsKSwKKwkJCSAgc2l6ZW9mX2ZpZWxkKHN0cnVjdCBoY3RyMl9y ZXF1ZXN0X2N0eCwgdS54Y3RyX3JlcSkgKworCQkJICBjcnlwdG9fc2tjaXBoZXJfcmVxc2l6ZSh4 Y3RyKSk7CisKKwl0Y3R4LT5oYXNoZWRfdHdlYWtfb2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IGhj dHIyX3JlcXVlc3RfY3R4LCB1KSArCisJCQkJICAgIHN1YnJlcV9zaXplOworCWNyeXB0b19za2Np cGhlcl9zZXRfcmVxc2l6ZSh0Zm0sIHRjdHgtPmhhc2hlZF90d2Vha19vZmZzZXQgKworCQkJCSAg ICBjcnlwdG9fc2hhc2hfc3RhdGVzaXplKHBvbHl2YWwpKTsKKwlyZXR1cm4gMDsKKworZXJyX2Zy ZWVfYmxvY2tjaXBoZXI6CisJY3J5cHRvX2ZyZWVfY2lwaGVyKGJsb2NrY2lwaGVyKTsKK2Vycl9m cmVlX3hjdHI6CisJY3J5cHRvX2ZyZWVfc2tjaXBoZXIoeGN0cik7CisJcmV0dXJuIGVycjsKK30K Kworc3RhdGljIHZvaWQgaGN0cjJfZXhpdF90Zm0oc3RydWN0IGNyeXB0b19za2NpcGhlciAqdGZt KQoreworCXN0cnVjdCBoY3RyMl90Zm1fY3R4ICp0Y3R4ID0gY3J5cHRvX3NrY2lwaGVyX2N0eCh0 Zm0pOworCisJY3J5cHRvX2ZyZWVfY2lwaGVyKHRjdHgtPmJsb2NrY2lwaGVyKTsKKwljcnlwdG9f ZnJlZV9za2NpcGhlcih0Y3R4LT54Y3RyKTsKKwljcnlwdG9fZnJlZV9zaGFzaCh0Y3R4LT5wb2x5 dmFsKTsKK30KKworc3RhdGljIHZvaWQgaGN0cjJfZnJlZV9pbnN0YW5jZShzdHJ1Y3Qgc2tjaXBo ZXJfaW5zdGFuY2UgKmluc3QpCit7CisJc3RydWN0IGhjdHIyX2luc3RhbmNlX2N0eCAqaWN0eCA9 IHNrY2lwaGVyX2luc3RhbmNlX2N0eChpbnN0KTsKKworCWNyeXB0b19kcm9wX2NpcGhlcigmaWN0 eC0+YmxvY2tjaXBoZXJfc3Bhd24pOworCWNyeXB0b19kcm9wX3NrY2lwaGVyKCZpY3R4LT54Y3Ry X3NwYXduKTsKKwljcnlwdG9fZHJvcF9zaGFzaCgmaWN0eC0+cG9seXZhbF9zcGF3bik7CisJa2Zy ZWUoaW5zdCk7Cit9CisKK3N0YXRpYyBpbnQgaGN0cjJfY3JlYXRlX2NvbW1vbihzdHJ1Y3QgY3J5 cHRvX3RlbXBsYXRlICp0bXBsLAorCQkJICAgICAgIHN0cnVjdCBydGF0dHIgKip0YiwKKwkJCSAg ICAgICBjb25zdCBjaGFyICp4Y3RyX25hbWUsCisJCQkgICAgICAgY29uc3QgY2hhciAqcG9seXZh bF9uYW1lKQoreworCXUzMiBtYXNrOworCXN0cnVjdCBza2NpcGhlcl9pbnN0YW5jZSAqaW5zdDsK KwlzdHJ1Y3QgaGN0cjJfaW5zdGFuY2VfY3R4ICppY3R4OworCXN0cnVjdCBza2NpcGhlcl9hbGcg KnhjdHJfYWxnOworCXN0cnVjdCBjcnlwdG9fYWxnICpibG9ja2NpcGhlcl9hbGc7CisJc3RydWN0 IHNoYXNoX2FsZyAqcG9seXZhbF9hbGc7CisJY2hhciBibG9ja2NpcGhlcl9uYW1lW0NSWVBUT19N QVhfQUxHX05BTUVdOworCWludCBsZW47CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19jaGVj a19hdHRyX3R5cGUodGIsIENSWVBUT19BTEdfVFlQRV9TS0NJUEhFUiwgJm1hc2spOworCWlmIChl cnIpCisJCXJldHVybiBlcnI7CisKKwlpbnN0ID0ga3phbGxvYyhzaXplb2YoKmluc3QpICsgc2l6 ZW9mKCppY3R4KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpbnN0KQorCQlyZXR1cm4gLUVOT01FTTsK KwlpY3R4ID0gc2tjaXBoZXJfaW5zdGFuY2VfY3R4KGluc3QpOworCisJLyogU3RyZWFtIGNpcGhl ciwgeGN0cihibG9ja19jaXBoZXIpICovCisJZXJyID0gY3J5cHRvX2dyYWJfc2tjaXBoZXIoJmlj dHgtPnhjdHJfc3Bhd24sCisJCQkJICAgc2tjaXBoZXJfY3J5cHRvX2luc3RhbmNlKGluc3QpLAor CQkJCSAgIHhjdHJfbmFtZSwgMCwgbWFzayk7CisJaWYgKGVycikKKwkJZ290byBlcnJfZnJlZV9p bnN0OworCXhjdHJfYWxnID0gY3J5cHRvX3NwYXduX3NrY2lwaGVyX2FsZygmaWN0eC0+eGN0cl9z cGF3bik7CisKKwllcnIgPSAtRUlOVkFMOworCWlmIChzdHJuY21wKHhjdHJfYWxnLT5iYXNlLmNy YV9uYW1lLCAieGN0cigiLCA1KSkKKwkJZ290byBlcnJfZnJlZV9pbnN0OworCWxlbiA9IHN0cnNj cHkoYmxvY2tjaXBoZXJfbmFtZSwgeGN0cl9hbGctPmJhc2UuY3JhX25hbWUgKyA1LAorCQkgICAg ICBzaXplb2YoYmxvY2tjaXBoZXJfbmFtZSkpOworCWlmIChsZW4gPCAxKQorCQlnb3RvIGVycl9m cmVlX2luc3Q7CisJaWYgKGJsb2NrY2lwaGVyX25hbWVbbGVuIC0gMV0gIT0gJyknKQorCQlnb3Rv IGVycl9mcmVlX2luc3Q7CisJYmxvY2tjaXBoZXJfbmFtZVtsZW4gLSAxXSA9IDA7CisKKwkvKiBC bG9jayBjaXBoZXIsIGUuZy4gImFlcyIgKi8KKwllcnIgPSBjcnlwdG9fZ3JhYl9jaXBoZXIoJmlj dHgtPmJsb2NrY2lwaGVyX3NwYXduLAorCQkJCSBza2NpcGhlcl9jcnlwdG9faW5zdGFuY2UoaW5z dCksCisJCQkJIGJsb2NrY2lwaGVyX25hbWUsIDAsIG1hc2spOworCWlmIChlcnIpCisJCWdvdG8g ZXJyX2ZyZWVfaW5zdDsKKwlibG9ja2NpcGhlcl9hbGcgPSBjcnlwdG9fc3Bhd25fY2lwaGVyX2Fs ZygmaWN0eC0+YmxvY2tjaXBoZXJfc3Bhd24pOworCisJLyogUmVxdWlyZSBibG9ja3NpemUgb2Yg MTYgYnl0ZXMgKi8KKwllcnIgPSAtRUlOVkFMOworCWlmIChibG9ja2NpcGhlcl9hbGctPmNyYV9i bG9ja3NpemUgIT0gQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRSkKKwkJZ290byBlcnJfZnJlZV9pbnN0 OworCisJLyogUG9seXZhbCDOtS3iiIZVIGhhc2ggZnVuY3Rpb24gKi8KKwllcnIgPSBjcnlwdG9f Z3JhYl9zaGFzaCgmaWN0eC0+cG9seXZhbF9zcGF3biwKKwkJCQlza2NpcGhlcl9jcnlwdG9faW5z dGFuY2UoaW5zdCksCisJCQkJcG9seXZhbF9uYW1lLCAwLCBtYXNrKTsKKwlpZiAoZXJyKQorCQln b3RvIGVycl9mcmVlX2luc3Q7CisJcG9seXZhbF9hbGcgPSBjcnlwdG9fc3Bhd25fc2hhc2hfYWxn KCZpY3R4LT5wb2x5dmFsX3NwYXduKTsKKworCS8qIEVuc3VyZSBQb2x5dmFsIGlzIGJlaW5nIHVz ZWQgKi8KKwllcnIgPSAtRUlOVkFMOworCWlmIChzdHJjbXAocG9seXZhbF9hbGctPmJhc2UuY3Jh X25hbWUsICJwb2x5dmFsIikgIT0gMCkKKwkJZ290byBlcnJfZnJlZV9pbnN0OworCisJLyogSW5z dGFuY2UgZmllbGRzICovCisKKwllcnIgPSAtRU5BTUVUT09MT05HOworCWlmIChzbnByaW50Zihp bnN0LT5hbGcuYmFzZS5jcmFfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgImhjdHIyKCVzKSIs CisJCSAgICAgYmxvY2tjaXBoZXJfYWxnLT5jcmFfbmFtZSkgPj0gQ1JZUFRPX01BWF9BTEdfTkFN RSkKKwkJZ290byBlcnJfZnJlZV9pbnN0OworCWlmIChzbnByaW50ZihpbnN0LT5hbGcuYmFzZS5j cmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsCisJCSAgICAgImhjdHIyX2Jhc2Uo JXMsJXMpIiwKKwkJICAgICB4Y3RyX2FsZy0+YmFzZS5jcmFfZHJpdmVyX25hbWUsCisJCSAgICAg cG9seXZhbF9hbGctPmJhc2UuY3JhX2RyaXZlcl9uYW1lKSA+PSBDUllQVE9fTUFYX0FMR19OQU1F KQorCQlnb3RvIGVycl9mcmVlX2luc3Q7CisKKwlpbnN0LT5hbGcuYmFzZS5jcmFfYmxvY2tzaXpl ID0gQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRTsKKwlpbnN0LT5hbGcuYmFzZS5jcmFfY3R4c2l6ZSA9 IHNpemVvZihzdHJ1Y3QgaGN0cjJfdGZtX2N0eCkgKworCQkJCSAgICAgcG9seXZhbF9hbGctPnN0 YXRlc2l6ZSAqIDI7CisJaW5zdC0+YWxnLmJhc2UuY3JhX2FsaWdubWFzayA9IHhjdHJfYWxnLT5i YXNlLmNyYV9hbGlnbm1hc2sgfAorCQkJCSAgICAgICBwb2x5dmFsX2FsZy0+YmFzZS5jcmFfYWxp Z25tYXNrOworCS8qCisJICogVGhlIGhhc2ggZnVuY3Rpb24gaXMgY2FsbGVkIHR3aWNlLCBzbyBp dCBpcyB3ZWlnaHRlZCBoaWdoZXIgdGhhbiB0aGUKKwkgKiB4Y3RyIGFuZCBibG9ja2NpcGhlci4K KwkgKi8KKwlpbnN0LT5hbGcuYmFzZS5jcmFfcHJpb3JpdHkgPSAoMiAqIHhjdHJfYWxnLT5iYXNl LmNyYV9wcmlvcml0eSArCisJCQkJICAgICAgIDQgKiBwb2x5dmFsX2FsZy0+YmFzZS5jcmFfcHJp b3JpdHkgKworCQkJCSAgICAgICBibG9ja2NpcGhlcl9hbGctPmNyYV9wcmlvcml0eSkgLyA3Owor CisJaW5zdC0+YWxnLnNldGtleSA9IGhjdHIyX3NldGtleTsKKwlpbnN0LT5hbGcuZW5jcnlwdCA9 IGhjdHIyX2VuY3J5cHQ7CisJaW5zdC0+YWxnLmRlY3J5cHQgPSBoY3RyMl9kZWNyeXB0OworCWlu c3QtPmFsZy5pbml0ID0gaGN0cjJfaW5pdF90Zm07CisJaW5zdC0+YWxnLmV4aXQgPSBoY3RyMl9l eGl0X3RmbTsKKwlpbnN0LT5hbGcubWluX2tleXNpemUgPSBjcnlwdG9fc2tjaXBoZXJfYWxnX21p bl9rZXlzaXplKHhjdHJfYWxnKTsKKwlpbnN0LT5hbGcubWF4X2tleXNpemUgPSBjcnlwdG9fc2tj aXBoZXJfYWxnX21heF9rZXlzaXplKHhjdHJfYWxnKTsKKwlpbnN0LT5hbGcuaXZzaXplID0gVFdF QUtfU0laRTsKKworCWluc3QtPmZyZWUgPSBoY3RyMl9mcmVlX2luc3RhbmNlOworCisJZXJyID0g c2tjaXBoZXJfcmVnaXN0ZXJfaW5zdGFuY2UodG1wbCwgaW5zdCk7CisJaWYgKGVycikgeworZXJy X2ZyZWVfaW5zdDoKKwkJaGN0cjJfZnJlZV9pbnN0YW5jZShpbnN0KTsKKwl9CisJcmV0dXJuIGVy cjsKK30KKworc3RhdGljIGludCBoY3RyMl9jcmVhdGVfYmFzZShzdHJ1Y3QgY3J5cHRvX3RlbXBs YXRlICp0bXBsLCBzdHJ1Y3QgcnRhdHRyICoqdGIpCit7CisJY29uc3QgY2hhciAqeGN0cl9uYW1l OworCWNvbnN0IGNoYXIgKnBvbHl2YWxfbmFtZTsKKworCXhjdHJfbmFtZSA9IGNyeXB0b19hdHRy X2FsZ19uYW1lKHRiWzFdKTsKKwlpZiAoSVNfRVJSKHhjdHJfbmFtZSkpCisJCXJldHVybiBQVFJf RVJSKHhjdHJfbmFtZSk7CisKKwlwb2x5dmFsX25hbWUgPSBjcnlwdG9fYXR0cl9hbGdfbmFtZSh0 YlsyXSk7CisJaWYgKElTX0VSUihwb2x5dmFsX25hbWUpKQorCQlyZXR1cm4gUFRSX0VSUihwb2x5 dmFsX25hbWUpOworCisJcmV0dXJuIGhjdHIyX2NyZWF0ZV9jb21tb24odG1wbCwgdGIsIHhjdHJf bmFtZSwgcG9seXZhbF9uYW1lKTsKK30KKworc3RhdGljIGludCBoY3RyMl9jcmVhdGUoc3RydWN0 IGNyeXB0b190ZW1wbGF0ZSAqdG1wbCwgc3RydWN0IHJ0YXR0ciAqKnRiKQoreworCWNvbnN0IGNo YXIgKmJsb2NrY2lwaGVyX25hbWU7CisJY2hhciB4Y3RyX25hbWVbQ1JZUFRPX01BWF9BTEdfTkFN RV07CisKKwlibG9ja2NpcGhlcl9uYW1lID0gY3J5cHRvX2F0dHJfYWxnX25hbWUodGJbMV0pOwor CWlmIChJU19FUlIoYmxvY2tjaXBoZXJfbmFtZSkpCisJCXJldHVybiBQVFJfRVJSKGJsb2NrY2lw aGVyX25hbWUpOworCisJaWYgKHNucHJpbnRmKHhjdHJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFN RSwgInhjdHIoJXMpIiwKKwkJICAgIGJsb2NrY2lwaGVyX25hbWUpID49IENSWVBUT19NQVhfQUxH X05BTUUpCisJCXJldHVybiAtRU5BTUVUT09MT05HOworCisJcmV0dXJuIGhjdHIyX2NyZWF0ZV9j b21tb24odG1wbCwgdGIsIHhjdHJfbmFtZSwgInBvbHl2YWwiKTsKK30KKworc3RhdGljIHN0cnVj dCBjcnlwdG9fdGVtcGxhdGUgaGN0cjJfdG1wbHNbXSA9IHsKKwl7CisJCS8qIGhjdHIyX2Jhc2Uo eGN0cl9uYW1lLCBwb2x5dmFsX25hbWUpICovCisJCS5uYW1lID0gImhjdHIyX2Jhc2UiLAorCQku Y3JlYXRlID0gaGN0cjJfY3JlYXRlX2Jhc2UsCisJCS5tb2R1bGUgPSBUSElTX01PRFVMRSwKKwl9 LCB7CisJCS8qIGhjdHIyKGJsb2NrY2lwaGVyX25hbWUpICovCisJCS5uYW1lID0gImhjdHIyIiwK KwkJLmNyZWF0ZSA9IGhjdHIyX2NyZWF0ZSwKKwkJLm1vZHVsZSA9IFRISVNfTU9EVUxFLAorCX0K K307CisKK3N0YXRpYyBpbnQgX19pbml0IGhjdHIyX21vZHVsZV9pbml0KHZvaWQpCit7CisJcmV0 dXJuIGNyeXB0b19yZWdpc3Rlcl90ZW1wbGF0ZXMoaGN0cjJfdG1wbHMsIEFSUkFZX1NJWkUoaGN0 cjJfdG1wbHMpKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGhjdHIyX21vZHVsZV9leGl0KHZv aWQpCit7CisJcmV0dXJuIGNyeXB0b191bnJlZ2lzdGVyX3RlbXBsYXRlcyhoY3RyMl90bXBscywK KwkJCQkJICAgQVJSQVlfU0laRShoY3RyMl90bXBscykpOworfQorCitzdWJzeXNfaW5pdGNhbGwo aGN0cjJfbW9kdWxlX2luaXQpOworbW9kdWxlX2V4aXQoaGN0cjJfbW9kdWxlX2V4aXQpOworCitN T0RVTEVfREVTQ1JJUFRJT04oIkhDVFIyIGxlbmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24gbW9k ZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworTU9EVUxFX0FMSUFTX0NSWVBUTygiaGN0 cjIiKTsKK01PRFVMRV9JTVBPUlRfTlMoQ1JZUFRPX0lOVEVSTkFMKTsKZGlmZiAtLWdpdCBhL2Ny eXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCBkZDljZjIxNjAyOWIuLjMzNjU5 OGRhOGVhYyAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5jCisrKyBiL2NyeXB0by90Y3J5cHQu YwpAQCAtMjE5MSw2ICsyMTkxLDExIEBAIHN0YXRpYyBpbnQgZG9fdGVzdChjb25zdCBjaGFyICph bGcsIHUzMiB0eXBlLCB1MzIgbWFzaywgaW50IG0sIHUzMiBudW1fbWIpCiAJCQkJICAgMTYsIDE2 LCBhZWFkX3NwZWVkX3RlbXBsYXRlXzE5LCBudW1fbWIpOwogCQlicmVhazsKIAorCWNhc2UgMjI2 OgorCQl0ZXN0X2NpcGhlcl9zcGVlZCgiaGN0cjIoYWVzKSIsIEVOQ1JZUFQsIHNlYywgTlVMTCwK KwkJCQkgIDAsIHNwZWVkX3RlbXBsYXRlXzMyKTsKKwkJYnJlYWs7CisKIAljYXNlIDMwMDoKIAkJ aWYgKGFsZykgewogCQkJdGVzdF9oYXNoX3NwZWVkKGFsZywgc2VjLCBnZW5lcmljX2hhc2hfc3Bl ZWRfdGVtcGxhdGUpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3Rlc3RtZ3IuYyBiL2NyeXB0by90ZXN0 bWdyLmMKaW5kZXggZDgwN2IyMDBlZGY2Li4zMjQ0YjdlNWFhN2UgMTAwNjQ0Ci0tLSBhL2NyeXB0 by90ZXN0bWdyLmMKKysrIGIvY3J5cHRvL3Rlc3RtZ3IuYwpAQCAtNTAzMCw2ICs1MDMwLDE0IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWxnX3Rlc3RfZGVzYyBhbGdfdGVzdF9kZXNjc1tdID0gewog CQkuc3VpdGUgPSB7CiAJCQkuaGFzaCA9IF9fVkVDUyhnaGFzaF90dl90ZW1wbGF0ZSkKIAkJfQor CX0sIHsKKwkJLmFsZyA9ICJoY3RyMihhZXMpIiwKKwkJLmdlbmVyaWNfZHJpdmVyID0KKwkJICAg ICJoY3RyMl9iYXNlKHhjdHIoYWVzLWdlbmVyaWMpLHBvbHl2YWwtZ2VuZXJpYykiLAorCQkudGVz dCA9IGFsZ190ZXN0X3NrY2lwaGVyLAorCQkuc3VpdGUgPSB7CisJCQkuY2lwaGVyID0gX19WRUNT KGFlc19oY3RyMl90dl90ZW1wbGF0ZSkKKwkJfQogCX0sIHsKIAkJLmFsZyA9ICJobWFjKG1kNSki LAogCQkudGVzdCA9IGFsZ190ZXN0X2hhc2gsCmRpZmYgLS1naXQgYS9jcnlwdG8vdGVzdG1nci5o IGIvY3J5cHRvL3Rlc3RtZ3IuaAppbmRleCBjNTgxZTU0MDU5MTYuLjEzYzcwZGRlMmY4OSAxMDA2 NDQKLS0tIGEvY3J5cHRvL3Rlc3RtZ3IuaAorKysgYi9jcnlwdG8vdGVzdG1nci5oCkBAIC0zNTEw MCw0ICszNTEwMCw2NzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcG9seXZh bF90dl90ZW1wbGF0ZVtdID0gewogCiB9OwogCisvKgorICogVGVzdCB2ZWN0b3JzIGdlbmVyYXRl ZCB1c2luZyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2hjdHIyCisgKi8KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgYWVzX2hjdHIyX3R2X3RlbXBsYXRlW10gPSB7CisJewor CQkua2V5CT0gIlx4ZTFceDE1XHg2Nlx4M2NceDhkXHhjNlx4M2FceGZmIgorCQkJICAiXHhlZlx4 NDFceGQ3XHg0N1x4YTJceGNjXHg4YVx4YmEiLAorCQkuaXYJPSAiXHhjM1x4YmVceDJhXHhjYlx4 YjVceDM5XHg4Nlx4ZjEiCisJCQkgICJceDkxXHhhZFx4NmNceGY0XHhkZVx4NzRceDQ1XHg2MyIK KwkJCSAgIlx4NWNceDdhXHhkNVx4Y2NceDhiXHg3Nlx4ZWZceDBlIgorCQkJICAiXHhjZlx4MmNc eDYwXHg2OVx4MzdceGZkXHgwN1x4OTYiLAorCQkucHRleHQJPSAiXHg2NVx4NzVceGFlXHhkM1x4 ZTJceGJjXHg0M1x4NWMiCisJCQkgICJceGIzXHgxYVx4ZDhceDA1XHhjM1x4ZDBceDU2XHgyOSIs CisJCS5jdGV4dAk9ICJceDExXHg5MVx4ZWFceDc0XHg1OFx4Y2NceGQ1XHhhMiIKKwkJCSAgIlx4 ZDBceDU1XHg5ZVx4M2RceGZlXHg3Zlx4YzhceGZlIiwKKwkJLmtsZW4JPSAxNiwKKwkJLmxlbgk9 IDE2LAorCX0sCisJeworCQkua2V5CT0gIlx4ZTdceGQxXHg3N1x4NDhceDc2XHgwYlx4Y2RceDM0 IgorCQkJICAiXHgyYVx4MmRceGU3XHg3NFx4Y2FceDExXHg5Y1x4YWUiLAorCQkuaXYJPSAiXHg3 MVx4MWNceDQ5XHg2Mlx4ZDlceDViXHg1MFx4NWUiCisJCQkgICJceDY4XHg4N1x4YmNceGY2XHg4 OVx4ZmZceGVkXHgzMCIKKwkJCSAgIlx4ZTRceGU1XHhiZFx4YjZceDEwXHg0Zlx4OWZceDY2Igor CQkJICAiXHgyOFx4MDZceDVhXHhmNFx4MjdceDM1XHhjZFx4ZTUiLAorCQkucHRleHQJPSAiXHg4 N1x4MDNceDhmXHgwNlx4YThceDYxXHg1NFx4ZGEiCisJCQkgICJceDAxXHg0NVx4ZDRceDAxXHhl Zlx4NGFceDIyXHhjZiIKKwkJCSAgIlx4NzhceDE1XHg5Zlx4YmRceDY0XHhiZFx4MmNceGI5Igor CQkJICAiXHg0MFx4MWRceDcyXHhhZVx4NTNceDYzXHhhNSIsCisJCS5jdGV4dAk9ICJceDRlXHhh MVx4MDVceDI3XHhiOFx4NDVceGU0XHhhMSIKKwkJCSAgIlx4YmJceDMwXHhiNFx4YTZceDEyXHg3 NFx4NjNceGQ2IgorCQkJICAiXHgxN1x4YzlceGNjXHgyZlx4MThceDY0XHhlMFx4MDYiCisJCQkg ICJceDBhXHhhMFx4ZmZceDcyXHgxMFx4N2JceDIyIiwKKwkJLmtsZW4JPSAxNiwKKwkJLmxlbgk9 IDMxLAorCX0sCisJeworCQkua2V5CT0gIlx4NTlceDY1XHgzYlx4MWRceDQzXHg1ZVx4YzBceGFl IgorCQkJICAiXHhiOFx4OWRceDliXHhkZFx4MjJceDAzXHhiZlx4Y2EiLAorCQkuaXYJPSAiXHhl Y1x4OTVceGZhXHg1YVx4Y2ZceDVlXHhkMlx4OTMiCisJCQkgICJceGEzXHhiNVx4ZTVceGJlXHhm M1x4MDFceDdiXHgwMSIKKwkJCSAgIlx4ZDFceGNhXHg2Y1x4MDZceDgyXHhmMFx4YmRceDY3Igor CQkJICAiXHhkOVx4NmNceGE0XHhkY1x4YjRceDM4XHgwZlx4NzQiLAorCQkucHRleHQJPSAiXHg0 NVx4ZGZceDc1XHg4N1x4YmNceDcyXHhjZVx4NTUiCisJCQkgICJceGM5XHhmYVx4Y2JceGZjXHg5 Zlx4NDBceDgyXHgyYiIKKwkJCSAgIlx4YzZceDRmXHg0Zlx4NWJceDhiXHgzYlx4NmRceDY3Igor CQkJICAiXHhhNlx4OTNceDYyXHg4OVx4OGNceDE5XHhmNFx4ZTMiCisJCQkgICJceDA4XHg5Mlx4 OWNceGM5XHg0N1x4MmNceDZlXHhkMCIKKwkJCSAgIlx4YTNceDAyXHgyYlx4ZGJceDJjXHhmMlx4 OGRceDQ2IgorCQkJICAiXHhjZFx4YjBceDlkXHgyNlx4NjNceDRjXHg0MFx4NmIiCisJCQkgICJc eDc5XHg0M1x4ZTVceGNlXHg0Mlx4YThceGVjXHgzYiIKKwkJCSAgIlx4NWJceGQwXHhlYVx4YTRc eGU2XHhkYlx4NjZceDU1IgorCQkJICAiXHg3YVx4NzZceGVjXHhhYlx4N2RceDJhXHgyYlx4YmQi CisJCQkgICJceGE5XHhhYlx4MjJceDY0XHgxYVx4YTFceGFlXHg4NCIKKwkJCSAgIlx4ODZceDc5 XHg2N1x4ZTlceGIyXHg1MFx4YmVceDEyIgorCQkJICAiXHgyZlx4YjJceDE0XHhmMFx4ZGJceDcx XHhkOFx4YTciCisJCQkgICJceDQxXHg4YVx4ODhceGEwXHg2YVx4NmVceDlkXHgyYSIKKwkJCSAg Ilx4ZmFceDExXHgzN1x4NDBceDMyXHgwOVx4NGNceDQ3IgorCQkJICAiXHg0MVx4MDdceDMxXHg4 NVx4M2RceGE4XHhmN1x4NjQiLAorCQkuY3RleHQJPSAiXHgyZFx4NGJceDlmXHg5M1x4Y2FceDVh XHg0OFx4MjYiCisJCQkgICJceDAxXHhjY1x4NTRceGU0XHgzMVx4NTBceDEyXHhmMCIKKwkJCSAg Ilx4NDlceGZmXHg1OVx4NDJceDY4XHhiZFx4ODdceDhmIgorCQkJICAiXHg5ZVx4NjJceDk2XHhj ZFx4YjlceDI0XHg1N1x4YTQiCisJCQkgICJceDBiXHg3Ylx4ZjVceDJlXHgwZVx4YThceDY1XHgw NyIKKwkJCSAgIlx4YWJceDA1XHhkNVx4Y2FceGU3XHg5Y1x4NmNceDM0IgorCQkJICAiXHg1ZFx4 NDJceDM0XHhhNFx4NjJceGU5XHg3NVx4NDgiCisJCQkgICJceDNkXHg5ZVx4OGZceGZhXHg0Mlx4 ZTlceDc1XHgwOCIKKwkJCSAgIlx4NGVceDU0XHg5MVx4MmJceGJkXHgxMVx4MGZceDhlIgorCQkJ ICAiXHhmMFx4ODJceGY1XHgyNFx4ZjFceGM0XHhmY1x4YWUiCisJCQkgICJceDQyXHg1NFx4N2Zc eGNlXHgxNVx4YThceGIyXHgzMyIKKwkJCSAgIlx4YzBceDg2XHhiNlx4MmJceGU4XHg0NFx4Y2Vc eDFmIgorCQkJICAiXHg2OFx4NTdceDY2XHg5NFx4NmVceGFkXHhlYlx4ZjMiCisJCQkgICJceDMw XHhmOFx4MTFceGJkXHg2MFx4MDBceGM2XHhkNSIKKwkJCSAgIlx4NGNceDgxXHhmMVx4MjBceDJi XHg0YVx4NWJceDk5IgorCQkJICAiXHg3OVx4M2JceGM5XHg1Y1x4NzRceDIzXHhlNlx4NWQiLAor CQkua2xlbgk9IDE2LAorCQkubGVuCT0gMTI4LAorCX0sCisJeworCQkua2V5CT0gIlx4M2VceDA4 XHg1ZFx4NjRceDZjXHg5OFx4ZWNceGVjIgorCQkJICAiXHg3MFx4MGVceDBkXHhhMVx4NDFceDIw XHg5OVx4ODIiLAorCQkuaXYJPSAiXHgxMVx4YjdceDc3XHg5MVx4MGRceDk5XHhkOVx4OGQiCisJ CQkgICJceDM1XHgzYVx4ZjdceDE0XHg2Ylx4MDlceDM3XHhlNSIKKwkJCSAgIlx4YWRceDUxXHhm Nlx4YzNceDk2XHg0Ylx4NjRceDU2IgorCQkJICAiXHhhOFx4YmRceDgxXHhjY1x4YmVceDk0XHhh Zlx4ZTQiLAorCQkucHRleHQJPSAiXHhmZlx4OGRceGI5XHhjMFx4ZTNceDY5XHhiM1x4YjIiCisJ CQkgICJceDhiXHgxMVx4MjZceGIzXHgxMVx4ZWNceGZiXHhiOSIKKwkJCSAgIlx4OWNceGMxXHg3 MVx4ZDZceGUzXHgyNlx4MGVceGUwIgorCQkJICAiXHg2OFx4NDBceDYwXHhiOVx4M2FceDYzXHg1 Nlx4OGEiCisJCQkgICJceDllXHhjMVx4ZjBceDEwXHhiMVx4NjRceDMyXHg3MCIKKwkJCSAgIlx4 ZjhceGNkXHhjNlx4YzRceDQ5XHg0Y1x4ZTFceGNlIgorCQkJICAiXHhmM1x4ZTFceDAzXHhmOFx4 MzVceGFlXHhlMFx4NWUiCisJCQkgICJceGVmXHg1Zlx4YmNceDQxXHg3NVx4MjZceDEzXHhjYyIK KwkJCSAgIlx4MzdceDg1XHhkZlx4YzBceDVkXHhhNlx4NDdceDk4IgorCQkJICAiXHhmMVx4OTdc eDUyXHg1OFx4MDRceGU2XHhiNVx4MDEiCisJCQkgICJceGMwXHhiOFx4MTdceDZkXHg3NFx4YmRc eDlhXHhkZiIKKwkJCSAgIlx4YTRceDM3XHg5NFx4ODZceGIwXHgxM1x4ODNceDI4IgorCQkJICAi XHhjOVx4YTJceDA3XHgzZlx4YjVceGIyXHg3Mlx4NDAiCisJCQkgICJceDBlXHg2MFx4ZGZceDU3 XHgwN1x4YjdceDJjXHg2NiIKKwkJCSAgIlx4MTBceDNmXHg4ZFx4ZGRceDMwXHgwYVx4NDdceGQ1 IgorCQkJICAiXHhlOFx4OWRceGZiXHhhMVx4YWZceDUzXHhkN1x4MDUiCisJCQkgICJceGM3XHhk Mlx4YmFceGU3XHgyY1x4YTBceGJmXHhiOCIKKwkJCSAgIlx4ZDFceDkzXHhlN1x4NDFceDgyXHhh M1x4NDFceDNhIgorCQkJICAiXHhhZlx4MTJceGQ2XHhmOFx4MzRceGRhXHg5Mlx4NDYiCisJCQkg ICJceGFkXHhhMlx4MmZceGY2XHg3ZVx4NDZceDk2XHhkOCIKKwkJCSAgIlx4MDNceGYzXHg0OVx4 NjRceGRlXHhkOFx4MDZceDhiIgorCQkJICAiXHhhMFx4YmNceDYzXHgzNVx4MzhceGI2XHg2Ylx4 ZGEiCisJCQkgICJceDViXHg1MFx4M2ZceDEzXHhhNVx4ODRceDFiXHgxYiIKKwkJCSAgIlx4NjZc eDg5XHg5NVx4YjdceGMyXHgxNlx4M2NceGU5IgorCQkJICAiXHgyNFx4YjBceDhjXHg2Zlx4NDlc eGVmXHhmN1x4MjgiCisJCQkgICJceDZhXHgyNFx4ZmRceGJlXHgyNVx4ZTJceGI0XHg5MCIKKwkJ CSAgIlx4NzdceDQ0XHgwOFx4YjhceGRhXHhkMlx4ZGVceDJjIgorCQkJICAiXHhhMFx4NTdceDQ1 XHg1N1x4MjlceDQ3XHg2Ylx4ODkiCisJCQkgICJceDRhXHhmNlx4YTdceDJhXHhjM1x4OWVceDdi XHhjOCIKKwkJCSAgIlx4ZmRceDlmXHg4OVx4YWJceGVlXHg2ZFx4YTNceGI0IgorCQkJICAiXHgy M1x4OTBceDdhXHhlOVx4ODlceGEwXHhjN1x4YjMiCisJCQkgICJceDE3XHg0MVx4ODdceDkxXHhm Y1x4OTdceDQyIiwKKwkJLmN0ZXh0CT0gIlx4ZmNceDliXHg5Nlx4NjZceGM0XHg4Mlx4MmFceDRh IgorCQkJICAiXHhiMVx4MjRceGJhXHhjN1x4NzhceDVmXHg3OVx4YzEiCisJCQkgICJceDU3XHgy ZVx4NDdceDI5XHg0ZFx4N2JceGQyXHg5YSIKKwkJCSAgIlx4YmRceGM2XHhjMVx4MjZceDdiXHg4 ZVx4M2ZceDVkIgorCQkJICAiXHhkNFx4YjRceDlmXHg2YVx4MDJceDI0XHg0YVx4YWQiCisJCQkg ICJceDBjXHgwMFx4MWJceGRmXHg5Mlx4YzVceDhhXHhlMSIKKwkJCSAgIlx4NzdceDc5XHhjY1x4 ZDVceDIwXHhiZlx4ODNceGY0IgorCQkJICAiXHg0Ylx4YWRceDExXHhiZlx4ZGJceDQ3XHg2NVx4 NzAiCisJCQkgICJceDQzXHhmM1x4NjVceGRmXHhiN1x4ZGNceGIyXHhiOSIKKwkJCSAgIlx4YWFc eDNmXHhiM1x4ZGZceDc5XHg2OVx4MGRceGEwIgorCQkJICAiXHg4Nlx4MWNceGJhXHg0OFx4MGJc eDAxXHhjMVx4ODgiCisJCQkgICJceGRmXHgwM1x4YjFceDA2XHgzY1x4MWRceDU2XHhhMSIKKwkJ CSAgIlx4OGVceDk4XHhjMVx4YTZceDk1XHhhMlx4NWJceDcyIgorCQkJICAiXHg3Nlx4NTlceGQy XHgyNlx4MjVceGNkXHhlZlx4N2MiCisJCQkgICJceGM5XHg2MFx4ZWFceDQzXHhkMVx4MTJceDhh XHg4YSIKKwkJCSAgIlx4NjNceDEyXHg3OFx4Y2JceDJmXHg4OFx4MWVceDg4IgorCQkJICAiXHg3 OFx4NTlceGRlXHhiYVx4NGRceDJjXHg3OFx4NjEiCisJCQkgICJceDc1XHgzN1x4NTRceGZkXHg4 MFx4YzdceDVlXHg5OCIKKwkJCSAgIlx4Y2ZceDE0XHg2Mlx4OGVceGZiXHg3Mlx4ZWVceDRkIgor CQkJICAiXHg5Zlx4YWZceDhiXHgwOVx4ZTVceDIxXHgwYVx4OTEiCisJCQkgICJceDhmXHg4OFx4 ODdceGQ1XHhiMVx4ODRceGFiXHgxOCIKKwkJCSAgIlx4MDhceDU3XHhlZFx4NzJceDM1XHhhNlx4 MGVceGM2IgorCQkJICAiXHhmZlx4Y2JceGZlXHgyY1x4NDhceDM5XHgxNFx4NDQiCisJCQkgICJc eGJhXHg1OVx4MzJceDNhXHgyZFx4YzRceDVmXHhjYiIKKwkJCSAgIlx4YmVceDY4XHg4ZVx4N2Jc eGVlXHgyMVx4YTRceDMyIgorCQkJICAiXHgxMVx4YTBceDk5XHhmZFx4OTBceGRlXHg1OVx4NDMi CisJCQkgICJceGViXHhlZFx4ZDVceDg3XHg2OFx4NDZceGM2XHhkZSIKKwkJCSAgIlx4MGJceDA3 XHgxN1x4NTlceDZhXHhhYlx4Y2FceDE1IgorCQkJICAiXHg2NVx4MDJceDAxXHhiNlx4NzFceDhj XHgzYlx4YWEiCisJCQkgICJceDE4XHgzYlx4MzBceGFlXHgzOFx4NWJceDJjXHg3NCIKKwkJCSAg Ilx4ZDRceGVlXHg0YVx4ZmNceGY3XHgxYlx4MDlceGQ0IgorCQkJICAiXHhkYVx4OGJceDFkXHg1 ZFx4NmZceDIxXHg2YyIsCisJCS5rbGVuCT0gMTYsCisJCS5sZW4JPSAyNTUsCisJfSwKKwl7CisJ CS5rZXkJPSAiXHgyNFx4ZjZceGUxXHg2Mlx4ZTVceGFmXHg5OVx4ZGEiCisJCQkgICJceDg0XHhl Y1x4NDFceGIwXHhhM1x4MGJceGQ1XHhhOCIKKwkJCSAgIlx4YTBceDNlXHg3Ylx4YTZceGRkXHg2 Y1x4OGZceGE4IiwKKwkJLml2CT0gIlx4N2ZceDgwXHgyNFx4NjJceDMyXHhkZFx4YWJceDY2Igor CQkJICAiXHhmMlx4ODdceDI5XHgyNFx4ZWNceGQyXHg0Ylx4OWYiCisJCQkgICJceDBjXHgzM1x4 NTJceGQ5XHhlMFx4Y2NceDZlXHhlNCIKKwkJCSAgIlx4OTBceDg1XHg0M1x4OTdceGM0XHg2Mlx4 MTRceDMzIiwKKwkJLnB0ZXh0CT0gIlx4ZWZceDU4XHhlN1x4N2ZceGE5XHhkOVx4YjhceGQ3Igor CQkJICAiXHhhMlx4OTFceDk3XHgwN1x4MjdceDllXHhiYVx4ZTgiCisJCQkgICJceGFhIiwKKwkJ LmN0ZXh0CT0gIlx4ZDdceGMzXHg4MVx4OTFceGYyXHg0MFx4MTdceDczIgorCQkJICAiXHgzZVx4 M2JceDFjXHgyYVx4OGVceDExXHg5Y1x4MTciCisJCQkgICJceGYxIiwKKwkJLmtsZW4JPSAyNCwK KwkJLmxlbgk9IDE3LAorCX0sCisJeworCQkua2V5CT0gIlx4YmZceGFmXHhkN1x4NjdceDhjXHg0 N1x4Y2ZceDIxIgorCQkJICAiXHg4YVx4YTVceGRkXHgzMlx4MjVceDQ3XHhiZVx4NGYiCisJCQkg ICJceGYxXHgzYVx4MGJceGE2XHhhYVx4MmRceGNmXHgwOSIsCisJCS5pdgk9ICJceGQ5XHhlOFx4 ZjBceDkyXHg0ZVx4ZmNceDFkXHhmMiIKKwkJCSAgIlx4ODFceDM3XHg3Y1x4OGZceGYxXHg1OVx4 MDlceDIwIgorCQkJICAiXHhmNFx4NDZceDUxXHg4Nlx4NGZceDU0XHg4Ylx4MzIiCisJCQkgICJc eDU4XHhkMVx4OTlceDhiXHg4Y1x4MDNceGViXHg1ZCIsCisJCS5wdGV4dAk9ICJceGNkXHg2NFx4 OTBceGY5XHg3Y1x4ZTVceDBlXHg1YSIKKwkJCSAgIlx4NzVceGU3XHg4ZVx4MzlceDg2XHhlY1x4 MjBceDQzIgorCQkJICAiXHg4YVx4NDlceDA5XHgxNVx4NDdceGY0XHgzY1x4ODkiCisJCQkgICJc eDIxXHhlYlx4Y2ZceDRlXHhjZlx4OTFceGI1XHg0MCIKKwkJCSAgIlx4Y2RceGU1XHg0ZFx4NWNc eDZmXHhmMlx4ZDJceDgwIgorCQkJICAiXHhmYVx4YWJceGIzXHg3Nlx4OWZceDdmXHg4NFx4MGEi LAorCQkuY3RleHQJPSAiXHg0NFx4OThceDY0XHgxNVx4YjdceDBiXHg4MFx4YTMiCisJCQkgICJc eGI5XHhjYVx4MjNceGZmXHgzYlx4MGJceDY4XHg3NCIKKwkJCSAgIlx4YmJceDNlXHgyMFx4MTlc eDlmXHgyOFx4NzFceDJhIgorCQkJICAiXHg0OFx4M2NceDdjXHhlMlx4ZWZceGI1XHgxMFx4YWMi CisJCQkgICJceDgyXHg5Zlx4Y2RceDA4XHg4Zlx4NmJceDE2XHg2ZiIKKwkJCSAgIlx4YzNceGJi XHgwN1x4ZmJceDNjXHhiMFx4MWJceDI3IiwKKwkJLmtsZW4JPSAyNCwKKwkJLmxlbgk9IDQ4LAor CX0sCisJeworCQkua2V5CT0gIlx4YjhceDM1XHhhMlx4NWZceDg2XHhiYlx4ODJceDk5IgorCQkJ ICAiXHgyN1x4ZWJceDAxXHgzZlx4OTJceGFmXHg4MFx4MjQiCisJCQkgICJceDRjXHg2Nlx4YTJc eDg5XHhmZlx4MmVceGEyXHgyNSIsCisJCS5pdgk9ICJceDBhXHgxZFx4OTZceGQzXHhlMFx4ZThc eDBjXHg5YiIKKwkJCSAgIlx4OWRceDZmXHgyMVx4OTdceGMyXHgxN1x4ZGJceDM5IgorCQkJICAi XHgzZlx4ZDhceDY0XHg0OFx4ODBceDA0XHhlZVx4NDMiCisJCQkgICJceDAyXHhjZVx4ODhceGUy XHg4MVx4ODFceDVmXHg4MSIsCisJCS5wdGV4dAk9ICJceGI4XHhmOVx4MTZceDhiXHgyNVx4Njhc eGQwXHg5YyIKKwkJCSAgIlx4ZDJceDI4XHhhY1x4YThceDc5XHhjMlx4MzBceGMxIgorCQkJICAi XHgzMVx4ZGVceDFjXHgzN1x4MWJceGEyXHhiNVx4ZTYiCisJCQkgICJceGYwXHhkMFx4ZjhceDlj XHg3Zlx4YzZceDQ2XHgwNyIKKwkJCSAgIlx4NWNceGMzXHgwNlx4ZTRceGYwXHgwMlx4ZWNceGY4 IgorCQkJICAiXHg1OVx4N2NceGMyXHg1ZFx4ZjhceDBjXHgyMVx4YWUiCisJCQkgICJceDllXHg4 Mlx4YjFceDFhXHg1Zlx4NzhceDQ0XHgxNSIKKwkJCSAgIlx4MDBceGE3XHgyZVx4NTJceGM1XHg5 OFx4OThceDM1IgorCQkJICAiXHgwM1x4YWVceGQwXHg4ZVx4MDdceDU3XHhlMlx4NWEiCisJCQkg ICJceDE3XHhiZlx4NTJceDQwXHg1NFx4NWJceDc0XHhlNSIKKwkJCSAgIlx4MmRceDM1XHhhZlx4 OWVceDM3XHhmN1x4N2VceDRhIgorCQkJICAiXHg4Y1x4OWVceGExXHhkY1x4NDBceGI0XHg1Ylx4 MzYiCisJCQkgICJceGRjXHgzYVx4NjhceGU2XHhiN1x4MzVceDBiXHg4YSIKKwkJCSAgIlx4OTBc eGVjXHg3NFx4OGZceDA5XHg5YVx4N2ZceDAyIgorCQkJICAiXHg0ZFx4MDNceDQ2XHgzNVx4NjJc eGIxXHhiZFx4MDgiCisJCQkgICJceDNmXHg1NFx4MmFceDEwXHgwYlx4ZGNceDY5XHhhZiIKKwkJ CSAgIlx4MjVceDNhXHgwY1x4NWZceGUwXHg1MVx4ZTdceDExIgorCQkJICAiXHhiN1x4MDBceGFi XHhiYlx4OWFceGIwXHhkY1x4NGQiCisJCQkgICJceGMzXHg3ZFx4MWFceDZlXHhkMVx4MDlceDUy XHhiZCIKKwkJCSAgIlx4NmJceDQzXHg1NVx4MjJceDNhXHg3OFx4MTRceDdkIgorCQkJICAiXHg3 OVx4ZmRceDhkXHhmY1x4OWJceDFkXHgwZlx4YTIiCisJCQkgICJceGM3XHhiOVx4ZjhceDg3XHhk NVx4OTZceDUwXHg2MSIKKwkJCSAgIlx4YTdceDVlXHgxZVx4NTdceDk3XHhlMFx4YWRceDJmIgor CQkJICAiXHg5M1x4ZTZceGU4XHg4M1x4ZWNceDg1XHgyNlx4NWUiCisJCQkgICJceGQ5XHgyYVx4 MTVceGUwXHhlOVx4MDlceDI1XHhhMSIKKwkJCSAgIlx4NzdceDJiXHg4OFx4ZGNceGE0XHhhNVx4 NDhceGI2IgorCQkJICAiXHhmN1x4Y2NceGE2XHhhOVx4YmFceGYzXHg0Mlx4NWMiCisJCQkgICJc eDcwXHg5ZFx4ZTlceDI5XHhjMVx4ZjFceDMzXHhkZCIKKwkJCSAgIlx4NTZceDQ4XHgxN1x4ODZc eDE0XHg1MVx4NWNceDEwIgorCQkJICAiXHhhYlx4ZmRceGQzXHgyNlx4OGNceDIxXHhmNVx4OTMi CisJCQkgICJceDFiXHhlYlx4NDdceDk3XHg3M1x4YmJceDg4XHgxMCIKKwkJCSAgIlx4ZjNceGZl XHhmNVx4ZGVceGYzXHgyZVx4MDVceDQ2IgorCQkJICAiXHgxY1x4MGRceGEzXHgxMFx4NDhceDlj XHg3MVx4MTYiCisJCQkgICJceDc4XHgzM1x4NGRceDBhXHg3NFx4M2JceGU5XHgzNCIKKwkJCSAg Ilx4MGJceGE3XHgwZVx4OWVceDYxXHhlOVx4ZTlceGZkIgorCQkJICAiXHg4NVx4YTBceGNiXHgx OVx4ZmRceDdjXHgzM1x4ZTMiCisJCQkgICJceDBlXHhjZVx4YzJceDZmXHg5ZFx4YTRceDJkXHg3 NyIKKwkJCSAgIlx4ZmRceGFkXHhlZVx4NWVceDA4XHgzZVx4ZDdceGY1IgorCQkJICAiXHhmYlx4 YzNceGQ3XHg5M1x4OTZceDA4XHg5Nlx4Y2EiCisJCQkgICJceDU4XHg4MVx4MTZceDliXHg5OFx4 MGFceGUyXHhlZiIKKwkJCSAgIlx4N2ZceGRhXHg0MFx4ZTRceDFmXHg0Nlx4OWVceDY3IgorCQkJ ICAiXHgyYlx4ODRceGNiXHg0Mlx4YzRceGQ2XHg2YVx4Y2YiCisJCQkgICJceDJkXHhiMlx4MzNc eGMwXHg1Nlx4YjNceDM1XHg2ZiIKKwkJCSAgIlx4MjlceDM2XHg4Zlx4NmFceDViXHhlY1x4ZDVc eDRmIgorCQkJICAiXHhhMFx4NzBceGZmXHhiNlx4NWJceGRlXHg2YVx4OTMiCisJCQkgICJceDIw XHgzY1x4ZTJceDc2XHg3YVx4ZWZceDNjXHg3OSIKKwkJCSAgIlx4MzFceDY1XHhjZVx4M2FceDBl XHhkMFx4YmVceGE4IgorCQkJICAiXHgyMVx4OTVceGM3XHgyYlx4NjJceDhlXHg2N1x4ZGQiCisJ CQkgICJceDIwXHg3OVx4ZTRceGU1XHgwMVx4MTVceGMwXHhlYyIKKwkJCSAgIlx4MGZceGQ5XHgy M1x4YzhceGNhXHhkZlx4ZDRceDdkIgorCQkJICAiXHgxZFx4ZjhceDY0XHg0Zlx4NTZceGIxXHg4 M1x4YTciCisJCQkgICJceDQzXHhiZVx4ZmNceGNmXHhjMlx4OGNceDMzXHhkYSIKKwkJCSAgIlx4 MzZceGQwXHg1Mlx4ZWZceDllXHg5ZVx4ODhceGY0IgorCQkJICAiXHhhOFx4MjFceDBmXHhhYVx4 ZWVceDhkXHhhMFx4MjQiCisJCQkgICJceDRkXHhjYlx4YjFceDcyXHgwN1x4ZjBceGMyXHgwNiIK KwkJCSAgIlx4NjBceDY1XHg4NVx4ODRceDJjXHg2MFx4Y2ZceDYxIgorCQkJICAiXHhlN1x4NTZc eDQzXHg1Ylx4MmJceDUwXHg3NFx4ZmEiCisJCQkgICJceGRiXHg0ZVx4ZWFceDg4XHhkNFx4YjNc eDgzXHg4ZiIKKwkJCSAgIlx4NmZceDk3XHg0Ylx4NTdceDdhXHg2NFx4NjRceGFlIgorCQkJICAi XHgwYVx4MzdceDY2XHhjNVx4MDNceGFkXHhiNVx4ZjkiCisJCQkgICJceDA4XHhiMFx4M2FceDc0 XHhkZVx4OTdceDUxXHhmZiIKKwkJCSAgIlx4NDhceDRmXHg1Y1x4YTRceGY4XHg3YVx4YjRceDA1 IgorCQkJICAiXHgyN1x4NzBceDUyXHg4Nlx4MWJceDc4XHhmY1x4MTgiCisJCQkgICJceDA2XHgy N1x4YTlceDYyXHhmN1x4ZGFceGQyXHg4ZSIsCisJCS5jdGV4dAk9ICJceDNiXHhlMVx4ZGJceGIz XHhjNVx4OWFceGRlXHg2OSIKKwkJCSAgIlx4NThceDA1XHhjY1x4ZWJceDAyXHg1MVx4NzhceDRh IgorCQkJICAiXHhhY1x4MjhceGU5XHhlZFx4ZDFceGM5XHgxNVx4N2QiCisJCQkgICJceDMzXHg3 ZFx4YzFceDQ3XHgxMlx4NDFceDExXHhmOCIKKwkJCSAgIlx4NGFceDJjXHhiN1x4YTNceDQxXHhi ZVx4NTlceGY3IgorCQkJICAiXHgyMlx4ZGJceDJjXHhkYVx4OWNceDAwXHg2MVx4OWIiCisJCQkg ICJceDczXHhiM1x4MGJceDg0XHgyYlx4YzFceGYzXHg4MCIKKwkJCSAgIlx4ODRceGViXHgxOVx4 NjBceDgwXHgwOVx4ZTFceGNkIgorCQkJICAiXHgxNlx4M2FceDIwXHgyM1x4YzRceDgyXHg0Zlx4 YmEiCisJCQkgICJceDNiXHg4ZVx4NTVceGQ3XHhhOVx4MGJceDc1XHhkMCIKKwkJCSAgIlx4ZGFc eGNlXHhkMlx4ZWVceDdlXHg0Ylx4N2ZceDY1IgorCQkJICAiXHg0ZFx4MjhceGM1XHhkM1x4MTVc eDJjXHg0MFx4OTYiCisJCQkgICJceDUyXHhkNFx4MThceDYxXHgyYlx4ZTdceDgzXHhlYyIKKwkJ CSAgIlx4ODlceDYyXHg5Y1x4NGNceDUwXHhlNlx4ZTJceGJiIgorCQkJICAiXHgyNVx4YTFceDBm XHhhN1x4YjBceGI0XHhiMlx4ZGUiCisJCQkgICJceDU0XHgyMFx4YWVceGEzXHg1Nlx4YTVceDI2 XHg0YyIKKwkJCSAgIlx4ZDVceGNjXHhlNVx4Y2JceDI4XHg0NFx4YjFceGVmIgorCQkJICAiXHg2 N1x4MmVceDkzXHg2ZFx4MDBceDg4XHg4M1x4OWEiCisJCQkgICJceGYyXHgxY1x4NDhceDM4XHhl Y1x4MWFceDI0XHg5MCIKKwkJCSAgIlx4NzNceDBhXHhkYlx4ZThceGNlXHg5NVx4N2FceDJjIgor CQkJICAiXHg4Y1x4ZTlceGI3XHgwN1x4MWRceGIzXHhhM1x4MjAiCisJCQkgICJceGJlXHhhZFx4 NjFceDg0XHhhY1x4ZGVceDc2XHhiNSIKKwkJCSAgIlx4YTZceDI4XHgyOVx4NDdceDYzXHhjNFx4 ZmNceDEzIgorCQkJICAiXHgzZlx4NzFceGZiXHg1OFx4MzdceDM0XHg4Mlx4ZWQiCisJCQkgICJc eDllXHgwNVx4MTlceDFmXHhjMVx4NjdceGMxXHhhYiIKKwkJCSAgIlx4ZjVceGZkXHg3Y1x4ZWFc eGZhXHhhNFx4ZjhceDBhIgorCQkJICAiXHhhY1x4NGNceDkyXHhkZlx4NjVceDczXHhkN1x4ZGIi CisJCQkgICJceGVkXHgyY1x4ZTBceDg0XHg1Zlx4NTdceDhjXHg3NiIKKwkJCSAgIlx4M2VceDA1 XHhjMFx4YzNceDY4XHg5Nlx4OTVceDBiIgorCQkJICAiXHg4OFx4OTdceGZlXHgyZVx4OTlceGQ1 XHhjMlx4YjkiCisJCQkgICJceDUzXHg5Zlx4ZjNceDMyXHgxMFx4MWZceDFmXHg1ZCIKKwkJCSAg Ilx4ZGZceDIxXHg5NVx4NzBceDkxXHhlOFx4YTFceDNlIgorCQkJICAiXHgxOVx4M2VceGI2XHgw Ylx4YThceGRiXHhmOFx4ZDQiCisJCQkgICJceDU0XHgyN1x4YjhceGFiXHg1ZFx4NzhceDBjXHhl NiIKKwkJCSAgIlx4YjdceDA4XHhlZVx4YTRceGI2XHg2Ylx4ZWJceDVhIgorCQkJICAiXHg4OVx4 NjlceDJiXHhiZFx4ZDRceDIxXHg1Ylx4YmYiCisJCQkgICJceDc5XHhiYlx4MGZceGZmXHhkYlx4 MjNceDlhXHhlYiIKKwkJCSAgIlx4OGRceGYyXHhjNFx4MzlceGI0XHg5MFx4NzdceDZmIgorCQkJ ICAiXHg2OFx4ZTJceGI4XHhmM1x4ZjFceDY1XHg0Zlx4ZDUiCisJCQkgICJceDI0XHg4MFx4MDZc eGFmXHg3Y1x4OGRceDE1XHgwYyIKKwkJCSAgIlx4ZmRceDU2XHhlNVx4ZTNceDAxXHhhNVx4Zjdc eDFjIgorCQkJICAiXHgzMVx4ZDZceGEyXHgwMVx4MWVceDU5XHhmOVx4YTkiCisJCQkgICJceDQy XHhkNVx4YzJceDM0XHhkYVx4MjVceGRlXHhjNiIKKwkJCSAgIlx4NWRceDM4XHhlZlx4ZDFceDRj XHhjMVx4ZDlceDFiIgorCQkJICAiXHg5OFx4ZmRceGNkXHg1N1x4NmZceGZkXHg0Nlx4OTEiCisJ CQkgICJceDkwXHgzZFx4NTJceDJiXHgyY1x4N2RceGNmXHg3MSIKKwkJCSAgIlx4Y2ZceGQxXHg3 N1x4MjNceDcxXHgzNlx4YjFceGNlIgorCQkJICAiXHhjN1x4NWRceGYwXHg1Ylx4NDRceDNkXHg0 M1x4NzEiCisJCQkgICJceGFjXHhiOFx4YTBceDZhXHhlYVx4ODlceDVjXHhmZiIKKwkJCSAgIlx4 ODFceDczXHhkNFx4ODNceGQxXHhjOVx4ZTlceGUyIgorCQkJICAiXHhhOFx4YTZceDBmXHgzNlx4 ZTZceGFhXHg1N1x4ZDQiCisJCQkgICJceDI3XHhkMlx4YzlceGRhXHg5NFx4MDJceDFmXHhmYiIK KwkJCSAgIlx4ZTFceGExXHgwN1x4YmVceGUxXHgxYlx4MTVceDk0IgorCQkJICAiXHgxZVx4YWNc eDJmXHg1N1x4YmJceDQxXHgyMlx4YWYiCisJCQkgICJceDYwXHg1ZVx4Y2NceDY2XHhjYlx4MTZc eDYyXHhhYiIKKwkJCSAgIlx4YjhceDdjXHg5OVx4ZjRceDg0XHg5M1x4MGNceGMyIgorCQkJICAi XHhhMlx4NDlceGU0XHhmZFx4MTdceDU1XHhlMVx4YTYiCisJCQkgICJceDhkXHg1Ylx4YzZceDFi XHhjOFx4YWNceGVjXHgxMSIKKwkJCSAgIlx4MzNceGNmXHhiMFx4ZThceGM3XHgyOFx4NGZceGIy IgorCQkJICAiXHg1Y1x4YTZceGUyXHg3MVx4YWJceDgwXHgwYVx4YTciCisJCQkgICJceDVjXHg1 OVx4NTBceDlmXHg3YVx4MzJceGI3XHhlNSIKKwkJCSAgIlx4MjRceDlhXHg4ZVx4MjVceDIxXHgy ZVx4YjdceDE4IgorCQkJICAiXHhkMFx4ZjJceGU3XHgyN1x4NmZceGRhXHhjMVx4MDAiCisJCQkg ICJceGQ5XHhhNlx4MDNceDU5XHhhY1x4NGJceGNiXHhiYSIsCisJCS5rbGVuCT0gMjQsCisJCS5s ZW4JPSA1MTIsCisJfSwKKwl7CisJCS5rZXkJPSAiXHg5ZVx4ZWJceGIyXHg0OVx4M2NceDFjXHhm NVx4ZjQiCisJCQkgICJceDZhXHg5OVx4YzJceGM0XHhkZlx4YjFceGY0XHhkZCIKKwkJCSAgIlx4 NzVceDIwXHg1N1x4ZWFceDJjXHg0Zlx4Y2RceGIyIgorCQkJICAiXHhhNVx4M2RceDdiXHg0OVx4 MWVceGFiXHhmZFx4MGYiLAorCQkuaXYJPSAiXHhkZlx4NjNceGQ0XHhhYlx4ZDJceDQ5XHhmM1x4 ZDgiCisJCQkgICJceDMzXHg4MVx4MzdceDYwXHg3ZFx4ZmFceDczXHgwOCIKKwkJCSAgIlx4ZDhc eDQ5XHg2ZFx4ODBceGU4XHgyZlx4NjJceDU0IgorCQkJICAiXHhlYlx4MGVceGE5XHgzOVx4NWJc eDQ1XHg3Zlx4OGEiLAorCQkucHRleHQJPSAiXHg2N1x4YzlceGYyXHgzMFx4ODRceDQxXHg4ZVx4 NDMiCisJCQkgICJceGZiXHhmM1x4YjNceDNlXHg3OVx4MzZceDdmXHhlOCIsCisJCS5jdGV4dAk9 ICJceDI3XHgzOFx4NzhceDQ3XHgxNlx4ZDlceDcxXHgzNSIKKwkJCSAgIlx4MmVceDdlXHhkZFx4 N2VceDQzXHgzY1x4YjhceDQwIiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDE2LAorCX0sCisJ eworCQkua2V5CT0gIlx4OTNceGZhXHg3ZVx4ZTJceDBlXHg2N1x4YzRceDM5IgorCQkJICAiXHhl N1x4Y2FceDQ3XHg5NVx4NjhceDlkXHg1ZVx4NWEiCisJCQkgICJceDdjXHgyNlx4MTlceGFiXHhj Nlx4Y2FceDZhXHg0YyIKKwkJCSAgIlx4NDVceGE2XHg5Nlx4NDJceGFlXHg2Y1x4ZmZceGU3IiwK KwkJLml2CT0gIlx4ZWFceDgyXHg0N1x4OTVceDNiXHgyMlx4YTFceDNhIgorCQkJICAiXHg2YVx4 Y2FceDI0XHg0Y1x4NTBceDdlXHgyM1x4Y2QiCisJCQkgICJceDBlXHg1MFx4ZTVceDQxXHhiNlx4 NjVceDI5XHhkOCIKKwkJCSAgIlx4MzBceDIzXHgwMFx4ZDJceDU0XHhhN1x4ZDZceDU2IiwKKwkJ LnB0ZXh0CT0gIlx4ZGJceDFmXHgxZlx4ZWNceGFkXHg4M1x4NmVceDVkIgorCQkJICAiXHgxOVx4 YTVceGY2XHgzYlx4YjRceDkzXHg1YVx4NTciCisJCQkgICJceDZmIiwKKwkJLmN0ZXh0CT0gIlx4 ZjFceDQ2XHg2ZVx4OWRceGIzXHgwMVx4ZjBceDZiIgorCQkJICAiXHhjMlx4YWNceDU3XHg4OFx4 NDhceDZkXHg0MFx4NzIiCisJCQkgICJceDY4IiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDE3 LAorCX0sCisJeworCQkua2V5CT0gIlx4MzZceDJiXHg1N1x4OTdceGY4XHg1ZFx4Y2RceDk5Igor CQkJICAiXHg1Zlx4MWFceDVhXHg0NFx4MWRceDkyXHgwZlx4MjciCisJCQkgICJceGNjXHgxNlx4 ZDdceDJiXHg4NVx4NjNceDk5XHhkMyIKKwkJCSAgIlx4YmFceDk2XHhhMVx4ZGJceGQyXHg2MFx4 NjhceGRhIiwKKwkJLml2CT0gIlx4ZWZceDU4XHg2OVx4YjFceDJjXHg1ZVx4OWFceDQ3IgorCQkJ ICAiXHgyNFx4YzFceGIxXHg2OVx4ZTFceDEyXHg5M1x4OGYiCisJCQkgICJceDQzXHgzZFx4NmRc eDAwXHhkYlx4NWVceGQ4XHhkOSIKKwkJCSAgIlx4MTJceDlhXHhmZVx4ZDlceGZmXHgyZFx4YWFc eGM0IiwKKwkJLnB0ZXh0CT0gIlx4NWVceGE4XHg2OFx4MTlceDg1XHg5OFx4MTJceDIzIgorCQkJ ICAiXHgyNlx4MGFceGNjXHhkYlx4MGFceDA0XHhiOVx4ZGYiCisJCQkgICJceDRkXHhiM1x4NDhc eDdiXHhiMFx4ZTNceGM4XHgxOSIKKwkJCSAgIlx4NDNceDVhXHg0Nlx4MDZceDk0XHgyZFx4ZjIi LAorCQkuY3RleHQJPSAiXHhkYlx4ZmRceGM4XHgwM1x4ZDBceGVjXHhjMVx4ZmUiCisJCQkgICJc eGJkXHg2NFx4MzdceGI4XHg4Mlx4NDNceDYyXHg0ZSIKKwkJCSAgIlx4N2VceDU0XHhhM1x4ZTJc eDI0XHhhN1x4MjdceGU4IgorCQkJICAiXHhhNFx4ZDVceGIzXHg2Y1x4YjJceDI2XHhiNCIsCisJ CS5rbGVuCT0gMzIsCisJCS5sZW4JPSAzMSwKKwl9LAorCXsKKwkJLmtleQk9ICJceDAzXHg2NVx4 MDNceDZlXHg0ZFx4ZTZceGU4XHg0ZSIKKwkJCSAgIlx4OGJceGJlXHgyMlx4MTlceDQ4XHgzMVx4 ZWVceGQ5IgorCQkJICAiXHhhMFx4OTFceDIxXHhiZVx4NjJceDg5XHhkZVx4NzgiCisJCQkgICJc eGQ5XHhiMFx4MzZceGEzXHgzY1x4Y2VceDQzXHhkNSIsCisJCS5pdgk9ICJceGE5XHhjM1x4NGJc eGU3XHgwZlx4ZmNceDZkXHhiZiIKKwkJCSAgIlx4NTZceDI3XHgyMVx4MWNceGZjXHhkNlx4MDRc eDEwIgorCQkJICAiXHg1Zlx4NDNceGUyXHgzMFx4MzVceDI5XHg2Y1x4MTAiCisJCQkgICJceDkw XHhmMVx4YmZceDYxXHhlZFx4MGZceDhhXHg5MSIsCisJCS5wdGV4dAk9ICJceDA3XHhhYVx4MDJc eDI2XHhiNFx4OThceDExXHg1ZSIKKwkJCSAgIlx4MzNceDQxXHgyMVx4NTFceDUxXHg2M1x4MmNc eDcyIgorCQkJICAiXHgwMFx4YWJceDMyXHhhN1x4MWNceGM4XHgzY1x4OWMiCisJCQkgICJceDI1 XHgwZVx4OGJceDlhXHhkZlx4ODVceGVkXHgyZCIKKwkJCSAgIlx4ZjRceGYyXHhiY1x4NTVceGNh XHg5Mlx4NmRceDIyIgorCQkJICAiXHhmZFx4MjJceDNiXHg0Mlx4NGNceDBiXHg3NFx4ZWMiLAor CQkuY3RleHQJPSAiXHg3Ylx4YjFceDQzXHg2ZFx4ZDhceDcyXHg2Y1x4ZjYiCisJCQkgICJceDY3 XHg2YVx4MDBceGM0XHhmMVx4ZjBceGY1XHhhNCIKKwkJCSAgIlx4ZmNceDYwXHg5MVx4YWJceDQ2 XHgwYlx4MTVceGZjIgorCQkJICAiXHhkN1x4YzFceDI4XHgxNVx4YTFceGZjXHhmN1x4NjgiCisJ CQkgICJceDhlXHhjY1x4MjdceDYyXHgwMFx4NjRceDU2XHg3MiIKKwkJCSAgIlx4YTZceDE3XHhk N1x4M2ZceDY3XHg4MFx4MTBceDU4IiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDQ4LAorCX0s CisJeworCQkua2V5CT0gIlx4YTVceDI4XHgyNFx4MzRceDFhXHgzY1x4ZDhceGY3IgorCQkJICAi XHgwNVx4OTFceDhmXHhlZVx4ODVceDFmXHgzNVx4N2YiCisJCQkgICJceDgwXHgzZFx4ZmNceDli XHg5NFx4ZjZceGZjXHg5ZSIKKwkJCSAgIlx4MTlceDA5XHgwMFx4YTlceDA0XHgzMVx4NGZceDEx IiwKKwkJLml2CT0gIlx4YTFceGJhXHg0OVx4OTVceGZmXHgzNFx4NmRceGI4IgorCQkJICAiXHhj ZFx4ODdceDVkXHg1ZVx4ZmRceGVhXHg4NVx4ZGIiCisJCQkgICJceDhhXHg3Ylx4NWVceGIyXHg1 ZFx4NTdceGRkXHg2MiIKKwkJCSAgIlx4YWNceGE5XHg4Y1x4NDFceDQyXHg5NFx4NzVceGI3IiwK KwkJLnB0ZXh0CT0gIlx4NjlceGI0XHhlOFx4OGNceDM3XHhlOFx4NjdceDgyIgorCQkJICAiXHhm MVx4ZWNceDVkXHgwNFx4ZTVceDE0XHg5MVx4MTMiCisJCQkgICJceGRmXHhmMlx4ODdceDFiXHg2 OVx4ODFceDFkXHg3MSIKKwkJCSAgIlx4NzBceDllXHg5Y1x4M2JceGRlXHg0OVx4NzBceDExIgor CQkJICAiXHhhMFx4YTNceGRiXHgwZFx4NTRceDRmXHg2Nlx4NjkiCisJCQkgICJceGQ3XHhkYlx4 ODBceGE3XHg3MFx4OTJceDY4XHhjZSIKKwkJCSAgIlx4ODFceDA0XHgyY1x4YzZceGFiXHhhZVx4 ZTVceDYwIgorCQkJICAiXHgxNVx4ZTlceDZmXHhlZlx4YWFceDhmXHhhN1x4YTciCisJCQkgICJc eDYzXHg4Zlx4ZjJceGYwXHg3N1x4ZjFceGE4XHhlYSIKKwkJCSAgIlx4ZTFceGI3XHgxZlx4OWVc eGFiXHg5ZVx4NGJceDNmIgorCQkJICAiXHgwN1x4ODdceDViXHg2Zlx4Y2RceGE4XHhhZlx4Yjki CisJCQkgICJceGZhXHg3MFx4MGJceDUyXHhiOFx4YThceGE3XHg5ZSIKKwkJCSAgIlx4MDdceDVm XHhhNlx4MGVceGIzXHg5Ylx4NzlceDEzIgorCQkJICAiXHg3OVx4YzNceDNlXHg4ZFx4MWNceDJj XHg2OFx4YzgiCisJCQkgICJceDUxXHgxZFx4M2NceDdiXHg3ZFx4NzlceDc3XHgyYSIKKwkJCSAg Ilx4NTZceDY1XHhjNVx4NTRceDIzXHgyOFx4YjBceDAzIiwKKwkJLmN0ZXh0CT0gIlx4ZWJceGY5 XHg5OFx4ODZceDNjXHg0MFx4OWZceDE2IgorCQkJICAiXHg4NFx4MDFceGY5XHgwNlx4MGZceGVi XHgzY1x4YTkiCisJCQkgICJceDRjXHhhNFx4OGVceDVkXHhjM1x4OGRceGU1XHhkMyIKKwkJCSAg Ilx4YWVceGE2XHhlNlx4Y2NceGQ2XHgyZFx4MzdceDRmIgorCQkJICAiXHg5OVx4YzhceGEzXHgy MVx4NDZceGI4XHg2OVx4ZjIiCisJCQkgICJceGUzXHgxNFx4ODlceGQ3XHhiOVx4ZjVceDllXHg0 ZSIKKwkJCSAgIlx4MDdceDkzXHg2Zlx4NzhceDhlXHg2Ylx4ZWFceDhmIgorCQkJICAiXHhmYlx4 NDNceGI4XHgzZVx4OWJceDRjXHgxZFx4N2UiCisJCQkgICJceDIwXHg5YVx4YzVceDg3XHhlZVx4 YWZceGY2XHhmOSIKKwkJCSAgIlx4NDZceGM1XHgxOFx4OGFceGU4XHg2OVx4ZTdceDk2IgorCQkJ ICAiXHg1Mlx4NTVceDVmXHgwMFx4MWVceDFhXHhkY1x4Y2MiCisJCQkgICJceDEzXHhhNVx4ZWVc eGZmXHg0Ylx4MjdceGNhXHhkYyIKKwkJCSAgIlx4MTBceGE2XHg0OFx4NzZceDk4XHg0M1x4OTRc eGEzIgorCQkJICAiXHhjN1x4ZTJceGM5XHg2NVx4OWJceDA4XHgxNFx4MjYiCisJCQkgICJceDFk XHg2OFx4ZmJceDE1XHgwYVx4MzNceDQ5XHg4NCIKKwkJCSAgIlx4ODRceDMzXHg1YVx4MWJceDI0 XHg0Nlx4MzFceDkyIiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDEyOCwKKwl9LAorCXsKKwkJ LmtleQk9ICJceDM2XHg0NVx4MTFceGEyXHg5OFx4NWZceDk2XHg3YyIKKwkJCSAgIlx4YzZceGI0 XHg5NFx4MzFceDBhXHg2N1x4MDlceDMyIgorCQkJICAiXHg2Y1x4NmZceDZmXHgwMFx4ZjBceDE3 XHhjYlx4YWMiCisJCQkgICJceGE1XHhhOVx4NDdceDllXHgyZVx4ODVceDJmXHhmYSIsCisJCS5p dgk9ICJceDI4XHg4OFx4YWFceDliXHg1OVx4M2JceDFlXHg5NyIKKwkJCSAgIlx4ODJceGU1XHg1 Y1x4OWVceDZkXHgxNFx4MTFceDE5IgorCQkJICAiXHg2ZVx4MzhceDhmXHhkNVx4NDBceDJiXHhj YVx4ZjkiCisJCQkgICJceDdiXHg0Y1x4ZTRceGEzXHhkMFx4ZDJceDhhXHgxMyIsCisJCS5wdGV4 dAk9ICJceDk1XHhkMlx4ZjdceDcxXHgxYlx4Y2FceGE1XHg4NiIKKwkJCSAgIlx4ZDlceDQ4XHgw MVx4OTNceDJmXHg3OVx4NTVceDI5IgorCQkJICAiXHg3MVx4MTNceDE1XHgwZVx4ZTZceDEyXHhi Y1x4NGQiCisJCQkgICJceDhhXHgzMVx4ZTNceDQwXHgyYVx4YzZceDVlXHgwZCIKKwkJCSAgIlx4 NjhceGJiXHg0YVx4NjJceDhkXHhjN1x4NDVceDc3IgorCQkJICAiXHhkMlx4YjhceGM3XHgxZFx4 ZjFceGQyXHg1ZFx4OTciCisJCQkgICJceGNmXHhhY1x4NTJceGU1XHgzMlx4NzdceGI2XHhkYSIK KwkJCSAgIlx4MzBceDg1XHhjZlx4MmJceDk4XHhlOVx4YWFceDM0IgorCQkJICAiXHg2Mlx4YjVc eDIzXHg5ZVx4YjdceGE2XHhkNFx4ZTAiCisJCQkgICJceGI0XHg1OFx4MThceDhjXHg0ZFx4ZGVc eDRkXHgwMSIKKwkJCSAgIlx4ODNceDg5XHgyNFx4Y2FceGZiXHgxMVx4ZDRceDgyIgorCQkJICAi XHgzMFx4N2FceDgxXHgzNVx4YTBceGI0XHhkNFx4YjYiCisJCQkgICJceDg0XHhlYVx4NDdceDkx XHg4Y1x4MTlceDg2XHgyNSIKKwkJCSAgIlx4YTZceDA2XHg4ZFx4NzhceGU2XHhlZFx4ODdceGVi IgorCQkJICAiXHhkYVx4ZWFceDczXHg3Y1x4YmZceDY2XHhiOFx4NzIiCisJCQkgICJceGUzXHgw YVx4YjhceDBjXHhjYlx4MWFceDczXHhmMSIKKwkJCSAgIlx4YTdceGNhXHgwYVx4ZGVceDU3XHgy Ylx4YmRceDJiIgorCQkJICAiXHhlYlx4OGJceDI0XHgzOFx4MjJceGQzXHgwZVx4MWYiCisJCQkg ICJceDE3XHhhMFx4ODRceDk4XHgzMVx4NzdceGZkXHgzNCIKKwkJCSAgIlx4NmFceDRlXHgzZFx4 ODRceDRjXHgwZVx4ZmJceGVkIgorCQkJICAiXHhjOFx4MmFceDUxXHhmYVx4ZDhceDczXHgyMVx4 OGEiCisJCQkgICJceGRiXHhiNVx4ZmVceDFmXHhlZVx4YzRceGU4XHg2NSIKKwkJCSAgIlx4NTRc eDg0XHhkZFx4OTZceDZkXHhmZFx4ZDNceDMxIgorCQkJICAiXHg3N1x4MzZceDUyXHg2Ylx4ODBc eDRmXHg5ZVx4YjQiCisJCQkgICJceGEyXHg1NVx4YmZceDY2XHg0MVx4NDlceDRlXHg4NyIKKwkJ CSAgIlx4YTdceDBjXHhjYVx4ZTdceGE1XHhjNVx4ZjZceDZmIgorCQkJICAiXHgyN1x4NTZceGUy XHg0OFx4MjJceGRkXHg1Zlx4NTkiCisJCQkgICJceDNjXHhmMVx4OWZceDgzXHhlNVx4MmRceGZi XHg3MSIKKwkJCSAgIlx4YWRceGQxXHhhZVx4MWJceDIwXHg1Y1x4NDdceGI3IgorCQkJICAiXHgz Ylx4ZDNceDE0XHhjZVx4ODFceDQyXHhiMVx4MGEiCisJCQkgICJceGYwXHg0OVx4ZmFceGMyXHhl N1x4ODZceGJmXHhjZCIKKwkJCSAgIlx4YjBceDk1XHg5Zlx4OGZceDc5XHg0MVx4NTQiLAorCQku Y3RleHQJPSAiXHhmNlx4NTdceDUxXHhjNFx4MjVceDYxXHgyZFx4ZmEiCisJCQkgICJceGQ2XHhk OVx4M2ZceDlhXHg4MVx4NTFceGRkXHg4ZSIKKwkJCSAgIlx4M2RceGU3XHhhYVx4MmRceGIxXHhk YVx4YzhceGE2IgorCQkJICAiXHg5ZFx4YWFceDNjXHhhYlx4NjJceGYyXHg4MFx4YzMiCisJCQkg ICJceDJjXHhlN1x4NThceDcyXHgxZFx4NDRceGM1XHgyOCIKKwkJCSAgIlx4N2ZceGI0XHhmOVx4 YmNceDljXHhiMlx4YWJceDhlIgorCQkJICAiXHhmYVx4ZDFceDRkXHg3Mlx4ZDlceDc5XHhmNVx4 YTAiCisJCQkgICJceDI0XHgzZVx4OTBceDI1XHgzMVx4MTRceDM4XHg0NSIKKwkJCSAgIlx4NTlc eGM4XHhmNlx4ZTJceGM2XHhmNlx4YzFceGE3IgorCQkJICAiXHhiMlx4ZjhceGE3XHhhOVx4MmJc eDZmXHgxMlx4M2EiCisJCQkgICJceGIwXHg4MVx4YTRceDA4XHg1N1x4NTlceGIxXHg1NiIKKwkJ CSAgIlx4NGNceDhmXHgxOFx4NTVceDMzXHg1Zlx4ZDZceDZhIgorCQkJICAiXHhjNlx4YTBceDRi XHhkNlx4NmJceDY0XHgzZVx4OWUiCisJCQkgICJceGZkXHg2Nlx4MTZceGUyXHhkYlx4ZWJceDVm XHhiMyIKKwkJCSAgIlx4NTBceDUwXHgzZVx4ZGVceDhkXHg3Mlx4NzZceDAxIgorCQkJICAiXHhi ZVx4Y2NceGM5XHg1Mlx4MDlceDJkXHg4ZFx4ZTciCisJCQkgICJceGQ2XHhjM1x4NjZceGRiXHgz Nlx4MDhceGQxXHg3NyIKKwkJCSAgIlx4YzhceDczXHg0Nlx4MjZceDI0XHgyOVx4YmZceDY4Igor CQkJICAiXHgyZFx4MmFceDk5XHg0M1x4NTZceDU1XHhlNFx4OTMiCisJCQkgICJceGFmXHhhZVx4 NGRceGU3XHg1NVx4NGFceGMwXHg0NSIKKwkJCSAgIlx4MjZceGViXHgzYlx4MTJceDkwXHg3Y1x4 ZGNceGQxIgorCQkJICAiXHhkNVx4NmZceDBhXHhkMFx4YTlceGQ3XHg0Ylx4ODkiCisJCQkgICJc eDBiXHgwN1x4ZDhceDg2XHhhZFx4YTFceGM0XHg2OSIKKwkJCSAgIlx4MWZceDVlXHg4Ylx4YzRc eDllXHg5MVx4NDFceDI1IgorCQkJICAiXHg1Nlx4OThceDY5XHg3OFx4M2FceDllXHhhZVx4OTEi CisJCQkgICJceGQ4XHhkOVx4ZmFceGZiXHhmZlx4ODFceDI1XHgwOSIKKwkJCSAgIlx4ZmNceGVk XHgyZFx4ODdceGJjXHgwNFx4NjJceDk3IgorCQkJICAiXHgzNVx4ZTFceDI2XHhjMlx4NDZceDFj XHhjZlx4ZDciCisJCQkgICJceDE0XHhlZFx4MDJceDA5XHhhNVx4YjJceGI2XHhhYSIKKwkJCSAg Ilx4MjdceDRlXHg2MVx4YjNceDcxXHg2Ylx4NDdceDE2IgorCQkJICAiXHhiN1x4ZThceGQ0XHhh Zlx4NTJceGViXHg2YVx4NmIiCisJCQkgICJceGRiXHg0Y1x4NjVceDIxXHg5ZVx4MWNceDM2IiwK KwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDI1NSwKKwl9LAorCXsKKwkJLmtleQk9ICJceGQzXHg4 MVx4NzJceDE4XHgyM1x4ZmZceDZmXHg0YSIKKwkJCSAgIlx4MjVceDc0XHgyOVx4MGRceDUxXHg4 YVx4MGVceDEzIgorCQkJICAiXHhjMVx4NTNceDVkXHgzMFx4OGRceGVlXHg3NVx4MGQiCisJCQkg ICJceDE0XHhkNlx4NjlceGM5XHgxNVx4YTlceDBjXHg2MCIsCisJCS5pdgk9ICJceDY1XHg5Ylx4 ZDRceGE4XHg3ZFx4MjlceDFkXHhmNCIKKwkJCSAgIlx4YzRceGQ2XHg5Ylx4NmFceDI4XHhhYlx4 NjRceGUyIgorCQkJICAiXHg2Mlx4ODFceDk3XHhjNVx4ODFceGFhXHhmOVx4NDQiCisJCQkgICJc eGMxXHg3Mlx4NTlceDgyXHhhZlx4MTZceGM4XHgyYyIsCisJCS5wdGV4dAk9ICJceGM3XHg2Ylx4 NTJceDZhXHgxMFx4ZjBceGNjXHgwOSIKKwkJCSAgIlx4YzFceDEyXHgxZFx4NmRceDIxXHhhNlx4 NzhceGY1IgorCQkJICAiXHgwNVx4YTNceDY5XHg2MFx4OTFceDM2XHg5OFx4NTciCisJCQkgICJc eGJhXHgwY1x4MTRceGNjXHhmM1x4MmRceDczXHgwMyIKKwkJCSAgIlx4YzZceGIyXHg1Zlx4Yzhc eDE2XHgyN1x4MzdceDVkIgorCQkJICAiXHhkMFx4MGJceDg3XHhiMlx4NTBceDk0XHg3Ylx4NTgi CisJCQkgICJceDA0XHhmNFx4ZTBceDdmXHg2ZVx4NTdceDhlXHhjOSIKKwkJCSAgIlx4NDFceDg0 XHhjMVx4YjFceDdlXHg0Ylx4OTFceDEyIgorCQkJICAiXHgzYVx4OGJceDVkXHg1MFx4ODJceDdi XHhjYlx4ZDkiCisJCQkgICJceDlhXHhkOVx4NGVceDE4XHgwNlx4MjNceDllXHhkNCIKKwkJCSAg Ilx4YTVceDIwXHg5OFx4ZWZceGI1XHhkYVx4ZTVceGMwIgorCQkJICAiXHg4YVx4NmFceDgzXHg3 N1x4MTVceDg0XHgxZVx4YWUiCisJCQkgICJceDc4XHg5NFx4OWRceGRmXHhiN1x4ZDFceGVhXHg2 NyIKKwkJCSAgIlx4YWFceGIwXHgxNFx4MTVceGZhXHg2N1x4MjFceDg0IgorCQkJICAiXHhkM1x4 NDFceDJhXHhjZVx4YmFceDRiXHg0YVx4ZTgiCisJCQkgICJceDk1XHg2Mlx4YTlceDU1XHhmMFx4 ODBceGFkXHhiZCIKKwkJCSAgIlx4YWJceGFmXHhkZFx4NGZceGE1XHg3Y1x4MTNceDM2IgorCQkJ ICAiXHhlZFx4NWVceDRmXHg3Mlx4YWRceDRiXHhmMVx4ZDAiCisJCQkgICJceDg4XHg0ZVx4ZWNc eDJjXHg4OFx4MTBceDVlXHhlYSIKKwkJCSAgIlx4MTJceGMwXHgxNlx4MDFceDI5XHhhM1x4YTBc eDU1IgorCQkJICAiXHhhYVx4NjhceGYzXHhlOVx4OWRceDNiXHgwZFx4M2IiCisJCQkgICJceDZk XHhlY1x4ZjhceGEwXHgyZFx4ZjBceDkwXHg4ZCIKKwkJCSAgIlx4MWNceGUyXHg4OFx4ZDRceDI0 XHg3MVx4ZjlceGIzIgorCQkJICAiXHhjMVx4OWZceGM1XHhkNlx4NzZceDcwXHhjNVx4MmUiCisJ CQkgICJceDljXHhhY1x4ZGJceDkwXHhiZFx4ODNceDcyXHhiYSIKKwkJCSAgIlx4NmVceGI1XHhh NVx4NTNceDgzXHhhOVx4YTVceGJmIgorCQkJICAiXHg3ZFx4MDZceDBlXHgzY1x4MmFceGQyXHgw NFx4YjUiCisJCQkgICJceDFlXHgxOVx4MzhceDA5XHgxNlx4ZDJceDgyXHgxZiIKKwkJCSAgIlx4 NzVceDE4XHg1Nlx4YjhceDk2XHgwYlx4YTZceGY5IgorCQkJICAiXHhjZlx4NjJceGQ5XHgzMlx4 NWRceGE5XHhkN1x4MWQiCisJCQkgICJceGVjXHhlNFx4ZGZceDFiXHhiZVx4ZjFceDM2XHhlZSIK KwkJCSAgIlx4ZTNceDdiXHhiNVx4MmZceGVlXHhmOFx4NTNceDNkIgorCQkJICAiXHg2YVx4Yjdc eDcwXHhhOVx4ZmNceDljXHg1N1x4MjUiCisJCQkgICJceGYyXHg4OVx4MTBceGQzXHhiOFx4YThc eDhjXHgzMCIKKwkJCSAgIlx4YWVceDIzXHg0Zlx4MGVceDEzXHg2Nlx4NGZceGUxIgorCQkJICAi XHhiNlx4YzBceGU0XHhmOFx4ZWZceDkzXHhiZFx4NmUiCisJCQkgICJceDE1XHg4NVx4NmJceGUz XHg2MFx4ODFceDFkXHg2OCIKKwkJCSAgIlx4ZDdceDMxXHg4N1x4ODlceDA5XHhhYlx4ZDVceDk2 IgorCQkJICAiXHgxZFx4ZjNceDZkXHg2N1x4ODBceGNhXHgwN1x4MzEiCisJCQkgICJceDVkXHhh N1x4ZTRceGZiXHgzZVx4ZjJceDliXHgzMyIKKwkJCSAgIlx4NTJceDE4XHhjOFx4MzBceGZlXHgy ZFx4Y2FceDFlIgorCQkJICAiXHg3OVx4OTJceDdhXHg2MFx4NWNceGI2XHg1OFx4ODciCisJCQkg ICJceGE0XHgzNlx4YTJceDY3XHg5Mlx4OGJceGE0XHhiNyIKKwkJCSAgIlx4ZjFceDg2XHhkZlx4 ZGNceGMwXHg3ZVx4OGZceDYzIgorCQkJICAiXHhkMlx4YTJceGRjXHg3OFx4ZWJceDRmXHhkOFx4 OTYiCisJCQkgICJceDQ3XHhjYVx4YjhceDkxXHhmOVx4ZjdceDk0XHgyMSIKKwkJCSAgIlx4NWZc eDlhXHg5Zlx4NWJceGI4XHg0MFx4NDFceDRiIgorCQkJICAiXHg2Nlx4NjlceDZhXHg3Mlx4ZDBc eGNiXHg3MFx4YjciCisJCQkgICJceDkzXHhiNVx4MzdceDk2XHgwNVx4MzdceDRmXHhlNSIKKwkJ CSAgIlx4OGNceGE3XHg1YVx4NGVceDhiXHhiN1x4ODRceGVhIgorCQkJICAiXHhjN1x4ZmNceDE5 XHg2ZVx4MWZceDVhXHhhMVx4YWMiCisJCQkgICJceDE4XHg3ZFx4NTJceDNiXHhiM1x4MzRceDYy XHg5OSIKKwkJCSAgIlx4ZTRceDllXHgzMVx4MDRceDNmXHhjMFx4OGRceDg0IgorCQkJICAiXHgx N1x4N2NceDI1XHg0OFx4NTJceDY3XHgxMVx4MjciCisJCQkgICJceDY3XHhiYlx4NWFceDg1XHhj YVx4NTZceGIyXHg1YyIKKwkJCSAgIlx4ZTZceGVjXHhkNVx4OTZceDNkXHgxNVx4ZmNceGZiIgor CQkJICAiXHgyMlx4MjVceGY0XHgxM1x4ZTVceDkzXHg0Ylx4OWEiCisJCQkgICJceDc3XHhmMVx4 NTJceDE4XHhmYVx4MTZceDVlXHg0OSIKKwkJCSAgIlx4MDNceDQ1XHhhOFx4MDhceGZhXHhiM1x4 NDFceDkyIgorCQkJICAiXHg3OVx4NTBceDMzXHhjYVx4ZDBceGQ3XHg0Mlx4NTUiCisJCQkgICJc eGMzXHg5YVx4MGNceDRlXHhkOVx4YTRceDNjXHg4NiIKKwkJCSAgIlx4ODBceDlmXHg1M1x4ZDFc eGE0XHgyZVx4ZDFceGJjIgorCQkJICAiXHhmMVx4NTRceDZlXHg5M1x4YTRceDY1XHg5OVx4OGUi CisJCQkgICJceGRmXHgyOVx4YzBceDY0XHg2M1x4MDdceGJiXHhlYSIsCisJCS5jdGV4dAk9ICJc eDlmXHg3Mlx4ODdceGM3XHgxN1x4ZmJceDIwXHgxNSIKKwkJCSAgIlx4NjVceGIzXHg1NVx4YThc eDFjXHg4ZVx4NTJceDMyIgorCQkJICAiXHhiMVx4ODJceDhkXHhiZlx4YjVceDlmXHgxMFx4MGEi CisJCQkgICJceGU4XHgwY1x4NzBceDYyXHhlZlx4ODlceGI2XHgxZiIKKwkJCSAgIlx4NzNceGNj XHhlNFx4Y2NceDdhXHgzYVx4NzVceDRhIgorCQkJICAiXHgyNlx4ZTdceGY1XHhkN1x4N2JceDE3 XHgzOVx4MmQiCisJCQkgICJceGQyXHgyN1x4NmVceGY5XHgyZlx4OWVceGUyXHhmNiIKKwkJCSAg Ilx4ZmFceDE2XHhjMlx4ZjJceDQ5XHgyNlx4YTdceDViIgorCQkJICAiXHhlN1x4Y2FceDI1XHgw ZVx4NDVceGEwXHgzNFx4YzIiCisJCQkgICJceDlhXHgzN1x4NzlceDdlXHg3Y1x4NThceDE4XHg5 NCIKKwkJCSAgIlx4MTBceGE4XHg3Y1x4NDhceGE5XHhkN1x4NjNceDg5IgorCQkJICAiXHg5ZVx4 NjFceDRkXHgyNlx4MzRceGQ5XHhmMFx4YjEiCisJCQkgICJceDJkXHgxN1x4MmNceDZmXHg3Y1x4 MzVceDBlXHhiZSIKKwkJCSAgIlx4NzdceDcxXHg3Y1x4MTdceDViXHhhYlx4NzBceGRiIgorCQkJ ICAiXHgyZlx4NTRceDBmXHhhOVx4YzhceGY0XHhmNVx4YWIiCisJCQkgICJceDUyXHgwNFx4M2Fc eGI4XHgwM1x4YTdceGZkXHg1NyIKKwkJCSAgIlx4NDVceDVlXHhiY1x4NzdceGUxXHhlZVx4Nzlc eDhjIgorCQkJICAiXHg1OFx4N2JceDFmXHhmN1x4NzVceGRlXHg2OFx4MTciCisJCQkgICJceDk4 XHg4NVx4OGFceDE4XHg1Y1x4ZDJceDM5XHg3OCIKKwkJCSAgIlx4N2FceDZmXHgyNlx4NmVceGUx XHgxM1x4OTFceGRkIgorCQkJICAiXHhkZlx4MGVceDZlXHg2N1x4Y2NceDUxXHg1M1x4ZDgiCisJ CQkgICJceDE3XHg1ZVx4Y2VceGE3XHhlNFx4YWZceGZhXHhmMyIKKwkJCSAgIlx4NGZceDlmXHgw MVx4OWJceDA0XHhlN1x4ZmNceGY5IgorCQkJICAiXHg2YVx4ZGNceDFkXHgwY1x4OWFceGFhXHgz YVx4N2EiCisJCQkgICJceDczXHgwM1x4ZGZceGJmXHgzYlx4ODJceGJlXHhiMCIKKwkJCSAgIlx4 YjRceGE0XHhjZlx4MDdceGQ3XHhkZVx4NzFceDI1IgorCQkJICAiXHhjNVx4MTBceGVlXHgwYVx4 MTVceDk2XHg4Ylx4NGYiCisJCQkgICJceGZlXHhiOFx4MjhceGJkXHg0YVx4Y2RceGViXHg5ZiIK KwkJCSAgIlx4NWRceDAwXHhjMVx4ZWVceGU4XHgxNlx4NDRceGVjIgorCQkJICAiXHhlOVx4N2Jc eGQ2XHg4NVx4MTdceDI5XHhjZlx4NTgiCisJCQkgICJceDIwXHhhYlx4ZjdceGNlXHg2Ylx4ZTdc eDcxXHg3ZCIKKwkJCSAgIlx4NGZceGE4XHhiMFx4ZTlceDdkXHg3MFx4ZDZceDBiIgorCQkJICAi XHgyZVx4MjBceGIxXHgxYVx4NjNceDM3XHhhYVx4MmMiCisJCQkgICJceDk0XHhlZVx4ZDVceGY2 XHg1OFx4MmFceGY0XHg3YSIKKwkJCSAgIlx4NGNceGJhXHhmNVx4ZTlceDNjXHg2Zlx4OTVceDEz IgorCQkJICAiXHg1Zlx4OTZceDgxXHg1Ylx4YjVceDYyXHhmMlx4ZDciCisJCQkgICJceDhkXHhi ZVx4YTFceDMxXHg1MVx4ZTZceGZlXHhjOSIKKwkJCSAgIlx4MDdceDdkXHgwZlx4MDBceDNhXHg2 Nlx4OGNceDRiIgorCQkJICAiXHg5NFx4YWFceGU1XHg1Nlx4ZGVceGNkXHg3NFx4YTciCisJCQkg ICJceDQ4XHg2N1x4NmZceGVkXHhjOVx4NmFceGVmXHhhZiIKKwkJCSAgIlx4OWFceGI3XHhhZVx4 NjBceGZhXHhjMFx4MzdceDM5IgorCQkJICAiXHhhNVx4MjVceGU1XHgyMlx4ZWFceDgyXHg1NVx4 NjgiCisJCQkgICJceDNlXHgzMFx4YzNceDVhXHhiNlx4MjlceDczXHg3YSIKKwkJCSAgIlx4YjZc eGZiXHgzNFx4ZWVceDUxXHg3Y1x4NTRceGU1IgorCQkJICAiXHgwMVx4NGRceDcyXHgyNVx4MzJc eDRhXHhhM1x4NjgiCisJCQkgICJceDgwXHg5YVx4ODlceGM1XHgxMVx4NjZceDRjXHg4YyIKKwkJ CSAgIlx4NDRceDUwXHhiZVx4ZDdceGEwXHhlZVx4YTZceGJiIgorCQkJICAiXHg5Mlx4MGNceGU2 XHhkN1x4ODNceDUxXHhiMVx4NjkiCisJCQkgICJceDYzXHg0MFx4ZjNceGY0XHg5Mlx4ODRceGM0 XHgzOCIKKwkJCSAgIlx4MjlceGZiXHhiNFx4ODRceGEwXHgxOVx4NzVceDE2IgorCQkJICAiXHg2 MFx4YmZceDBhXHg5Y1x4ODlceGVlXHhhZFx4YjQiCisJCQkgICJceDQzXHhmOVx4NzFceDM5XHg0 NVx4N2NceDI0XHg4MyIKKwkJCSAgIlx4MzBceGJiXHhlZVx4MjhceGIwXHg4Nlx4N2JceGVjIgor CQkJICAiXHg5M1x4YzFceGJmXHhiOVx4OTdceDFiXHg5Nlx4ZWYiCisJCQkgICJceGVlXHg1OFx4 MzVceDYxXHgxMlx4MTlceGRhXHgyNSIKKwkJCSAgIlx4NzdceGU1XHg4MFx4MWFceDMxXHgyN1x4 OWJceGU0IgorCQkJICAiXHhkYVx4OGJceDdlXHg1MVx4NGRceGNiXHgwMVx4MTkiCisJCQkgICJc eDRmXHhkY1x4OTJceDFhXHgxN1x4ZDVceDZiXHhmNCIKKwkJCSAgIlx4NTBceGUzXHgwNlx4ZTRc eDc2XHg5Zlx4NjVceDAwIgorCQkJICAiXHhiZFx4N2FceGUyXHg2NFx4MjZceGYyXHhlNFx4N2Ui CisJCQkgICJceDQwXHhmMlx4ODBceGFiXHg2Mlx4ZDVceGVmXHgyMyIKKwkJCSAgIlx4OGJceGZi XHg2Zlx4MjRceDZlXHg5Ylx4NjZceDBlIgorCQkJICAiXHhmNFx4MWNceDI0XHgxZVx4MWRceDI2 XHg5NVx4MDkiCisJCQkgICJceDk0XHgzY1x4YjJceGI2XHgwMlx4YTdceGQ5XHg5YSIsCisJCS5r bGVuCT0gMzIsCisJCS5sZW4JPSA1MTIsCisJfSwKKworfTsKKwogI2VuZGlmCS8qIF9DUllQVE9f VEVTVE1HUl9IICovCi0tIAoyLjM2LjAuNDY0LmdiOWM4YjQ2ZTk0LWdvb2cKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==