From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2053.outbound.protection.outlook.com [40.107.21.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E5C453B7 for ; Wed, 9 Aug 2023 09:50:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KDIMKecbNYlsp8ZbLM9HtqyFpGhr8xLWh8aHxHcflEm/4MV4AX/zdOVy+wBpfVqSb3dahYnEt54bMsIm2FVxYlSFoopqI7j9NhsuQjgYCehOvhXtgQo6DAKdZLGLWR6TQFF55tiXX7b7ox2+zkP/0CuyiZ3msBleg3KfDAX7rHfTKi3nPGa0hsN8+2K/iyPF0JxwLfj6LA44C0gE6jQ9fEyGo4rIt0NUdhAxMs/9Q9y+YJ6u42FtPKma0jF4f+WFlgDO6VyRohCd7gzZPrExuj/stHq69N76a5E9sD6d12i2BM5L/s+BrkZmxnc7f+Znbz+Ap3JCU2z3uPzgnZBrYw== 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=OSqZ6mVD4qb5zt43XKez7/LlpkWaxsD08fatkysr12w=; b=DYK0OXuXZTjIt3/ZC8FgUz02OJf59rXdgnXlXVweGuHNf8pcFwAoj8mgIFpjGeLZMjdV5XTLiEU85hQkw37zg4P+pMicgjSWhUupgBp02cI7KfHonL7k689CcOCF2Dx9fGSemvkTrePoUWWJUgZ7udBWodlZRYmS81W6lyrhkR56L8fUdBSKUwm5QaZSKsbSLp60xpdY2SmATWyjEbmBi1WiHBxDibrV2beNIlOLEGjN6AQZthaAVoXlJPbYu54XnJEe382dDq1r9ln0O+XkUdb/InyKAFmyh6l2n0284fMI4C9mb16nBCidnTLBHVi68ag9eKDBTtBL27OH19k40Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OSqZ6mVD4qb5zt43XKez7/LlpkWaxsD08fatkysr12w=; b=u+01Vp8IAGCwiQiqWsvAB69pEqnhgW9j3L5FhwasPzr8BaTdv1IzDQBiGSzp4ShDXbl6kiU4py8SJsz0knD7LWSllOKqiAbav5rV23fGYwK+mU3424j1VybJtW+5bGIEGmP3STAlm+52EQXvu8EOvDjvi3YMD1dcd3nOTEB7lEHh1Gp5OItJtcpuJ7VqHbyOlfQ8Ht7YNQDi/n72CmFIYsA3s0WjjdI2XKv9ZRDLCi52ZEL9+R1sXMgP2mASr5kZD4uUAjOvMhUvxarJfpELANbrdiMC+KoTNyUfkW/w7O3VNEhWmwWUZFb/QTr2Fg/Nqw7h+tu2wBVJZCYssQvN5Q== Received: from AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:550::8) by DB8PR10MB3864.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:165::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug 2023 09:50:00 +0000 Received: from AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM ([fe80::64a9:7fe1:45d0:f6e7]) by AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM ([fe80::64a9:7fe1:45d0:f6e7%7]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023 09:50:00 +0000 From: "Schaffner, Tobias" To: "johannes.kirchmair@sigmatek.at" , "xenomai@lists.linux.dev" , "Kiszka, Jan" Subject: Re: [PATCH 1/3] [POC] test implementaion of rt-signals Thread-Topic: [PATCH 1/3] [POC] test implementaion of rt-signals Thread-Index: AQHZgng3dOTaHjsj+kWOLXwISph0Eq9R7C4AgJBcmgA= Date: Wed, 9 Aug 2023 09:50:00 +0000 Message-ID: <9725169b-3476-20b9-7dd0-1ae1dc870a7d@siemens.com> References: <20230509131355.3003275-1-johannes.kirchmair@sigmatek.at> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS2PR10MB6349:EE_|DB8PR10MB3864:EE_ x-ms-office365-filtering-correlation-id: 4f3f023a-9189-47a3-b81a-08db98bdff6f x-ld-processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7mGlNRSt9hRDbyBKXkn4Z0bzz/paqI/obL+xw6eIUbnljmn/KKYCtCA4x1gXobaBtp4PdkirZXEeoLzEliGv4U2Isvl2N+PcZGvuI2GCj4TWGL38O6gmN/8gRcUWXYNvvKJMapF1J4GgoB0woFN87pHMuZ8V1VKUP/7vKaZPoMLPpWFpAPFla6ERNopvBUb/RtzGUFMMMIGtkuMzWvr8gwXK7cP1i7LAKLfUyOu/7aKBg+ZsHZzB2sY/v1T3OPGIdKVAKIlz+Xg9pmodyLfUdv3v9zl0q5Vk3efr9MUZYA8TxNvTM9OP+V7+r71MVjm7J5AxvGyJ3fKpm67Xd0vJSBD5bpUGWxX/oD5B7YwRbqClvFdeBSjZ/8NfPgygwMOdzvSdSmn2SolXq4cgObjvPXc9W//b1Z9BLgwPV4WZ5Sr03uVj8n9TgXi+fqcl+TodPzMHwAvV6Z7ud4DlmV6GutXvaW9RYIk4wHralQZOY3ZAZVvkyi+BOXqjY6SF4dMXINmVwPyVxXkfIBlSKMixX4jOrP63V+oK7tH1utrtzAZu+KYp/gz5vsrhySLnM2w2CyomY7f5f5gWeJNMTNIe53N8UnWsK3EtIlh8pW1lpOj3YAdncf/l9jsm4qtUOK5QQ04myr+WxHuJGQwgs0QSnA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199021)(1800799006)(186006)(122000001)(26005)(6506007)(41300700001)(53546011)(8936002)(8676002)(2906002)(36756003)(83380400001)(82960400001)(2616005)(30864003)(38070700005)(38100700002)(31696002)(86362001)(5660300002)(478600001)(66476007)(76116006)(91956017)(66946007)(64756008)(66446008)(6636002)(66556008)(6512007)(110136005)(31686004)(6486002)(71200400001)(316002)(45980500001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QlJHQkNHMFBiUkliNC9tQ2ZqSzZxZnFvTXJtbXVUWTJnRWY4cTVJS0phOCsz?= =?utf-8?B?K2ExWjJ0NlpqSDJjTmRsK2E2NDB3Y2tieHFnUXo1c0cyWXNVNXBoTVBJWVV2?= =?utf-8?B?MVhJaXhjcG1FZTlPNlRtRGNIRnowbXZpMGtTTFRUem5ZZjJxN0g2cTFTZVox?= =?utf-8?B?aWljK2I0bEFxRUtFR0lJUVFvaGswa25IcXdSdU9RNDc1S0xwRzB5L0sxWHlw?= =?utf-8?B?UnlnZEJrS254dU5ZcG9IaVpkUzBKY1RWMGIrWnIxbmxiNkJaRWdLREQ4T2p2?= =?utf-8?B?ZStyUHRuQXB1R05vWVhJZFgxazhmUWthWS9tMmJ5Q2toVXJpanJEWklGMVp4?= =?utf-8?B?N016a2V6T0VTL2d2ZDZ2cStsdFJhSHpNcWVnNmZDUEJwVE8zUzd1L3RsYUV5?= =?utf-8?B?c3NTRHcrSEdCQVhLVkJmbHQrOW5SSS9MdVFHeDJydWkxUk1CVlhtUDhUU3F5?= =?utf-8?B?U2J3V2VLOHNRcDNEY1d0cDJMVE1IWXM0WlhoZDRkOWxrWnZUL0tRaGxPeVdJ?= =?utf-8?B?UkN1M2tyZVhqRGlTLytHbU43SmVHUnk4SlFzTWhjQndKL2Fza2J6MnZqbkxL?= =?utf-8?B?MXZubHA3dUZrTEtSTHhQZ2ZuazlwMUM4Y1VoVUVRb2RQSW1BSWJUN0czSVl0?= =?utf-8?B?MlVCWXVrZUF1T0xLM1VxNXVQbjR1S3dEVjNPemFraS9OejhqRlM0VWpyWVBh?= =?utf-8?B?SU4vamNTSTd4KzZ1YkpWK09pdVhncCtoRnQxaERvYkdNRmpiemtwSXhySTI0?= =?utf-8?B?NFdrTmt4NHluM3Jua0l2SkJTUXJuWnZEWHhYaTdEQzNMcDNHOERFbjFJNUEx?= =?utf-8?B?RnBUcTlqU25xT0xEdzFuTFdvOGFEQTYwMzJrbGFZOW4yZ1hCWHR2L01UaXZW?= =?utf-8?B?T002U0pwSTNqNmZXVzlVUWhyREhieUo2aTdaRHFwaWhKWkFhWm9yOUthNHNh?= =?utf-8?B?eU5Rc3EyVk9FaHJZeFZ4cWZHRGJGTzdBYUtxcmJBMkFVTUZRSzdrbzhQeXVP?= =?utf-8?B?Z1ZBclNiTDUwSnZQUktTKzVPZEM0a2Y4L2FOazRaUXVPVHovK0hLWHNaMEhM?= =?utf-8?B?aVJFdE1ZN3RyNkIvVG8waENhNml0UEo3djVlYnB4MkttSXQ1TDIvL3JMa3Q4?= =?utf-8?B?b1NFaTd2SWVUQ1p3Yk1oa0FGL3lnR0pZQ0Rybk5zS2lUYWsvMlVCVEhaNmdT?= =?utf-8?B?N3NoMGdsTXRTRXpjcUZJUlJ0aGRyRXB3NHJ4L295NjlJWXZiMVZ6dkpWZmF1?= =?utf-8?B?a3I3SWV1M1Qvdnl1c1JUK0gwRUdDTE9CcjRJNjJKV3NXeEVJbmc3bEh5cVE3?= =?utf-8?B?WjZJaGhObnNKa0ZiZ1dkS3ZRWnM4Y0s5Zk13clVENzAzUHA0Q3FONVh3dnJ1?= =?utf-8?B?UVI4dHZuTDl2WHNiNGpVOXRUR2VtZ2VybjltQW5uSjB0TExkMVM4UDBkbEhz?= =?utf-8?B?K2ZJMC9nVlVsbWhmb2NVWFp1dk1FajZUSi80VzZQYUNESkRUMXRWWURGOENa?= =?utf-8?B?NTNyL3c0MEovNkI5RG15am9LMHgxZytXZ0dDSnZOSm9SSzhVbEZza1J6Ym9a?= =?utf-8?B?TXVUd2dsNWNESG8wVGNHaStmMjFwR294czVuQ2N2S1hCK2Y2UWNGaWpZejBa?= =?utf-8?B?V09HYnl0dmFwWU1GOFNZWlpHZWpqc1JQMzl0djZDUW9yUUt0K1RFZkN2c2tE?= =?utf-8?B?R2RiN3BIS1ozTkNWSjMxUDcwdVdWb3U0MHJaengzUVZ2b3RXWnl6ZWFBc21z?= =?utf-8?B?L3BPSTFpT1hSTkJxTGtSUXk3Y0JuQVVKWkVXMldhb3ZEc05ZR1dORk13ajN5?= =?utf-8?B?V3ZYRmZ4NUE4RlRqSm5qSExrbzJqWFZoTmFBRzZpM2VRRDhpTndZUXdxblZm?= =?utf-8?B?QjhlcFN3OWNsWm1qUGk5NEg1OEhPZHlGNGFPKys3Uys0R1VETUxvUDNzYWhn?= =?utf-8?B?d1h1SWRLNHB1OTY5YWxwa3k1N0FZOC9MQUgrdWtDcXkwTkRzVHN2NmtXRUFL?= =?utf-8?B?RmloUVlaOU0zNm1DRlhXZlFRNDBsZURsaWhmMzF1SjZIMWZTS2FLbmNSOTVw?= =?utf-8?B?OTVSdzZZL3Uxb3BMZ1dFOThmeGhqTjhuNGZCL3hUWUU1cXNyZkNuNGdMOUxR?= =?utf-8?Q?yDuLsrKkVp//4Pmn84ydcYzyA?= Content-Type: text/plain; charset="utf-8" Content-ID: <841223B93D6D8744B768AC5C6BA345DC@EURPRD10.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: xenomai@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4f3f023a-9189-47a3-b81a-08db98bdff6f X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2023 09:50:00.4499 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Awt4vtsbzB741P7XcSJSbPL3vxKt+OYum7ll6IIYAMNcc2tcu80goAkX1mAOTQetYpRqIE8xei58Ww5UnoDznOZ2czaVlV08SCPGRED5CPo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3864 SGkgSm9oYW5uZXMsDQoNCk9uIDA5LjA1LjIzIDE1OjE3LCBKb2hhbm5lcyBLaXJjaG1haXIgd3Jv dGU6DQo+IEhlbGxvIEphbiBhbmQgVG9iaWFzLA0KPiANCj4gSSBqdXN0IGRyb3BwZWQgdGhlIHBh dGNoZXMgb24gdGhlIG1haWxpbmcgbGlzdC4NCj4gRm9yIHRoZSBkb3ZldGFpbCBmdW5jdGlvbnMg SSB0b29rIGEgcmF0aGVyIG5haXZlIGFwcHJvYWNoLCB1c2luZyBtb3N0IG9mIHRoZSBmcmFtZSBz ZXR1cCBjb2RlIHByb3ZpZGVkIGJ5IExpbnV4Lg0KPiBJIGp1c3QgdGVzdGVkIGl0IGZvciAzMmJp dCBhbmQgNjRiaXQgeDg2IEFwcGxpY2F0aW9ucyBhbmQgaXQgc2VlbXMgdG8gd29yay4NCj4gDQo+ IEkgYWxzbyBhZGRlZCBhIHRvb2wgcnRfc2lnbmFsX2hpc3QgdGhhdCBydW5zIGluIGEgY3ljbGUg YW5kIG1lYXN1cmVzIHRoZSB0aW1lIGFuIGV4Y2VwdGlvbiBoYW5kbGluZyB0YWtlcy4NCj4gSXQg aXMgYWZ0ZXJ3YXJkcyBwdXQgaW50byBhbiB0eHQgZmlsZSB0aGF0IHJlYXNzZW1ibGVzIGFuIGhp c3RvZ3JhbSBvZiB0aGUgdGltaW5ncy4NCj4gDQo+IFVuZm9ydHVuYXRlbHkgYXMgYSAzMmJpdCBh cHBsaWNhdGlvbiB0aGUgcnRfc2lnbmFsX2hpc3QgdG9vbCBkb2VzIG5vdCBydW4gdG8gY29tcGxl dGlvbiwgcHJpbnRpbmcgdGhlIGZvbGxvd2luZzoNCj4gIiBYZW5vbWFpL2NvYmFsdDogc2xlZXBp bmcgd2hpbGUgaG9sZGluZyBtdXRleA0KPiBDUFUgdGltZSBsaW1pdCBleGNlZWRlZCINCg0KSSBm aW5hbGx5IGhhZCBzb21lIHRpbWUgdG8gbG9vayBhdCBpdCBhZ2Fpbi4NCg0KVGhlcmUgaXMgYSBw cm9ibGVtIGluIHRoZSBkb3ZldGFpbCBwYXRjaCB5b3Ugc2VuZC4NCg0KSW4gZG92ZXRhaWxfcmVz dG9yZV8zMl9ydF9zaWduYWxfZnJhbWUgdGhlIGF4IHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlz IA0KaXMgYSBsb25nIHVuc2lnbmVkIGludCB0aGF0IGlzIHJldHVybmVkIGFzIGFuIGludC4gV2hl biBpdCBiZWNvbWVzIA0KbmVnYXRpdmUgZXZlcnkgbm93IGFuZCB0aGVuLCBpdCBpcyBpbnRlcnBy ZXRlZCBhcyBhbiBlcnJvci4NCg0KVGhlIGRvdmV0YWlsX3Jlc3RvcmVfNjRfcnRfc2lnbmFsX2Zy YW1lIGZ1bmN0aW9uIGhhcyB0aGUgc2FtZSBpc3N1ZSwgYnV0IA0KdGhlIHJldHVybiB2YWx1ZSBp cyBpZ25vcmVkIGZvciB4NjQuDQoNCkFzIHlvdSBhbHJlYWR5IG5vdGljZWQ6DQpUaGUgeG5hcmNo X3J0X3NpZ3JldHVybl9pYTMyIHJlYWN0cyB3aXRoIGEgDQp4bnRocmVhZF9jYWxsX21heWRheSh4 bnRocmVhZF9jdXJyZW50KCksIFNJR0tJTEwpOw0KDQpTSUdLSUxMIG1heSBub3QgYmUgdXNlZCBp biB0aGlzIGNvbnRleHQuIEl0IGlzIGludGVycHJldGVkIGFzIGEgDQpzaWdkZWJ1Z19yZWFzb24g d2hpY2ggbGVhZHMgdG8gdGhlIHdyb25nIFNJR0RFQlVHX01VVEVYX1NMRUVQIHNpZ25hbCBhbmQg DQp0aGUgY29ycmVzcG9uZGluZyAiWGVub21haS9jb2JhbHQ6IHNsZWVwaW5nIHdoaWxlIGhvbGRp bmcgbXV0ZXgiIG1lc3NhZ2UuDQoNCg0KQWxsIHRoZSBiZXN0LA0KVG9iaWFzDQoNCj4gTWF5YmUg dGhlIG5haXZlIGFwcHJvYWNoIGlzIG5vdCBzbyByZWxpYWJsZSA7LS8NCj4gSG9wZSBJIGZpbmQg dGhlIHRpbWUgdGhlIGxvb2sgaW50byBpdC4NCj4gDQo+IFNvcnJ5IGZvciBub3QgcHV0dGluZyBt b3JlIGVmZm9ydCBpbnRvIHRoaXMgc28gZmFyZS4NCj4gDQo+IFRoZSBuZXh0IG1vc3QgaW1wb3J0 YW50IHN0ZXAgaW4gbXkgb3BpbmlvbiB3b3VsZCBiZSB0byBkZWZpbmUgYSBjbGVhbiBpbnRlcmZh Y2UgaW50byBkb3ZldGFpbCBmb3IgdGhlIHNpZ25hbCBmcmFtZSBzZXR1cCBhbmQgcmVzdG9yaW5n Lg0KPiBBY3R1YWxseSB0aGF0J3MgdGhlIHRhc2sgSSBjb25zaWRlciBvbmUgb2YgdGhlIGhhcmRl ciBhbmQgSSBhbSBub3Qgc28gc3VyZSBob3cgdG8gYXBwcm9hY2ggdGhpcy4NCj4gDQo+IEJlc3Qg cmVnYXJkcw0KPiBKb2hhbm5lcw0KPiANCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ PiBGcm9tOiBKb2hhbm5lcyBLaXJjaG1haXIgPGpvaGFubmVzLmtpcmNobWFpckBzaWdtYXRlay5h dD4NCj4+IFNlbnQ6IERpZW5zdGFnLCA5LiBNYWkgMjAyMyAxNToxNA0KPj4gVG86IHhlbm9tYWlA bGlzdHMubGludXguZGV2DQo+PiBDYzogSm9oYW5uZXMgS2lyY2htYWlyIDxqb2hhbm5lcy5raXJj aG1haXJAc2lnbWF0ZWsuYXQ+DQo+PiBTdWJqZWN0OiBbUEFUQ0ggMS8zXSBbUE9DXSB0ZXN0IGlt cGxlbWVudGFpb24gb2YgcnQtc2lnbmFscw0KPj4NCj4+IFdlIGltcGxlbWVudCBydCBzaWduYWxz IHRvIGhhbmRsZSBleGNlcHRpb25zIGluIHJ0IHN0YWdlLg0KPj4NCj4+IFRoaXMgaXMgZG9uZSB1 c2luZyBkb3ZldGFpbCBzcGVjaWZpYyBmdW5jdGlvbnMgZm9yIHNldHRpbmcgdXAgdGhlIHNpZ25h bA0KPj4gZnJhbWUuDQo+Pg0KPj4gVGhpcyBjYW4gYmUgdXNlZCB0byBoYW5kbGUgZnBlIGV4Y2Vw dGlvbnMgb24gdGhlIGZseSwgbGlrZSBmaXhpbmcNCj4+IGRpdmlzaW9uIGJ5IHplcm8uIEFuIG90 aGVyIHVzZSBjYXNlIGFyZSBicmVha3BvaW50cywgaW1wbGVtZW50ZWQgdXNpbmcgdGhlDQo+PiBp bGxlZ2FsIG9wY29kZSBleGNlcHRpb24uIFRoZSByZWFsIHRpbWUgaGFuZGxpbmcgb2YgdGhlIGJy ZWFrcG9pbnRzIHdvdWxkDQo+PiBiZSBoYW5keSBmb3IgY29uZGl0aW9uYWwgYnJlYWtwb2ludHMg b3IgYWxzbyBmb3Igc3RvcHBpbmcgd2F0Y2hkb2dzIGFuZA0KPj4gb3RoZXIgdGFza3MgaW4gdGlt ZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBLaXJjaG1haXIgPGpvaGFubmVzLmtp cmNobWFpckBzaWdtYXRlay5hdD4NCj4+IC0tLQ0KPj4gICBpbmNsdWRlL2NvYmFsdC9rZXJuZWwv cHBkLmggICAgICAgICAgICAgICAgICAgfCAgMyArDQo+PiAgIGluY2x1ZGUvY29iYWx0L2tlcm5l bC90aHJlYWQuaCAgICAgICAgICAgICAgICB8ICAyICsNCj4+ICAgaW5jbHVkZS9jb2JhbHQvc2ln bmFsLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKw0KPj4gICBpbmNsdWRlL2NvYmFsdC91 YXBpL3N5c2NhbGwuaCAgICAgICAgICAgICAgICAgfCAgNiArKw0KPj4gICBrZXJuZWwvY29iYWx0 L2FyY2gveDg2L01ha2VmaWxlICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICAuLi4vYXJjaC94 ODYvaW5jbHVkZS9hc20veGVub21haS90aHJlYWQuaCAgICAgfCAxMyArKysrDQo+PiAgIGtlcm5l bC9jb2JhbHQvYXJjaC94ODYvc2lnbmFsX2lhMzIuYyAgICAgICAgICB8IDc1ICsrKysrKysrKysr KysrKysrKysNCj4+ICAga2VybmVsL2NvYmFsdC9hcmNoL3g4Ni9zaWduYWxfaWE2NC5jICAgICAg ICAgIHwgMjYgKysrKysrKw0KPj4gICBrZXJuZWwvY29iYWx0L2RvdmV0YWlsL2tldmVudHMuYyAg ICAgICAgICAgICAgfCAgNSArKw0KPj4gICBrZXJuZWwvY29iYWx0L3Bvc2l4L3Byb2Nlc3MuYyAg ICAgICAgICAgICAgICAgfCAgMyArLQ0KPj4gICBrZXJuZWwvY29iYWx0L3Bvc2l4L3N5c2NhbGwu YyAgICAgICAgICAgICAgICAgfCAyOCArKysrKysrDQo+PiAgIGtlcm5lbC9jb2JhbHQvcG9zaXgv c3lzY2FsbDMyLmMgICAgICAgICAgICAgICB8IDE2ICsrKysNCj4+ICAga2VybmVsL2NvYmFsdC90 aHJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMzkgKysrKysrKysrKw0KPj4gICBsaWIv Y29iYWx0L2FyY2gveDg2L01ha2VmaWxlLmFtICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICBs aWIvY29iYWx0L2FyY2gveDg2L3NpZ3JldHVybi5jICAgICAgICAgICAgICAgfCAzMiArKysrKysr Kw0KPj4gICBsaWIvY29iYWx0L2ludGVybmFsLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArDQo+PiAgIGxpYi9jb2JhbHQvc2lnbmFsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEzICsrKysNCj4+ICAgMTcgZmlsZXMgY2hhbmdlZCwgMjY2IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pDQo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBrZXJuZWwvY29iYWx0L2FyY2gveDg2 L3NpZ25hbF9pYTMyLmMNCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGtlcm5lbC9jb2JhbHQvYXJj aC94ODYvc2lnbmFsX2lhNjQuYw0KPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2NvYmFsdC9h cmNoL3g4Ni9zaWdyZXR1cm4uYw0KPj4NCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvYmFsdC9r ZXJuZWwvcHBkLmggYi9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvcHBkLmgNCj4+IGluZGV4IGYwMDc5 ZmU2ZS4uZmIyZjY4MmRhIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9jb2JhbHQva2VybmVsL3Bw ZC5oDQo+PiArKysgYi9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvcHBkLmgNCj4+IEBAIC0yMiw2ICsy Miw3IEBADQo+PiAgICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPg0KPj4gICAjaW5jbHVkZSA8bGlu dXgvYXRvbWljLmg+DQo+PiAgICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4NCj4+ICsjaW5jbHVk ZSA8bGludXgvc2lnbmFsLmg+DQo+PiAgICNpbmNsdWRlIDxjb2JhbHQva2VybmVsL2hlYXAuaD4N Cj4+DQo+PiAgIHN0cnVjdCBjb2JhbHRfdW1tIHsNCj4+IEBAIC0zMiw2ICszMyw4IEBAIHN0cnVj dCBjb2JhbHRfdW1tIHsNCj4+DQo+PiAgIHN0cnVjdCBjb2JhbHRfcHBkIHsNCj4+ICAgCXN0cnVj dCBjb2JhbHRfdW1tIHVtbTsNCj4+ICsJdm9pZCBfX3VzZXIgKnNpZ2hhbmRbX05TSUddOw0KPj4g Kwl2b2lkIF9fdXNlciAqc2lncmVzdG9yZXI7DQo+PiAgIAlhdG9taWNfdCByZWZjbnQ7DQo+PiAg IAljaGFyICpleGVfcGF0aDsNCj4+ICAgCXN0cnVjdCByYl9yb290IGZkczsNCj4+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvdGhyZWFkLmggYi9pbmNsdWRlL2NvYmFsdC9rZXJu ZWwvdGhyZWFkLmgNCj4+IGluZGV4IGI3OWNiODQyOS4uMzNkNDY4NDE5IDEwMDY0NA0KPj4gLS0t IGEvaW5jbHVkZS9jb2JhbHQva2VybmVsL3RocmVhZC5oDQo+PiArKysgYi9pbmNsdWRlL2NvYmFs dC9rZXJuZWwvdGhyZWFkLmgNCj4+IEBAIC01NzQsNiArNTc0LDggQEAgc3RhdGljIGlubGluZSB2 b2lkIHhudGhyZWFkX3Byb3BhZ2F0ZV9zY2hlZHBhcmFtKHN0cnVjdA0KPj4geG50aHJlYWQgKmN1 cnIpDQo+PiAgIAkJX194bnRocmVhZF9wcm9wYWdhdGVfc2NoZWRwYXJhbShjdXJyKTsNCj4+ICAg fQ0KPj4NCj4+ICtpbnQgeG50aHJlYWRfaGFuZGxlX3J0X3NpZ25hbHModW5zaWduZWQgaW50IHRy YXBuciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KPj4gKw0KPj4gICBleHRlcm4gc3RydWN0IHhu dGhyZWFkX3BlcnNvbmFsaXR5IHhlbm9tYWlfcGVyc29uYWxpdHk7DQo+Pg0KPj4gICAvKiogQH0g Ki8NCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvYmFsdC9zaWduYWwuaCBiL2luY2x1ZGUvY29i YWx0L3NpZ25hbC5oDQo+PiBpbmRleCA2MjY5NGY5M2EuLjNkNjU0MGFmZiAxMDA2NDQNCj4+IC0t LSBhL2luY2x1ZGUvY29iYWx0L3NpZ25hbC5oDQo+PiArKysgYi9pbmNsdWRlL2NvYmFsdC9zaWdu YWwuaA0KPj4gQEAgLTU0LDYgKzU0LDggQEAgQ09CQUxUX0RFQ0woaW50LCBraWxsKHBpZF90IHBp ZCwgaW50IHNpZykpOw0KPj4gICBDT0JBTFRfREVDTChpbnQsIHNpZ3F1ZXVlKHBpZF90IHBpZCwg aW50IHNpZywNCj4+ICAgCQkJICBjb25zdCB1bmlvbiBzaWd2YWwgdmFsdWUpKTsNCj4+DQo+PiAr aW50IGNvYmFsdF9ydF9zaWduYWwoaW50IHNpZywgdm9pZCAoKmhhbmRsZXIpKGludCwgc2lnaW5m b190ICosIHZvaWQgKikpOw0KPj4gKw0KPj4gICAjaWZkZWYgX19jcGx1c3BsdXMNCj4+ICAgfQ0K Pj4gICAjZW5kaWYNCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvYmFsdC91YXBpL3N5c2NhbGwu aCBiL2luY2x1ZGUvY29iYWx0L3VhcGkvc3lzY2FsbC5oDQo+PiBpbmRleCA5NjQ2YTBkOTcuLjYz MDdmYWU3ZiAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvY29iYWx0L3VhcGkvc3lzY2FsbC5oDQo+ PiArKysgYi9pbmNsdWRlL2NvYmFsdC91YXBpL3N5c2NhbGwuaA0KPj4gQEAgLTEzNyw2ICsxMzcs MTIgQEANCj4+ICAgI2RlZmluZSBzY19jb2JhbHRfcmVjdm1tc2c2NAkJCTExNA0KPj4gICAjZGVm aW5lIHNjX2NvYmFsdF9jb25kX3dhaXRfcHJvbG9ndWU2NAkJMTE1DQo+Pg0KPj4gKy8qDQo+PiAr ICogU2lnbWF0ZWsgc3BlY2lmaWMgc3lzY2FsbHMNCj4+ICsgKi8NCj4+ICsjZGVmaW5lIHNjX2Nv YmFsdF9zaWdyZXR1cm4JCQkxMjANCj4+ICsjZGVmaW5lIHNjX2NvYmFsdF9zaWdhY3Rpb24JCQkx MjENCj4+ICsNCj4+ICAgI2RlZmluZSBfX05SX0NPQkFMVF9TWVNDQUxMUwkJCTEyOCAvKiBQb3dl ciBvZiAyICovDQo+Pg0KPj4gICAjZW5kaWYgLyogIV9DT0JBTFRfVUFQSV9TWVNDQUxMX0ggKi8N Cj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvY29iYWx0L2FyY2gveDg2L01ha2VmaWxlIGIva2VybmVs L2NvYmFsdC9hcmNoL3g4Ni9NYWtlZmlsZQ0KPj4gaW5kZXggOTM5MjliNjQ1Li5lNzI1YWZiZmYg MTAwNjQ0DQo+PiAtLS0gYS9rZXJuZWwvY29iYWx0L2FyY2gveDg2L01ha2VmaWxlDQo+PiArKysg Yi9rZXJuZWwvY29iYWx0L2FyY2gveDg2L01ha2VmaWxlDQo+PiBAQCAtMSw1ICsxLDUgQEANCj4+ DQo+PiAgIG9iai0kKENPTkZJR19YRU5PTUFJKSArPSB4ZW5vbWFpLm8NCj4+IC14ZW5vbWFpLXkg Oj0gbWFjaGluZS5vIHNtaS5vIGMxZS5vDQo+PiAreGVub21haS15IDo9IG1hY2hpbmUubyBzbWku byBjMWUubyBzaWduYWxfaWEzMi5vIHNpZ25hbF9pYTY0Lm8NCj4+DQo+PiAgIGNjZmxhZ3MteSA6 PSAtSSQoc3JjdHJlZSkvYXJjaC94ODYveGVub21haS9pbmNsdWRlIC1JJChzcmN0cmVlKS9pbmNs dWRlL3hlbm9tYWkNCj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvY29iYWx0L2FyY2gveDg2L2luY2x1 ZGUvYXNtL3hlbm9tYWkvdGhyZWFkLmgNCj4+IGIva2VybmVsL2NvYmFsdC9hcmNoL3g4Ni9pbmNs dWRlL2FzbS94ZW5vbWFpL3RocmVhZC5oDQo+PiBpbmRleCA3NDVjMzI0NjcuLjRkMDA0NjgwYiAx MDA2NDQNCj4+IC0tLSBhL2tlcm5lbC9jb2JhbHQvYXJjaC94ODYvaW5jbHVkZS9hc20veGVub21h aS90aHJlYWQuaA0KPj4gKysrIGIva2VybmVsL2NvYmFsdC9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94 ZW5vbWFpL3RocmVhZC5oDQo+PiBAQCAtMjgsNSArMjgsMTggQEANCj4+ICAgI2RlZmluZSB4bmFy Y2hfZmF1bHRfYnBfcChfX25yKQkJKChjdXJyZW50LT5wdHJhY2UgJiBQVF9QVFJBQ0VEKQ0KPj4g JiYJXA0KPj4gICAJCQkJCSAoKF9fbnIpID09IFg4Nl9UUkFQX0RCIHx8IChfX25yKSA9PQ0KPj4g WDg2X1RSQVBfQlApKQ0KPj4gICAjZGVmaW5lIHhuYXJjaF9mYXVsdF9ub3RpZnkoX19ucikJKCF4 bmFyY2hfZmF1bHRfYnBfcChfX25yKSkNCj4+ICsjZGVmaW5lIHhuYXJjaF9mYXVsdF9jb2RlKF9f cmVncykJCSgoX19yZWdzKS0+b3JpZ19heCkNCj4+ICtpbnQgeG5hcmNoX3NldHVwX3RyYXBfaW5m byh1bnNpZ25lZCBpbnQgdmVjdG9yLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywNCj4+ICsJCQkgICBs b25nIGVycmNvZGUsIGludCAqc2lnLCBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gKmluZm8pOw0KPj4g Kw0KPj4gK2ludCB4bmFyY2hfc2V0dXBfcnRfZnJhbWVfaWEzMihpbnQgc2lnLCB2b2lkICpoYW5k bGVyLCBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gKnNpLA0KPj4gKwkJCSAgc3RydWN0IHB0X3JlZ3Mg KnJlZ3MsIHZvaWQgX191c2VyICpyZXN0b3Jlcik7DQo+PiArDQo+PiAraW50IHhuYXJjaF9ydF9z aWdyZXR1cm5faWEzMihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQo+PiArDQo+PiAraW50IHhuYXJj aF9zZXR1cF9ydF9mcmFtZV9pYTY0KGludCBzaWcsIHZvaWQgKmhhbmRsZXIsIHN0cnVjdCBrZXJu ZWxfc2lnaW5mbyAqc2ksDQo+PiArCQkJICBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdm9pZCBfX3Vz ZXIgKnJlc3RvcmVyKTsNCj4+ICsNCj4+ICtpbnQgeG5hcmNoX3J0X3NpZ3JldHVybl9pYTY0KHN0 cnVjdCBwdF9yZWdzICpyZWdzKTsNCj4+DQo+PiAgICNlbmRpZiAvKiAhX0NPQkFMVF9YODZfQVNN X1RIUkVBRF9IICovDQo+PiBkaWZmIC0tZ2l0IGEva2VybmVsL2NvYmFsdC9hcmNoL3g4Ni9zaWdu YWxfaWEzMi5jDQo+PiBiL2tlcm5lbC9jb2JhbHQvYXJjaC94ODYvc2lnbmFsX2lhMzIuYw0KPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMC4uZTc4YzhjNGQ0DQo+PiAt LS0gL2Rldi9udWxsDQo+PiArKysgYi9rZXJuZWwvY29iYWx0L2FyY2gveDg2L3NpZ25hbF9pYTMy LmMNCj4+IEBAIC0wLDAgKzEsNzUgQEANCj4+ICsjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+DQo+ PiArI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4NCj4+ICsjaW5jbHVkZSA8Y29iYWx0L2tlcm5l bC90aHJlYWQuaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSA8YXNtL3NpZ2ZyYW1lLmg+DQo+PiArI2lu Y2x1ZGUgPGFzbS9zaWdoYW5kbGluZy5oPg0KPj4gKyNpbmNsdWRlIDxhc20vZnB1L3NpZ25hbC5o Pg0KPj4gKw0KPj4gK2ludCB4bmFyY2hfc2V0dXBfdHJhcF9pbmZvKHVuc2lnbmVkIGludCB2ZWN0 b3IsIHN0cnVjdCBwdF9yZWdzICpyZWdzLA0KPj4gKwkJCSAgIGxvbmcgZXJyY29kZSwgaW50ICpz aWcsIHN0cnVjdCBrZXJuZWxfc2lnaW5mbyAqaW5mbykNCj4+ICt7DQo+PiArCXN3aXRjaCAodmVj dG9yKSB7DQo+PiArCWNhc2UgMDogLyogZGl2aWRlX2Vycm9yICovDQo+PiArCQkqc2lnID0gU0lH RlBFOw0KPj4gKwkJaW5mby0+c2lfc2lnbm8gPSAqc2lnOw0KPj4gKwkJaW5mby0+c2lfZXJybm8g PSAwOw0KPj4gKwkJaW5mby0+c2lfY29kZSA9IEZQRV9JTlRESVY7DQo+PiArCQlpbmZvLT5zaV9h ZGRyID0gKHZvaWQgX191c2VyICopcmVncy0+aXA7DQo+PiArCQlyZXR1cm4gMDsNCj4+ICsJY2Fz ZSAxOiAvKiB0cmFwX2Vycm9yICovIHsNCj4+ICsJCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uOw0K Pj4gKwkJZ2V0X2RlYnVncmVnKGNvbmRpdGlvbiwgNik7DQo+PiArCQlzZXRfZGVidWdyZWcoMCwg Nyk7DQo+PiArCQkqc2lnID0gU0lHVFJBUDsNCj4+ICsJCWluZm8tPnNpX3NpZ25vID0gKnNpZzsN Cj4+ICsJCWluZm8tPnNpX2Vycm5vID0gZXJyY29kZTsNCj4+ICsJCWluZm8tPnNpX2NvZGUgPSBn ZXRfc2lfY29kZShjb25kaXRpb24pOw0KPj4gKwkJaW5mby0+c2lfYWRkciA9ICh2b2lkIF9fdXNl ciAqKXJlZ3MtPmlwOw0KPj4gKwkJcmV0dXJuIDA7DQo+PiArCX0NCj4+ICsJY2FzZSAzOiAvKiB0 cmFwX2Vycm9yICovDQo+PiArCQkqc2lnID0gU0lHVFJBUDsNCj4+ICsJCWluZm8tPnNpX3NpZ25v ID0gKnNpZzsNCj4+ICsJCWluZm8tPnNpX2Vycm5vID0gZXJyY29kZTsNCj4+ICsJCWluZm8tPnNp X2NvZGUgPSBTSV9LRVJORUw7DQo+PiArCQlpbmZvLT5zaV9hZGRyID0gKHZvaWQgX191c2VyICop cmVncy0+aXA7DQo+PiArCQlyZXR1cm4gMDsNCj4+ICsJY2FzZSA2OiAvKiBpbnZhbGlkX29wICov DQo+PiArCQkqc2lnID0gU0lHSUxMOw0KPj4gKwkJaW5mby0+c2lfc2lnbm8gPSAqc2lnOw0KPj4g KwkJaW5mby0+c2lfZXJybm8gPSAwOw0KPj4gKwkJaW5mby0+c2lfY29kZSA9IElMTF9JTExPUE47 DQo+PiArCQlpbmZvLT5zaV9hZGRyID0gKHZvaWQgX191c2VyICopcmVncy0+aXA7DQo+PiArCQly ZXR1cm4gMDsNCj4+ICsJY2FzZSAxNjogeyAvKiBjb3Byb2Nlc3Nvcl9lcnJvciAqLw0KPj4gKwkJ KnNpZyA9IFNJR0ZQRTsNCj4+ICsNCj4+ICsJCWluZm8tPnNpX3NpZ25vID0gKnNpZzsNCj4+ICsJ CWluZm8tPnNpX2Vycm5vID0gMDsNCj4+ICsJCWluZm8tPnNpX2NvZGUgPSAwOw0KPj4gKwkJaW5m by0+c2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXJlZ3MtPmlwOw0KPj4gKwkJcmV0dXJuIDA7DQo+ PiArCX0NCj4+ICsJZGVmYXVsdDoNCj4+ICsJCWJyZWFrOw0KPj4gKwl9DQo+PiArDQo+PiArCXJl dHVybiAtRU5PU1lTOw0KPj4gK30NCj4+ICsNCj4+ICtpbnQgeG5hcmNoX3J0X3NpZ3JldHVybl9p YTMyKHN0cnVjdCBwdF9yZWdzICpyZWdzKQ0KPj4gK3sNCj4+ICsJaW50IHJldDsNCj4+ICsNCj4+ ICsJcmV0ID0gZG92ZXRhaWxfcmVzdG9yZV9ydF9zaWduYWxfZnJhbWUocmVncyk7DQo+PiArCWlm IChyZXQgPCAwKQ0KPj4gKwkJZ290byBiYWRmcmFtZTsNCj4+ICsNCj4+ICsJcmV0dXJuIHJlZ3Mt PmF4Ow0KPj4gKw0KPj4gK2JhZGZyYW1lOg0KPj4gKwl4bnRocmVhZF9jYWxsX21heWRheSh4bnRo cmVhZF9jdXJyZW50KCksIFNJR0tJTEwpOw0KPj4gKwlyZXR1cm4gLTE7DQo+PiArfQ0KPj4gKw0K Pj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9jb2JhbHQvYXJjaC94ODYvc2lnbmFsX2lhNjQuYw0KPj4g Yi9rZXJuZWwvY29iYWx0L2FyY2gveDg2L3NpZ25hbF9pYTY0LmMNCj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAuLmE3MDQ0ZGI0MA0KPj4gLS0tIC9kZXYvbnVsbA0K Pj4gKysrIGIva2VybmVsL2NvYmFsdC9hcmNoL3g4Ni9zaWduYWxfaWE2NC5jDQo+PiBAQCAtMCww ICsxLDI2IEBADQo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4+ICsv Kg0KPj4gKyAqICBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTIgIExpbnVzIFRvcnZhbGRzDQo+PiAr ICogIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiBBbmRpIEtsZWVuIFN1U0UgTGFicw0K Pj4gKyAqDQo+PiArICogIDE5OTctMTEtMjggIE1vZGlmaWVkIGZvciBQT1NJWC4xYiBzaWduYWxz IGJ5IFJpY2hhcmQgSGVuZGVyc29uDQo+PiArICogIDIwMDAtMDYtMjAgIFBlbnRpdW0gSUlJIEZY U1IsIFNTRSBzdXBwb3J0IGJ5IEdhcmV0aCBIdWdoZXMNCj4+ICsgKiAgMjAwMC0yMDAyICAgeDg2 LTY0IHN1cHBvcnQgYnkgQW5kaSBLbGVlbg0KPj4gKyAqLw0KPj4gKw0KPj4gKyNkZWZpbmUgcHJf Zm10KGZtdCkgS0JVSUxEX01PRE5BTUUgIjogIiBmbXQNCj4+ICsNCj4+ICsNCj4+ICsjaW5jbHVk ZSA8bGludXgvc2lnbmFsLmg+DQo+PiArI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4NCj4+ICsj aW5jbHVkZSA8Y29iYWx0L2tlcm5lbC90aHJlYWQuaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSA8YXNt L3NpZ2ZyYW1lLmg+DQo+PiArI2luY2x1ZGUgPGFzbS9zaWdoYW5kbGluZy5oPg0KPj4gKyNpbmNs dWRlIDxhc20vZnB1L3NpZ25hbC5oPg0KPj4gKw0KPj4gK2ludCB4bmFyY2hfcnRfc2lncmV0dXJu X2lhNjQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpDQo+PiArew0KPj4gKwlyZXR1cm4gZG92ZXRhaWxf cmVzdG9yZV9ydF9zaWduYWxfZnJhbWUocmVncyk7DQo+PiArfQ0KPj4gKw0KPj4gZGlmZiAtLWdp dCBhL2tlcm5lbC9jb2JhbHQvZG92ZXRhaWwva2V2ZW50cy5jIGIva2VybmVsL2NvYmFsdC9kb3Zl dGFpbC9rZXZlbnRzLmMNCj4+IGluZGV4IDRkYTRmNTFiNy4uNjE0MTc3MTdiIDEwMDY0NA0KPj4g LS0tIGEva2VybmVsL2NvYmFsdC9kb3ZldGFpbC9rZXZlbnRzLmMNCj4+ICsrKyBiL2tlcm5lbC9j b2JhbHQvZG92ZXRhaWwva2V2ZW50cy5jDQo+PiBAQCAtNTcsNiArNTcsOSBAQCB2b2lkIGhhbmRs ZV9vb2JfdHJhcF9lbnRyeSh1bnNpZ25lZCBpbnQgdHJhcG5yLCBzdHJ1Y3QNCj4+IHB0X3JlZ3Mg KnJlZ3MpDQo+PiAgIAkJeG5zY2hlZF9ydW4oKTsNCj4+ICAgCX0NCj4+DQo+PiArCWlmICh4bnRo cmVhZF9oYW5kbGVfcnRfc2lnbmFscyh0cmFwbnIsIHJlZ3MpID09IDApDQo+PiArCQlyZXR1cm47 DQo+PiArDQo+PiAgIAkvKg0KPj4gICAJICogSWYgd2UgZXhwZXJpZW5jZWQgYSB0cmFwIG9uIGJl aGFsZiBvZiBhIHNoYWRvdyB0aHJlYWQNCj4+ICAgCSAqIHJ1bm5pbmcgaW4gcHJpbWFyeSBtb2Rl LCBtb3ZlIGl0IHRvIHRoZSBMaW51eCBkb21haW4sDQo+PiBAQCAtODgsNiArOTEsOCBAQCB2b2lk IGhhbmRsZV9vb2JfdHJhcF9lbnRyeSh1bnNpZ25lZCBpbnQgdHJhcG5yLCBzdHJ1Y3QNCj4+IHB0 X3JlZ3MgKnJlZ3MpDQo+PiAgIAkJeG5zdGF0X2NvdW50ZXJfaW5jKCZ0aHJlYWQtPnN0YXQucGYp Ow0KPj4NCj4+ICAgCXhudGhyZWFkX3JlbGF4KHhuYXJjaF9mYXVsdF9ub3RpZnkodHJhcG5yKSwg U0lHREVCVUdfTUlHUkFURV9GQVVMVCk7DQo+PiArDQo+PiArCXJldHVybjsNCj4+ICAgfQ0KPj4N Cj4+ICAgc3RhdGljIGlubGluZSBpbnQgaGFuZGxlX3NldGFmZmluaXR5X2V2ZW50KHN0cnVjdCBk b3ZldGFpbF9taWdyYXRpb25fZGF0YSAqZCkNCj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvY29iYWx0 L3Bvc2l4L3Byb2Nlc3MuYyBiL2tlcm5lbC9jb2JhbHQvcG9zaXgvcHJvY2Vzcy5jDQo+PiBpbmRl eCAxYWJjODZmMzcuLjIwNjkxMjljYiAxMDA2NDQNCj4+IC0tLSBhL2tlcm5lbC9jb2JhbHQvcG9z aXgvcHJvY2Vzcy5jDQo+PiArKysgYi9rZXJuZWwvY29iYWx0L3Bvc2l4L3Byb2Nlc3MuYw0KPj4g QEAgLTczOCw5ICs3MzgsMTAgQEAgdm9pZCBjb2JhbHRfdW5yZWdpc3Rlcl9kZWJ1Z2dlZF90aHJl YWQoc3RydWN0DQo+PiB4bnRocmVhZCAqdGhyZWFkKQ0KPj4gICAJCWNvYmFsdF9yZXN1bWVfZGVi dWdnZWRfcHJvY2Vzcyhwcm9jZXNzKTsNCj4+ICAgfQ0KPj4NCj4+ICsjaWZkZWYgQ09ORklHX1NN UA0KPj4gKw0KPj4gICBpbnQgY29iYWx0X2hhbmRsZV9zZXRhZmZpbml0eV9ldmVudChzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnRhc2spDQo+PiAgIHsNCj4+IC0jaWZkZWYgQ09ORklHX1NNUA0KPj4gICAJ c3RydWN0IHhudGhyZWFkICp0aHJlYWQ7DQo+PiAgIAlzcGxfdCBzOw0KPj4NCj4+IGRpZmYgLS1n aXQgYS9rZXJuZWwvY29iYWx0L3Bvc2l4L3N5c2NhbGwuYyBiL2tlcm5lbC9jb2JhbHQvcG9zaXgv c3lzY2FsbC5jDQo+PiBpbmRleCA0NmM0OTk4ZTQuLmI0YmQ0YzU4NyAxMDA2NDQNCj4+IC0tLSBh L2tlcm5lbC9jb2JhbHQvcG9zaXgvc3lzY2FsbC5jDQo+PiArKysgYi9rZXJuZWwvY29iYWx0L3Bv c2l4L3N5c2NhbGwuYw0KPj4gQEAgLTI3Nyw2ICsyNzcsMzQgQEAgc3RhdGljIENPQkFMVF9TWVND QUxMKHNlcmlhbGRiZywgY3VycmVudCwNCj4+ICAgCXJldHVybiAwOw0KPj4gICB9DQo+Pg0KPj4g K3N0YXRpYyBDT0JBTFRfU1lTQ0FMTChzaWdyZXR1cm4sIGN1cnJlbnQsICh2b2lkKSkNCj4+ICt7 DQo+PiArCXN0cnVjdCBwdF9yZWdzICpyZWdzID0gdGFza19wdF9yZWdzKGN1cnJlbnQpOw0KPj4g Kw0KPj4gKwlpZiAocmVncy0+Y3MgPT0gX19VU0VSX0NTKQ0KPj4gKwkJeG5hcmNoX3J0X3NpZ3Jl dHVybl9pYTY0KHJlZ3MpOw0KPj4gKwlpZiAocmVncy0+Y3MgPT0gX19VU0VSMzJfQ1MpDQo+PiAr CQl4bmFyY2hfcnRfc2lncmV0dXJuX2lhMzIocmVncyk7DQo+PiArDQo+PiArCXJldHVybiBfX3hu X3JlZ19ydmFsKHJlZ3MpOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgQ09CQUxUX1NZU0NBTEwo c2lnYWN0aW9uLCBjdXJyZW50LCAoaW50IHNpZywgdm9pZCBfX3VzZXIgKmhhbmRsZXIsDQo+PiAr CQkgICAgICB2b2lkIF9fdXNlciAqcmVzdG9yZXIpKQ0KPj4gK3sNCj4+ICsJc3RydWN0IGNvYmFs dF9wcGQgKnN5c19wcGQgPSBjb2JhbHRfcHBkX2dldCgwKTsNCj4+ICsNCj4+ICsJaWYgKHNpZyA8 IDAgfHwgc2lnID49IF9OU0lHKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArCXN5 c19wcGQtPnNpZ2hhbmRbc2lnXSA9IGhhbmRsZXI7DQo+PiArDQo+PiArCWlmICghc3lzX3BwZC0+ c2lncmVzdG9yZXIpDQo+PiArCQlzeXNfcHBkLT5zaWdyZXN0b3JlciA9IHJlc3RvcmVyOw0KPj4g Kw0KPj4gKwlyZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAgIHN0YXRpYyB2b2lkIHN0cmluZ2lm eV9mZWF0dXJlX3NldCh1bnNpZ25lZCBsb25nIGZzZXQsIGNoYXIgKmJ1ZiwgaW50IHNpemUpDQo+ PiAgIHsNCj4+ICAgCXVuc2lnbmVkIGxvbmcgZmVhdHVyZTsNCj4+IGRpZmYgLS1naXQgYS9rZXJu ZWwvY29iYWx0L3Bvc2l4L3N5c2NhbGwzMi5jIGIva2VybmVsL2NvYmFsdC9wb3NpeC9zeXNjYWxs MzIuYw0KPj4gaW5kZXggYjY1YTBhNzYwLi5mOGIyMWJmYjIgMTAwNjQ0DQo+PiAtLS0gYS9rZXJu ZWwvY29iYWx0L3Bvc2l4L3N5c2NhbGwzMi5jDQo+PiArKysgYi9rZXJuZWwvY29iYWx0L3Bvc2l4 L3N5c2NhbGwzMi5jDQo+PiBAQCAtNzc0LDYgKzc3NCwyMiBAQCBDT0JBTFRfU1lTQ0FMTDMyZW11 KHNpZ3F1ZXVlLCBjb25mb3JtaW5nLA0KPj4gICAJcmV0dXJuIHJldCA/OiBfX2NvYmFsdF9zaWdx dWV1ZShwaWQsIHNpZywgJnZhbCk7DQo+PiAgIH0NCj4+DQo+PiArQ09CQUxUX1NZU0NBTEwzMmVt dShzaWdhY3Rpb24sIGN1cnJlbnQsDQo+PiArCQkgICAgKGludCBzaWcsIHZvaWQgX191c2VyICpo YW5kbGVyLCB2b2lkIF9fdXNlciAqcmVzdG9yZXIpKQ0KPj4gK3sNCj4+ICsJc3RydWN0IGNvYmFs dF9wcGQgKnN5c19wcGQgPSBjb2JhbHRfcHBkX2dldCgwKTsNCj4+ICsNCj4+ICsJaWYgKHNpZyA8 IDAgfHwgc2lnID49IF9OU0lHKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArCXN5 c19wcGQtPnNpZ2hhbmRbc2lnXSA9IGhhbmRsZXI7DQo+PiArDQo+PiArCWlmICghc3lzX3BwZC0+ c2lncmVzdG9yZXIpDQo+PiArCQlzeXNfcHBkLT5zaWdyZXN0b3JlciA9IHJlc3RvcmVyOw0KPj4g Kw0KPj4gKwlyZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAgIENPQkFMVF9TWVNDQUxMMzJlbXUo bW9uaXRvcl93YWl0LCBub25yZXN0YXJ0YWJsZSwNCj4+ICAgCQkgICAgKHN0cnVjdCBjb2JhbHRf bW9uaXRvcl9zaGFkb3cgX191c2VyICp1X21vbiwNCj4+ICAgCQkgICAgIGludCBldmVudCwgY29u c3Qgc3RydWN0IG9sZF90aW1lc3BlYzMyIF9fdXNlciAqdV90cywNCj4+IGRpZmYgLS1naXQgYS9r ZXJuZWwvY29iYWx0L3RocmVhZC5jIGIva2VybmVsL2NvYmFsdC90aHJlYWQuYw0KPj4gaW5kZXgg NDE4MDRiMjRmLi43MWY5N2M0ODEgMTAwNjQ0DQo+PiAtLS0gYS9rZXJuZWwvY29iYWx0L3RocmVh ZC5jDQo+PiArKysgYi9rZXJuZWwvY29iYWx0L3RocmVhZC5jDQo+PiBAQCAtMjUsNiArMjUsNyBA QA0KPj4gICAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+DQo+PiAgICNpbmNsdWRlIDxsaW51eC9w aWQuaD4NCj4+ICAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+DQo+PiArI2luY2x1ZGUgPGFzbS9z aWdoYW5kbGluZy5oPg0KPj4gICAjaW5jbHVkZSA8dWFwaS9saW51eC9zY2hlZC90eXBlcy5oPg0K Pj4gICAjaW5jbHVkZSA8Y29iYWx0L2tlcm5lbC9zY2hlZC5oPg0KPj4gICAjaW5jbHVkZSA8Y29i YWx0L2tlcm5lbC90aW1lci5oPg0KPj4gQEAgLTQzLDYgKzQ0LDcgQEANCj4+ICAgI2luY2x1ZGUg PHBpcGVsaW5lL2luYmFuZF93b3JrLmg+DQo+PiAgICNpbmNsdWRlIDxwaXBlbGluZS9zY2hlZC5o Pg0KPj4gICAjaW5jbHVkZSA8dHJhY2UvZXZlbnRzL2NvYmFsdC1jb3JlLmg+DQo+PiArI2luY2x1 ZGUgInBvc2l4L3Byb2Nlc3MuaCINCj4+ICAgI2luY2x1ZGUgImRlYnVnLmgiDQo+Pg0KPj4gICBz dGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQoam9pbl9hbGwpOw0KPj4gQEAgLTI1MjAsNiAr MjUyMiw0MyBAQCBpbnQgeG50aHJlYWRfa2lsbGFsbChpbnQgZ3JhY2UsIGludCBtYXNrKQ0KPj4g ICB9DQo+PiAgIEVYUE9SVF9TWU1CT0xfR1BMKHhudGhyZWFkX2tpbGxhbGwpOw0KPj4NCj4+ICtp bnQgeG50aHJlYWRfaGFuZGxlX3J0X3NpZ25hbHModW5zaWduZWQgaW50IHRyYXBuciwgc3RydWN0 IHB0X3JlZ3MgKnJlZ3MpDQo+PiArew0KPj4gKwlzdHJ1Y3Qga3NpZ25hbCBrc2lnOw0KPj4gKw0K Pj4gKwl1bnNpZ25lZCBpbnQgdmVjdG9yID0gdHJhcG5yOw0KPj4gKwl1bnNpZ25lZCBpbnQgY29k ZSA9IHhuYXJjaF9mYXVsdF9jb2RlKHJlZ3MpOw0KPj4gKwlzdHJ1Y3QgY29iYWx0X3BwZCAqc3lz X3BwZDsNCj4+ICsJaW50IHNpZywgcmV0ID0gMDsNCj4+ICsJc3RydWN0IGtlcm5lbF9zaWdpbmZv IHNpOw0KPj4gKw0KPj4gKwljb2RlID0geG5hcmNoX2ZhdWx0X2NvZGUocmVncyk7DQo+PiArCXJl dCA9IHhuYXJjaF9zZXR1cF90cmFwX2luZm8odmVjdG9yLCByZWdzLCBjb2RlLCAmc2lnLCAmc2kp Ow0KPj4gKwlpZiAocmV0IHx8IHNpZyA9PSAwKQ0KPj4gKwkJcmV0dXJuIDE7DQo+PiArDQo+PiAr CXN5c19wcGQgPSBjb2JhbHRfcHBkX2dldCgwKTsNCj4+ICsJaWYgKHNpZyA+PSBfTlNJRyB8fA0K Pj4gKwkgICAgc3lzX3BwZC0+c2lnaGFuZFtzaWddID09IE5VTEwgfHwNCj4+ICsJICAgIHN5c19w cGQtPnNpZ2hhbmRbc2lnXSA9PSBTSUdfREZMKQ0KPj4gKwkJcmV0dXJuIDE7DQo+PiArDQo+PiAr CWlmIChzeXNfcHBkLT5zaWdyZXN0b3JlciA9PSBOVUxMKQ0KPj4gKwkJcmV0dXJuIDE7DQo+PiAr DQo+PiArCWtzaWcuc2lnID0gc2lnOw0KPj4gKwltZW1jcHkoJmtzaWcuaW5mbywgJnNpLCBzaXpl b2Yoc2kpKTsNCj4+ICsJa3NpZy5rYS5zYS5zYV9mbGFncyA9IFNBX1NJR0lORk8gfCBTQV9SRVNU T1JFUjsNCj4+ICsJa3NpZy5rYS5zYS5zYV9yZXN0b3JlciA9IHN5c19wcGQtPnNpZ3Jlc3RvcmVy Ow0KPj4gKwlrc2lnLmthLnNhLnNhX2hhbmRsZXIgPSBzeXNfcHBkLT5zaWdoYW5kW3NpZ107DQo+ PiArDQo+PiArCXJldCA9IGRvdmV0YWlsX3NldHVwX3J0X3NpZ25hbF9mcmFtZSgma3NpZywgcmVn cyk7DQo+PiArCWlmIChyZXQpDQo+PiArCQlyZXR1cm4gMTsNCj4+ICsNCj4+ICsJcmV0dXJuIDA7 DQo+PiArfQ0KPj4gKw0KPj4gICAvKiBYZW5vbWFpJ3MgZ2VuZXJpYyBwZXJzb25hbGl0eS4gKi8N Cj4+ICAgc3RydWN0IHhudGhyZWFkX3BlcnNvbmFsaXR5IHhlbm9tYWlfcGVyc29uYWxpdHkgPSB7 DQo+PiAgIAkubmFtZSA9ICJjb3JlIiwNCj4+IGRpZmYgLS1naXQgYS9saWIvY29iYWx0L2FyY2gv eDg2L01ha2VmaWxlLmFtIGIvbGliL2NvYmFsdC9hcmNoL3g4Ni9NYWtlZmlsZS5hbQ0KPj4gaW5k ZXggYTUwOTViZTNkLi4xNGY1ZWZmOTcgMTAwNjQ0DQo+PiAtLS0gYS9saWIvY29iYWx0L2FyY2gv eDg2L01ha2VmaWxlLmFtDQo+PiArKysgYi9saWIvY29iYWx0L2FyY2gveDg2L01ha2VmaWxlLmFt DQo+PiBAQCAtMiw3ICsyLDcgQEAgbm9pbnN0X0xUTElCUkFSSUVTID0gbGliYXJjaC5sYQ0KPj4N Cj4+ICAgbGliYXJjaF9sYV9MREZMQUdTID0gQFhFTk9fTElCX0xERkxBR1NADQo+Pg0KPj4gLWxp YmFyY2hfbGFfU09VUkNFUyA9IGZlYXR1cmVzLmMNCj4+ICtsaWJhcmNoX2xhX1NPVVJDRVMgPSBm ZWF0dXJlcy5jIHNpZ3JldHVybi5jDQo+Pg0KPj4gICBsaWJhcmNoX2xhX0NQUEZMQUdTID0JCQlc DQo+PiAgIAlAWEVOT19DT0JBTFRfQ0ZMQUdTQCAJCVwNCj4+IGRpZmYgLS1naXQgYS9saWIvY29i YWx0L2FyY2gveDg2L3NpZ3JldHVybi5jIGIvbGliL2NvYmFsdC9hcmNoL3g4Ni9zaWdyZXR1cm4u Yw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMC4uNzYyOTJlMTQ1 DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9saWIvY29iYWx0L2FyY2gveDg2L3NpZ3JldHVy bi5jDQo+PiBAQCAtMCwwICsxLDMyIEBADQo+PiArI2luY2x1ZGUgPGNvYmFsdC91YXBpL3N5c2Nh bGwuaD4NCj4+ICsjaW5jbHVkZSAiaW50ZXJuYWwuaCINCj4+ICsNCj4+ICtleHRlcm4gdm9pZCBj b2JhbHRfc2lncmV0dXJuICh2b2lkKSBhc20gKCJfX2NvYmFsdF9zaWdyZXR1cm4iKSBfX2F0dHJp YnV0ZV9fDQo+PiAoKHZpc2liaWxpdHkgKCJoaWRkZW4iKSkpOw0KPj4gKw0KPj4gKyNpZmRlZiBf X3g4Nl82NF9fDQo+PiArI2RlZmluZSBidWlsZF9yZXN0b3JlcihzeXNjYWxsX251bWJlcikgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsJYXNtKCIudGV4dFxu IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+PiArCSAgICAiICAgIC5hbGlnbiAxNlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gKwkgICAgIl9fY29iYWx0X3NpZ3JldHVybjpc biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsJICAg ICIgICAgbW92cSAkICIgI3N5c2NhbGxfbnVtYmVyICIsICVyYXhcbiIgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+PiArCSAgICAiICAgIHN5c2NhbGwiKQ0KPj4gKyNlbmRpZg0KPj4gKw0K Pj4gKyNpZmRlZiBfX2kzODZfXw0KPj4gKyNkZWZpbmUgYnVpbGRfcmVzdG9yZXIoc3lzY2FsbF9u dW1iZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArCWFz bSgiLnRleHRcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPj4gKwkgICAgIiAgICAuYWxpZ24gMTZcbiIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsJICAgICJfX2NvYmFsdF9z aWdyZXR1cm46XG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+PiArCSAgICAiICAgIG1vdmwgJCAiICNzeXNjYWxsX251bWJlciAiLCAlZWF4XG4iICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KPj4gKwkgICAgIiAgICBpbnQgICQweDgwIikNCj4+ICsj ZW5kaWYNCj4+ICsNCj4+ICsvKg0KPj4gKyAqIF9fQ09CQUxUX1NZU0NBTExfQklUIHwgc2NfY29i YWx0X3NpZ3JldHVybg0KPj4gKyAqLw0KPj4gK2J1aWxkX3Jlc3RvcmVyKDB4MTAwMDAwNzgpOw0K Pj4gKw0KPj4gK3ZvaWQgKmNvYmFsdF9nZXRfcmVzdG9yZXIodm9pZCkNCj4+ICt7DQo+PiArCXJl dHVybiAmY29iYWx0X3NpZ3JldHVybjsNCj4+ICt9DQo+PiBkaWZmIC0tZ2l0IGEvbGliL2NvYmFs dC9pbnRlcm5hbC5oIGIvbGliL2NvYmFsdC9pbnRlcm5hbC5oDQo+PiBpbmRleCBhY2IzOTg5ZjEu LjQ3ODJkMTU0YSAxMDA2NDQNCj4+IC0tLSBhL2xpYi9jb2JhbHQvaW50ZXJuYWwuaA0KPj4gKysr IGIvbGliL2NvYmFsdC9pbnRlcm5hbC5oDQo+PiBAQCAtMTMyLDQgKzEzMiw2IEBAIHN0YXRpYyBp bmxpbmUgYm9vbCBjb2JhbHRfZmVhdHVyZXNfYXZhaWxhYmxlKHVuc2lnbmVkIGludA0KPj4gZmVh dF9tYXNrKQ0KPj4gICAJcmV0dXJuIChjb2JhbHRfZmVhdHVyZXMgJiBmZWF0X21hc2spID09IGZl YXRfbWFzazsNCj4+ICAgfQ0KPj4NCj4+ICtleHRlcm4gdm9pZCAqY29iYWx0X2dldF9yZXN0b3Jl cih2b2lkKTsNCj4+ICsNCj4+ICAgI2VuZGlmIC8qIF9MSUJfQ09CQUxUX0lOVEVSTkFMX0ggKi8N Cj4+IGRpZmYgLS1naXQgYS9saWIvY29iYWx0L3NpZ25hbC5jIGIvbGliL2NvYmFsdC9zaWduYWwu Yw0KPj4gaW5kZXggNDBkMzE1ZWJiLi5hZjE3NGQ1NzAgMTAwNjQ0DQo+PiAtLS0gYS9saWIvY29i YWx0L3NpZ25hbC5jDQo+PiArKysgYi9saWIvY29iYWx0L3NpZ25hbC5jDQo+PiBAQCAtMTI2LDMg KzEyNiwxNiBAQCBDT0JBTFRfSU1QTChpbnQsIHNpZ3F1ZXVlLCAocGlkX3QgcGlkLCBpbnQgc2ln LCBjb25zdA0KPj4gdW5pb24gc2lndmFsIHZhbHVlKSkNCj4+DQo+PiAgIAlyZXR1cm4gMDsNCj4+ ICAgfQ0KPj4gKw0KPj4gK2ludCBjb2JhbHRfcnRfc2lnbmFsKGludCBzaWcsIHZvaWQgKCpoYW5k bGVyKShpbnQsIHNpZ2luZm9fdCAqLCB2b2lkICopKQ0KPj4gK3sNCj4+ICsJaW50IHJldDsNCj4+ ICsNCj4+ICsJcmV0ID0gWEVOT01BSV9TWVNDQUxMMyhzY19jb2JhbHRfc2lnYWN0aW9uLCBzaWcs IGhhbmRsZXIsDQo+PiBjb2JhbHRfZ2V0X3Jlc3RvcmVyKCkpOw0KPj4gKwlpZiAocmV0KSB7DQo+ PiArCQllcnJubyA9IC1yZXQ7DQo+PiArCQlyZXR1cm4gLTE7DQo+PiArCX0NCj4+ICsNCj4+ICsJ cmV0dXJuIDA7DQo+PiArfQ0KPj4gLS0NCj4+IDIuMjUuMQ0KPiANCg0K