From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 14 Sep 2023 08:47:23 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qgg8K-00EhVG-If for lore@lore.pengutronix.de; Thu, 14 Sep 2023 08:47:23 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1qgg8I-0001UU-Ng; Thu, 14 Sep 2023 08:47:22 +0200 Received: from mail-gv0che01on2044.outbound.protection.outlook.com ([40.107.23.44] helo=CHE01-GV0-obe.outbound.protection.outlook.com) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qgg7x-0001Rm-R9 for ptxdist@pengutronix.de; Thu, 14 Sep 2023 08:47:02 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W11TDq43odHpSAYxz6O4PIhkcQT5xCnU8CbRCCFAO+bA+iosgaG9php1evQ8Lye+FqAbvSAZGoGk3avgiRpjaa1JjedWhxlVT1fjsLVpgH4f3yOILmASVlYtlpEiqaa37LrUAjrHCvTsP22+1OQvWx4E2Ffh+uz0M0Bsi6mMgzEzeeDy6w68aEmmhVYZyKtA/z4FMp+3ePC804bMeQAs3lwiW0zdW9Ztp8h2g9FvgFiFxdexwWB03TjT5dpa4HGfx85gLAZmnoFJSGbONhdzVR+kqViJ0yYrdBkM0db994j7g2znF+xltW7p6cNgN7qzIoYX1nfmiUlENLnc+QRR9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+XP5cfAqaVGlYnrwF3u5wZ0/GhbdwMTzHxVw+K1oAO4=; b=cpb9ZPeNtvhBgUonLv3qZh15KG/AZviPfcE4Htwe8T7weIi2ok/BI+nugnfkv9+tPB6m/tEYK0VEVIwRL6piMzgJ6vaisT7shUpIElV3sjY02AViM7qyB7ZvwiRDzwxiOFqX0TYz997Nq0SJVIEQ+T8gAAB+pljuU1D07f2scM0WevozRy1UJ3flLSwXRoGJw8CS4bP4xa9+C4LuoB4KgLRzz6yIazL6vjT03q0YftD2UmAlGKVmOBnqPhvof5ItvBLyW1UF4GZCvlL9yeRFv+LepMpYlq56PBeAxY/+9WyfLbYYJvzSw3ZtzzWYlBGSYvgF7UXg2NeVa7yTxZwcMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=verity.net; dmarc=pass action=none header.from=verity.net; dkim=pass header.d=verity.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verity.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+XP5cfAqaVGlYnrwF3u5wZ0/GhbdwMTzHxVw+K1oAO4=; b=tfHoBK+qFiNJV+QJRZjW4KhFIxJlz3BnZUG2VqCT7I/6cdFp+uBhvooPwEw4vQnQfD+EbvREj+AHtWhsSaPWbVQuXWTIekLZUlsoq0QJgXPAoslirePHCcpTuYrkFbu7v9ZfaxzhoGMwjvCQ/+CRGOLprO6Owe0QPVpsId/9c+w1z1xmMC7ua4NxaoTG0KWkXiEOEv4BxR5L3ZSDttoagDzx1nToOcIgv17T2P5fxhTlAqzKFFcLtW4JtjusWC6sjZdEg81qfE0NLvmhNaLclHKvSAKabUCZRRPd1dpvDcAuconH59sl6ZVnEycDdBKHDuP1Gu/SI7YNc7dGRSm9Ug== Received: from GV0P278MB0784.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:53::9) by ZR2P278MB0986.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:5d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Thu, 14 Sep 2023 06:46:59 +0000 Received: from GV0P278MB0784.CHEP278.PROD.OUTLOOK.COM ([fe80::a5a5:a491:679b:42e]) by GV0P278MB0784.CHEP278.PROD.OUTLOOK.COM ([fe80::a5a5:a491:679b:42e%6]) with mapi id 15.20.6792.020; Thu, 14 Sep 2023 06:46:58 +0000 From: Simon Falsig To: "christian.melki@t2data.com" Thread-Topic: [ptxdist] [PATCH 1/3] RFC: ptxd_make_world: Extract CPE for packages Thread-Index: AQHZ5lw6+oqNXnnfK0eaIPt6aE2db7AZQnyAgACbQSA= Date: Thu, 14 Sep 2023 06:46:58 +0000 Message-ID: References: <20230913160546.71046-1-sfalsig@verity.net> <655eabee-c6c3-4a88-bbe3-c71960f2d35f@t2data.com> In-Reply-To: <655eabee-c6c3-4a88-bbe3-c71960f2d35f@t2data.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=verity.net; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: GV0P278MB0784:EE_|ZR2P278MB0986:EE_ x-ms-office365-filtering-correlation-id: 93094af8-5b86-4478-ed31-08dbb4ee64c5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oJYN6ey8Yd281bk0QuaK1jamh8or2/kZ+ykAoyhJQl1G9NBj5ais86hvNLy71BK1FERQN80Cei+C5GW1iNrHIdzXHP7tj/9MzIDEHf+ufU8RJBqzVkGbMX+jpQLRdhaVADx/Np5/ccpuLsPf17JqVyWXeuk5+0oMzQNHfVFs5KjKqNY8IEmqIy6EPkVQHEnHQYrlm0KLSk1V3YS3nIxKs7STuEJyea+FcfnD5F9DlYaFuM2SQ9fosq/6rTyR24CwqwTZ/5J+CN9CuudB0yi38fonWypYuZdbHUpFo4MnEYm4gFI2F83rlIGT4sqwNINJ+SeFA5OcyvW/ak+O7//lfJ0RIllzm+3qjyMhrskjsUb0vh2KlEY5QBOUWqDnR5uWU+1a3n24tUIczd8ZgNaettMoOkuwoJcVHx03lvsXLJRRGwoekFziaH5TUKbpQR6gabHl6TNBpP4zuma/MvdK6DvnjkUagBSsWpENcuD+bEwaFwtg5ElIDi+s64v5KaSMzagxcxYks08BhoY8YxR2cwYDT7PPpCTet5mrenJHxzZbbBxr0F5fcZUJgLBvzHapBdlfZ+HcL6H0yvuV0H1fAWkPvvVbS6LiOqyhWyZkSrUJjvb7JEi9E/dk7I3j4kTo x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GV0P278MB0784.CHEP278.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(39850400004)(396003)(136003)(376002)(366004)(346002)(451199024)(1800799009)(186009)(8676002)(66556008)(122000001)(7696005)(53546011)(9686003)(6506007)(71200400001)(76116006)(5660300002)(4326008)(83380400001)(66446008)(478600001)(66946007)(26005)(64756008)(8936002)(6916009)(66476007)(316002)(41300700001)(33656002)(2906002)(55016003)(38070700005)(38100700002)(86362001)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UTRTMzgrVG02OHlOSmtPRjNHVklUVEZ0cXF6WWJ2Wm1Ca25aSGlubGtxcG0z?= =?utf-8?B?b3ZJTWx5UUtyL3FEeE5FWVBzUUxxS3BHdW8xVzJjaGtlU3c0TTJ6SERVUXpi?= =?utf-8?B?WEdBWWkrYmd0cllIem9TTXllREFQYXZxSlNSK1hsREJhaFdyNmpnS1NzdElX?= =?utf-8?B?Rkd2YzJtd3lnc0t0b2VSQ1ZNWSs1UkZVUmhqRzVkK1VSRUV0MlB1U2VFdytY?= =?utf-8?B?VjJQeXovTE44Zks3bEwwWGtmUUhvcWtGT0ZtOXdVeTBwNUhSbjFBM0gxMmJM?= =?utf-8?B?alZEcEQ3bGMyMHIrWVRRTlZoeGFrY3BhSGhIK2pxS3E1eVVXTXlkb3R2angx?= =?utf-8?B?MWRkU3Jkc2d4NDFycE5SV3NJT3lLbWJxVEh3UHhMVTAwcUk5aHlUbnVGUnIv?= =?utf-8?B?L2owTmRrTUFsdjNIOTdJM3pYSW5mWnVjUVY5c2lhclRocDlOaGJwdXFWN0ln?= =?utf-8?B?Tm83M3oxK3RjQXF6UjhKSzZCdm8rL0pxSzZDRmFiZk53WWRNTkN6YWhRNUFJ?= =?utf-8?B?VXZrNzhzUlE2bEhTTDFwMGxUbExsRUxvQUhqMGwyTjBFM1hEam1icjVjVUZk?= =?utf-8?B?UlIyRjI4K3haNVUxOElkeFUrbVFDblA0SUg2ZU16OHlqaGwxcGE1bkZkYW5T?= =?utf-8?B?S1RVanJWR1h4c25WUEUxWUtqaFMwVUgvNTY0WjhJTEF1S1Zwak1xcXFRZmtF?= =?utf-8?B?QmgxalZmKzFRM3F2UGxaeDBnQkJORWl4UjJwcGN0aFI2eW5XOWIxRWJYdEYr?= =?utf-8?B?Y0wwakIyZUZLV08yOXlYMk50ZEFwRGdpUjQ3WVg0Z291dGdiNXg4TFJIaDVL?= =?utf-8?B?alVFSDc0c09OMkFvVlpvTlZyZHE5ZCs3Qk1yNmxrZXd4blF2bFBQa3JPbnZX?= =?utf-8?B?UGFpbnNMYytEQWIxRFMyekN0UG9CaFQ5TXJpNkJUNEMxSnBqN0J2NGQvNFpP?= =?utf-8?B?a1lEMWNUNDZ1a0FLYktBSjBpOE9DTnhtSnZRSmV5S1o2VUVBR1AvOVlVWGs5?= =?utf-8?B?N1ZuZkJ5a0JidUs4NmhuT0RMS1psOTJ5TFh0MkdGUmVZU3YzdWt4TlBXZ2hs?= =?utf-8?B?VWxKMThTQ2dyaFZBS2hPTHB4cmIxNS9GTkY2ZUlMRDl5QllTSTZ3Y1VPcGpl?= =?utf-8?B?TGtzQnFTK0h4MFVDSHQ1V2ZnSVAySElLNENjdGFaMDd5TkgvdUg4UlVzQm83?= =?utf-8?B?aG1NTlhhWWR5Z0Q0dGx3OG5IUGpoWHhnVG0rd0xVR21oeWNTM21wWEpJZGEr?= =?utf-8?B?Uzl0bHcwOVFwTlk2V2YyQlVKUER4TS9OdDk0cEliL004NS9MVlhnVCtYWVNr?= =?utf-8?B?TnBBaHd3eFdtWkNHUUpCTXVlN2VXdXVnb3JCUlBKUVJlOTF4ODNaKzRCUXd2?= =?utf-8?B?MjdQbU85R1hNMEJiUUlOVG5DVk1IeG5kN0l5TFZ3eVpuaDVYcU8zTTRaS3h5?= =?utf-8?B?Mk9mWVNxc29KcFR2TG1ySUJIbGIwM2s1UTMzQU5WNlRhTDM2Q3dMY0NxQUpm?= =?utf-8?B?Rm9QYXUwRXZGWWhmbndhNk9UaStrNHdUZ3JTNGZmbjcrNGIvMEJBTytyS0hr?= =?utf-8?B?SW04b2lwQ0NPTFFVNnB0V3pYdVBScXRVbWFxUTVMNTlRTWZpQWNnT0s0UnJ4?= =?utf-8?B?WTYxalBHbWJrK1BrR29hbGhKd0tEMlV0WWZWZkwwS1F0MGpObTRuVVU3M3FN?= =?utf-8?B?clFEblUrcFVWekhVNDFXTUN0QWVtaFVqL0w4eDVNcFZ6T1pPaDZlVzdtQnJ2?= =?utf-8?B?VVZVR0lOYnM5R09lS2N2cmI5Yzk0d2pyZldVS1lhVkVEcEhOb2tLZlFaTTJw?= =?utf-8?B?bHFtdlFJU2RGQVZOcEUwVU41VE9qYkJuMXlOMldrakhJcm9ZUUtnckEyUDJz?= =?utf-8?B?QitBUUZPV1FueUtJNlRvQzJFN3YrUHgrUWNPOG1wTUFTR0Z5dGZiRE5OcVM3?= =?utf-8?B?QktZVC9wTVhjbmlRUWdqMnhKS2dZWU5ScStXVHA4M29qNTlWSWdiZmN4Q2cx?= =?utf-8?B?Vjk0T25XT0hPcUQ5TlpMSStKKzRNWHR3QzBKS1BFZDFiVTRaYzlkem1TR0V0?= =?utf-8?B?ZXI4VEd2dXUzR3J3UDdOczVEc3ZBNjRQSzZ0R0pidVVxZWNBT0s0OWpTTW85?= =?utf-8?Q?gCMwcjlVzf5va9dCc1FFn3RgQ?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: verity.net X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GV0P278MB0784.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 93094af8-5b86-4478-ed31-08dbb4ee64c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2023 06:46:58.8645 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 06487c72-7d88-4632-bf56-071603defa0a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uo+CvqnDIL1p4lbZnSzpPEkqby+gnSeAcHRsSBDhtPJ6K0FbQgFJ+nY0MDXWa9GpJddN8/c4UoAIisqta/kkOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZR2P278MB0986 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: [ptxdist] [PATCH 1/3] RFC: ptxd_make_world: Extract CPE for packages X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: "ptxdist@pengutronix.de" Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false SGkgQ2hyaXN0aWFuLA0KDQo+IEZyb206IENocmlzdGlhbiBNZWxraSA8Y2hyaXN0aWFuLm1lbGtp QHQyZGF0YS5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDEzLCAyMDIzIDIzOjE3 DQo+IA0KPiBPbiA5LzEzLzIzIDE4OjA1LCBTaW1vbiBGYWxzaWcgd3JvdGU6DQo+ID4gRnJvbTog U2ltb24gRmFsc2lnIDxzZmFsc2lnQHZlcml0eS5jaD4NCj4gPg0KPiA+IElmIGEgcGFja2FnZSBz cGVjaWZpZXMgYSBDUEUsIHRoaXMgaXMgZXh0cmFjdGVkIGludG8gdGhlIGZhc3QgcmVwb3J0DQo+ ID4gZm9yIHRoYXQgcGFja2FnZS4gSWYgbm8gQ1BFIGlzIHNwZWNpZmllZCwgdGhlbiBubyB2YWx1 ZSBpcyBhZGRlZC4NCj4gPg0KPiA+IFRoZSBDUEUgKENvbW1vbiBQbGF0Zm9ybSBFbnVtZXJhdG9y KSBhbGxvd3MgbWF0Y2hpbmcgQ1ZFcyB0byBzcGVjaWZpYw0KPiA+IHBhY2thZ2VzLCBhbmQgc2Vl IGlmIHRoZXNlIGFwcGx5IHRvIGEgc3BlY2lmaWMgZGVwbG95bWVudC4NCj4gDQo+IEhpIFNpbW9u Lg0KPiANCj4gSSB0aGluayB0aGlzIGlzIGEgZ29vZCB0aGluZyBnb2luZyBmb3J3YXJkLCBidXQg c29tZSBtaW5vciBuYWcuDQo+IE15IG9iamVjdGlvbiB3b3VsZCBiZSB0aGF0IHN0aWNraW5nIGZ1 bGwgdmVyc2lvbmVkIENQRSBzdHJpbmdzIHN0cmFpZ2h0DQo+IGludG8gdGhlIC5tYWtlIGFzIGFu IG9ubHktc291cmNlIGp1c3QgY3JlYXRlcyBjbHV0dGVyLg0KPiBBcyBhbiBmdWxsIENQRSBvdmVy cmlkZSwgYWJzb2x1dGVseSB0aG91Z2guDQo+IA0KPiBJIHN1Z2dlc3QgdGhhdCBzb21lIGJhc2lj IENQRSBtb2RlbGxpbmcgc2hvdWxkIGJlIGRvbmUgYnkgcHR4ZGlzdCwgd2l0aA0KPiBwb3NzaWJs eSB0cml2aWFsIGhpbnRpbmcgb3IgbmFtZWluZyBpbiB0aGUgLm1ha2UsIHdpdGggY29tcGxldGUg b3ZlcnJpZGVzDQo+IGFzIGEgbGFzdCByZXNvcnQuIFRoYXQgd2F5IHB0eGRpc3QgY291bGQgc3Rh cnQgYnkgZmlsbGluZyBtb3N0IHN0dWZmIGFuZA0KPiBwZW9wbGUgY291bGQgb3ZlcnJpZGUgb24g ZGVtYW5kLg0KPiANCj4gSSdkIHByaW1hcmlseSBwb2tlIHRoZSB2ZW5kb3I6cHJvZHVjdCB0dXBs ZS4gTWF5YmUgcHR4ZGlzdCBjb3VsZCBkbw0KPiBwYWNrYWdlbmFtZTpwYWNrYWdlbmFtZSBhcyBk ZWZhdWx0LiBJZiB5b3Ugc3BlY2lmeSB0aGUgc21hbGxlciBvdmVycmlkZSBpdA0KPiBjb3VsZCBi ZSBzb21ldGhpbmcgbGlrZSBBUFBMX0NQRV9WRU5ET1IgYW5kIEFQUExfQ1BFX1BST0RVQ1QuIEhl cmUgeW91DQo+IGNvdWxkIHVzZSAqIG9yIG90aGVyIHN0cmluZ3MuIE92ZXJyaWRpbmcgYW55IG9m IHRoZW0gb3IgYm90aC4NCj4gQVBQTF9DUEUgd291bGQgc2VydmUgYXMgdGhlIGZ1bGwgb3ZlcnJp ZGUuDQo+IA0KPiBUaGF0IGNvdWxkIGhlbHAgaW4gaGlkaW5nIENQRSBmb3JtYXQgb3Igb3RoZXIg dXNhZ2VzIChzdWJqZWN0IHRvDQo+IGNoYW5nZXMpIGluIGEgbG90IG9mIHBsYWNlcy4gSG9wZWZ1 bGx5LCBtb3N0IHBhY2thZ2VzIHdvbid0IHJlcXVpcmUgZXh0cmENCj4gaW5mb3JtYXRpb24gdG8g bWF0Y2guDQo+IA0KPiBSZWdhcmRzLA0KPiBDaHJpc3RpYW4NCj4gDQoNCkkgZnVsbHkgYWdyZWUg dGhhdCB0aGUgY29tcGxldGUgQ1BFIHN0cmluZyBpbiB0aGUgbWFrZWZpbGUgaXMgbm90IGRlc2ly YWJsZS4NCldoZW4gSSB3YXMgcHJlcGFyaW5nIHRoZSBwYXRjaCBJIHdhcyBjb25zaWRlcmluZyBv dGhlciB3YXlzLCBidXQgaW4gdGhlIGVuZA0KZGVjaWRlZCB0byBqdXN0IHN0YXJ0IHdpdGggdGhl IHNpbXBsZXN0LCB0byBhdm9pZCBpbXBsZW1lbnRpbmcgdG9vIGNvbXBsZXgNCmxvZ2ljIGJlZm9y ZSB0aGUgZmlyc3QgcmV2aWV3Li4uDQoNCkFsc28sIEkgd2FzIHN0cnVnZ2xpbmcgdG8gZmluZCB0 aGUgcmlnaHQgdHJhZGVvZmYgYmV0d2VlbiBncmFudWxhcml0eSBhbmQNCnVzZXItZnJpZW5kbGlu ZXNzLiBJIGd1ZXNzIHJlcXVpcmluZyBlaXRoZXIgbm9uZSBvciBib3RoIG9mIF9DUEVfVkVORE9S IGFuZA0KX0NQRV9QUk9EVUNUIGNvdWxkIHdvcmsgKHRvIHJlZHVjZSB0aGUgcmlzayBvZiB3cm9u ZyBDUEVzIGR1ZSB0byBpbmNvcnJlY3QNCmdlbmVyaWMgZGVmYXVsdHMgLSBzbyBvbmx5IGdlbmVy YXRlIGEgQ1BFIGlmIGJvdGggZXhpc3QpIC0gYW5kIHRoZW4gYWxsb3dpbmcNCmEgZnVsbCBvdmVy cmlkZSBpZiBfQ1BFIGlzIHNwZWNpZmllZC4NCkluIG1vc3QgY2FzZXMgdGhhdCBzaG91bGQgYmUg ZW5vdWdoIChmb3Igbm93IGF0IGxlYXN0KSwgSSB0aGluay4gSSdsbCBoYXZlDQphIGxvb2sgYXQg YW4gaW1wbGVtZW50YXRpb24gb25lIG9mIHRoZSBuZXh0IGRheXMuDQoNClRoYW5rcyBmb3IgdGhl IGlucHV0IQ0KLSBTaW1vbg0KDQoNCg==