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 50051EDEBE6 for ; Tue, 3 Mar 2026 19:24:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5746710E8A2; Tue, 3 Mar 2026 19:24:52 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=collabora.com header.i=@collabora.com header.b="NewCSqQa"; dkim-atps=neutral Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) by gabe.freedesktop.org (Postfix) with ESMTPS id 84E6010E06A for ; Tue, 3 Mar 2026 19:24:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1772565888; bh=dtIiUDlss3QK5iC/FpbPGRm8q1fUo2OdFnyI1yPLxXA=; h=From:Subject:Date:To:Cc:From; b=NewCSqQaAGpNLo1qTDgcEFSTVWpPuF4EgfRHiM1OLKPdGefk+phe86G9892sWdeJ7 y/ZZc57I2MzpSfURAtoUYy1nUiAODiHhyP+56kvLeLyBlld2T+VMkqAgyZMqxWW0gc TbYJVp/vD8tLBx9DiuwjF8VRiPcoq6D3n0YaS56B+ZkYJVx64G5ScjHC/P7Qr73fgM MEAuqH+Lr9zEnHw6b4urMB87DYiPLZdTjOTEnxVEKuyGCwt0hVygcMTwRW1bEJkwA0 GNhLvn6Sy49oI2ZSuajnR1YX6JK0GpxOPLmNMjSmsHUsBTi8y0dw1vd2Fy/MQYkTk9 /0JpQbjmO9oAQ== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id BB92317E0959; Tue, 3 Mar 2026 20:24:48 +0100 (CET) From: Cristian Ciocaltea Subject: [PATCH v8 0/4] Introduce BACKGROUND_COLOR DRM CRTC property Date: Tue, 03 Mar 2026 21:24:16 +0200 Message-Id: <20260303-rk3588-bgcolor-v8-0-fee377037ad1@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-B4-Tracking: v=1; b=H4sIAAAAAAAC/23QwU7DMAwG4FeZcqYodusm4cR7IA6uk2wRY0Upq kBT3510CIpIj79lf/rlq5pCTmFSD4erymFOUxovJdi7g5ITX46hSb5khRpJW3RNfmnJ2mY4yng ecyPAZnBM2gyiytFbDjF93MCn55JPaXof8+fNn2GdflNO439qhkY30TvjowNvXXws8zMPY+Z7G V/Vys34S4CGtiKwEEgirQU9sJU9ot0IAFsRbSEYRZx2HdrAe0S3EQjVT+ZubREjAJrAhsweQT9 Er8taRVAhBiRm20OLAHtE/5eoW/SFEKBoiLjTRHuE2QjUXUWYQhjrwWsQEq5aLMvyBSQ/b+xCA gAA X-Change-ID: 20250829-rk3588-bgcolor-c1a7b9a507bc To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jani Nikula , Andy Shevchenko Cc: Robert Mader , kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, =?utf-8?q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= , Diederik de Haas , AngeloGioacchino Del Regno , Matt Roper , Andy Yan X-Mailer: b4 0.14.3 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" U29tZSBkaXNwbGF5IGNvbnRyb2xsZXJzIGNhbiBiZSBoYXJkd2FyZS1jb25maWd1cmVkIHRvIHBy ZXNlbnQgbm9uLWJsYWNrCmNvbG9ycyBmb3IgcGl4ZWxzIHdoaWNoIGFyZSBub3QgY292ZXJlZCBi eSBhbnkgcGxhbmUgKG9yIGFyZSBleHBvc2VkCnRocm91Z2ggdHJhbnNwYXJlbnQgcmVnaW9ucyBv ZiBoaWdoZXIgcGxhbmVzKS4KClRoZSAxc3QgcGF0Y2ggb2YgdGhlIHNlcmllcyBwcm92aWRlcyBE SVZfUk9VTkRfQ0xPU0VTVCgpIHRvIHVhcGksIGFzIGEKcHJlcmVxdWlzaXRlIHRvIHRoZSAybmQg cGF0Y2ggaW50cm9kdWNpbmcgdGhlIEJBQ0tHUk9VTkRfQ09MT1IgRFJNCnByb3BlcnR5IHRoYXQg Y2FuIGJlIGF0dGFjaGVkIHRvIGEgQ1JUQyB2aWEgYSBkZWRpY2F0ZWQgaGVscGVyIGZ1bmN0aW9u LgpBIDY0LWJpdCBBUkdCIGNvbG9yIHZhbHVlIGZvcm1hdCBpcyBhbHNvIGRlZmluZWQgYW5kIGNh biBiZSBtYW5pcHVsYXRlZAp3aXRoIHRoZSBoZWxwIG9mIGEgZmV3IHV0aWxpdHkgbWFjcm9zLgoK Tm90ZSB0aGlzIGlzIGEgcmV3b3JrZWQgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggWzFdIHN1Ym1pdHRl ZCAobWFueSkgeWVhcnMKYWdvIGJ5IE1hdHQgUm9wZXIuICBUaGUgbWFpbiBjaGFuZ2VzIGFyZToK CiogUmVuYW1lZCBEUk1fQVJHQl88Q09NUD4oKSB0byBEUk1fQVJHQjY0X0dFVDxDPl9CUEMoKSB3 aGlsZSBwcm92aWRpbmcKICBjb252ZW5pZW5jZSB3cmFwcGVycyB0byBleHRyYWN0IGFsbCAxNiBi aXRzIG9mIGEgc3BlY2lmaWMgY29sb3IgdmlhCiAgRFJNX0FSR0I2NF9HRVQ8Qz4oKQoqIFJlcGxh Y2VkIGRybV9hcmdiKCkgZnVuY3Rpb24gd2l0aCBEUk1fQVJHQjY0X1BSRVBfQlBDKCkgbWFjcm8s IHRvCiAgaW1wcm92ZSB1QVBJIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eTsgYWRkaXRpb25h bGx5IGZpeGVkIGEgYnVnIGluCiAgY2FzZSBvZiB1c2luZyBicGMgPCAxNjogdGhlIHVudXNlZCBs ZWFzdC1zaWduaWZpY2FudCBiaXRzIG9mIGEgZ2l2ZW4KICBjb21wb25lbnQgaW4gdGhlIG91dHB1 dCB2YWx1ZSB3b3VsZCBjb250YWluIHRoZSB1bnVzZWQKICBtb3N0LXNpZ25pZmljYW50IGJpdHMg b2YgdGhlIGZvbGxvd2luZyBjb21wb25lbnQgaW4gdGhlIGlucHV0IHZhbHVlLAogIGluc3RlYWQg b2YgYmVpbmcgc2V0IHRvIDAKKiBSZXBsYWNlZCBHRU5NQVNLX1VMTCg2MywgMCkgd2l0aCBVNjRf TUFYIHdoZW4gY2FsbGluZwogIGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UoKSB0byBjcmVhdGUg dGhlIEJBQ0tHUk9VTkRfQ09MT1IgcHJvcGVydHkKKiBNb3ZlZCBjcnRjX3N0YXRlLT5iZ2NvbG9y IGluaXRpYWxpemF0aW9uIGZyb20KICBfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoKSB0 bwogIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19zdGF0ZV9yZXNldCgpCiogUmVwbGFjZWQgJypi Z2NvbG9yKicgb2NjdXJyZW5jZXMgdG8gJypiYWNrZ3JvdW5kX2NvbG9yKicgZm9yCiAgY29uc2lz dGVuY3kgd2l0aCB0aGUgYWN0dWFsIHByb3BlcnR5IG5hbWUgaW4gYm90aCBzdG9yYWdlIGZpZWxk IGFuZAogIGhlbHBlciBmdW5jdGlvbnMgbmFtZXMKClRoZSBzdWJzZXF1ZW50IHBhdGNoZXMgYWRk IGJhY2tncm91bmQgY29sb3Igc3VwcG9ydCB0byBWS01TIGFuZCB0aGUgVk9QMgpkaXNwbGF5IGNv bnRyb2xsZXIgdXNlZCBpbiB0aGUgUkszNTY4LCBSSzM1NzYsIGFuZCBSSzM1ODggUm9ja2NoaXAg U29DCmZhbWlsaWVzLgoKVGhlIHZhbGlkYXRpb24gaGFzIGJlZW4gZG9uZSB1c2luZyBhIGRlZGlj YXRlZCBJR1QgdGVzdCBbMl0gLSBzZWUgdGhlCnJlcG9ydGVkIHJlc3VsdHMgYmVsb3cuCgpPbiB0 aGUgdXNlcmxhbmQgc2lkZSwgYSBXZXN0b24gbWVyZ2UgcmVxdWVzdCBbM10gaXMgYXZhaWxhYmxl LCBwcm92aWRpbmcKc3VwcG9ydCBmb3IgdGhlIEJBQ0tHUk9VTkRfQ09MT1IgQ1JUQyBwcm9wZXJ0 eSB0byB0aGUgRFJNIGJhY2tlbmQuICBJdApyZWxpZXMgb24gdGhlIGFscmVhZHkgZXhpc3Rpbmcg YmFja2dyb3VuZC1jb2xvciBzZXR0aW5nIGluIHdlc3Rvbi5pbmk6CgogIFtzaGVsbF0KICBiYWNr Z3JvdW5kLWNvbG9yPTB4QUFSUkdHQkIKClsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwv MjAxOTA5MzAyMjQ3MDcuMTQ5MDQtMi1tYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tLwpbMl0gaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjUxMjE5LWNydGMtYmdjb2xvci12My0xLTMxYjU4 OTkxMTU4OEBjb2xsYWJvcmEuY29tLwpbM10gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn L3dheWxhbmQvd2VzdG9uLy0vbWVyZ2VfcmVxdWVzdHMvMTg0NQoKSUdUIGttc19jcnRjX2JhY2tn cm91bmRfY29sb3IgdGVzdCByZXN1bHRzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQoKKiBWS01TCgp2aXJ0bWUtbmckIElHVF9GT1JDRV9EUklWRVI9dmttcyBidWls ZC90ZXN0cy9rbXNfY3J0Y19iYWNrZ3JvdW5kX2NvbG9yCgpJR1QtVmVyc2lvbjogMi4zLWc2YjA3 MTM4ZTggKHg4Nl82NCkgKExpbnV4OiA2LjE5LjAtcmMxLXZpcnRtZSB4ODZfNjQpClVzaW5nIElH VF9TUkFORE9NPTE3NjYxNDk2MzQgZm9yIHJhbmRvbWlzYXRpb24KT3BlbmVkIGRldmljZTogL2Rl di9kcmkvY2FyZDAKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci1yZWQKU3RhcnRp bmcgZHluYW1pYyBzdWJ0ZXN0OiBwaXBlLUEtVmlydHVhbC0xCkR5bmFtaWMgc3VidGVzdCBwaXBl LUEtVmlydHVhbC0xOiBTVUNDRVNTICgwLjA3MXMpClN1YnRlc3QgYmFja2dyb3VuZC1jb2xvci1y ZWQ6IFNVQ0NFU1MgKDAuMDczcykKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci1n cmVlbgpTdGFydGluZyBkeW5hbWljIHN1YnRlc3Q6IHBpcGUtQS1WaXJ0dWFsLTEKRHluYW1pYyBz dWJ0ZXN0IHBpcGUtQS1WaXJ0dWFsLTE6IFNVQ0NFU1MgKDAuMDc0cykKU3VidGVzdCBiYWNrZ3Jv dW5kLWNvbG9yLWdyZWVuOiBTVUNDRVNTICgwLjA3NHMpClN0YXJ0aW5nIHN1YnRlc3Q6IGJhY2tn cm91bmQtY29sb3ItYmx1ZQpTdGFydGluZyBkeW5hbWljIHN1YnRlc3Q6IHBpcGUtQS1WaXJ0dWFs LTEKRHluYW1pYyBzdWJ0ZXN0IHBpcGUtQS1WaXJ0dWFsLTE6IFNVQ0NFU1MgKDAuMDc0cykKU3Vi dGVzdCBiYWNrZ3JvdW5kLWNvbG9yLWJsdWU6IFNVQ0NFU1MgKDAuMDc0cykKU3RhcnRpbmcgc3Vi dGVzdDogYmFja2dyb3VuZC1jb2xvci15ZWxsb3cKU3RhcnRpbmcgZHluYW1pYyBzdWJ0ZXN0OiBw aXBlLUEtVmlydHVhbC0xCkR5bmFtaWMgc3VidGVzdCBwaXBlLUEtVmlydHVhbC0xOiBTVUNDRVNT ICgwLjA3MnMpClN1YnRlc3QgYmFja2dyb3VuZC1jb2xvci15ZWxsb3c6IFNVQ0NFU1MgKDAuMDcz cykKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci1wdXJwbGUKU3RhcnRpbmcgZHlu YW1pYyBzdWJ0ZXN0OiBwaXBlLUEtVmlydHVhbC0xCkR5bmFtaWMgc3VidGVzdCBwaXBlLUEtVmly dHVhbC0xOiBTVUNDRVNTICgwLjA3MnMpClN1YnRlc3QgYmFja2dyb3VuZC1jb2xvci1wdXJwbGU6 IFNVQ0NFU1MgKDAuMDc0cykKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci1jeWFu ClN0YXJ0aW5nIGR5bmFtaWMgc3VidGVzdDogcGlwZS1BLVZpcnR1YWwtMQpEeW5hbWljIHN1YnRl c3QgcGlwZS1BLVZpcnR1YWwtMTogU1VDQ0VTUyAoMC4wNzRzKQpTdWJ0ZXN0IGJhY2tncm91bmQt Y29sb3ItY3lhbjogU1VDQ0VTUyAoMC4wNzRzKQpTdGFydGluZyBzdWJ0ZXN0OiBiYWNrZ3JvdW5k LWNvbG9yLWJsYWNrClN0YXJ0aW5nIGR5bmFtaWMgc3VidGVzdDogcGlwZS1BLVZpcnR1YWwtMQpE eW5hbWljIHN1YnRlc3QgcGlwZS1BLVZpcnR1YWwtMTogU1VDQ0VTUyAoMC4wNzJzKQpTdWJ0ZXN0 IGJhY2tncm91bmQtY29sb3ItYmxhY2s6IFNVQ0NFU1MgKDAuMDcycykKU3RhcnRpbmcgc3VidGVz dDogYmFja2dyb3VuZC1jb2xvci13aGl0ZQpTdGFydGluZyBkeW5hbWljIHN1YnRlc3Q6IHBpcGUt QS1WaXJ0dWFsLTEKRHluYW1pYyBzdWJ0ZXN0IHBpcGUtQS1WaXJ0dWFsLTE6IFNVQ0NFU1MgKDAu MDczcykKU3VidGVzdCBiYWNrZ3JvdW5kLWNvbG9yLXdoaXRlOiBTVUNDRVNTICgwLjA3NHMpCgoq IFJhZHhhIFJPQ0sgNUIgKFJLMzU4OCkKCnJvY2s1YiQgYnVpbGQvdGVzdHMva21zX2NydGNfYmFj a2dyb3VuZF9jb2xvciAtLWRldmljZSBkcm06L2Rldi9kcmkvY2FyZDEKCklHVC1WZXJzaW9uOiAy LjItZzNlNGVjMzA4ZSAoYWFyY2g2NCkgKExpbnV4OiA2LjE4LjAtcmMxIGFhcmNoNjQpClVzaW5n IElHVF9TUkFORE9NPTE3NjI3NzQ4MDYgZm9yIHJhbmRvbWlzYXRpb24KT3BlbmVkIGRldmljZTog L2Rldi9kcmkvY2FyZDEKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci1yZWQKU3Rh cnRpbmcgZHluYW1pYyBzdWJ0ZXN0OiBwaXBlLUMtRFAtMQpEeW5hbWljIHN1YnRlc3QgcGlwZS1D LURQLTE6IFNVQ0NFU1MgKDAuNDkxcykKU3VidGVzdCBiYWNrZ3JvdW5kLWNvbG9yLXJlZDogU1VD Q0VTUyAoMC40OTNzKQpTdGFydGluZyBzdWJ0ZXN0OiBiYWNrZ3JvdW5kLWNvbG9yLWdyZWVuClN0 YXJ0aW5nIGR5bmFtaWMgc3VidGVzdDogcGlwZS1DLURQLTEKRHluYW1pYyBzdWJ0ZXN0IHBpcGUt Qy1EUC0xOiBTVUNDRVNTICgwLjUzM3MpClN1YnRlc3QgYmFja2dyb3VuZC1jb2xvci1ncmVlbjog U1VDQ0VTUyAoMC41MzVzKQpTdGFydGluZyBzdWJ0ZXN0OiBiYWNrZ3JvdW5kLWNvbG9yLWJsdWUK U3RhcnRpbmcgZHluYW1pYyBzdWJ0ZXN0OiBwaXBlLUMtRFAtMQpEeW5hbWljIHN1YnRlc3QgcGlw ZS1DLURQLTE6IFNVQ0NFU1MgKDAuNTQxcykKU3VidGVzdCBiYWNrZ3JvdW5kLWNvbG9yLWJsdWU6 IFNVQ0NFU1MgKDAuNTQ0cykKU3RhcnRpbmcgc3VidGVzdDogYmFja2dyb3VuZC1jb2xvci15ZWxs b3cKU3RhcnRpbmcgZHluYW1pYyBzdWJ0ZXN0OiBwaXBlLUMtRFAtMQpEeW5hbWljIHN1YnRlc3Qg cGlwZS1DLURQLTE6IFNVQ0NFU1MgKDAuNTM1cykKU3VidGVzdCBiYWNrZ3JvdW5kLWNvbG9yLXll bGxvdzogU1VDQ0VTUyAoMC41MzdzKQpTdGFydGluZyBzdWJ0ZXN0OiBiYWNrZ3JvdW5kLWNvbG9y LXB1cnBsZQpTdGFydGluZyBkeW5hbWljIHN1YnRlc3Q6IHBpcGUtQy1EUC0xCkR5bmFtaWMgc3Vi dGVzdCBwaXBlLUMtRFAtMTogU1VDQ0VTUyAoMC41MzZzKQpTdWJ0ZXN0IGJhY2tncm91bmQtY29s b3ItcHVycGxlOiBTVUNDRVNTICgwLjUzOHMpClN0YXJ0aW5nIHN1YnRlc3Q6IGJhY2tncm91bmQt Y29sb3ItY3lhbgpTdGFydGluZyBkeW5hbWljIHN1YnRlc3Q6IHBpcGUtQy1EUC0xCkR5bmFtaWMg c3VidGVzdCBwaXBlLUMtRFAtMTogU1VDQ0VTUyAoMC41MzlzKQpTdWJ0ZXN0IGJhY2tncm91bmQt Y29sb3ItY3lhbjogU1VDQ0VTUyAoMC41NDFzKQpTdGFydGluZyBzdWJ0ZXN0OiBiYWNrZ3JvdW5k LWNvbG9yLWJsYWNrClN0YXJ0aW5nIGR5bmFtaWMgc3VidGVzdDogcGlwZS1DLURQLTEKKGttc19j cnRjX2JhY2tncm91bmRfY29sb3I6NzQ0KSBpZ3RfcGlwZV9jcmMtV0FSTklORzogV2FybmluZyBv biBjb25kaXRpb24gYWxsX3plcm8gaW4gZnVuY3Rpb24gY3JjX3Nhbml0eV9jaGVja3MsIGZpbGUg Li4vbGliL2lndF9waXBlX2NyYy5jOjQ3NQooa21zX2NydGNfYmFja2dyb3VuZF9jb2xvcjo3NDQp IGlndF9waXBlX2NyYy1XQVJOSU5HOiBTdXNwaWNpb3VzIENSQzogQWxsIHZhbHVlcyBhcmUgMC4K KGttc19jcnRjX2JhY2tncm91bmRfY29sb3I6NzQ0KSBpZ3RfcGlwZV9jcmMtV0FSTklORzogV2Fy bmluZyBvbiBjb25kaXRpb24gYWxsX3plcm8gaW4gZnVuY3Rpb24gY3JjX3Nhbml0eV9jaGVja3Ms IGZpbGUgLi4vbGliL2lndF9waXBlX2NyYy5jOjQ3NQooa21zX2NydGNfYmFja2dyb3VuZF9jb2xv cjo3NDQpIGlndF9waXBlX2NyYy1XQVJOSU5HOiBTdXNwaWNpb3VzIENSQzogQWxsIHZhbHVlcyBh cmUgMC4KRHluYW1pYyBzdWJ0ZXN0IHBpcGUtQy1EUC0xOiBTVUNDRVNTICgwLjUzNXMpClN1YnRl c3QgYmFja2dyb3VuZC1jb2xvci1ibGFjazogU1VDQ0VTUyAoMC41MzdzKQpTdGFydGluZyBzdWJ0 ZXN0OiBiYWNrZ3JvdW5kLWNvbG9yLXdoaXRlClN0YXJ0aW5nIGR5bmFtaWMgc3VidGVzdDogcGlw ZS1DLURQLTEKRHluYW1pYyBzdWJ0ZXN0IHBpcGUtQy1EUC0xOiBTVUNDRVNTICgwLjU0MHMpClN1 YnRlc3QgYmFja2dyb3VuZC1jb2xvci13aGl0ZTogU1VDQ0VTUyAoMC41NDJzKQoKU2lnbmVkLW9m Zi1ieTogQ3Jpc3RpYW4gQ2lvY2FsdGVhIDxjcmlzdGlhbi5jaW9jYWx0ZWFAY29sbGFib3JhLmNv bT4KLS0tCkNoYW5nZXMgaW4gdjg6Ci0gQ29sbGVjdGVkIFItYiB0YWdzIGZyb20gTG91aXMgQ2hh dXZldCBhbmQgQW5keSBZYW4KLSBIYW5kbGVkIHVuc3VwcG9ydGVkIGFscGhhLWJsZW5kaW5nIHdp dGggYmFja2dyb3VuZCBjb2xvciBpbgogIHZvcDJfcGxhbmVfYXRvbWljX2NoZWNrKCkKLSBSZWJh c2VkIHNlcmllcyBvbnRvIHRoZSB2ZXJ5IHJlY2VudCBkcm0tbWlzYy1uZXh0Ci0gTGluayB0byB2 NzogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDI2MDIwNC1yazM1ODgtYmdjb2xvci12Ny0w LTc4ZDFkMDFjNWNhMUBjb2xsYWJvcmEuY29tCgpDaGFuZ2VzIGluIHY3OgotIENvbnNpc3RlbnRs eSBwdXQgIih7IiBvbiBhIHNlcGFyYXRlIGxpbmUgZm9yIGFsbCBtYWNybyBkZWZpbml0aW9ucwog IChBbmR5IFNoZXZjaGVua28pCi0gUmViYXNlZCBzZXJpZXMgb250byBsYXRlc3QgZHJtLW1pc2Mt bmV4dAotIExpbmsgdG8gdjY6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNjAxMjktcmsz NTg4LWJnY29sb3ItdjYtMC1jMTVmNzU1YTQwNTVAY29sbGFib3JhLmNvbQoKQ2hhbmdlcyBpbiB2 NjoKLSBDb2xsZWN0ZWQgQWNrZWQtYnkgJiBSZXZpZXdlZC1ieSB0YWdzIGZyb20gQW5keSBTICYg QW5nZWxvCi0gSGFuZGxlZCBmZWVkYmFjayBmcm9tIEFuZHkgU2hldmNoZW5rbwogICogRml4ZWQg dXAgc3R5bGluZyBmb3IgX19LRVJORUxfRElWX1JPVU5EX0NMT1NFU1QoKSBtYWNybwogICogTWFk ZSB1c2Ugb2YgX19HRU5NQVNLKCkgaGVscGVyIGluIF9fRFJNX0FSR0I2NF9QUkVQKigpIGFuZAog ICAgX19EUk1fQVJHQjY0X0dFVCooKSBkZWZpbml0aW9ucwogICogSW50cm9kdWNlZCBEUk1fQVJH QjY0X0dFVCpfQlBDUygpIGFzIGFuIGFsdGVybmF0aXZlIGZvcgogICAgRFJNX0FSR0I2NF9HRVQq X0JQQygpIHRvIGhlbHAgd2hlbiBwZXJmb3JtYW5jZSBpcyBtb3JlIGltcG9ydGFudAogICAgdGhh biBhY2N1cmFjeSwgZS5nLiB1c2VkIGl0IGFsb25nIHdpdGggRklFTERfTU9ESUZZKCkgaW4gdGhl IHZvcDIKICAgIHJlbGF0ZWQgcGF0Y2ggdG8gc2ltcGxpZnkgYSBiaXQgdGhlIGJnY29sb3Igb3Bl cmF0aW9ucwotIExpbmsgdG8gdjU6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNjAxMjct cmszNTg4LWJnY29sb3ItdjUtMC1iMjVhYTg2MTMyMTFAY29sbGFib3JhLmNvbQoKQ2hhbmdlcyBp biB2NToKLSBDb2xsZWN0ZWQgUmV2aWV3ZWQtYnkgJiBUZXN0ZWQtYnkgdGFncyBmcm9tIE7DrWNv bGFzICYgRGllZGVyaWsKLSBEdW1wZWQgYmFja2dyb3VuZF9jb2xvciBwcm9wIHZhbHVlIGluIGRy bV9hdG9taWNfY3J0Y19wcmludF9zdGF0ZSgpCiAgYW5kIHVwZGF0ZWQgY29tbWVudCBpbiBkcm1f Y3J0Y19zdGF0ZSAoTsOtY29sYXMpCi0gRG9jdW1lbnRlZCB0aGUgcmVhc29ucyBvZiBub3QgdXNp bmcgdGhlIERSTV9BUkdCNjRfR0VUKl9CUEMoKSBoZWxwZXJzCiAgaW4gdm9wMiByZWxhdGVkIHBh dGNoIChOw61jb2xhcykKLSBSZWJhc2VkIHNlcmllcyBvbnRvIGxhdGVzdCBkcm0tbWlzYy1uZXh0 Ci0gTGluayB0byB2NDogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDI1MTIxOS1yazM1ODgt Ymdjb2xvci12NC0wLTJmZjExMjdlYTc1N0Bjb2xsYWJvcmEuY29tCgpDaGFuZ2VzIGluIHY0Ogot IFN3aXRjaGVkIHRvIHNpbXBsZSBiaXQtc2hpZnRpbmcgYXBwcm9hY2ggd2hlbiBwZXJmb3JtaW5n IHRoZSBicGMKICBjb252ZXJzaW9uIGluIHRoZSB2b3AyIGRyaXZlciwgdG8gYXZvaWQgdGhlIGV4 cGVuc2l2ZSBkaXZpc2lvbiBzaW5jZQogIHdlIHNob3VsZG4ndCBiZSBjb25jZXJuZWQgYW55bW9y ZSBhYm91dCB0aGUgcHJlY2lzaW9uIChDaGFveWkpCi0gUmViYXNlZCBzZXJpZXMgb250byBsYXRl c3QgZHJtLW1pc2MtbmV4dAotIExpbmsgdG8gdjM6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Iv MjAyNTExMTgtcmszNTg4LWJnY29sb3ItdjMtMC1hMmNjOTA5NDI4ZWFAY29sbGFib3JhLmNvbQoK Q2hhbmdlcyBpbiB2MzoKLSBBZGRlZCBuZXcgcGF0Y2hlczoKICAqIHVhcGk6IFByb3ZpZGUgRElW X1JPVU5EX0NMT1NFU1QoKQogICogZHJtL3ZrbXM6IFN1cHBvcnQgc2V0dGluZyBjdXN0b20gYmFj a2dyb3VuZCBjb2xvcgotIEltcHJvdmVkIERSTV9BUkdCNjRfe1BSRVB8R0VUfSooKSBoZWxwZXJz IGJ5IHVzaW5nIGEgY29udmVyc2lvbiByYXRpbwogIGZvciBiZXR0ZXIgY29sb3IgYXBwcm94aW1h dGlvbiB3aGVuIGRlYWxpbmcgd2l0aCBsZXNzIHRoYW4gMTYgYml0cyBvZgogIHByZWNpc2lvbgot IE1lbnRpb25lZCB0aGUgSUdUIHRlc3QgaW4gdGhlIGNvdmVyIGxldHRlciB3aGlsZSBkb2N1bWVu dGluZyB0aGUKICB2YWxpZGF0aW9uIHJlc3VsdHM7IGFsc28gZHJvcHBlZCByZWZlcmVuY2VzIHRv IHRoZSBub3cgdXNlbGVzcwogIG1vZGV0ZXN0IHdyYXBwZXIgc2NyaXB0IGFuZCBpdHMgZ2VuZXJh dGVkIHJlcG9ydAotIFJlYmFzZWQgc2VyaWVzIG9udG8gbGF0ZXN0IGRybS1taXNjLW5leHQKLSBM aW5rIHRvIHYyOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjUxMDEzLXJrMzU4OC1iZ2Nv bG9yLXYyLTAtMjVjYzM4MTBiYThjQGNvbGxhYm9yYS5jb20KCkNoYW5nZXMgaW4gdjI6Ci0gSW1w cm92ZWQgdUFQSSBjb25zaXN0ZW5jeSBhbmQgcmVhZGFiaWxpdHkgYnkgaW50cm9kdWNpbmcKICBE Uk1fQVJHQjY0X1BSRVAqKCkgYW5kIERSTV9BUkdCNjRfR0VUKigpIGhlbHBlciBtYWNyb3MKLSBV cGRhdGVkIHNldmVyYWwgY29kZSBjb21tZW50IHNlY3Rpb25zCi0gUmVmZXJlbmNlZCB0aGUgY291 bnRlcnBhcnQgV2VzdG9uIHN1cHBvcnQgaW4gdGhlIGNvdmVyIGxldHRlcgotIFJlYmFzZWQgc2Vy aWVzIG9udG8gdjYuMTgtcmMxCi0gTGluayB0byB2MTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv ci8yMDI1MDkwMi1yazM1ODgtYmdjb2xvci12MS0wLWZkOTdkZjkxZDg5ZkBjb2xsYWJvcmEuY29t CgotLS0KQ3Jpc3RpYW4gQ2lvY2FsdGVhICg0KToKICAgICAgdWFwaTogUHJvdmlkZSBESVZfUk9V TkRfQ0xPU0VTVCgpCiAgICAgIGRybTogQWRkIENSVEMgYmFja2dyb3VuZCBjb2xvciBwcm9wZXJ0 eQogICAgICBkcm0vdmttczogU3VwcG9ydCBzZXR0aW5nIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9y CiAgICAgIGRybS9yb2NrY2hpcDogdm9wMjogU3VwcG9ydCBzZXR0aW5nIGN1c3RvbSBiYWNrZ3Jv dW5kIGNvbG9yCgogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgICAgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYyAgICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgICAgICAgICAgIHwgIDQgKysK IGRyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYyAgICAgICAgICAgICAgICAgIHwgMzkgKysrKysr KysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyAgICAgICAgICAgIHwg IDYgKysrCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcDIuYyB8IDI0 ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AyLmgg fCAgNCArKwogZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jb21wb3Nlci5jICAgICAgICAgfCAx MCArKystCiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYyAgICAgICAgICAgICB8ICAz ICsrCiBpbmNsdWRlL2RybS9kcm1fYmxlbmQuaCAgICAgICAgICAgICAgICAgICAgICB8ICA0ICst CiBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysr CiBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICAgICAgICAgICB8ICA1ICsrCiBp bmNsdWRlL2xpbnV4L21hdGguaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDE4ICstLS0tLS0K IGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICAgICAgICAgICAgIHwgODAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS91YXBpL2xpbnV4L2NvbnN0LmggICAgICAg ICAgICAgICAgICAgfCAxOCArKysrKysrCiAxNSBmaWxlcyBjaGFuZ2VkLCAyMDQgaW5zZXJ0aW9u cygrKSwgMjUgZGVsZXRpb25zKC0pCi0tLQpiYXNlLWNvbW1pdDogZmNhMTE0Mjg0MjVlOTJiZjIx ZDRhN2Y1ODY1NzA4YzVlNjQ0MzBlNApjaGFuZ2UtaWQ6IDIwMjUwODI5LXJrMzU4OC1iZ2NvbG9y LWMxYTdiOWE1MDdiYwoK