From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5A9A14A028 for ; Wed, 17 Apr 2024 18:02:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D49AF68D356; Wed, 17 Apr 2024 21:02:02 +0300 (EEST) Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0D18968D23A for ; Wed, 17 Apr 2024 21:01:57 +0300 (EEST) Received: by mail-ot1-f43.google.com with SMTP id 46e09a7af769-6ea2ac0c217so22072a34.1 for ; Wed, 17 Apr 2024 11:01:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713376915; x=1713981715; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=hpJdUkjgLREnENPCSmsItdwx+TC04vMu/mCj4hAGpvQ=; b=lExM9ncucxEJeTTd9/pUma9zBl07dblRWw/z5KeHb2Z6/QCy5P9bBu/6U+YdA2U5jR AFHovVVAZc6BCrLOw/ULRykdKZG6P4TVpEu6J3NelKhueMb7JACTTQFznLKwVho8ENeI vFgemEdWWuJK3njwFYXUhnhv7nZKHSRg/n9dvb/+bbPlajaS5V0X+ISjX5HsbbZsfLT0 G8B7+QpgjpBc6iq59hzUOVEUVhaEy8NExNgGqG6I4tiGMt/mgqif/hSFXfPAcZdiuoKy tHUlGKiExg0FWwCAzE7c4Oc59XxQnCgVA/RspgyaVRWuH0Q2cJnLOyyuNb/u2YfEh+ka 4nKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713376915; x=1713981715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hpJdUkjgLREnENPCSmsItdwx+TC04vMu/mCj4hAGpvQ=; b=wlQ6U93EdsZPVrVv3LP7BUE/JayljFhVw285VON8fi6e7JArXkFi/BIzRX0T+utXuG QAutIcgbz/X9WfB25uVtBAqUurcPkGQ+ogwtVIZirSJgZ8OBSE6beq0baC9/2+oiLbJW zpY0jm7EEoIEDp/PjgTWn4fnqa7rxbSWBd8nsOZ6PXpHratvw7m/pgulEE9FR9wn4TlT 6SnhqCLya8m8SSb2lyM0qL/T+x2rctbC/p1sp4At/5AaFWb4T+BH9ntinK3iy5mkrUnb hmqJowl4+hJVDjkHYd5LHnoJxuuycfbAbh4A5/rNIi7/4oL6zaBs/Wn7iKrvrSmiFIts AF7A== X-Gm-Message-State: AOJu0YyaJBqkvJ74vqxNwcJq/OlZkm/B+KzOd8hipboHDJ3QpgA03I0t QlylTC0rbNmwo39yoHzVxUgTn15nVyARsrbwCoLxtRNU+M+abdpac7hNZQma X-Google-Smtp-Source: AGHT+IGh3NSfspPhbqIR2HNBVy0t0OIdUQ+mnMF/BvOTzfLQjToJHQnUZkUsLj80BXwz7qUhmv4a5A== X-Received: by 2002:a05:6830:16d2:b0:6ea:2279:517c with SMTP id l18-20020a05683016d200b006ea2279517cmr56192otr.18.1713376914115; Wed, 17 Apr 2024 11:01:54 -0700 (PDT) Received: from localhost.localdomain ([206.0.71.7]) by smtp.gmail.com with ESMTPSA id n8-20020a9d64c8000000b006e695048ad8sm2791141otl.66.2024.04.17.11.01.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 11:01:53 -0700 (PDT) From: Ramiro Polla To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Apr 2024 20:01:38 +0200 Message-Id: <20240417180138.21864-3-ramiro.polla@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240417180138.21864-1-ramiro.polla@gmail.com> References: <20240417180138.21864-1-ramiro.polla@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 2/2] lavc/aarch64/fdct: add neon-optimized fdct for aarch64 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: VGhlIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbSBsaWJqcGVnLXR1cmJvLTMuMC4xLiBUaGUgbmVvbiBy ZWdpc3RlcnMgdXNlZApoYXZlIGJlZW4gY2hhbmdlZCB0byBhdm9pZCBtb2RpZnlpbmcgdjgtdjE1 LgoKUmV2aWV3ZWQtYnk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KLS0tCiBs aWJhdmNvZGVjL2FhcmNoNjQvTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAgMiArCiBsaWJhdmNv ZGVjL2FhcmNoNjQvZmRjdC5oICAgICAgICAgICAgICAgICB8ICAyNiArKwogbGliYXZjb2RlYy9h YXJjaDY0L2ZkY3Rkc3BfaW5pdF9hYXJjaDY0LmMgfCAgMzkgKysrCiBsaWJhdmNvZGVjL2FhcmNo NjQvZmRjdGRzcF9uZW9uLlMgICAgICAgICB8IDM2OCArKysrKysrKysrKysrKysrKysrKysrCiBs aWJhdmNvZGVjL2F2Y29kZWMuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWJhdmNv ZGVjL2ZkY3Rkc3AuYyAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogbGliYXZjb2RlYy9m ZGN0ZHNwLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogbGliYXZjb2RlYy9vcHRpb25z X3RhYmxlLmggICAgICAgICAgICAgICAgfCAgIDEgKwogbGliYXZjb2RlYy90ZXN0cy9hYXJjaDY0 L2RjdC5jICAgICAgICAgICAgfCAgIDIgKwogOSBmaWxlcyBjaGFuZ2VkLCA0NDQgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvYWFyY2g2 NC9mZGN0LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNvZGVjL2FhcmNoNjQvZmRjdGRzcF9p bml0X2FhcmNoNjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvYWFyY2g2NC9mZGN0 ZHNwX25lb24uUwoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFyY2g2NC9NYWtlZmlsZSBiL2xp YmF2Y29kZWMvYWFyY2g2NC9NYWtlZmlsZQppbmRleCA5NWFkNGRkMjAyLi5hMzI1NmJiMWNjIDEw MDY0NAotLS0gYS9saWJhdmNvZGVjL2FhcmNoNjQvTWFrZWZpbGUKKysrIGIvbGliYXZjb2RlYy9h YXJjaDY0L01ha2VmaWxlCkBAIC0xLDUgKzEsNiBAQAogIyBzdWJzeXN0ZW1zCiBPQkpTLSQoQ09O RklHX0FDM0RTUCkgICAgICAgICAgICAgICAgICAgKz0gYWFyY2g2NC9hYzNkc3BfaW5pdF9hYXJj aDY0Lm8KK09CSlMtJChDT05GSUdfRkRDVERTUCkgICAgICAgICAgICAgICAgICArPSBhYXJjaDY0 L2ZkY3Rkc3BfaW5pdF9hYXJjaDY0Lm8KIE9CSlMtJChDT05GSUdfRk1UQ09OVkVSVCkgICAgICAg ICAgICAgICArPSBhYXJjaDY0L2ZtdGNvbnZlcnRfaW5pdC5vCiBPQkpTLSQoQ09ORklHX0gyNjRD SFJPTUEpICAgICAgICAgICAgICAgKz0gYWFyY2g2NC9oMjY0Y2hyb21hX2luaXRfYWFyY2g2NC5v CiBPQkpTLSQoQ09ORklHX0gyNjREU1ApICAgICAgICAgICAgICAgICAgKz0gYWFyY2g2NC9oMjY0 ZHNwX2luaXRfYWFyY2g2NC5vCkBAIC0zNyw2ICszOCw3IEBAIEFSTVY4LU9CSlMtJChDT05GSUdf VklERU9EU1ApICAgICAgICAgICArPSBhYXJjaDY0L3ZpZGVvZHNwLm8KICMgc3Vic3lzdGVtcwog TkVPTi1PQkpTLSQoQ09ORklHX0FBQ19ERUNPREVSKSAgICAgICAgICs9IGFhcmNoNjQvc2JyZHNw X25lb24ubwogTkVPTi1PQkpTLSQoQ09ORklHX0FDM0RTUCkgICAgICAgICAgICAgICs9IGFhcmNo NjQvYWMzZHNwX25lb24ubworTkVPTi1PQkpTLSQoQ09ORklHX0ZEQ1REU1ApICAgICAgICAgICAg ICs9IGFhcmNoNjQvZmRjdGRzcF9uZW9uLm8KIE5FT04tT0JKUy0kKENPTkZJR19GTVRDT05WRVJU KSAgICAgICAgICArPSBhYXJjaDY0L2ZtdGNvbnZlcnRfbmVvbi5vCiBORU9OLU9CSlMtJChDT05G SUdfSDI2NENIUk9NQSkgICAgICAgICAgKz0gYWFyY2g2NC9oMjY0Y21jX25lb24ubwogTkVPTi1P QkpTLSQoQ09ORklHX0gyNjREU1ApICAgICAgICAgICAgICs9IGFhcmNoNjQvaDI2NGRzcF9uZW9u Lm8gICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFyY2g2NC9mZGN0Lmgg Yi9saWJhdmNvZGVjL2FhcmNoNjQvZmRjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLjA5MDFiNTNhODMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmNvZGVjL2FhcmNo NjQvZmRjdC5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBG Rm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVn OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMu LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEg VVNBCisgKi8KKworI2lmbmRlZiBBVkNPREVDX0FBUkNINjRfRkRDVF9ICisjZGVmaW5lIEFWQ09E RUNfQUFSQ0g2NF9GRENUX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCit2b2lkIGZmX2ZkY3Rf bmVvbihpbnQxNl90ICpibG9jayk7CisKKyNlbmRpZiAvKiBBVkNPREVDX0FBUkNINjRfRkRDVF9I ICovCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhcmNoNjQvZmRjdGRzcF9pbml0X2FhcmNoNjQu YyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9mZGN0ZHNwX2luaXRfYWFyY2g2NC5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjU5ZDkxYmM4ZmMKLS0tIC9kZXYvbnVsbAorKysg Yi9saWJhdmNvZGVjL2FhcmNoNjQvZmRjdGRzcF9pbml0X2FhcmNoNjQuYwpAQCAtMCwwICsxLDM5 IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLgorICoKKyAqIEZGbXBlZyBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExl c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisKKyNpbmNsdWRlICJs aWJhdnV0aWwvYXR0cmlidXRlcy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9jcHUuaCIKKyNpbmNs dWRlICJsaWJhdnV0aWwvYWFyY2g2NC9jcHUuaCIKKyNpbmNsdWRlICJsaWJhdmNvZGVjL2F2Y29k ZWMuaCIKKyNpbmNsdWRlICJsaWJhdmNvZGVjL2ZkY3Rkc3AuaCIKKyNpbmNsdWRlICJmZGN0Lmgi CisKK2F2X2NvbGQgdm9pZCBmZl9mZGN0ZHNwX2luaXRfYWFyY2g2NChGRENURFNQQ29udGV4dCAq YywgQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGhpZ2hfYml0X2RlcHRoKQoreworICAgIGludCBjcHVfZmxhZ3MgPSBh dl9nZXRfY3B1X2ZsYWdzKCk7CisKKyAgICBpZiAoaGF2ZV9uZW9uKGNwdV9mbGFncykpIHsKKyAg ICAgICAgaWYgKCFoaWdoX2JpdF9kZXB0aCkgeworICAgICAgICAgICAgaWYgKGF2Y3R4LT5kY3Rf YWxnbyA9PSBGRl9EQ1RfQVVUTyB8fAorICAgICAgICAgICAgICAgIGF2Y3R4LT5kY3RfYWxnbyA9 PSBGRl9EQ1RfTkVPTikgeworICAgICAgICAgICAgICAgIGMtPmZkY3QgPSBmZl9mZGN0X25lb247 CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2FhcmNoNjQvZmRjdGRzcF9uZW9uLlMgYi9saWJhdmNvZGVjL2FhcmNoNjQvZmRjdGRzcF9u ZW9uLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNTNmYTRkZWJlNQot LS0gL2Rldi9udWxsCisrKyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9mZGN0ZHNwX25lb24uUwpAQCAt MCwwICsxLDM2OCBAQAorLyoKKyAqIEFybXY4IE5lb24gb3B0aW1pemF0aW9ucyBmb3IgbGlianBl Zy10dXJibworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDExLCBOb2tpYSBDb3Jwb3JhdGlv biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIEF1dGhvcjogIFNpYXJoZWkgU2lhbWFzaGthIDxz aWFyaGVpLnNpYW1hc2hrYUBub2tpYS5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNCwg TGluYXJvIExpbWl0ZWQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQXV0aG9yOiAgUmFnZXNo IFJhZGhha3Jpc2huYW4gPHJhZ2VzaC5yQGxpbmFyby5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIw MTQtMjAxNiwgMjAyMCwgRC4gUi4gQ29tbWFuZGVyLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAq IENvcHlyaWdodCAoQykgMjAxNS0yMDE2LCAyMDE4LCBNYXR0aGlldSBEYXJib2lzLiAgQWxsIFJp Z2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgU2lhcmhlaSBTaWFtYXNoa2Eu ICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQg J2FzLWlzJywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCisgKiB3YXJyYW50eS4gIElu IG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2Vz CisgKiBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIFBlcm1p c3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBw dXJwb3NlLAorICogaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0 ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAorICogZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgcmVzdHJpY3Rpb25zOgorICoKKyAqIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2Fy ZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CisgKiAgICBjbGFpbSB0 aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0 d2FyZQorICogICAgaW4gYSBwcm9kdWN0LCBhbiBhY2tub3dsZWRnbWVudCBpbiB0aGUgcHJvZHVj dCBkb2N1bWVudGF0aW9uIHdvdWxkIGJlCisgKiAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJl cXVpcmVkLgorICogMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1h cmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUKKyAqICAgIG1pc3JlcHJlc2VudGVkIGFzIGJl aW5nIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4KKyAqIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUg cmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCisgKi8KKwor I2luY2x1ZGUgImxpYmF2dXRpbC9hYXJjaDY0L2FzbS5TIgorI2luY2x1ZGUgIm5lb24uUyIKKwor Ly8gI2RlZmluZSBFSUdIVF9CSVRfU0FNUExFUworCisvKiBDb25zdGFudHMgZm9yIGpzaW1kX2Zk Y3RfaXNsb3dfbmVvbigpICovCisKKyNkZWZpbmUgRl8wXzI5OCAgIDI0NDYgIC8qIEZJWCgwLjI5 ODYzMTMzNikgKi8KKyNkZWZpbmUgRl8wXzM5MCAgIDMxOTYgIC8qIEZJWCgwLjM5MDE4MDY0NCkg Ki8KKyNkZWZpbmUgRl8wXzU0MSAgIDQ0MzMgIC8qIEZJWCgwLjU0MTE5NjEwMCkgKi8KKyNkZWZp bmUgRl8wXzc2NSAgIDYyNzAgIC8qIEZJWCgwLjc2NTM2Njg2NSkgKi8KKyNkZWZpbmUgRl8wXzg5 OSAgIDczNzMgIC8qIEZJWCgwLjg5OTk3NjIyMykgKi8KKyNkZWZpbmUgRl8xXzE3NSAgIDk2MzMg IC8qIEZJWCgxLjE3NTg3NTYwMikgKi8KKyNkZWZpbmUgRl8xXzUwMSAgMTIyOTkgIC8qIEZJWCgx LjUwMTMyMTExMCkgKi8KKyNkZWZpbmUgRl8xXzg0NyAgMTUxMzcgIC8qIEZJWCgxLjg0Nzc1OTA2 NSkgKi8KKyNkZWZpbmUgRl8xXzk2MSAgMTYwNjkgIC8qIEZJWCgxLjk2MTU3MDU2MCkgKi8KKyNk ZWZpbmUgRl8yXzA1MyAgMTY4MTkgIC8qIEZJWCgyLjA1MzExOTg2OSkgKi8KKyNkZWZpbmUgRl8y XzU2MiAgMjA5OTUgIC8qIEZJWCgyLjU2MjkxNTQ0NykgKi8KKyNkZWZpbmUgRl8zXzA3MiAgMjUx NzIgIC8qIEZJWCgzLjA3MjcxMTAyNikgKi8KKworY29uc3QganNpbWRfZmRjdF9pc2xvd19uZW9u X2NvbnN0cywgYWxpZ249NAorICAgICAgICAuc2hvcnQgRl8wXzI5OAorICAgICAgICAuc2hvcnQg LUZfMF8zOTAKKyAgICAgICAgLnNob3J0IEZfMF81NDEKKyAgICAgICAgLnNob3J0IEZfMF83NjUK KyAgICAgICAgLnNob3J0IC0gRl8wXzg5OQorICAgICAgICAuc2hvcnQgRl8xXzE3NQorICAgICAg ICAuc2hvcnQgRl8xXzUwMQorICAgICAgICAuc2hvcnQgLSBGXzFfODQ3CisgICAgICAgIC5zaG9y dCAtIEZfMV85NjEKKyAgICAgICAgLnNob3J0IEZfMl8wNTMKKyAgICAgICAgLnNob3J0IC0gRl8y XzU2MgorICAgICAgICAuc2hvcnQgRl8zXzA3MgorICAgICAgICAuc2hvcnQgMCAgICAgICAgICAv KiBwYWRkaW5nICovCisgICAgICAgIC5zaG9ydCAwCisgICAgICAgIC5zaG9ydCAwCisgICAgICAg IC5zaG9ydCAwCitlbmRjb25zdAorCisjdW5kZWYgRl8wXzI5OAorI3VuZGVmIEZfMF8zOTAKKyN1 bmRlZiBGXzBfNTQxCisjdW5kZWYgRl8wXzc2NQorI3VuZGVmIEZfMF84OTkKKyN1bmRlZiBGXzFf MTc1CisjdW5kZWYgRl8xXzUwMQorI3VuZGVmIEZfMV84NDcKKyN1bmRlZiBGXzFfOTYxCisjdW5k ZWYgRl8yXzA1MworI3VuZGVmIEZfMl81NjIKKyN1bmRlZiBGXzNfMDcyCisKKy8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KKworLyoKKyAqIGpzaW1kX2ZkY3RfaXNsb3dfbmVvbgorICoKKyAqIFRoaXMg ZmlsZSBjb250YWlucyBhIHNsb3dlciBidXQgbW9yZSBhY2N1cmF0ZSBpbnRlZ2VyIGltcGxlbWVu dGF0aW9uIG9mIHRoZQorICogZm9yd2FyZCBEQ1QgKERpc2NyZXRlIENvc2luZSBUcmFuc2Zvcm0p LiBUaGUgZm9sbG93aW5nIGNvZGUgaXMgYmFzZWQKKyAqIGRpcmVjdGx5IG9uIHRoZSBJSkcnJ3Mg b3JpZ2luYWwgamZkY3RpbnQuYzsgc2VlIHRoZSBqZmRjdGludC5jIGZvcgorICogbW9yZSBkZXRh aWxzLgorICovCisKKyNkZWZpbmUgQ09OU1RfQklUUyAgMTMKKyNpZmRlZiBFSUdIVF9CSVRfU0FN UExFUworI2RlZmluZSBQQVNTMV9CSVRTICAyCisjZWxzZQorI2RlZmluZSBQQVNTMV9CSVRTICAx ICAgLyogbG9zZSBhIGxpdHRsZSBwcmVjaXNpb24gdG8gYXZvaWQgb3ZlcmZsb3cgKi8KKyNlbmRp ZgorCisjZGVmaW5lIERFU0NBTEVfUDEgIChDT05TVF9CSVRTIC0gUEFTUzFfQklUUykKKyNkZWZp bmUgREVTQ0FMRV9QMiAgKENPTlNUX0JJVFMgKyBQQVNTMV9CSVRTKQorCisjZGVmaW5lIFhGSVhf UF8wXzI5OCAgdjAuaFswXQorI2RlZmluZSBYRklYX05fMF8zOTAgIHYwLmhbMV0KKyNkZWZpbmUg WEZJWF9QXzBfNTQxICB2MC5oWzJdCisjZGVmaW5lIFhGSVhfUF8wXzc2NSAgdjAuaFszXQorI2Rl ZmluZSBYRklYX05fMF84OTkgIHYwLmhbNF0KKyNkZWZpbmUgWEZJWF9QXzFfMTc1ICB2MC5oWzVd CisjZGVmaW5lIFhGSVhfUF8xXzUwMSAgdjAuaFs2XQorI2RlZmluZSBYRklYX05fMV84NDcgIHYw LmhbN10KKyNkZWZpbmUgWEZJWF9OXzFfOTYxICB2MS5oWzBdCisjZGVmaW5lIFhGSVhfUF8yXzA1 MyAgdjEuaFsxXQorI2RlZmluZSBYRklYX05fMl81NjIgIHYxLmhbMl0KKyNkZWZpbmUgWEZJWF9Q XzNfMDcyICB2MS5oWzNdCisKK2Z1bmN0aW9uIGZmX2ZkY3RfbmVvbiwgZXhwb3J0PTEKKworICAg ICAgICBEQVRBICAgICAgICAgICAgLnJlcSB4MAorICAgICAgICBUTVAgICAgICAgICAgICAgLnJl cSB4OQorCisgICAgICAgIC8qIExvYWQgY29uc3RhbnRzICovCisgICAgICAgIG1vdnJlbCAgICAg ICAgICBUTVAsIGpzaW1kX2ZkY3RfaXNsb3dfbmVvbl9jb25zdHMKKyAgICAgICAgbGQxICAgICAg ICAgICAgIHt2MC44aCwgdjEuOGh9LCBbVE1QXQorCisgICAgICAgIC8qIExvYWQgYWxsIERBVEEg aW50byBOZW9uIHJlZ2lzdGVycyB3aXRoIHRoZSBmb2xsb3dpbmcgYWxsb2NhdGlvbjoKKyAgICAg ICAgICogICAgICAgMCAxIDIgMyB8IDQgNSA2IDcKKyAgICAgICAgICogICAgICAtLS0tLS0tLS0r LS0tLS0tLS0KKyAgICAgICAgICogICAwIHwgZDE2ICAgICB8IGQxNyAgICB8IHYxNi44aAorICAg ICAgICAgKiAgIDEgfCBkMTggICAgIHwgZDE5ICAgIHwgdjE3LjhoCisgICAgICAgICAqICAgMiB8 IGQyMCAgICAgfCBkMjEgICAgfCB2MTguOGgKKyAgICAgICAgICogICAzIHwgZDIyICAgICB8IGQy MyAgICB8IHYxOS44aAorICAgICAgICAgKiAgIDQgfCBkMjQgICAgIHwgZDI1ICAgIHwgdjIwLjho CisgICAgICAgICAqICAgNSB8IGQyNiAgICAgfCBkMjcgICAgfCB2MjEuOGgKKyAgICAgICAgICog ICA2IHwgZDI4ICAgICB8IGQyOSAgICB8IHYyMi44aAorICAgICAgICAgKiAgIDcgfCBkMzAgICAg IHwgZDMxICAgIHwgdjIzLjhoCisgICAgICAgICAqLworCisgICAgICAgIGxkMSAgICAgICAgICAg ICB7djE2LjhoLCB2MTcuOGgsIHYxOC44aCwgdjE5LjhofSwgW0RBVEFdLCA2NAorICAgICAgICBs ZDEgICAgICAgICAgICAge3YyMC44aCwgdjIxLjhoLCB2MjIuOGgsIHYyMy44aH0sIFtEQVRBXQor ICAgICAgICBzdWIgICAgICAgICAgICAgREFUQSwgREFUQSwgIzY0CisKKyAgICAgICAgLyogVHJh bnNwb3NlICovCisgICAgICAgIHRyYW5zcG9zZV84eDhIICB2MTYsIHYxNywgdjE4LCB2MTksIHYy MCwgdjIxLCB2MjIsIHYyMywgdjMxLCB2MgorCisgICAgICAgIC8qIDEtRCBGRENUICovCisgICAg ICAgIGFkZCAgICAgICAgICAgICB2MjQuOGgsIHYxNi44aCwgdjIzLjhoICAvKiB0bXAwID0gZGF0 YXB0clswXSArIGRhdGFwdHJbN107ICovCisgICAgICAgIHN1YiAgICAgICAgICAgICB2MzEuOGgs IHYxNi44aCwgdjIzLjhoICAvKiB0bXA3ID0gZGF0YXB0clswXSAtIGRhdGFwdHJbN107ICovCisg ICAgICAgIGFkZCAgICAgICAgICAgICB2MjUuOGgsIHYxNy44aCwgdjIyLjhoICAvKiB0bXAxID0g ZGF0YXB0clsxXSArIGRhdGFwdHJbNl07ICovCisgICAgICAgIHN1YiAgICAgICAgICAgICB2MzAu OGgsIHYxNy44aCwgdjIyLjhoICAvKiB0bXA2ID0gZGF0YXB0clsxXSAtIGRhdGFwdHJbNl07ICov CisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjYuOGgsIHYxOC44aCwgdjIxLjhoICAvKiB0bXAy ID0gZGF0YXB0clsyXSArIGRhdGFwdHJbNV07ICovCisgICAgICAgIHN1YiAgICAgICAgICAgICB2 MjkuOGgsIHYxOC44aCwgdjIxLjhoICAvKiB0bXA1ID0gZGF0YXB0clsyXSAtIGRhdGFwdHJbNV07 ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjcuOGgsIHYxOS44aCwgdjIwLjhoICAvKiB0 bXAzID0gZGF0YXB0clszXSArIGRhdGFwdHJbNF07ICovCisgICAgICAgIHN1YiAgICAgICAgICAg ICB2MjguOGgsIHYxOS44aCwgdjIwLjhoICAvKiB0bXA0ID0gZGF0YXB0clszXSAtIGRhdGFwdHJb NF07ICovCisKKyAgICAgICAgLyogRXZlbiBwYXJ0ICovCisgICAgICAgIGFkZCAgICAgICAgICAg ICB2NC44aCwgdjI0LjhoLCB2MjcuOGggICAvKiB0bXAxMCA9IHRtcDAgKyB0bXAzOyAqLworICAg ICAgICBzdWIgICAgICAgICAgICAgdjUuOGgsIHYyNC44aCwgdjI3LjhoICAgLyogdG1wMTMgPSB0 bXAwIC0gdG1wMzsgKi8KKyAgICAgICAgYWRkICAgICAgICAgICAgIHY2LjhoLCB2MjUuOGgsIHYy Ni44aCAgIC8qIHRtcDExID0gdG1wMSArIHRtcDI7ICovCisgICAgICAgIHN1YiAgICAgICAgICAg ICB2Ny44aCwgdjI1LjhoLCB2MjYuOGggICAvKiB0bXAxMiA9IHRtcDEgLSB0bXAyOyAqLworCisg ICAgICAgIGFkZCAgICAgICAgICAgICB2MTYuOGgsIHY0LjhoLCB2Ni44aCAgIC8qIHRtcDEwICsg dG1wMTEgKi8KKyAgICAgICAgc3ViICAgICAgICAgICAgIHYyMC44aCwgdjQuOGgsIHY2LjhoICAg LyogdG1wMTAgLSB0bXAxMSAqLworCisgICAgICAgIGFkZCAgICAgICAgICAgICB2MTguOGgsIHY3 LjhoLCB2NS44aCAgIC8qIHRtcDEyICsgdG1wMTMgKi8KKworICAgICAgICBzaGwgICAgICAgICAg ICAgdjE2LjhoLCB2MTYuOGgsICNQQVNTMV9CSVRTICAvKiBkYXRhcHRyWzBdID0gKERDVEVMRU0p TEVGVF9TSElGVCh0bXAxMCArIHRtcDExLCBQQVNTMV9CSVRTKTsgKi8KKyAgICAgICAgc2hsICAg ICAgICAgICAgIHYyMC44aCwgdjIwLjhoLCAjUEFTUzFfQklUUyAgLyogZGF0YXB0cls0XSA9IChE Q1RFTEVNKUxFRlRfU0hJRlQodG1wMTAgLSB0bXAxMSwgUEFTUzFfQklUUyk7ICovCisKKyAgICAg ICAgc211bGwyICAgICAgICAgIHYyNC40cywgdjE4LjhoLCBYRklYX1BfMF81NDEgIC8qIHoxIGhp ID0gTVVMVElQTFkodG1wMTIgKyB0bXAxMywgWEZJWF9QXzBfNTQxKTsgKi8KKyAgICAgICAgc211 bGwgICAgICAgICAgIHYxOC40cywgdjE4LjRoLCBYRklYX1BfMF81NDEgIC8qIHoxIGxvID0gTVVM VElQTFkodG1wMTIgKyB0bXAxMywgWEZJWF9QXzBfNTQxKTsgKi8KKyAgICAgICAgbW92ICAgICAg ICAgICAgIHYyMi4xNmIsIHYxOC4xNmIKKyAgICAgICAgbW92ICAgICAgICAgICAgIHYyNS4xNmIs IHYyNC4xNmIKKworICAgICAgICBzbWxhbCAgICAgICAgICAgdjE4LjRzLCB2NS40aCwgWEZJWF9Q XzBfNzY1ICAgLyogbG8gejEgKyBNVUxUSVBMWSh0bXAxMywgWEZJWF9QXzBfNzY1KSAqLworICAg ICAgICBzbWxhbDIgICAgICAgICAgdjI0LjRzLCB2NS44aCwgWEZJWF9QXzBfNzY1ICAgLyogaGkg ejEgKyBNVUxUSVBMWSh0bXAxMywgWEZJWF9QXzBfNzY1KSAqLworICAgICAgICBzbWxhbCAgICAg ICAgICAgdjIyLjRzLCB2Ny40aCwgWEZJWF9OXzFfODQ3ICAgLyogbG8gejEgKyBNVUxUSVBMWSh0 bXAxMiwgWEZJWF9OXzFfODQ3KSAqLworICAgICAgICBzbWxhbDIgICAgICAgICAgdjI1LjRzLCB2 Ny44aCwgWEZJWF9OXzFfODQ3ICAgLyogaGkgejEgKyBNVUxUSVBMWSh0bXAxMiwgWEZJWF9OXzFf ODQ3KSAqLworCisgICAgICAgIHJzaHJuICAgICAgICAgICB2MTguNGgsIHYxOC40cywgI0RFU0NB TEVfUDEKKyAgICAgICAgcnNocm4gICAgICAgICAgIHYyMi40aCwgdjIyLjRzLCAjREVTQ0FMRV9Q MQorICAgICAgICByc2hybjIgICAgICAgICAgdjE4LjhoLCB2MjQuNHMsICNERVNDQUxFX1AxICAv KiBkYXRhcHRyWzJdID0gKERDVEVMRU0pREVTQ0FMRSh6MSArIE1VTFRJUExZKHRtcDEzLCBYRklY X1BfMF83NjUpLCBDT05TVF9CSVRTLVBBU1MxX0JJVFMpOyAqLworICAgICAgICByc2hybjIgICAg ICAgICAgdjIyLjhoLCB2MjUuNHMsICNERVNDQUxFX1AxICAvKiBkYXRhcHRyWzZdID0gKERDVEVM RU0pREVTQ0FMRSh6MSArIE1VTFRJUExZKHRtcDEyLCBYRklYX05fMV84NDcpLCBDT05TVF9CSVRT LVBBU1MxX0JJVFMpOyAqLworCisgICAgICAgIC8qIE9kZCBwYXJ0ICovCisgICAgICAgIGFkZCAg ICAgICAgICAgICB2Mi44aCwgdjI4LjhoLCB2MzEuOGggICAgICAgIC8qIHoxID0gdG1wNCArIHRt cDc7ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2My44aCwgdjI5LjhoLCB2MzAuOGggICAg ICAgIC8qIHoyID0gdG1wNSArIHRtcDY7ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2Ni44 aCwgdjI4LjhoLCB2MzAuOGggICAgICAgIC8qIHozID0gdG1wNCArIHRtcDY7ICovCisgICAgICAg IGFkZCAgICAgICAgICAgICB2Ny44aCwgdjI5LjhoLCB2MzEuOGggICAgICAgIC8qIHo0ID0gdG1w NSArIHRtcDc7ICovCisgICAgICAgIHNtdWxsICAgICAgICAgICB2NC40cywgdjYuNGgsIFhGSVhf UF8xXzE3NSAgIC8qIHo1IGxvID0gejMgbG8gKiBYRklYX1BfMV8xNzUgKi8KKyAgICAgICAgc211 bGwyICAgICAgICAgIHY1LjRzLCB2Ni44aCwgWEZJWF9QXzFfMTc1CisgICAgICAgIHNtbGFsICAg ICAgICAgICB2NC40cywgdjcuNGgsIFhGSVhfUF8xXzE3NSAgIC8qIHo1ID0gTVVMVElQTFkoejMg KyB6NCwgRklYXzFfMTc1ODc1NjAyKTsgKi8KKyAgICAgICAgc21sYWwyICAgICAgICAgIHY1LjRz LCB2Ny44aCwgWEZJWF9QXzFfMTc1CisKKyAgICAgICAgc211bGwyICAgICAgICAgIHYyNC40cywg djI4LjhoLCBYRklYX1BfMF8yOTgKKyAgICAgICAgc211bGwyICAgICAgICAgIHYyNS40cywgdjI5 LjhoLCBYRklYX1BfMl8wNTMKKyAgICAgICAgc211bGwyICAgICAgICAgIHYyNi40cywgdjMwLjho LCBYRklYX1BfM18wNzIKKyAgICAgICAgc211bGwyICAgICAgICAgIHYyNy40cywgdjMxLjhoLCBY RklYX1BfMV81MDEKKyAgICAgICAgc211bGwgICAgICAgICAgIHYyMy40cywgdjI4LjRoLCBYRklY X1BfMF8yOTggIC8qIHRtcDQgPSBNVUxUSVBMWSh0bXA0LCBGSVhfMF8yOTg2MzEzMzYpOyAqLwor ICAgICAgICBzbXVsbCAgICAgICAgICAgdjIxLjRzLCB2MjkuNGgsIFhGSVhfUF8yXzA1MyAgLyog dG1wNSA9IE1VTFRJUExZKHRtcDUsIEZJWF8yXzA1MzExOTg2OSk7ICovCisgICAgICAgIHNtdWxs ICAgICAgICAgICB2MTkuNHMsIHYzMC40aCwgWEZJWF9QXzNfMDcyICAvKiB0bXA2ID0gTVVMVElQ TFkodG1wNiwgRklYXzNfMDcyNzExMDI2KTsgKi8KKyAgICAgICAgc211bGwgICAgICAgICAgIHYx Ny40cywgdjMxLjRoLCBYRklYX1BfMV81MDEgIC8qIHRtcDcgPSBNVUxUSVBMWSh0bXA3LCBGSVhf MV81MDEzMjExMTApOyAqLworCisgICAgICAgIHNtdWxsMiAgICAgICAgICB2MjguNHMsIHYyLjho LCBYRklYX05fMF84OTkKKyAgICAgICAgc211bGwyICAgICAgICAgIHYyOS40cywgdjMuOGgsIFhG SVhfTl8yXzU2MgorICAgICAgICBzbXVsbDIgICAgICAgICAgdjMwLjRzLCB2Ni44aCwgWEZJWF9O XzFfOTYxCisgICAgICAgIHNtdWxsMiAgICAgICAgICB2MzEuNHMsIHY3LjhoLCBYRklYX05fMF8z OTAKKyAgICAgICAgc211bGwgICAgICAgICAgIHYyLjRzLCB2Mi40aCwgWEZJWF9OXzBfODk5ICAg IC8qIHoxID0gTVVMVElQTFkoejEsIC1GSVhfMF84OTk5NzYyMjMpOyAqLworICAgICAgICBzbXVs bCAgICAgICAgICAgdjMuNHMsIHYzLjRoLCBYRklYX05fMl81NjIgICAgLyogejIgPSBNVUxUSVBM WSh6MiwgLUZJWF8yXzU2MjkxNTQ0Nyk7ICovCisgICAgICAgIHNtdWxsICAgICAgICAgICB2Ni40 cywgdjYuNGgsIFhGSVhfTl8xXzk2MSAgICAvKiB6MyA9IE1VTFRJUExZKHozLCAtRklYXzFfOTYx NTcwNTYwKTsgKi8KKyAgICAgICAgc211bGwgICAgICAgICAgIHY3LjRzLCB2Ny40aCwgWEZJWF9O XzBfMzkwICAgIC8qIHo0ID0gTVVMVElQTFkoejQsIC1GSVhfMF8zOTAxODA2NDQpOyAqLworCisg ICAgICAgIGFkZCAgICAgICAgICAgICB2Ni40cywgdjYuNHMsIHY0LjRzICAgIC8qIHozICs9IHo1 ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2MzAuNHMsIHYzMC40cywgdjUuNHMKKyAgICAg ICAgYWRkICAgICAgICAgICAgIHY3LjRzLCB2Ny40cywgdjQuNHMgICAgLyogejQgKz0gejUgKi8K KyAgICAgICAgYWRkICAgICAgICAgICAgIHYzMS40cywgdjMxLjRzLCB2NS40cworCisgICAgICAg IGFkZCAgICAgICAgICAgICB2MjMuNHMsIHYyMy40cywgdjIuNHMgICAvKiB0bXA0ICs9IHoxICov CisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjQuNHMsIHYyNC40cywgdjI4LjRzCisgICAgICAg IGFkZCAgICAgICAgICAgICB2MjEuNHMsIHYyMS40cywgdjMuNHMgICAvKiB0bXA1ICs9IHoyICov CisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjUuNHMsIHYyNS40cywgdjI5LjRzCisgICAgICAg IGFkZCAgICAgICAgICAgICB2MTkuNHMsIHYxOS40cywgdjYuNHMgICAvKiB0bXA2ICs9IHozICov CisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjYuNHMsIHYyNi40cywgdjMwLjRzCisgICAgICAg IGFkZCAgICAgICAgICAgICB2MTcuNHMsIHYxNy40cywgdjcuNHMgICAvKiB0bXA3ICs9IHo0ICov CisgICAgICAgIGFkZCAgICAgICAgICAgICB2MjcuNHMsIHYyNy40cywgdjMxLjRzCisKKyAgICAg ICAgYWRkICAgICAgICAgICAgIHYyMy40cywgdjIzLjRzLCB2Ni40cyAgIC8qIHRtcDQgKz0gejMg Ki8KKyAgICAgICAgYWRkICAgICAgICAgICAgIHYyNC40cywgdjI0LjRzLCB2MzAuNHMKKyAgICAg ICAgYWRkICAgICAgICAgICAgIHYyMS40cywgdjIxLjRzLCB2Ny40cyAgIC8qIHRtcDUgKz0gejQg Ki8KKyAgICAgICAgYWRkICAgICAgICAgICAgIHYyNS40cywgdjI1LjRzLCB2MzEuNHMKKyAgICAg ICAgYWRkICAgICAgICAgICAgIHYxOS40cywgdjE5LjRzLCB2My40cyAgIC8qIHRtcDYgKz0gejIg Ki8KKyAgICAgICAgYWRkICAgICAgICAgICAgIHYyNi40cywgdjI2LjRzLCB2MjkuNHMKKyAgICAg ICAgYWRkICAgICAgICAgICAgIHYxNy40cywgdjE3LjRzLCB2Mi40cyAgIC8qIHRtcDcgKz0gejEg Ki8KKyAgICAgICAgYWRkICAgICAgICAgICAgIHYyNy40cywgdjI3LjRzLCB2MjguNHMKKworICAg ICAgICByc2hybiAgICAgICAgICAgdjIzLjRoLCB2MjMuNHMsICNERVNDQUxFX1AxCisgICAgICAg IHJzaHJuICAgICAgICAgICB2MjEuNGgsIHYyMS40cywgI0RFU0NBTEVfUDEKKyAgICAgICAgcnNo cm4gICAgICAgICAgIHYxOS40aCwgdjE5LjRzLCAjREVTQ0FMRV9QMQorICAgICAgICByc2hybiAg ICAgICAgICAgdjE3LjRoLCB2MTcuNHMsICNERVNDQUxFX1AxCisgICAgICAgIHJzaHJuMiAgICAg ICAgICB2MjMuOGgsIHYyNC40cywgI0RFU0NBTEVfUDEgIC8qIGRhdGFwdHJbN10gPSAoRENURUxF TSlERVNDQUxFKHRtcDQgKyB6MSArIHozLCBDT05TVF9CSVRTLVBBU1MxX0JJVFMpOyAqLworICAg ICAgICByc2hybjIgICAgICAgICAgdjIxLjhoLCB2MjUuNHMsICNERVNDQUxFX1AxICAvKiBkYXRh cHRyWzVdID0gKERDVEVMRU0pREVTQ0FMRSh0bXA1ICsgejIgKyB6NCwgQ09OU1RfQklUUy1QQVNT MV9CSVRTKTsgKi8KKyAgICAgICAgcnNocm4yICAgICAgICAgIHYxOS44aCwgdjI2LjRzLCAjREVT Q0FMRV9QMSAgLyogZGF0YXB0clszXSA9IChEQ1RFTEVNKURFU0NBTEUodG1wNiArIHoyICsgejMs IENPTlNUX0JJVFMtUEFTUzFfQklUUyk7ICovCisgICAgICAgIHJzaHJuMiAgICAgICAgICB2MTcu OGgsIHYyNy40cywgI0RFU0NBTEVfUDEgIC8qIGRhdGFwdHJbMV0gPSAoRENURUxFTSlERVNDQUxF KHRtcDcgKyB6MSArIHo0LCBDT05TVF9CSVRTLVBBU1MxX0JJVFMpOyAqLworCisgICAgICAgIC8q IFRyYW5zcG9zZSAqLworICAgICAgICB0cmFuc3Bvc2VfOHg4SCAgdjE2LCB2MTcsIHYxOCwgdjE5 LCB2MjAsIHYyMSwgdjIyLCB2MjMsIHYzMSwgdjIKKworICAgICAgICAvKiAxLUQgRkRDVCAqLwor ICAgICAgICBhZGQgICAgICAgICAgICAgdjI0LjhoLCB2MTYuOGgsIHYyMy44aCAgLyogdG1wMCA9 IGRhdGFwdHJbMF0gKyBkYXRhcHRyWzddOyAqLworICAgICAgICBzdWIgICAgICAgICAgICAgdjMx LjhoLCB2MTYuOGgsIHYyMy44aCAgLyogdG1wNyA9IGRhdGFwdHJbMF0gLSBkYXRhcHRyWzddOyAq LworICAgICAgICBhZGQgICAgICAgICAgICAgdjI1LjhoLCB2MTcuOGgsIHYyMi44aCAgLyogdG1w MSA9IGRhdGFwdHJbMV0gKyBkYXRhcHRyWzZdOyAqLworICAgICAgICBzdWIgICAgICAgICAgICAg djMwLjhoLCB2MTcuOGgsIHYyMi44aCAgLyogdG1wNiA9IGRhdGFwdHJbMV0gLSBkYXRhcHRyWzZd OyAqLworICAgICAgICBhZGQgICAgICAgICAgICAgdjI2LjhoLCB2MTguOGgsIHYyMS44aCAgLyog dG1wMiA9IGRhdGFwdHJbMl0gKyBkYXRhcHRyWzVdOyAqLworICAgICAgICBzdWIgICAgICAgICAg ICAgdjI5LjhoLCB2MTguOGgsIHYyMS44aCAgLyogdG1wNSA9IGRhdGFwdHJbMl0gLSBkYXRhcHRy WzVdOyAqLworICAgICAgICBhZGQgICAgICAgICAgICAgdjI3LjhoLCB2MTkuOGgsIHYyMC44aCAg LyogdG1wMyA9IGRhdGFwdHJbM10gKyBkYXRhcHRyWzRdOyAqLworICAgICAgICBzdWIgICAgICAg ICAgICAgdjI4LjhoLCB2MTkuOGgsIHYyMC44aCAgLyogdG1wNCA9IGRhdGFwdHJbM10gLSBkYXRh cHRyWzRdOyAqLworCisgICAgICAgIC8qIEV2ZW4gcGFydCAqLworICAgICAgICBhZGQgICAgICAg ICAgICAgdjQuOGgsIHYyNC44aCwgdjI3LjhoICAgLyogdG1wMTAgPSB0bXAwICsgdG1wMzsgKi8K KyAgICAgICAgc3ViICAgICAgICAgICAgIHY1LjhoLCB2MjQuOGgsIHYyNy44aCAgIC8qIHRtcDEz ID0gdG1wMCAtIHRtcDM7ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2Ni44aCwgdjI1Ljho LCB2MjYuOGggICAvKiB0bXAxMSA9IHRtcDEgKyB0bXAyOyAqLworICAgICAgICBzdWIgICAgICAg ICAgICAgdjcuOGgsIHYyNS44aCwgdjI2LjhoICAgLyogdG1wMTIgPSB0bXAxIC0gdG1wMjsgKi8K KworICAgICAgICBhZGQgICAgICAgICAgICAgdjE2LjhoLCB2NC44aCwgdjYuOGggICAvKiB0bXAx MCArIHRtcDExICovCisgICAgICAgIHN1YiAgICAgICAgICAgICB2MjAuOGgsIHY0LjhoLCB2Ni44 aCAgIC8qIHRtcDEwIC0gdG1wMTEgKi8KKworICAgICAgICBhZGQgICAgICAgICAgICAgdjE4Ljho LCB2Ny44aCwgdjUuOGggICAvKiB0bXAxMiArIHRtcDEzICovCisKKyAgICAgICAgc3JzaHIgICAg ICAgICAgIHYxNi44aCwgdjE2LjhoLCAjUEFTUzFfQklUUyAgLyogZGF0YXB0clswXSA9IChEQ1RF TEVNKURFU0NBTEUodG1wMTAgKyB0bXAxMSwgUEFTUzFfQklUUyk7ICovCisgICAgICAgIHNyc2hy ICAgICAgICAgICB2MjAuOGgsIHYyMC44aCwgI1BBU1MxX0JJVFMgIC8qIGRhdGFwdHJbNF0gPSAo RENURUxFTSlERVNDQUxFKHRtcDEwIC0gdG1wMTEsIFBBU1MxX0JJVFMpOyAqLworCisgICAgICAg IHNtdWxsMiAgICAgICAgICB2MjQuNHMsIHYxOC44aCwgWEZJWF9QXzBfNTQxICAvKiB6MSBoaSA9 IE1VTFRJUExZKHRtcDEyICsgdG1wMTMsIFhGSVhfUF8wXzU0MSk7ICovCisgICAgICAgIHNtdWxs ICAgICAgICAgICB2MTguNHMsIHYxOC40aCwgWEZJWF9QXzBfNTQxICAvKiB6MSBsbyA9IE1VTFRJ UExZKHRtcDEyICsgdG1wMTMsIFhGSVhfUF8wXzU0MSk7ICovCisgICAgICAgIG1vdiAgICAgICAg ICAgICB2MjIuMTZiLCB2MTguMTZiCisgICAgICAgIG1vdiAgICAgICAgICAgICB2MjUuMTZiLCB2 MjQuMTZiCisKKyAgICAgICAgc21sYWwgICAgICAgICAgIHYxOC40cywgdjUuNGgsIFhGSVhfUF8w Xzc2NSAgIC8qIGxvIHoxICsgTVVMVElQTFkodG1wMTMsIFhGSVhfUF8wXzc2NSkgKi8KKyAgICAg ICAgc21sYWwyICAgICAgICAgIHYyNC40cywgdjUuOGgsIFhGSVhfUF8wXzc2NSAgIC8qIGhpIHox ICsgTVVMVElQTFkodG1wMTMsIFhGSVhfUF8wXzc2NSkgKi8KKyAgICAgICAgc21sYWwgICAgICAg ICAgIHYyMi40cywgdjcuNGgsIFhGSVhfTl8xXzg0NyAgIC8qIGxvIHoxICsgTVVMVElQTFkodG1w MTIsIFhGSVhfTl8xXzg0NykgKi8KKyAgICAgICAgc21sYWwyICAgICAgICAgIHYyNS40cywgdjcu OGgsIFhGSVhfTl8xXzg0NyAgIC8qIGhpIHoxICsgTVVMVElQTFkodG1wMTIsIFhGSVhfTl8xXzg0 NykgKi8KKworICAgICAgICByc2hybiAgICAgICAgICAgdjE4LjRoLCB2MTguNHMsICNERVNDQUxF X1AyCisgICAgICAgIHJzaHJuICAgICAgICAgICB2MjIuNGgsIHYyMi40cywgI0RFU0NBTEVfUDIK KyAgICAgICAgcnNocm4yICAgICAgICAgIHYxOC44aCwgdjI0LjRzLCAjREVTQ0FMRV9QMiAgLyog ZGF0YXB0clsyXSA9IChEQ1RFTEVNKURFU0NBTEUoejEgKyBNVUxUSVBMWSh0bXAxMywgWEZJWF9Q XzBfNzY1KSwgQ09OU1RfQklUUytQQVNTMV9CSVRTKTsgKi8KKyAgICAgICAgcnNocm4yICAgICAg ICAgIHYyMi44aCwgdjI1LjRzLCAjREVTQ0FMRV9QMiAgLyogZGF0YXB0cls2XSA9IChEQ1RFTEVN KURFU0NBTEUoejEgKyBNVUxUSVBMWSh0bXAxMiwgWEZJWF9OXzFfODQ3KSwgQ09OU1RfQklUUytQ QVNTMV9CSVRTKTsgKi8KKworICAgICAgICAvKiBPZGQgcGFydCAqLworICAgICAgICBhZGQgICAg ICAgICAgICAgdjIuOGgsIHYyOC44aCwgdjMxLjhoICAgLyogejEgPSB0bXA0ICsgdG1wNzsgKi8K KyAgICAgICAgYWRkICAgICAgICAgICAgIHYzLjhoLCB2MjkuOGgsIHYzMC44aCAgIC8qIHoyID0g dG1wNSArIHRtcDY7ICovCisgICAgICAgIGFkZCAgICAgICAgICAgICB2Ni44aCwgdjI4LjhoLCB2 MzAuOGggICAvKiB6MyA9IHRtcDQgKyB0bXA2OyAqLworICAgICAgICBhZGQgICAgICAgICAgICAg djcuOGgsIHYyOS44aCwgdjMxLjhoICAgLyogejQgPSB0bXA1ICsgdG1wNzsgKi8KKworICAgICAg ICBzbXVsbCAgICAgICAgICAgdjQuNHMsIHY2LjRoLCBYRklYX1BfMV8xNzUgICAvKiB6NSBsbyA9 IHozIGxvICogWEZJWF9QXzFfMTc1ICovCisgICAgICAgIHNtdWxsMiAgICAgICAgICB2NS40cywg djYuOGgsIFhGSVhfUF8xXzE3NQorICAgICAgICBzbWxhbCAgICAgICAgICAgdjQuNHMsIHY3LjRo LCBYRklYX1BfMV8xNzUgICAvKiB6NSA9IE1VTFRJUExZKHozICsgejQsIEZJWF8xXzE3NTg3NTYw Mik7ICovCisgICAgICAgIHNtbGFsMiAgICAgICAgICB2NS40cywgdjcuOGgsIFhGSVhfUF8xXzE3 NQorCisgICAgICAgIHNtdWxsMiAgICAgICAgICB2MjQuNHMsIHYyOC44aCwgWEZJWF9QXzBfMjk4 CisgICAgICAgIHNtdWxsMiAgICAgICAgICB2MjUuNHMsIHYyOS44aCwgWEZJWF9QXzJfMDUzCisg ICAgICAgIHNtdWxsMiAgICAgICAgICB2MjYuNHMsIHYzMC44aCwgWEZJWF9QXzNfMDcyCisgICAg ICAgIHNtdWxsMiAgICAgICAgICB2MjcuNHMsIHYzMS44aCwgWEZJWF9QXzFfNTAxCisgICAgICAg IHNtdWxsICAgICAgICAgICB2MjMuNHMsIHYyOC40aCwgWEZJWF9QXzBfMjk4ICAvKiB0bXA0ID0g TVVMVElQTFkodG1wNCwgRklYXzBfMjk4NjMxMzM2KTsgKi8KKyAgICAgICAgc211bGwgICAgICAg ICAgIHYyMS40cywgdjI5LjRoLCBYRklYX1BfMl8wNTMgIC8qIHRtcDUgPSBNVUxUSVBMWSh0bXA1 LCBGSVhfMl8wNTMxMTk4NjkpOyAqLworICAgICAgICBzbXVsbCAgICAgICAgICAgdjE5LjRzLCB2 MzAuNGgsIFhGSVhfUF8zXzA3MiAgLyogdG1wNiA9IE1VTFRJUExZKHRtcDYsIEZJWF8zXzA3Mjcx MTAyNik7ICovCisgICAgICAgIHNtdWxsICAgICAgICAgICB2MTcuNHMsIHYzMS40aCwgWEZJWF9Q XzFfNTAxICAvKiB0bXA3ID0gTVVMVElQTFkodG1wNywgRklYXzFfNTAxMzIxMTEwKTsgKi8KKwor ICAgICAgICBzbXVsbDIgICAgICAgICAgdjI4LjRzLCB2Mi44aCwgWEZJWF9OXzBfODk5CisgICAg ICAgIHNtdWxsMiAgICAgICAgICB2MjkuNHMsIHYzLjhoLCBYRklYX05fMl81NjIKKyAgICAgICAg c211bGwyICAgICAgICAgIHYzMC40cywgdjYuOGgsIFhGSVhfTl8xXzk2MQorICAgICAgICBzbXVs bDIgICAgICAgICAgdjMxLjRzLCB2Ny44aCwgWEZJWF9OXzBfMzkwCisgICAgICAgIHNtdWxsICAg ICAgICAgICB2Mi40cywgdjIuNGgsIFhGSVhfTl8wXzg5OSAgICAvKiB6MSA9IE1VTFRJUExZKHox LCAtRklYXzBfODk5OTc2MjIzKTsgKi8KKyAgICAgICAgc211bGwgICAgICAgICAgIHYzLjRzLCB2 My40aCwgWEZJWF9OXzJfNTYyICAgIC8qIHoyID0gTVVMVElQTFkoejIsIC1GSVhfMl81NjI5MTU0 NDcpOyAqLworICAgICAgICBzbXVsbCAgICAgICAgICAgdjYuNHMsIHY2LjRoLCBYRklYX05fMV85 NjEgICAgLyogejMgPSBNVUxUSVBMWSh6MywgLUZJWF8xXzk2MTU3MDU2MCk7ICovCisgICAgICAg IHNtdWxsICAgICAgICAgICB2Ny40cywgdjcuNGgsIFhGSVhfTl8wXzM5MCAgICAvKiB6NCA9IE1V TFRJUExZKHo0LCAtRklYXzBfMzkwMTgwNjQ0KTsgKi8KKworICAgICAgICBhZGQgICAgICAgICAg ICAgdjYuNHMsIHY2LjRzLCB2NC40cyAgICAvKiB6MyArPSB6NSAqLworICAgICAgICBhZGQgICAg ICAgICAgICAgdjMwLjRzLCB2MzAuNHMsIHY1LjRzCisgICAgICAgIGFkZCAgICAgICAgICAgICB2 Ny40cywgdjcuNHMsIHY0LjRzICAgIC8qIHo0ICs9IHo1ICovCisgICAgICAgIGFkZCAgICAgICAg ICAgICB2MzEuNHMsIHYzMS40cywgdjUuNHMKKworICAgICAgICBhZGQgICAgICAgICAgICAgdjIz LjRzLCB2MjMuNHMsIHYyLjRzICAgLyogdG1wNCArPSB6MSAqLworICAgICAgICBhZGQgICAgICAg ICAgICAgdjI0LjRzLCB2MjQuNHMsIHYyOC40cworICAgICAgICBhZGQgICAgICAgICAgICAgdjIx LjRzLCB2MjEuNHMsIHYzLjRzICAgLyogdG1wNSArPSB6MiAqLworICAgICAgICBhZGQgICAgICAg ICAgICAgdjI1LjRzLCB2MjUuNHMsIHYyOS40cworICAgICAgICBhZGQgICAgICAgICAgICAgdjE5 LjRzLCB2MTkuNHMsIHY2LjRzICAgLyogdG1wNiArPSB6MyAqLworICAgICAgICBhZGQgICAgICAg ICAgICAgdjI2LjRzLCB2MjYuNHMsIHYzMC40cworICAgICAgICBhZGQgICAgICAgICAgICAgdjE3 LjRzLCB2MTcuNHMsIHY3LjRzICAgLyogdG1wNyArPSB6NCAqLworICAgICAgICBhZGQgICAgICAg ICAgICAgdjI3LjRzLCB2MjcuNHMsIHYzMS40cworCisgICAgICAgIGFkZCAgICAgICAgICAgICB2 MjMuNHMsIHYyMy40cywgdjYuNHMgICAvKiB0bXA0ICs9IHozICovCisgICAgICAgIGFkZCAgICAg ICAgICAgICB2MjQuNHMsIHYyNC40cywgdjMwLjRzCisgICAgICAgIGFkZCAgICAgICAgICAgICB2 MjEuNHMsIHYyMS40cywgdjcuNHMgICAvKiB0bXA1ICs9IHo0ICovCisgICAgICAgIGFkZCAgICAg ICAgICAgICB2MjUuNHMsIHYyNS40cywgdjMxLjRzCisgICAgICAgIGFkZCAgICAgICAgICAgICB2 MTkuNHMsIHYxOS40cywgdjMuNHMgICAvKiB0bXA2ICs9IHoyICovCisgICAgICAgIGFkZCAgICAg ICAgICAgICB2MjYuNHMsIHYyNi40cywgdjI5LjRzCisgICAgICAgIGFkZCAgICAgICAgICAgICB2 MTcuNHMsIHYxNy40cywgdjIuNHMgICAvKiB0bXA3ICs9IHoxICovCisgICAgICAgIGFkZCAgICAg ICAgICAgICB2MjcuNHMsIHYyNy40cywgdjI4LjRzCisKKyAgICAgICAgcnNocm4gICAgICAgICAg IHYyMy40aCwgdjIzLjRzLCAjREVTQ0FMRV9QMgorICAgICAgICByc2hybiAgICAgICAgICAgdjIx LjRoLCB2MjEuNHMsICNERVNDQUxFX1AyCisgICAgICAgIHJzaHJuICAgICAgICAgICB2MTkuNGgs IHYxOS40cywgI0RFU0NBTEVfUDIKKyAgICAgICAgcnNocm4gICAgICAgICAgIHYxNy40aCwgdjE3 LjRzLCAjREVTQ0FMRV9QMgorICAgICAgICByc2hybjIgICAgICAgICAgdjIzLjhoLCB2MjQuNHMs ICNERVNDQUxFX1AyICAvKiBkYXRhcHRyWzddID0gKERDVEVMRU0pREVTQ0FMRSh0bXA0ICsgejEg KyB6MywgQ09OU1RfQklUUytQQVNTMV9CSVRTKTsgKi8KKyAgICAgICAgcnNocm4yICAgICAgICAg IHYyMS44aCwgdjI1LjRzLCAjREVTQ0FMRV9QMiAgLyogZGF0YXB0cls1XSA9IChEQ1RFTEVNKURF U0NBTEUodG1wNSArIHoyICsgejQsIENPTlNUX0JJVFMrUEFTUzFfQklUUyk7ICovCisgICAgICAg IHJzaHJuMiAgICAgICAgICB2MTkuOGgsIHYyNi40cywgI0RFU0NBTEVfUDIgIC8qIGRhdGFwdHJb M10gPSAoRENURUxFTSlERVNDQUxFKHRtcDYgKyB6MiArIHozLCBDT05TVF9CSVRTK1BBU1MxX0JJ VFMpOyAqLworICAgICAgICByc2hybjIgICAgICAgICAgdjE3LjhoLCB2MjcuNHMsICNERVNDQUxF X1AyICAvKiBkYXRhcHRyWzFdID0gKERDVEVMRU0pREVTQ0FMRSh0bXA3ICsgejEgKyB6NCwgQ09O U1RfQklUUytQQVNTMV9CSVRTKTsgKi8KKworICAgICAgICAvKiBTdG9yZSByZXN1bHRzICovCisg ICAgICAgIHN0MSAgICAgICAgICAgICB7djE2LjhoLCB2MTcuOGgsIHYxOC44aCwgdjE5LjhofSwg W0RBVEFdLCA2NAorICAgICAgICBzdDEgICAgICAgICAgICAge3YyMC44aCwgdjIxLjhoLCB2MjIu OGgsIHYyMy44aH0sIFtEQVRBXQorCisgICAgICAgIHJldAorCisgICAgICAgIC51bnJlcSAgICAg ICAgICBEQVRBCisgICAgICAgIC51bnJlcSAgICAgICAgICBUTVAKK2VuZGZ1bmMKKworI3VuZGVm IFhGSVhfUF8wXzI5OAorI3VuZGVmIFhGSVhfTl8wXzM5MAorI3VuZGVmIFhGSVhfUF8wXzU0MQor I3VuZGVmIFhGSVhfUF8wXzc2NQorI3VuZGVmIFhGSVhfTl8wXzg5OQorI3VuZGVmIFhGSVhfUF8x XzE3NQorI3VuZGVmIFhGSVhfUF8xXzUwMQorI3VuZGVmIFhGSVhfTl8xXzg0NworI3VuZGVmIFhG SVhfTl8xXzk2MQorI3VuZGVmIFhGSVhfUF8yXzA1MworI3VuZGVmIFhGSVhfTl8yXzU2MgorI3Vu ZGVmIFhGSVhfUF8zXzA3MgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hdmNvZGVjLmggYi9saWJh dmNvZGVjL2F2Y29kZWMuaAppbmRleCA5NjgwMDlhMTkyLi4yZGE2M2M4N2VhIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2F2Y29kZWMuaAorKysgYi9saWJhdmNvZGVjL2F2Y29kZWMuaApAQCAtMTUz OCw2ICsxNTM4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgewogI2RlZmluZSBG Rl9EQ1RfTU1YICAgICAzCiAjZGVmaW5lIEZGX0RDVF9BTFRJVkVDIDUKICNkZWZpbmUgRkZfRENU X0ZBQU4gICAgNgorI2RlZmluZSBGRl9EQ1RfTkVPTiAgICA3CiAKICAgICAvKioKICAgICAgKiBJ RENUIGFsZ29yaXRobSwgc2VlIEZGX0lEQ1RfKiBiZWxvdy4KZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvZmRjdGRzcC5jIGIvbGliYXZjb2RlYy9mZGN0ZHNwLmMKaW5kZXggZjhiYTE3NDI2Yy4uZDIw NTU4Y2U4OCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9mZGN0ZHNwLmMKKysrIGIvbGliYXZjb2Rl Yy9mZGN0ZHNwLmMKQEAgLTQyLDcgKzQyLDkgQEAgYXZfY29sZCB2b2lkIGZmX2ZkY3Rkc3BfaW5p dChGRENURFNQQ29udGV4dCAqYywgQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICBjLT5m ZGN0MjQ4ID0gZmZfZmRjdDI0OF9pc2xvd184OwogICAgIH0KIAotI2lmIEFSQ0hfUFBDCisjaWYg QVJDSF9BQVJDSDY0CisgICAgZmZfZmRjdGRzcF9pbml0X2FhcmNoNjQoYywgYXZjdHgsIGhpZ2hf Yml0X2RlcHRoKTsKKyNlbGlmIEFSQ0hfUFBDCiAgICAgZmZfZmRjdGRzcF9pbml0X3BwYyhjLCBh dmN0eCwgaGlnaF9iaXRfZGVwdGgpOwogI2VsaWYgQVJDSF9YODYKICAgICBmZl9mZGN0ZHNwX2lu aXRfeDg2KGMsIGF2Y3R4LCBoaWdoX2JpdF9kZXB0aCk7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2ZkY3Rkc3AuaCBiL2xpYmF2Y29kZWMvZmRjdGRzcC5oCmluZGV4IDczNzhlYWI4NzAuLmNhZDk5 ZWQ3Y2EgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZmRjdGRzcC5oCisrKyBiL2xpYmF2Y29kZWMv ZmRjdGRzcC5oCkBAIC0zMiw2ICszMiw4IEBAIHR5cGVkZWYgc3RydWN0IEZEQ1REU1BDb250ZXh0 IHsKIAogRkZfVklTSUJJTElUWV9QVVNIX0hJRERFTgogdm9pZCBmZl9mZGN0ZHNwX2luaXQoRkRD VERTUENvbnRleHQgKmMsIHN0cnVjdCBBVkNvZGVjQ29udGV4dCAqYXZjdHgpOwordm9pZCBmZl9m ZGN0ZHNwX2luaXRfYWFyY2g2NChGRENURFNQQ29udGV4dCAqYywgc3RydWN0IEFWQ29kZWNDb250 ZXh0ICphdmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGlnaF9i aXRfZGVwdGgpOwogdm9pZCBmZl9mZGN0ZHNwX2luaXRfcHBjKEZEQ1REU1BDb250ZXh0ICpjLCBz dHJ1Y3QgQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGhpZ2hfYml0X2RlcHRoKTsKIHZvaWQgZmZfZmRjdGRzcF9pbml0X3g4NihGRENURFNQ Q29udGV4dCAqYywgc3RydWN0IEFWQ29kZWNDb250ZXh0ICphdmN0eCwKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvb3B0aW9uc190YWJsZS5oIGIvbGliYXZjb2RlYy9vcHRpb25zX3RhYmxlLmgKaW5k ZXggN2E3MGZhN2I2Yy4uMzNmMWJjZTg4NyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9vcHRpb25z X3RhYmxlLmgKKysrIGIvbGliYXZjb2RlYy9vcHRpb25zX3RhYmxlLmgKQEAgLTE1OCw2ICsxNTgs NyBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24gYXZjb2RlY19vcHRpb25zW10gPSB7CiB7Im1teCIs IE5VTEwsIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7Lmk2NCA9IEZGX0RDVF9NTVggfSwgSU5UX01J TiwgSU5UX01BWCwgVnxFLCAudW5pdCA9ICJkY3QifSwKIHsiYWx0aXZlYyIsIE5VTEwsIDAsIEFW X09QVF9UWVBFX0NPTlNULCB7Lmk2NCA9IEZGX0RDVF9BTFRJVkVDIH0sIElOVF9NSU4sIElOVF9N QVgsIFZ8RSwgLnVuaXQgPSAiZGN0In0sCiB7ImZhYW4iLCAiZmxvYXRpbmcgcG9pbnQgQUFOIERD VCIsIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7Lmk2NCA9IEZGX0RDVF9GQUFOIH0sIElOVF9NSU4s IElOVF9NQVgsIFZ8RSwgLnVuaXQgPSAiZGN0In0sCit7Im5lb24iLCBOVUxMLCAwLCBBVl9PUFRf VFlQRV9DT05TVCwgey5pNjQgPSBGRl9EQ1RfTkVPTiB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWfEUs IC51bml0ID0gImRjdCJ9LAogeyJsdW1pX21hc2siLCAiY29tcHJlc3NlcyBicmlnaHQgYXJlYXMg c3Ryb25nZXIgdGhhbiBtZWRpdW0gb25lcyIsIE9GRlNFVChsdW1pX21hc2tpbmcpLCBBVl9PUFRf VFlQRV9GTE9BVCwgey5kYmwgPSAwIH0sIC1GTFRfTUFYLCBGTFRfTUFYLCBWfEV9LAogeyJ0Y3Bs eF9tYXNrIiwgInRlbXBvcmFsIGNvbXBsZXhpdHkgbWFza2luZyIsIE9GRlNFVCh0ZW1wb3JhbF9j cGx4X21hc2tpbmcpLCBBVl9PUFRfVFlQRV9GTE9BVCwgey5kYmwgPSAwIH0sIC1GTFRfTUFYLCBG TFRfTUFYLCBWfEV9LAogeyJzY3BseF9tYXNrIiwgInNwYXRpYWwgY29tcGxleGl0eSBtYXNraW5n IiwgT0ZGU0VUKHNwYXRpYWxfY3BseF9tYXNraW5nKSwgQVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJs ID0gMCB9LCAtRkxUX01BWCwgRkxUX01BWCwgVnxFfSwKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv dGVzdHMvYWFyY2g2NC9kY3QuYyBiL2xpYmF2Y29kZWMvdGVzdHMvYWFyY2g2NC9kY3QuYwppbmRl eCA5ZTQ3NzMyOGQ1Li5lOThhODg3Y2Q1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Rlc3RzL2Fh cmNoNjQvZGN0LmMKKysrIGIvbGliYXZjb2RlYy90ZXN0cy9hYXJjaDY0L2RjdC5jCkBAIC0xOSw5 ICsxOSwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAibGliYXZ1dGlsL2Nw dS5oIgorI2luY2x1ZGUgImxpYmF2Y29kZWMvYWFyY2g2NC9mZGN0LmgiCiAjaW5jbHVkZSAibGli YXZjb2RlYy9hYXJjaDY0L2lkY3QuaCIKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbGdvIGZkY3Rf dGFiX2FyY2hbXSA9IHsKKyAgICB7ICJuZW9uIiwgZmZfZmRjdF9uZW9uLCBGRl9JRENUX1BFUk1f Tk9ORSwgQVZfQ1BVX0ZMQUdfTkVPTiB9LAogICAgIHsgMCB9CiB9OwogCi0tIAoyLjMwLjIKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZl bCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3Jn L21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4K