From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A283424FC; Tue, 5 Sep 2023 07:37:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F201F40A8B; Tue, 5 Sep 2023 07:37:51 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 06C8D40A80; Tue, 5 Sep 2023 07:37:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693892270; x=1725428270; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=wwWMmFb9zQ2w/U/b4T1XnPw7HUVpSKwt1IKgt/9viic=; b=lMnBpH1TLtazUJqIEafzNm079VpohjFCYNGJB4bEwJTvZM/ZHnwUyfrh rWD7MZ9Y8LQOKJ5CcMMKY8axKrkFsMQgX4+QH0smEIQFbgUgzC4/Qqhwz PQnouDojF2T31jKBTGlWddKDrbskxrb2ECKDfTRUkYsj1Bvs6dTrHwM6N kfnu/NDqLaa+VD3VjefX7bNywp3szOY40Fxd7VzgRwW0rcIVNgPWi4pDz L36J+FyRqmVMsMwj52h3JnmImNPf9+FfHikCXrkc6EBgHkMv8YgYqn1VJ gKLrLrE/Ucm2yXQzOg69XZxWOx/h4kXOPBwOUIM7AenE48I2kOd+UZP1c w==; X-IronPort-AV: E=McAfee;i="6600,9927,10823"; a="375598717" X-IronPort-AV: E=Sophos;i="6.02,228,1688454000"; d="scan'208";a="375598717" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2023 22:37:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10823"; a="914710171" X-IronPort-AV: E=Sophos;i="6.02,228,1688454000"; d="scan'208";a="914710171" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 04 Sep 2023 22:37:48 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 4 Sep 2023 22:37:47 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 4 Sep 2023 22:37:47 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 4 Sep 2023 22:37:47 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 4 Sep 2023 22:37:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PNh7Nv1WcbTxRkXNGBIhHctgyxnQYlZGtHmqyBsrqRpjDKb7mDjOBEzmQxVCZjnt7wuYt0yUcSV/m3kzG0OkyBefXL3YEI3evoy7zB/gMOrclkCGEoPD6C86goa8qtgn6brUZtZwXJI1RgAzGq5r6SH2f4tRlQrgeTw90QjwAIO16H/iFeSkNvu6LFpWe9XaQ+/89Bwh3ANCZoUzkyYfYYCIlybx9HjmWKQ9D/vf4Erm2vCFpsACtEub50mG9v3nDtcOGbTZUw22/blbZsp8br024xB8VvgvS49r4LAXsnIHw7wyL6sQnC/6FnVgT4QD19yo3gz+qBfWP1IfLOs1yg== 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=wwWMmFb9zQ2w/U/b4T1XnPw7HUVpSKwt1IKgt/9viic=; b=kWOyILagDs0mztPS0nKtaPEKOtI1HsIfIPd80jbbWrAEz5YZaFBlKB81cMDEUMmuqNoO/p09qKp7o2mGZQFFO9q8hQVgRou1uo6zqE+Z99BVLQSZdnHLCh+Q/UY4bur+2NC+Iyu3QPDBGwU3FB/4q0xsyepGXhQfne/1yAUNKO7xJi9qF/33JT5q/DG884n/vv86rfZXWFvBZZKOsKMMGD2PproeNXoibaKE3FmB2mY4+4qnEjy7IEqrOU6tWyrPqPuIH+baV36uPWSTsfBPH/zMppTwe8FdxT+cPhH6oq+CHLyjxVpvNWbWTyDklpgE8tDZt+HW2aFaTJZbE8gGvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) by MN6PR11MB8195.namprd11.prod.outlook.com (2603:10b6:208:47f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.32; Tue, 5 Sep 2023 05:37:44 +0000 Received: from CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::da88:58a3:bc6b:2e3d]) by CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::da88:58a3:bc6b:2e3d%6]) with mapi id 15.20.6745.030; Tue, 5 Sep 2023 05:37:44 +0000 From: "Zeng, ZhichaoX" To: Kevin Traynor , "Xu, HailinX" , Xueming Li , "stable@dpdk.org" , "Wu, Jingjing" , "Xing, Beilei" , "Xu, Ke1" , "Zhang, Qi Z" CC: "xuemingl@nvdia.com" , "dev@dpdk.org" , "Stokes, Ian" , "Mcnamara, John" , Luca Boccassi , "Xu, Qian Q" , Thomas Monjalon , "Peng, Yuan" , "Chen, Zhaoyan" , "Yang, Qiming" , "Zhou, YidingX" , "Cui, KaixinX" Subject: RE: 22.11.3 patches review and test Thread-Topic: 22.11.3 patches review and test Thread-Index: AQHZ0NI2wKyye+M1sU68IkQYEU16G7ABAjkAgAIZYgCAAU0WAIAA+mCAgAUguwCAAE8PAIAAvMPA Date: Tue, 5 Sep 2023 05:37:44 +0000 Message-ID: References: <20230817061332.16248-1-xuemingl@nvidia.com> <307bf0a5-b0a6-b602-64b8-8eff3dcf3905@redhat.com> In-Reply-To: <307bf0a5-b0a6-b602-64b8-8eff3dcf3905@redhat.com> Accept-Language: zh-CN, 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR11MB5602:EE_|MN6PR11MB8195:EE_ x-ms-office365-filtering-correlation-id: 32970416-30ec-4aa3-3ba7-08dbadd23ab4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DscHW4krik8gMXQCyrYETXmHUBcrPa/ZiWLVq/uZLQ1I00Dw3Fx21U3DSC3Vj6fRiLoPfRmC9fDXpMfnwu3n9KzCtrVdobCBdI4WUp8g0IvBTe6F8pwlmC6YVAAAusL+moU1zwURI4bSR8gnpNzvmhG9JjNea+VvqMDkX1jOCl07bFd1yHr/wuGTYx4A582b0lujsobP5vtjDxIDPyppyxwa1MbDdFjflZ/Y858yVkcxtx5xyXTcXtvr8DfvjKpVfarfIeTTeqQw3ko0p6mtcf3sKgiAgCr3Yx7iFu7IPQq8qvfYw1leNZfQu/l09OAPZ5bMV7aJjabAR/MTF3uysTSW5Ya74Kwn5NPZi9fjaravy3tMrbstKClZtsiP+V6N7GEf5nqNsugIOG7958H2mK3TW7pxCNyHpz+kaGCuadhgGCYkuH1aNbyasnQ1SZh1yk9Hfu8d/b/CsmQ0exdJ7dZQTAjzJUlyaM2Yx+k0Xk8w8XaLs1oTVHwjDbjHOYanmbtQaOpfa5nk960FZLVlL437lMy6i/0+Zw6niLgJ6KEOfrzQBJpaR+laGnEUdNbWLVLeTbEz0vAIRWWkbj57Uk/jJOUmawcCS6kpvEYVyvL9ihhkYQT4aNHxgrOt0a2RVhoy5Wlfz1GfkZAAF1gctPkrX5lD9vUOqGQCPCm5lo8= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR11MB5602.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39860400002)(376002)(136003)(366004)(346002)(186009)(451199024)(1800799009)(54906003)(66556008)(66946007)(66446008)(66476007)(86362001)(316002)(110136005)(6636002)(2906002)(64756008)(76116006)(33656002)(55016003)(8936002)(5660300002)(52536014)(8676002)(4326008)(41300700001)(107886003)(9686003)(38100700002)(83380400001)(38070700005)(966005)(478600001)(921005)(82960400001)(122000001)(71200400001)(7696005)(6506007)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Rkp0enBUYVNrRDBqbitlYzVMb0hNZWV3RSt0cDRLTW5jeU94SUp2bDM3YXg4?= =?utf-8?B?ZnE0T0plQXRJVmJSM05oMUx1cGs3cVhNVmVwME04QlJ6UlZWbjFPakR1eUo5?= =?utf-8?B?cE9pU2FySmQra1EzZjNTN3FUVCtpWnA4S2FhKzY0Z2pHSkRsSmw4dHF0SGpz?= =?utf-8?B?eVRPZCszSVFyUkNCcWRjSTJGT3hvU2JzQ2xvbjBwODdwTUhqV0NieWFzNkl3?= =?utf-8?B?NUIrV3E2N2hQSCtpMTZQNFg1REg5aUlMZ0JhZGVrNzUva1pVam0xaVBNaVgz?= =?utf-8?B?NVprejRaakw1S0JLV00veFBYUHRTWXgvNU1HbEJiOTdxZ09lcXJEU0VNVEZq?= =?utf-8?B?TXlYY3VlenUvSkNTZUxoV0dGb215ZVAzcWJOa0hrMVRpc0ZHclNxREU1dGxq?= =?utf-8?B?ZWVqWmtNbTF3cDljaFAxWDlpcXFUM2VSSkUvYlU0R1hLMlkvVWtBVDlsY0Yy?= =?utf-8?B?WWxKTmxEcHgwY005YXpldS9GTHFqWHo1UTJsbEpFOWg0Nnc1NnBwNEJsOEVO?= =?utf-8?B?eGdBWGF3WjZXamhLNFpLa3ZFYUVvTGhzOHFnZjdMYzE4OE9wKzUzZnZnRVR6?= =?utf-8?B?KzVEZml5d3A5WTJscFYvbHlpVGl5eFdaMlpLRE1kalY0RnIxNjEvN3phUmVu?= =?utf-8?B?dkQxeG9rcEdNREZhN0pUNjVaTmJ4TTBhemdnTjhIZUVGOFVKYVI4NklSallk?= =?utf-8?B?MUNTNU9nbUR3cWZ3Nnl6bFFDZG95cEprc3V1REpSdm1XSjc5c08wUFRxOGU0?= =?utf-8?B?TUh2WWhwekxNK1VtWHdxZWdJNEJKWllHZGxjcEg3cWZpUlF6elMrTXdpbERa?= =?utf-8?B?eTg2MEt4UW14SXFtekFvVFRmZ1BMaE5DcmRzbE9KZnZwU3NGN2p0aUpXQnBU?= =?utf-8?B?UUdCRFNHb1hrSXBXTTBRck9vWXV3OU9SWTd2b2pOTHZGcGQvS28wNnhRYWlZ?= =?utf-8?B?T3lsMnhDM20raW1QZWFFYWMvcStTRjZtdXBWcDRXTVgyUmlOVHNucUUxVEcv?= =?utf-8?B?RDhrcE1QRUJNYnBmWU1FdUtVazczYmpybER5Yy9SQytaUnNHbGFCOC9VbVRy?= =?utf-8?B?TG5zVE1oTFgzZXZQdWxSTnZDUWhqWGNrQ3hnY2dBbWFUOXNocGZtQjRMczVo?= =?utf-8?B?QWJJVmdyQjZtWlV0OXoxY0p1RVFjcVdkWkRYRE14dDBiaG8wRTNNTG4za2Jm?= =?utf-8?B?bitKUmluL1NWN2YySTY4Um81UlZ5eG9OWkJ6OFErOVdpWE9nMldvdlFNSk4w?= =?utf-8?B?TnBvWDlXZlEzZS9rTC9DdjBXVW5iZkJ3QjVpVkZ0Q2NWUnhDZU9qN3p6NXFo?= =?utf-8?B?SmsrWWs3Y1RLOEI5azZOVWxFTDMyTXlqQm91K1k2NEtvZW5XdGYwbXNHcnZV?= =?utf-8?B?eE94MHV2aVI3Q3ZnVVBJNUltcElOakNoN3JTT0lHZjBqQ0ZLWkRQSXMvaWJO?= =?utf-8?B?Q1BKenUveDFIb3NveHF1dVVkaXZ4ZHFVMTZ6cXE5Y21zdnJLYjBxblRkcDVn?= =?utf-8?B?bjYvN2F5WmpTTDZUdW9sOWg4WldJT1ExUjkrR2NScno2VzluNERiNVRqR1dV?= =?utf-8?B?M3hveDJXYWZpM3FHYWFuVTFzaGl6NWxncmE5Z2JxNUo3OCtSbVZHOUNaS0Z2?= =?utf-8?B?SG1IdjBxbjMvR3RUdnRGaTJiOWdDYndUaFplV09HN3FzbWMwMjd1eXNtMmR6?= =?utf-8?B?SmszOWxxRThQcDBHcDVXNlNlTW4zdmRSQUxWQnB3cjNtK0hNNVE1cjRiZllT?= =?utf-8?B?bFUxUUQzZURoSk0wajR5Y3pJTnNtUThrVGNnRDFpWU9uYncwYTJjSm4yd1h6?= =?utf-8?B?bndCVS9TQ2VKQStwNlIwOG1RZ2p3Uzk1UldZR0g0WFVqd2dqR1h5NG8yY3Ew?= =?utf-8?B?NHpZWkNicDVqVGhMVnlET044STBoc01Jb09Wd0hYcjB3anQ1N0FOcW1qeUFF?= =?utf-8?B?RWxrVFJ4UlZEVGxaQUlQNWh3Skx1UUhFWHVTaExxb0lPY0VxZUVDaktBRzdR?= =?utf-8?B?L3FWTHErbTFLb2JLOXg2L0Z4dWFvZE43ZlRrVUNCYkFwTVdyQ1ZlWVNkSmEr?= =?utf-8?B?a0lBZFcxbjIvcnhKLzBZd0x5MVBWZ1dIMmhEUWx2eWZVbHUzcjJZS2M4WTJr?= =?utf-8?Q?cVrk=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32970416-30ec-4aa3-3ba7-08dbadd23ab4 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2023 05:37:44.2612 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yKk+m4cGAOBfB8qUqx9JlHNTjXpicT+sxuUvZUGJAhKYQCisfhXVYinBghk/Km1pWbb1zMwupvSI4h+0aKijBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR11MB8195 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLZXZpbiBUcmF5bm9yIDxrdHJh eW5vckByZWRoYXQuY29tPg0KPiBTZW50OiBNb25kYXksIFNlcHRlbWJlciA0LCAyMDIzIDEwOjE1 IFBNDQo+IFRvOiBaZW5nLCBaaGljaGFvWCA8emhpY2hhb3guemVuZ0BpbnRlbC5jb20+OyBYdSwg SGFpbGluWA0KPiA8aGFpbGlueC54dUBpbnRlbC5jb20+OyBYdWVtaW5nIExpIDx4dWVtaW5nbEBu dmlkaWEuY29tPjsNCj4gc3RhYmxlQGRwZGsub3JnOyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1 QGludGVsLmNvbT47IFhpbmcsIEJlaWxlaQ0KPiA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsgWHUs IEtlMSA8a2UxLnh1QGludGVsLmNvbT47IFpoYW5nLCBRaSBaDQo+IDxxaS56LnpoYW5nQGludGVs LmNvbT4NCj4gQ2M6IHh1ZW1pbmdsQG52ZGlhLmNvbTsgZGV2QGRwZGsub3JnOyBTdG9rZXMsIElh biA8aWFuLnN0b2tlc0BpbnRlbC5jb20+Ow0KPiBNY25hbWFyYSwgSm9obiA8am9obi5tY25hbWFy YUBpbnRlbC5jb20+OyBMdWNhIEJvY2Nhc3NpDQo+IDxibHVjYUBkZWJpYW4ub3JnPjsgWHUsIFFp YW4gUSA8cWlhbi5xLnh1QGludGVsLmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA8dGhvbWFzQG1v bmphbG9uLm5ldD47IFBlbmcsIFl1YW4gPHl1YW4ucGVuZ0BpbnRlbC5jb20+OyBDaGVuLA0KPiBa aGFveWFuIDx6aGFveWFuLmNoZW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogMjIuMTEuMyBw YXRjaGVzIHJldmlldyBhbmQgdGVzdA0KPiANCj4gT24gMDQvMDkvMjAyMyAxMDozMiwgS2V2aW4g VHJheW5vciB3cm90ZToNCj4gPiBPbiAwMS8wOS8yMDIzIDA0OjIzLCBaZW5nLCBaaGljaGFvWCB3 cm90ZToNCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBLZXZp biBUcmF5bm9yIDxrdHJheW5vckByZWRoYXQuY29tPg0KPiA+Pj4gU2VudDogVGh1cnNkYXksIEF1 Z3VzdCAzMSwgMjAyMyA4OjE4IFBNDQo+ID4+PiBUbzogWHUsIEhhaWxpblggPGhhaWxpbngueHVA aW50ZWwuY29tPjsgWHVlbWluZyBMaQ0KPiA+Pj4gPHh1ZW1pbmdsQG52aWRpYS5jb20+OyBzdGFi bGVAZHBkay5vcmc7IFd1LCBKaW5namluZw0KPiA+Pj4gPGppbmdqaW5nLnd1QGludGVsLmNvbT47 IFhpbmcsIEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsgWHUsDQo+ID4+PiBLZTEgPGtl MS54dUBpbnRlbC5jb20+OyBaZW5nLCBaaGljaGFvWCA8emhpY2hhb3guemVuZ0BpbnRlbC5jb20+ Ow0KPiA+Pj4gWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IHh1 ZW1pbmdsQG52ZGlhLmNvbTsgZGV2QGRwZGsub3JnOyBTdG9rZXMsIElhbg0KPiA+Pj4gPGlhbi5z dG9rZXNAaW50ZWwuY29tPjsgTWNuYW1hcmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29t PjsNCj4gPj4+IEx1Y2EgQm9jY2Fzc2kgPGJsdWNhQGRlYmlhbi5vcmc+OyBYdSwgUWlhbiBRIDxx aWFuLnEueHVAaW50ZWwuY29tPjsNCj4gPj4+IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmph bG9uLm5ldD47IFBlbmcsIFl1YW4NCj4gPj4+IDx5dWFuLnBlbmdAaW50ZWwuY29tPjsgQ2hlbiwg Wmhhb3lhbiA8emhhb3lhbi5jaGVuQGludGVsLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFJlOiAyMi4x MS4zIHBhdGNoZXMgcmV2aWV3IGFuZCB0ZXN0DQo+ID4+Pg0KPiA+Pj4gT24gMzAvMDgvMjAyMyAx NzoyNSwgS2V2aW4gVHJheW5vciB3cm90ZToNCj4gPj4+PiBPbiAyOS8wOC8yMDIzIDA5OjIyLCBY dSwgSGFpbGluWCB3cm90ZToNCj4gPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+Pj4+PiBGcm9tOiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+Pj4+Pj4g U2VudDogVGh1cnNkYXksIEF1Z3VzdCAxNywgMjAyMyAyOjE0IFBNDQo+ID4+Pj4+PiBUbzogc3Rh YmxlQGRwZGsub3JnDQo+ID4+Pj4+PiBDYzogeHVlbWluZ2xAbnZkaWEuY29tOyBkZXZAZHBkay5v cmc7IEFiaGlzaGVrIE1hcmF0aGUNCj4gPj4+Pj4+IDxBYmhpc2hlay5NYXJhdGhlQG1pY3Jvc29m dC5jb20+OyBBbGkgQWxudWJhbmkNCj4gPj4+Pj4+IDxhbGlhbG51QG52aWRpYS5jb20+OyBXYWxr ZXIsIEJlbmphbWluDQo+ID4+Pj4+PiA8YmVuamFtaW4ud2Fsa2VyQGludGVsLmNvbT47IERhdmlk IENocmlzdGVuc2VuDQo+ID4+Pj4+PiA8ZHJjQGxpbnV4LnZuZXQuaWJtLmNvbT47IEhlbWFudCBB Z3Jhd2FsDQo+ID4+PiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47DQo+ID4+Pj4+PiBTdG9rZXMs IElhbiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBKZXJpbiBKYWNvYg0KPiA+Pj4+Pj4gPGplcmlu akBtYXJ2ZWxsLmNvbT47IE1jbmFtYXJhLCBKb2huDQo+IDxqb2huLm1jbmFtYXJhQGludGVsLmNv bT47DQo+ID4+Pj4+PiBKdS1IeW91bmcgTGVlIDxqdWhsZWVAbWljcm9zb2Z0LmNvbT47IEtldmlu IFRyYXlub3INCj4gPj4+Pj4+IDxrdHJheW5vckByZWRoYXQuY29tPjsgTHVjYSBCb2NjYXNzaSA8 Ymx1Y2FAZGViaWFuLm9yZz47IFBlaQ0KPiA+Pj4+Pj4gWmhhbmcgPHBlemhhbmdAcmVkaGF0LmNv bT47IFh1LCBRaWFuIFEgPHFpYW4ucS54dUBpbnRlbC5jb20+Ow0KPiA+Pj4+Pj4gUmFzbGFuIERh cmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4+Pj4+PiA8 dGhvbWFzQG1vbmphbG9uLm5ldD47IFlhbmdoYW5nIExpdSA8eWFuZ2hsaXVAcmVkaGF0LmNvbT47 DQo+IFBlbmcsDQo+ID4+Pj4+PiBZdWFuIDx5dWFuLnBlbmdAaW50ZWwuY29tPjsgQ2hlbiwgWmhh b3lhbg0KPiA+Pj4gPHpoYW95YW4uY2hlbkBpbnRlbC5jb20+DQo+ID4+Pj4+PiBTdWJqZWN0OiAy Mi4xMS4zIHBhdGNoZXMgcmV2aWV3IGFuZCB0ZXN0DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSGkgYWxs LA0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhlcmUgaXMgYSBsaXN0IG9mIHBhdGNoZXMgdGFyZ2V0ZWQg Zm9yIHN0YWJsZSByZWxlYXNlIDIyLjExLjMuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIHBsYW5u ZWQgZGF0ZSBmb3IgdGhlIGZpbmFsIHJlbGVhc2UgaXMgMzF0aCBBdWd1c3QuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gUGxlYXNlIGhlbHAgd2l0aCB0ZXN0aW5nIGFuZCB2YWxpZGF0aW9uIG9mIHlvdXIg dXNlIGNhc2VzIGFuZA0KPiA+Pj4+Pj4gcmVwb3J0IGFueSBpc3N1ZXMvcmVzdWx0cyB3aXRoIHJl cGx5LWFsbCB0byB0aGlzIG1haWwuIEZvciB0aGUNCj4gPj4+Pj4+IGZpbmFsIHJlbGVhc2UgdGhl IGZpeGVzIGFuZCByZXBvcnRlZCB2YWxpZGF0aW9ucyB3aWxsIGJlIGFkZGVkIHRvDQo+ID4+Pj4+ PiB0aGUgcmVsZWFzZQ0KPiA+Pj4gbm90ZXMuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQSByZWxlYXNl IGNhbmRpZGF0ZSB0YXJiYWxsIGNhbiBiZSBmb3VuZCBhdDoNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAg ICAgICAgIGh0dHBzOi8vZHBkay5vcmcvYnJvd3NlL2RwZGstc3RhYmxlL3RhZy8/aWQ9djIyLjEx LjMtcmMxDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlc2UgcGF0Y2hlcyBhcmUgbG9jYXRlZCBhdCBi cmFuY2ggMjIuMTEgb2YgZHBkay1zdGFibGUgcmVwbzoNCj4gPj4+Pj4+ICAgICAgICAgaHR0cHM6 Ly9kcGRrLm9yZy9icm93c2UvZHBkay1zdGFibGUvDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhhbmtz Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBXZSBhcmUgY29uZHVjdGluZyBEUERLIHRlc3RpbmcgYW5kIGhh dmUgZm91bmQgdHdvIGlzc3Vlcy4NCj4gPj4+Pj4NCj4gPj4+Pj4gMS4gVGhlIHN0YXJ0dXAgc3Bl ZWQgb2YgdGVzdHBtZCBpcyBzaWduaWZpY2FudGx5IHNsb3dlciBpbiB0aGUgb3Mgb2YgU1VTRQ0K PiA+Pj4+PiAgICAgICBUaGlzIGlzc3VlIGZpeCBwYXRjaCBoYXMgYmVlbiBtZXJnZWQgaW50byBt YWluLCBCdXQgaXQgaGFzDQo+ID4+Pj4+IG5vdCBiYWNrcG9ydGVkDQo+ID4+PiB0byAyMi4xMS4z Lg0KPiA+Pj4+PiAgICAgICBGaXggcGF0Y2ggY29tbWl0IGlkIG9uIERQREsgbWFpbjoNCj4gPj4+ Pj4gN2U3YjY3NjJlYWMyOTJlNzhjNzdhZDM3ZWMwOTczYzBjOTQ0Yjg0NQ0KPiA+Pj4+Pg0KPiA+ Pj4+PiAyLiBUaGUgU0NUUCB0dW5uZWwgcGFja2V0IG9mIGlhdmYgY2Fubm90IGJlIGZvcndhcmRl ZCBpbiBhdng1MTINCj4gPj4+Pj4gbW9kZQ0KPiA+Pj4NCj4gPj4+IE5lZWQgdG8gY2xhcmlmeSB0 aGlzIHNlbnRlbmNlLiBJdCBsb29rcyBsaWtlIGl0IGlzIG5vdCBhIGZ1bmN0aW9uYWwNCj4gPj4+ IGJ1ZyB3aGVyZQ0KPiA+Pj4gYXZ4NTEyIG1vZGUgaXMgc2VsZWN0ZWQgYW5kIHRoZW4gYW4gU0NU UCB0dW5uZWwgcGFja2V0IGNhbm5vdCBiZSBzZW50Lg0KPiA+Pj4gSW5zdGVhZCwgaXQgaXMgYSBw b3NzaWJsZSBwZXJmb3JtYW5jZSBpc3N1ZSB0aGF0IGF2eDUxMiBtb2RlIHdpbGwNCj4gPj4+IG5v dCBiZSBzZWxlY3RlZCB3aGVyZSBpdCBtaWdodCBoYXZlIGJlZW4gZHVlIHRvIHVubmVlZGVkIGFk ZGl0aW9ucw0KPiA+Pj4gKFJURV9FVEhfVFhfT0ZGTE9BRF8qX1ROTF9UU08pIHRvIElBVkZfVFhf Tk9fVkVDVE9SX0ZMQUdTLg0KPiA+Pj4NCj4gPj4+IEBJQVZGIG1haW50YWluZXJzIC0gcGxlYXNl IGNvbmZpcm0gbXkgYW5hbHlzaXMgaXMgY29ycmVjdCA/DQo+ID4+Pg0KPiA+Pj4gSW4gdGhhdCBj YXNlLCBhcyBpdCBpcyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGlzc3VlIGluIGEgc3BlY2lmaWMN Cj4gPj4+IGNhc2UgZm9yIGEgc2luZ2xlIGRyaXZlciBJIHRoaW5rIGl0IGlzIG5vbi1jcml0aWNh bCBmb3IgMjEuMTEgYW5kIHdlDQo+ID4+PiBjYW4ganVzdCByZXZlcnQgdGhlIHBhdGNoIG9uIHRo ZSBicmFuY2ggYW5kIHdhaXQgZm9yIDIxLjExLjYgcmVsZWFzZSBpbg0KPiBEZWNlbWJlci4NCj4g Pj4NCj4gPj4gSGkgS2V2aW4sDQo+ID4+DQo+ID4+IFNpbmNlIHRoZSBMVFMgdmVyc2lvbiBvZiB0 aGUgSUFWRiBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBhdng1MTINCj4gPj4gY2hlY2tzdW0gb2Zm bG9hZCwgdGhlIHNjYWxhciBwYXRoIHNob3VsZCBiZSBzZWxlY3RlZCwgYnV0IHRoaXMgcGF0Y2gN Cj4gPj4gbWFrZXMgaXQgaW5jb3JyZWN0bHkgc2VsZWN0IHRoZQ0KPiA+PiBhdng1MTIgcGF0aCwg YW5kIHRoZSBTQ1RQIHR1bm5lbCBwYWNrZXRzIGNhbid0IGJlIGZvcndhcmRlZCBwcm9wZXJseS4N Cj4gPj4NCj4gPg0KPiA+IG9rLCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGUgcGF0Y2ggYW5kIHVz YWdlLg0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmgN Cj4gPiBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmggaW5kZXggOGQ0YTc3MjcxYS4uNjA1 ZWEzZjgyNCAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5oDQo+ ID4gKysrIGIvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguaA0KPiA+IEBAIC0zMiw0ICszMiw4 IEBADQo+ID4gICAgICAgICAgICAgICAgICAgUlRFX0VUSF9UWF9PRkZMT0FEX01VTFRJX1NFR1Mg fCAgICAgICAgICBcDQo+ID4gICAgICAgICAgICAgICAgICAgUlRFX0VUSF9UWF9PRkZMT0FEX1RD UF9UU08gfCAgICAgICAgICAgICBcDQo+ID4gKyAgICAgICAgICAgICAgIFJURV9FVEhfVFhfT0ZG TE9BRF9WWExBTl9UTkxfVFNPIHwgICAgICAgXA0KPiA+ICsgICAgICAgICAgICAgICBSVEVfRVRI X1RYX09GRkxPQURfR1JFX1ROTF9UU08gfCAgICAgICAgIFwNCj4gPiArICAgICAgICAgICAgICAg UlRFX0VUSF9UWF9PRkZMT0FEX0lQSVBfVE5MX1RTTyB8ICAgICAgICBcDQo+ID4gKyAgICAgICAg ICAgICAgIFJURV9FVEhfVFhfT0ZGTE9BRF9HRU5FVkVfVE5MX1RTTyB8ICAgICAgXA0KPiA+ICAg ICAgICAgICAgICAgICAgIFJURV9FVEhfVFhfT0ZGTE9BRF9TRUNVUklUWSkNCj4gPg0KPiA+IDxz bmlwPg0KPiA+DQo+ID4gU28gd2Ugbm93IGhhdmU6DQo+ID4gI2RlZmluZSBJQVZGX1RYX05PX1ZF Q1RPUl9GTEFHUyAoCQkJCSBcDQo+ID4gCQlSVEVfRVRIX1RYX09GRkxPQURfVkxBTl9JTlNFUlQg fAkJIFwNCj4gPiAJCVJURV9FVEhfVFhfT0ZGTE9BRF9RSU5RX0lOU0VSVCB8CQkgXA0KPiA+IAkJ UlRFX0VUSF9UWF9PRkZMT0FEX01VTFRJX1NFR1MgfAkJIFwNCj4gPiAJCVJURV9FVEhfVFhfT0ZG TE9BRF9UQ1BfVFNPIHwJCSBcDQo+ID4gCQlSVEVfRVRIX1RYX09GRkxPQURfVlhMQU5fVE5MX1RT TyB8CSBcDQo+ID4gCQlSVEVfRVRIX1RYX09GRkxPQURfR1JFX1ROTF9UU08gfAkgXA0KPiA+IAkJ UlRFX0VUSF9UWF9PRkZMT0FEX0lQSVBfVE5MX1RTTyB8CSBcDQo+ID4gCQlSVEVfRVRIX1RYX09G RkxPQURfR0VORVZFX1ROTF9UU08gfAkgXA0KPiA+IAkJUlRFX0VUSF9UWF9PRkZMT0FEX1NFQ1VS SVRZKQ0KPiA+DQo+ID4gPHNuaXA+DQo+ID4NCg0KSGkgS2V2aW4sDQoNClRoaXMgcGF0Y2ggYWxz byByZW1vdmVzIHR3byBmbGFncyBmcm9tIElBVkZfVFhfTk9fVkVDVE9SX0ZMQUdTLCBSVEVfRVRI X1RYX09GRkxPQURfT1VURVJfSVBWNF9DS1NVTQ0KYW5kIFJURV9FVEhfVFhfT0ZGTE9BRF9PVVRF Ul9VRFBfQ0tTVU0uDQoNCj4gPiBzdGF0aWMgaW5saW5lIGludA0KPiA+IGlhdmZfdHhfdmVjX3F1 ZXVlX2RlZmF1bHQoc3RydWN0IGlhdmZfdHhfcXVldWUgKnR4cSkgew0KPiA+IAlpZiAoIXR4cSkN Cj4gPiAJCXJldHVybiAtMTsNCj4gPg0KPiA+IAlpZiAodHhxLT5yc190aHJlc2ggPCBJQVZGX1ZQ TURfVFhfTUFYX0JVUlNUIHx8DQo+ID4gCSAgICB0eHEtPnJzX3RocmVzaCA+IElBVkZfVlBNRF9U WF9NQVhfRlJFRV9CVUYpDQo+ID4gCQlyZXR1cm4gLTE7DQo+ID4NCj4gPiAJaWYgKHR4cS0+b2Zm bG9hZHMgJiBJQVZGX1RYX05PX1ZFQ1RPUl9GTEFHUykNCj4gPiAJCXJldHVybiAtMTsNCj4gPiAg ICAgICAgICAgICAgIF5eXiBBZGRpbmcgdGhlIGV4dHJhIGJpdHMgdG8gSUFWRl9UWF9OT19WRUNU T1JfRkxBR1MNCj4gPiBnaXZlcw0KPiA+ICptb3JlKiByZWFzb25zIGZvciB3aHkgdGhpcyBzdGF0 ZW1lbnQgbWlnaHQgbm90IGJlIHRydWUsIHNvIHJldHVybmluZw0KPiA+IC0xIGluZGljYXRpbmcg dGhhdCB2ZWN0b3IgY2Fubm90IGJlIHVzZWQgZm9yIHR4IHF1ZXVlDQo+ID4NCj4gDQo+IHR5cG8g aGVyZSAtIGp1c3QgdG8gY2xhcmlmeSwgdGhlIG5ldyBmbGFncyBnaXZlIG1vcmUgcmVhc29ucyBm b3IgdGhpcyBzdGF0ZW1lbnQNCj4gdG8gYmUgdHJ1ZSwgc28gcmV0dXJuaW5nIC0xLg0KPiANCj4g Pg0KPiA+IDxzbmlwPg0KPiA+DQo+ID4gc3RhdGljIGlubGluZSBib29sDQo+ID4gY2hlY2tfdHhf dmVjX2FsbG93KHN0cnVjdCBpYXZmX3R4X3F1ZXVlICp0eHEpIHsNCj4gPiAJaWYgKCEodHhxLT5v ZmZsb2FkcyAmIElBVkZfVFhfTk9fVkVDVE9SX0ZMQUdTKSAmJg0KPiA+DQo+ID4gICAgICAgICAg ICAgICBeXl4gQWRkaW5nIHRoZSBleHRyYSBiaXRzIHRvIElBVkZfVFhfTk9fVkVDVE9SX0ZMQUdT DQo+ID4gZ2l2ZXMNCj4gPiAqbW9yZSogcmVhc29uIGZvciB0aGlzIHN0YXRlbWVudCB3aWxsIGJl IGZhbHNlIGFuZCB0aGVuIGZhbHNlIHJldHVybmVkDQo+ID4gaW5kaWNhdGluZyB0aGF0IHZlY3Rv ciBjYW5ub3QgYmUgdXNlZC4NCj4gPg0KPiA+IAkgICAgdHhxLT5yc190aHJlc2ggPj0gSUFWRl9W UE1EX1RYX01BWF9CVVJTVCAmJg0KPiA+IAkgICAgdHhxLT5yc190aHJlc2ggPD0gSUFWRl9WUE1E X1RYX01BWF9GUkVFX0JVRikgew0KPiA+IAkJUE1EX0lOSVRfTE9HKERFQlVHLCAiVmVjdG9yIHR4 IGNhbiBiZSBlbmFibGVkIG9uIHRoaXMNCj4gdHhxLiIpOw0KPiA+IAkJcmV0dXJuIHRydWU7DQo+ ID4gCX0NCj4gPiAJUE1EX0lOSVRfTE9HKERFQlVHLCAiVmVjdG9yIFR4IGNhbm5vdCBiZSBlbmFi bGVkIG9uIHRoaXMgdHhxLiIpOw0KPiA+IAlyZXR1cm4gZmFsc2U7DQo+ID4gfQ0KPiA+DQo+ID4g LS0NCj4gPg0KPiA+IEl0IGxvb2tzIGxpa2UgdGhhdCBhZGRpbmcgdGhlIGV4dHJhIGJpdHMgZ2l2 ZXMgaXQgbGVzcyByZWFzb25zIHRvDQo+ID4gc2VsZWN0IHZlY3RvciBtb2RlLiBIb3dldmVyLCB5 b3UgYXJlIHNheWluZyB0aGF0IHRoaXMgcGF0Y2ggbWVhbnMNCj4gPiB0aGVyZSBpcyBhIGNhc2Ug d2hlcmUgaXQgbm93IHNlbGVjdHMgdmVjdG9yIHdoZXJlIGl0IHNob3VsZCBub3QsDQo+ID4gbWVh bmluZyBhZGRpdGlvbmFsIHJlYXNvbiB0byBzZWxlY3QgdmVjdG9yIG1vZGUuIFNvIG1heWJlIEkg bWlzcw0KPiBzb21ldGhpbmcgPw0KDQpPcmlnaW5hbGx5LCB0aGUgdmVjdG9yIHBhdGggd291bGQg bm90IGJlIHNlbGVjdGVkIGFmdGVyIGNvbmZpZ3VyaW5nIG91dGVyIGNoZWNrc3VtIG9mZmxvYWQs DQpidXQgaXQgd2lsbCBiZSBzZWxlY3RlZCBhZnRlciByZW1vdmluZyB0aGUgdHdvIGZsYWdzLg0K QnV0IHRoZSB2ZWN0b3IgcGF0aCBkb2Vzbid0IHN1cHBvcnQgb3V0ZXIgY2hlY2tzdW0gb2ZmbG9h ZCBvbiBzdGFibGUgRFBESywgc28gdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0uDQoNClRoZSBrZXkg aXNzdWUgaXMgdGhhdCB0aGVzZSB0d28gZmxhZ3MgYXJlIHJlbW92ZWQsIFJURV9FVEhfVFhfT0ZG TE9BRF9PVVRFUl9JUFY0X0NLU1VNDQphbmQgUlRFX0VUSF9UWF9PRkZMT0FEX09VVEVSX1VEUF9D S1NVTS4NCg0KUmVnYXJkcw0KWmhpY2hhbw0KDQo+ID4NCj4gPj4gWWVzLCB3ZSBjYW4gcmV2ZXJ0 IHRoaXMgY29tbWl0IGZvciAyMS4xMS42IHJlbGVhc2UsIHRoYW5rcy4NCj4gPj4NCj4gPj4gUmVn YXJkcw0KPiA+PiBaaGljaGFvDQo+ID4+DQo+ID4+PiB0aGFua3MsDQo+ID4+PiBLZXZpbi4NCj4g Pj4+DQo+ID4+Pj4+ICAgICAgIGNvbW1pdCA5YjcyMTVmMTUwZDBiZmM1Y2IwMGZjZTY4ZmYwOGU1 MjE3YzdmMmIzIG9uDQo+IHYyMi4xMS4zLQ0KPiA+Pj4gcmMxLg0KPiA+Pj4+PiAgICAgICBUaGlz IGNvbW1pdCBpcyBmb3IgdGhlIG5ldyBmZWF0dXJlIChhdng1MTIgY2hlY2tzdW0gb2ZmbG9hZCkN Cj4gPj4+Pj4gaW4gRFBESw0KPiA+Pj4gMjMuMDMsIHdoaWNoIHNob3VsZCBub3QgYmUgYmFja3Bv cnRlZCB0byB0aGUgTFRTIHZlcnNpb24gc2luY2UNCj4gPj4+IGF2eDUxMiBjaGVja3N1bSBvZmZs b2FkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdjIyLjExLjMgTFRTLg0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ ID4+Pj4gVGhhbmtzIGZvciBmbGFnZ2luZyBYdWVtaW5nLg0KPiA+Pj4+DQo+ID4+Pj4gVGhlIGlz c3VlIGlzIHRoYXQgaXQgd2FzIGxpc3RlZCBhcyBmaXhpbmcgMDU5ZjE4YWUyYWVjICgibmV0L2lh dmY6DQo+ID4+Pj4gYWRkIG9mZmxvYWQgcGF0aCBmb3IgVHggQVZYNTEyIikgd2hpY2ggZ29lcyBi YWNrIHRvIDIxLjA1Lg0KPiA+Pj4+DQo+ID4+Pj4gVGhpcyBjb3VsZCBoYXZlIGJlZW4gYXZvaWRl ZCBpZiB0aGUgJ0ZpeGVzOicgdGFnIHdhcyBjb3JyZWN0LCBvciBpZg0KPiA+Pj4+IHRoZSBhdXRo b3JzIHJlcGxpZWQgdG8gdGhlIGVtYWlsIGFib3V0IHF1ZXVlZCBiYWNrcG9ydHMgOi8NCj4gPj4+ Pg0KPiA+Pj4+IFJlcXVlc3RpbmcgaWF2Zi9uZXh0LW5ldC1pbnRlbCBtYWludGFpbmVycyB0byBj aGVjayBGaXhlczogdGFncyBhcmUNCj4gPj4+PiBjb3JyZWN0IGJlZm9yZSBtZXJnaW5nLg0KPiA+ Pj4+DQo+ID4+Pj4gRFBESyAyMS4xMS41IGlzIGFscmVhZHkgcmVsZWFzZWQgd2l0aCB0aGlzIHBh dGNoLiBBbnkgaWRlYSB3aHkgaXQNCj4gPj4+PiBkaWQgbm90IHNob3cgdXAgaW4gdmFsaWRhdGlv biBmb3IgMjEuMTEuNSA/IElzIGl0IGFuIGlzc3VlIGZvciAyMS4xMS41ID8NCj4gPj4+PiBIb3cg Y3JpdGljYWwgaXMgaXQgPw0KPiA+Pj4+DQo+ID4+Pj4gSSBjYW4gcmV2ZXJ0IGl0IG9uIHRoZSAy MS4xMSBicmFuY2gsIGJ1dCBpdCB3aWxsIG5lZWQgdG8gd2FpdCB1bnRpbA0KPiA+Pj4+IDIxLjEx LjYgaW4gRGVjZW1iZXIgYmVmb3JlIGl0IHdpbGwgYmUgcmV2ZXJ0ZWQgaW4gYSByZWxlYXNlZCB2 ZXJzaW9uLg0KPiA+Pj4+DQo+ID4+Pj4gdGhhbmtzLA0KPiA+Pj4+IEtldmluLg0KPiA+Pj4+DQo+ ID4+Pj4+IFJlZ2FyZHMsDQo+ID4+Pj4+IFh1LCBIYWlsaW4NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+ Pg0KPiA+DQoNCg==