From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 299454BBB1 for <ffmpegdev@gitmailbox.com>; Sat, 3 May 2025 09:15:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 726A468BBF4; Sat, 3 May 2025 12:15:56 +0300 (EEST) Received: from mail-vs1-f45.google.com (mail-vs1-f45.google.com [209.85.217.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D9F1D687DB8 for <ffmpeg-devel@ffmpeg.org>; Sat, 3 May 2025 12:15:49 +0300 (EEST) Received: by mail-vs1-f45.google.com with SMTP id ada2fe7eead31-4c32ba00861so761356137.1 for <ffmpeg-devel@ffmpeg.org>; Sat, 03 May 2025 02:15:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746263748; x=1746868548; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=3RrqTWnyAr+E3vYvoILtxOzRIdhJGPb8+VmzEqn3DuA=; b=VE0sMsytjK+49iadFmB0bP6hx0kIl5TU4QzuKUGvknezLj5EJluOxHA0Y/4BJpTubS HMQos1YZ3atBXSnFIBls3aq6q3LXzXBWpi1EtVqyyZVPJjHhGXkUezr93knDcfTY8SwV /JlmJQNzZbHEVt39sAuHJzRuBF5TbkgIOpucof2xz9avsEj56bAvY7J1cEiQkEr+nYPg teyE2wkqkAz17/idH6pgAdPwTT0kqbaL+38TeXklRnjhQ++nLrT+XtTQ7T2/fWrB/CUr 7Th9YN1rnR5gC53/STCY+goC3d9oP3TDISfvK+uv+loZkmNogBjuuwSgNJeQlPX706ZQ 1eVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746263748; x=1746868548; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3RrqTWnyAr+E3vYvoILtxOzRIdhJGPb8+VmzEqn3DuA=; b=P9w6H51GyHDesSt+X/eNlSr56TfoudUR54X68Ti/6+VTUrjnnKVtTYjstmxWxaXG6S XbNO0BvftJqrQv2wfejPXN4yoQcTr3ehUUAn6sZQ+SczQa7oeM4La9PGQHCvrv8yGOht YQFVoENHXKtDgYcwWcKDnZLxEeAXqfVLtWNQkRNNoXNpaosT3fjAeehqKrNSxu57o7uQ oyzWRbk2UXoMuM6Qyah+NUpOy3b9aWL70iyrwNWGbDV/C8BDrcKnbZe66C6WGWJS1pxv CkpyVfs2fPH+yjPRMlLgJalrA5BlM4S/KdDoG9mqX+isbnKGO6YHMgaGGE2JT7eOPZRa jlsw== X-Gm-Message-State: AOJu0YxcrbOefk9jGDvtnQfbDT3gzyU90JyILW6irdPY+XAEeq7cHT3l 87QAvgT0jvkp+aIBYk2RIIt0JA15o0Y3C3ZYBJeiZKjKMngue1AsIOjkkimMzyZYJDaoC/99zCF gJbwztuME8g20/pP6QQPd0r2mtAY= X-Gm-Gg: ASbGncvW7szjLWXx2kkj9Zm3JN5T3AW6/Kqz0RpM/Gsa88TvrNOvIjmSOjQt8OukuPi dMO6wDPfAunmV8OsQ/C9WsQNFvKUJsbX4aR02Ryxe5P83HeVgg3/NK04l132mJRfu+h4VKf56k/ OsSN1wMbyKV4Lc08JNSe0i X-Google-Smtp-Source: AGHT+IEFzgH9ddikdnrrkymTSDZSSJvLTDEPxOh7cNzhlK4jS61zaCtxqM3FyhJHlwiu1zGXrJcswvNRnnAsgMBa3ds= X-Received: by 2002:a05:6102:1501:b0:4c5:8d52:af3 with SMTP id ada2fe7eead31-4db149182damr92875137.20.1746263748101; Sat, 03 May 2025 02:15:48 -0700 (PDT) MIME-Version: 1.0 References: <20250502074430.291561-1-nuomi2021@gmail.com> <20250502074430.291561-5-nuomi2021@gmail.com> <f6d0f640-dc88-3362-1e60-66f93a7b371@martin.st> <CAFXK13dA4jyu==6tEM1bkWgGCFq69-R6t7qY1kWM_FVHw__PjA@mail.gmail.com> <1118a98c-3d7f-7472-91d6-456b6d6a27dd@martin.st> In-Reply-To: <1118a98c-3d7f-7472-91d6-456b6d6a27dd@martin.st> From: Nuo Mi <nuomi2021@gmail.com> Date: Sat, 3 May 2025 17:15:36 +0800 X-Gm-Features: ATxdqUFI2xsyrrNYWRltZV9DD_u5DEZ28-EA71sAwwPvolLoaTRU6Wo0BdY_Ypw Message-ID: <CAFXK13chyo8YtDe5z5VwSjMuYVKYLtCsP=jXLFWP3xQ7QO4MRg@mail.gmail.com> To: =?UTF-8?Q?Martin_Storsj=C3=B6?= <martin@martin.st> X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 5/5] checkasm: add vvc_sao X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: Shaun Loo <shaunloo10@gmail.com>, FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/CAFXK13chyo8YtDe5z5VwSjMuYVKYLtCsP=jXLFWP3xQ7QO4MRg@mail.gmail.com/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> SGkgTWFydGluLApHcmVhdCwgaXQgd29ya3MhCkhFVkMgaXMgaW5jbHVkZWQgaW4gdjIuCgpUaGFu ayB5b3UhCgpPbiBTYXQsIE1heSAzLCAyMDI1IGF0IDQ6NDXigK9BTSBNYXJ0aW4gU3RvcnNqw7Yg PG1hcnRpbkBtYXJ0aW4uc3Q+IHdyb3RlOgoKPiBPbiBGcmksIDIgTWF5IDIwMjUsIE51byBNaSB3 cm90ZToKPgo+ID4gT24gRnJpLCBNYXkgMiwgMjAyNSBhdCAzOjQ54oCvUE0gTWFydGluIFN0b3Jz asO2IDxtYXJ0aW5AbWFydGluLnN0PiB3cm90ZToKPiA+ICAgICAgIE9uIEZyaSwgMiBNYXkgMjAy NSwgTnVvIE1pIHdyb3RlOgo+ID4KPiA+ICAgICAgID4gRnJvbTogU2hhdW4gTG9vIDxzaGF1bmxv bzEwQGdtYWlsLmNvbT4KPiA+ICAgICAgID4KPiA+ICAgICAgID4gVGhpcyBpcyBhIHBhcnQgb2Yg R29vZ2xlIFN1bW1lciBvZiBDb2RlIDIwMjMKPiA+ICAgICAgID4KPiA+ICAgICAgID4gQVZYMjoK PiA+ICAgICAgID4gLSB2dmNfc2FvLnNhb19iYW5kIFtPS10KPiA+ICAgICAgID4gLSB2dmNfc2Fv LnNhb19lZGdlIFtPS10KPiA+ICAgICAgID4KPiA+ICAgICAgID4gQ28tYXV0aG9yZWQtYnk6IE51 byBNaSA8bnVvbWkyMDIxQGdtYWlsLmNvbT4KPiA+ICAgICAgID4gLS0tCj4gPiAgICAgICA+IHRl c3RzL2NoZWNrYXNtL01ha2VmaWxlICAgfCAgIDIgKy0KPiA+ICAgICAgID4gdGVzdHMvY2hlY2th c20vY2hlY2thc20uYyB8ICAgMSArCj4gPiAgICAgICA+IHRlc3RzL2NoZWNrYXNtL2NoZWNrYXNt LmggfCAgIDEgKwo+ID4gICAgICAgPiB0ZXN0cy9jaGVja2FzbS92dmNfc2FvLmMgIHwgMTYxCj4g PiAgICAgICArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gICAgICAg PiA0IGZpbGVzIGNoYW5nZWQsIDE2NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAg ICAgICA+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jaGVja2FzbS92dmNfc2FvLmMKPiA+ICAg ICAgID4KPiA+ICAgICAgID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL01ha2VmaWxlIGIv dGVzdHMvY2hlY2thc20vTWFrZWZpbGUKPiA+ICAgICAgID4gaW5kZXggMTkzYzFlNDYzMy4uZmFi YmY1OTViNCAxMDA2NDQKPiA+ICAgICAgID4gLS0tIGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUK PiA+ICAgICAgID4gKysrIGIvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUKPiA+ICAgICAgID4gQEAg LTQ3LDcgKzQ3LDcgQEAgQVZDT0RFQ09CSlMtJChDT05GSUdfVjIxMF9ERUNPREVSKSAgICAgICs9 Cj4gPiAgICAgICB2MjEwZGVjLm8KPiA+ICAgICAgID4gQVZDT0RFQ09CSlMtJChDT05GSUdfVjIx MF9FTkNPREVSKSAgICAgICs9IHYyMTBlbmMubwo+ID4gICAgICAgPiBBVkNPREVDT0JKUy0kKENP TkZJR19WT1JCSVNfREVDT0RFUikgICAgKz0gdm9yYmlzZHNwLm8KPiA+ICAgICAgID4gQVZDT0RF Q09CSlMtJChDT05GSUdfVlA5X0RFQ09ERVIpICAgICAgICs9IHZwOWRzcC5vCj4gPiAgICAgICA+ IC1BVkNPREVDT0JKUy0kKENPTkZJR19WVkNfREVDT0RFUikgICAgICAgKz0gdnZjX2FsZi5vIHZ2 Y19tYy5vCj4gPiAgICAgICA+ICtBVkNPREVDT0JKUy0kKENPTkZJR19WVkNfREVDT0RFUikgICAg ICAgKz0gdnZjX2FsZi5vIHZ2Y19tYy5vCj4gPiAgICAgICB2dmNfc2FvLm8KPiA+ICAgICAgID4K PiA+ICAgICAgID4gQ0hFQ0tBU01PQkpTLSQoQ09ORklHX0FWQ09ERUMpICAgICAgICAgICs9ICQo QVZDT0RFQ09CSlMteWVzKQo+ID4gICAgICAgPgo+ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVz dHMvY2hlY2thc20vY2hlY2thc20uYwo+ID4gICAgICAgYi90ZXN0cy9jaGVja2FzbS9jaGVja2Fz bS5jCj4gPiAgICAgICA+IGluZGV4IDNiYjgyZWQwZTUuLjA3MzRjZDI2YmYgMTAwNjQ0Cj4gPiAg ICAgICA+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMKPiA+ICAgICAgID4gKysrIGIv dGVzdHMvY2hlY2thc20vY2hlY2thc20uYwo+ID4gICAgICAgPiBAQCAtMjU2LDYgKzI1Niw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgewo+ID4gICAgICAgPiAgICAgI2lmIENPTkZJR19WVkNfREVD T0RFUgo+ID4gICAgICAgPiAgICAgICAgIHsgInZ2Y19hbGYiLCBjaGVja2FzbV9jaGVja192dmNf YWxmIH0sCj4gPiAgICAgICA+ICAgICAgICAgeyAidnZjX21jIiwgIGNoZWNrYXNtX2NoZWNrX3Z2 Y19tYyAgfSwKPiA+ICAgICAgID4gKyAgICAgICAgeyAidnZjX3NhbyIsIGNoZWNrYXNtX2NoZWNr X3Z2Y19zYW8gfSwKPiA+ICAgICAgID4gICAgICNlbmRpZgo+ID4gICAgICAgPiAjZW5kaWYKPiA+ ICAgICAgID4gI2lmIENPTkZJR19BVkZJTFRFUgo+ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVz dHMvY2hlY2thc20vY2hlY2thc20uaAo+ID4gICAgICAgYi90ZXN0cy9jaGVja2FzbS9jaGVja2Fz bS5oCj4gPiAgICAgICA+IGluZGV4IGE2YjU5NjVlMDIuLjE0NmJmZGVjMzUgMTAwNjQ0Cj4gPiAg ICAgICA+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKPiA+ICAgICAgID4gKysrIGIv dGVzdHMvY2hlY2thc20vY2hlY2thc20uaAo+ID4gICAgICAgPiBAQCAtMTQ5LDYgKzE0OSw3IEBA IHZvaWQgY2hlY2thc21fY2hlY2tfdmlkZW9kc3Aodm9pZCk7Cj4gPiAgICAgICA+IHZvaWQgY2hl Y2thc21fY2hlY2tfdm9yYmlzZHNwKHZvaWQpOwo+ID4gICAgICAgPiB2b2lkIGNoZWNrYXNtX2No ZWNrX3Z2Y19hbGYodm9pZCk7Cj4gPiAgICAgICA+IHZvaWQgY2hlY2thc21fY2hlY2tfdnZjX21j KHZvaWQpOwo+ID4gICAgICAgPiArdm9pZCBjaGVja2FzbV9jaGVja192dmNfc2FvKHZvaWQpOwo+ ID4gICAgICAgPgo+ID4gICAgICAgPiBzdHJ1Y3QgQ2hlY2thc21QZXJmOwo+ID4gICAgICAgPgo+ ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vdnZjX3Nhby5jCj4gPiAgICAg ICBiL3Rlc3RzL2NoZWNrYXNtL3Z2Y19zYW8uYwo+ID4gICAgICAgPiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+ID4gICAgICAgPiBpbmRleCAwMDAwMDAwMDAwLi4wMjYwNzhmZjAyCj4gPiAgICAgICA+ IC0tLSAvZGV2L251bGwKPiA+ICAgICAgID4gKysrIGIvdGVzdHMvY2hlY2thc20vdnZjX3Nhby5j Cj4gPiAgICAgICA+IEBAIC0wLDAgKzEsMTYxIEBACj4gPiAgICAgICA+ICsvKgo+ID4gICAgICAg PiArICogQ29weXJpZ2h0IChjKSAyMDE4IFlpbmdtaW5nIEZhbiA8eWluZ21pbmdmYW5AZ21haWwu Y29tPgo+ID4gICAgICAgPiArICoKPiA+ICAgICAgID4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEZGbXBlZy4KPiA+ICAgICAgID4gKyAqCj4gPiAgICAgICA+ICsgKiBGRm1wZWcgaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gPiAgICAgICBtb2RpZnkK PiA+ICAgICAgID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiA+ICAgICAgIHB1Ymxpc2hlZCBieQo+ID4gICAgICAgPiArICogdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKPiA+ICAg ICAgIExpY2Vuc2UsIG9yCj4gPiAgICAgICA+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+ID4gICAgICAgPiArICoKPiA+ICAgICAgID4gKyAqIEZGbXBlZyBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ID4gICAgICAgPiAr ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQKPiA+ ICAgICAgIHdhcnJhbnR5IG9mCj4gPiAgICAgICA+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUKPiA+ICAgICAgIHRoZQo+ID4gICAg ICAgPiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiA+ ICAgICAgID4gKyAqCj4gPiAgICAgICA+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiA+ICAgICAgIExpY2Vuc2UgYWxvbmcKPiA+ ICAgICAgID4gKyAqIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlCj4gPiAgICAgICBGb3VuZGF0aW9uLCBJbmMuLAo+ID4gICAgICAgPiArICogNTEgRnJhbmts aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxCj4gPiAgICAgICBV U0EuCj4gPiAgICAgICA+ICsgKi8KPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArI2luY2x1ZGUg PHN0cmluZy5oPgo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjaW5jbHVkZSAibGliYXZ1dGls L2ludHJlYWR3cml0ZS5oIgo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2dXRpbC9tZW1faW50 ZXJuYWwuaCIKPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2Y29kZWMv dnZjL2RzcC5oIgo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2Y29kZWMvdnZjL2N0dS5oIgo+ ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjaW5jbHVkZSAiY2hlY2thc20uaCIKPiA+ICAgICAg ID4gKwo+ID4gICAgICAgPiArc3RhdGljIGNvbnN0IHVpbnQzMl90IHBpeGVsX21hc2tbM10gPSB7 IDB4ZmZmZmZmZmYsCj4gPiAgICAgICAweDAzZmYwM2ZmLCAweDBmZmYwZmZmIH07Cj4gPiAgICAg ICA+ICtzdGF0aWMgY29uc3QgdWludDMyX3Qgc2FvX3NpemVbXSA9IHs4LCAxNiwgMzIsIDQ4LCA2 NCwgODAsCj4gPiAgICAgICA5NiwgMTEyLCAxMjh9Owo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ ICsjZGVmaW5lIFNJWkVPRl9QSVhFTCAoKGJpdF9kZXB0aCArIDcpIC8gOCkKPiA+ICAgICAgID4g KyNkZWZpbmUgUElYRUxfU1RSSURFICgyKk1BWF9QQl9TSVpFICsKPiA+ICAgICAgIEFWX0lOUFVU X0JVRkZFUl9QQURESU5HX1NJWkUpIC8vc2FtZSB3aXRoIHNhb19lZGdlIHNyY19zdHJpZGUKPiA+ ICAgICAgID4gKyNkZWZpbmUgQlVGX1NJWkUgKFBJWEVMX1NUUklERSAqIChNQVhfUEJfU0laRSsy KSAqIDIpIC8vKzIKPiA+ICAgICAgIGZvciB0b3AgYW5kIGJvdHRvbSByb3csICoyIGZvciBoaWdo IGJpdCBkZXB0aAo+ID4gICAgICAgPiArI2RlZmluZSBPRkZTRVRfVEhSRVNIICgxIDw8IChiaXRf ZGVwdGggLSA1KSkKPiA+ICAgICAgID4gKyNkZWZpbmUgT0ZGU0VUX0xFTkdUSCA1Cj4gPiAgICAg ICA+ICsKPiA+ICAgICAgID4gKyNkZWZpbmUgcmFuZG9taXplX2J1ZmZlcnMoYnVmMCwgYnVmMSwg c2l6ZSkgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICBkbyB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAg ICAgICAgdWludDMyX3QgbWFzayA9IHBpeGVsX21hc2tbKGJpdF9kZXB0aCAtIDgpID4+IDFdOyAg IFwKPiA+ICAgICAgID4gKyAgICAgICAgaW50IGs7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAgZm9yIChrID0gMDsgayA8 IHNpemU7IGsgKz0gNCkgeyAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAg ICAgICAgIHVpbnQzMl90IHIgPSBybmQoKSAmIG1hc2s7ICAgICAgICAgICAgICAgICAgICAgIFwK PiA+ICAgICAgID4gKyAgICAgICAgICAgIEFWX1dOMzJBKGJ1ZjAgKyBrLCByKTsgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAgICAgIEFWX1dOMzJBKGJ1ZjEg KyBrLCByKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAg fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ ICAgICAgID4gKyAgICB9IHdoaWxlICgwKQo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjZGVm aW5lIHJhbmRvbWl6ZV9idWZmZXJzMihidWYsIHNpemUpICAgICAgICAgICAgICAgICAgICAgICBc Cj4gPiAgICAgICA+ICsgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIHVpbnQzMl90IG1heF9vZmZz ZXQgPSBPRkZTRVRfVEhSRVNIOyAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAg IGludCBrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g PiAgICAgICA+ICsgICAgICAgIGlmIChiaXRfZGVwdGggPT0gOCkgeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwg c2l6ZTsgaysrKSB7ICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAg ICAgICAgdWludDhfdCByID0gcm5kKCkgJSBtYXhfb2Zmc2V0OyAgICAgICAgICAgICBcCj4gPiAg ICAgICA+ICsgICAgICAgICAgICAgICAgYnVmW2tdID0gcjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIH0gZWxz ZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAg ICA+ICsgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgc2l6ZTsgaysrKSB7ICAgICAgICAgICAg ICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgdWludDE2X3QgciA9IHJuZCgp ICUgbWF4X29mZnNldDsgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAg YnVmW2tdID0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ ICsgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgfSB3aGlsZSAoMCkKPiA+ ICAgICAgID4gKwo+ID4gICAgICAgPiArc3RhdGljIHZvaWQgY2hlY2tfc2FvX2JhbmQoVlZDRFNQ Q29udGV4dCAqaCwgaW50IGJpdF9kZXB0aCkKPiA+ICAgICAgID4gK3sKPiA+ICAgICAgID4gKyAg ICBpbnQgaTsKPiA+ICAgICAgID4gKyAgICBMT0NBTF9BTElHTkVEXzMyKHVpbnQ4X3QsIGRzdDAs IFtCVUZfU0laRV0pOwo+ID4gICAgICAgPiArICAgIExPQ0FMX0FMSUdORURfMzIodWludDhfdCwg ZHN0MSwgW0JVRl9TSVpFXSk7Cj4gPiAgICAgICA+ICsgICAgTE9DQUxfQUxJR05FRF8zMih1aW50 OF90LCBzcmMwLCBbQlVGX1NJWkVdKTsKPiA+ICAgICAgID4gKyAgICBMT0NBTF9BTElHTkVEXzMy KHVpbnQ4X3QsIHNyYzEsIFtCVUZfU0laRV0pOwo+ID4gICAgICAgPiArICAgIGludDE2X3Qgb2Zm c2V0X3ZhbFtPRkZTRVRfTEVOR1RIXTsKPiA+ICAgICAgID4gKyAgICBpbnQgbGVmdF9jbGFzcyA9 IHJuZCgpJTMyOwo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAgZm9yIChpID0gMDsgaSA8 IEZGX0FSUkFZX0VMRU1TKHNhb19zaXplKTsgaSsrKSB7Cj4gPiAgICAgICA+ICsgICAgICAgIGlu dCBibG9ja19zaXplID0gc2FvX3NpemVbaV07Cj4gPiAgICAgICA+ICsgICAgICAgIGludCBwcmV2 X3NpemUgPSBpID4gMCA/IHNhb19zaXplW2kgLSAxXSA6IDA7Cj4gPiAgICAgICA+ICsgICAgICAg IHB0cmRpZmZfdCBzdHJpZGUgPSBQSVhFTF9TVFJJREUqU0laRU9GX1BJWEVMOwo+ID4gICAgICAg PiArICAgICAgICBkZWNsYXJlX2Z1bmModm9pZCwgdWludDhfdCAqZHN0LCBjb25zdCB1aW50OF90 ICpzcmMsCj4gPiAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwgcHRyZGlmZl90IHNyY19zdHJp ZGUsCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzYW9f b2Zmc2V0X3ZhbCwgaW50Cj4gPiAgICAgICBzYW9fbGVmdF9jbGFzcywgaW50IHdpZHRoLCBpbnQg aGVpZ2h0KTsKPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArICAgICAgICBpZiAoY2hlY2tfZnVu YyhoLT5zYW8uYmFuZF9maWx0ZXJbaV0sCj4gPiAgICAgICAidnZjX3Nhb19iYW5kXyVkXyVkIiwg YmxvY2tfc2l6ZSwgYml0X2RlcHRoKSkgewo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAg ICAgICAgICBmb3IgKGludCB3ID0gcHJldl9zaXplICsgNDsgdyA8PSBibG9ja19zaXplOyB3ICs9 Cj4gPiAgICAgICA0KSB7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgcmFuZG9taXplX2J1 ZmZlcnMoc3JjMCwgc3JjMSwgQlVGX1NJWkUpOwo+ID4gICAgICAgPiArICAgICAgICAgICAgICAg IHJhbmRvbWl6ZV9idWZmZXJzMihvZmZzZXRfdmFsLAo+ID4gICAgICAgT0ZGU0VUX0xFTkdUSCk7 Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgbWVtc2V0KGRzdDAsIDAsIEJVRl9TSVpFKTsK PiA+ICAgICAgID4gKyAgICAgICAgICAgICAgICBtZW1zZXQoZHN0MSwgMCwgQlVGX1NJWkUpOwo+ ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgY2FsbF9yZWYoZHN0MCwg c3JjMCwgc3RyaWRlLCBzdHJpZGUsCj4gPiAgICAgICBvZmZzZXRfdmFsLCBsZWZ0X2NsYXNzLCB3 LCBibG9ja19zaXplKTsKPiA+ICAgICAgID4gKyAgICAgICAgICAgICAgICBjYWxsX25ldyhkc3Qx LCBzcmMxLCBzdHJpZGUsIHN0cmlkZSwKPiA+ICAgICAgIG9mZnNldF92YWwsIGxlZnRfY2xhc3Ms IHcsIGJsb2NrX3NpemUpOwo+ID4gICAgICAgPiArICAgICAgICAgICAgICAgIGZvciAoaW50IGog PSAwOyBqIDwgYmxvY2tfc2l6ZTsgaisrKSB7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAg ICAgIGlmIChtZW1jbXAoZHN0MCArIGoqc3RyaWRlLCBkc3QxICsKPiA+ICAgICAgIGoqc3RyaWRl LCB3KlNJWkVPRl9QSVhFTCkpCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgICAgICAgICBm YWlsKCk7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgfQo+ID4gICAgICAgPiArICAgICAg ICAgICAgfQo+ID4KPiA+ICAgICAgIEZvciBuZXcgY2hlY2thc20gdGVzdHMsIEkgd291bGQgc3Vn Z2VzdCB0cnlpbmcgdG8gdXNlIHRoZQo+ID4gICAgICAgaGVscGVycyBmb3IKPiA+ICAgICAgIGRv aW5nIGJvdW5kcyBjaGVja3MgYXV0b21hdGljYWxseTsgc2VlIHRoZSByZWNlbnQgY29tbWl0cwo+ ID4gICAgICAgNGQ0YjMwMWU0YTI2OWFkZmFiY2VhZWNhMWEyMGM2NTNiZGU0NzU1NCBhbmQKPiA+ ICAgICAgIGMxYTJkYTcyY2MyN2NmOWI3OGEwY2JlYTJmNjAyNjU5MDlkOGIyNTMgZm9yIGhvdyB0 byB1c2UgdGhlbS4KPiA+ICAgICAgIFRoaXMgd2lsbAo+ID4gICAgICAgbWFrZSBzdXJlIHRoYXQg YW55IG5ldyBTSU1EIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWNjaWRlbnRhbGx5Cj4gPiAgICAg ICB3cml0ZQo+ID4gICAgICAgb3V0c2lkZSBvZiB0aGUgZGVzaWduYXRlZCBhcmVhLCB3aGljaCBw cmV2aW91c2x5IGNvdWxkIGhhcHBlbgo+ID4gICAgICAgd2l0aG91dAo+ID4gICAgICAgbm90aWNp bmcuCj4gPgo+ID4gSGkgTWFydGluLAo+ID4gVGhhbmsgeW91IGZvciB0aGUgcmV2aWV3Lgo+ID4K PiA+IFNBTyBkb2VzIHBlcmZvcm0gc29tZSBvdmVyd3JpdGVzIG9uIGVhY2ggbGluZSBhbmQgYWxp Z25zIHRoZSB3aWR0aCB0byA4Ogo+ID4gaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcv YmxvYi9tYXN0ZXIvbGliYXZjb2RlYy9oZXZjL2ZpbHRlci5jCj4KPiBTb3JyeSwgb24gYSBxdWlj ayBicm93c2UgdGhyb3VnaCB0aGF0IEkgZGlkbid0IHNlZSB3aGljaCBvZiB0aGUgOTI0IGxpbmVz Cj4geW91J3JlIHJlZmVycmluZyB0byB0aGF0IGRvZXMgdGhhdC4KPgo+ID4gSSdtIG5vdCBzdXJl IGlmIHRoZSBjdXJyZW50IGJvdW5kcy1jaGVja2luZyBBUEkgY2FuIGhhbmRsZSB0aGlzLgo+Cj4g SXQgZGVmaW5pdGVseSBjYW4gZG8gdGhhdC4gNGQ0YjMwMWU0YTI2OWFkZmFiY2VhZWNhMWEyMGM2 NTNiZGU0NzU1NCB1c2VzCj4gY2hlY2thc21fY2hlY2tfcGl4ZWxfcGFkZGVkKCksIHdoaWNoIGFz c3VtZXMgdGhhdCB3ZSBkbyBubyBvdmVyd3JpdGluZwo+IG91dHNpZGUgb2YgdGhlIG91dHB1dCBh cmVhLiAoVGhlIHNhbWUgZ29lcyBmb3IgY2hlY2thc21fY2hlY2tfcGFkZGVkKCkgaWYKPiBub3Qg dXNpbmcgdGhlIGJpdF9kZXB0aCB2YXJpYWJsZSBmb3Igc3dpdGNoaW5nIGJldHdlZW4gOCBhbmQg MTYgYml0cyBwZXIKPiBwaXhlbC4pIElmIHdlJ2QgaW5zdGVhZCB1c2UgY2hlY2thc21fY2hlY2tf cGl4ZWxfcGFkZGVkX2FsaWduKCksIG9yCj4gY2hlY2thc21fY2hlY2tfcGFkZGVkX2FsaWduKCks IHRoZW4geW91IHBhc3MgdHdvIGV4dHJhIHBhcmFtZXRlcnMgYXQgdGhlCj4gZW5kLCBmb3IgaG93 IG11Y2ggdG8gYWxpZ24gdGhlIG91dHB1dCBzaXplLgo+Cj4gU28gZS5nLiBpZiB5b3UgaGF2ZSB3 aWR0aD0xMiBhbmQgY2FsbAo+IGNoZWNrYXNtX2NoZWNrX3BpeGVsX3BhZGRlZF9hbGlnbiguLi4s IDgsIDEpLCB0aGVuIGl0IHdpbGwgYWxsb3cgdGhlCj4gb3V0cHV0IHdpZHRoIHRvIGJlIGFsaWdu ZWQgdG8gOCAtIGkuZS4gdXAgdG8gMTYuIFNvIGluIHRoYXQgY2FzZSwgaXQKPiBjaGVja3MgdGhh dCBhIDEyIHBpeGVsIHdpZGUgYXJlYSBoYXMgdGhlIGNvcnJlY3Qgb3V0cHV0IHBpeGVscywgaWdu b3JlIHRoZQo+IGZvbGxvd2luZyA0IHBpeGVscyBhbmQgY2hlY2sgdGhhdCBwaXhlbHMgb3V0c2lk ZSBvZiB0aGF0IGFyZWEgaGF2ZW4ndCBiZWVuCj4gdG91Y2hlZC4KPgo+IElmIHlvdSByZWFsbHkg ZG9uJ3Qgd2FudCBjaGVja2luZyBvdXRzaWRlIG9mIHRoZSBib3VuZHMsIHlvdSBjYW4gc3RpbGwg dXNlCj4gY2hlY2thc21fY2hlY2tfcGl4ZWwoKSBvciBjaGVja2FzbV9jaGVjaygpLiBFdmVuIGlm IG5vdCBjaGVja2luZyB0aGUKPiBib3VuZHMsIGl0IGF1dG9tYXRpY2FsbHkgYWxsb3dzIHByaW50 aW5nIHRoZSBtaXNtYXRjaGVkIGRhdGEgb24gZmFpbHVyZXMsCj4gaWYgeW91IHJ1biBjaGVja2Fz bSB3aXRoIHRoZSAiLXYiIG9wdGlvbi4KPgo+ID4gQ291bGQgeW91IGhlbHAgYWRkIHN1cHBvcnQg Zm9yIGl0IGluIHRoZSBIRVZDIFNBTyBjaGVja2FzbT8KPgo+IEkgY2FuIHRyeSB0byBnaXZlIGl0 IGEgc2hvdCBpbiBhIGZldyBkYXlzIG1heWJlLiBPdGhlcndpc2UgeW91IGNhbiB0cnkKPiBmb2xs b3dpbmcgdGhlIGV4YW1wbGVzIG9mIDRkNGIzMDFlNGEyNjlhZGZhYmNlYWVjYTFhMjBjNjUzYmRl NDc1NTQsIHdoaWxlCj4gdXNpbmcgY2hlY2thc21fY2hlY2tfcGl4ZWxfcGFkZGVkX2FsaWduKCku Cj4KPiAvLyBNYXJ0aW4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0 QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==