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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 5734ACD5BB1 for ; Thu, 21 May 2026 13:28:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EF0F110F315; Thu, 21 May 2026 13:28:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="kHkJGorh"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id D491010F31B; Thu, 21 May 2026 13:28:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=1pt8cC1q/6uiiKUcEF8O51ow/PRF5dt+UW1IXwaqmeI=; b=kHkJGorhA+vU2fWMYTRysB2GW0 yoAQesc8hnkUV+WgFa0gcQr+nl04M4mnkBWjhsD5q9xVHPvU9i4e/IqWZcKRYjXGkSlcyKXP70anZ l5EcNJg2uhbMESmQfEMhTQmKuWmWh0w+MsJ5vn2uHdppoZgtJ//q5KtjlYIkiNDQrVaQzePoQuuKn y3SF8XJ2HFzuJVT+Takvl7kLO84h4DcbAoJpWduxD0b9zkPJ4jElp+LHgZA38CdvfLxUUMkN/cjWg EpkN2ag7iNi8/bNcoDfSASHxTUJyUckv4aw4n89uRRd0euqCg03Ib4FsJy/vlIARFhfsonEcy1ZcR vY7Gc3AA==; Received: from [79.117.146.159] (helo=[192.168.1.135]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) (Exim) id 1wQ3RN-004MeT-2b; Thu, 21 May 2026 15:27:57 +0200 Message-ID: <86bb4dc7-ba05-418f-8978-4d9e8fd6a3a7@igalia.com> Date: Thu, 21 May 2026 15:27:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 4/6] drm/colorop: make lut(1/3)d_interpolation mutable To: "Borah, Chaitanya Kumar" , airlied@gmail.com, alexander.deucher@amd.com, christian.koenig@amd.com, harry.wentland@amd.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, simona@ffwll.ch, siqueira@igalia.com, sunpeng.li@amd.com, tzimmermann@suse.de Cc: Alex Hung , Simon Ser , Uma Shankar , Xaver Hugl , Pekka Paalanen , Louis Chauvet , Matthew Schwartz , amd-gfx@lists.freedesktop.org, kernel-dev@igalia.com, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20260519211111.228303-1-mwen@igalia.com> <20260519211111.228303-5-mwen@igalia.com> Content-Language: en-US From: Melissa Wen In-Reply-To: Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CgpPbiAyMS8wNS8yMDI2IDEzOjE3LCBCb3JhaCwgQ2hhaXRhbnlhIEt1bWFyIHdyb3RlOgo+Cj4K PiBPbiA1LzIwLzIwMjYgMjozOSBBTSwgTWVsaXNzYSBXZW4gd3JvdGU6Cj4+IEFzIGl0J3Mgbm90 IGltbXV0YWJsZSBhbnltb3JlLCBhbnkgY2hhbmdlcyBzaG91bGQgYmUgaGFuZGxlZCBieQo+PiBk cm1fY29sb3JvcF9zdGF0ZS4gTW92ZSB0aGVpciBlbnVtIGFuZCBtYWtlIGl0IGNvcnJlY3RseSBi ZWhhdmVzIGFzCj4+IG11dGFibGUuCj4+Cj4+IFJldmlld2VkLWJ5OiBDaGFpdGFueWEgS3VtYXIg Qm9yYWggPGNoYWl0YW55YS5rdW1hci5ib3JhaEBpbnRlbC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6 IE1lbGlzc2EgV2VuIDxtd2VuQGlnYWxpYS5jb20+Cj4+Cj4+IC0tLQo+Pgo+PiB2NjoKPj4gLSBj aGVjayBkcm1fb2JqZWN0X3Byb3BlcnR5X2dldF9kZWZhdWx0X3ZhbHVlKCkgYmVmb3JlIHNldCBp bnRlcnAgcHJvcHMKPj4gLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmPCoMKg wqDCoMKgIHzCoCA0ICsrLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j IHzCoCA4ICsrKystLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JvcC5jwqDCoMKg wqAgfCAxNiArKysrKysrKysrKysrKy0tCj4+IMKgIGluY2x1ZGUvZHJtL2RybV9jb2xvcm9wLmjC oMKgwqDCoMKgwqDCoMKgIHwgMjggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+PiDCoCA0 IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQo+Pgo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMKPj4gaW5kZXggNjU5Y2Y1NjE1MGU1Li5iMjYyMTJlNzE5YjIgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYwo+PiBAQCAtODU3LDcgKzg1Nyw3IEBAIHN0YXRpYyB2b2lkIGRy bV9hdG9taWNfY29sb3JvcF9wcmludF9zdGF0ZShzdHJ1Y3QgCj4+IGRybV9wcmludGVyICpwLAo+ PiDCoMKgwqDCoMKgIGNhc2UgRFJNX0NPTE9ST1BfMURfTFVUOgo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgZHJtX3ByaW50Zl9pbmRlbnQocCwgMSwgInNpemU9JWRcbiIsIGNvbG9yb3AtPnNpemUpOwo+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgZHJtX3ByaW50Zl9pbmRlbnQocCwgMSwgImludGVycG9sYXRp b249JXNcbiIsCj4+IC0gCj4+IGRybV9nZXRfY29sb3JvcF9sdXQxZF9pbnRlcnBvbGF0aW9uX25h bWUoY29sb3JvcC0+bHV0MWRfaW50ZXJwb2xhdGlvbikpOwo+PiArIGRybV9nZXRfY29sb3JvcF9s dXQxZF9pbnRlcnBvbGF0aW9uX25hbWUoc3RhdGUtPmx1dDFkX2ludGVycG9sYXRpb24pKTsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgIGRybV9wcmludGZfaW5kZW50KHAsIDEsICJkYXRhIGJsb2IgaWQ9 JWRcbiIsIHN0YXRlLT5kYXRhID8gCj4+IHN0YXRlLT5kYXRhLT5iYXNlLmlkIDogMCk7Cj4+IMKg wqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4gwqDCoMKgwqDCoCBjYXNlIERSTV9DT0xPUk9QX0NU TV8zWDQ6Cj4+IEBAIC04NjksNyArODY5LDcgQEAgc3RhdGljIHZvaWQgZHJtX2F0b21pY19jb2xv cm9wX3ByaW50X3N0YXRlKHN0cnVjdCAKPj4gZHJtX3ByaW50ZXIgKnAsCj4+IMKgwqDCoMKgwqAg Y2FzZSBEUk1fQ09MT1JPUF8zRF9MVVQ6Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBkcm1fcHJpbnRm X2luZGVudChwLCAxLCAic2l6ZT0lZFxuIiwgY29sb3JvcC0+c2l6ZSk7Cj4+IMKgwqDCoMKgwqDC oMKgwqDCoCBkcm1fcHJpbnRmX2luZGVudChwLCAxLCAiaW50ZXJwb2xhdGlvbj0lc1xuIiwKPj4g LSAKPj4gZHJtX2dldF9jb2xvcm9wX2x1dDNkX2ludGVycG9sYXRpb25fbmFtZShjb2xvcm9wLT5s dXQzZF9pbnRlcnBvbGF0aW9uKSk7Cj4+ICsgZHJtX2dldF9jb2xvcm9wX2x1dDNkX2ludGVycG9s YXRpb25fbmFtZShzdGF0ZS0+bHV0M2RfaW50ZXJwb2xhdGlvbikpOwo+PiDCoMKgwqDCoMKgwqDC oMKgwqAgZHJtX3ByaW50Zl9pbmRlbnQocCwgMSwgImRhdGEgYmxvYiBpZD0lZFxuIiwgc3RhdGUt PmRhdGEgPyAKPj4gc3RhdGUtPmRhdGEtPmJhc2UuaWQgOiAwKTsKPj4gwqDCoMKgwqDCoMKgwqDC oMKgIGJyZWFrOwo+PiDCoMKgwqDCoMKgIGRlZmF1bHQ6Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfdWFwaS5jCj4+IGluZGV4IDY0NDFiNTVjYzI3NC4uNzg0MjM5MDUwNTFlIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4+IEBAIC03NTEsMTMgKzc1MSwxMyBAQCBzdGF0aWMg aW50IAo+PiBkcm1fYXRvbWljX2NvbG9yb3Bfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29sb3Jv cCAqY29sb3JvcCwKPj4gwqDCoMKgwqDCoCBpZiAocHJvcGVydHkgPT0gY29sb3JvcC0+YnlwYXNz X3Byb3BlcnR5KSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBzdGF0ZS0+YnlwYXNzID0gdmFsOwo+ PiDCoMKgwqDCoMKgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29sb3JvcC0+bHV0MWRfaW50ZXJw b2xhdGlvbl9wcm9wZXJ0eSkgewo+PiAtwqDCoMKgwqDCoMKgwqAgY29sb3JvcC0+bHV0MWRfaW50 ZXJwb2xhdGlvbiA9IHZhbDsKPj4gK8KgwqDCoMKgwqDCoMKgIHN0YXRlLT5sdXQxZF9pbnRlcnBv bGF0aW9uID0gdmFsOwo+PiDCoMKgwqDCoMKgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29sb3Jv cC0+Y3VydmVfMWRfdHlwZV9wcm9wZXJ0eSkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc3RhdGUt PmN1cnZlXzFkX3R5cGUgPSB2YWw7Cj4+IMKgwqDCoMKgwqAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb2xvcm9wLT5tdWx0aXBsaWVyX3Byb3BlcnR5KSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBz dGF0ZS0+bXVsdGlwbGllciA9IHZhbDsKPj4gwqDCoMKgwqDCoCB9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbG9yb3AtPmx1dDNkX2ludGVycG9sYXRpb25fcHJvcGVydHkpIHsKPj4gLcKgwqDCoMKg wqDCoMKgIGNvbG9yb3AtPmx1dDNkX2ludGVycG9sYXRpb24gPSB2YWw7Cj4+ICvCoMKgwqDCoMKg wqDCoCBzdGF0ZS0+bHV0M2RfaW50ZXJwb2xhdGlvbiA9IHZhbDsKPj4gwqDCoMKgwqDCoCB9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbG9yb3AtPmRhdGFfcHJvcGVydHkpIHsKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIHJldHVybiBkcm1fYXRvbWljX2NvbG9yX3NldF9kYXRhX3Byb3BlcnR5KGNvbG9y b3AsIHN0YXRlLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBwcm9wZXJ0eSwgdmFsKTsKPj4gQEAgLTc4Miw3ICs3ODIsNyBA QCBkcm1fYXRvbWljX2NvbG9yb3BfZ2V0X3Byb3BlcnR5KHN0cnVjdCAKPj4gZHJtX2NvbG9yb3Ag KmNvbG9yb3AsCj4+IMKgwqDCoMKgwqAgZWxzZSBpZiAocHJvcGVydHkgPT0gY29sb3JvcC0+Ynlw YXNzX3Byb3BlcnR5KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgKnZhbCA9IHN0YXRlLT5ieXBhc3M7 Cj4+IMKgwqDCoMKgwqAgZWxzZSBpZiAocHJvcGVydHkgPT0gY29sb3JvcC0+bHV0MWRfaW50ZXJw b2xhdGlvbl9wcm9wZXJ0eSkKPj4gLcKgwqDCoMKgwqDCoMKgICp2YWwgPSBjb2xvcm9wLT5sdXQx ZF9pbnRlcnBvbGF0aW9uOwo+PiArwqDCoMKgwqDCoMKgwqAgKnZhbCA9IHN0YXRlLT5sdXQxZF9p bnRlcnBvbGF0aW9uOwo+PiDCoMKgwqDCoMKgIGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbG9yb3At PmN1cnZlXzFkX3R5cGVfcHJvcGVydHkpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAqdmFsID0gc3Rh dGUtPmN1cnZlXzFkX3R5cGU7Cj4+IMKgwqDCoMKgwqAgZWxzZSBpZiAocHJvcGVydHkgPT0gY29s b3JvcC0+bXVsdGlwbGllcl9wcm9wZXJ0eSkKPj4gQEAgLTc5MCw3ICs3OTAsNyBAQCBkcm1fYXRv bWljX2NvbG9yb3BfZ2V0X3Byb3BlcnR5KHN0cnVjdCAKPj4gZHJtX2NvbG9yb3AgKmNvbG9yb3As Cj4+IMKgwqDCoMKgwqAgZWxzZSBpZiAocHJvcGVydHkgPT0gY29sb3JvcC0+c2l6ZV9wcm9wZXJ0 eSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgICp2YWwgPSBjb2xvcm9wLT5zaXplOwo+PiDCoMKgwqDC oMKgIGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbG9yb3AtPmx1dDNkX2ludGVycG9sYXRpb25fcHJv cGVydHkpCj4+IC3CoMKgwqDCoMKgwqDCoCAqdmFsID0gY29sb3JvcC0+bHV0M2RfaW50ZXJwb2xh dGlvbjsKPj4gK8KgwqDCoMKgwqDCoMKgICp2YWwgPSBzdGF0ZS0+bHV0M2RfaW50ZXJwb2xhdGlv bjsKPj4gwqDCoMKgwqDCoCBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb2xvcm9wLT5kYXRhX3Byb3Bl cnR5KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgKnZhbCA9IChzdGF0ZS0+ZGF0YSkgPyBzdGF0ZS0+ ZGF0YS0+YmFzZS5pZCA6IDA7Cj4+IMKgwqDCoMKgwqAgZWxzZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb2xvcm9wLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xv cm9wLmMKPj4gaW5kZXggNzY0ZDEyMDYwNjY2Li5iMGE5YTgwOTRkZmUgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JvcC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fY29sb3JvcC5jCj4+IEBAIC0zNDIsNyArMzQyLDYgQEAgaW50IGRybV9wbGFuZV9jb2xvcm9w X2N1cnZlXzFkX2x1dF9pbml0KHN0cnVjdCAKPj4gZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2NvbG9yCj4+IMKgIMKgwqDCoMKgwqAgY29sb3JvcC0+bHV0MWRfaW50ZXJwb2xhdGlvbl9wcm9w ZXJ0eSA9IHByb3A7Cj4+IMKgwqDCoMKgwqAgZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNv bG9yb3AtPmJhc2UsIHByb3AsIGludGVycG9sYXRpb24pOwo+PiAtwqDCoMKgIGNvbG9yb3AtPmx1 dDFkX2ludGVycG9sYXRpb24gPSBpbnRlcnBvbGF0aW9uOwo+PiDCoCDCoMKgwqDCoMKgIC8qIGRh dGEgKi8KPj4gwqDCoMKgwqDCoCByZXQgPSBkcm1fY29sb3JvcF9jcmVhdGVfZGF0YV9wcm9wKGRl diwgY29sb3JvcCk7Cj4+IEBAIC00NDIsNyArNDQxLDYgQEAgaW50IGRybV9wbGFuZV9jb2xvcm9w XzNkbHV0X2luaXQoc3RydWN0IAo+PiBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fY29sb3Jv cCAqY29sCj4+IMKgIMKgwqDCoMKgwqAgY29sb3JvcC0+bHV0M2RfaW50ZXJwb2xhdGlvbl9wcm9w ZXJ0eSA9IHByb3A7Cj4+IMKgwqDCoMKgwqAgZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNv bG9yb3AtPmJhc2UsIHByb3AsIGludGVycG9sYXRpb24pOwo+PiAtwqDCoMKgIGNvbG9yb3AtPmx1 dDNkX2ludGVycG9sYXRpb24gPSBpbnRlcnBvbGF0aW9uOwo+PiDCoCDCoMKgwqDCoMKgIC8qIGRh dGEgKi8KPj4gwqDCoMKgwqDCoCByZXQgPSBkcm1fY29sb3JvcF9jcmVhdGVfZGF0YV9wcm9wKGRl diwgY29sb3JvcCk7Cj4+IEBAIC01MjEsNiArNTE5LDIwIEBAIHN0YXRpYyB2b2lkIF9fZHJtX2Nv bG9yb3Bfc3RhdGVfcmVzZXQoc3RydWN0IAo+PiBkcm1fY29sb3JvcF9zdGF0ZSAqY29sb3JvcF9z dGF0ZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAmdmFsKSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29s b3JvcF9zdGF0ZS0+Y3VydmVfMWRfdHlwZSA9IHZhbDsKPj4gwqDCoMKgwqDCoCB9Cj4+ICsKPj4g K8KgwqDCoCBpZiAoY29sb3JvcC0+bHV0MWRfaW50ZXJwb2xhdGlvbl9wcm9wZXJ0eSkgewo+PiAr IGlmKCFkcm1fb2JqZWN0X3Byb3BlcnR5X2dldF9kZWZhdWx0X3ZhbHVlKCZjb2xvcm9wLT5iYXNl LAo+PiArIGNvbG9yb3AtPmx1dDFkX2ludGVycG9sYXRpb25fcHJvcGVydHksCj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2YWwp KTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29sb3JvcF9zdGF0ZS0+bHV0MWRfaW50ZXJw b2xhdGlvbiA9IHZhbDsKPj4gK8KgwqDCoCB9Cj4+ICsKPj4gK8KgwqDCoCBpZiAoY29sb3JvcC0+ bHV0M2RfaW50ZXJwb2xhdGlvbl9wcm9wZXJ0eSkgewo+PiArIGlmKCFkcm1fb2JqZWN0X3Byb3Bl cnR5X2dldF9kZWZhdWx0X3ZhbHVlKCZjb2xvcm9wLT5iYXNlLAo+PiArIGNvbG9yb3AtPmx1dDNk X2ludGVycG9sYXRpb25fcHJvcGVydHksCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2YWwpOwo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBjb2xvcm9wX3N0YXRlLT5sdXQzZF9pbnRlcnBvbGF0aW9uID0gdmFsOwo+PiArwqDC oMKgIH0KPgo+IEkgc2VlIHlvdSBmaXhlZCB0aGUgOyBpbiB0aGUgbmV4dCBwYXRjaCwgYmV0dGVy IHRvIGZpeCBpdCB3aXRoaW4gdGhpcyAKPiBwYXRjaC4gQWxzbyBuZWVkcyBzcGFjZSBiZXR3ZWVu IGlmIGFuZCAoLgoKT3VjaCwgdGhhbmtzIGZvciBwb2ludGluZyBpdCBvdXQuCgo+Cj4+IMKgIH0K Pj4gwqAgwqAgLyoqCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29sb3JvcC5oIGIv aW5jbHVkZS9kcm0vZHJtX2NvbG9yb3AuaAo+PiBpbmRleCA1M2EyMTQ4MDgyZDUuLmQwOGE2YThh ODM5MiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yb3AuaAo+PiArKysgYi9p bmNsdWRlL2RybS9kcm1fY29sb3JvcC5oCj4+IEBAIC0xODMsNiArMTgzLDIwIEBAIHN0cnVjdCBk cm1fY29sb3JvcF9zdGF0ZSB7Cj4+IMKgwqDCoMKgwqDCoCAqLwo+PiDCoMKgwqDCoMKgIHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGF0YTsKPj4gwqAgK8KgwqDCoCAvKioKPj4gK8KgwqDCoMKg ICogQGx1dDFkX2ludGVycG9sYXRpb246Cj4+ICvCoMKgwqDCoCAqCj4+ICvCoMKgwqDCoCAqIElu dGVycG9sYXRpb24gZm9yIERSTV9DT0xPUk9QXzFEX0xVVAo+PiArwqDCoMKgwqAgKi8KPj4gK8Kg wqDCoCBlbnVtIGRybV9jb2xvcm9wX2x1dDFkX2ludGVycG9sYXRpb25fdHlwZSBsdXQxZF9pbnRl cnBvbGF0aW9uOwo+PiArCj4+ICvCoMKgwqAgLyoqCj4+ICvCoMKgwqDCoCAqIEBsdXQzZF9pbnRl cnBvbGF0aW9uOgo+PiArwqDCoMKgwqAgKgo+PiArwqDCoMKgwqAgKiBJbnRlcnBvbGF0aW9uIGZv ciBEUk1fQ09MT1JPUF8zRF9MVVQKPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgZW51bSBkcm1f Y29sb3JvcF9sdXQzZF9pbnRlcnBvbGF0aW9uX3R5cGUgbHV0M2RfaW50ZXJwb2xhdGlvbjsKPj4g Kwo+PiDCoMKgwqDCoMKgIC8qKiBAc3RhdGU6IGJhY2twb2ludGVyIHRvIGdsb2JhbCBkcm1fYXRv bWljX2NvbW1pdCAqLwo+PiDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fYXRvbWljX2NvbW1pdCAqc3Rh dGU7Cj4+IMKgIH07Cj4+IEBAIC0zMDYsMjAgKzMyMCw2IEBAIHN0cnVjdCBkcm1fY29sb3JvcCB7 Cj4+IMKgwqDCoMKgwqDCoCAqLwo+PiDCoMKgwqDCoMKgIHVpbnQzMl90IHNpemU7Cj4+IMKgIC3C oMKgwqAgLyoqCj4+IC3CoMKgwqDCoCAqIEBsdXQxZF9pbnRlcnBvbGF0aW9uOgo+PiAtwqDCoMKg wqAgKgo+PiAtwqDCoMKgwqAgKiBJbnRlcnBvbGF0aW9uIGZvciBEUk1fQ09MT1JPUF8xRF9MVVQK Pj4gLcKgwqDCoMKgICovCj4+IC3CoMKgwqAgZW51bSBkcm1fY29sb3JvcF9sdXQxZF9pbnRlcnBv bGF0aW9uX3R5cGUgbHV0MWRfaW50ZXJwb2xhdGlvbjsKPj4gLQo+PiAtwqDCoMKgIC8qKgo+PiAt wqDCoMKgwqAgKiBAbHV0M2RfaW50ZXJwb2xhdGlvbjoKPj4gLcKgwqDCoMKgICoKPj4gLcKgwqDC oMKgICogSW50ZXJwb2xhdGlvbiBmb3IgRFJNX0NPTE9ST1BfM0RfTFVUCj4+IC3CoMKgwqDCoCAq Lwo+PiAtwqDCoMKgIGVudW0gZHJtX2NvbG9yb3BfbHV0M2RfaW50ZXJwb2xhdGlvbl90eXBlIGx1 dDNkX2ludGVycG9sYXRpb247Cj4+IC0KPj4gwqDCoMKgwqDCoCAvKioKPj4gwqDCoMKgwqDCoMKg ICogQGx1dDFkX2ludGVycG9sYXRpb25fcHJvcGVydHk6Cj4+IMKgwqDCoMKgwqDCoCAqCj4KCg==