From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EDE96E7E64B for ; Tue, 26 Sep 2023 16:24:23 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AA29310E407; Tue, 26 Sep 2023 16:24:23 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 64F1E10E407 for ; Tue, 26 Sep 2023 16:24:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695745461; x=1727281461; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=hEzalkNalM0nua+jWzi5Nz9zAkVi3i9h14xuDQxGbEg=; b=QES3Foir0CePEK11FeHEOX+PytTeihTPqsYrDvtFpgfvzPkA6mYOEzWM 5uVm7umFi17oCgIyd7MQ2SdINqhOze9WIN6ihaR3brnpRe5Evm9KVYPK8 5LqzkrysZzbFHswAArc9G1L5EIkDyxgSiU/wDqFTiOevVrBs8bMelHhf/ 5ehx17O1L1m5dx4yWFWqB10L6SbklYtmVxxeTykyjbbQ1Unn04Lj4NExy silr5Lw4sHXQBAEdq8nq8G4i7OpOmnN11KdOwuuBUGdBSp7TQF4lm6Alg iPPvJoNJgZ/C2obJRRhV5xGQC+wKTbEJeDspVhJsGH3/cxnsylxD7iLUB w==; X-IronPort-AV: E=McAfee;i="6600,9927,10845"; a="467893921" X-IronPort-AV: E=Sophos;i="6.03,178,1694761200"; d="scan'208";a="467893921" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Sep 2023 09:24:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10845"; a="864456508" X-IronPort-AV: E=Sophos;i="6.03,178,1694761200"; d="scan'208";a="864456508" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 26 Sep 2023 09:24:20 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.32; Tue, 26 Sep 2023 09:24:20 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 26 Sep 2023 09:24:19 -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.32 via Frontend Transport; Tue, 26 Sep 2023 09:24:19 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) 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.32; Tue, 26 Sep 2023 09:24:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V4p22ahtF0Ygf+Av1IkEwo5sfUek+77dCM+AJy5kLQSPlMm1k3WILrQHwVaJR7rg+2pyj6Hcs5OJtxIukFzcthjL7t8TapV3RPTN5U5op/gBOeK/tiEk2ceqmg5HW8NgB97jjavXta3VtCYA+nPetTg56mGZfU53tA6gagAtVweRmBJSe4wTFWSfLN/NjXtPhoLWo0WtK6CQiYu3+MwVfhd8lGbqcgWsSdwr/GDcaduOBVmKwWHktomCuyub+d4srBFEaewvGy4oeVgh0OCjuC41kS7zFdVoMK/C36MRtwUtZYqY19DOoFEIlSE/ySffdQFooaMPagVXBdDXdxp8tw== 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=hEzalkNalM0nua+jWzi5Nz9zAkVi3i9h14xuDQxGbEg=; b=AhcIoE2AgB6HIkxIgqI9h3CUoOQNcrV0IWHfjNLM4d11ybuN/N3OTEXIeyUkTTqeBr+qEsDe7PNKahcrHhx1PLR1nB4jd0ZWOKoTjvLKfD5Eqo5Jb9Ju8wOgsaPfL2ai6V8PGddQ/B+mHm/9e40hZzDDRtt1oO1vL9ySarlTi/ocCfNnxrKEm0zYZ+IB7Uu+lyKYIH1ggd1vZhBuiI+1XrC2uZAQ+dU4+stHfqderJRV6EIy0jWp5cLHO1Bp9KzWa8+uM0HQWGP/u0XZSZKxazk20r8PRogocnEBLCX4+rZ2ZqLHL63hBLfCniZFTLntg7ldFASPHyF6rVNjw8PdjQ== 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 DM4PR11MB8179.namprd11.prod.outlook.com (2603:10b6:8:18e::22) by DS0PR11MB6470.namprd11.prod.outlook.com (2603:10b6:8:c2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Tue, 26 Sep 2023 16:24:11 +0000 Received: from DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::d6ef:5aaf:ef8f:5d47]) by DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::d6ef:5aaf:ef8f:5d47%7]) with mapi id 15.20.6813.027; Tue, 26 Sep 2023 16:24:10 +0000 From: "Souza, Jose" To: "intel-xe@lists.freedesktop.org" , "Dugast, Francois" Thread-Topic: [Intel-xe] [PATCH v3 29/30] drm/xe/uapi: Add missing DRM_ prefix in uAPI constants Thread-Index: AQHZ8HqDf466AXrGDEefH1p5VLaMb7AtSsoA Date: Tue, 26 Sep 2023 16:24:10 +0000 Message-ID: References: <20230926125540.7-1-francois.dugast@intel.com> <20230926125540.7-30-francois.dugast@intel.com> In-Reply-To: <20230926125540.7-30-francois.dugast@intel.com> Accept-Language: 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: DM4PR11MB8179:EE_|DS0PR11MB6470:EE_ x-ms-office365-filtering-correlation-id: e10bdbe6-15b2-4b84-ee71-08dbbead03f9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oy/yBxrWQp9HCAGnCqoWUy2rK/Sv4zyT6+1zHEljFysytfd0nGq3vyOFW7mjENZSXs9Mo6ud4u+TuGipls4A+ATILRf3Tk7niCkiVFL/YCvc35i7bSVWrR+0d+HJetN7UOl5U9/CWwFRLKcyVe7YeEtZIH9v/Wr1r8qum4DUP5LJ2UK4+KOzrcumozxZRDcioA+0S6F+tmV2DJ5LtR9tbjh/SAt3jgBJIXvauuAYXZOSF/JW3J+OYew20IrAxPM0tdkayRy8Q5h9ofvpJKwkOnV41QPaIq4r05wWZipW3LmphBhv9/rFWONZGY+FArO2p913RWtB2bz1DFcmsGNvIeDzRKKgcEEitCSIUzeJutrtLWDkOmYsGYbVsQ9OAgUSYFLSiekDeE4XMY8z0EF9DW0ov06W6E5u97Cj7Gkctu+0qQkTiv20/4cFCSVH5PQD9nuJMxPcSFMsjmF9NVOxR/AcK+ZG10VSoWfsaltDtHES1AZrLRXr6jQcRHBl479KD9+QpjWf00cn9YMDYma9NrklH2ArY32jAlJ+JJptE1rm+bMX+1ol4S9bmd7zGz2a4n9WYkmPLvDZ+0HuweNrvcy+8tI9T0fNRV+ptMIlD2Bml2dhJ+AKdjxeFTHCbn2S x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB8179.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39860400002)(376002)(136003)(366004)(346002)(230922051799003)(186009)(1800799009)(451199024)(41300700001)(8936002)(5660300002)(8676002)(26005)(2616005)(83380400001)(6512007)(6506007)(6486002)(71200400001)(122000001)(76116006)(478600001)(6636002)(38100700002)(91956017)(66476007)(66556008)(64756008)(110136005)(66946007)(66446008)(36756003)(30864003)(38070700005)(2906002)(82960400001)(86362001)(316002)(559001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dmpZVUp3anFxK0pCb3cyaVRYelRFMURQMXJYRWtJaWRYRjNRcnVXcDJkUFhr?= =?utf-8?B?QStZQ081WXFVeDljcTgrazFYSThheHF5bGFjTjhsNEQzSHJQazFaSDQ0VlAv?= =?utf-8?B?bmtvRDdzc2MwS0U5THZ1TVZwK1UrN0p4NkVobEFVUWhYeDJEbjBoUXByMWZj?= =?utf-8?B?SWhJQ3gvRDhaVzYvUk1EMzJjTXo3azFQUUdzczVWTWxyd2J2VW1OcXJlY3M4?= =?utf-8?B?VHppcmtVYWJDbm5lN0RaamIyM2tNL1FXSTJXZnhUM3VObVI3My9RQlRBN0Q2?= =?utf-8?B?LzVSOGdXQ1VYb2RMVzU4czdpS1U1NXJwRzk3OWkrOFZNT1lhZy8wYlRoZnNZ?= =?utf-8?B?eExvNEFJek1NdkxjQUwzTnZVV2V0RDJCTU40WTFMOCttMEUwNjVvNkF1NG1p?= =?utf-8?B?ZzlSMllPT2xRUldlQ01nQ01HdVh4OXBWRW1kNlJFWndIZTErSU4zVzhBV1Nr?= =?utf-8?B?cmJXRDdpR01LYnI3TDB4bHB5dCtlbVNMenhqTmM3VzFCRmJteFQ0VVk3cWNX?= =?utf-8?B?UHM4RDR1MWhUdjM5SG81VHN6TnpjV3JYMmxKM0hoWWZNWGhoMUtOUHNNUkRB?= =?utf-8?B?M2ovNS8vMkhQWmUrQ0xiMjlCdnA1MzhSZUNqeWZ0TXVBZlpFUVk1bkRtMlAw?= =?utf-8?B?d2ZZYnJ0Z1MvMXdkM25CWnBqSFRXV09oQlR2dVVrdW1SRkE1eEJTSEJxQktI?= =?utf-8?B?WTZOV1Fld0wrZ2F1S2ZnRUsxbk1XdjFVSmJKM1M4c1VDOXZMdmhhald2UGRj?= =?utf-8?B?Y3JpOVc3cWJicytoaC8rMk9QS1BIRHNzdGNVWjBjbldZMFVGVCsxMUFTQVJ4?= =?utf-8?B?TzFEWFN2eXRxQlB3KzR4TkZjUzQ4R3hzN01kR1E0N1Y1VEM2WkdNUnFYR3pI?= =?utf-8?B?cHNiQ2w1NXhYdy9VVjlpL1hmby9xMjR4a1RnQlQ0TEh0UlZoUzFnTklNVFpW?= =?utf-8?B?R1oreTM5Q05PVUc2R3d2K3lOUCsya1ZiL0dXZGV3L2JsdzV4ME84UUVSOGFQ?= =?utf-8?B?a2gwMEUvK1VMcXI1ZTlOdnNGdU1qdkJGTkQrek9MdlRxaGJhaTFwdWd2OHRD?= =?utf-8?B?bncxQWNzQUZROTNrOXVOTHBZbXU3VlozTXFpT3hPMjF2WmdHQVUxQTZpR2M3?= =?utf-8?B?aFg3UFp0eTF0dmJZdTAwNTFpcmVpbjQvUXZJMHMxdUlldUl4WUlDUCtwOFNZ?= =?utf-8?B?dmp6Rk5uUFJLandnb1V6UXFLLzJVdnlzNkp2VTYwcUVmd0hLdUV3VkJqRjFq?= =?utf-8?B?SWFWOVgrYSsrZ3dLc1FMUnR2RGlWV2JjKzdLWG1zWnM0THZJbVFSQUI2OXhF?= =?utf-8?B?cVJkSFdLZXkxZk1MWHpDMnFFRlV0Z25ZWk12M3d6VkRRRUQwTkhyZU0wV1lJ?= =?utf-8?B?eUhXK0dFYmtDcWVqL2NoSlMxcUtZSDN0VlZ5YmJVeFJnYVlUeXJOcWpiNGtu?= =?utf-8?B?SjEycFAxblBuOTVnWFJlK0d2Z0RPTW9EamdDcjQ3em4yNU5SS2w0QXprRmVw?= =?utf-8?B?YVhGdDFaU2oyclNMNFhENEl1ZWJ4MGgxeHcyTlYxL1NJdHBRSlpSLzVvZWlz?= =?utf-8?B?aHVaVmlYUWhvamppZ1RnY2Q2eVNxMEJOeU03eS9DSzczSjJNRWlZT21jblc4?= =?utf-8?B?cWtENGh5TXJjWFJqb1JMdHZpSWlFZ2ZTaVRJSXQrWE1MdThRQVF5dU1VcW9q?= =?utf-8?B?Sm52aHozMnpVRlExbms3cmtNTEV2TnRFVm0zcmxPRWtXeXppTHhNeGN5QXlE?= =?utf-8?B?Y1dWSWp0eGhocnU4NUdpcUN2QVlsWXpqODJjRFpNWEtvbWR3MDJBOTJ3ZG5q?= =?utf-8?B?QnkzQ3JIQVdBcnIyY0Rpb1Jxa09WdFE4SElxcytOV0xGZTFvM25LZW9aZmdH?= =?utf-8?B?eTkyV3hDdkFQVnozQVo4VXJlS1pUK2FzTnkxNmNrN3FKUm42dEVDVmJTRGdN?= =?utf-8?B?aFBzZ3V3VXpuZXpoZ3pLejM4TENFcEdDRC9GUUJrOXEyQnNBOHFQV2UxSHJl?= =?utf-8?B?WE1scmsrWkQrdmJHblB1cG5kRzNYQVU1N1hYdmVvcWVaRnVnRGpHWGkxWjlK?= =?utf-8?B?NFNYSkRzOG5DZlFkNmVNK1pjRUVYUUlGeWZRS09IRmpQZXhmT0c2QUx2ZUlY?= =?utf-8?B?R0VHL2I4N3dDYkZyN2cvc0Z5eFZQSkJZMnhyTi93OHM2dUdrV1FXVVlQbDRO?= =?utf-8?B?YlE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <220F875780EF074296C53B7CBFC6CF63@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB8179.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e10bdbe6-15b2-4b84-ee71-08dbbead03f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2023 16:24:10.8131 (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: xnd5ovQ3xd2lstB6wUpVxMDeeLLawB1pA3U2ETjIwLrgaiPzwNtlrzV4iz7AmbWDa7f5+Q4J8sUHMviZx7RUoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6470 X-OriginatorOrg: intel.com Subject: Re: [Intel-xe] [PATCH v3 29/30] drm/xe/uapi: Add missing DRM_ prefix in uAPI constants X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVHVlLCAyMDIzLTA5LTI2IGF0IDEyOjU1ICswMDAwLCBGcmFuY29pcyBEdWdhc3Qgd3JvdGU6 DQo+IE1vc3QgY29uc3RhbnRzIGRlZmluZWQgaW4geGVfZHJtLmggdXNlIERSTV9YRV8gYXMgcHJl Zml4IHdoaWNoIGlzDQo+IGhlbHBmdWwgdG8gaWRlbnRpZnkgdGhlIG5hbWUgc3BhY2UuIE1ha2Ug dGhpcyBzeXN0ZW1hdGljIGFuZCBhZGQNCj4gdGhpcyBwcmVmaXggd2hlcmUgaXQgd2FzIG1pc3Np bmcuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBGcmFuY29pcyBEdWdhc3QgPGZyYW5jb2lzLmR1Z2Fz dEBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL3hlL3hlX2JvLmMgICAgICAg ICB8ICAxNCArKy0tDQo+ICBkcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jIHwgIDIw ICsrKy0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d0LmMgICAgICAgICB8ICAgMiArLQ0K PiAgZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtdS5jICAgICAgICB8ICAyMCArKystLS0NCj4gIGRy aXZlcnMvZ3B1L2RybS94ZS94ZV9xdWVyeS5jICAgICAgfCAgMzggKysrKystLS0tLQ0KPiAgZHJp dmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMgICAgICAgICB8ICA1NCArKysrKysrLS0tLS0tLQ0KPiAg ZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtX2RvYy5oICAgICB8ICAxMiArKy0tDQo+ICBkcml2ZXJz L2dwdS9kcm0veGUveGVfdm1fbWFkdmlzZS5jIHwgICA4ICstLQ0KPiAgaW5jbHVkZS91YXBpL2Ry bS94ZV9kcm0uaCAgICAgICAgICB8IDExMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0K PiAgOSBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgMTM5IGRlbGV0aW9ucygtKQ0K PiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9iby5jIGIvZHJpdmVycy9n cHUvZHJtL3hlL3hlX2JvLmMNCj4gaW5kZXggNjE3ODljMGU4OGZiLi41YjlmMDc4MzgwNjEgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9iby5jDQo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS94ZS94ZV9iby5jDQo+IEBAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIGludCBfX3hl X2JvX3BsYWNlbWVudF9mb3JfZmxhZ3Moc3RydWN0IHhlX2RldmljZSAqeGUsIHN0cnVjdCB4ZV9i byAqYm8sDQo+ICANCj4gIAkvKiBUaGUgb3JkZXIgb2YgcGxhY2VtZW50cyBzaG91bGQgaW5kaWNh dGUgcHJlZmVycmVkIGxvY2F0aW9uICovDQo+ICANCj4gLQlpZiAoYm8tPnByb3BzLnByZWZlcnJl ZF9tZW1fY2xhc3MgPT0gWEVfTUVNX1JFR0lPTl9DTEFTU19TWVNNRU0pIHsNCj4gKwlpZiAoYm8t PnByb3BzLnByZWZlcnJlZF9tZW1fY2xhc3MgPT0gRFJNX1hFX01FTV9SRUdJT05fQ0xBU1NfU1lT TUVNKSB7DQo+ICAJCXRyeV9hZGRfc3lzdGVtKGJvLCBwbGFjZXMsIGJvX2ZsYWdzLCAmYyk7DQo+ ICAJCXRyeV9hZGRfdnJhbSh4ZSwgYm8sIHBsYWNlcywgYm9fZmxhZ3MsICZjKTsNCj4gIAl9IGVs c2Ugew0KPiBAQCAtMTc3Myw5ICsxNzczLDkgQEAgaW50IHhlX2dlbV9jcmVhdGVfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ ICANCj4gIAlpZiAoWEVfSU9DVExfREJHKHhlLCBhcmdzLT5mbGFncyAmDQo+IC0JCQkgfihYRV9H RU1fQ1JFQVRFX0ZMQUdfREVGRVJfQkFDS0lORyB8DQo+IC0JCQkgICBYRV9HRU1fQ1JFQVRFX0ZM QUdfU0NBTk9VVCB8DQo+IC0JCQkgICBYRV9HRU1fQ1JFQVRFX0ZMQUdfTkVFRFNfVklTSUJMRV9W UkFNIHwNCj4gKwkJCSB+KERSTV9YRV9HRU1fQ1JFQVRFX0ZMQUdfREVGRVJfQkFDS0lORyB8DQo+ ICsJCQkgICBEUk1fWEVfR0VNX0NSRUFURV9GTEFHX1NDQU5PVVQgfA0KPiArCQkJICAgRFJNX1hF X0dFTV9DUkVBVEVfRkxBR19ORUVEU19WSVNJQkxFX1ZSQU0gfA0KPiAgCQkJICAgeGUtPmluZm8u bWVtX3JlZ2lvbl9tYXNrKSkpDQo+ICAJCXJldHVybiAtRUlOVkFMOw0KPiAgDQo+IEBAIC0xNzk1 LDE1ICsxNzk1LDE1IEBAIGludCB4ZV9nZW1fY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsDQo+ICAJaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgYXJncy0+c2l6ZSAm IH5QQUdFX01BU0spKQ0KPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gIA0KPiAtCWlmIChhcmdzLT5m bGFncyAmIFhFX0dFTV9DUkVBVEVfRkxBR19ERUZFUl9CQUNLSU5HKQ0KPiArCWlmIChhcmdzLT5m bGFncyAmIERSTV9YRV9HRU1fQ1JFQVRFX0ZMQUdfREVGRVJfQkFDS0lORykNCj4gIAkJYm9fZmxh Z3MgfD0gWEVfQk9fREVGRVJfQkFDS0lORzsNCj4gIA0KPiAtCWlmIChhcmdzLT5mbGFncyAmIFhF X0dFTV9DUkVBVEVfRkxBR19TQ0FOT1VUKQ0KPiArCWlmIChhcmdzLT5mbGFncyAmIERSTV9YRV9H RU1fQ1JFQVRFX0ZMQUdfU0NBTk9VVCkNCj4gIAkJYm9fZmxhZ3MgfD0gWEVfQk9fU0NBTk9VVF9C SVQ7DQo+ICANCj4gIAlib19mbGFncyB8PSBhcmdzLT5mbGFncyA8PCAoZmZzKFhFX0JPX0NSRUFU RV9TWVNURU1fQklUKSAtIDEpOw0KPiAgDQo+IC0JaWYgKGFyZ3MtPmZsYWdzICYgWEVfR0VNX0NS RUFURV9GTEFHX05FRURTX1ZJU0lCTEVfVlJBTSkgew0KPiArCWlmIChhcmdzLT5mbGFncyAmIERS TV9YRV9HRU1fQ1JFQVRFX0ZMQUdfTkVFRFNfVklTSUJMRV9WUkFNKSB7DQo+ICAJCWlmIChYRV9J T0NUTF9EQkcoeGUsICEoYm9fZmxhZ3MgJiBYRV9CT19DUkVBVEVfVlJBTV9NQVNLKSkpDQo+ICAJ CQlyZXR1cm4gLUVJTlZBTDsNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hl L3hlX2V4ZWNfcXVldWUuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMNCj4g aW5kZXggZGQ2MWM0MjY3ZTI0Li45OGY5ZDRjZDljYzUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hl X2V4ZWNfcXVldWUuYw0KPiBAQCAtNDAzLDE0ICs0MDMsMTQgQEAgdHlwZWRlZiBpbnQgKCp4ZV9l eGVjX3F1ZXVlX3NldF9wcm9wZXJ0eV9mbikoc3RydWN0IHhlX2RldmljZSAqeGUsDQo+ICAJCQkJ CSAgICAgdTY0IHZhbHVlLCBib29sIGNyZWF0ZSk7DQo+ICANCj4gIHN0YXRpYyBjb25zdCB4ZV9l eGVjX3F1ZXVlX3NldF9wcm9wZXJ0eV9mbiBleGVjX3F1ZXVlX3NldF9wcm9wZXJ0eV9mdW5jc1td ID0gew0KPiAtCVtYRV9FWEVDX1FVRVVFX1NFVF9QUk9QRVJUWV9QUklPUklUWV0gPSBleGVjX3F1 ZXVlX3NldF9wcmlvcml0eSwNCj4gLQlbWEVfRVhFQ19RVUVVRV9TRVRfUFJPUEVSVFlfVElNRVNM SUNFXSA9IGV4ZWNfcXVldWVfc2V0X3RpbWVzbGljZSwNCj4gLQlbWEVfRVhFQ19RVUVVRV9TRVRf UFJPUEVSVFlfUFJFRU1QVElPTl9USU1FT1VUXSA9IGV4ZWNfcXVldWVfc2V0X3ByZWVtcHRpb25f dGltZW91dCwNCj4gLQlbWEVfRVhFQ19RVUVVRV9TRVRfUFJPUEVSVFlfUEVSU0lTVEVOQ0VdID0g ZXhlY19xdWV1ZV9zZXRfcGVyc2lzdGVuY2UsDQo+IC0JW1hFX0VYRUNfUVVFVUVfU0VUX1BST1BF UlRZX0pPQl9USU1FT1VUXSA9IGV4ZWNfcXVldWVfc2V0X2pvYl90aW1lb3V0LA0KPiAtCVtYRV9F WEVDX1FVRVVFX1NFVF9QUk9QRVJUWV9BQ0NfVFJJR0dFUl0gPSBleGVjX3F1ZXVlX3NldF9hY2Nf dHJpZ2dlciwNCj4gLQlbWEVfRVhFQ19RVUVVRV9TRVRfUFJPUEVSVFlfQUNDX05PVElGWV0gPSBl eGVjX3F1ZXVlX3NldF9hY2Nfbm90aWZ5LA0KPiAtCVtYRV9FWEVDX1FVRVVFX1NFVF9QUk9QRVJU WV9BQ0NfR1JBTlVMQVJJVFldID0gZXhlY19xdWV1ZV9zZXRfYWNjX2dyYW51bGFyaXR5LA0KPiAr CVtEUk1fWEVfRVhFQ19RVUVVRV9TRVRfUFJPUEVSVFlfUFJJT1JJVFldID0gZXhlY19xdWV1ZV9z ZXRfcHJpb3JpdHksDQo+ICsJW0RSTV9YRV9FWEVDX1FVRVVFX1NFVF9QUk9QRVJUWV9USU1FU0xJ Q0VdID0gZXhlY19xdWV1ZV9zZXRfdGltZXNsaWNlLA0KPiArCVtEUk1fWEVfRVhFQ19RVUVVRV9T RVRfUFJPUEVSVFlfUFJFRU1QVElPTl9USU1FT1VUXSA9IGV4ZWNfcXVldWVfc2V0X3ByZWVtcHRp b25fdGltZW91dCwNCj4gKwlbRFJNX1hFX0VYRUNfUVVFVUVfU0VUX1BST1BFUlRZX1BFUlNJU1RF TkNFXSA9IGV4ZWNfcXVldWVfc2V0X3BlcnNpc3RlbmNlLA0KPiArCVtEUk1fWEVfRVhFQ19RVUVV RV9TRVRfUFJPUEVSVFlfSk9CX1RJTUVPVVRdID0gZXhlY19xdWV1ZV9zZXRfam9iX3RpbWVvdXQs DQo+ICsJW0RSTV9YRV9FWEVDX1FVRVVFX1NFVF9QUk9QRVJUWV9BQ0NfVFJJR0dFUl0gPSBleGVj X3F1ZXVlX3NldF9hY2NfdHJpZ2dlciwNCj4gKwlbRFJNX1hFX0VYRUNfUVVFVUVfU0VUX1BST1BF UlRZX0FDQ19OT1RJRlldID0gZXhlY19xdWV1ZV9zZXRfYWNjX25vdGlmeSwNCj4gKwlbRFJNX1hF X0VYRUNfUVVFVUVfU0VUX1BST1BFUlRZX0FDQ19HUkFOVUxBUklUWV0gPSBleGVjX3F1ZXVlX3Nl dF9hY2NfZ3JhbnVsYXJpdHksDQo+ICB9Ow0KPiAgDQo+ICBzdGF0aWMgaW50IGV4ZWNfcXVldWVf dXNlcl9leHRfc2V0X3Byb3BlcnR5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlLA0KPiBAQCAtNDQyLDcg KzQ0Miw3IEBAIHR5cGVkZWYgaW50ICgqeGVfZXhlY19xdWV1ZV91c2VyX2V4dGVuc2lvbl9mbiko c3RydWN0IHhlX2RldmljZSAqeGUsDQo+ICAJCQkJCSAgICAgICBib29sIGNyZWF0ZSk7DQo+ICAN Cj4gIHN0YXRpYyBjb25zdCB4ZV9leGVjX3F1ZXVlX3NldF9wcm9wZXJ0eV9mbiBleGVjX3F1ZXVl X3VzZXJfZXh0ZW5zaW9uX2Z1bmNzW10gPSB7DQo+IC0JW1hFX0VYRUNfUVVFVUVfRVhURU5TSU9O X1NFVF9QUk9QRVJUWV0gPSBleGVjX3F1ZXVlX3VzZXJfZXh0X3NldF9wcm9wZXJ0eSwNCj4gKwlb RFJNX1hFX0VYRUNfUVVFVUVfRVhURU5TSU9OX1NFVF9QUk9QRVJUWV0gPSBleGVjX3F1ZXVlX3Vz ZXJfZXh0X3NldF9wcm9wZXJ0eSwNCj4gIH07DQo+ICANCj4gICNkZWZpbmUgTUFYX1VTRVJfRVhU RU5TSU9OUwkxNg0KPiBAQCAtNzYxLDcgKzc2MSw3IEBAIGludCB4ZV9leGVjX3F1ZXVlX2dldF9w cm9wZXJ0eV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLA0KPiAgCQly ZXR1cm4gLUVOT0VOVDsNCj4gIA0KPiAgCXN3aXRjaCAoYXJncy0+cHJvcGVydHkpIHsNCj4gLQlj YXNlIFhFX0VYRUNfUVVFVUVfR0VUX1BST1BFUlRZX0JBTjoNCj4gKwljYXNlIERSTV9YRV9FWEVD X1FVRVVFX0dFVF9QUk9QRVJUWV9CQU46DQo+ICAJCWFyZ3MtPnZhbHVlID0gISEocS0+ZmxhZ3Mg JiBFWEVDX1FVRVVFX0ZMQUdfQkFOTkVEKTsNCj4gIAkJcmV0ID0gMDsNCj4gIAkJYnJlYWs7DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3QuYyBiL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9ndC5jDQo+IGluZGV4IDFhYTQ0ZDRmOWFjMS4uNTM3MGUwYzg4YmZkIDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3QuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0veGUveGVfZ3QuYw0KPiBAQCAtNTM0LDcgKzUzNCw3IEBAIHN0YXRpYyB2b2lkIHhlX3VldmVu dF9ndF9yZXNldF9mYWlsdXJlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1OCB0aWxlX2lkLCB1OCBn dF9pDQo+ICB7DQo+ICAJY2hhciAqcmVzZXRfZXZlbnRbNF07DQo+ICANCj4gLQlyZXNldF9ldmVu dFswXSA9IFhFX1JFU0VUX0ZBSUxFRF9VRVZFTlQgIj1ORUVEU19SRVNFVCI7DQo+ICsJcmVzZXRf ZXZlbnRbMF0gPSBEUk1fWEVfUkVTRVRfRkFJTEVEX1VFVkVOVCAiPU5FRURTX1JFU0VUIjsNCj4g IAlyZXNldF9ldmVudFsxXSA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiVElMRV9JRD0lZCIsIHRp bGVfaWQpOw0KPiAgCXJlc2V0X2V2ZW50WzJdID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICJHVF9J RD0lZCIsIGd0X2lkKTsNCj4gIAlyZXNldF9ldmVudFszXSA9IE5VTEw7DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG11LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG11 LmMNCj4gaW5kZXggYWJmYzBiM2FlYWM0Li44Mzc4Y2EzMDA3ZDkgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS94ZS94ZV9wbXUuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVf cG11LmMNCj4gQEAgLTExNCwxNyArMTE0LDE3IEBAIGNvbmZpZ19zdGF0dXMoc3RydWN0IHhlX2Rl dmljZSAqeGUsIHU2NCBjb25maWcpDQo+ICAJCXJldHVybiAtRU5PRU5UOw0KPiAgDQo+ICAJc3dp dGNoIChjb25maWdfY291bnRlcihjb25maWcpKSB7DQo+IC0JY2FzZSBYRV9QTVVfSU5URVJSVVBU UygwKToNCj4gKwljYXNlIERSTV9YRV9QTVVfSU5URVJSVVBUUygwKToNCj4gIAkJaWYgKGd0X2lk KQ0KPiAgCQkJcmV0dXJuIC1FTk9FTlQ7DQo+ICAJCWJyZWFrOw0KPiAtCWNhc2UgWEVfUE1VX1JF TkRFUl9HUk9VUF9CVVNZKDApOg0KPiAtCWNhc2UgWEVfUE1VX0NPUFlfR1JPVVBfQlVTWSgwKToN Cj4gLQljYXNlIFhFX1BNVV9BTllfRU5HSU5FX0dST1VQX0JVU1koMCk6DQo+ICsJY2FzZSBEUk1f WEVfUE1VX1JFTkRFUl9HUk9VUF9CVVNZKDApOg0KPiArCWNhc2UgRFJNX1hFX1BNVV9DT1BZX0dS T1VQX0JVU1koMCk6DQo+ICsJY2FzZSBEUk1fWEVfUE1VX0FOWV9FTkdJTkVfR1JPVVBfQlVTWSgw KToNCj4gIAkJaWYgKGd0LT5pbmZvLnR5cGUgPT0gWEVfR1RfVFlQRV9NRURJQSkNCj4gIAkJCXJl dHVybiAtRU5PRU5UOw0KPiAgCQlicmVhazsNCj4gLQljYXNlIFhFX1BNVV9NRURJQV9HUk9VUF9C VVNZKDApOg0KPiArCWNhc2UgRFJNX1hFX1BNVV9NRURJQV9HUk9VUF9CVVNZKDApOg0KPiAgCQlp ZiAoIShndC0+aW5mby5lbmdpbmVfbWFzayAmIChCSVQoWEVfSFdfRU5HSU5FX1ZDUzApIHwgQklU KFhFX0hXX0VOR0lORV9WRUNTMCkpKSkNCj4gIAkJCXJldHVybiAtRU5PRU5UOw0KPiAgCQlicmVh azsNCj4gQEAgLTE4NSwxMyArMTg1LDEzIEBAIHN0YXRpYyB1NjQgX194ZV9wbXVfZXZlbnRfcmVh ZChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpDQo+ICAJdTY0IHZhbDsNCj4gIA0KPiAgCXN3aXRj aCAoY29uZmlnX2NvdW50ZXIoY29uZmlnKSkgew0KPiAtCWNhc2UgWEVfUE1VX0lOVEVSUlVQVFMo MCk6DQo+ICsJY2FzZSBEUk1fWEVfUE1VX0lOVEVSUlVQVFMoMCk6DQo+ICAJCXZhbCA9IFJFQURf T05DRShwbXUtPmlycV9jb3VudCk7DQo+ICAJCWJyZWFrOw0KPiAtCWNhc2UgWEVfUE1VX1JFTkRF Ul9HUk9VUF9CVVNZKDApOg0KPiAtCWNhc2UgWEVfUE1VX0NPUFlfR1JPVVBfQlVTWSgwKToNCj4g LQljYXNlIFhFX1BNVV9BTllfRU5HSU5FX0dST1VQX0JVU1koMCk6DQo+IC0JY2FzZSBYRV9QTVVf TUVESUFfR1JPVVBfQlVTWSgwKToNCj4gKwljYXNlIERSTV9YRV9QTVVfUkVOREVSX0dST1VQX0JV U1koMCk6DQo+ICsJY2FzZSBEUk1fWEVfUE1VX0NPUFlfR1JPVVBfQlVTWSgwKToNCj4gKwljYXNl IERSTV9YRV9QTVVfQU5ZX0VOR0lORV9HUk9VUF9CVVNZKDApOg0KPiArCWNhc2UgRFJNX1hFX1BN VV9NRURJQV9HUk9VUF9CVVNZKDApOg0KPiAgCQl2YWwgPSBlbmdpbmVfZ3JvdXBfYnVzeW5lc3Nf cmVhZChndCwgY29uZmlnKTsNCj4gIAkJYnJlYWs7DQo+ICAJZGVmYXVsdDoNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9xdWVyeS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hl X3F1ZXJ5LmMNCj4gaW5kZXggMTc4NTc4MjdkM2JkLi44NmVlNzdlYTViYTMgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9xdWVyeS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9xdWVyeS5jDQo+IEBAIC0yNjQsNyArMjY0LDcgQEAgc3RhdGljIGludCBxdWVyeV9t ZW1vcnlfdXNhZ2Uoc3RydWN0IHhlX2RldmljZSAqeGUsDQo+ICAJCXJldHVybiAtRU5PTUVNOw0K PiAgDQo+ICAJbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmeGUtPnR0bSwgWEVfUExfVFQpOw0KPiAt CXVzYWdlLT5yZWdpb25zWzBdLm1lbV9jbGFzcyA9IFhFX01FTV9SRUdJT05fQ0xBU1NfU1lTTUVN Ow0KPiArCXVzYWdlLT5yZWdpb25zWzBdLm1lbV9jbGFzcyA9IERSTV9YRV9NRU1fUkVHSU9OX0NM QVNTX1NZU01FTTsNCj4gIAl1c2FnZS0+cmVnaW9uc1swXS5pbnN0YW5jZSA9IDA7DQo+ICAJdXNh Z2UtPnJlZ2lvbnNbMF0ubWluX3BhZ2Vfc2l6ZSA9IFBBR0VfU0laRTsNCj4gIAl1c2FnZS0+cmVn aW9uc1swXS50b3RhbF9zaXplID0gbWFuLT5zaXplIDw8IFBBR0VfU0hJRlQ7DQo+IEBAIC0yNzYs NyArMjc2LDcgQEAgc3RhdGljIGludCBxdWVyeV9tZW1vcnlfdXNhZ2Uoc3RydWN0IHhlX2Rldmlj ZSAqeGUsDQo+ICAJCW1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJnhlLT50dG0sIGkpOw0KPiAgCQlp ZiAobWFuKSB7DQo+ICAJCQl1c2FnZS0+cmVnaW9uc1t1c2FnZS0+bnVtX3JlZ2lvbnNdLm1lbV9j bGFzcyA9DQo+IC0JCQkJWEVfTUVNX1JFR0lPTl9DTEFTU19WUkFNOw0KPiArCQkJCURSTV9YRV9N RU1fUkVHSU9OX0NMQVNTX1ZSQU07DQo+ICAJCQl1c2FnZS0+cmVnaW9uc1t1c2FnZS0+bnVtX3Jl Z2lvbnNdLmluc3RhbmNlID0NCj4gIAkJCQl1c2FnZS0+bnVtX3JlZ2lvbnM7DQo+ICAJCQl1c2Fn ZS0+cmVnaW9uc1t1c2FnZS0+bnVtX3JlZ2lvbnNdLm1pbl9wYWdlX3NpemUgPQ0KPiBAQCAtMzA4 LDcgKzMwOCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfbWVtb3J5X3VzYWdlKHN0cnVjdCB4ZV9kZXZp Y2UgKnhlLA0KPiAgDQo+ICBzdGF0aWMgaW50IHF1ZXJ5X2NvbmZpZyhzdHJ1Y3QgeGVfZGV2aWNl ICp4ZSwgc3RydWN0IGRybV94ZV9kZXZpY2VfcXVlcnkgKnF1ZXJ5KQ0KPiAgew0KPiAtI2RlZmlu ZSBYRV9RVUVSWV9DT05GSUdfTlVNX1BBUkFNCShYRV9RVUVSWV9DT05GSUdfTUFYX0VYRUNfUVVF VUVfUFJJT1JJVFkgKyAxKQ0KPiArI2RlZmluZSBYRV9RVUVSWV9DT05GSUdfTlVNX1BBUkFNCShE Uk1fWEVfUVVFUllfQ09ORklHX01BWF9FWEVDX1FVRVVFX1BSSU9SSVRZICsgMSkNCj4gIAlzaXpl X3Qgc2l6ZSA9DQo+ICAJCXNpemVvZihzdHJ1Y3QgZHJtX3hlX3F1ZXJ5X2NvbmZpZykNCj4gIAkJ KyBYRV9RVUVSWV9DT05GSUdfTlVNX1BBUkFNICogc2l6ZW9mKHU2NCk7DQo+IEBAIC0zMjcsMTgg KzMyNywxOCBAQCBzdGF0aWMgaW50IHF1ZXJ5X2NvbmZpZyhzdHJ1Y3QgeGVfZGV2aWNlICp4ZSwg c3RydWN0IGRybV94ZV9kZXZpY2VfcXVlcnkgKnF1ZXJ5KQ0KPiAgCWlmICghY29uZmlnKQ0KPiAg CQlyZXR1cm4gLUVOT01FTTsNCj4gIA0KPiAtCWNvbmZpZy0+aW5mb1tYRV9RVUVSWV9DT05GSUdf UkVWX0FORF9ERVZJQ0VfSURdID0NCj4gKwljb25maWctPmluZm9bRFJNX1hFX1FVRVJZX0NPTkZJ R19SRVZfQU5EX0RFVklDRV9JRF0gPQ0KPiAgCQl4ZS0+aW5mby5kZXZpZCB8ICh4ZS0+aW5mby5y ZXZpZCA8PCAxNik7DQo+ICAJaWYgKHhlX2RldmljZV9nZXRfcm9vdF90aWxlKHhlKS0+bWVtLnZy YW0udXNhYmxlX3NpemUpDQo+IC0JCWNvbmZpZy0+aW5mb1tYRV9RVUVSWV9DT05GSUdfRkxBR1Nd ID0NCj4gLQkJCVhFX1FVRVJZX0NPTkZJR19GTEFHU19IQVNfVlJBTTsNCj4gLQljb25maWctPmlu Zm9bWEVfUVVFUllfQ09ORklHX01JTl9BTElHTk1FTlRdID0NCj4gKwkJY29uZmlnLT5pbmZvW0RS TV9YRV9RVUVSWV9DT05GSUdfRkxBR1NdID0NCj4gKwkJCURSTV9EUk1fWEVfUVVFUllfQ09ORklH X0ZMQUdTX0hBU19WUkFNOw0KPiArCWNvbmZpZy0+aW5mb1tEUk1fWEVfUVVFUllfQ09ORklHX01J Tl9BTElHTk1FTlRdID0NCj4gIAkJeGUtPmluZm8udnJhbV9mbGFncyAmIFhFX1ZSQU1fRkxBR1Nf TkVFRDY0SyA/IFNaXzY0SyA6IFNaXzRLOw0KPiAtCWNvbmZpZy0+aW5mb1tYRV9RVUVSWV9DT05G SUdfVkFfQklUU10gPSB4ZS0+aW5mby52YV9iaXRzOw0KPiAtCWNvbmZpZy0+aW5mb1tYRV9RVUVS WV9DT05GSUdfR1RfQ09VTlRdID0geGUtPmluZm8uZ3RfY291bnQ7DQo+IC0JY29uZmlnLT5pbmZv W1hFX1FVRVJZX0NPTkZJR19NRU1fUkVHSU9OX0NPVU5UXSA9DQo+ICsJY29uZmlnLT5pbmZvW0RS TV9YRV9RVUVSWV9DT05GSUdfVkFfQklUU10gPSB4ZS0+aW5mby52YV9iaXRzOw0KPiArCWNvbmZp Zy0+aW5mb1tEUk1fWEVfUVVFUllfQ09ORklHX0dUX0NPVU5UXSA9IHhlLT5pbmZvLmd0X2NvdW50 Ow0KPiArCWNvbmZpZy0+aW5mb1tEUk1fWEVfUVVFUllfQ09ORklHX01FTV9SRUdJT05fQ09VTlRd ID0NCj4gIAkJaHdlaWdodF9sb25nKHhlLT5pbmZvLm1lbV9yZWdpb25fbWFzayk7DQo+IC0JY29u ZmlnLT5pbmZvW1hFX1FVRVJZX0NPTkZJR19NQVhfRVhFQ19RVUVVRV9QUklPUklUWV0gPQ0KPiAr CWNvbmZpZy0+aW5mb1tEUk1fWEVfUVVFUllfQ09ORklHX01BWF9FWEVDX1FVRVVFX1BSSU9SSVRZ XSA9DQo+ICAJCXhlX2V4ZWNfcXVldWVfZGV2aWNlX2dldF9tYXhfcHJpb3JpdHkoeGUpOw0KPiAg DQo+ICAJaWYgKGNvcHlfdG9fdXNlcihxdWVyeV9wdHIsIGNvbmZpZywgc2l6ZSkpIHsNCj4gQEAg LTM3NCwxMSArMzc0LDExIEBAIHN0YXRpYyBpbnQgcXVlcnlfZ3RfbGlzdChzdHJ1Y3QgeGVfZGV2 aWNlICp4ZSwgc3RydWN0IGRybV94ZV9kZXZpY2VfcXVlcnkgKnF1ZXJ5DQo+ICAJZ3RfbGlzdC0+ bnVtX2d0ID0geGUtPmluZm8uZ3RfY291bnQ7DQo+ICAJZm9yX2VhY2hfZ3QoZ3QsIHhlLCBpZCkg ew0KPiAgCQlpZiAoeGVfZ3RfaXNfbWVkaWFfdHlwZShndCkpDQo+IC0JCQlndF9saXN0LT5ndF9s aXN0W2lkXS50eXBlID0gWEVfUVVFUllfR1RfVFlQRV9NRURJQTsNCj4gKwkJCWd0X2xpc3QtPmd0 X2xpc3RbaWRdLnR5cGUgPSBEUk1fWEVfUVVFUllfR1RfVFlQRV9NRURJQTsNCj4gIAkJZWxzZSBp ZiAoZ3RfdG9fdGlsZShndCktPmlkID4gMCkNCj4gLQkJCWd0X2xpc3QtPmd0X2xpc3RbaWRdLnR5 cGUgPSBYRV9RVUVSWV9HVF9UWVBFX1JFTU9URTsNCj4gKwkJCWd0X2xpc3QtPmd0X2xpc3RbaWRd LnR5cGUgPSBEUk1fWEVfUVVFUllfR1RfVFlQRV9SRU1PVEU7DQo+ICAJCWVsc2UNCj4gLQkJCWd0 X2xpc3QtPmd0X2xpc3RbaWRdLnR5cGUgPSBYRV9RVUVSWV9HVF9UWVBFX01BSU47DQo+ICsJCQln dF9saXN0LT5ndF9saXN0W2lkXS50eXBlID0gRFJNX1hFX1FVRVJZX0dUX1RZUEVfTUFJTjsNCj4g IAkJZ3RfbGlzdC0+Z3RfbGlzdFtpZF0uZ3RfaWQgPSBndC0+aW5mby5pZDsNCj4gIAkJaWYgKCFJ U19ER0ZYKHhlKSkNCj4gIAkJCWd0X2xpc3QtPmd0X2xpc3RbaWRdLm5hdGl2ZV9tZW1fcmVnaW9u cyA9IDB4MTsNCj4gQEAgLTQ3NSwyMSArNDc1LDIxIEBAIHN0YXRpYyBpbnQgcXVlcnlfZ3RfdG9w b2xvZ3koc3RydWN0IHhlX2RldmljZSAqeGUsDQo+ICAJZm9yX2VhY2hfZ3QoZ3QsIHhlLCBpZCkg ew0KPiAgCQl0b3BvLmd0X2lkID0gaWQ7DQo+ICANCj4gLQkJdG9wby50eXBlID0gWEVfVE9QT19E U1NfR0VPTUVUUlk7DQo+ICsJCXRvcG8udHlwZSA9IERSTV9YRV9UT1BPX0RTU19HRU9NRVRSWTsN Cj4gIAkJcXVlcnlfcHRyID0gY29weV9tYXNrKHF1ZXJ5X3B0ciwgJnRvcG8sDQo+ICAJCQkJICAg ICAgZ3QtPmZ1c2VfdG9wby5nX2Rzc19tYXNrLA0KPiAgCQkJCSAgICAgIHNpemVvZihndC0+ZnVz ZV90b3BvLmdfZHNzX21hc2spKTsNCj4gIAkJaWYgKElTX0VSUihxdWVyeV9wdHIpKQ0KPiAgCQkJ cmV0dXJuIFBUUl9FUlIocXVlcnlfcHRyKTsNCj4gIA0KPiAtCQl0b3BvLnR5cGUgPSBYRV9UT1BP X0RTU19DT01QVVRFOw0KPiArCQl0b3BvLnR5cGUgPSBEUk1fWEVfVE9QT19EU1NfQ09NUFVURTsN Cj4gIAkJcXVlcnlfcHRyID0gY29weV9tYXNrKHF1ZXJ5X3B0ciwgJnRvcG8sDQo+ICAJCQkJICAg ICAgZ3QtPmZ1c2VfdG9wby5jX2Rzc19tYXNrLA0KPiAgCQkJCSAgICAgIHNpemVvZihndC0+ZnVz ZV90b3BvLmNfZHNzX21hc2spKTsNCj4gIAkJaWYgKElTX0VSUihxdWVyeV9wdHIpKQ0KPiAgCQkJ cmV0dXJuIFBUUl9FUlIocXVlcnlfcHRyKTsNCj4gIA0KPiAtCQl0b3BvLnR5cGUgPSBYRV9UT1BP X0VVX1BFUl9EU1M7DQo+ICsJCXRvcG8udHlwZSA9IERSTV9YRV9UT1BPX0VVX1BFUl9EU1M7DQo+ ICAJCXF1ZXJ5X3B0ciA9IGNvcHlfbWFzayhxdWVyeV9wdHIsICZ0b3BvLA0KPiAgCQkJCSAgICAg IGd0LT5mdXNlX3RvcG8uZXVfbWFza19wZXJfZHNzLA0KPiAgCQkJCSAgICAgIHNpemVvZihndC0+ ZnVzZV90b3BvLmV1X21hc2tfcGVyX2RzcykpOw0KPiBAQCAtNTIxLDcgKzUyMSw3IEBAIHF1ZXJ5 X3VjX2Z3X3ZlcnNpb24oc3RydWN0IHhlX2RldmljZSAqeGUsIHN0cnVjdCBkcm1feGVfZGV2aWNl X3F1ZXJ5ICpxdWVyeSkNCj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICANCj4gIAlzd2l0Y2ggKHJl c3AudWNfdHlwZSkgew0KPiAtCWNhc2UgWEVfUVVFUllfVUNfVFlQRV9HVUM6IHsNCj4gKwljYXNl IERSTV9YRV9RVUVSWV9VQ19UWVBFX0dVQzogew0KPiAgCQlzdHJ1Y3QgeGVfZ3VjICpndWMgPSAm eGUtPnRpbGVzWzBdLnByaW1hcnlfZ3QtPnVjLmd1YzsNCj4gIA0KPiAgCQlyZXNwLm1ham9yX3Zl ciA9IGd1Yy0+c3VibWlzc2lvbl9zdGF0ZS52ZXJzaW9uLm1ham9yOw0KPiBAQCAtNTMwLDcgKzUz MCw3IEBAIHF1ZXJ5X3VjX2Z3X3ZlcnNpb24oc3RydWN0IHhlX2RldmljZSAqeGUsIHN0cnVjdCBk cm1feGVfZGV2aWNlX3F1ZXJ5ICpxdWVyeSkNCj4gIAkJcmVzcC5icmFuY2hfdmVyID0gMDsNCj4g IAkJYnJlYWs7DQo+ICAJfQ0KPiAtCWNhc2UgWEVfUVVFUllfVUNfVFlQRV9IVUM6IHsNCj4gKwlj YXNlIERSTV9YRV9RVUVSWV9VQ19UWVBFX0hVQzogew0KPiAgCQlzdHJ1Y3QgeGVfaHVjICpodWMg PSAmeGUtPnRpbGVzWzBdLnByaW1hcnlfZ3QtPnVjLmh1YzsNCj4gIA0KPiAgCQlyZXNwLm1ham9y X3ZlciA9IGh1Yy0+ZncubWFqb3JfdmVyX2ZvdW5kOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3hlL3hlX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYw0KPiBpbmRleCBh Y2YwOTdjNTcyNTkuLmY5ODU1ODBiMGVlYiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3hlL3hlX3ZtLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMNCj4gQEAgLTIw NDksOCArMjA0OSw4IEBAIHZtX2JpbmRfaW9jdGxfb3BzX2NyZWF0ZShzdHJ1Y3QgeGVfdm0gKnZt LCBzdHJ1Y3QgeGVfYm8gKmJvLA0KPiAgCSAgICAgICAoVUxMKWJvX29mZnNldF9vcl91c2VycHRy KTsNCj4gIA0KPiAgCXN3aXRjaCAob3BlcmF0aW9uKSB7DQo+IC0JY2FzZSBYRV9WTV9CSU5EX09Q X01BUDoNCj4gLQljYXNlIFhFX1ZNX0JJTkRfT1BfTUFQX1VTRVJQVFI6DQo+ICsJY2FzZSBEUk1f WEVfVk1fQklORF9PUF9NQVA6DQo+ICsJY2FzZSBEUk1fRFJNX1hFX1ZNX0JJTkRfT1BfTUFQX1VT RVJQVFI6DQo+ICAJCW9wcyA9IGRybV9ncHV2YV9zbV9tYXBfb3BzX2NyZWF0ZSgmdm0tPm1nciwg YWRkciwgcmFuZ2UsDQo+ICAJCQkJCQkgIG9iaiwgYm9fb2Zmc2V0X29yX3VzZXJwdHIpOw0KPiAg CQlpZiAoSVNfRVJSKG9wcykpDQo+IEBAIC0yMDYxLDEzICsyMDYxLDEzIEBAIHZtX2JpbmRfaW9j dGxfb3BzX2NyZWF0ZShzdHJ1Y3QgeGVfdm0gKnZtLCBzdHJ1Y3QgeGVfYm8gKmJvLA0KPiAgDQo+ ICAJCQlvcC0+dGlsZV9tYXNrID0gdGlsZV9tYXNrOw0KPiAgCQkJb3AtPm1hcC5pbW1lZGlhdGUg PQ0KPiAtCQkJCWZsYWdzICYgWEVfVk1fQklORF9GTEFHX0lNTUVESUFURTsNCj4gKwkJCQlmbGFn cyAmIERSTV9YRV9WTV9CSU5EX0ZMQUdfSU1NRURJQVRFOw0KPiAgCQkJb3AtPm1hcC5yZWFkX29u bHkgPQ0KPiAtCQkJCWZsYWdzICYgWEVfVk1fQklORF9GTEFHX1JFQURPTkxZOw0KPiAtCQkJb3At Pm1hcC5pc19udWxsID0gZmxhZ3MgJiBYRV9WTV9CSU5EX0ZMQUdfTlVMTDsNCj4gKwkJCQlmbGFn cyAmIERSTV9YRV9WTV9CSU5EX0ZMQUdfUkVBRE9OTFk7DQo+ICsJCQlvcC0+bWFwLmlzX251bGwg PSBmbGFncyAmIERSTV9YRV9WTV9CSU5EX0ZMQUdfTlVMTDsNCj4gIAkJfQ0KPiAgCQlicmVhazsN Cj4gLQljYXNlIFhFX1ZNX0JJTkRfT1BfVU5NQVA6DQo+ICsJY2FzZSBEUk1fWEVfVk1fQklORF9P UF9VTk1BUDoNCj4gIAkJb3BzID0gZHJtX2dwdXZhX3NtX3VubWFwX29wc19jcmVhdGUoJnZtLT5t Z3IsIGFkZHIsIHJhbmdlKTsNCj4gIAkJaWYgKElTX0VSUihvcHMpKQ0KPiAgCQkJcmV0dXJuIG9w czsNCj4gQEAgLTIwNzgsNyArMjA3OCw3IEBAIHZtX2JpbmRfaW9jdGxfb3BzX2NyZWF0ZShzdHJ1 Y3QgeGVfdm0gKnZtLCBzdHJ1Y3QgeGVfYm8gKmJvLA0KPiAgCQkJb3AtPnRpbGVfbWFzayA9IHRp bGVfbWFzazsNCj4gIAkJfQ0KPiAgCQlicmVhazsNCj4gLQljYXNlIFhFX1ZNX0JJTkRfT1BfUFJF RkVUQ0g6DQo+ICsJY2FzZSBEUk1fWEVfVk1fQklORF9PUF9QUkVGRVRDSDoNCj4gIAkJb3BzID0g ZHJtX2dwdXZhX3ByZWZldGNoX29wc19jcmVhdGUoJnZtLT5tZ3IsIGFkZHIsIHJhbmdlKTsNCj4g IAkJaWYgKElTX0VSUihvcHMpKQ0KPiAgCQkJcmV0dXJuIG9wczsNCj4gQEAgLTIwOTAsNyArMjA5 MCw3IEBAIHZtX2JpbmRfaW9jdGxfb3BzX2NyZWF0ZShzdHJ1Y3QgeGVfdm0gKnZtLCBzdHJ1Y3Qg eGVfYm8gKmJvLA0KPiAgCQkJb3AtPnByZWZldGNoLnJlZ2lvbiA9IHJlZ2lvbjsNCj4gIAkJfQ0K PiAgCQlicmVhazsNCj4gLQljYXNlIFhFX1ZNX0JJTkRfT1BfVU5NQVBfQUxMOg0KPiArCWNhc2Ug RFJNX0RSTV9YRV9WTV9CSU5EX09QX1VOTUFQX0FMTDoNCj4gIAkJeGVfYXNzZXJ0KHZtLT54ZSwg Ym8pOw0KPiAgDQo+ICAJCWVyciA9IHhlX2JvX2xvY2soYm8sIHRydWUpOw0KPiBAQCAtMjY4Mywx MyArMjY4MywxMyBAQCBzdGF0aWMgaW50IHZtX2JpbmRfaW9jdGxfb3BzX2V4ZWN1dGUoc3RydWN0 IHhlX3ZtICp2bSwNCj4gIA0KPiAgI2lmZGVmIFRFU1RfVk1fQVNZTkNfT1BTX0VSUk9SDQo+ICAj ZGVmaW5lIFNVUFBPUlRFRF9GTEFHUwlcDQo+IC0JKEZPUkNFX0FTWU5DX09QX0VSUk9SIHwgWEVf Vk1fQklORF9GTEFHX0FTWU5DIHwgXA0KPiAtCSBYRV9WTV9CSU5EX0ZMQUdfUkVBRE9OTFkgfCBY RV9WTV9CSU5EX0ZMQUdfSU1NRURJQVRFIHwgXA0KPiAtCSBYRV9WTV9CSU5EX0ZMQUdfTlVMTCB8 IDB4ZmZmZikNCj4gKwkoRk9SQ0VfQVNZTkNfT1BfRVJST1IgfCBEUk1fWEVfVk1fQklORF9GTEFH X0FTWU5DIHwgXA0KPiArCSBEUk1fWEVfVk1fQklORF9GTEFHX1JFQURPTkxZIHwgRFJNX1hFX1ZN X0JJTkRfRkxBR19JTU1FRElBVEUgfCBcDQo+ICsJIERSTV9YRV9WTV9CSU5EX0ZMQUdfTlVMTCB8 IDB4ZmZmZikNCj4gICNlbHNlDQo+ICAjZGVmaW5lIFNVUFBPUlRFRF9GTEFHUwlcDQo+IC0JKFhF X1ZNX0JJTkRfRkxBR19BU1lOQyB8IFhFX1ZNX0JJTkRfRkxBR19SRUFET05MWSB8IFwNCj4gLQkg WEVfVk1fQklORF9GTEFHX0lNTUVESUFURSB8IFhFX1ZNX0JJTkRfRkxBR19OVUxMIHwgXA0KPiAr CShEUk1fWEVfVk1fQklORF9GTEFHX0FTWU5DIHwgRFJNX1hFX1ZNX0JJTkRfRkxBR19SRUFET05M WSB8IFwNCj4gKwkgRFJNX1hFX1ZNX0JJTkRfRkxBR19JTU1FRElBVEUgfCBEUk1fWEVfVk1fQklO RF9GTEFHX05VTEwgfCBcDQo+ICAJIDB4ZmZmZikNCj4gICNlbmRpZg0KPiAgI2RlZmluZSBYRV82 NEtfUEFHRV9NQVNLIDB4ZmZmZnVsbA0KPiBAQCAtMjczNyw0NSArMjczNyw0NSBAQCBzdGF0aWMg aW50IHZtX2JpbmRfaW9jdGxfY2hlY2tfYXJncyhzdHJ1Y3QgeGVfZGV2aWNlICp4ZSwNCj4gIAkJ dTMyIG9iaiA9ICgqYmluZF9vcHMpW2ldLm9iajsNCj4gIAkJdTY0IG9ial9vZmZzZXQgPSAoKmJp bmRfb3BzKVtpXS5vYmpfb2Zmc2V0Ow0KPiAgCQl1MzIgcmVnaW9uID0gKCpiaW5kX29wcylbaV0u cmVnaW9uOw0KPiAtCQlib29sIGlzX251bGwgPSBmbGFncyAmIFhFX1ZNX0JJTkRfRkxBR19OVUxM Ow0KPiArCQlib29sIGlzX251bGwgPSBmbGFncyAmIERSTV9YRV9WTV9CSU5EX0ZMQUdfTlVMTDsN Cj4gIA0KPiAgCQlpZiAoaSA9PSAwKSB7DQo+IC0JCQkqYXN5bmMgPSAhIShmbGFncyAmIFhFX1ZN X0JJTkRfRkxBR19BU1lOQyk7DQo+ICsJCQkqYXN5bmMgPSAhIShmbGFncyAmIERSTV9YRV9WTV9C SU5EX0ZMQUdfQVNZTkMpOw0KPiAgCQkJaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgISphc3luYyAmJiBh cmdzLT5udW1fc3luY3MpKSB7DQo+ICAJCQkJZXJyID0gLUVJTlZBTDsNCj4gIAkJCQlnb3RvIGZy ZWVfYmluZF9vcHM7DQo+ICAJCQl9DQo+ICAJCX0gZWxzZSBpZiAoWEVfSU9DVExfREJHKHhlLCAq YXN5bmMgIT0NCj4gLQkJCQkJISEoZmxhZ3MgJiBYRV9WTV9CSU5EX0ZMQUdfQVNZTkMpKSkgew0K PiArCQkJCQkhIShmbGFncyAmIERSTV9YRV9WTV9CSU5EX0ZMQUdfQVNZTkMpKSkgew0KPiAgCQkJ ZXJyID0gLUVJTlZBTDsNCj4gIAkJCWdvdG8gZnJlZV9iaW5kX29wczsNCj4gIAkJfQ0KPiAgDQo+ IC0JCWlmIChYRV9JT0NUTF9EQkcoeGUsIG9wID4gWEVfVk1fQklORF9PUF9QUkVGRVRDSCkgfHwN Cj4gKwkJaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgb3AgPiBEUk1fWEVfVk1fQklORF9PUF9QUkVGRVRD SCkgfHwNCj4gIAkJICAgIFhFX0lPQ1RMX0RCRyh4ZSwgZmxhZ3MgJiB+U1VQUE9SVEVEX0ZMQUdT KSB8fA0KPiAgCQkgICAgWEVfSU9DVExfREJHKHhlLCBvYmogJiYgaXNfbnVsbCkgfHwNCj4gIAkJ ICAgIFhFX0lPQ1RMX0RCRyh4ZSwgb2JqX29mZnNldCAmJiBpc19udWxsKSB8fA0KPiAtCQkgICAg WEVfSU9DVExfREJHKHhlLCBvcCAhPSBYRV9WTV9CSU5EX09QX01BUCAmJg0KPiArCQkgICAgWEVf SU9DVExfREJHKHhlLCBvcCAhPSBEUk1fWEVfVk1fQklORF9PUF9NQVAgJiYNCj4gIAkJCQkgaXNf bnVsbCkgfHwNCj4gIAkJICAgIFhFX0lPQ1RMX0RCRyh4ZSwgIW9iaiAmJg0KPiAtCQkJCSBvcCA9 PSBYRV9WTV9CSU5EX09QX01BUCAmJg0KPiArCQkJCSBvcCA9PSBEUk1fWEVfVk1fQklORF9PUF9N QVAgJiYNCj4gIAkJCQkgIWlzX251bGwpIHx8DQo+ICAJCSAgICBYRV9JT0NUTF9EQkcoeGUsICFv YmogJiYNCj4gLQkJCQkgb3AgPT0gWEVfVk1fQklORF9PUF9VTk1BUF9BTEwpIHx8DQo+ICsJCQkJ IG9wID09IERSTV9EUk1fWEVfVk1fQklORF9PUF9VTk1BUF9BTEwpIHx8DQo+ICAJCSAgICBYRV9J T0NUTF9EQkcoeGUsIGFkZHIgJiYNCj4gLQkJCQkgb3AgPT0gWEVfVk1fQklORF9PUF9VTk1BUF9B TEwpIHx8DQo+ICsJCQkJIG9wID09IERSTV9EUk1fWEVfVk1fQklORF9PUF9VTk1BUF9BTEwpIHx8 DQo+ICAJCSAgICBYRV9JT0NUTF9EQkcoeGUsIHJhbmdlICYmDQo+IC0JCQkJIG9wID09IFhFX1ZN X0JJTkRfT1BfVU5NQVBfQUxMKSB8fA0KPiArCQkJCSBvcCA9PSBEUk1fRFJNX1hFX1ZNX0JJTkRf T1BfVU5NQVBfQUxMKSB8fA0KPiAgCQkgICAgWEVfSU9DVExfREJHKHhlLCBvYmogJiYNCj4gLQkJ CQkgb3AgPT0gWEVfVk1fQklORF9PUF9NQVBfVVNFUlBUUikgfHwNCj4gKwkJCQkgb3AgPT0gRFJN X0RSTV9YRV9WTV9CSU5EX09QX01BUF9VU0VSUFRSKSB8fA0KPiAgCQkgICAgWEVfSU9DVExfREJH KHhlLCBvYmogJiYNCj4gLQkJCQkgb3AgPT0gWEVfVk1fQklORF9PUF9QUkVGRVRDSCkgfHwNCj4g KwkJCQkgb3AgPT0gRFJNX1hFX1ZNX0JJTkRfT1BfUFJFRkVUQ0gpIHx8DQo+ICAJCSAgICBYRV9J T0NUTF9EQkcoeGUsIHJlZ2lvbiAmJg0KPiAtCQkJCSBvcCAhPSBYRV9WTV9CSU5EX09QX1BSRUZF VENIKSB8fA0KPiArCQkJCSBvcCAhPSBEUk1fWEVfVk1fQklORF9PUF9QUkVGRVRDSCkgfHwNCj4g IAkJICAgIFhFX0lPQ1RMX0RCRyh4ZSwgIShCSVQocmVnaW9uKSAmDQo+ICAJCQkJICAgICAgIHhl LT5pbmZvLm1lbV9yZWdpb25fbWFzaykpIHx8DQo+ICAJCSAgICBYRV9JT0NUTF9EQkcoeGUsIG9i aiAmJg0KPiAtCQkJCSBvcCA9PSBYRV9WTV9CSU5EX09QX1VOTUFQKSkgew0KPiArCQkJCSBvcCA9 PSBEUk1fWEVfVk1fQklORF9PUF9VTk1BUCkpIHsNCj4gIAkJCWVyciA9IC1FSU5WQUw7DQo+ICAJ CQlnb3RvIGZyZWVfYmluZF9vcHM7DQo+ICAJCX0NCj4gQEAgLTI3ODQsNyArMjc4NCw3IEBAIHN0 YXRpYyBpbnQgdm1fYmluZF9pb2N0bF9jaGVja19hcmdzKHN0cnVjdCB4ZV9kZXZpY2UgKnhlLA0K PiAgCQkgICAgWEVfSU9DVExfREJHKHhlLCBhZGRyICYgflBBR0VfTUFTSykgfHwNCj4gIAkJICAg IFhFX0lPQ1RMX0RCRyh4ZSwgcmFuZ2UgJiB+UEFHRV9NQVNLKSB8fA0KPiAgCQkgICAgWEVfSU9D VExfREJHKHhlLCAhcmFuZ2UgJiYNCj4gLQkJCQkgb3AgIT0gWEVfVk1fQklORF9PUF9VTk1BUF9B TEwpKSB7DQo+ICsJCQkJIG9wICE9IERSTV9EUk1fWEVfVk1fQklORF9PUF9VTk1BUF9BTEwpKSB7 DQo+ICAJCQllcnIgPSAtRUlOVkFMOw0KPiAgCQkJZ290byBmcmVlX2JpbmRfb3BzOw0KPiAgCQl9 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm1fZG9jLmggYi9kcml2ZXJz L2dwdS9kcm0veGUveGVfdm1fZG9jLmgNCj4gaW5kZXggYjFiMmRjNGE2MDg5Li4xZmQ0NmIwZTEw NzkgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bV9kb2MuaA0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm1fZG9jLmgNCj4gQEAgLTMyLDkgKzMyLDkgQEANCj4g ICAqIE9wZXJhdGlvbnMNCj4gICAqIC0tLS0tLS0tLS0NCj4gICAqDQo+IC0gKiBYRV9WTV9CSU5E X09QX01BUAkJLSBDcmVhdGUgbWFwcGluZyBmb3IgYSBCTw0KPiAtICogWEVfVk1fQklORF9PUF9V Tk1BUAkJLSBEZXN0cm95IG1hcHBpbmcgZm9yIGEgQk8gLyB1c2VycHRyDQo+IC0gKiBYRV9WTV9C SU5EX09QX01BUF9VU0VSUFRSCS0gQ3JlYXRlIG1hcHBpbmcgZm9yIHVzZXJwdHINCj4gKyAqIERS TV9YRV9WTV9CSU5EX09QX01BUAkJLSBDcmVhdGUgbWFwcGluZyBmb3IgYSBCTw0KPiArICogRFJN X1hFX1ZNX0JJTkRfT1BfVU5NQVAJCS0gRGVzdHJveSBtYXBwaW5nIGZvciBhIEJPIC8gdXNlcnB0 cg0KPiArICogRFJNX0RSTV9YRV9WTV9CSU5EX09QX01BUF9VU0VSUFRSCS0gQ3JlYXRlIG1hcHBp bmcgZm9yIHVzZXJwdHINCj4gICAqDQo+ICAgKiBJbXBsZW1lbnRhdGlvbiBkZXRhaWxzDQo+ICAg KiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+IEBAIC0xMTMsNyArMTEzLDcgQEANCj4gICAqIFZN IHVzZXMgdG8gcmVwb3J0IGVycm9ycyB0by4gVGhlIHVmZW5jZSB3YWl0IGludGVyZmFjZSBjYW4g YmUgdXNlZCB0byB3YWl0IG9uDQo+ICAgKiBhIFZNIGdvaW5nIGludG8gYW4gZXJyb3Igc3RhdGUu IE9uY2UgYW4gZXJyb3IgaXMgcmVwb3J0ZWQgdGhlIFZNJ3MgYXN5bmMNCj4gICAqIHdvcmtlciBp cyBwYXVzZWQuIFdoaWxlIHRoZSBWTSdzIGFzeW5jIHdvcmtlciBpcyBwYXVzZWQgc3luYywNCj4g LSAqIFhFX1ZNX0JJTkRfT1BfVU5NQVAgb3BlcmF0aW9ucyBhcmUgYWxsb3dlZCAodGhpcyBjYW4g ZnJlZSBtZW1vcnkpLiBPbmNlIHRoZQ0KPiArICogRFJNX1hFX1ZNX0JJTkRfT1BfVU5NQVAgb3Bl cmF0aW9ucyBhcmUgYWxsb3dlZCAodGhpcyBjYW4gZnJlZSBtZW1vcnkpLiBPbmNlIHRoZQ0KPiAg ICogdXNlcyBiZWxpZXZlIHRoZSBlcnJvciBzdGF0ZSBpcyBmaXhlZCwgdGhlIGFzeW5jIHdvcmtl ciBjYW4gYmUgcmVzdW1lZCB2aWENCj4gICAqIFhFX1ZNX0JJTkRfT1BfUkVTVEFSVCBvcGVyYXRp b24uIFdoZW4gVk0gYXN5bmMgYmluZCB3b3JrIGlzIHJlc3RhcnRlZCwgdGhlDQo+ICAgKiBmaXJz dCBvcGVyYXRpb24gcHJvY2Vzc2VkIGlzIHRoZSBvcGVyYXRpb24gdGhhdCBjYXVzZWQgdGhlIG9y aWdpbmFsIGVycm9yLg0KPiBAQCAtMTkzLDcgKzE5Myw3IEBADQo+ICAgKiBJbiBhIFZNIGlzIGlu IGZhdWx0IG1vZGUgKFRPRE86IGxpbmsgdG8gZmF1bHQgbW9kZSksIG5ldyBiaW5kIG9wZXJhdGlv bnMgdGhhdA0KPiAgICogY3JlYXRlIG1hcHBpbmdzIGFyZSBieSBkZWZhdWx0IGFyZSBkZWZlcnJl ZCB0byB0aGUgcGFnZSBmYXVsdCBoYW5kbGVyIChmaXJzdA0KPiAgICogdXNlKS4gVGhpcyBiZWhh dmlvciBjYW4gYmUgb3ZlcnJpZGVuIGJ5IHNldHRpbmcgdGhlIGZsYWcNCj4gLSAqIFhFX1ZNX0JJ TkRfRkxBR19JTU1FRElBVEUgd2hpY2ggaW5kaWNhdGVzIHRvIGNyZWF0aW5nIHRoZSBtYXBwaW5n DQo+ICsgKiBEUk1fWEVfVk1fQklORF9GTEFHX0lNTUVESUFURSB3aGljaCBpbmRpY2F0ZXMgdG8g Y3JlYXRpbmcgdGhlIG1hcHBpbmcNCj4gICAqIGltbWVkaWF0ZWx5Lg0KPiAgICoNCj4gICAqIFVz ZXIgcG9pbnRlcg0KPiBAQCAtMzIyLDcgKzMyMiw3IEBADQo+ICAgKg0KPiAgICogQnkgZGVmYXVs dCwgb24gYSBmYXVsdGluZyBWTSBiaW5kcyBqdXN0IGFsbG9jYXRlIHRoZSBWTUEgYW5kIHRoZSBh Y3R1YWwNCj4gICAqIHVwZGF0aW5nIG9mIHRoZSBwYWdlIHRhYmxlcyBpcyBkZWZlcmVkIHRvIHRo ZSBwYWdlIGZhdWx0IGhhbmRsZXIuIFRoaXMNCj4gLSAqIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlk ZGVuIGJ5IHNldHRpbmcgdGhlIGZsYWcgWEVfVk1fQklORF9GTEFHX0lNTUVESUFURSBpbg0KPiAr ICogYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc2V0dGluZyB0aGUgZmxhZyBEUk1fWEVf Vk1fQklORF9GTEFHX0lNTUVESUFURSBpbg0KPiAgICogdGhlIFZNIGJpbmQgd2hpY2ggd2lsbCB0 aGVuIGRvIHRoZSBiaW5kIGltbWVkaWF0ZWx5Lg0KPiAgICoNCj4gICAqIFBhZ2UgZmF1bHQgaGFu ZGxlcg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtX21hZHZpc2UuYyBi L2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bV9tYWR2aXNlLmMNCj4gaW5kZXggZDJmZDk5NDYyNzU2 Li4wZWI0NzdjMzAyNWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bV9t YWR2aXNlLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtX21hZHZpc2UuYw0KPiBA QCAtMTksMTAgKzE5LDEwIEBAIHN0YXRpYyBpbnQgbWFkdmlzZV9wcmVmZXJyZWRfbWVtX2NsYXNz KHN0cnVjdCB4ZV9kZXZpY2UgKnhlLCBzdHJ1Y3QgeGVfdm0gKnZtLA0KPiAgew0KPiAgCWludCBp LCBlcnI7DQo+ICANCj4gLQlpZiAoWEVfSU9DVExfREJHKHhlLCB2YWx1ZSA+IFhFX01FTV9SRUdJ T05fQ0xBU1NfVlJBTSkpDQo+ICsJaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgdmFsdWUgPiBEUk1fWEVf TUVNX1JFR0lPTl9DTEFTU19WUkFNKSkNCj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICANCj4gLQlp ZiAoWEVfSU9DVExfREJHKHhlLCB2YWx1ZSA9PSBYRV9NRU1fUkVHSU9OX0NMQVNTX1ZSQU0gJiYN Cj4gKwlpZiAoWEVfSU9DVExfREJHKHhlLCB2YWx1ZSA9PSBEUk1fWEVfTUVNX1JFR0lPTl9DTEFT U19WUkFNICYmDQo+ICAJCQkgIXhlLT5pbmZvLmlzX2RnZngpKQ0KPiAgCQlyZXR1cm4gLUVJTlZB TDsNCj4gIA0KPiBAQCAtNzUsMTAgKzc1LDEwIEBAIHN0YXRpYyBpbnQgbWFkdmlzZV9wcmVmZXJy ZWRfbWVtX2NsYXNzX2d0KHN0cnVjdCB4ZV9kZXZpY2UgKnhlLA0KPiAgCXUzMiBndF9pZCA9IHVw cGVyXzMyX2JpdHModmFsdWUpOw0KPiAgCXUzMiBtZW1fY2xhc3MgPSBsb3dlcl8zMl9iaXRzKHZh bHVlKTsNCj4gIA0KPiAtCWlmIChYRV9JT0NUTF9EQkcoeGUsIG1lbV9jbGFzcyA+IFhFX01FTV9S RUdJT05fQ0xBU1NfVlJBTSkpDQo+ICsJaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgbWVtX2NsYXNzID4g RFJNX1hFX01FTV9SRUdJT05fQ0xBU1NfVlJBTSkpDQo+ICAJCXJldHVybiAtRUlOVkFMOw0KPiAg DQo+IC0JaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgbWVtX2NsYXNzID09IFhFX01FTV9SRUdJT05fQ0xB U1NfVlJBTSAmJg0KPiArCWlmIChYRV9JT0NUTF9EQkcoeGUsIG1lbV9jbGFzcyA9PSBEUk1fWEVf TUVNX1JFR0lPTl9DTEFTU19WUkFNICYmDQo+ICAJCQkgIXhlLT5pbmZvLmlzX2RnZngpKQ0KPiAg CQlyZXR1cm4gLUVJTlZBTDsNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS94 ZV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmgNCj4gaW5kZXggMWNhMTdlOTQ5Y2Vh Li45ZThlN2I0YzQyYjIgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmgN Cj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS94ZV9kcm0uaA0KPiBAQCAtMTksMTIgKzE5LDEyIEBA IGV4dGVybiAiQyIgew0KPiAgLyoqDQo+ICAgKiBET0M6IHVldmVudCBnZW5lcmF0ZWQgYnkgeGUg b24gaXQncyBwY2kgbm9kZS4NCj4gICAqDQo+IC0gKiBYRV9SRVNFVF9GQUlMRURfVUVWRU5UIC0g RXZlbnQgaXMgZ2VuZXJhdGVkIHdoZW4gYXR0ZW1wdCB0byByZXNldCBndA0KPiArICogRFJNX1hF X1JFU0VUX0ZBSUxFRF9VRVZFTlQgLSBFdmVudCBpcyBnZW5lcmF0ZWQgd2hlbiBhdHRlbXB0IHRv IHJlc2V0IGd0DQo+ICAgKiBmYWlscy4gVGhlIHZhbHVlIHN1cHBsaWVkIHdpdGggdGhlIGV2ZW50 IGlzIGFsd2F5cyAiTkVFRFNfUkVTRVQiLg0KPiAgICogQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBz dXBwbGllZCBpcyB0aWxlIGlkIGFuZCBndCBpZCBvZiB0aGUgZ3QgdW5pdCBmb3INCj4gICAqIHdo aWNoIHJlc2V0IGhhcyBmYWlsZWQuDQo+ICAgKi8NCj4gLSNkZWZpbmUgWEVfUkVTRVRfRkFJTEVE X1VFVkVOVCAiREVWSUNFX1NUQVRVUyINCj4gKyNkZWZpbmUgRFJNX1hFX1JFU0VUX0ZBSUxFRF9V RVZFTlQgIkRFVklDRV9TVEFUVVMiDQo+ICANCj4gIC8qKg0KPiAgICogc3RydWN0IHhlX3VzZXJf ZXh0ZW5zaW9uIC0gQmFzZSBjbGFzcyBmb3IgZGVmaW5pbmcgYSBjaGFpbiBvZiBleHRlbnNpb25z DQo+IEBAIC0xNTEsMTQgKzE1MSwxNCBAQCBzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0 YW5jZSB7DQo+ICAgKiBlbnVtIGRybV94ZV9tZW1vcnlfY2xhc3MgLSBTdXBwb3J0ZWQgbWVtb3J5 IGNsYXNzZXMuDQo+ICAgKi8NCj4gIGVudW0gZHJtX3hlX21lbW9yeV9jbGFzcyB7DQo+IC0JLyoq IEBYRV9NRU1fUkVHSU9OX0NMQVNTX1NZU01FTTogUmVwcmVzZW50cyBzeXN0ZW0gbWVtb3J5LiAq Lw0KPiAtCVhFX01FTV9SRUdJT05fQ0xBU1NfU1lTTUVNID0gMCwNCj4gKwkvKiogQERSTV9YRV9N RU1fUkVHSU9OX0NMQVNTX1NZU01FTTogUmVwcmVzZW50cyBzeXN0ZW0gbWVtb3J5LiAqLw0KPiAr CURSTV9YRV9NRU1fUkVHSU9OX0NMQVNTX1NZU01FTSA9IDAsDQo+ICAJLyoqDQo+IC0JICogQFhF X01FTV9SRUdJT05fQ0xBU1NfVlJBTTogT24gZGlzY3JldGUgcGxhdGZvcm1zLCB0aGlzDQo+ICsJ ICogQERSTV9YRV9NRU1fUkVHSU9OX0NMQVNTX1ZSQU06IE9uIGRpc2NyZXRlIHBsYXRmb3Jtcywg dGhpcw0KPiAgCSAqIHJlcHJlc2VudHMgdGhlIG1lbW9yeSB0aGF0IGlzIGxvY2FsIHRvIHRoZSBk ZXZpY2UsIHdoaWNoIHdlDQo+ICAJICogY2FsbCBWUkFNLiBOb3QgdmFsaWQgb24gaW50ZWdyYXRl ZCBwbGF0Zm9ybXMuDQo+ICAJICovDQo+IC0JWEVfTUVNX1JFR0lPTl9DTEFTU19WUkFNDQo+ICsJ RFJNX1hFX01FTV9SRUdJT05fQ0xBU1NfVlJBTQ0KPiAgfTsNCj4gIA0KPiAgLyoqDQo+IEBAIC0y MTgsNyArMjE4LDcgQEAgc3RydWN0IGRybV94ZV9xdWVyeV9tZW1fcmVnaW9uIHsNCj4gIAkgKiBh bHdheXMgZXF1YWwgdGhlIEB0b3RhbF9zaXplLCBzaW5jZSBhbGwgb2YgaXQgd2lsbCBiZSBDUFUN Cj4gIAkgKiBhY2Nlc3NpYmxlLg0KPiAgCSAqDQo+IC0JICogTm90ZSB0aGlzIGlzIG9ubHkgdHJh Y2tlZCBmb3IgWEVfTUVNX1JFR0lPTl9DTEFTU19WUkFNDQo+ICsJICogTm90ZSB0aGlzIGlzIG9u bHkgdHJhY2tlZCBmb3IgRFJNX1hFX01FTV9SRUdJT05fQ0xBU1NfVlJBTQ0KPiAgCSAqIHJlZ2lv bnMgKGZvciBvdGhlciB0eXBlcyB0aGUgdmFsdWUgaGVyZSB3aWxsIGFsd2F5cyBlcXVhbA0KPiAg CSAqIHplcm8pLg0KPiAgCSAqLw0KPiBAQCAtMjMwLDcgKzIzMCw3IEBAIHN0cnVjdCBkcm1feGVf cXVlcnlfbWVtX3JlZ2lvbiB7DQo+ICAJICogUmVxdWlyZXMgQ0FQX1BFUkZNT04gb3IgQ0FQX1NZ U19BRE1JTiB0byBnZXQgcmVsaWFibGUNCj4gIAkgKiBhY2NvdW50aW5nLiBXaXRob3V0IHRoaXMg dGhlIHZhbHVlIGhlcmUgd2lsbCBhbHdheXMgZXF1YWwNCj4gIAkgKiB6ZXJvLiAgTm90ZSB0aGlz IGlzIG9ubHkgY3VycmVudGx5IHRyYWNrZWQgZm9yDQo+IC0JICogWEVfTUVNX1JFR0lPTl9DTEFT U19WUkFNIHJlZ2lvbnMgKGZvciBvdGhlciB0eXBlcyB0aGUgdmFsdWUNCj4gKwkgKiBEUk1fWEVf TUVNX1JFR0lPTl9DTEFTU19WUkFNIHJlZ2lvbnMgKGZvciBvdGhlciB0eXBlcyB0aGUgdmFsdWUN Cj4gIAkgKiBoZXJlIHdpbGwgYWx3YXlzIGJlIHplcm8pLg0KPiAgCSAqLw0KPiAgCV9fdTY0IGNw dV92aXNpYmxlX3VzZWQ7DQo+IEBAIC0zMjcsMzYgKzMyNywzNiBAQCBzdHJ1Y3QgZHJtX3hlX3F1 ZXJ5X2NvbmZpZyB7DQo+ICAJICogRGV2aWNlIElEIChsb3dlciAxNiBiaXRzKSBhbmQgdGhlIGRl dmljZSByZXZpc2lvbiAobmV4dA0KPiAgCSAqIDggYml0cykNCj4gIAkgKi8NCj4gLSNkZWZpbmUg WEVfUVVFUllfQ09ORklHX1JFVl9BTkRfREVWSUNFX0lECTANCj4gKyNkZWZpbmUgRFJNX1hFX1FV RVJZX0NPTkZJR19SRVZfQU5EX0RFVklDRV9JRAkwDQo+ICAJLyoNCj4gIAkgKiBGbGFncyBkZXNj cmliaW5nIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbiwgc2VlIGxpc3QgYmVsb3cNCj4gIAkgKi8N Cj4gLSNkZWZpbmUgWEVfUVVFUllfQ09ORklHX0ZMQUdTCQkJMQ0KPiArI2RlZmluZSBEUk1fWEVf UVVFUllfQ09ORklHX0ZMQUdTCQkJMQ0KPiAgCS8qDQo+ICAJICogRmxhZyBpcyBzZXQgaWYgdGhl IGRldmljZSBoYXMgdXNhYmxlIFZSQU0NCj4gIAkgKi8NCj4gLQkjZGVmaW5lIFhFX1FVRVJZX0NP TkZJR19GTEFHU19IQVNfVlJBTQkJKDB4MSA8PCAwKQ0KPiArCSNkZWZpbmUgRFJNX0RSTV9YRV9R VUVSWV9DT05GSUdfRkxBR1NfSEFTX1ZSQU0JCSgweDEgPDwgMCkNCg0KDQpEb3VibGUgRFJNXw0K DQpTYW1lIGluIERSTV9EUk1fWEVfVk1fQklORF9PUF9NQVBfVVNFUlBUUiBhbmQgRFJNX0RSTV9Y RV9WTV9CSU5EX09QX1VOTUFQX0FMTA0KDQo+ICAJLyoNCj4gIAkgKiBNaW5pbWFsIG1lbW9yeSBh bGlnbm1lbnQgcmVxdWlyZWQgYnkgdGhpcyBkZXZpY2UsDQo+ICAJICogdHlwaWNhbGx5IFNaXzRL IG9yIFNaXzY0Sw0KPiAgCSAqLw0KPiAtI2RlZmluZSBYRV9RVUVSWV9DT05GSUdfTUlOX0FMSUdO TUVOVAkJMg0KPiArI2RlZmluZSBEUk1fWEVfUVVFUllfQ09ORklHX01JTl9BTElHTk1FTlQJCTIN Cj4gIAkvKg0KPiAgCSAqIE1heGltdW0gYml0cyBvZiBhIHZpcnR1YWwgYWRkcmVzcw0KPiAgCSAq Lw0KPiAtI2RlZmluZSBYRV9RVUVSWV9DT05GSUdfVkFfQklUUwkJCTMNCj4gKyNkZWZpbmUgRFJN X1hFX1FVRVJZX0NPTkZJR19WQV9CSVRTCQkJMw0KPiAgCS8qDQo+ICAJICogVG90YWwgbnVtYmVy IG9mIEdUcyBmb3IgdGhlIGVudGlyZSBkZXZpY2UNCj4gIAkgKi8NCj4gLSNkZWZpbmUgWEVfUVVF UllfQ09ORklHX0dUX0NPVU5UCQk0DQo+ICsjZGVmaW5lIERSTV9YRV9RVUVSWV9DT05GSUdfR1Rf Q09VTlQJCTQNCj4gIAkvKg0KPiAgCSAqIFRvdGFsIG51bWJlciBvZiBhY2Nlc3NpYmxlIG1lbW9y eSByZWdpb25zDQo+ICAJICovDQo+IC0jZGVmaW5lIFhFX1FVRVJZX0NPTkZJR19NRU1fUkVHSU9O X0NPVU5UCTUNCj4gKyNkZWZpbmUgRFJNX1hFX1FVRVJZX0NPTkZJR19NRU1fUkVHSU9OX0NPVU5U CTUNCj4gIAkvKg0KPiAgCSAqIFZhbHVlIG9mIHRoZSBoaWdoZXN0IGF2YWlsYWJsZSBleGVjIHF1 ZXVlIHByaW9yaXR5DQo+ICAJICovDQo+IC0jZGVmaW5lIFhFX1FVRVJZX0NPTkZJR19NQVhfRVhF Q19RVUVVRV9QUklPUklUWQk2DQo+ICsjZGVmaW5lIERSTV9YRV9RVUVSWV9DT05GSUdfTUFYX0VY RUNfUVVFVUVfUFJJT1JJVFkJNg0KPiAgCS8qKiBAaW5mbzogYXJyYXkgb2YgZWxlbWVudHMgY29u dGFpbmluZyB0aGUgY29uZmlnIGluZm8gKi8NCj4gIAlfX3U2NCBpbmZvW107DQo+ICB9Ow0KPiBA QCAtMzcwLDkgKzM3MCw5IEBAIHN0cnVjdCBkcm1feGVfcXVlcnlfY29uZmlnIHsNCj4gICAqIGlt cGxlbWVudGluZyBncmFwaGljcyBhbmQvb3IgbWVkaWEgb3BlcmF0aW9ucy4NCj4gICAqLw0KPiAg c3RydWN0IGRybV94ZV9xdWVyeV9ndCB7DQo+IC0jZGVmaW5lIFhFX1FVRVJZX0dUX1RZUEVfTUFJ TgkJMA0KPiAtI2RlZmluZSBYRV9RVUVSWV9HVF9UWVBFX1JFTU9URQkJMQ0KPiAtI2RlZmluZSBY RV9RVUVSWV9HVF9UWVBFX01FRElBCQkyDQo+ICsjZGVmaW5lIERSTV9YRV9RVUVSWV9HVF9UWVBF X01BSU4JCTANCj4gKyNkZWZpbmUgRFJNX1hFX1FVRVJZX0dUX1RZUEVfUkVNT1RFCQkxDQo+ICsj ZGVmaW5lIERSTV9YRV9RVUVSWV9HVF9UWVBFX01FRElBCQkyDQo+ICAJLyoqIEB0eXBlOiBHVCB0 eXBlOiBNYWluLCBSZW1vdGUsIG9yIE1lZGlhICovDQo+ICAJX191MTYgdHlwZTsNCj4gIAkvKiog QGd0X2lkOiBVbmlxdWUgSUQgb2YgdGhpcyBHVCB3aXRoaW4gdGhlIFBDSSBEZXZpY2UgKi8NCj4g QEAgLTQzNSw3ICs0MzUsNyBAQCBzdHJ1Y3QgZHJtX3hlX3F1ZXJ5X3RvcG9sb2d5X21hc2sgew0K PiAgCSAqICAgRFNTX0dFT01FVFJZICAgIGZmIGZmIGZmIGZmIDAwIDAwIDAwIDAwDQo+ICAJICog bWVhbnMgMzIgRFNTIGFyZSBhdmFpbGFibGUgZm9yIGdlb21ldHJ5Lg0KPiAgCSAqLw0KPiAtI2Rl ZmluZSBYRV9UT1BPX0RTU19HRU9NRVRSWQkoMSA8PCAwKQ0KPiArI2RlZmluZSBEUk1fWEVfVE9Q T19EU1NfR0VPTUVUUlkJKDEgPDwgMCkNCj4gIAkvKg0KPiAgCSAqIFRvIHF1ZXJ5IHRoZSBtYXNr IG9mIER1YWwgU3ViIFNsaWNlcyAoRFNTKSBhdmFpbGFibGUgZm9yIGNvbXB1dGUNCj4gIAkgKiBv cGVyYXRpb25zLiBGb3IgZXhhbXBsZSBhIHF1ZXJ5IHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGZv bGxvd2luZw0KPiBAQCAtNDQzLDcgKzQ0Myw3IEBAIHN0cnVjdCBkcm1feGVfcXVlcnlfdG9wb2xv Z3lfbWFzayB7DQo+ICAJICogICBEU1NfQ09NUFVURSAgICBmZiBmZiBmZiBmZiAwMCAwMCAwMCAw MA0KPiAgCSAqIG1lYW5zIDMyIERTUyBhcmUgYXZhaWxhYmxlIGZvciBjb21wdXRlLg0KPiAgCSAq Lw0KPiAtI2RlZmluZSBYRV9UT1BPX0RTU19DT01QVVRFCSgxIDw8IDEpDQo+ICsjZGVmaW5lIERS TV9YRV9UT1BPX0RTU19DT01QVVRFCSgxIDw8IDEpDQo+ICAJLyoNCj4gIAkgKiBUbyBxdWVyeSB0 aGUgbWFzayBvZiBFeGVjdXRpb24gVW5pdHMgKEVVKSBhdmFpbGFibGUgcGVyIER1YWwgU3ViDQo+ ICAJICogU2xpY2VzIChEU1MpLiBGb3IgZXhhbXBsZSBhIHF1ZXJ5IHJlc3BvbnNlIGNvbnRhaW5p bmcgdGhlIGZvbGxvd2luZw0KPiBAQCAtNDUxLDcgKzQ1MSw3IEBAIHN0cnVjdCBkcm1feGVfcXVl cnlfdG9wb2xvZ3lfbWFzayB7DQo+ICAJICogICBFVV9QRVJfRFNTICAgIGZmIGZmIDAwIDAwIDAw IDAwIDAwIDAwDQo+ICAJICogbWVhbnMgZWFjaCBEU1MgaGFzIDE2IEVVLg0KPiAgCSAqLw0KPiAt I2RlZmluZSBYRV9UT1BPX0VVX1BFUl9EU1MJKDEgPDwgMikNCj4gKyNkZWZpbmUgRFJNX1hFX1RP UE9fRVVfUEVSX0RTUwkoMSA8PCAyKQ0KPiAgCS8qKiBAdHlwZTogdHlwZSBvZiBtYXNrICovDQo+ ICAJX191MTYgdHlwZTsNCj4gIA0KPiBAQCAtNDcwLDggKzQ3MCw4IEBAIHN0cnVjdCBkcm1feGVf cXVlcnlfdG9wb2xvZ3lfbWFzayB7DQo+ICAgKi8NCj4gIHN0cnVjdCBkcm1feGVfcXVlcnlfdWNf ZndfdmVyc2lvbiB7DQo+ICAJLyoqIEB1YzogVGhlIG1pY3JvLWNvbnRyb2xsZXIgdHlwZSB0byBx dWVyeSBmaXJtd2FyZSB2ZXJzaW9uICovDQo+IC0jZGVmaW5lIFhFX1FVRVJZX1VDX1RZUEVfR1VD IDANCj4gLSNkZWZpbmUgWEVfUVVFUllfVUNfVFlQRV9IVUMgMQ0KPiArI2RlZmluZSBEUk1fWEVf UVVFUllfVUNfVFlQRV9HVUMgMA0KPiArI2RlZmluZSBEUk1fWEVfUVVFUllfVUNfVFlQRV9IVUMg MQ0KPiAgCV9fdTE2IHVjX3R5cGU7DQo+ICANCj4gIAkvKiogQHBhZDogTUJaICovDQo+IEBAIC01 NzUsOCArNTc1LDggQEAgc3RydWN0IGRybV94ZV9nZW1fY3JlYXRlIHsNCj4gIAkgKi8NCj4gIAlf X3U2NCBzaXplOw0KPiAgDQo+IC0jZGVmaW5lIFhFX0dFTV9DUkVBVEVfRkxBR19ERUZFUl9CQUNL SU5HCSgweDEgPDwgMjQpDQo+IC0jZGVmaW5lIFhFX0dFTV9DUkVBVEVfRkxBR19TQ0FOT1VUCQko MHgxIDw8IDI1KQ0KPiArI2RlZmluZSBEUk1fWEVfR0VNX0NSRUFURV9GTEFHX0RFRkVSX0JBQ0tJ TkcJKDB4MSA8PCAyNCkNCj4gKyNkZWZpbmUgRFJNX1hFX0dFTV9DUkVBVEVfRkxBR19TQ0FOT1VU CQkoMHgxIDw8IDI1KQ0KPiAgLyoNCj4gICAqIFdoZW4gdXNpbmcgVlJBTSBhcyBhIHBvc3NpYmxl IHBsYWNlbWVudCwgZW5zdXJlIHRoYXQgdGhlIGNvcnJlc3BvbmRpbmcgVlJBTQ0KPiAgICogYWxs b2NhdGlvbiB3aWxsIGFsd2F5cyB1c2UgdGhlIENQVSBhY2Nlc3NpYmxlIHBhcnQgb2YgVlJBTS4g VGhpcyBpcyBpbXBvcnRhbnQNCj4gQEAgLTU5Miw3ICs1OTIsNyBAQCBzdHJ1Y3QgZHJtX3hlX2dl bV9jcmVhdGUgew0KPiAgICogZGlzcGxheSBzdXJmYWNlcywgdGhlcmVmb3JlIHRoZSBrZXJuZWwg cmVxdWlyZXMgc2V0dGluZyB0aGlzIGZsYWcgZm9yIHN1Y2gNCj4gICAqIG9iamVjdHMsIG90aGVy d2lzZSBhbiBlcnJvciBpcyB0aHJvd24gb24gc21hbGwtYmFyIHN5c3RlbXMuDQo+ICAgKi8NCj4g LSNkZWZpbmUgWEVfR0VNX0NSRUFURV9GTEFHX05FRURTX1ZJU0lCTEVfVlJBTQkoMHgxIDw8IDI2 KQ0KPiArI2RlZmluZSBEUk1fWEVfR0VNX0NSRUFURV9GTEFHX05FRURTX1ZJU0lCTEVfVlJBTQko MHgxIDw8IDI2KQ0KPiAgCS8qKg0KPiAgCSAqIEBmbGFnczogRmxhZ3MsIGN1cnJlbnRseSBhIG1h c2sgb2YgbWVtb3J5IGluc3RhbmNlcyBvZiB3aGVyZSBCTyBjYW4NCj4gIAkgKiBiZSBwbGFjZWQN Cj4gQEAgLTY1OSw3ICs2NTksNyBAQCBzdHJ1Y3QgZHJtX3hlX2V4dF9zZXRfcHJvcGVydHkgew0K PiAgfTsNCj4gIA0KPiAgc3RydWN0IGRybV94ZV92bV9jcmVhdGUgew0KPiAtI2RlZmluZSBYRV9W TV9FWFRFTlNJT05fU0VUX1BST1BFUlRZCTANCj4gKyNkZWZpbmUgRFJNX1hFX1ZNX0VYVEVOU0lP Tl9TRVRfUFJPUEVSVFkJMA0KPiAgCS8qKiBAZXh0ZW5zaW9uczogUG9pbnRlciB0byB0aGUgZmly c3QgZXh0ZW5zaW9uIHN0cnVjdCwgaWYgYW55ICovDQo+ICAJX191NjQgZXh0ZW5zaW9uczsNCj4g IA0KPiBAQCAtNzI1LDI5ICs3MjUsMjkgQEAgc3RydWN0IGRybV94ZV92bV9iaW5kX29wIHsNCj4g IAkgKi8NCj4gIAlfX3U2NCB0aWxlX21hc2s7DQo+ICANCj4gLSNkZWZpbmUgWEVfVk1fQklORF9P UF9NQVAJCTB4MA0KPiAtI2RlZmluZSBYRV9WTV9CSU5EX09QX1VOTUFQCQkweDENCj4gLSNkZWZp bmUgWEVfVk1fQklORF9PUF9NQVBfVVNFUlBUUgkweDINCj4gLSNkZWZpbmUgWEVfVk1fQklORF9P UF9VTk1BUF9BTEwJCTB4Mw0KPiAtI2RlZmluZSBYRV9WTV9CSU5EX09QX1BSRUZFVENICQkweDQN Cj4gKyNkZWZpbmUgRFJNX1hFX1ZNX0JJTkRfT1BfTUFQCQkweDANCj4gKyNkZWZpbmUgRFJNX1hF X1ZNX0JJTkRfT1BfVU5NQVAJCTB4MQ0KPiArI2RlZmluZSBEUk1fRFJNX1hFX1ZNX0JJTkRfT1Bf TUFQX1VTRVJQVFIJMHgyDQo+ICsjZGVmaW5lIERSTV9EUk1fWEVfVk1fQklORF9PUF9VTk1BUF9B TEwJCTB4Mw0KPiArI2RlZmluZSBEUk1fWEVfVk1fQklORF9PUF9QUkVGRVRDSAkJMHg0DQo+ICAJ LyoqIEBvcDogQmluZCBvcGVyYXRpb24gdG8gcGVyZm9ybSAqLw0KPiAgCV9fdTMyIG9wOw0KPiAg DQo+IC0jZGVmaW5lIFhFX1ZNX0JJTkRfRkxBR19SRUFET05MWQkoMHgxIDw8IDApDQo+IC0jZGVm aW5lIFhFX1ZNX0JJTkRfRkxBR19BU1lOQwkJKDB4MSA8PCAxKQ0KPiArI2RlZmluZSBEUk1fWEVf Vk1fQklORF9GTEFHX1JFQURPTkxZCSgweDEgPDwgMCkNCj4gKyNkZWZpbmUgRFJNX1hFX1ZNX0JJ TkRfRkxBR19BU1lOQwkJKDB4MSA8PCAxKQ0KPiAgCS8qDQo+ICAJICogVmFsaWQgb24gYSBmYXVs dGluZyBWTSBvbmx5LCBkbyB0aGUgTUFQIG9wZXJhdGlvbiBpbW1lZGlhdGVseSByYXRoZXINCj4g IAkgKiB0aGFuIGRlZmVycmluZyB0aGUgTUFQIHRvIHRoZSBwYWdlIGZhdWx0IGhhbmRsZXIuDQo+ ICAJICovDQo+IC0jZGVmaW5lIFhFX1ZNX0JJTkRfRkxBR19JTU1FRElBVEUJKDB4MSA8PCAyKQ0K PiArI2RlZmluZSBEUk1fWEVfVk1fQklORF9GTEFHX0lNTUVESUFURQkoMHgxIDw8IDIpDQo+ICAJ LyoNCj4gIAkgKiBXaGVuIHRoZSBOVUxMIGZsYWcgaXMgc2V0LCB0aGUgcGFnZSB0YWJsZXMgYXJl IHNldHVwIHdpdGggYSBzcGVjaWFsDQo+ICAJICogYml0IHdoaWNoIGluZGljYXRlcyB3cml0ZXMg YXJlIGRyb3BwZWQgYW5kIGFsbCByZWFkcyByZXR1cm4gemVyby4gIEluDQo+IC0JICogdGhlIGZ1 dHVyZSwgdGhlIE5VTEwgZmxhZ3Mgd2lsbCBvbmx5IGJlIHZhbGlkIGZvciBYRV9WTV9CSU5EX09Q X01BUA0KPiArCSAqIHRoZSBmdXR1cmUsIHRoZSBOVUxMIGZsYWdzIHdpbGwgb25seSBiZSB2YWxp ZCBmb3IgRFJNX1hFX1ZNX0JJTkRfT1BfTUFQDQo+ICAJICogb3BlcmF0aW9ucywgdGhlIEJPIGhh bmRsZSBNQlosIGFuZCB0aGUgQk8gb2Zmc2V0IE1CWi4gVGhpcyBmbGFnIGlzDQo+ICAJICogaW50 ZW5kZWQgdG8gaW1wbGVtZW50IFZLIHNwYXJzZSBiaW5kaW5ncy4NCj4gIAkgKi8NCj4gLSNkZWZp bmUgWEVfVk1fQklORF9GTEFHX05VTEwJCSgweDEgPDwgMykNCj4gKyNkZWZpbmUgRFJNX1hFX1ZN X0JJTkRfRkxBR19OVUxMCQkoMHgxIDw8IDMpDQo+ICAJLyoqIEBmbGFnczogQmluZCBmbGFncyAq Lw0KPiAgCV9fdTMyIGZsYWdzOw0KPiAgDQo+IEBAIC04MTQsMTQgKzgxNCwxNCBAQCBzdHJ1Y3Qg ZHJtX3hlX2V4ZWNfcXVldWVfc2V0X3Byb3BlcnR5IHsNCj4gIAkvKiogQGV4ZWNfcXVldWVfaWQ6 IEV4ZWMgcXVldWUgSUQgKi8NCj4gIAlfX3UzMiBleGVjX3F1ZXVlX2lkOw0KPiAgDQo+IC0jZGVm aW5lIFhFX0VYRUNfUVVFVUVfU0VUX1BST1BFUlRZX1BSSU9SSVRZCQkwDQo+IC0jZGVmaW5lIFhF X0VYRUNfUVVFVUVfU0VUX1BST1BFUlRZX1RJTUVTTElDRQkJMQ0KPiAtI2RlZmluZSBYRV9FWEVD X1FVRVVFX1NFVF9QUk9QRVJUWV9QUkVFTVBUSU9OX1RJTUVPVVQJMg0KPiAtI2RlZmluZSBYRV9F WEVDX1FVRVVFX1NFVF9QUk9QRVJUWV9QRVJTSVNURU5DRQkJMw0KPiAtI2RlZmluZSBYRV9FWEVD X1FVRVVFX1NFVF9QUk9QRVJUWV9KT0JfVElNRU9VVAkJNA0KPiAtI2RlZmluZSBYRV9FWEVDX1FV RVVFX1NFVF9QUk9QRVJUWV9BQ0NfVFJJR0dFUgkJNQ0KPiAtI2RlZmluZSBYRV9FWEVDX1FVRVVF X1NFVF9QUk9QRVJUWV9BQ0NfTk9USUZZCQk2DQo+IC0jZGVmaW5lIFhFX0VYRUNfUVVFVUVfU0VU X1BST1BFUlRZX0FDQ19HUkFOVUxBUklUWQk3DQo+ICsjZGVmaW5lIERSTV9YRV9FWEVDX1FVRVVF X1NFVF9QUk9QRVJUWV9QUklPUklUWQkJMA0KPiArI2RlZmluZSBEUk1fWEVfRVhFQ19RVUVVRV9T RVRfUFJPUEVSVFlfVElNRVNMSUNFCQkxDQo+ICsjZGVmaW5lIERSTV9YRV9FWEVDX1FVRVVFX1NF VF9QUk9QRVJUWV9QUkVFTVBUSU9OX1RJTUVPVVQJMg0KPiArI2RlZmluZSBEUk1fWEVfRVhFQ19R VUVVRV9TRVRfUFJPUEVSVFlfUEVSU0lTVEVOQ0UJCTMNCj4gKyNkZWZpbmUgRFJNX1hFX0VYRUNf UVVFVUVfU0VUX1BST1BFUlRZX0pPQl9USU1FT1VUCQk0DQo+ICsjZGVmaW5lIERSTV9YRV9FWEVD X1FVRVVFX1NFVF9QUk9QRVJUWV9BQ0NfVFJJR0dFUgkJNQ0KPiArI2RlZmluZSBEUk1fWEVfRVhF Q19RVUVVRV9TRVRfUFJPUEVSVFlfQUNDX05PVElGWQkJNg0KPiArI2RlZmluZSBEUk1fWEVfRVhF Q19RVUVVRV9TRVRfUFJPUEVSVFlfQUNDX0dSQU5VTEFSSVRZCTcNCj4gIAkvKiogQHByb3BlcnR5 OiBwcm9wZXJ0eSB0byBzZXQgKi8NCj4gIAlfX3UzMiBwcm9wZXJ0eTsNCj4gIA0KPiBAQCAtODMz LDcgKzgzMyw3IEBAIHN0cnVjdCBkcm1feGVfZXhlY19xdWV1ZV9zZXRfcHJvcGVydHkgew0KPiAg fTsNCj4gIA0KPiAgc3RydWN0IGRybV94ZV9leGVjX3F1ZXVlX2NyZWF0ZSB7DQo+IC0jZGVmaW5l IFhFX0VYRUNfUVVFVUVfRVhURU5TSU9OX1NFVF9QUk9QRVJUWSAgICAgICAgICAgICAgIDANCj4g KyNkZWZpbmUgRFJNX1hFX0VYRUNfUVVFVUVfRVhURU5TSU9OX1NFVF9QUk9QRVJUWSAgICAgICAg ICAgICAgIDANCj4gIAkvKiogQGV4dGVuc2lvbnM6IFBvaW50ZXIgdG8gdGhlIGZpcnN0IGV4dGVu c2lvbiBzdHJ1Y3QsIGlmIGFueSAqLw0KPiAgCV9fdTY0IGV4dGVuc2lvbnM7DQo+ICANCj4gQEAg LTg3Miw3ICs4NzIsNyBAQCBzdHJ1Y3QgZHJtX3hlX2V4ZWNfcXVldWVfZ2V0X3Byb3BlcnR5IHsN Cj4gIAkvKiogQGV4ZWNfcXVldWVfaWQ6IEV4ZWMgcXVldWUgSUQgKi8NCj4gIAlfX3UzMiBleGVj X3F1ZXVlX2lkOw0KPiAgDQo+IC0jZGVmaW5lIFhFX0VYRUNfUVVFVUVfR0VUX1BST1BFUlRZX0JB TgkJCTANCj4gKyNkZWZpbmUgRFJNX1hFX0VYRUNfUVVFVUVfR0VUX1BST1BFUlRZX0JBTgkJCTAN Cj4gIAkvKiogQHByb3BlcnR5OiBwcm9wZXJ0eSB0byBnZXQgKi8NCj4gIAlfX3UzMiBwcm9wZXJ0 eTsNCj4gIA0KPiBAQCAtMTExMiw3ICsxMTEyLDcgQEAgc3RydWN0IGRybV94ZV92bV9tYWR2aXNl IHsNCj4gICAqIGluICdzdHJ1Y3QgcGVyZl9ldmVudF9hdHRyJyBhcyBwYXJ0IG9mIHBlcmZfZXZl bnRfb3BlbiBzeXNjYWxsIHRvIHJlYWQgYQ0KPiAgICogcGFydGljdWxhciBldmVudC4NCj4gICAq DQo+IC0gKiBGb3IgZXhhbXBsZSB0byBvcGVuIHRoZSBYRV9QTVVfSU5URVJSVVBUUygwKToNCj4g KyAqIEZvciBleGFtcGxlIHRvIG9wZW4gdGhlIERSTV9YRV9QTVVfSU5URVJSVVBUUygwKToNCj4g ICAqDQo+ICAgKiAuLiBjb2RlLWJsb2NrOjogQw0KPiAgICoNCj4gQEAgLTExMjYsNyArMTEyNiw3 IEBAIHN0cnVjdCBkcm1feGVfdm1fbWFkdmlzZSB7DQo+ICAgKglhdHRyLnJlYWRfZm9ybWF0ID0g UEVSRl9GT1JNQVRfVE9UQUxfVElNRV9FTkFCTEVEOw0KPiAgICoJYXR0ci51c2VfY2xvY2tpZCA9 IDE7DQo+ICAgKglhdHRyLmNsb2NraWQgPSBDTE9DS19NT05PVE9OSUM7DQo+IC0gKglhdHRyLmNv bmZpZyA9IFhFX1BNVV9JTlRFUlJVUFRTKDApOw0KPiArICoJYXR0ci5jb25maWcgPSBEUk1fWEVf UE1VX0lOVEVSUlVQVFMoMCk7DQo+ICAgKg0KPiAgICoJZmQgPSBzeXNjYWxsKF9fTlJfcGVyZl9l dmVudF9vcGVuLCAmYXR0ciwgLTEsIGNwdSwgLTEsIDApOw0KPiAgICovDQo+IEBAIC0xMTM5LDEx ICsxMTM5LDExIEBAIHN0cnVjdCBkcm1feGVfdm1fbWFkdmlzZSB7DQo+ICAjZGVmaW5lIF9fX1hF X1BNVV9PVEhFUihndCwgeCkgXA0KPiAgCSgoKF9fdTY0KSh4KSkgfCAoKF9fdTY0KShndCkgPDwg X19YRV9QTVVfR1RfU0hJRlQpKQ0KPiAgDQo+IC0jZGVmaW5lIFhFX1BNVV9JTlRFUlJVUFRTKGd0 KQkJCV9fX1hFX1BNVV9PVEhFUihndCwgMCkNCj4gLSNkZWZpbmUgWEVfUE1VX1JFTkRFUl9HUk9V UF9CVVNZKGd0KQkJX19fWEVfUE1VX09USEVSKGd0LCAxKQ0KPiAtI2RlZmluZSBYRV9QTVVfQ09Q WV9HUk9VUF9CVVNZKGd0KQkJX19fWEVfUE1VX09USEVSKGd0LCAyKQ0KPiAtI2RlZmluZSBYRV9Q TVVfTUVESUFfR1JPVVBfQlVTWShndCkJCV9fX1hFX1BNVV9PVEhFUihndCwgMykNCj4gLSNkZWZp bmUgWEVfUE1VX0FOWV9FTkdJTkVfR1JPVVBfQlVTWShndCkJX19fWEVfUE1VX09USEVSKGd0LCA0 KQ0KPiArI2RlZmluZSBEUk1fWEVfUE1VX0lOVEVSUlVQVFMoZ3QpCQkJX19fWEVfUE1VX09USEVS KGd0LCAwKQ0KPiArI2RlZmluZSBEUk1fWEVfUE1VX1JFTkRFUl9HUk9VUF9CVVNZKGd0KQkJX19f WEVfUE1VX09USEVSKGd0LCAxKQ0KPiArI2RlZmluZSBEUk1fWEVfUE1VX0NPUFlfR1JPVVBfQlVT WShndCkJCV9fX1hFX1BNVV9PVEhFUihndCwgMikNCj4gKyNkZWZpbmUgRFJNX1hFX1BNVV9NRURJ QV9HUk9VUF9CVVNZKGd0KQkJX19fWEVfUE1VX09USEVSKGd0LCAzKQ0KPiArI2RlZmluZSBEUk1f WEVfUE1VX0FOWV9FTkdJTkVfR1JPVVBfQlVTWShndCkJX19fWEVfUE1VX09USEVSKGd0LCA0KQ0K PiAgDQo+ICAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykNCj4gIH0NCg0K