From nobody Wed Nov 2 22:27:53 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4N2hNl17T6z4h66t for ; Wed, 2 Nov 2022 22:28:07 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from apac01-obe.outbound.protection.outlook.com (mail-eastasiaazon11020024.outbound.protection.outlook.com [52.101.128.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N2hNj5z4Vz3Lts for ; Wed, 2 Nov 2022 22:28:05 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iJ5lspnJwlI+rF67BaLMkoQHtJU6h+cn5gTcdq/IGNxP9DLElQ85ZODthyGthllKyBzSgdv+Jp3gvFzBsUrC1NjbVgwAsFtzRDxOZHdTRxMM2JPqLWc8TJZX1WPUWJVAWF7j9eLX2YofkVDn2wektZx3+2wprLUM6/bwzE6cwOftjjUPeU9g8jLPnC1/Q6UZOjxE1/dej485uFIKpe6iyctGhagFisacIZDUxg2jVS4HtaL8RKL3zOKQ8zCxw2mJbLW+Ux6p2/A7Ywk3T+acp1zpytAMVCFgrZVHLqMqH7iOjjksXjaAnCq09GQTsM3/S5aMb44Fwxi4Mmcd7Zaq3A== 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=9S+8zNGqus6EouT84AWpIzcFgsuhsXLaWhWAjipsNqk=; b=dRZCxEn55vP+7MgYbbLcldgCyKryOSsaJFMxfBzNUkuKoor9N7uK30l6GJacH/y6cFV4BEujNeuWMHslmHjxRLk8X9Il+rdR6RgjffMNGbH2I549L1Q9vajEVj1JNc5wICoNa5ezeSWqotwEquvzt4AWo8ShP4hrcdBwfwCM3Ee5fKqih/kDfFHJUtP88sojRMDH+vWc5nvqFyj14eoGeBWIieM9bq5SuJq/6rtYqRNl2XsOQ5aUU6NqtkzVQucnL50pJNbnIdPqIM1srFXbOvfMSQ+/BSkSuZv4zcg72XHKz1JqCxjrkZktqEe5uQ4bl7FQFavRFVkCpdFQZExwxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9S+8zNGqus6EouT84AWpIzcFgsuhsXLaWhWAjipsNqk=; b=E2JXd6vwqvmH+g93D1+h/LJ2IWn8B35+QQxhDXoUZph5CaiX7gioR4VwrpPcX1t/2CnoR7IonAkMJ6SpvAOk2drnJTcxcS9NWERD60YcBxHVSKzBi/tyfkR/xhdTPgPVqBnGForQutBZR1K4XgZwjY+VN+YaR/fv4Ix9TNXSuBY= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by KL1P15301MB0436.APCP153.PROD.OUTLOOK.COM (2603:1096:820:20::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.0; Wed, 2 Nov 2022 22:27:53 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::f35b:6c4a:fd92:c6f8]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::f35b:6c4a:fd92:c6f8%3]) with mapi id 15.20.5813.007; Wed, 2 Nov 2022 22:27:53 +0000 From: Souradeep Chakrabarti To: Andrew Turner CC: Warner Losh , Wei Hu , "freebsd-hackers@FreeBSD.org" Subject: RE: [EXTERNAL] Re: pcib msix allocation in arm64 Thread-Topic: [EXTERNAL] Re: pcib msix allocation in arm64 Thread-Index: AdjuufO6ycLtH5MCR8mZtsYiDG7SfAABGsiAABKVwCA= Date: Wed, 2 Nov 2022 22:27:53 +0000 Message-ID: References: <146F5D18-6366-4953-A8D9-61FE7EC67F71@fubar.geek.nz> In-Reply-To: <146F5D18-6366-4953-A8D9-61FE7EC67F71@fubar.geek.nz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=605251bb-299c-4422-9878-b98f847e8b93;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-11-02T22:16:09Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|KL1P15301MB0436:EE_ x-ms-office365-filtering-correlation-id: e077059d-6700-4a17-01e5-08dabd217bcb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: d3jlDYz+zPmMvnflb6hKP0+pOqOLg3mf2FvqDCADDtV1oov3AKWz9C+RxXEgIarpQH+LbYxqyLmtnQ0ED2w+8Hdx3A9dpIoZ8mfS0zk5KGIMp17Atqg3sh1YiOZmNbn6h5yf/58E9IZV1d4dS01gIkJf446xb1bxrN31mhkNcX1xW6AdodwUEAIdHaUGGR1LZIBffLZEbmVdPCFgE9ooythuaOQmx01wevBGmk4bS/qktlYQvDpip/N47o61fLSdsSilPQ8WK22JprQxyQnBUsrid3HhdpEEGMqvYSylcCQkNhX4NtgppC5LK1CitbbQg/eWktnVM8iX8paHgXw5IeERTZrfdIAQgMV+2NquiCHhvcA8ml/VsSWmate4pySBiW1/cIBjff70oyKaRbyaeBa7l8v6Dco0iP4AmDPcSpeevcqnnG+jNtX4xvhrFe1r+uNYvWsMSmN4DzAQtcZV+B4OAmGIAff5mmhSNT8vWUCW110TNbLJQt2Zg1qYE29uNF2Y7AzefJzPA0F2CZQx7YDA7Ea6ngOLZ9kpXAx95coluKIlf6Km58sje/cb0O1kuqsnuDE4L6VWnLQVtKRV4IlVEAeMw4cZZN9oyzL4iC6Nv/DiZA/EaFs60LOXldMilUG3670RmstyX3zjM16Xea/eQYY7daBGAP3BH0FZMNl6DlD//oyr3UPl787n8qBJNpS4d+5Gn0raeSDpVqcE/bhJ6XsHAPiFQXF0U9FGApaoccq8/UQaP7KN00/CNvo2nSvahwrbZBlbRmJJhECiR1x1ZyLaDwoUU9Rw/ui0DqAqjAlwgxPqhuQqV4JK9Ws5 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(346002)(366004)(396003)(451199015)(6916009)(38070700005)(52536014)(8936002)(5660300002)(33656002)(54906003)(86362001)(4326008)(316002)(8676002)(64756008)(66946007)(76116006)(66446008)(66556008)(66476007)(41300700001)(26005)(9686003)(6506007)(7696005)(53546011)(83380400001)(82960400001)(82950400001)(10290500003)(55016003)(186003)(71200400001)(38100700002)(478600001)(122000001)(8990500004)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cHVRczlGdzdzMzlvcEkwRzhtMGQ2dEFhZDIvdWJDaGJWRTUzVFlkOHd3TFE4?= =?utf-8?B?aGlKdkkxaUMrajIvR0N5UnFhNjJZV2Noc3dWTElBTmVCM1gwVVRPcnk2Y1BL?= =?utf-8?B?VDZnL2JPL0FkYTVkMWtuL0o4U09tL2lyaThCY25LVVRpQm9EWEp0cmtOMXFl?= =?utf-8?B?L1RHYjJ5U0F2R0lGRmpCQ3lsbHRuQ2M3OUZqZ1Nld3dGaW1WVVU3Z1dPZEJ4?= =?utf-8?B?TndDVUkvU2UyYlBTc0REUG9ManlJN3dVQTNCQnVESVo2WEhnZVBORExnYTlQ?= =?utf-8?B?ZVVuWXRQbGZidEhyZm5aL25JTXVGZXc4S3NCMHB1a2t5blczTEFMZldtY0Nx?= =?utf-8?B?bkJIUWVzOVIrcWxKc3huWEc0OW55eUFsb3pveWZoQ3BjN29aUGNtOTRCMEFw?= =?utf-8?B?U2VTdHIrRjl6S1NaVnQ3V0Z0OStXRlptMEFFL0VGZHM3ZUJkUHMwWmxzVnh3?= =?utf-8?B?Q3VEMGpqRE5Bdy85QjhhRmVFZkwySUg1Yk5pSE5YOUE1OG9oOHpQZnRSall0?= =?utf-8?B?ZFJjMmhJeUJpTUJnUVdpMVdzMzhNZURTS2RBTVZQU2wvZWw4dFBBeTlQOU9T?= =?utf-8?B?d2dDNWxKWXU3M3ptVFpyVy9oanRUWnZjZTlsUGUwMEg0SXg0OEJwS3cyc3Vp?= =?utf-8?B?NlpIMTRJcGxTNzdiLzN4V3JvQ0RYUFl6aGR6QUhJMU84NEpYNm9LSWNZOCs2?= =?utf-8?B?amtLb2JLaVIvQWpubXBFaytHeTdNOWUzeDY2a2toUXQrNWR2U25wK2pGQnJu?= =?utf-8?B?RG91N3N4V1JkNWsrbml6Ujc1cndnVThPdnN6L2V3RmNTbnFEME1TZGxsQXFT?= =?utf-8?B?UlpBa1Q2SzdpV3U5MlY5UU5OZTVxeE9rRVFwbnZ5VTdhc2VvU1dEWUlwMml2?= =?utf-8?B?UjZBYk1SM2R4T2x2M2JaQytuakx1TENyZVN1UUZlY21VNEdFZ2xrQXhqRXow?= =?utf-8?B?Y3Z2eS9JdGxOMG5iUi8yQ1JtM2NnTlNsN3VJamZ2SFc2VEVYdkRrVkx4cTZ0?= =?utf-8?B?Tlk5bHFKZnVQTjBnY0lWT0JMSVRtZDMzRXRuSk9xb1FNVkZJaGcvOC9HTzh1?= =?utf-8?B?S2JJVmwydnVYS3RNYUlkSVl4UFZ0Mm9IV3FwZFFHM2xtdFdWckZ3R3E0YlVx?= =?utf-8?B?S1VrZTI4dVE1angyaFRQdnpZcUJCaTk3dEUvWEl4R3VyVnRYeitFUVd1bW5l?= =?utf-8?B?NU1walhWd29JK0NuemszOHh1cmhWSlVnZ1RyNGFRNGNOSzR5ck9UdzR0STlM?= =?utf-8?B?bFk3bnIweFJoZEJCQzZScm81VmRCenBwczEwOURPNDhjN2Y5MGoybklnRFZw?= =?utf-8?B?eXpFQ0tmSWJaQlBpeVFrRXhRU2REeG1tK3dvblVqWGQ3amdwSk1DQjJxM0ho?= =?utf-8?B?dWVPODlBVTJDVFd3QmZHblFPZHhLL1pydGpiSUpkTFdZZ1gvNVhhWEFNMExv?= =?utf-8?B?VEx3MDVINlA4UkhtbUllTzlNSkNzYVVNUUxSSHZrYXMwR2duRDJZMXFxT2o0?= =?utf-8?B?M0QxdEFiSzJEZHdqNm5MUWFkakQ1VDF5bTNJMW1xcFJyalpUOTJvL3o5ZWlj?= =?utf-8?B?enk1QnBnSkdKNExWQ1cxYnh6SzNSb01KWitrMkIrbEdwVVZnWmVpWlNsT3NC?= =?utf-8?B?NlVaQ04zTTRtQ0Q1bGU2K0FQL2NSWlk5VUdHTWFkYk54dUdGa2tWdGtaek9l?= =?utf-8?B?QlhTT1ZzYmUraXcyeDA4QkdweE1vZ2g2TDJjeFpTSTlIN2srOUExbHRsbmlk?= =?utf-8?B?Wk1NbFJpOHRaVFdaTy9EUTlHd1ZuMkYyRStsTmZZZVFEQ3BKd1c4NlNxVHVI?= =?utf-8?B?cEVvYUtzNWt6SkhmUTZUVk1YQTNHMXJ1M1YzUWZFYlN1QUh3eHA2WEIxWHdx?= =?utf-8?B?OVFwWjJBOU9veW1KVVJpdmEzd01WeVpOeTNhM05HTHVETUlVQ3VFbm41SXFx?= =?utf-8?B?cWZDY3NTRjQrdnY0N1I3bEtSS3dLeUxFWlp2QzZIemdobldtMmpweXB6cTNC?= =?utf-8?B?aE9YNzFTTnh4bnZqYWtOaWpiK0duOEJaYk80Z0RPajRnN2gxMnJvZUFBR1R0?= =?utf-8?B?dEdzQ3NzTkRzL0NYRTBqTVFpRFBtckZQQ3NEQT09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e077059d-6700-4a17-01e5-08dabd217bcb X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2022 22:27:53.4507 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NK9VpQ8+HxbTlbZZy+kKsGbxqf5x4Wz34KA3EEdyZUZMyZFZDVF7QoOM9I8o9XkAn0OJvmlYQ3VFBxq72cqBWUiFAM7QCurKWZkUbCJdsNU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1P15301MB0436 X-Rspamd-Queue-Id: 4N2hNj5z4Vz3Lts X-Spamd-Bar: --------- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=E2JXd6vw; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=microsoft.com; spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 52.101.128.24 as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com X-Spamd-Result: default: False [-9.90 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_MED(-2.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip4:52.100.0.0/14]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:8075, ipnet:52.96.0.0/12, country:US]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[microsoft.com:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[52.101.128.24:from]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-ThisMailContainsUnwantedMimeParts: N SGkgQW5kcmV3LA0KVGhhbmtzIGZvciB0aGUgcmVwbHkuIFJlZ2FyZGluZyBnZW5lcmljX3BjaWVf YWNwaV9hbGxvY19tc2l4KCApLCBpdCBjYW4gYmUgY2FsbGVkIGlmIHRoZQ0KUENJIGRldmljZSBp cyBjaGlsZCBvZiB0aGUgZ2VuZXJpYyBwY2liICggRFJJVkVSX01PRFVMRShwY2liLCBhY3BpLCBn ZW5lcmljX3BjaWVfYWNwaV9kcml2ZXIsIDAsIDApIC4gDQpCdXQgaWYgdGhlIFBDSSBkZXZpY2Ug aXMgY29tbXVuaWNhdGluZyB3aXRoIGEgZGlmZmVyZW50IHBjaWIgZHJpdmVyIChsaWtlIHZtYnVz X3BjaWIpLA0KaW4gdGhhdCBjYXNlIGRvIHdlIG5lZWQgdG8gaW1wbGVtZW50IGFsbCB0aGVzZSBm dW5jdGlvbnMgb2YgcGNpX2hvc3RfZ2VuZXJpY19hY3BpLmMgPw0KDQpPciB0aGVyZSBhcmUgc29t ZSB3YXlzIHRvIHJldXNlIHRoZW0/DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogQW5kcmV3IFR1cm5lciA8YW5kcmV3QGZ1YmFyLmdlZWsubno+DQo+IFNlbnQ6IFdlZG5l c2RheSwgTm92ZW1iZXIgMiwgMjAyMiA2OjU0IFBNDQo+IFRvOiBTb3VyYWRlZXAgQ2hha3JhYmFy dGkgPHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPg0KPiBDYzogV2FybmVyIExvc2ggPGltcEBi c2RpbXAuY29tPjsgV2VpIEh1IDx3ZWhAbWljcm9zb2Z0LmNvbT47IGZyZWVic2QtDQo+IGhhY2tl cnNARnJlZUJTRC5vcmcNCj4gU3ViamVjdDogW0VYVEVSTkFMXSBSZTogcGNpYiBtc2l4IGFsbG9j YXRpb24gaW4gYXJtNjQNCj4gDQo+IA0KPiA+IE9uIDIgTm92IDIwMjIsIGF0IDEyOjU2LCBTb3Vy YWRlZXAgQ2hha3JhYmFydGkgPHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPg0KPiB3cm90ZToN Cj4gPg0KPiA+IEhpLA0KPiA+IEkgY2FuIHNlZSBpbiB4ODYgbmV4dXMuYyBoYXMgaW1wbGVtZW50 ZWQgcGNpYl9hbGxvY19tc2l4IHVzaW5nDQo+IG5leHVzX2FsbG9jX21zaXgoKS4NCj4gPiBXaGlj aCBjYWxscyBtc2l4X2FsbG9jKCkgZm9yIG1zaXggYWxsb2NhdGlvbi4NCj4gPg0KPiA+IEJ1dCBp biBjYXNlIG9mIGFybTY0IEkgZG9uJ3QgZmluZCBzaW1pbGFyIHBjaWJfYWxsb2NfbXNpeCBpbXBs ZW1lbnRhdGlvbiBpbg0KPiBuZXh1cy5jIC4NCj4gPiBTbywgb24gYXJtNjQgd2hhdCBpcyBjb3Jy ZWN0IHdheSB0byBnZXQgYWxsb2NhdGUgbXNpeCA/DQo+IA0KPiBGb3IgYW4gYXJtNjQgc3lzdGVt IHdpdGggQUNQSSBpdCBpcyBtb3N0IGxpa2VseSBoYW5kbGVkIGluDQo+IGdlbmVyaWNfcGNpZV9h Y3BpX3JlbGVhc2VfbXNpeC4gRm9yIEZEVCBpdCBjYW4gZGVwZW5kIG9uIHdoaWNoIFBDSSBkcml2 ZXIgaXMNCj4gdXNlZC4NCj4gDQo+IEluIGVpdGhlciBjYXNlIGl0IHdpbGwgY2FsbCBpbnRvIGlu dHJfcmVsZWFzZV9tc2l4IHRoYXQgdGhlbiBjYWxscyBpbnRvIHRoZSBNU0kNCj4gY29udHJvbGxl ciB0byBhbGxvY2F0ZSB0aGUgdmVjdG9ycy4gRm9yIGEgR0lDdjMgZHJpdmVyIGl0IHdpbGwgZWl0 aGVyIGJlDQo+IGdpY3YzX2l0c19hbGxvY19tc2l4IGlmIHlvdSBoYXZlIGFuIElUUyBkZXZpY2Us IG9yIGdpY192M19hbGxvY19tc2l4IGlmIHVzaW5nIE1CSQ0KPiByYW5nZXMuDQo+IA0KPiBPbiBB Q1BJIHdlIGRvbuKAmXQgY3VycmVudGx5IHN1cHBvcnQgTUJJIHJhbmdlcywgYWx0aG91Z2ggaXQg bG9va3MgbGlrZSB0aGlzIGNvdWxkDQo+IGJlIGhhbmRsZWQgYnkgdGhlIGV4aXN0aW5nIGdpY3Yy bSBkcml2ZXIuIFRoaXMgZHJpdmVyIHNob3VsZCBhbHJlYWR5IHdvcmsgYXMgYQ0KPiBjaGlsZCBv ZiB0aGUgR0lDdjMsIGhvd2V2ZXIgaXQgYXBwZWFycyB0byBiZSBGRFQgb25seSwgc28gd2lsbCBu ZWVkIHNvbWUgd29yayB0bw0KPiBhZGQgQUNQSSBzdXBwb3J0Lg0KPiANCj4gQW5kcmV3DQoNCg==