From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 7EFFC40067 for ; Thu, 11 Sep 2025 17:27:51 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'jR7wISmWUqI+F+ck18AIWHLR/4dh+EYffdi9sVZ0arA=', expected b'a9BxveF2oBV82kuG/WkF58DWTA7D9JIPX/60Utn7oz0=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757611660; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=jR7wISmWUqI+F+ck18AIWHLR/4dh+EYffdi9sVZ0arA=; b=l9bqh0OF1PowsqsYeSWL6GvxNvxc9noZ1VgDlGanP4PeQV3gsB/PEvtgoLfUQtD1AgoIk tq/mndcL8BGXbzIJpoxX7ForKCZUndhAGp67KJhseyknZq/uGNFnVqjQdz2+M4h0q5Bd0t1 hl4A9YMYSim0HnXOoQauYHmPUcfPNmmP+0FBpydYNC9l0GWMOdSWnla5td11fPvDD2P2z2+ y8xPs+guW7XCABtnskCZyn+bzxVjb7Z4Ptk+zG3Ywh2BKdfKoVdf195f/5dTqYvnzzq8Z68 YS2CbZu41O+6OuOzDeKXq+gh4ODvQ2wmCr1G96NuDKRIwaQt4v64F0vaDE7w== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 8483668E7D6; Thu, 11 Sep 2025 20:27:40 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1757611659; b=QClDeCM6YVOYQ5I9xJrP1wOcfwsBDBochX8RzNdzxHGnFVZjN1Zo3tlsEOBzduNliv+ra X0lBXubTchc3Lmk8VfLVSvg5zYiy9YX1FzN9nZbxqeWHqmiT25HLYFJjRe41QTzwfd1yHLC TKMBDEa7Q6ym56rQmkA2suBHMevvFZZwteRji/3bS+xQ+9HzeSD/H7EXYxPsJuKJdzFIX9S gr9pL0m1HgRzOVm1WQQ9jZIfsIdvgbk/BZlnkW1lKjTmWBXQpSCpQXnVTwyq8qUES+j0iw1 7RxcvMwYiJ316QdxMEqEuc6rJvWYOC6ZN5SZJKYLRpOnLFjWLaFgi1zVHzKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1757611659; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=jR7wISmWUqI+F+ck18AIWHLR/4dh+EYffdi9sVZ0arA=; b=qxIfBuBH48biWet1rKisV1CCZQsnVt+OqJtai9m1W2D8xPfFJUuZZUMiBV4D6lN0TvUnj c0qKdXKabB+bO1xM3CJ0fXffjs5sUuxZduhDyb2dMZVAn8rkgNy6vwVbb+odmvaUn9QTaIX DNOgmqDzY1C7OFwdT+TQ8TsCtxN1NzSPW9QlcHsxH42FJ1orSG789YlyvnS2UrLLJ855wRs nWtwN6jG8skPuFfChmZbOo+nmT2A9gtF+H+c7Cbuqwd2AmknWs6YYbR3HuGhGUrf9QS7L3c u+LE/EkaWFip1To/ml8sx+Bi9EluurgW4pfpWaYTKDGckLwmtoVLIi98guJA== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757611647; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=a9BxveF2oBV82kuG/WkF58DWTA7D9JIPX/60Utn7oz0=; b=HtNNZ3KjapKXsumNd38XactXGqWslZxUY5/iiPre/FC/nTz3WB6EsnKGb6o48lVLX4EYE aCC0/raTk2SCtgOujdaLK+vf/ry9WRtJlrHN58SgTsvGJal0q98kaW1siefJfgO91CBo9/k kPbUuDirKp0tFCBgR0aUhZSQSQVHPEZIP1TyqkzKRTq0wrSbsoggCja7hCU/BqXIahsT+sI 94in5bf8KpIUbeV/Km1PNLq6OHJuMNtRV78q4ZpAFFXcI2zKCNFYHPzaTmq4GxCNW9pXDxq upDfaz4eApYmdL7Nvoc4SjgmmDd+khWwZnxcxKsqqq7Yav2PhaaP8AjiTy8Q== Received: from 3f9d35a0eedc (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id BEDB068E752 for ; Thu, 11 Sep 2025 20:27:27 +0300 (EEST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 11 Sep 2025 17:27:26 -0000 Message-ID: <175761164805.25.15246734965513426351@463a07221176> Message-ID-Hash: I5EQGBWYRKDBT6UFHVFGONH6BGZMEFKH X-Message-ID-Hash: I5EQGBWYRKDBT6UFHVFGONH6BGZMEFKH X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] rvv: add optimized h264 intra prediction functions (PR #20494) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: tmatth via ffmpeg-devel Cc: tmatth Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIwNDk0IG9wZW5lZCBieSB0bWF0dGgKVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9yZy9G Rm1wZWcvRkZtcGVnL3B1bGxzLzIwNDk0ClBhdGNoIFVSTDogaHR0cHM6Ly9jb2RlLmZmbXBlZy5v cmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDQ5NC5wYXRjaAoKQmVuY2hlZCBvbiBTcGFjZU1JVCBm b3IgVkxFTiAyNTYNCg0KUmV2aWV3ZWQtYnk6IE5hdGhhbiBFLiBFZ2dlIDx1bmxvcmRAeGlwaC5v cmc+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQyAgICAgICBSVlYyNTYNCnBy ZWQ4eDhfaG9yaXpvbnRhbF84OiAgICAgICAgICAgMzYuNCAgICAzMi42ICAgICgxLjEyeCkNCnBy ZWQ4eDhfcGxhbmVfODogICAgICAgICAgICAgICAgMjI1LjcgICAxNDkuNyAgICgxLjUxeCkNCnBy ZWQxNngxNl9kY184OiAgICAgICAgICAgICAgICAgNzAuMiAgICA1OC4zICAgICgxLjIweCkNCnBy ZWQxNngxNl9kY18xMjhfODogICAgICAgICAgICAgMjQuNiAgICAyMy45ICAgICgxLjAzeCkNCnBy ZWQxNngxNl9ob3Jpem9udGFsXzg6ICAgICAgICAgOTAuMyAgICA1Ni40ICAgICgxLjYweCkNCnBy ZWQxNngxNl9sZWZ0X2RjXzg6ICAgICAgICAgICAgNDkuMCAgICA0Ni40ICAgICgxLjA2eCkNCnBy ZWQxNngxNl9wbGFuZV84OiAgICAgICAgICAgICAgNzQ2LjkgICAyMzIuMiAgICgzLjIyeCkNCnBy ZWQxNngxNl90b3BfZGNfODogICAgICAgICAgICAgNDcuMSAgICA0NS4yICAgICgxLjA0eCkNCnBy ZWQxNngxNl92ZXJ0aWNhbF84OiAgICAgICAgICAgMzIuNiAgICAyNC41ICAgICgxLjMzeCkKCgpG cm9tIGMzM2FjY2U1NTEwY2YyNzU5NWU0NDJiNjg3YTM0MzNhZTAxM2NlMTggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFRyaXN0YW4gTWF0dGhld3MgPHRtYXR0aEB2aWRlb2xhbi5vcmc+ CkRhdGU6IFN1biwgMjAgSnVsIDIwMjUgMTI6MTM6MDAgKzAwMDAKU3ViamVjdDogW1BBVENIXSBy dnY6IGFkZCBvcHRpbWl6ZWQgaDI2NCBpbnRyYSBwcmVkaWN0aW9uIGZ1bmN0aW9ucwoKQmVuY2hl ZCBvbiBTcGFjZU1JVCBmb3IgVkxFTiAyNTYKClJldmlld2VkLWJ5OiBOYXRoYW4gRS4gRWdnZSA8 dW5sb3JkQHhpcGgub3JnPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDICAgICAg IFJWVjI1NgpwcmVkOHg4X2hvcml6b250YWxfODogICAgICAgICAgIDM2LjQgICAgMzIuNiAgICAo MS4xMngpCnByZWQ4eDhfcGxhbmVfODogICAgICAgICAgICAgICAgMjI1LjcgICAxNDkuNyAgICgx LjUxeCkKcHJlZDE2eDE2X2RjXzg6ICAgICAgICAgICAgICAgICA3MC4yICAgIDU4LjMgICAgKDEu MjB4KQpwcmVkMTZ4MTZfZGNfMTI4Xzg6ICAgICAgICAgICAgIDI0LjYgICAgMjMuOSAgICAoMS4w M3gpCnByZWQxNngxNl9ob3Jpem9udGFsXzg6ICAgICAgICAgOTAuMyAgICA1Ni40ICAgICgxLjYw eCkKcHJlZDE2eDE2X2xlZnRfZGNfODogICAgICAgICAgICA0OS4wICAgIDQ2LjQgICAgKDEuMDZ4 KQpwcmVkMTZ4MTZfcGxhbmVfODogICAgICAgICAgICAgIDc0Ni45ICAgMjMyLjIgICAoMy4yMngp CnByZWQxNngxNl90b3BfZGNfODogICAgICAgICAgICAgNDcuMSAgICA0NS4yICAgICgxLjA0eCkK cHJlZDE2eDE2X3ZlcnRpY2FsXzg6ICAgICAgICAgICAzMi42ICAgIDI0LjUgICAgKDEuMzN4KQot LS0KIGxpYmF2Y29kZWMvaDI2NHByZWQuYyAgICAgICAgICAgICAgICAgIHwgICAyICsKIGxpYmF2 Y29kZWMvaDI2NHByZWQuaCAgICAgICAgICAgICAgICAgIHwgICAzICstCiBsaWJhdmNvZGVjL3Jp c2N2L01ha2VmaWxlICAgICAgICAgICAgICB8ICAgMiArCiBsaWJhdmNvZGVjL3Jpc2N2L2gyNjRf aW50cmFwcmVkX2luaXQuYyB8ICA4MiArKysrCiBsaWJhdmNvZGVjL3Jpc2N2L2gyNjRfaW50cmFw cmVkX3J2di5TICB8IDUwMSArKysrKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0cy9jaGVja2Fz bS9oMjY0cHJlZC5jICAgICAgICAgICAgICB8ICAgOSArLQogNiBmaWxlcyBjaGFuZ2VkLCA1OTcg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNv ZGVjL3Jpc2N2L2gyNjRfaW50cmFwcmVkX2luaXQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2 Y29kZWMvcmlzY3YvaDI2NF9pbnRyYXByZWRfcnZ2LlMKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2gyNjRwcmVkLmMgYi9saWJhdmNvZGVjL2gyNjRwcmVkLmMKaW5kZXggMjVmOTk5NWEwYi4uZjRh ZDAyYzMyNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oMjY0cHJlZC5jCisrKyBiL2xpYmF2Y29k ZWMvaDI2NHByZWQuYwpAQCAtNTk4LDUgKzU5OCw3IEBAIGF2X2NvbGQgdm9pZCBmZl9oMjY0X3By ZWRfaW5pdChIMjY0UHJlZENvbnRleHQgKmgsIGludCBjb2RlY19pZCwKICAgICBmZl9oMjY0X3By ZWRfaW5pdF9taXBzKGgsIGNvZGVjX2lkLCBiaXRfZGVwdGgsIGNocm9tYV9mb3JtYXRfaWRjKTsK ICNlbGlmIEFSQ0hfTE9PTkdBUkNICiAgICAgZmZfaDI2NF9wcmVkX2luaXRfbG9vbmdhcmNoKGgs IGNvZGVjX2lkLCBiaXRfZGVwdGgsIGNocm9tYV9mb3JtYXRfaWRjKTsKKyNlbGlmIEFSQ0hfUklT Q1YKKyAgICBmZl9oMjY0X3ByZWRfaW5pdF9yaXNjdihoLCBjb2RlY19pZCwgYml0X2RlcHRoLCBj aHJvbWFfZm9ybWF0X2lkYyk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2 NHByZWQuaCBiL2xpYmF2Y29kZWMvaDI2NHByZWQuaAppbmRleCBjYjAwODU0OGZjLi44YWM1MDg4 YjM0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2gyNjRwcmVkLmgKKysrIGIvbGliYXZjb2RlYy9o MjY0cHJlZC5oCkBAIC0xMjYsNSArMTI2LDYgQEAgdm9pZCBmZl9oMjY0X3ByZWRfaW5pdF9taXBz KEgyNjRQcmVkQ29udGV4dCAqaCwgaW50IGNvZGVjX2lkLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGludCBiaXRfZGVwdGgsIGNvbnN0IGludCBjaHJvbWFfZm9ybWF0X2lkYyk7 CiB2b2lkIGZmX2gyNjRfcHJlZF9pbml0X2xvb25nYXJjaChIMjY0UHJlZENvbnRleHQgKmgsIGlu dCBjb2RlY19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBi aXRfZGVwdGgsIGNvbnN0IGludCBjaHJvbWFfZm9ybWF0X2lkYyk7Ci0KK3ZvaWQgZmZfaDI2NF9w cmVkX2luaXRfcmlzY3YoSDI2NFByZWRDb250ZXh0ICpoLCBpbnQgY29kZWNfaWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBiaXRfZGVwdGgsIGNvbnN0IGludCBjaHJv bWFfZm9ybWF0X2lkYyk7CiAjZW5kaWYgLyogQVZDT0RFQ19IMjY0UFJFRF9IICovCmRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlIGIvbGliYXZjb2RlYy9yaXNjdi9NYWtlZmls ZQppbmRleCA3MzZmODczZmU4Li4wOTZiYWU3ZjE2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Jp c2N2L01ha2VmaWxlCisrKyBiL2xpYmF2Y29kZWMvcmlzY3YvTWFrZWZpbGUKQEAgLTMzLDYgKzMz LDggQEAgUlZWLU9CSlMtJChDT05GSUdfSDI2NENIUk9NQSkgKz0gcmlzY3YvaDI2NF9tY19jaHJv bWEubwogT0JKUy0kKENPTkZJR19IMjY0RFNQKSArPSByaXNjdi9oMjY0ZHNwX2luaXQubwogUlZW LU9CSlMtJChDT05GSUdfSDI2NERTUCkgKz0gcmlzY3YvaDI2NGFkZHB4X3J2di5vIHJpc2N2L2gy NjRkc3BfcnZ2Lm8gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlzY3YvaDI2NGlk Y3RfcnZ2Lm8KK09CSlMtJChDT05GSUdfSDI2NFBSRUQpICs9IHJpc2N2L2gyNjRfaW50cmFwcmVk X2luaXQubworUlZWLU9CSlMtJChDT05GSUdfSDI2NFBSRUQpICArPSByaXNjdi9oMjY0X2ludHJh cHJlZF9ydnYubwogT0JKUy0kKENPTkZJR19IMjY0UVBFTCkgKz0gcmlzY3YvaDI2NHFwZWxfaW5p dC5vCiBSVlYtT0JKUy0kKENPTkZJR19IMjY0UVBFTCkgKz0gcmlzY3YvaDI2NHFwZWxfcnZ2Lm8K IE9CSlMtJChDT05GSUdfSEVWQ19ERUNPREVSKSArPSByaXNjdi9oZXZjZHNwX2luaXQubwpkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9yaXNjdi9oMjY0X2ludHJhcHJlZF9pbml0LmMgYi9saWJhdmNv ZGVjL3Jpc2N2L2gyNjRfaW50cmFwcmVkX2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi5lNmFmNWNiMzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYXZjb2RlYy9y aXNjdi9oMjY0X2ludHJhcHJlZF9pbml0LmMKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHly aWdodCAoYykgMjAyNSBUcmlzdGFuIE1hdHRoZXdzIDx0bWF0dGhAdmlkZW9sYW4ub3JnPgorICoK KyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq IExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv b3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSA8c3RkZGVmLmg+ CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAibGli YXZ1dGlsL2F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvY3B1LmgiCisjaW5jbHVk ZSAibGliYXZ1dGlsL3Jpc2N2L2NwdS5oIgorI2luY2x1ZGUgImxpYmF2Y29kZWMvY29kZWNfaWQu aCIKKyNpbmNsdWRlICJsaWJhdmNvZGVjL2gyNjRwcmVkLmgiCisKKyNkZWZpbmUgUFJFRDh4OChU WVBFLCBERVBUSCwgU1VGRklYKSBcCit2b2lkIGZmX3ByZWQ4eDhfICMjIFRZUEUgIyMgXyAjIyBE RVBUSCAjIyBfICMjIFNVRkZJWCAodWludDhfdCAqc3JjLCBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSk7CisK KyNkZWZpbmUgUFJFRDE2eDE2KFRZUEUsIERFUFRILCBTVUZGSVgpIFwKK3ZvaWQgZmZfcHJlZDE2 eDE2XyAjIyBUWVBFICMjIF8gIyMgREVQVEggIyMgXyAjIyBTVUZGSVggKHVpbnQ4X3QgKnNyYywg XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHRyZGlmZl90IHN0cmlkZSk7CisKKy8qIDgtYml0IHZlcnNpb25zICovCitQUkVEOHg4KGhv cml6b250YWwsIDgsIHJ2dikKK1BSRUQ4eDgoaG9yaXpvbnRhbCwgOCwgcnZ2X3ZsMjU2KQorUFJF RDh4OChwbGFuZSwgOCwgcnZ2KQorUFJFRDE2eDE2KGhvcml6b250YWwsIDgsIHJ2dikKK1BSRUQx NngxNih2ZXJ0aWNhbCwgOCwgcnZ2KQorUFJFRDE2eDE2KGRjLCA4LCBydnYpCitQUkVEMTZ4MTYo MTI4X2RjLCA4LCBydnYpCitQUkVEMTZ4MTYobGVmdF9kYywgOCwgcnZ2KQorUFJFRDE2eDE2KHRv cF9kYywgOCwgcnZ2KQorUFJFRDE2eDE2KHBsYW5lLCA4LCBydnYpCisKK2F2X2NvbGQgdm9pZCBm Zl9oMjY0X3ByZWRfaW5pdF9yaXNjdihIMjY0UHJlZENvbnRleHQgKmgsIGludCBjb2RlY19pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgYml0X2RlcHRo LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBjaHJvbWFf Zm9ybWF0X2lkYykKK3sKKyNpZiBIQVZFX1JWVgorICAgIGludCBjcHVfZmxhZ3MgPSBhdl9nZXRf Y3B1X2ZsYWdzKCk7CisgICAgY29uc3QgaW50IHZsZW4gPSA4ICogZmZfZ2V0X3J2X3ZsZW5iKCk7 CisKKyAgICBpZiAoIShjcHVfZmxhZ3MgJiBBVl9DUFVfRkxBR19SVlZfSTMyKSkgcmV0dXJuOwor CisgICAgaWYgKGJpdF9kZXB0aCA9PSA4KSB7CisgICAgICAgIGlmIChjaHJvbWFfZm9ybWF0X2lk YyA8PSAxKSB7CisgICAgICAgICAgICBoLT5wcmVkOHg4W0hPUl9QUkVEOHg4XSA9IGZmX3ByZWQ4 eDhfaG9yaXpvbnRhbF84X3J2djsKKyAgICAgICAgICAgIGlmIChjb2RlY19pZCAhPSBBVl9DT0RF Q19JRF9WUDcgJiYgY29kZWNfaWQgIT0gQVZfQ09ERUNfSURfVlA4KSB7CisgICAgICAgICAgICAg ICAgaC0+cHJlZDh4OFtQTEFORV9QUkVEOHg4XSA9IGZmX3ByZWQ4eDhfcGxhbmVfOF9ydnY7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAodmxlbiA+PSAyNTYpIHsKKyAgICAgICAgICAg ICAgICBoLT5wcmVkOHg4W0hPUl9QUkVEOHg4XSA9IGZmX3ByZWQ4eDhfaG9yaXpvbnRhbF84X3J2 dl92bDI1NjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBoLT5wcmVkMTZ4MTZb SE9SX1BSRUQ4eDhdID0gZmZfcHJlZDE2eDE2X2hvcml6b250YWxfOF9ydnY7CisgICAgICAgIGgt PnByZWQxNngxNltEQ19QUkVEOHg4XSA9IGZmX3ByZWQxNngxNl9kY184X3J2djsKKyAgICAgICAg aC0+cHJlZDE2eDE2W0xFRlRfRENfUFJFRDh4OF0gPSBmZl9wcmVkMTZ4MTZfbGVmdF9kY184X3J2 djsKKyAgICAgICAgaC0+cHJlZDE2eDE2W1RPUF9EQ19QUkVEOHg4XSA9IGZmX3ByZWQxNngxNl90 b3BfZGNfOF9ydnY7CisgICAgICAgIGgtPnByZWQxNngxNltWRVJUX1BSRUQ4eDhdID0gZmZfcHJl ZDE2eDE2X3ZlcnRpY2FsXzhfcnZ2OworICAgICAgICBoLT5wcmVkMTZ4MTZbRENfMTI4X1BSRUQ4 eDhdID0gZmZfcHJlZDE2eDE2XzEyOF9kY184X3J2djsKKyAgICAgICAgaWYgKGNvZGVjX2lkICE9 IEFWX0NPREVDX0lEX1NWUTMgJiYgY29kZWNfaWQgIT0gQVZfQ09ERUNfSURfUlY0MCAmJgorICAg ICAgICAgICAgY29kZWNfaWQgIT0gQVZfQ09ERUNfSURfVlA3ICYmIGNvZGVjX2lkICE9IEFWX0NP REVDX0lEX1ZQOCkgeworICAgICAgICAgICAgaC0+cHJlZDE2eDE2W1BMQU5FX1BSRUQ4eDhdID0g ZmZfcHJlZDE2eDE2X3BsYW5lXzhfcnZ2OworICAgICAgICB9CisgICAgfQorI2VuZGlmCit9CmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRfaW50cmFwcmVkX3J2di5TIGIvbGliYXZj b2RlYy9yaXNjdi9oMjY0X2ludHJhcHJlZF9ydnYuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi4zOTk5MDM3ODMzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYXZjb2RlYy9y aXNjdi9oMjY0X2ludHJhcHJlZF9ydnYuUwpAQCAtMCwwICsxLDUwMSBAQAorLyoKKyAqIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAy NSBUcmlzdGFuIE1hdHRoZXdzCisgKiBQYXJ0bHkgYmFzZWQgb24gaDI2NF9wcmVkLmMgQ29weXJp Z2h0IChjKSAyMDIzIFNpRml2ZSwgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0 aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisgKiAyLiBSZWRpc3Ry aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo dCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu ZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgKiAgICBhbmQvb3Igb3RoZXIgbWF0 ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT ICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBB UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBD T05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW SVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs dWRlICJsaWJhdnV0aWwvcmlzY3YvYXNtLlMiCisKK2Z1bmMgZmZfcHJlZDh4OF9ob3Jpem9udGFs XzhfcnZ2X3ZsMjU2LCB6dmUzMngKKyAgICAgICAgbHBhZCAgICAwCisgICAgICAgICMgbWY0IG9u bHkgZm9yIFZMRU4gPj0gMjU2LCB3ZSBvbmx5IG5lZWQgdG8gbG9hZCA4IGVsZW1lbnRzIG5vdCBh bGwgMzIgZWxlbWVudHMgc28gdXNlIG1mNAorICAgICAgICB2c2V0aXZsaSB6ZXJvLCA4LCBlOCwg bWY0LCB0YQorICAgICAgICBqIGZmX3ByZWQ4eDhfaG9yaXpvbnRhbF84X21haW4KK2VuZGZ1bmMK KworZnVuYyBmZl9wcmVkOHg4X2hvcml6b250YWxfOF9ydnYsIHp2ZTMyeAorICAgICAgICBscGFk ICAgIDAKKyAgICAgICAgdnNldGl2bGkgemVybywgOCwgZTgsIG1mMiwgdGEKK2ZmX3ByZWQ4eDhf aG9yaXpvbnRhbF84X21haW46CisgICAgICAgIGFkZCAgICAgdDAsIGExLCBhMQorICAgICAgICBt diAgICAgIHQxLCBhMAorICAgICAgICBhZGQgICAgIHQyLCBhMCwgYTEKKworICAgICAgICAucmVw dCAzCisgICAgICAgIGxiICAgICAgdDMsIC0xKHQxKSAgICAgICAgICAgICAjIExvYWQgbGVmdCBw aXhlbCBvZiByb3cgMAorICAgICAgICBsYiAgICAgIHQ0LCAtMSh0MikgICAgICAgICAgICAgIyBM b2FkIGxlZnQgcGl4ZWwgb2Ygcm93IDEgKGRvaW5nIDIgbG9hZHMgdXAgZnJvbnQgc2luY2UgdGhl eSBtYXkgc3RhbGwpCisgICAgICAgIHZtdi52LnggdjAsIHQzCisgICAgICAgIHZtdi52LnggdjEs IHQ0CisgICAgICAgIHZzZTgudiAgdjAsICh0MSkKKyAgICAgICAgYWRkICAgICB0MSwgdDEsIHQw CisgICAgICAgIHZzZTgudiAgdjEsICh0MikKKyAgICAgICAgYWRkICAgICB0MiwgdDIsIHQwCisg ICAgICAgIC5lbmRyCisKKyAgICAgICAgbGIgICAgICB0MywgLTEodDEpCisgICAgICAgIGxiICAg ICAgdDQsIC0xKHQyKQorICAgICAgICB2bXYudi54IHYwLCB0MworICAgICAgICB2bXYudi54IHYx LCB0NAorICAgICAgICB2c2U4LnYgIHYwLCAodDEpCisgICAgICAgIHZzZTgudiAgdjEsICh0MikK KworICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuYyBmZl9wcmVkOHg4X3BsYW5lXzhfcnZ2LCB6 dmUzMngKKyAgICAgICAgbHBhZCAgICAwCisgICAgICAgIHZzZXRpdmxpIHplcm8sIDQsIGU4LCBt ZjIsIHRhCisKKyAgICAgICAgdmlkLnYgICB2MAorICAgICAgICB2bXYudi5pIHYxLCAzCisgICAg ICAgIHZzdWIudnYgdjIsIHYxLCB2MCAgICAgICAgICAgICAgICAgICAjIHYyID0gezMsIDIsIDEs IDB9IGFrYSBpbmRleAorCisgICAgICAgIHZzZXRpdmxpIHplcm8sIDQsIGUxNiwgbWYyLCB0YQor CisgICAgICAgIHZpZC52ICAgdjQKKyAgICAgICAgdmFkZC52aSB2NiwgdjQsIDEgICAgICAgICAg ICAgICAgICAgICMgdjYgPSB7MS4uNH0gPSB3ZWlnaHQxCisKKyAgICAgICAgdnNldGl2bGkgemVy bywgNCwgZTgsIG1mMiwgdGEKKworICAgICAgICBzdWIgICAgIHQwLCBhMCwgYTEKKyAgICAgICAg YWRkaSAgICB0MSwgdDAsIDQKKyAgICAgICAgdmxlOC52ICB2OCwgKHQxKQorCisgICAgICAgIGFk ZGkgICAgdDIsIHQwLCAtMQorICAgICAgICB2bGU4LnYgIHY5LCAodDIpCisKKyAgICAgICAgdnJn YXRoZXIudnYgdjEwLCB2OSwgdjIKKworICAgICAgICBzbGxpICAgIHQzLCBhMSwgMgorICAgICAg ICBhZGRpICAgIHQ0LCB0MywgLTEKKyAgICAgICAgYWRkICAgICB0NSwgYTAsIHQ0CisKKyAgICAg ICAgdmxzZTgudiB2MTEsICh0NSksIGExCisgICAgICAgIHZsc2U4LnYgdjEyLCAodDIpLCBhMQor ICAgICAgICB2cmdhdGhlci52diB2MTMsIHYxMiwgdjIKKworICAgICAgICB2c2V0aXZsaSB6ZXJv LCA0LCBlMTYsIG1mMiwgdGEKKworICAgICAgICB2emV4dC52ZjIgdjE0LCB2OAorICAgICAgICB2 emV4dC52ZjIgdjE1LCB2MTAKKworICAgICAgICB2emV4dC52ZjIgdjE2LCB2MTEKKyAgICAgICAg dnpleHQudmYyIHYxNywgdjEzCisKKyAgICAgICAgdnN1Yi52diB2MTgsIHYxNCwgdjE1CisgICAg ICAgIHZtdWwudnYgdjE5LCB2MTgsIHY2CisKKyAgICAgICAgdnN1Yi52diB2MjAsIHYxNiwgdjE3 CisgICAgICAgIHZtdWwudnYgdjIxLCB2MjAsIHY2CisKKyAgICAgICAgdm12LnYueCB2MjIsIHpl cm8KKyAgICAgICAgdndyZWRzdW0udnMgdjIyLCB2MjEsIHYyMgorCisgICAgICAgIHZtdi52Lngg djIzLCB6ZXJvCisgICAgICAgIHZ3cmVkc3VtLnZzIHYyMywgdjE5LCB2MjMKKworICAgICAgICB2 bXYueC5zIHQ2LCB2MjMKKyAgICAgICAgc2xsaSB0MSwgdDYsIDQKKyAgICAgICAgYWRkICB0Niwg dDYsIHQxCisgICAgICAgIGFkZGkgdDYsIHQ2LCAxNgorICAgICAgICBzcmFpIHQ2LCB0NiwgNQor CisgICAgICAgIHZtdi54LnMgdDUsIHYyMgorICAgICAgICBzbGxpIHQxLCB0NSwgNAorICAgICAg ICBhZGQgIHQ1LCB0NSwgdDEKKyAgICAgICAgYWRkaSB0NSwgdDUsIDE2CisgICAgICAgIHNyYWkg dDUsIHQ1LCA1CisKKyAgICAgICAgYWRkIHQyLCB0NiwgdDUKKyAgICAgICAgc2xsaSB0MywgdDIs IDEKKyAgICAgICAgYWRkIHQzLCB0MywgdDIKKworICAgICAgICBzbGxpIGEyLCBhMSwgMworICAg ICAgICBzdWIgYTIsIGEyLCBhMQorICAgICAgICBhZGRpIGEyLCBhMiwgLTEKKyAgICAgICAgYWRk IGEyLCBhMiwgYTAKKyAgICAgICAgbGJ1ICBhMywgKGEyKQorCisgICAgICAgIGFkZGkgYTIsIGEw LCA3CisgICAgICAgIHN1YiBhMiwgYTIsIGExCisgICAgICAgIGxidSBhNCwgKGEyKQorCisgICAg ICAgIGFkZCBhNSwgYTQsIGEzCisgICAgICAgIGFkZGkgYTUsIGE1LCAxCisgICAgICAgIHNsbGkg YTUsIGE1LCA0CisKKyAgICAgICAgc3ViIGE1LCBhNSwgdDMgICAgICAgICAgICAgICAgICAgICAg ICMgbGluZWFyIGNvbWJpbmF0aW9uIG9mIEgsIFYgYW5kIHNyYworCisgICAgICAgIHZzZXRpdmxp IHplcm8sIDgsIGUxNiwgbWYyLCB0YQorICAgICAgICB2aWQudiAgIHY3CisKKyAgICAgICAgdm12 LnYueCB2MTgsIHQ2CisgICAgICAgIHZtdWwudnYgdjE4LCB2MTgsIHY3CisKKyAgICAgICAgLmly cCByZWcgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2CisgICAgICAgIHZhZGQudnggdlxy ZWcsIHYxOCwgYTUKKyAgICAgICAgdm1heC52eCB2XHJlZywgdlxyZWcsIHplcm8KKyAgICAgICAg YWRkIGE1LCBhNSwgdDUKKyAgICAgICAgLmVuZHIKKworICAgICAgICBsaSAgICAgICAgIHQyLCAy NTUKKworICAgICAgICAuaXJwIHJlZyAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYKKyAg ICAgICAgdnNyYS52aSAgICB2XHJlZywgdlxyZWcsIDUKKyAgICAgICAgdm1pbi52eCAgICB2XHJl ZywgdlxyZWcsIHQyICAgICAgICAgICMgY2xhbXAgdG8gdW5zaWduZWQgMjU1CisgICAgICAgIC5l bmRyCisKKyAgICAgICAgdnNldGl2bGkgemVybywgOCwgZTgsIG1mMiwgdGEKKworICAgICAgICAu aXJwIHJlZyAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYKKyAgICAgICAgdm5jbGlwdS53 aSB2XHJlZywgdlxyZWcsIDAKKyAgICAgICAgLmVuZHIKKworICAgICAgICB2c2U4LnYgIHYxOSwg KGEwKQorICAgICAgICBhZGQgdDEsIGEwLCBhMQorCisgICAgICAgIC5pcnAgcmVnIDIwLCAyMSwg MjIsIDIzLCAyNCwgMjUKKyAgICAgICAgdnNlOC52ICB2XHJlZywgKHQxKQorICAgICAgICBhZGQg dDEsIHQxLCBhMQorICAgICAgICAuZW5kcgorCisgICAgICAgIHZzZTgudiAgdjI2LCAodDEpCisK KyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmMgZmZfcHJlZDE2eDE2X2hvcml6b250YWxfOF9y dnYsIHp2ZTMyeAorICAgICAgICBscGFkICAgIDAKKyAgICAgICAgdnNldGl2bGkgemVybywgMTYs IGU4LCBtZjIsIHRhCisgICAgICAgIGFkZCAgICAgdDAsIGExLCBhMQorICAgICAgICBtdiAgICAg IHQxLCBhMAorICAgICAgICBhZGQgICAgIHQyLCBhMCwgYTEKKworICAgICAgICAucmVwdCA3Cisg ICAgICAgIGxiICAgICAgdDMsIC0xKHQxKSAgICAgICAgICAgICAjIExvYWQgbGVmdCBwaXhlbHMg b2Ygcm93cyAwLDEgKGRvaW5nIDIgbG9hZHMgdXAgZnJvbnQgc2luY2UgdGhleSBtYXkgc3RhbGwp CisgICAgICAgIGxiICAgICAgdDQsIC0xKHQyKQorICAgICAgICB2bXYudi54IHYwLCB0MworICAg ICAgICB2bXYudi54IHYxLCB0NAorICAgICAgICB2c2U4LnYgIHYwLCAodDEpCisgICAgICAgIGFk ZCAgICAgdDEsIHQxLCB0MAorICAgICAgICB2c2U4LnYgIHYxLCAodDIpCisgICAgICAgIGFkZCAg ICAgdDIsIHQyLCB0MAorICAgICAgICAuZW5kcgorCisgICAgICAgIGxiICAgICAgdDMsIC0xKHQx KQorICAgICAgICBsYiAgICAgIHQ0LCAtMSh0MikKKyAgICAgICAgdm12LnYueCB2MCwgdDMKKyAg ICAgICAgdm12LnYueCB2MSwgdDQKKyAgICAgICAgdnNlOC52ICB2MCwgKHQxKQorICAgICAgICB2 c2U4LnYgIHYxLCAodDIpCisKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmMgZmZfcHJlZDE2 eDE2X3ZlcnRpY2FsXzhfcnZ2LCB6dmUzMngKKyAgICAgICAgbHBhZCAgICAwCisgICAgICAgIHZz ZXRpdmxpIHplcm8sIDE2LCBlOCwgbWYyLCB0YQorCisgICAgICAgIHN1YiAgICAgdDAsIGEwLCBh MQorCisgICAgICAgIHZsZTgudiAgdjAsICh0MCkKKworICAgICAgICB2c2U4LnYgIHYwLCAoYTAp CisKKyAgICAgICAgYWRkIHQxLCBhMCwgYTEKKyAgICAgICAgdnNlOC52ICB2MCwgKHQxKQorCisg ICAgICAgIC5yZXB0IDE0CisgICAgICAgIGFkZCB0MSwgdDEsIGExCisgICAgICAgIHZzZTgudiAg djAsICh0MSkKKyAgICAgICAgLmVuZHIKKworICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuYyBm Zl9wcmVkMTZ4MTZfMTI4X2RjXzhfcnZ2LCB6dmUzMngKKyAgICAgICAgbHBhZCAgICAwCisgICAg ICAgIHZzZXRpdmxpIHplcm8sIDE2LCBlOCwgbWYyLCB0YQorICAgICAgICBsaSB0MCwgMTI4Cisg ICAgICAgIHZtdi52LnggdjAsIHQwCisKKyAgICAgICAgc2xsaSBhMiwgYTEsIDEKKyAgICAgICAg dnNlOC52ICB2MCwgKGEwKQorCisgICAgICAgIGFkZCB0MiwgYTAsIGExCisgICAgICAgIHZzZTgu diAgdjAsICh0MikKKworICAgICAgICBhZGQgdDEsIGEwLCBhMgorICAgICAgICBhZGQgdDIsIHQy LCBhMgorCisgICAgICAgIC5yZXB0IDYKKyAgICAgICAgdnNlOC52ICB2MCwgKHQxKQorICAgICAg ICB2c2U4LnYgIHYwLCAodDIpCisKKyAgICAgICAgYWRkIHQxLCB0MSwgYTIKKyAgICAgICAgYWRk IHQyLCB0MiwgYTIKKworICAgICAgICAuZW5kcgorCisgICAgICAgIHZzZTgudiAgdjAsICh0MSkK KyAgICAgICAgdnNlOC52ICB2MCwgKHQyKQorCisgICAgICAgIHJldAorZW5kZnVuYworCitmdW5j IGZmX3ByZWQxNngxNl9kY184X3J2diwgenZlMzJ4CisgICAgICAgIGxwYWQgICAgMAorICAgICAg ICB2c2V0aXZsaSB6ZXJvLCAxNiwgZTgsIG1mMiwgdGEsIG1hCisgICAgICAgIGNzcncgdnhybSwg MAorCisgICAgICAgIGFkZGkgdDAsIGEwLCAtMQorICAgICAgICB2bHNlOC52IHYwLCAodDApLCBh MQorCisgICAgICAgIHN1YiAgICAgdDEsIGEwLCBhMQorICAgICAgICB2bGU4LnYgIHYxLCAodDEp CisKKyAgICAgICAgdnNldGl2bGkgemVybywgOCwgZTgsIG1mNCwgdGEsIG1hCisgICAgICAgIHZt di52LmkgdjIsIDAKKworICAgICAgICB2c2V0aXZsaSB6ZXJvLCAxNiwgZTgsIG1mMiwgdGEsIG1h CisgICAgICAgIHZ3cmVkc3VtdS52cyB2MiwgdjAsIHYyICMgc3VtID0gc3VtKGxlZnQpCisgICAg ICAgIHZ3cmVkc3VtdS52cyB2MiwgdjEsIHYyICMgc3VtICs9IHN1bSh0b3ApCisKKyAgICAgICAg bGkgdDIsIDUKKyAgICAgICAgdnNldGl2bGkgICAgICAgIHplcm8sIDgsIGUxNiwgbWY0LCB0YSwg bWEKKyAgICAgICAgdnNzcmwudnggICAgICAgIHYzLCB2MiwgdDIKKworICAgICAgICB2c2V0aXZs aSAgICAgICAgemVybywgMTYsIGU4LCBtZjIsIHRhLCBtYQorICAgICAgICB2cmdhdGhlci52aSAg ICAgdjQsIHYzLCAwCisKKyAgICAgICAgdnNlOC52IHY0LCAoYTApCisgICAgICAgIGFkZCB0MSwg YTAsIGExCisKKyAgICAgICAgLnJlcHQgMTUKKyAgICAgICAgdnNlOC52IHY0LCAodDEpCisgICAg ICAgIGFkZCB0MSwgdDEsIGExCisgICAgICAgIC5lbmRyCisKKyAgICAgICAgcmV0CitlbmRmdW5j CisKKworZnVuYyBmZl9wcmVkMTZ4MTZfbGVmdF9kY184X3J2diwgenZlMzJ4CisgICAgICAgIGxw YWQgICAgMAorICAgICAgICB2c2V0aXZsaSB6ZXJvLCAxNiwgZTgsIG1mMiwgdGEsIG1hCisKKyAg ICAgICAgYWRkaSB0MiwgYTAsIC0xCisgICAgICAgIHZsc2U4LnYgdjEsICh0MiksIGExCisKKyAg ICAgICAgdm12LnYuaSB2MiwgMAorICAgICAgICB2d3JlZHN1bXUudnMgdjIsIHYxLCB2MgorCisg ICAgICAgIHZzZXRpdmxpIHplcm8sIDgsIGUxNiwgbWY0LCB0YSwgbWEKKyAgICAgICAgdmFkZC52 aSB2MiwgdjIsIDgKKyAgICAgICAgdnNybC52aSB2MywgdjIsIDQKKworICAgICAgICB2c2V0aXZs aSB6ZXJvLCAxNiwgZTgsIG1mMiwgdGEsIG1hCisgICAgICAgIHZtdi54LnMgdDMsIHYzCisgICAg ICAgIHZtdi52LnggdjQsIHQzCisKKyAgICAgICAgc2xsaSBhMiwgYTEsIDEKKyAgICAgICAgYWRk IHQ0LCBhMCwgYTEKKworICAgICAgICB2c2U4LnYgdjQsIChhMCkKKyAgICAgICAgdnNlOC52IHY0 LCAodDQpCisgICAgICAgIGFkZCB0MSwgYTAsIGEyCisgICAgICAgIGFkZCB0NCwgdDQsIGEyCisK KyAgICAgICAgLnJlcHQgNgorICAgICAgICB2c2U4LnYgdjQsICh0MSkKKyAgICAgICAgdnNlOC52 IHY0LCAodDQpCisgICAgICAgIGFkZCB0MSwgdDEsIGEyCisgICAgICAgIGFkZCB0NCwgdDQsIGEy CisgICAgICAgIC5lbmRyCisKKyAgICAgICAgdnNlOC52IHY0LCAodDEpCisgICAgICAgIHZzZTgu diB2NCwgKHQ0KQorCisgICAgICAgIHJldAorZW5kZnVuYworCitmdW5jIGZmX3ByZWQxNngxNl90 b3BfZGNfOF9ydnYsIHp2ZTMyeAorICAgICAgICBscGFkICAgIDAKKyAgICAgICAgdnNldGl2bGkg emVybywgMTYsIGU4LCBtZjIsIHRhLCBtYQorICAgICAgICBjc3J3IHZ4cm0sIDAKKworICAgICAg ICBzdWIgICAgIHQwLCBhMCwgYTEKKyAgICAgICAgdmxlOC52ICB2MCwgKHQwKQorCisgICAgICAg IHZtdi52LmkgdjEsIDAKKworICAgICAgICB2c2V0aXZsaSB6ZXJvLCAxNiwgZTgsIG0xLCB0YSwg bWEKKworICAgICAgICB2d3JlZHN1bXUudnMgdjEsIHYwLCB2MQorCisgICAgICAgIGxpIHQxLCA0 CisgICAgICAgIHZzZXRpdmxpICAgICAgICB6ZXJvLCA4LCBlMTYsIG1mNCwgdGEsIG1hCisgICAg ICAgIHZzc3JsLnZ4ICAgICAgICB2MSwgdjEsIHQxCisKKyAgICAgICAgdnNldGl2bGkgICAgICAg IHplcm8sIDE2LCBlOCwgbWYyLCB0YSwgbWEKKyAgICAgICAgdnJnYXRoZXIudmkgICAgIHYyLCB2 MSwgMAorCisgICAgICAgIHZzZTgudiB2MiwgKGEwKQorICAgICAgICBzbGxpIGEyLCBhMSwgMQor ICAgICAgICBhZGQgdDEsIGEwLCBhMgorICAgICAgICBhZGQgdDIsIGEwLCBhMQorICAgICAgICB2 c2U4LnYgdjIsICh0MikKKworICAgICAgICBhZGQgdDIsIHQyLCBhMgorICAgICAgICB2c2U4LnYg djIsICh0MSkKKyAgICAgICAgdnNlOC52IHYyLCAodDIpCisKKyAgICAgICAgLnJlcHQgNgorICAg ICAgICBhZGQgdDEsIHQxLCBhMgorICAgICAgICBhZGQgdDIsIHQyLCBhMgorICAgICAgICB2c2U4 LnYgdjIsICh0MSkKKyAgICAgICAgdnNlOC52IHYyLCAodDIpCisgICAgICAgIC5lbmRyCisKKyAg ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmMgZmZfcHJlZDE2eDE2X3BsYW5lXzhfcnZ2LCB6dmUz MngKKyAgICAgICAgbHBhZCAgICAwCisgICAgICAgIHZzZXRpdmxpIHplcm8sIDgsIGU4LCBtZjIs IHRhCisKKyAgICAgICAgdmlkLnYgICB2MAorICAgICAgICB2bXYudi5pIHYxLCA3CisgICAgICAg IHZzdWIudnYgdjIsIHYxLCB2MCAgICAgICAgICAgICAgICAgICAjIHYyID0gezcsIDYsIDUsIDQs IDMsIDIsIDEsIDB9IGFrYSBpbmRleAorCisgICAgICAgIHN1YiAgICAgdDAsIGEwLCBhMQorICAg ICAgICBhZGRpICAgIHQxLCB0MCwgOAorICAgICAgICBhZGRpICAgIHQyLCB0MCwgLTEKKyAgICAg ICAgdmxlOC52ICB2MywgKHQxKQorICAgICAgICB2bGU4LnYgIHY0LCAodDIpCisgICAgICAgIHZy Z2F0aGVyLnZ2IHY1LCB2NCwgdjIKKworICAgICAgICBzbGxpICAgIHQzLCBhMSwgMworICAgICAg ICBhZGQgICAgIHQzLCBhMCwgdDMKKyAgICAgICAgYWRkaSAgICB0MywgdDMsIC0xCisKKyAgICAg ICAgdmxzZTgudiB2NiwgKHQzKSwgYTEKKyAgICAgICAgdmxzZTgudiB2NywgKHQyKSwgYTEKKyAg ICAgICAgdnJnYXRoZXIudnYgdjgsIHY3LCB2MgorCisgICAgICAgIHZzZXRpdmxpIHplcm8sIDgs IGUxNiwgbTEsIHRhCisKKyAgICAgICAgdnpleHQudmYyIHY5LCB2MworICAgICAgICB2emV4dC52 ZjIgdjEwLCB2NQorCisgICAgICAgIHZ6ZXh0LnZmMiB2MTEsIHY2CisgICAgICAgIHZ6ZXh0LnZm MiB2MTIsIHY4CisKKyAgICAgICAgdnN1Yi52diB2MTMsIHY5LCB2MTAKKyAgICAgICAgdmlkLnYg ICB2MTQKKyAgICAgICAgdmFkZC52aSB2MTQsIHYxNCwgMQorICAgICAgICB2bXVsLnZ2IHYxNSwg djEzLCB2MTQKKworICAgICAgICB2c3ViLnZ2IHYxNiwgdjExLCB2MTIKKyAgICAgICAgdm11bC52 diB2MTcsIHYxNiwgdjE0CisKKyAgICAgICAgdm12LnYueCB2MTgsIHplcm8KKyAgICAgICAgdndy ZWRzdW0udnMgdjE4LCB2MTcsIHYxOAorCisgICAgICAgIHZtdi52LnggdjE5LCB6ZXJvCisgICAg ICAgIHZ3cmVkc3VtLnZzIHYxOSwgdjE1LCB2MTkKKworICAgICAgICB2bXYueC5zIHQ0LCB2MTkK KyAgICAgICAgc2xsaSB0MSwgdDQsIDIKKyAgICAgICAgYWRkIHQxLCB0MSwgdDQKKyAgICAgICAg YWRkaSB0MSwgdDEsIDMyCisgICAgICAgIHNyYWkgdDEsIHQxLCA2CisKKyAgICAgICAgdm12Lngu cyB0NSwgdjE4CisgICAgICAgIHNsbGkgdDIsIHQ1LCAyCisgICAgICAgIGFkZCB0MiwgdDIsIHQ1 CisgICAgICAgIGFkZGkgdDIsIHQyLCAzMgorICAgICAgICBzcmFpIHQyLCB0MiwgNgorCisgICAg ICAgIGFkZCB0MywgdDEsIHQyCisgICAgICAgIHNsbGkgdDQsIHQzLCAzCisgICAgICAgIHN1YiB0 NCwgdDQsIHQzCisKKyAgICAgICAgc2xsaSB0NSwgYTEsIDQKKyAgICAgICAgc3ViIHQ1LCB0NSwg YTEKKyAgICAgICAgYWRkaSB0NSwgdDUsIC0xCisKKyAgICAgICAgbGkgdDYsIDE1CisgICAgICAg IHN1YiB0NiwgdDYsIGExCisgICAgICAgIGFkZCB0NiwgYTAsIHQ2CisgICAgICAgIGxidSBhMiwg KHQ2KQorCisgICAgICAgIGFkZCBhMywgYTAsIHQ1CisgICAgICAgIGxidSBhNCwgKGEzKQorCisg ICAgICAgIGFkZCBhNCwgYTQsIGEyCisgICAgICAgIGFkZGkgYTQsIGE0LCAxCisgICAgICAgIHNs bGkgYTQsIGE0LCA0CisKKyAgICAgICAgc3ViIGE1LCBhNCwgdDQgICAgICAgICAgICAgICAgICAg ICAgICMgYTUgPSBsaW5lYXIgY29tYmluYXRpb24gb2YgSCwgViBhbmQgc3JjCisKKyAgICAgICAg dnNldGl2bGkgemVybywgMTYsIGUxNiwgbTEsIHRhCisgICAgICAgIHZpZC52IHYyMAorCisgICAg ICAgIHZtdi52LnggdjIxLCB0MQorICAgICAgICB2bXVsLnZ2IHYyMiwgdjIxLCB2MjAKKworICAg ICAgICBtdiB0MywgYTAKKworICAgICAgICAucmVwdCAyCisKKyAgICAgICAgdnNldGl2bGkgemVy bywgMTYsIGUxNiwgbTEsIHRhCisKKyAgICAgICAgLmlycCByZWcgMjMsIDI0LCAyNSwgMjYsIDI3 LCAyOCwgMjksIDMwCisgICAgICAgIHZhZGQudnggdlxyZWcsIHYyMiwgYTUKKyAgICAgICAgdm1h eC52eCB2XHJlZywgdlxyZWcsIHplcm8KKyAgICAgICAgYWRkIGE1LCBhNSwgdDIKKyAgICAgICAg LmVuZHIKKworICAgICAgICBsaSBhNiwgMjU1CisKKyAgICAgICAgLmlycCByZWcsIDIzLCAyNCwg MjUsIDI2LCAyNywgMjgsIDI5LCAzMAorICAgICAgICB2c3JhLnZpIHZccmVnLCB2XHJlZywgNQor ICAgICAgICB2bWluLnZ4IHZccmVnLCB2XHJlZywgYTYKKyAgICAgICAgLmVuZHIKKworICAgICAg ICB2c2V0aXZsaSB6ZXJvLCAxNiwgZTgsIG1mMiwgdGEKKworICAgICAgICAuaXJwIHJlZywgMjMs IDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwCisgICAgICAgIHZuY2xpcHUud2kgdlxyZWcsIHZc cmVnLCAwCisgICAgICAgIHZzZTgudiAgdlxyZWcsICh0MykKKyAgICAgICAgYWRkIHQzLCB0Mywg YTEKKyAgICAgICAgLmVuZHIKKworICAgICAgICAuZW5kcgorCisgICAgICAgIHJldAorZW5kZnVu YwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vaDI2NHByZWQuYyBiL3Rlc3RzL2NoZWNrYXNt L2gyNjRwcmVkLmMKaW5kZXggNTNlMWNkYjIxOS4uNzI1NDg1NDUzNCAxMDA2NDQKLS0tIGEvdGVz dHMvY2hlY2thc20vaDI2NHByZWQuYworKysgYi90ZXN0cy9jaGVja2FzbS9oMjY0cHJlZC5jCkBA IC0xNzIsOCArMTcyLDE1IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3ByZWQ4eDgoSDI2NFByZWRDb250 ZXh0ICpoLCB1aW50OF90ICpidWYwLCB1aW50OF90ICpidWYxLAogICAgICAgICAgICAgcmFuZG9t aXplX2J1ZmZlcnMoKTsKICAgICAgICAgICAgIGNhbGxfcmVmKHNyYzAsIDI0KlNJWkVPRl9QSVhF TCk7CiAgICAgICAgICAgICBjYWxsX25ldyhzcmMxLCAyNCpTSVpFT0ZfUElYRUwpOwotICAgICAg ICAgICAgaWYgKG1lbWNtcChidWYwLCBidWYxLCBCVUZfU0laRSkpCisgICAgICAgICAgICBpZiAo bWVtY21wKGJ1ZjAsIGJ1ZjEsIEJVRl9TSVpFKSkgeworICAgICAgICAgICAgICAgIGZwcmludGYo c3RkZXJyLCAiUkVGOlxuIik7CisgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBC VUZfU0laRTsgaSsrKQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVkXHQi LCBidWYwW2ldKTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlxuQVNNOlxuIik7 CisgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBCVUZfU0laRTsgaSsrKQorICAg ICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVkXHQiLCBidWYxW2ldKTsKICAgICAg ICAgICAgICAgICBmYWlsKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBiZW5jaF9uZXco c3JjMSwgMjQqU0laRU9GX1BJWEVMKTsKICAgICAgICAgfQogICAgIH0KLS0gCjIuNDkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBz ZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==