From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6C4A4A0524 for ; Fri, 8 Jan 2021 10:13:03 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B3A8140EDE; Fri, 8 Jan 2021 10:13:03 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 7E722140EC4; Fri, 8 Jan 2021 10:13:00 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 1089B3Q0021016; Fri, 8 Jan 2021 01:12:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=3Px59nALAPBIVIzcH0a1hspoMhnoDXiY5G+spuQEJFA=; b=E4v5XcgSHLi/UyEMzmRGrymW8isDFgXnsXZqFRktwIKgoz+Zz0JlYkeuyL9NAG735Ozu zmekUWiO09gR1kdVaZ7K512w4I3SKIgeXMn52uiQtom75cLn+OxkuNdgt4uQoa/CCCan CBN0nSpvaV8fjIekvHHjAtBtwxImTYKAHzfrV1ydMLCQZp+iBnMPH8Irbq71PFNt+OX8 +ZrBQlbMM+sPYRUaGWRIJAT7LvLlsPKsG4pbFEfeYkvMlyY3ln0skPN0pbeZqwgVRBYN 7NOQgKAsNTyZ1zvf7R9IubU9hU1QrVKbVs9Cvs7JJzRyhngBz9wjygDMJpKoZH76gijI 3Q== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 35wqq7cm5m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 08 Jan 2021 01:12:55 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 8 Jan 2021 01:12:54 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 8 Jan 2021 01:12:53 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 8 Jan 2021 01:12:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nipROxKnopH2BF7zNKLX73TzsQH84iLJ3We5Ha6eVsafscMBDRIJNpXlqldQCX0iimuTEUNm9cLdXh/W+SaVSyGUXmfVZcZBjVB26hefI5XKK/M7lIiq37Cx+Qf3TY+lUa00DPff4VoZ3/nhrUgZS8edlJ3Hmu+9Z8TD8kKM59Xpx8kfq1jT8QOcvHPZj3MAG5fYKf60GLtOssqfCNkoYKmGO/7HtEr1CVaWOCh31yWWJW7GH8horcV9cxFoG1io8G3fjG4k+XvMxPomnydS/Jq/uD5tYeCnqKAfzVyIH/JYMq94K6akdokef7H1q1z0+Xnr3BqoNIcIDHICUmP9gg== 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-SenderADCheck; bh=3Px59nALAPBIVIzcH0a1hspoMhnoDXiY5G+spuQEJFA=; b=cFVaVpDUo195lyv+abzNu0cLQr2sFdwiN8ccq4T3dTZ8I9oKa8flzX6DlQ1+q8m7qzjOA+8eW2/BubH0pRevPbPbkUt9wCfIbWV2KvrrwDvEFdFIqqy73etqDei3TlAHQI/cR5zH/tHeva8SedDXFejX6T1LpwiMU9o6YABptH48K+9zlLtbQ/7/NXK3GNzqt11n+W5bg09tuh0PHjzkzj/BQ3eIIDszSsfABQEvVzL9TyvcVb09QMorXtu8eLyLRqeZ4Cw1aljpkRVJJmwmlLPzXwRZKLQ3ClnU5EiTbbCMsFelASjJg+4PjDRVMrGjevS91oX9AAvuvBeZW0MvCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3Px59nALAPBIVIzcH0a1hspoMhnoDXiY5G+spuQEJFA=; b=gEgrYJ2t9WW4siLDxch70Xtw0j0pcMKYPHwTOM20T05xH2yh/pud8SyQo0AjuyPjeFVU1q2x9R1mQm1SAGgi/SEyzzqiC9sZIK+Q3eh+YEBqNrKcWhJ9H1p07Qng1goBnsywKcLj7wWIUof2Ki+YroqGWA7tcbGFHLnrxbMZV3Q= Received: from CO6PR18MB3828.namprd18.prod.outlook.com (2603:10b6:5:346::20) by CO6PR18MB3953.namprd18.prod.outlook.com (2603:10b6:5:341::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.21; Fri, 8 Jan 2021 09:12:50 +0000 Received: from CO6PR18MB3828.namprd18.prod.outlook.com ([fe80::5c2c:a13a:4f3d:94df]) by CO6PR18MB3828.namprd18.prod.outlook.com ([fe80::5c2c:a13a:4f3d:94df%5]) with mapi id 15.20.3742.006; Fri, 8 Jan 2021 09:12:50 +0000 From: Pavan Nikhilesh Bhagavatula To: Feifei Wang , Jerin Jacob Kollanukkaran , Harry van Haaren CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , "stable@dpdk.org" , "Ruifeng Wang" , nd , nd Thread-Topic: [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test Thread-Index: AdbYTEUe8OVHSkoHRIaSsOPrfVwqLgK45xmgAAQ//VAAiB8+AAAN29Zg Date: Fri, 8 Jan 2021 09:12:50 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=marvell.com; x-originating-ip: [2405:201:d009:380f:7025:a7e9:ea:4c26] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4fd313bf-34dc-4b58-ed24-08d8b3b592da x-ms-traffictypediagnostic: CO6PR18MB3953: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4303; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SngmzlJzmsOcdNteqeK2dzMIfa9vyBI4aLjewiB3IjKgJ3e0tbr+M0G3CNqrPj0vBBVUOtW/hyeYGBzNSgbDIUBI1gRl7HYIDARe4NGOHXRyBVosMhIDoFDbKyn7GukS5wJcXXvYrxm3qkmMJ4JhgL95Rb45RJpG3+T4XeOGHCedrfRnx2KpPVwjiqe/KT9loX/IIyUxcZ8jtaUs6GhOmFZScP1Vo2Rp+52t97ElkDi8XIYWqTjnWkEs4fcTBxL4wL8VLcIRi7dkjqyzpB0ysC2ELi2Uxz0xQrqGC3qlQVTy8hSrJYMrDYB7KJ573I7baay8yvj/bxr6Q5y+dFfpcl5Ha/ZOe7DttvoQIjYMl/K1Wp4K8Z4ZIR+r9KxML5N4RCLyB1nIVEvHZx7MRJ+n1f+u0+5dIbRhigXVW0j1aZBrCRaXR/qzNQvhYlYknNItrwsKF9XpHT4sGzs7gaoyCA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB3828.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(376002)(396003)(39860400002)(366004)(86362001)(110136005)(54906003)(55016002)(186003)(2906002)(33656002)(316002)(8936002)(9686003)(71200400001)(478600001)(5660300002)(52536014)(6506007)(53546011)(4326008)(7696005)(66446008)(64756008)(76116006)(8676002)(30864003)(66476007)(66946007)(66556008)(83380400001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?QjJYZURmdTBBSHl0dzltUWdTREJqY0R1MytSZW9JRGNYSG5VaHV1VWhmOG9m?= =?utf-8?B?Q2JEUjlOWWFSclYvQVk0Y29ORDkyRFd6NFVBV3ZpeXJhaWdGb1AzOC9WQk5Y?= =?utf-8?B?NFdsbHViYzVJeDV3bnFFdHVQZXZHaFdKazJ2VitkaVg3aVUvWXoxc0tHUkx5?= =?utf-8?B?WmFGbUdmcGo2SUtJSFQ4QmVySjI5NklsMHRjM1YxZWpIeFVZYnorNzBxRkhy?= =?utf-8?B?bzd0ZjZWaE5nK3ZrYmFmd0cyOE5YenBLRWpLUWFVV09zOHAzQ1IwM2tpMDFo?= =?utf-8?B?MVZYazU3bTN0Umh2TVVCTHdxTDVOaVNiV3NqTEJhUVJObUdScjZ4WlBuS25I?= =?utf-8?B?RkpMR2RxSTRYalNtRkVEbVM1ZmlIcGtRaXAvQkFWVUk5M2JGMzA2cFhFNG5a?= =?utf-8?B?Zkt6c3pUSzQ2NGJ6TW9NM1c5bmthY0c2SnZtdTMvNU9kYkNJdFB0OW9URlZ3?= =?utf-8?B?M2FhWnlrbGJiYXFobjNvaDBzQU1YMDl6Um9ZWC9pWmN4MlZvZmFiUkZGV3dC?= =?utf-8?B?S0xtZXB2VFZ1M3pTSFM5UnlZejhsc0ZGdUJnVzNuTkpxUDZTSXQxdmdlY21s?= =?utf-8?B?OXk3T0VqbFNabDc0Z1FjVVpCM0kwajJhRW0yOTNyVGJDd09EYkF5RG9kejYy?= =?utf-8?B?SXNlMzBUZnRpTjZlblRscnlmSDFwSVZTYXR0bVJ0Mys4S1p5Rkg0TE8wSG1h?= =?utf-8?B?d3o5ZVhEemJubEhMLzZrQW9HbVVUd1ozSGYvZnN6SHovT21rOHk3alk4Z0Q2?= =?utf-8?B?Q09vc2RNZWhGaVU3OGt0UFJKQWt2VW43R0FTTXNqUUNBSEJDU3RCK1h1UmRv?= =?utf-8?B?TFFvRWZSZnltUHYrekxBTG9GWk11UE0wV0puMG01V3crY1NFdytTQTdIUkNT?= =?utf-8?B?bVdTci9UZ0dkTUJkMVRxT1hxdzNxaGtXNm02cVdYNlFEeUE2dG85VjJqcFh3?= =?utf-8?B?ZEV0di8ydzh1eWlQSHdOaEQrUFRpbEs1ZnZzVFB6K2gwWlFlWjlwRitSTXhI?= =?utf-8?B?TGN6cE9LSnc1dVR4TEwvQUo5REFCYlVIYmNtTG9OV2JrS0hMMXEzMlFYbjBq?= =?utf-8?B?WmttMXNUZDZ1N2JvcFdWN3dFaUplWms2ZWFXbzcwRk1FUU5vZlRRV29vVDdy?= =?utf-8?B?Q0JkZ3R0eU1KOTJmRzNJek1rTlJWamoyWVJIbnN2c3FnSkcxOGczS1VodjAw?= =?utf-8?B?bll4SnF6TndreHkzVkYvTDBUL2U0UXVmMjFIaU5qUnluVFhQMGJUWEtJSjBY?= =?utf-8?B?bE85Q04wMWJMdEd3ZXNyTCtqUDRhOUtjQTFZYi9IQ0hNNFVxVXp6bHBnYmhr?= =?utf-8?B?K1VDM0ptUnRRWUVEd2RCRWI3Mlk0Nytra1VHQ0ZhMkxtZTZnOFRYTUJ4bk5L?= =?utf-8?Q?nmxKiSZBIzmzejzG+TH1Dgp3LwOr7Q9g=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: CO6PR18MB3828.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4fd313bf-34dc-4b58-ed24-08d8b3b592da X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2021 09:12:50.6203 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8jGhGyPykJ9PMqi4/7Cq2XdfZOfyrUc3LkIohFtKlNd2I/ugCEZquiTFO0sVMjenI6J3bwNxZ+/jAj1cDhWMo711Jn+C+08Sdo9/KSefCak= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3953 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-08_06:2021-01-07, 2021-01-08 signatures=0 Subject: Re: [dpdk-stable] [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGkgRmVpZmVpLA0KDQo+SGksIFBhdmFuDQo+DQo+DQo+DQo+PiAtLS0tLemCruS7tuWOn+S7ti0t LS0tDQo+DQo+PiDlj5Hku7bkuro6IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8cGJoYWdh dmF0dWxhQG1hcnZlbGwuY29tPg0KPg0KPj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0MeaciDXml6Ug MTc6MjkNCj4NCj4+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29t PjsgamVyaW5qQG1hcnZlbGwuY29tOw0KPkhhcnJ5DQo+DQo+PiB2YW4gSGFhcmVuIDxoYXJyeS52 YW4uaGFhcmVuQGludGVsLmNvbT4NCj4NCj4+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRA YXJtLmNvbT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+DQo+PiA8SG9ubmFwcGEuTmFnYXJhaGFs bGlAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsgUnVpZmVuZyBXYW5nDQo+DQo+PiA8UnVpZmVu Zy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4NCj4+IOS4u+mimDogUkU6IFtSRkMg UEFUQ0ggdjEgNC82XSBhcHAvZXZlbnRkZXY6IGFkZCByZWxlYXNlIGJhcnJpZXJzIGZvcg0KPnBp cGVsaW5lDQo+DQo+PiB0ZXN0DQo+DQo+Pg0KPg0KPj4gSGkgRmVpZmVpLA0KPg0KPj4NCj4NCj4+ ID5IaSwgUGF2YW4NCj4NCj4+ID4NCj4NCj4+ID5Tb3JyeSBmb3IgbXkgbGF0ZSByZXBseSBhbmQg dGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciByZXZpZXcuDQo+DQo+PiA+DQo+DQo+PiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPg0KPj4gPj4gRnJvbTogUGF2YW4gTmlraGlsZXNoIEJo YWdhdmF0dWxhDQo+PHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbTxtYWlsdG86cGJoYWdhdmF0dWxh QG1hcnZlbGwuY29tPj4NCj4NCj4+ID4+IFNlbnQ6IDIwMjDlubQxMuaciDIy5pelIDE4OjMzDQo+ DQo+PiA+PiBUbzogRmVpZmVpIFdhbmcNCj48RmVpZmVpLldhbmcyQGFybS5jb208bWFpbHRvOkZl aWZlaS5XYW5nMkBhcm0uY29tPj47DQo+amVyaW5qQG1hcnZlbGwuY29tPG1haWx0bzpqZXJpbmpA bWFydmVsbC5jb20+Ow0KPg0KPj4gPkhhcnJ5IHZhbg0KPg0KPj4gPj4gSGFhcmVuDQo+PGhhcnJ5 LnZhbi5oYWFyZW5AaW50ZWwuY29tPG1haWx0bzpoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT4+ Ow0KPlBhdmFuIE5pa2hpbGVzaA0KPg0KPj4gPj4NCj48cGJoYWdhdmF0dWxhQGNhdml1bW5ldHdv cmtzLmNvbTxtYWlsdG86cGJoYWdhdmF0dWxhQGNhdml1bW4NCj5ldHdvcmtzLmNvbT4+DQo+DQo+ PiA+PiBDYzogZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+OyBuZA0KPjxuZEBhcm0u Y29tPG1haWx0bzpuZEBhcm0uY29tPj47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+DQo+PiA+Pg0K PjxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPG1haWx0bzpIb25uYXBwYS5OYWdhcmFoYWxs aUBhcm0NCj4uY29tPj47IHN0YWJsZUBkcGRrLm9yZzxtYWlsdG86c3RhYmxlQGRwZGsub3JnPjsg UGhpbCBZYW5nDQo+DQo+PiA+PiA8UGhpbC5ZYW5nQGFybS5jb208bWFpbHRvOlBoaWwuWWFuZ0Bh cm0uY29tPj4NCj4NCj4+ID4+IFN1YmplY3Q6IFJFOiBbUkZDIFBBVENIIHYxIDQvNl0gYXBwL2V2 ZW50ZGV2OiBhZGQgcmVsZWFzZQ0KPmJhcnJpZXJzDQo+DQo+PiA+Zm9yDQo+DQo+PiA+PiBwaXBl bGluZSB0ZXN0DQo+DQo+PiA+Pg0KPg0KPj4gPj4NCj4NCj4+ID4+ID5BZGQgcmVsZWFzZSBiYXJy aWVycyBiZWZvcmUgdXBkYXRpbmcgdGhlIHByb2Nlc3NlZCBwYWNrZXRzIGZvcg0KPg0KPj4gPndv cmtlcg0KPg0KPj4gPj4gPmxjb3JlcyB0byBlbnN1cmUgdGhlIHdvcmtlciBsY29yZSBoYXMgcmVh bGx5IGZpbmlzaGVkIGRhdGENCj4NCj4+ID4+ID5wcm9jZXNzaW5nIGFuZCB0aGVuIGl0IGNhbiB1 cGRhdGUgdGhlIHByb2Nlc3NlZCBwYWNrZXRzIG51bWJlci4NCj4NCj4+ID4+ID4NCj4NCj4+ID4+ DQo+DQo+PiA+PiBJIGJlbGlldmUgd2UgY2FuIGxpdmUgd2l0aCBtaW5vciBpbmFjY3VyYWNpZXMg aW4gc3RhdHMgYmVpbmcNCj4NCj4+ID4+IHByZXNlbnRlZA0KPg0KPj4gPmFzDQo+DQo+PiA+PiBh dG9taWNzIGFyZSBwcmV0dHkgaGVhdnkgd2hlbiBzY2hlZHVsZXIgaXMgbGltaXRlZCB0byBidXJz dCBzaXplIGFzDQo+MS4NCj4NCj4+ID4+DQo+DQo+PiA+PiBPbmUgb3B0aW9uIGlzIHRvIG1vdmUg aXQgYmVmb3JlIGEgcGlwZWxpbmUgb3BlcmF0aW9uDQo+DQo+PiA+KHBpcGVsaW5lX2V2ZW50X3R4 LA0KPg0KPj4gPj4gcGlwZWxpbmVfZndkX2V2ZW50IGV0Yy4pIGFzIHRoZXkgaW1wbHkgaW1wbGlj aXQgcmVsZWFzZSBiYXJyaWVyIChhcw0KPg0KPj4gPj4gYWxsDQo+DQo+PiA+dGhlDQo+DQo+PiA+ PiBjaGFuZ2VzIGRvbmUgdG8gdGhlIGV2ZW50IHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBuZXh0 IGNvcmUpLg0KPg0KPj4gPg0KPg0KPj4gPklmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHlvdXIg bWVhbmluZyBpcyB0aGF0IG1vdmUgcmVsZWFzZSBiYXJyaWVycw0KPg0KPj4gPmJlZm9yZSBwaXBl bGluZV9ldmVudF90eCBvciBwaXBlbGluZV9md2RfZXZlbnQuIFRoaXMgY2FuIGVuc3VyZSB0aGUN Cj4NCj4+ID5ldmVudCBoYXMgYmVlbiBwcm9jZXNzZWQgYmVmb3JlIHRoZSBuZXh0IGNvcmUgYmVn aW5zIHRvIHR4L2Z3ZC4gRm9yDQo+DQo+PiA+ZXhhbXBsZToNCj4NCj4+DQo+DQo+PiBXaGF0IEkg bWVhbnQgd2FzIGV2ZW50IEFQSXMgc3VjaCBhcyBgcnRlX2V2ZW50X2VucXVldWVfYnVyc3RgLA0K Pg0KPj4gYHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlYA0KPg0KPj4gYWN0IGFzIGFu IGltcGxpY2l0IHJlbGVhc2UgYmFycmllciBhbmQgdGhlIEFQSQ0KPmBydGVfZXZlbnRfZGVxdWV1 ZV9idXJzdGAgYWN0DQo+DQo+PiBhcyBhbiBpbXBsaWNpdCBhY3F1aXJlIGJhcnJpZXIuDQo+DQo+ DQo+DQo+Pg0KPg0KPj4gU2luY2UsIHBpcGVsaW5lXyogdGVzdCBzdGFydHMgd2l0aCBhIGRlcXVl dWUoKSBhbmQgZW5kcyB3aXRoIGFuDQo+ZW5xdWV1ZSgpIEkNCj4NCj4+IGRvbuKAmXQgYmVsaWV2 ZSB3ZSBuZWVkIGJhcnJpZXJzIGluIEJldHdlZW4uDQo+DQo+DQo+DQo+U29ycnkgZm9yIG15IG1p c3VuZGVyc3RhbmRpbmcgdGhpcy4gQW5kIEkgYWdyZWUgd2l0aCB5b3UgdGhhdCBubw0KPmJhcnJp ZXJzIGFyZQ0KPg0KPm5lZWRlZCBiZXR3ZWVuIGRlcXVldWUgYW5kIGVucXVldWUuDQo+DQo+DQo+ DQo+Tm93LCBsZXQncyBnbyBiYWNrIHRvIHRoZSBiZWdpbm5pbmcuIEFjdHVhbGx5IHdpdGggdGhp cyBwYXRjaCwgb3VyIGJhcnJpZXINCj5pcyBtYWlubHkNCj4NCj5mb3IgdGhlIHN5bmNocm9ub3Vz IHZhcmlhYmxlICIgdy0+cHJvY2Vzc2VkX3BrdHMgIi4gQXMgd2UgYWxsIGtub3csIHRoZQ0KPmV2 ZW50IGlzIGZpcnN0bHkNCj4NCj5kZXF1ZXVlZCBhbmQgdGhlbiBlbnF1ZXVlZCwgYWZ0ZXIgdGhp cywgdGhlIGV2ZW50IGNhbiBiZSB0cmVhdGVkIGFzDQo+dGhlIHByb2Nlc3NlZCBldmVudA0KPg0K PmFuZCBpbmNsdWRlZCBpbiB0aGUgc3RhdGlzdGljcygidy0+cHJvY2Vzc2VkX3BrdHMrKyIpLg0K Pg0KPg0KPg0KPlRodXMsIHdlIGFkZCBhIHJlbGVhc2UgYmFycmllciBiZWZvcmUgIiB3LT5wcm9j ZXNzZWRfcGt0cysrIiBpcyB0bw0KPnByZXZlbnQgdGhpcyBvcGVyYXRpb24NCj4NCj5iZWluZyBl eGVjdXRlZCBhaGVhZCBvZiB0aW1lLiBGb3IgZXhhbXBsZToNCj4NCj5kZXF1ZXVlICAtPiAgdy0+ cHJvY2Vzc2VkX3BrdHMrKyAgLT4gIGVucXVldWUNCj4NCj5UaGlzIGNhdXNlIHRoYXQgdGhlIHdv cmtlciBkb2Vzbid0IGFjdHVhbGx5IGZpbmlzaCB0aGlzIGV2ZW50IHByb2Nlc3NpbmcsDQo+YnV0 IHRoZSBldmVudCBpcyB0cmVhdGVkDQo+DQo+YXMgdGhlIHByb2Nlc3NlZCBvbmUgYW5kIGluY2x1 ZGVkIGluIHRoZSBzdGF0aXN0aWNzLg0KPg0KDQpCdXQgdGhlIGN1cnJlbnQgc2VxdWVuY2UgaXMg ZGVxdWV1ZS0+IGVucXVldWUtPiB3LT5wcm9jZXNzZWRfcGt0cysrIGFuZA0KZW5xdWV1ZSBhbHJl YWR5IGFjdHMgYXMgYW4gZXhwbGljaXQgcmVsZWFzZSBiYXJyaWVyIHJpZ2h0Pw0KDQo+DQo+DQo+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPl9fX19fX19fX19fX19fX19fX19fDQo+DQo+DQo+DQo+QnkgdGhlIHdheSwgSSBoYXZlIHR3 byBvdGhlciBxdWVzdGlvbnMgYWJvdXQgcGlwZWxpbmUgcHJvY2VzcyB0ZXN0IGluDQo+InRlc3Rf cGlwZWxpbmVfcXVldWUiLg0KPg0KPjEuIHdoZW4gZG8gd2Ugc3RhcnQgY291bnRpbmcgcHJvY2Vz c2VkIGV2ZW50cyAody0+cHJvY2Vzc2VkX3BrdHMpPw0KPg0KPkZvciB0aGUgZndkIG1vZGUgKGlu dGVybmFsX3BvcnQgPSBmYWxzZSksIHdoZW4gd2UgY2hvb3NlIHNpbmdsZSBzdGFnZSwNCj5hcHBs aWNhdGlvbiBpbmNyZW1lbnRzDQo+DQo+dGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVy ICJwaXBlbGluZV9ldmVudCBlbnF1ZXVlIi4NCj5Ib3dldmVyLCB3aGVuIHdlIGNob29zZSBtdWx0 aXBsZQ0KPg0KPnN0YWdlLCBhcHBsaWNhdGlvbiBpbmNyZW1lbnRzIHRoZSBudW1iZXIgZXZlbnRz IHByb2Nlc3NlZCBiZWZvcmUNCj4icGlwbGVsaW5lX2V2ZW50X2VucXVldWUiLiANCg0KV2UgY291 bnQgYW4gZXZlbnQgYXMgcHJvY2VzcyB3aGVuIGFsbCB0aGUgc3RhZ2VzIGhhdmUgY29tcGxldGVk IGFuZCBpdHMgVHJhc25taXR0ZWQuDQoNCj5TbywNCj4NCj5tYXliZSB3ZSBjYW4gdW5pZnkgdGhp cy4gRm9yIGV4YW1wbGUgb2YgbXVsdGlwbGUgc3RhZ2U6DQo+DQo+DQo+DQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoY3FfaWQgPT0gbGFzdF9xdWV1ZSkgew0KPg0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkID0g dHhfcXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQoZXYu bWJ1ZiwNCj4wKTsNCj4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0KPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7 DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICAgICAgICAgICAgIHBpcGVs aW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0KPg0KPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+DQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPg0KPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkKys7DQo+DQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVf ZndkX2V2ZW50KCZldiwNCj5zY2hlZF90eXBlX2xpc3RbY3FfaWRdKTsNCj4NCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1 ZShkZXYsIHBvcnQsICZldik7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 DQo+DQo+DQo+DQo+ICAgICAgICAgICAgICAgIC0gICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50 X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0KPg0KPg0KDQpUaGUgYWJvdmUgY2hhbmdlIG1ha2Vz IHNlbnNlLiANCg0KPg0KPjIuIFdoZXRoZXIgICJwaXBlbGluZV9ldmVudF9lbnF1ZXVlIiBpcyBu ZWVkZWQgYWZ0ZXINCj4icGlwZWxpbmVfZXZlbnRfdHgiIGZvciB0eCBtb2RlPw0KPg0KPkZvciBz aW5nbGVfc3RhZ2VfYnVyc3RfdHggbW9kZSwgYWZ0ZXIgInBpcGVsaW5lX2V2ZW50X3R4IiwgdGhl IHdvcmtlcg0KPmhhcyB0byBlbnF1ZXVlIGFnYWluDQo+DQo+ZHVlIHRvICAicGlwZWxpbmVfZXZl bnRfZW5xdWV1ZV9idXJzdCIsIHNvIG1heWJlIHdlIHNob3VsZCBqdW1wIG91dA0KPm9mIHRoZSBs b29wIGFmdGVyDQo+DQo+4oCccGlwZWxpbmVfZXZlbnRfdHjigJ0sDQoNCldlIGNhbGwgZW5xdWV1 ZSBidXJzdCB0byByZWxlYXNlIHRoZSBldmVudHMgaS5lLiBlbnF1ZXVlIGV2ZW50cyB3aXRoIA0K UlRFX0VWRU5UX09QX1JFTEVBU0UuDQoNCj4NCiBmb3IgZXhhbXBsZToNCj4NCj4NCj4NCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZbaV0uc2No ZWRfdHlwZSA9PQ0KPlJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPg0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGlu ZV9ldmVudF90eChkZXYsIHBvcnQsICZldltpXSk7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2W2ldLm9wID0gUlRF X0VWRU5UX09QX1JFTEVBU0U7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+DQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAg ICAgICBjb250aW51ZTsNCj4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9IGVsc2Ugew0KPg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldltpXS5xdWV1ZV9pZCsrOw0KPg0KPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPg0KPg0KPlJURV9TQ0hFRF9UWVBFX0FU T01JQyk7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KPg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPg0KPg0KPg0KPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJz dChkZXYsIHBvcnQsIGV2LCBuYl9yeCk7DQo+DQo+DQo+DQo+DQo+DQo+Pg0KPg0KPj4gPg0KPg0K Pj4gPmlmIChldi5zY2hlZF90eXBlID09IFJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPg0KPj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgKw0KPl9fYXRvbWljX3RocmVhZF9mZW5jZShfX0FU T01JQ19SRUxFQVNFKTsNCj4NCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQsICZldik7DQo+DQo+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsN Cj4NCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+DQo+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQrKzsNCj4NCj4+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICsNCj5fX2F0b21pY190aHJlYWRfZmVuY2UoX19B VE9NSUNfUkVMRUFTRSk7DQo+DQo+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4NCj4+ID5SVEVfU0NIRURfVFlQRV9B VE9NSUMpOw0KPg0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0KPg0KPj4gPg0KPg0KPj4g Pkhvd2V2ZXIsIHRoZXJlIGFyZSB0d28gcmVhc29ucyB0byBwcmV2ZW50IHRoaXM6DQo+DQo+PiA+ DQo+DQo+PiA+Rmlyc3QsIGNvbXBhcmUgd2l0aCBvdGhlciB0ZXN0cyBpbiBhcHAvZXZlbnRkZXYs IGZvciBleGFtcGxlLCB0aGUNCj4NCj4+ID5ldmVudGRldiBwZXJmIHRlc3QsIHRoZSB3bWIgaXMg YWZ0ZXIgZXZlbnQgb3BlcmF0aW9uIHRvIGVuc3VyZQ0KPg0KPj4gPm9wZXJhdGlvbiBoYXMgYmVl biBmaW5pc2hlZCBhbmQgdGhlbiB3LT5wcm9jZXNzZWRfcGt0cysrLg0KPg0KPj4NCj4NCj4+IElu IGNhc2Ugb2YgcGVyZl8qIHRlc3RzIHN0YXJ0IHdpdGggYSBkZXF1ZXVlKCkgYW5kIGZpbmFsbHkg ZW5kcyB3aXRoIGENCj4NCj4+IG1lbXBvb2xfcHV0KCkgc2hvdWxkIGFsc28gYWN0IGFzIGltcGxp Y2l0IGFjcXVpcmUgcmVsZWFzZSBwYWlycw0KPm1ha2luZyBzdGF0cw0KPg0KPj4gY29uc2lzdGVu dD8NCj4NCj4NCj4NCj5Gb3IgcGVyZiB0ZXN0cywgdGhpcyBjb25zaXN0ZW5jeSByZWZlcnMgdG8g dGhhdCB0aGVyZSBpcyBhIHdtYiBhZnRlcg0KPm1lbXBvb2xfcHV0KCkuDQo+DQo+UGxlYXNlIHJl ZmVyIHRvIHRoaXMgbGluazoNCj4NCj5odHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20v djIvdXJsP3U9aHR0cC0NCj4zQV9fcGF0Y2hlcy5kcGRrLm9yZ19wYXRjaF84NTYzNF8mZD1Ed0lH YVEmYz1uS2pXZWMyYjZSMG1PDQo+eVBhejd4dGZRJnI9MWNqdUFIckdoNzQ1akhObWoyZkQ4NXNV TUlKMklQSURzSUp6bzZGTjZaMCZtPXpnDQo+UUhlU0RpWFdmSTFQSUlVeFhCcU1TNkUtMl8zRzQ2 bmhyekdYb0JwSEkmcz0wRndUeFBYaldmbGgtDQo+c2RtbmtZMTMzSVBsSkI3ODB4MHl4ZTdBbTNK Q0J3JmU9DQo+DQo+DQo+DQo+Pg0KPg0KPj4gPlNvLCBpZiB3ZSBtb3ZlIHJlbGVhc2UgYmFycmll cnMgYmVmb3JlIHR4L2Z3ZCwgaXQgbWF5IGNhdXNlIHRoYXQgdGhlDQo+DQo+PiA+dGVzdHMgb2Yg YXBwL2V2ZW50ZGV2IGJlY29tZSAgaW5jb25zaXN0ZW50LlRoaXMgbWF5IHJlZHVjZSB0aGUNCj4N Cj4+ID5tYWludGFpbmFiaWxpdHkgb2YgdGhlIGNvZGUgYW5kIG1ha2UgaXQgZGlmZmljdWx0IHRv IHVuZGVyc3RhbmQuDQo+DQo+PiA+DQo+DQo+PiA+U2Vjb25kLCBpdCBpcyBhIHRlc3QgY2FzZSwg dGhvdWdoIGhlYXZ5IHRocmVhZCBtYXkgY2F1c2UNCj5wZXJmb3JtYW5jZQ0KPg0KPj4gPmRlZ3Jh ZGF0aW9uLCBpdCBjYW4gZW5zdXJlIHRoYXQgdGhlIG9wZXJhdGlvbiBwcm9jZXNzIGFuZCB0aGUg dGVzdA0KPg0KPj4gPnJlc3VsdCBhcmUgY29ycmVjdC4gQW5kIG1heWJlIGZvciBhIHRlc3QgY2Fz ZSwgY29ycmVjdG5lc3MgaXMgbW9yZQ0KPg0KPj4gPmltcG9ydGFudCB0aGFuIHBlcmZvcm1hbmNl Lg0KPg0KPj4gPg0KPg0KPj4NCj4NCj4+IE1vc3Qgb2Ygb3VyIGludGVybmFsIHBlcmYgdGVzdCBy dW4gb24gMjQvNDggY29yZSBjb21iaW5hdGlvbnMgYW5kDQo+c2luY2UNCj4NCj4+IE9jdGVvbnR4 MiBldmVudCBkZXZpY2UgZHJpdmVyIHN1cHBvcnRzIGEgYnVyc3Qgc2l6ZSBvZiAxLCBpdCB3aWxs IHNob3cNCj51cCBhcw0KPg0KPj4gSHVnZSBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbi4NCj4NCj4N Cj4NCj5Gb3IgdGhlIGltcGFjdCBvbiBwZXJmb3JtYW5jZSwgSSBkbyB0aGUgdGVzdCB1c2luZyBz b2Z0d2FyZSBkcml2ZXIsDQo+Zm9sbG93aW5nIGFyZSBzb21lIHRlc3QgcmVzdWx0czoNCj4NCj4t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj5BcmNoaXRlY3R1cmU6IGFhcmNoNjQNCj4NCj5OaWNz OiBpeGdiZS04MjU5OQ0KPg0KPkNQVTogQ29ydGV4LUE3Mg0KPg0KPkJVUlNUX1NJWkU6IDENCj4N Cj5PcmRlcjogLi9kcGRrLXRlc3QtZXZlbnRkZXYgLWwgMC0xNSAtcyAweDIgLS12ZGV2PWV2ZW50 X3N3MCAtLSAtLQ0KPnRlc3Q9cGlwZWxpbmVfcXVldWUgLS13bGNvcmU9NC0xNCAtLXByb2RfdHlw ZV9ldGhkZXYgLS1zdGxpc3Q9YSxhDQo+DQo+Rmxvdzogb25lIGZsb3csIDY0Yml0cyBwYWNrYWdl LCBUWCByYXRlOiAxLjRNcHBzDQo+DQo+DQo+DQo+V2l0aG91dCB0aGlzIHBhdGNoOg0KPg0KPjAu OTU0IG1wcHMgYXZnIDAuOTUzIG1wcHMNCj4NCj4NCj4NCj5XaXRoIHRoaXMgcGF0Y2g6DQo+DQo+ MC45MzIgbXBwcyBhdmcgMC45MzAgbXBwcw0KPg0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0K Pg0KPg0KPkJhc2VkIG9uIHRoZSByZXN1bHQgYWJvdmUsIHRoZXJlIGlzIG5vIHNpZ25pZmljYW50 IHBlcmZvcm1hbmNlDQo+ZGVncmFkYXRpb24gd2l0aCB0aGlzIHBhdGNoLg0KPg0KPlRoaXMgaXMg YmVjYXVzZSB0aGUgcmVsZWFzZSBiYXJyaWVyIGlzIG9ubHkgZm9yICDigJx3LT5wcm9jZXNzZWRf cGt0cysr4oCdLiBJdA0KPmp1c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgY29yZQ0KPg0KPmlu Y3JlbWVudHMgdGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVyIGVucXVldWUsIGFuZCBp dCBkb2VzbuKAmXQNCj5hZmZlY3QgZGVxdWV1ZS9lbnF1ZXVlOg0KPg0KPg0KPg0KPmRlcXVldWUg LT4gZW5xdWV1ZSAtPiByZWxlYXNlIGJhcnJpZXIgLT4gdy0+cHJvY2Vzc2VkX3BrdHMrKw0KPg0K DQpIZXJlIGVucXVldWUgYWxyZWFkeSBhY3RzIGFzIGFuIGV4cGxpY2l0IHJlbGVhc2UgYmFycmll ci4NCg0KPg0KPg0KPk9uIHRoZSBvdGhlciBoYW5kLCBJIGluZmVyIHRoZSByZWFzb24gZm9yIHRo ZSBzbGlnaHQgZGVjcmVhc2UgaW4NCj5tZWFzdXJlbWVudCBwZXJmb3JtYW5jZSBpcyB0aGF0IHRo ZSByZWxlYXNlIGJhcnJpZXINCj4NCj5wcmV2ZW50IOKAnHctPnByb2Nlc3NlZF9wa3RzKyvigJ0g YmVmb3JlIHRoYXQgdGhlIGV2ZW50IGhhcyBiZWVuDQo+cHJvY2Vzc2VkIChlbnF1ZXVlKS4gQnV0 IEkgdGhpbmsgdGhpcyB0ZXN0IHJlc3VsdCBpcyBjbG9zZXINCj4NCj50byB0aGUgcmVhbCBwZXJm b3JtYW5jZS4NCj4NCj5BbmQgc29ycnkgZm9yIHRoYXQgd2UgaGF2ZSBubyBvY3RlbnR4MiBkZXZp Y2UsIHNvIHRoZXJlIGlzIG5vIHRlc3QgcmVzdWx0DQo+b24gT2N0ZW9udHgyIGV2ZW50IGRldmlj ZSBkcml2ZXIuIFdvdWxkIHlvdSBwbGVhc2UNCj4NCj5oZWxwIHVzIHRlc3QgdGhpcyBwYXRjaCBv biBvY3RlbnR4MiB3aGVuIHlvdSBhcmUgY29udmVuaWVudC4gVGhhbmtzDQo+dmVyeSBtdWNoLg0K Pg0KDQpJIHdpbGwgcmVwb3J0IHRoZSBwZXJmb3JtYW5jZSBudW1iZXJzIG9uIE1vbmRheS4NCg0K Pg0KPg0KPkJlc3QgUmVnYXJkcw0KPg0KPkZlaWZlaQ0KDQpSZWdhcmRzLA0KUGF2YW4uDQoNCj4N Cj4NCj4NCj4+DQo+DQo+PiA+U28sIGR1ZSB0byB0d28gcmVhc29ucyBhYm92ZSwgSSdtIGFtYml2 YWxlbnQgYWJvdXQgaG93IHdlIHNob3VsZA0KPmRvIGluDQo+DQo+PiA+dGhlIG5leHQgc3RlcC4N Cj4NCj4+ID4NCj4NCj4+ID5CZXN0IFJlZ2FyZHMNCj4NCj4+ID5GZWlmZWkNCj4NCj4+DQo+DQo+ PiBSZWdhcmRzLA0KPg0KPj4gUGF2YW4uDQo+DQo+Pg0KPg0KPj4gPg0KPg0KPj4gPj4gPkZpeGVz OiAzMTRiY2Y1OGNhOGYgKCJhcHAvZXZlbnRkZXY6IGFkZCBwaXBlbGluZSBxdWV1ZSB3b3JrZXIN Cj4NCj4+ID4+ID5mdW5jdGlvbnMiKQ0KPg0KPj4gPj4gPkNjOg0KPnBiaGFnYXZhdHVsYUBtYXJ2 ZWxsLmNvbTxtYWlsdG86cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPg0KPj4gPj4gPkNjOiBz dGFibGVAZHBkay5vcmc8bWFpbHRvOnN0YWJsZUBkcGRrLm9yZz4NCj4NCj4+ID4+ID4NCj4NCj4+ ID4+ID5TaWduZWQtb2ZmLWJ5OiBQaGlsIFlhbmcNCj48cGhpbC55YW5nQGFybS5jb208bWFpbHRv OnBoaWwueWFuZ0Bhcm0uY29tPj4NCj4NCj4+ID4+ID5TaWduZWQtb2ZmLWJ5OiBGZWlmZWkgV2Fu Zw0KPjxmZWlmZWkud2FuZzJAYXJtLmNvbTxtYWlsdG86ZmVpZmVpLndhbmcyQGFybS5jb20+Pg0K Pg0KPj4gPj4gPlJldmlld2VkLWJ5OiBSdWlmZW5nIFdhbmcNCj48cnVpZmVuZy53YW5nQGFybS5j b208bWFpbHRvOnJ1aWZlbmcud2FuZ0Bhcm0uY29tPj4NCj4NCj4+ID4+ID4tLS0NCj4NCj4+ID4+ ID4gYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jIHwgNjQNCj4NCj4+ID4+ ID4rKysrKysrKysrKysrKysrKysrKystLS0tDQo+DQo+PiA+PiA+IDEgZmlsZSBjaGFuZ2VkLCA1 NiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPmRp ZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMgYi9hcHAv dGVzdC0NCj4NCj4+ID4+ID5ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMgaW5kZXggN2Jl YmFjMzRmLi4wYzBlYzBjZWINCj4NCj4+ID4xMDA2NDQNCj4NCj4+ID4+ID4tLS0gYS9hcHAvdGVz dC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4NCj4+ID4+ID4rKysgYi9hcHAvdGVz dC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4NCj4+ID4+ID5AQCAtMzAsNyArMzAs MTMgQEANCj5waXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX3R4KHZvaWQNCj4NCj4+ ID4+ID4qYXJnKQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgaWYg KGV2LnNjaGVkX3R5cGUgPT0gUlRFX1NDSEVEX1RZUEVfQVRPTUlDKSB7DQo+DQo+PiA+PiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfdHgoZGV2LCBw b3J0LCAmZXYpOw0KPg0KPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4NCj4+ID4+ID4rDQo+DQo+PiA+PiA+KyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlIGVuc3VyZXMgc3Rv cmVkDQo+b3BlcmF0aW9uDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlIG51bWJlcg0KPm9mDQo+DQo+ PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMg aXMgdmlzaWJsZSB0byB0aGUgbWFpbiBjb3JlDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICovDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwNCj4xLA0KPg0K Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9fQVRPTUlDX1JFTEVBU0UpOw0KPg0KPj4gPj4gPiAgICAgICAgICAg ICAgICAgICAgfSBlbHNlIHsNCj4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBldi5xdWV1ZV9pZCsrOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+DQo+PiA+PiA+UlRFX1NDSEVE X1RZUEVfQVRPTUlDKTsNCj4NCj4+ID4+ID5AQCAtNTksNyArNjUsMTMgQEANCj4NCj4+ID5waXBl bGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX2Z3ZCh2b2lkDQo+DQo+PiA+PiA+KmFyZykN Cj4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90 eHFfc2V0KGV2Lm1idWYsIDApOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgcGlwZWxp bmVfZndkX2V2ZW50KCZldiwgUlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4NCj4+ID4+ID4gICAg ICAgICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0K Pg0KPj4gPj4gPi0gICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPg0KPj4g Pj4gPisNCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVy ZSBlbnN1cmVzIHN0b3JlZCBvcGVyYXRpb24NCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAq IG9mIHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZSBudW1iZXIgb2YNCj4NCj4+ID4+ID4r ICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4g Y29yZQ0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICovDQo+DQo+PiA+PiA+KyAgICAgICAg ICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPg0K Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg X19BVE9NSUNfUkVMRUFTRSk7DQo+DQo+PiA+PiA+ICAgIH0NCj4NCj4+ID4+ID4NCj4NCj4+ID4+ ID4gICAgcmV0dXJuIDA7DQo+DQo+PiA+PiA+QEAgLTg0LDcgKzk2LDEzIEBADQo+DQo+PiA+PiA+ cGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV9idXJzdF90eCh2b2lkICphcmcpDQo+ DQo+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2W2ldLnNj aGVkX3R5cGUgPT0NCj4NCj4+ID4+ID5SVEVfU0NIRURfVFlQRV9BVE9NSUMpIHsNCj4NCj4+ID4+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlw ZWxpbmVfZXZlbnRfdHgoZGV2LCBwb3J0LCAmZXZbaV0pOw0KPg0KPj4gPj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldltpXS5vcCA9IFJURV9F VkVOVF9PUF9SRUxFQVNFOw0KPg0KPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+DQo+PiA+PiA+Kw0K Pg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogcmVsZWFzZSBiYXJyaWVyIGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4NCj4+ID4+ID5vcGVy YXRpb24NCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlDQo+DQo+PiA+PiA+ bnVtYmVyIG9mDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4N Cj4+ID4+ID5jb3JlDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqLw0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4NCj4+ID4+ ID4+cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPg0KPj4gPj4gPisNCj5fX0FUT01JQ19SRUxFQVNFKTsN Cj4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0K Pg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldltpXS5xdWV1ZV9pZCsrOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0K Pg0KPj4gPj4gPkBAIC0xMjEsNyArMTM5LDEzIEBADQo+DQo+PiA+PiA+cGlwZWxpbmVfcXVldWVf d29ya2VyX3NpbmdsZV9zdGFnZV9idXJzdF9md2Qodm9pZCAqYXJnKQ0KPg0KPj4gPj4gPiAgICAg ICAgICAgICAgICAgICAgfQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAg ICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsIHBvcnQsIGV2LCBuYl9yeCk7DQo+ DQo+PiA+PiA+LSAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzICs9IG5iX3J4Ow0K Pg0KPj4gPj4gPisNCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJp ZXIgaGVyZSBlbnN1cmVzIHN0b3JlZCBvcGVyYXRpb24NCj4NCj4+ID4+ID4rICAgICAgICAgICAg ICAgICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZSBudW1iZXIgb2YNCj4NCj4+ ID4+ID4rICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8gdGhl IG1haW4gY29yZQ0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICovDQo+DQo+PiA+PiA+KyAg ICAgICAgICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLCBu Yl9yeCwNCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF9fQVRPTUlDX1JFTEVBU0UpOw0KPg0KPj4gPj4gPiAgICB9DQo+DQo+PiA+PiA+ DQo+DQo+PiA+PiA+ICAgIHJldHVybiAwOw0KPg0KPj4gPj4gPkBAIC0xNDYsNyArMTcwLDEzIEBA DQo+DQo+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX211bHRpX3N0YWdlX3R4KHZvaWQNCj4NCj4+ ID4+ID4qYXJnKQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgaWYg KGV2LnF1ZXVlX2lkID09IHR4X3F1ZXVlW2V2Lm1idWYtPnBvcnRdKSB7DQo+DQo+PiA+PiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfdHgoZGV2LCBw b3J0LCAmZXYpOw0KPg0KPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4NCj4+ID4+ID4rDQo+DQo+PiA+PiA+KyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlIGVuc3VyZXMgc3Rv cmVkDQo+b3BlcmF0aW9uDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlIG51bWJlcg0KPm9mDQo+DQo+ PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMg aXMgdmlzaWJsZSB0byB0aGUgbWFpbiBjb3JlDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICovDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwNCj4xLA0KPg0K Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9fQVRPTUlDX1JFTEVBU0UpOw0KPg0KPj4gPj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPg0KPj4gPj4gPiAgICAgICAgICAg ICAgICAgICAgfQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPkBAIC0xODAsNyArMjEwLDEzIEBADQo+ DQo+PiA+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX211bHRpX3N0YWdlX2Z3ZCh2b2lkICphcmcp DQo+DQo+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVf aWQgPSB0eF9xdWV1ZVtldi5tYnVmLT5wb3J0XTsNCj4NCj4+ID4+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfdHhxX3NldChldi5t YnVmLA0KPjApOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+DQo+PiA+PiA+UlRFX1NDSEVEX1RZUEVfQVRPTUlD KTsNCj4NCj4+ID4+ID4tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nl c3NlZF9wa3RzKys7DQo+DQo+PiA+PiA+Kw0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPm9w ZXJhdGlvbg0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9m IHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZSBudW1iZXINCj5vZg0KPg0KPj4gPj4gPisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2li bGUgdG8gdGhlIG1haW4gY29yZQ0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqLw0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBf X2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9jZXNzZWRfcGt0cyksDQo+MSwNCj4NCj4+ID4+ID4r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfX0FUT01JQ19SRUxFQVNFKTsNCj4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAg IH0gZWxzZSB7DQo+DQo+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXYucXVldWVfaWQrKzsNCj4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0KPg0KPj4gPj4gPnNjaGVkX3R5cGVfbGlzdFtj cV9pZF0pOw0KPg0KPj4gPj4gPkBAIC0yMTQsNyArMjUwLDEzIEBADQo+DQo+PiA+PiA+cGlwZWxp bmVfcXVldWVfd29ya2VyX211bHRpX3N0YWdlX2J1cnN0X3R4KHZvaWQgKmFyZykNCj4NCj4+ID4+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZbaV0ucXVldWVfaWQg PT0gdHhfcXVldWVbZXZbaV0ubWJ1Zi0NCj4NCj4+ID4+ID4+cG9ydF0pIHsNCj4NCj4+ID4+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxp bmVfZXZlbnRfdHgoZGV2LCBwb3J0LCAmZXZbaV0pOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldltpXS5vcCA9IFJURV9FVkVO VF9PUF9SRUxFQVNFOw0KPg0KPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+DQo+PiA+PiA+Kw0KPg0K Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyogcmVsZWFzZSBiYXJyaWVyIGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4NCj4+ID4+ID5vcGVyYXRp b24NCj4NCj4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlDQo+DQo+PiA+PiA+bnVt YmVyIG9mDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4NCj4+ ID4+ID5jb3JlDQo+DQo+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqLw0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4NCj4+ID4+ID4+ cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPg0KPj4gPj4gPisNCj5fX0FUT01JQ19SRUxFQVNFKTsNCj4N Cj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGludWU7DQo+DQo+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KPg0KPj4gPj4gPg0KPg0KPj4gPj4gPkBAIC0yNTQsNyArMjk2LDEzIEBADQo+DQo+PiA+ PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX211bHRpX3N0YWdlX2J1cnN0X2Z3ZCh2b2lkICphcmcp DQo+DQo+PiA+PiA+DQo+DQo+PiA+PiA+ICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFf c2V0KGV2W2ldLm1idWYsIDApOw0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPg0K Pj4gPj4gPg0KPg0KPj4gPj4gPiAgICBSVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPg0KPj4gPj4g Pi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnBy b2Nlc3NlZF9wa3RzKys7DQo+DQo+PiA+PiA+Kw0KPg0KPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVsZWFzZSBiYXJyaWVyIGhlcmUg ZW5zdXJlcyBzdG9yZWQNCj4NCj4+ID4+ID5vcGVyYXRpb24NCj4NCj4+ID4+ID4rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNv bXBsZXRlcyBiZWZvcmUgdGhlDQo+DQo+PiA+PiA+bnVtYmVyIG9mDQo+DQo+PiA+PiA+KyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBw a3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4NCj4+ID4+ID5jb3JlDQo+DQo+PiA+PiA+KyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPg0KPj4g Pj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19h dG9taWNfZmV0Y2hfYWRkKCYody0NCj4NCj4+ID4+ID4+cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPg0K Pj4gPj4gPisNCj5fX0FUT01JQ19SRUxFQVNFKTsNCj4NCj4+ID4+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldltpXS5xdWV1ZV9pZCsrOw0KPg0K Pj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPg0KPj4gPj4gPi0tDQo+DQo+PiA+PiA+Mi4x Ny4xDQo+DQoNCg==