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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (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 91C4CC00140 for ; Mon, 15 Aug 2022 08:19:41 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id CB642857; Mon, 15 Aug 2022 10:18:48 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz CB642857 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1660551578; bh=0F0ny3POo01TN8PrWXSpbHLH0QJ4GeZOsaTCgDcIiKw=; h=Date:Subject:To:References:From:In-Reply-To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=mJq49c9MkngS0E609aVjBBuqxrWdsJzNXeFHqw/LVi6N1nRzs7Z/h77wZipuQilB5 tdmdu/JMoZbtE3a25vZdLOQMxtV4qY8nNG+HuJzqIO33zDRJhPPPkiVIKYD+TNh/Xx QAUwVEEOfNiAdyTXz4P3ke3fxxn4S2q+CvgOcHBQ= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 60A3BF80082; Mon, 15 Aug 2022 10:18:48 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id B1B73F8025A; Mon, 15 Aug 2022 10:18:46 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 7DF51F80082 for ; Mon, 15 Aug 2022 10:18:42 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 7DF51F80082 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="P28PiMv6" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660551524; x=1692087524; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=0F0ny3POo01TN8PrWXSpbHLH0QJ4GeZOsaTCgDcIiKw=; b=P28PiMv62gEbIqNGLHSk0HCnyjgQjsWbXcjCkRVbMa8pfW7Lv3PHWFNr 3Vn6xczv4DJ5ZmRAklgMPjyrmEqeyNUVug5A8uiFrA0hZXAOUJRp8Fcwe cjpk1uBHtmhz3s9WmuzCKsFbX0mSCaZed/l/I52kQKamKxFsSLHz4i+E4 /NMsF7CGW8TWpUFv7khJmSqzItXSZxsK+ICIkdjQZCsETGHobiVuERjhC /IGAhAfZPMTfEtqQv7guvcnzeYnxtB1TZcHw5dzJnjbaGXiuIt/m72VxW 0jvc2r1721gXwF58Kw7F32OwsH62sRc7gfUhpVuwTh9zkxLl/crfjRx5T A==; X-IronPort-AV: E=McAfee;i="6400,9594,10439"; a="290669540" X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="290669540" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:38 -0700 X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="674766312" Received: from szujuchn-mobl1.gar.corp.intel.com (HELO [10.252.50.152]) ([10.252.50.152]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:34 -0700 Message-ID: <741edbf0-5835-eb89-bb6a-69d7e0d00e36@linux.intel.com> Date: Mon, 15 Aug 2022 10:16:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.11.0 Subject: Re: [RFC PATCH] Soundwire: Initialize multi_link with fwnode props Content-Language: en-US To: Khalid Masum , Andy Shevchenko References: <20220814080416.7531-1-khalid.masum.92@gmail.com> <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> From: Pierre-Louis Bossart In-Reply-To: <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: ALSA Development Mailing List , Heikki Krogerus , "Rafael J . Wysocki" , Bard Liao , Linux Kernel Mailing List , Daniel Scally , ACPI Devel Maling List , Vinod Koul , Sakari Ailus , Sanyog Kale , Andy Shevchenko , linux-kernel-mentees@lists.linuxfoundation.org, Len Brown X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On 8/15/22 06:28, Khalid Masum wrote: > On 8/15/22 00:46, Andy Shevchenko wrote: >> On Sun, Aug 14, 2022 at 11:31 AM Khalid Masum >> wrote: >>> >>> According to the TODO, In sw_bus_master_add, bus->multi_link is to be >>> populated with properties from FW node props. Make this happen by >>> creating a new fwnode_handle flag FWNODE_FLAG_MULTI_LINKED and use >>> the flag to store the multi_link value from intel_link_startup. Use >>> this flag to initialize bus->multi_link. >> >> ... >> >>>          /* >>>           * Initialize multi_link flag >>> -        * TODO: populate this flag by reading property from FW node >>>           */ >>> -       bus->multi_link = false; >>> +       bus->multi_link = (fwnode->flags & FWNODE_FLAG_MULTI_LINKED) >>> +               == FWNODE_FLAG_MULTI_LINKED; >> >> NAK (as far as I understood the context of the comment and the change >> itself). >> >> These flags are for devlink, we do not mix FW properties with those >> internal flags anyhow. The comment suggests that this should be az >> property. Also commit message doesn't explain the relation to devlink. >> > That is a good information to know. Thanks. > > I shall try to find out if I can somehow get multi_link's value from > fwnode in any other way and look into devlink in the process. > > If you have any suggestions regarding this TODO, please let me know. The suggestion is to remove the TODO and leave the code as is: the capabilities enabled for multi-link are required as part of the programming sequences, even when a stream uses a single link we still use the syncArm/syncGo sequences. Please don't change this. 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 204D6C00140 for ; Mon, 15 Aug 2022 08:18:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229736AbiHOISl (ORCPT ); Mon, 15 Aug 2022 04:18:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230165AbiHOISk (ORCPT ); Mon, 15 Aug 2022 04:18:40 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 866111EEFB; Mon, 15 Aug 2022 01:18:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660551519; x=1692087519; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=0F0ny3POo01TN8PrWXSpbHLH0QJ4GeZOsaTCgDcIiKw=; b=DlyKSGRe4ZEkXDi/iEl2imdy/EmSb2sPnoUfSDZdGqIsCa+TSY3/Vuwa yJUWuqgILy5qu98koz/jYBmlghhcPeotbH4NJHW8aUTtwAhMNpaSsH66P GVYipqxnmcnekDxTvFRRrbGw4G0VehMNu6+R+v25OeqF176j9OvM60YsC 6XN0RlWifS6uPJ/7SXQyhPNdvgvaFkggcnf+hyGcJroJCaLRdkTJeD5E6 vW+Z138Br92IuErkfsSFI9Cl/L0ppw0z/CwmHlv3dKraQ+t8yY6A8lIHP iz91/TwcBEtXaXQQkO5IgzjmHzVg5qzgrYDfZzEqqP04Ly/d2rjcJr/uL g==; X-IronPort-AV: E=McAfee;i="6400,9594,10439"; a="274971002" X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="274971002" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:38 -0700 X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="674766312" Received: from szujuchn-mobl1.gar.corp.intel.com (HELO [10.252.50.152]) ([10.252.50.152]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:34 -0700 Message-ID: <741edbf0-5835-eb89-bb6a-69d7e0d00e36@linux.intel.com> Date: Mon, 15 Aug 2022 10:16:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.11.0 Subject: Re: [RFC PATCH] Soundwire: Initialize multi_link with fwnode props Content-Language: en-US To: Khalid Masum , Andy Shevchenko Cc: ALSA Development Mailing List , Linux Kernel Mailing List , ACPI Devel Maling List , linux-kernel-mentees@lists.linuxfoundation.org, Vinod Koul , Bard Liao , Sanyog Kale , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , "Rafael J . Wysocki" , Len Brown References: <20220814080416.7531-1-khalid.masum.92@gmail.com> <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> From: Pierre-Louis Bossart In-Reply-To: <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On 8/15/22 06:28, Khalid Masum wrote: > On 8/15/22 00:46, Andy Shevchenko wrote: >> On Sun, Aug 14, 2022 at 11:31 AM Khalid Masum >> wrote: >>> >>> According to the TODO, In sw_bus_master_add, bus->multi_link is to be >>> populated with properties from FW node props. Make this happen by >>> creating a new fwnode_handle flag FWNODE_FLAG_MULTI_LINKED and use >>> the flag to store the multi_link value from intel_link_startup. Use >>> this flag to initialize bus->multi_link. >> >> ... >> >>>          /* >>>           * Initialize multi_link flag >>> -        * TODO: populate this flag by reading property from FW node >>>           */ >>> -       bus->multi_link = false; >>> +       bus->multi_link = (fwnode->flags & FWNODE_FLAG_MULTI_LINKED) >>> +               == FWNODE_FLAG_MULTI_LINKED; >> >> NAK (as far as I understood the context of the comment and the change >> itself). >> >> These flags are for devlink, we do not mix FW properties with those >> internal flags anyhow. The comment suggests that this should be az >> property. Also commit message doesn't explain the relation to devlink. >> > That is a good information to know. Thanks. > > I shall try to find out if I can somehow get multi_link's value from > fwnode in any other way and look into devlink in the process. > > If you have any suggestions regarding this TODO, please let me know. The suggestion is to remove the TODO and leave the code as is: the capabilities enabled for multi-link are required as part of the programming sequences, even when a stream uses a single link we still use the syncArm/syncGo sequences. Please don't change this. 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 smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (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 22203C25B0D for ; Mon, 15 Aug 2022 08:18:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 6E975409C1; Mon, 15 Aug 2022 08:18:43 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 6E975409C1 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=DlyKSGRe X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Nt0jJx-RDk6v; Mon, 15 Aug 2022 08:18:42 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 123E8409A6; Mon, 15 Aug 2022 08:18:42 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 123E8409A6 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E65DBC0032; Mon, 15 Aug 2022 08:18:41 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 87B02C002D for ; Mon, 15 Aug 2022 08:18:40 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 5506360ACF for ; Mon, 15 Aug 2022 08:18:40 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 5506360ACF Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=DlyKSGRe X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kzDw_V0SFUuv for ; Mon, 15 Aug 2022 08:18:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 776EC60625 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by smtp3.osuosl.org (Postfix) with ESMTPS id 776EC60625 for ; Mon, 15 Aug 2022 08:18:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660551519; x=1692087519; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=0F0ny3POo01TN8PrWXSpbHLH0QJ4GeZOsaTCgDcIiKw=; b=DlyKSGRe4ZEkXDi/iEl2imdy/EmSb2sPnoUfSDZdGqIsCa+TSY3/Vuwa yJUWuqgILy5qu98koz/jYBmlghhcPeotbH4NJHW8aUTtwAhMNpaSsH66P GVYipqxnmcnekDxTvFRRrbGw4G0VehMNu6+R+v25OeqF176j9OvM60YsC 6XN0RlWifS6uPJ/7SXQyhPNdvgvaFkggcnf+hyGcJroJCaLRdkTJeD5E6 vW+Z138Br92IuErkfsSFI9Cl/L0ppw0z/CwmHlv3dKraQ+t8yY6A8lIHP iz91/TwcBEtXaXQQkO5IgzjmHzVg5qzgrYDfZzEqqP04Ly/d2rjcJr/uL g==; X-IronPort-AV: E=McAfee;i="6400,9594,10439"; a="290669541" X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="290669541" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:38 -0700 X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="674766312" Received: from szujuchn-mobl1.gar.corp.intel.com (HELO [10.252.50.152]) ([10.252.50.152]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2022 01:18:34 -0700 Message-ID: <741edbf0-5835-eb89-bb6a-69d7e0d00e36@linux.intel.com> Date: Mon, 15 Aug 2022 10:16:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.11.0 Subject: Re: [RFC PATCH] Soundwire: Initialize multi_link with fwnode props Content-Language: en-US To: Khalid Masum , Andy Shevchenko References: <20220814080416.7531-1-khalid.masum.92@gmail.com> <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> From: Pierre-Louis Bossart In-Reply-To: <54dd86bd-416b-3048-9bd0-368afa3aaf2f@gmail.com> Cc: ALSA Development Mailing List , Heikki Krogerus , "Rafael J . Wysocki" , Bard Liao , Linux Kernel Mailing List , Daniel Scally , ACPI Devel Maling List , Vinod Koul , Sakari Ailus , Sanyog Kale , Andy Shevchenko , linux-kernel-mentees@lists.linuxfoundation.org, Len Brown X-BeenThere: linux-kernel-mentees@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-kernel-mentees-bounces@lists.linuxfoundation.org Sender: "Linux-kernel-mentees" CgpPbiA4LzE1LzIyIDA2OjI4LCBLaGFsaWQgTWFzdW0gd3JvdGU6Cj4gT24gOC8xNS8yMiAwMDo0 NiwgQW5keSBTaGV2Y2hlbmtvIHdyb3RlOgo+PiBPbiBTdW4sIEF1ZyAxNCwgMjAyMiBhdCAxMToz MSBBTSBLaGFsaWQgTWFzdW0KPj4gPGtoYWxpZC5tYXN1bS45MkBnbWFpbC5jb20+IHdyb3RlOgo+ Pj4KPj4+IEFjY29yZGluZyB0byB0aGUgVE9ETywgSW4gc3dfYnVzX21hc3Rlcl9hZGQsIGJ1cy0+ bXVsdGlfbGluayBpcyB0byBiZQo+Pj4gcG9wdWxhdGVkIHdpdGggcHJvcGVydGllcyBmcm9tIEZX IG5vZGUgcHJvcHMuIE1ha2UgdGhpcyBoYXBwZW4gYnkKPj4+IGNyZWF0aW5nIGEgbmV3IGZ3bm9k ZV9oYW5kbGUgZmxhZyBGV05PREVfRkxBR19NVUxUSV9MSU5LRUQgYW5kIHVzZQo+Pj4gdGhlIGZs YWcgdG8gc3RvcmUgdGhlIG11bHRpX2xpbmsgdmFsdWUgZnJvbSBpbnRlbF9saW5rX3N0YXJ0dXAu IFVzZQo+Pj4gdGhpcyBmbGFnIHRvIGluaXRpYWxpemUgYnVzLT5tdWx0aV9saW5rLgo+Pgo+PiAu Li4KPj4KPj4+IMKgwqDCoMKgwqDCoMKgwqAgLyoKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAqIElu aXRpYWxpemUgbXVsdGlfbGluayBmbGFnCj4+PiAtwqDCoMKgwqDCoMKgwqAgKiBUT0RPOiBwb3B1 bGF0ZSB0aGlzIGZsYWcgYnkgcmVhZGluZyBwcm9wZXJ0eSBmcm9tIEZXIG5vZGUKPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCAqLwo+Pj4gLcKgwqDCoMKgwqDCoCBidXMtPm11bHRpX2xpbmsgPSBmYWxz ZTsKPj4+ICvCoMKgwqDCoMKgwqAgYnVzLT5tdWx0aV9saW5rID0gKGZ3bm9kZS0+ZmxhZ3MgJiBG V05PREVfRkxBR19NVUxUSV9MSU5LRUQpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCA9PSBGV05PREVfRkxBR19NVUxUSV9MSU5LRUQ7Cj4+Cj4+IE5BSyAoYXMgZmFyIGFzIEkgdW5k ZXJzdG9vZCB0aGUgY29udGV4dCBvZiB0aGUgY29tbWVudCBhbmQgdGhlIGNoYW5nZQo+PiBpdHNl bGYpLgo+Pgo+PiBUaGVzZSBmbGFncyBhcmUgZm9yIGRldmxpbmssIHdlIGRvIG5vdCBtaXggRlcg cHJvcGVydGllcyB3aXRoIHRob3NlCj4+IGludGVybmFsIGZsYWdzIGFueWhvdy4gVGhlIGNvbW1l bnQgc3VnZ2VzdHMgdGhhdCB0aGlzIHNob3VsZCBiZSBhego+PiBwcm9wZXJ0eS4gQWxzbyBjb21t aXQgbWVzc2FnZSBkb2Vzbid0IGV4cGxhaW4gdGhlIHJlbGF0aW9uIHRvIGRldmxpbmsuCj4+Cj4g VGhhdCBpcyBhIGdvb2QgaW5mb3JtYXRpb24gdG8ga25vdy4gVGhhbmtzLgo+IAo+IEkgc2hhbGwg dHJ5IHRvIGZpbmQgb3V0IGlmIEkgY2FuIHNvbWVob3cgZ2V0IG11bHRpX2xpbmsncyB2YWx1ZSBm cm9tCj4gZndub2RlIGluIGFueSBvdGhlciB3YXkgYW5kIGxvb2sgaW50byBkZXZsaW5rIGluIHRo ZSBwcm9jZXNzLgo+IAo+IElmIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9ucyByZWdhcmRpbmcgdGhp cyBUT0RPLCBwbGVhc2UgbGV0IG1lIGtub3cuCgpUaGUgc3VnZ2VzdGlvbiBpcyB0byByZW1vdmUg dGhlIFRPRE8gYW5kIGxlYXZlIHRoZSBjb2RlIGFzIGlzOiB0aGUKY2FwYWJpbGl0aWVzIGVuYWJs ZWQgZm9yIG11bHRpLWxpbmsgYXJlIHJlcXVpcmVkIGFzIHBhcnQgb2YgdGhlCnByb2dyYW1taW5n IHNlcXVlbmNlcywgZXZlbiB3aGVuIGEgc3RyZWFtIHVzZXMgYSBzaW5nbGUgbGluayB3ZSBzdGls bAp1c2UgdGhlIHN5bmNBcm0vc3luY0dvIHNlcXVlbmNlcy4KClBsZWFzZSBkb24ndCBjaGFuZ2Ug dGhpcy4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlu dXgta2VybmVsLW1lbnRlZXMgbWFpbGluZyBsaXN0CkxpbnV4LWtlcm5lbC1tZW50ZWVzQGxpc3Rz LmxpbnV4Zm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgta2VybmVsLW1lbnRlZXMK