Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119446 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 63323 invoked from network); 1 Feb 2023 17:59:31 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Feb 2023 17:59:31 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 71EE01804A9 for ; Wed, 1 Feb 2023 09:59:30 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8075 40.104.0.0/14 X-Spam-Virus: No X-Envelope-From: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 1 Feb 2023 09:59:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jkCGfy+mn9jr774SrUmZjH9lHtQvhrsMqSJGqXYyhlGPAHuhuJVrvqow/6GtaR+mzFww+80vDrJ4Czpb961KFAV8WPy21N2i7K/3INQZPHoQvD5YCxdHo3EXPJBX5Pirykl+L5sNnU6CsaGo0G3MxHRN5RXIW16X/QsdE2YlBUzFyuPsIFhP4VbnKnBXV11Iar+h3UBJnM8sPSymt9YzckjMOAztPnUJJZMh0SJi0t97MEY5j6m+gf1Yha0HTEggFBIh8o6/7/XptvikodGLGK8VHshovpopdLnUTYq+/eUQ4MNaCVDhrrza4XjPdcJP6hFN8fb49Q2smTlyhWjdtA== 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=EY1R7PkQMEL+vfgNgDK05UmjuVsAwlO8zUctVd9r2vI=; b=NFpprV9gjjHD9gOtqjMyb3iTUGCZGNZdZfQ4AcuqehM0RlIjt2E+vY5bDbiyq9c3El0jzARE8FBHf+cUDn2Fen0pUjtDl15Dh5lDGYBCuMaXmr3IWjd4Y9CeEzNNkGOFS1b7UGuA5N3k2DNyR97QSzVptTgO6pWUj/Jn0W8nmMVBWol11eCtDgku8w36SlSlZvoSi8T1gqYVCDxuO1IhoPjPoVlGWFFVluUNf+MEEHfZPuowzvII1cIHvIvHbmN3r3w5yTTzpe2CQKghspZvNFKAWUU8ZW0EsfVpXTema2FssmLL/do7+h/E2c52WAJ0yqataUi+1A0DQXYA3Z1toQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=shymko.net; dmarc=pass action=none header.from=shymko.net; dkim=pass header.d=shymko.net; arc=none Received: from PH8PR10MB6337.namprd10.prod.outlook.com (2603:10b6:510:1cc::10) by SJ0PR10MB5741.namprd10.prod.outlook.com (2603:10b6:a03:3ec::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22; Wed, 1 Feb 2023 17:59:26 +0000 Received: from PH8PR10MB6337.namprd10.prod.outlook.com ([fe80::ed95:e287:42b3:6a2d]) by PH8PR10MB6337.namprd10.prod.outlook.com ([fe80::ed95:e287:42b3:6a2d%7]) with mapi id 15.20.6064.017; Wed, 1 Feb 2023 17:59:26 +0000 To: Marco Pivetta CC: "internals@lists.php.net" Thread-Topic: [PHP-DEV] RFC proposal: function array_filter_list() to avoid subtle bugs/workarounds Thread-Index: AQHZNmE0J1j9kkHlVEGnXGJGbZE+rK66V7aAgAACEMY= Date: Wed, 1 Feb 2023 17:59:26 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=shymko.net; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH8PR10MB6337:EE_|SJ0PR10MB5741:EE_ x-ms-office365-filtering-correlation-id: 1bc68ef4-8f5b-4e31-987a-08db047e0ed4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HJCPnrQvctKrzQZSSIR0DUYHpvw18pymL7gfG5HF9AUtepGlGQz76N6RMesHXmgVVm213XHmbqDrifoXJ38CjjY5vc7ESmKjVtVOHyyFfGfh39YRj4Onq3OD4F9BSF956LZbYzWmzAxdici60DpCCoDc6h5kOJZiDe4wdd2A3q2weXbvSaj327Y8SHhTT1eFzpbVSXJVVpl+xjHVUfxn+wxuznPhEUA9Lro866TOG3BSCvmGcls+2ic/IraqpKoog0NIEZ2D9QQzYXjPmFySm093/DIVJi2iV6T56Yz7kEDk4deypDsqGEw5qoZPITSgsa4jtS2EgjrenFLh5kleR+pTNUU2FrmPOnZcEHGbNyHC1G8nq4cT0qOysTTr8QUYog7e0/9WVMnHdIOcpiPlaVu5Y0lXm9dqR1vSmgngUpTRAq9HnF4fK/21setT777WLpPgFqRa6gw1awAfRz1tLkQnQax0NgwJ+7E4MeLyGlpfVzxwGTpNdzccB9LqSxBG5U9i+z+KNOpLOnNXvFnOQHALc4Kc8JO5k1EG/FX6ISN9fJ7PrjOzW9Q+yalqWZHjF5zZkYXbb5zKFcDryzqDNc/T6YUDNWNty6jizzmnCQCBtPaiW61foFrVZPNzVHa8OmvDjBm6V4yeWV7eGvO68U4DLPPCVdG0T5Wrsvu+ynfJSn+Ajfh1/wlLgvUHQlqFXYRl3Fa9i+e9JL1iePRlfJxHw63JszuzynuoXTBSUbOsUYqxKrcBRfhN9pk4c3Sxv6FyA/mxJybn4pEdclGRxQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR10MB6337.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(366004)(346002)(39830400003)(376002)(451199018)(5660300002)(19627405001)(2906002)(8936002)(52536014)(55016003)(41300700001)(86362001)(83380400001)(53546011)(6506007)(66946007)(66476007)(33656002)(64756008)(4326008)(66556008)(478600001)(8676002)(76116006)(66446008)(966005)(9686003)(71200400001)(7696005)(186003)(38070700005)(38100700002)(6916009)(166002)(91956017)(316002)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YzhtREdWa0F6Q3F6akJKK0RJajZpdG9IMGUwcFo5UUVHazdaSXNiQmhaZ3Vk?= =?utf-8?B?ZEdGblRKbzQ1YytHQ3hpWnVLZkJPbkVPWTZaMERWdE5DUFJzalpmUXBVc0Yy?= =?utf-8?B?aU9qTitVT0ZybzBSdEk5WnBvQ2Z4Q2xwa0lZWHFhL3JvYzJlKzBNb0JkaTBk?= =?utf-8?B?dWZ2ZEEyaE9qQk5RN1M0dHVPZHpuVXlQbGJxeUZjRTA3WE1kekZwZ3ZaNW5C?= =?utf-8?B?UjRTaGovQkw5emZoWU14bjhab3NEREhyVURmZUF6bWEwMTdHQU9vTkQ0aVps?= =?utf-8?B?eSswZnhtcDF4emdka3k3bGl2WEt4U25jT2xtU254b3k4bWl5ODhnRHU1eVdX?= =?utf-8?B?RVdobEJiZnA2ZDBpbXJkV09FN1ExSkZLMjI5R2hNbTRvY2VBWFVCNDYrYVox?= =?utf-8?B?aEIreUxzYTBhUVU3amFRRWd3Rlp3K25kOUVwTlBSQStSTy9MUTVyZ25kbXBn?= =?utf-8?B?cjFzdFFmbGNKQWtSbWJGWWt2YnNJYkZVVmh5YlVWQzEySm1kQk1aVmM3NjRk?= =?utf-8?B?alFpNUJYclAwK0JTQ1Q5dU9IUEtxNjY0aHVJemwxUzEvczQ4eEpPeUFxY3c0?= =?utf-8?B?U21zSlg2N1lTMUFNVDNqd2VNM1o4RHY3b2VaTTlSWTI5VEx1YVBjY3dJakFk?= =?utf-8?B?VTRCMDZickxLbmY5T1h2aVFqUDQ2aUkzV1ZGTFJObjlZK2wyTFRMcTBCbS9B?= =?utf-8?B?NmR0WlAxZG1YNmZsY3RSUmt3OU9FM2wxaEV6ME1FSzZISmZSZjV4NlZkZGpx?= =?utf-8?B?dDNlUkZpeE1ndFNrRnY4dFB3bEpnemtnY3hEVjlDS3NnTCtzdVd0MjZTZi84?= =?utf-8?B?MTlEcDFXRHRGZEs0Q2VuL04yYVNCRFo1RllNTTUrRVJmVTU3SVUwTWNvenhK?= =?utf-8?B?UXc5YjVzdk5keFEwRUJUSEtiNzhTT1NzZ255MitBRDdBMVR4Z1QrMFI0d0RG?= =?utf-8?B?WGV2SGUxenoxYmZBWmtjd1h5S1ZwRFROcWp1eVFRYzkyMnZ6VDE3TWZ5RDhU?= =?utf-8?B?UXR6V2JySi9nNnFDZmJ2VER5WnpHMnJtSG5oMjdmRm1CdTQyVWVtWnZ2SUJ5?= =?utf-8?B?eTM2T3k4c0piT2QwcTB3Y2hIeWNGLzJjaWpyRk9YSXgyS1ovRTFaaisyL0Fa?= =?utf-8?B?TmJaRDFOTkxnVUxVT2N6cDJnaWZKWkE2MEJWUDRqQnA3eVY1ZjJPc0h3b2lz?= =?utf-8?B?UlFYQ3Nua0xhcWJ5R3NpcVpTRE42MDY4bnJZUTB4S3dZK2xFWFRxRFo0RkEr?= =?utf-8?B?ZWNZb3ozSUJCSE1sdUdpUXB6L1hDREdSQmFUb3grdTJXUVRDOXFUdUhpckJD?= =?utf-8?B?cWgzekZSQklna3Z3WDJuUjVvdzBOYlBzMTNyTXpYaWdYcFU2aFlPOG5pK2Zz?= =?utf-8?B?Yzh2aHhRYkJLcWpUdkxuYUJRdU84enAwTnE4eXNBR2YvOSt1T2Y0K1BqYnZk?= =?utf-8?B?U1hwS3BuZEw1eWdrTmdMM0Z2SFFhUmlqdTNwTmN1RzhkSkFGcEtqdVc1YzdW?= =?utf-8?B?Ni9pWXVPMVozZGhtNW5KUXdTcE1uVDVQZURRU2VVYjJQaW92dTZYbUp0VHlM?= =?utf-8?B?ekt3RzlRdDhYZ1g1QW4yRGF5dGZuMDE0ZWZSY24vYlgxbVlJaVFGQ0hob2FL?= =?utf-8?B?MmNqb1BlTll0RnBUekdzWmY5bmppYUVJcWRDQnA4RHRhRCtHY3dGZzhweTlp?= =?utf-8?B?aEVsandxTnVjdWx5MFZTcUhXTWpidTV6N3NINDlPN3g0bVhYQk4ySlU5MFNH?= =?utf-8?B?VWN0YXYvSlBmSDQ0dGxNUkJvdjkxKzVwbmEyRDBEN0U1bnpMTkFaTXphZWdO?= =?utf-8?B?MllvQlBiS282bFJWZzlVN2xXZEhzbVdReXAvOHQ1TFVpeG8yeEtkZENQUG9S?= =?utf-8?B?MU56ZHVHb092NzZmMkhmWUZnLzA0S05LYmtuWmlEOTdzWjFHUE00WE4wZnRX?= =?utf-8?B?c3pHVGpqNVF4ektPVDRlTEtNd3RFTUFqeDFDL2J6b2pheVMrME0wK1dGeUNN?= =?utf-8?B?Z01zcXFnd290Mytya2VkR2dhQ2I0SzNjVVJ3OWVucUYxbGlCY2RGQ1ZtVTFi?= =?utf-8?B?VVNwMnRMRm4rajJQQ2xFRDBGby9uVm43V2tUV1dTZisyNk4rbDlnSzNQM1hH?= =?utf-8?B?bDNhd2trM0Rmd0plWnJRcUtmditNanY1dVMwcTZSRGZienQrV0w2djY0d1Bj?= =?utf-8?Q?8jFecleiMADiiN0rdRUIAE8=3D?= Content-Type: multipart/alternative; boundary="_000_PH8PR10MB6337F2D628EF20432964B83DBFD19PH8PR10MB6337namp_" MIME-Version: 1.0 X-OriginatorOrg: shymko.net X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6337.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1bc68ef4-8f5b-4e31-987a-08db047e0ed4 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 17:59:26.3948 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d7878c48-41c7-48dd-bd7e-899af7355b7e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: V8yhIpE/lpdUCH2N5aT8TU10c2Ao6Lq0njVHL4jnRZXQ9zD7kdCx1ohjDaX5UVe5X9nMWwPziCRcU3fXXMx7wQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5741 Subject: Re: [PHP-DEV] RFC proposal: function array_filter_list() to avoid subtle bugs/workarounds From: sergey@shymko.net (Sergii Shymko) --_000_PH8PR10MB6337F2D628EF20432964B83DBFD19PH8PR10MB6337namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFyY28sDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBNYXJj byBQaXZldHRhIDxvY3JhbWl1c0BnbWFpbC5jb20+DQpTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5 IDEsIDIwMjMgOToyNSBBTQ0KVG86IFNlcmdpaSBTaHlta28gPHNlcmdleUBzaHlta28ubmV0Pg0K Q2M6IGludGVybmFsc0BsaXN0cy5waHAubmV0IDxpbnRlcm5hbHNAbGlzdHMucGhwLm5ldD4NClN1 YmplY3Q6IFJlOiBbUEhQLURFVl0gUkZDIHByb3Bvc2FsOiBmdW5jdGlvbiBhcnJheV9maWx0ZXJf bGlzdCgpIHRvIGF2b2lkIHN1YnRsZSBidWdzL3dvcmthcm91bmRzDQoNCkhleSBTZXJnaWksDQoN Cg0KT24gV2VkLCAxIEZlYiAyMDIzIGF0IDE4OjIyLCBTZXJnaWkgU2h5bWtvIDxzZXJnZXlAc2h5 bWtvLm5ldDxtYWlsdG86c2VyZ2V5QHNoeW1rby5uZXQ+PiB3cm90ZToNCkhpLA0KDQpBZnRlciBw cm9ncmFtbWluZyBpbiBQSFAgZm9yIHR3byBkZWNhZGVzLCBteSBnb2FsIGZvciAyMDIzIGlzIHRv IHRyeSB0byBjb250cmlidXRlIHRvIHRoZSBsYW5ndWFnZS4NClRoZSBwbGFuIGlzIHRvIHN0YXJ0 IHNtYWxsIGFuZCwgaWYgc3VjY2Vzc2Z1bCwgd29yayBteSB3YXkgdXAgaW5jcmVhc2luZyBjb21w bGV4aXR5IG9mIHByb3Bvc2Fscy4NClRoaXMgdG9waWMgaGFzIGJlZW4gY2hvc2VuIGZvciBzdGFy dGVycywgYmVjYXVzZSBJTU8gaXQgc3RyaWtlcyBhIGdvb2QgYmFsYW5jZSBiZXR3ZWVuIHNpbXBs aWNpdHkgYW5kIHVzZWZ1bG5lc3MuDQpJIHNob3VsZCBiZSBhYmxlIHRvIGltcGxlbWVudCB0aGUg UkZDIG15c2VsZiwgdW5sZXNzIHNvbWUgZGVlcCBPUGNhY2hlL0pJVCBudWFuY2VzIHBvcCB1cC4N Cg0KTGV0IG1lIGdpdmUgeW91IGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIHByb2JsZW0gYW5kIHRo ZSBwcm9wb3NlZCBzb2x1dGlvbi4NCkZ1bmN0aW9uIGFycmF5X2lzX2xpc3QoKSBhZGRlZCBpbiBQ SFAgOC4xIGludHJvZHVjZXMgdGhlIGNvbmNlcHQgb2YgYSAibGlzdCIg4oCTIGFycmF5IGhhdmlu ZyAwLi5jb3VudC0xIGluZGV4ZXMuDQpUaGUgZnVuY3Rpb24gaXMgYXdlc29tZSBhbmQgYXJyYXkg Imxpc3RzIiBhcmUgY29tcGxldGVseSBjb21wYXRpYmxlIHdpdGggYWxsIGFycmF5XyogZnVuY3Rp b25zIQ0KSG93ZXZlciwgZnVuY3Rpb24gYXJyYXlfZmlsdGVyKCkgZXhoaWJpdHMgYSBudWFuY2Vk IGJlaGF2aW9yIHdoZW4gZmlsdGVyaW5nIGxpc3RzLg0KRm9yIGluc3RhbmNlLCBpdCBwcmVzZXJ2 ZXMgYXJyYXkga2V5cyB3aGljaCBtYXkgKG9yIG1heSBub3QpIGNyZWF0ZSBnYXBzIGluIHNlcXVl bnRpYWwgaW5kZXhlcy4NClRoZXNlIGdhcHMgbWVhbiB0aGF0IGEgZmlsdGVyZWQgbGlzdCBpcyBu b3QgYSBsaXN0IGFueW1vcmUgYXMgdmFsaWRhdGVkIGJ5IGFycmF5X2lzX2xpc3QoKS4NCg0KRm9y IGV4YW1wbGU6DQokb3JpZ2luYWxMaXN0ID0gWydmaXJzdCcsICcnLCAnbGFzdCddOw0KJGZpbHRl cmVkTGlzdCA9IGFycmF5X2ZpbHRlcigkb3JpZ2luYWxMaXN0KTsNCnZhcl9leHBvcnQoZmlsdGVy ZWRMaXN0KTsgIC8vIGFycmF5KDAgPT4gJ2ZpcnN0JywgMiA9PiAnbGFzdCcpDQp2YXJfZXhwb3J0 KGFycmF5X2lzX2xpc3QoJG9yaWdpbmFsTGlzdCkpOyAgLy8gdHJ1ZQ0KdmFyX2V4cG9ydChhcnJh eV9pc19saXN0KCRmaWx0ZXJlZExpc3QpKTsgIC8vIGZhbHNlDQoNClRoZSBiZWhhdmlvciBpcyBj b3VudGVyaW50dWl0aXZlIGFuZCBjYW4gbGVhZCB0byBzdWJ0bGUgYnVncywgc3VjaCBhcyBlbmNv ZGluZyBpc3N1ZXM6DQplY2hvIGpzb25fZW5jb2RlKCRvcmlnaW5hbExpc3QpOyAgLy8gWyJmaXJz dCIsICIiLCAibGFzdCJdDQplY2hvIGpzb25fZW5jb2RlKCRmaWx0ZXJlZExpc3QpOyAgLy8geyIw IjogImZpcnN0IiwgIjIiOiAibGFzdCJ9DQoNClRoZSB3b3JrYXJvdW5kIGlzIHRvIHBvc3QtcHJv Y2VzcyB0aGUgZmlsdGVyZWQgYXJyYXkgd2l0aCBhcnJheV92YWx1ZXMoKSB0byByZXNldCB0aGUg aW5kZXhlcy4NClRoZSBwcm9wb3NhbCBpcyB0byBpbnRyb2R1Y2UgYSBmdW5jdGlvbiBhcnJheV9m aWx0ZXJfbGlzdCgpIHRoYXQgd291bGQgd29yayBzb2xlbHkgb24gbGlzdHMuDQpJdCB3aWxsIGhh dmUgdGhlIHNhbWUgc2lnbmF0dXJlIGFzIGFycmF5X2ZpbHRlcigpIGFuZCB3aWxsIGFsd2F5cyBy ZXR1cm4gYSB2YWxpZCBsaXN0Lg0KDQpTZWUgYSBkcmFmdCBSRkMgd2l0aCBtb3JlIGRldGFpbHMg aGVyZToNCmh0dHBzOi8vZGV2LnRvL3NzaHlta28vcGhwLXJmYy1hcnJheWZpbHRlcmxpc3QtZnVu Y3Rpb24tMzVtYi10ZW1wLXNsdWctNzA3NDAwMD9wcmV2aWV3PTIxZDY3NjAxMjZhMDI0NjRiMDUx MTQ5OGJiYjk1NzQ5MTUwYWZiMTdhN2ZmNjM3N2M0NThlZTU0YThmNTdjZmUwMGQ0ZTI1OGFhMDZi YWQzMjMyYzBkZDllNzNhMmQ2MjEzOGZjOTkwMDQ4OTg3ZTllMjMzOWEzZA0KDQpJIGp1c3QgcmVn aXN0ZXJlZCBhIHdpa2kgYWNjb3VudCAic3NoeW1rbyIgd2l0aCB0aGUgaW50ZW50aW9uIG9mIHN1 Ym1pdHRpbmcgdGhlIFJGQy4NCkNvdWxkIHNvbWVvbmUgcGxlYXNlIGFwcHJvdmUgdGhlIGFjY291 bnQgYW5kIGdpdmUgaXQgc29tZSBrYXJtYT8NCg0KTG9va2luZyBmb3J3YXJkIHRvIGNvbGxhYm9y YXRpbmcgd2l0aCB0aGUgaW50ZXJuYWxzIHRlYW0hIPCfmYINCg0KDQpJIGRvbid0IHdhbnQgdG8g c2hvb3QgdGhpcyBkb3duIHRvbyBlYXJseSwgYnV0Og0KDQogMS4gd2h5IGluIHRoZSBsYW5ndWFn ZSwgd2hlbiBhIHNpbXBsZSB1c2VybGFuZCBmdW5jdGlvbiBzdWZmaWNlcz8NCiAyLiB3aGF0J3Mg d3Jvbmcgd2l0aCB3cml0aW5nIGBhcnJheV92YWx1ZXMoYXJyYXlfZmlsdGVyKC4uLikpYD8NCg0K TWFyY28gUGl2ZXR0YQ0KDQpodHRwczovL3R3aXR0ZXIuY29tL09jcmFtaXVzDQoNCmh0dHBzOi8v b2NyYW1pdXMuZ2l0aHViLmlvLw0KDQoNCkkgZG8gdW5kZXJzdGFuZCB0aGUgYXZlcnNpb24gdG8g YWRkaW5nIG1vcmUgZnVuY3Rpb25zIHRvIFBIUCBjb3JlIPCfmYINCkxldCBtZSB0cnkgdG8gYXJ0 aWN1bGF0ZSB0aGUgYW5zd2VycyB0byB5b3VyIHF1ZXN0aW9uczoNCg0KICAxLiAgQSB1c2VybGFu ZCBmdW5jdGlvbiBpcyBlbm91Z2gsIGl0J3MgYWxtb3N0IGFsd2F5cyBwb3NzaWJsZSB0byBjcmVh dGUgYSB1c2VybGFuZCBmdW5jdGlvbi4NCkhvd2V2ZXIsIHByZXR0eSBtdWNoIGV2ZXJ5IHNpbmds ZSBQSFAgcHJvamVjdCB3b3VsZCBuZWVkIGl0IGFuZCB1c2UgcHJldHR5IG9mdGVuLg0KSXQgd291 bGQgYmUgZ3JlYXQgdG8gc3RhbmRhcmRpemUgdGhlIGZ1bmN0aW9uIG5hbWUsIGVzcGVjaWFsbHkg bm93IHRoYXQgaXQgY29tcGxpbWVudHMgYXJyYXlfaXNfbGlzdCgpLg0KVGhlIHNhbWUgdXNlcmxh bmQgYXJndW1lbnQgY2FuIGJlIG1hZGUgZm9yIGFycmF5X2lzX2xpc3QoKSwgeWV0IHBlb3BsZSBh cmUgYXBwcmVjaWF0aW5nIHRoZSBmdW5jdGlvbi4NClRoZSByZWFzb25pbmcgZm9yIGFkZGluZyBh cnJheV9maWx0ZXJfbGlzdCgpIHRvIHRoZSBjb3JlIGlzIHNpbWlsYXIgdG8gYXJyYXlfaXNfbGlz dCgpLg0KICAyLiAgVGhlIGFycmF5X3ZhbHVlcyhhcnJheV9maWx0ZXIoKSkgd29ya2Fyb3VkIGlz IHVzYWJsZSBhbmQgaXMgaW5kZWVkIHVzZWQgb24gdGhlIHByb2plY3RzIEknbSBpbnZvbHZlZCB3 aXRoLg0KSXQncyBhIHJlbGF0aXZlbHkgc2hvcnQgb25lLWxpbmVyIGFsbG93aW5nIHRvIG5vdCBn byB0byB0aGUgZXh0ZW50IG9mIHdyYXBwaW5nIGl0IGluIGEgdXNlcmxhbmQgZnVuY3Rpb24uDQpT b21lIG9mIHRoZSBkaXNhZHZhbnRhZ2VzIGluY2x1ZGUgaGF2aW5nIHRvIGFsd2F5cyBtZW50YWxs eSB0cmFuc2xhdGUgaXQgaW4geW91ciBoZWFkIHRvICJmaWx0ZXIgbGlzdCIuDQpUaGUgd29yc3Qg dGhpbmcgaXMgdGhhdCA5LzEwIHRpbWVzIGRldmVsb3BlcnMgKG1lIGluY2x1ZGVkKSB3b3VsZCBv dmVybG9vayB0aGlzIG51YW5jZWQgYmVoYXZpb3IuDQpMb2dpY2FsbHksIHBlb3BsZSBhc3N1bWUg dGhhdCBhIHN1YnNldCBvZiBhIGxpc3QgaXMgYSBsaXN0LCB3aGljaCB1bmZvcnR1bmF0ZWx5IGlz bid0IGFsd2F5cyB0aGUgY2FzZS4NClRoZXknZCBmb3JnZXQgdG8gaW1wbGVtZW50IGFycmF5X3Zh bHVlcygpIGFuZCBjYXVzZSBidWdzIHRoYXQgYXJlIG5vdCBpbW1lZGlhdGVseSBkZXRlY3RhYmxl Lg0KQXQgbGVhc3QgMy00IG9mIHByb2plY3RzIGluIG15IHJlY2VudCBtZW1vcnkgZXhwZXJpZW5j ZWQgdGhpcyBpc3N1ZSwgaXQgZ290IG92ZXJsb29rZWQgYXQgY29kZSByZXZpZXcuDQpFdmVuIGF1 dG9tYXRlZCB0ZXN0cyBkaWQgbm90IGNhdGNoIGl0IGFzIHRoZSBpc3N1ZSByZW1haW5zIGhpZGRl biB3aGVuIGZpbHRlcmluZyBvdXQgdGhlIHRhaWwgZW5kIG9mIGEgbGlzdC4NCkFmdGVyIGJyYWlu c3Rvcm1pbmcgd2l0aCBkZXZlbG9wZXJzLCB3ZSBjb25jbHVkZWQgZm9ybWFsaXppbmcgdGhlIGNv bmNlcHQgb2YgYSAibGlzdCIgbW9yZSB3b3VsZCBoZWxwLg0KSGF2aW5nIGZ1bmN0aW9ucyBhcnJh eV9pc19saXN0KCkgYW5kIGFycmF5X2ZpbHRlcl9saXN0KCkgd291bGQgbWFrZSB5b3UgdGhpbmsg aW4gdGVybXMgb2YgbGlzdHMgbW9yZS4NCk9uZSB3b3VsZCB1c2UgYXJyYXlfZmlsdGVyX2xpc3Qo KSBpbnN0ZWFkIG9mIGFycmF5X2ZpbHRlcigpIGJ5IGRlZmF1bHQgdW5sZXNzIHRoZXkgd29yayB3 aXRoIGFzc29jIGFycmF5cy4NCg0KTWF5YmUgdGhlcmUgY291bGQgYmUgYW4gZXZlbiBtb3JlIGFk dmFuY2VkIGFwcHJvYWNoOiBmb3JtYWxpemluZyB0aGUgbGlzdCBkYXRhIHR5cGUuDQpCdXQgaXQg d291bGQgYmUgYW4gb3ZlcmtpbGwgdG8gcHJvcG9zZSBhIG1ham9yIGNoYW5nZSBsaWtlIHRoaXMg YXQgdGhpcyB0aW1lLg0KDQpSZWdhcmRzLA0KU2VyZ2lpDQo= --_000_PH8PR10MB6337F2D628EF20432964B83DBFD19PH8PR10MB6337namp_--