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 EDB41C6FD1C for ; Fri, 24 Mar 2023 15:22:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C964010E17B; Fri, 24 Mar 2023 15:22:30 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3152810E17B for ; Fri, 24 Mar 2023 15:22:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679671348; x=1711207348; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=rBZLeEbwY9ziDWjm24di+48jcbTbeE+RNnFqOP2FfpE=; b=Nio2OOFi7VXaTsu5rcMCJv6EVgnSU8AewM8DRc/w5ar7jximmVnZUd+k qOFc9odAdXDXI2oRClB9GZdrmvmYzplltQvtznOJ7d+FwLTzI3WxEUBYd UxfgJkGGuEh7FClsd66xzHv2BtPxBHPAkAlZcUK0WVZfHfNy8EEeAFIzL AAOH2GBvWYGxvwp6h72cuQ7KUQUUIMSZHB+duhVKaexxWr1pa0l2mviMg /P3RqQBfjQM+AXx/3QqV6gudL8pU1tSSiPqfMeqUTDtX7PSemuAkDVjzo XBbyR+7rycZJUsLras35zTI8EEKNTHnUE9amniYMPHebKwuKoAiryx5DE w==; X-IronPort-AV: E=McAfee;i="6600,9927,10659"; a="367537380" X-IronPort-AV: E=Sophos;i="5.98,288,1673942400"; d="scan'208";a="367537380" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2023 08:22:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10659"; a="682735467" X-IronPort-AV: E=Sophos;i="5.98,288,1673942400"; d="scan'208";a="682735467" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 24 Mar 2023 08:22:27 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 24 Mar 2023 08:22:26 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 24 Mar 2023 08:22:26 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Fri, 24 Mar 2023 08:22:26 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Fri, 24 Mar 2023 08:22:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G9N6qwUsMwTXdR3TjmnxG3w3dztBaznU34fmCliquPNtYel/sLJTEKZvI0ajA/WbHkP7+/UpDWkUegWJ0xBF9TQql09RY35Ux2KjBKKkqTEqzLfcHOmkJnrzcPinysFn2wcQ/7R0ZR8hc2lJ6rk/3hZ/yIbHgG84T6gQGt+D7kfRw2NKgfk3IHfrhqx4CWgQG+te5JGAiBQ4juSCmafRW56Vyj84+1Tmv/bH4fi5EvT3zBdC9Z2xgw+42TuRhWjp6eTtYel9RgIQqMHB0Rvx6G0TpDm6OFV5jpsC+DFLgFv4B6QxBp1izkDabKNlpk54sUpuH7yxAani96JGFT6aQg== 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=rBZLeEbwY9ziDWjm24di+48jcbTbeE+RNnFqOP2FfpE=; b=DSZigZtocCXo+sNgjVykiqazcmFwzat8ixZ0fPuHam9wT+Zo2kjVr3wcQNzQ6gIMPy0SNd5ZKZRvl7yNKfjrqzR1SA7lPer4hFyN5WzUWpyoDgo/C6OG/InMTo3V2UwI3AUYnITdRk4zrOG4XUli7AYp0gWd90CopEUgaxzVt6ctJyD7yELm7/0FtPIJgCE6ryNoORAfyCV8UECVtFC61Cn4WGK3XRXgqIOYZsVZ5OMkxkGCgVucAegNj0KayXpW8S0ilM2fzThDb/era1JcrJL6A18PO7O81/3sfFAR7Tcwdm+4baub7dZCaUHdVbdMcsEvfbV/TSdoLoKzOx0Ffg== 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 CY4PR11MB2054.namprd11.prod.outlook.com (2603:10b6:903:2d::9) by SA3PR11MB7463.namprd11.prod.outlook.com (2603:10b6:806:304::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.39; Fri, 24 Mar 2023 15:22:24 +0000 Received: from CY4PR11MB2054.namprd11.prod.outlook.com ([fe80::ecb6:23da:cb6c:683b]) by CY4PR11MB2054.namprd11.prod.outlook.com ([fe80::ecb6:23da:cb6c:683b%10]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023 15:22:24 +0000 From: "Souza, Jose" To: "intel-xe@lists.freedesktop.org" , "Auld, Matthew" Thread-Topic: [PATCH v2 5/6] drm/xe/uapi: add the userspace bits for small-bar Thread-Index: AQHZXX8XaJ1oJfS0uECbeAde0Npgoq8KDdsA Date: Fri, 24 Mar 2023 15:22:23 +0000 Message-ID: <307a1ef9ce29c0c1b6ac5938a6d3eca29473bc94.camel@intel.com> References: <20230323115926.391900-1-matthew.auld@intel.com> <20230323115926.391900-6-matthew.auld@intel.com> In-Reply-To: <20230323115926.391900-6-matthew.auld@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: CY4PR11MB2054:EE_|SA3PR11MB7463:EE_ x-ms-office365-filtering-correlation-id: 76395a9e-3b1a-43f3-cf2f-08db2c7b91a6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WwWdNoYkl0XB1q2yFOoNWv0KJBj7To+XSXqlYR7nDr6XA29caqPJXYPPxAY7at2MQtwgtuZfdmyDOHa17uH2YVPHQhxn0tzZAKbczr+Mz7TCRuRPBRMJREIdxEuX0rBrv3++A1Xs9zMPgYRB62JCi+I8TrPqZ05UXwgFvoG/De0ihIrmvoW628Z9qvR6MNF0ykJzd/2YGhruEHfbEFvWMDEjmHBVDxtvgV00YS+ZnsEss3FknfGkO2KkWZvGa+M7gFj1IjDHv0TpUt66XzdHsgU9pzBNRlUtpWI0X1qCvE3ooo0HSLGrk8VCmwOyF/yCD0Ecy9NVKJWG/QAeqVEHtQBAQh9sn+2VaE5frQROIdgnQ+HVQrO6l9Z6nbAJFZ57Kt+XQ8yDSLhzXrHBGcM5Ci090Lo9yhmdlr7awAb85AURml6SoI31dimuo8IU2cZjSOf1MAN0RXQg77+26zleuw5511hnGucPuYQFAsr+02nScr0VDgpmS+6zpevtgGBxy5uELDN0J/pLIzfM/FRTiT43wkf9bQFHpng2A7qGZCySfdcmSIVrZWJ7WOHe1vYlhpcD8SYBRXooAZGJe2F9n4ZD4FteLTRK46fk1odrkJ4u3rCTSM9dAgbpRn4xOwPj35KQd7oPa803pEYwzFLbASN6VkDlA009/dTrOv98EnBmv32HMbhpolvi6JmuJs8dY2XOXoAvIlkJA8A8s0nsLQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR11MB2054.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(376002)(136003)(346002)(396003)(366004)(39860400002)(451199018)(82960400001)(6486002)(36756003)(66476007)(110136005)(38100700002)(66556008)(6636002)(54906003)(478600001)(66946007)(76116006)(91956017)(66446008)(2906002)(8676002)(64756008)(38070700005)(316002)(4326008)(2616005)(66574015)(186003)(122000001)(71200400001)(41300700001)(8936002)(86362001)(83380400001)(5660300002)(26005)(6512007)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RHdhdW9PQ04weXJtM3k1SWVDVHZ2Uk5tSTVkSm9uQnE1VE1vN2pKM2h5VHpG?= =?utf-8?B?ZHZXaVhxZlRjSWtrcDRJWUN3Rk4ySGpBYjVzQlNyRkJtQU5iL1VISXMxcHdX?= =?utf-8?B?TEN2c29aMllKd1JUMzQvZHhBdkRyQ2NwQXcyMjVrM3J0WkNkQS9SUFY3YWVN?= =?utf-8?B?eHY1M0Z0L0VQd0JrYWE4Rk11YWVTWWcvYVJPS3E0Y3VYVlF5R3ZWeksydlpQ?= =?utf-8?B?SjBGT1BzWmEzYTFPVWlkeVhuN2thSTRpQllkZnFMZm01dGlRakx0VXowdlFE?= =?utf-8?B?bC9waitjbDY3bTlnSzZnNTZIWEVHT3oxYjl4OVBOTEtLOTd6VkJzQnJkRjFS?= =?utf-8?B?NmVIcVpkc0RqV2Nnci9LVzNzdFpOM3hNbzRoQlpJR0N2ODE4eGwrZXFreXNU?= =?utf-8?B?ZEgwVXJNWXQrZ2w5K01uc1AraWd6eis1Vm1pajQxRnRPVFdNRmpNa3hFYkJt?= =?utf-8?B?azZlQTQ1KzY1eWVFeEhzR1YxOUNIOXNGRVRDcnU2dEc2VWZrTW45Y21rVVdE?= =?utf-8?B?cnlqVENHTmZpaEdUSE9iM1BKYXZKV1hNbXNhdEpqRm40dWZiQ1lPOVpGd20x?= =?utf-8?B?QnoySTJvblhOSnkyNDkxTENHMk5wVVViZmNGVVhLYURiL0JSSHhabC9hVFRB?= =?utf-8?B?UVA4UVJQRXNTTW5TUmV1SFBSQnllMThPTktldDUwLysrajQ0eEVpOWVDVW5E?= =?utf-8?B?L3FxeW1kaXhqbzV1MU5qVS9zN25aWk85dFpIa1gxNWxaai9Lb291K3ZKQ2Y3?= =?utf-8?B?aWQxSDNXV2ZnTnBRUlc1K2NrK3A2WGtmZzlIenlFYVpwUThmZWdSNEZacTZt?= =?utf-8?B?VlRGblF1NSsrSkltQWNoM1NQVTdpN3dNTUw2d2hDbnVLSEl0amZ1S0xzZjl3?= =?utf-8?B?aG45L0NWZ01vbEg5YlM4YzRzeVVxOXlUYVJWYUxoNm5HUFAxUDdUR1Z5NlFx?= =?utf-8?B?VFhQVUpudWZ3bW5LMFFCN3Q4MExIcmQyNTBSNFlZSVRnMjZhTGlITlVpQVEv?= =?utf-8?B?Z0tJalRnblBuN1ZmQ1NzMnFHSVhRV1kycWR2WWoxblNEYzRsalRxUDczQkEw?= =?utf-8?B?dnY0Nzg2Z21XODJlTnJ6VkVoRVBiVm9CUTFRSXJXNHZnY1JyYm11L2dTbkJl?= =?utf-8?B?aUxnNmxJZG4xUkVTL2liTURQaWx6b2c4c3V0ZEJlKzBBZkQrcjRVZTQ1V2xs?= =?utf-8?B?RzRPTStMMC9CZzlobG83alVBNFBQVExoNE9nSFY4T0FSS0RyNC9CR1ZJeWFh?= =?utf-8?B?ckhobmFVdGpEQmFraGZHb09IT1hDUXpiMklnK1dLZk85NWJmcWxlMjMvNDBq?= =?utf-8?B?UUFqQmtIOTNJL0FydnpWOW5jdnBhWFd0Z3gxT2tiSzdHcDByOVBXOUlGdytZ?= =?utf-8?B?N3RiMUMwWDZ6d3pwZ3VUckJ6eU9DdnZpbmtaSm03SXBSVjNkc2lENXhlMG5x?= =?utf-8?B?WENzQ25oOG5seFM0eStBVlJNakQ0RDVFd09QUlAwWmExT3M2YVhXTEgyVHhW?= =?utf-8?B?Nkt2SEZ3YUZScnliTFl1Zm1aNUlDN3ZjMTROcnNjTUJPL1EvQkVPeXhpOUxw?= =?utf-8?B?bmVxWGtrVEc0NHo4ZXpVeGVuVm0wYmpzY0V2OTAwY2JPaTY1REJtaS9xUlg1?= =?utf-8?B?blViQ2ZtSHR3UkRYVWUzaGJYdUhEZm0wcnpubnBvazNLWm5oQVVscG5vbHlQ?= =?utf-8?B?enZwUHUvaU04RWJpU29DZ0RtMzljdU11UTlsSFhxQmt5QmlIaWN2Q0I0cHc4?= =?utf-8?B?SVY3eDFQMldzTitmcGd0Ukt1M0wvRC9sbm9XSUlIS1RVcnZjVGhzL1d2Q21T?= =?utf-8?B?VFBMVW5CU1ZDZ2xORE5iOWVXaU1CR2Y4VTdVNHp2UmptcUlqaFc2dDU0MDJi?= =?utf-8?B?b0pXdHFZeklBLzRRVVloSXRPRmtWZ0p4VkJxaHlVVEVWc1VJL0xnVkxUamtz?= =?utf-8?B?K3JtTkZLTk9tQ1kybnZvbHI2Z0UrS0UyM3piOW44dW1uUEhTTWczOTV5NlBT?= =?utf-8?B?aVYzYm1IeEtXZTRsOG1pM3B3Q1ZOVDdpckZMdU91Wnl6N1hjVTZpZUJTS3VJ?= =?utf-8?B?LzhEWlpZVENLN0x6OFVxMWxjeEdYZlI0Z0JvdHVVcEZYWGlxQnJVd2htWnpo?= =?utf-8?B?MER0eUg4NDhkV3NrM3RHWUpzalI1YlNmQTlZdi94RUs4VVJmaVFnOXl6Qm1y?= =?utf-8?B?cHc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <9848BE0E7B004C459B502B93439E64CF@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB2054.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76395a9e-3b1a-43f3-cf2f-08db2c7b91a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2023 15:22:23.8972 (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: ISOCzkigFzqsnfFGkIAh2v8iK3OordXuSipsVtfkvOu9s3IzuQPpAmOYUo8a0Z+1zBP019mAQSIOe7L/zlz+Xw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB7463 X-OriginatorOrg: intel.com Subject: Re: [Intel-xe] [PATCH v2 5/6] drm/xe/uapi: add the userspace bits for small-bar 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: , Cc: "Hazubski, Filip" , "De Marchi, Lucas" , "Zhang, Carl" , "Yu, Effie" Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVGh1LCAyMDIzLTAzLTIzIGF0IDExOjU5ICswMDAwLCBNYXR0aGV3IEF1bGQgd3JvdGU6DQo+ IE1vc3RseSB0aGUgc2FtZSBhcyBpOTE1LiBXZSBhZGQgYSBuZXcgaGludCBmb3IgdXNlcnNwYWNl IHRvIGZvcmNlIGFuDQo+IG9iamVjdCBpbnRvIHRoZSBtYXBwYWJsZSBwYXJ0IG9mIHZyYW0uDQo+ IA0KPiBXZSBhbHNvIG5lZWQgdG8gdGVsbCB1c2Vyc3BhY2UgaG93IGxhcmdlIHRoZSBtYXBwYWJs ZSBwYXJ0IGlzLiBJbiBWdWxrYW4NCj4gZm9yIGV4YW1wbGUsIHRoZXJlIHdpbGwgYmUgdHdvIHZy YW0gaGVhcHMgZm9yIHNtYWxsLWJhciBzeXN0ZW1zLiBBbmQNCj4gaGVyZSB0aGUgc2l6ZSBvZiBl YWNoIGhlYXAgbmVlZHMgdG8gYmUga25vd24uIExpa2V3aXNlIHRoZSB1c2VkL2F2YWlsDQo+IHRy YWNraW5nIG5lZWRzIHRvIGFjY291bnQgZm9yIHRoZSBtYXBwYWJsZSBwYXJ0Lg0KPiANCj4gV2Ug YWxzbyBsaW1pdCB0aGUgYXZhaWxhYmxlIHRyYWNraW5nIGdvaW5nIGZvcndhcmQsIHN1Y2ggdGhh dCB3ZSBsaW1pdA0KPiB0byBwcml2aWxlZ2VkIHVzZXJzIG9ubHksIHNpbmNlIHRoZXNlIHZhbHVl cyBhcmUgc3lzdGVtIHdpZGUgYW5kIGFyZQ0KPiB0ZWNobmljYWxseSBjb25zaWRlcmVkIGFuIGlu Zm8gbGVhay4NCj4gDQo+IHYyIChNYWFydGVuKToNCj4gICAtIHMvTkVFRFNfQ1BVX0FDQ0VTUy9O RUVEU19WSVNJQkxFX1ZSQU0vIGluIHRoZSB1YXBpLiBXZSBhbHNvIG5vDQo+ICAgICBsb25nZXIg cmVxdWlyZSBzbWVtIGFzIGFuIGV4dHJhIHBsYWNlbWVudC4gVGhpcyBpcyBtb3JlIGZsZXhpYmxl LA0KPiAgICAgYW5kIGxldHMgdXMgdXNlIHRoaXMgZm9yIGNsZWFyLWNvbG9yIHN1cmZhY2VzLCBz aW5jZSB3ZSBuZWVkIENQVSBhY2Nlc3MNCj4gICAgIHRoZXJlIGJ1dCB3ZSBkb24ndCB3YW50IHRv IGF0dGFjaCBzbWVtLCBzaW5jZSB0aGF0IGVmZmVjdGl2ZWx5IGRpc2FibGVzDQo+ICAgICBDQ1Mg ZnJvbSBrZXJuZWwgcG92Lg0KPiAgIC0gUmVqZWN0IGNsZWFyLWNvbG9yIENDUyBidWZmZXJzIHdo ZXJlIE5FRURTX1ZJU0lCTEVfVlJBTSBpcyBub3Qgc2V0LA0KPiAgICAgaW5zdGVhZCBvZiBtaWdy YXRpbmcgaXQgYmVoaW5kIHRoZSBzY2VuZXMuDQo+IHYzIChKb3PDqSkNCj4gICAtIFNwbGl0IHRo ZSBjaGFuZ2VzIHRoYXQgbGltaXQgdGhlIGFjY291bnRpbmcgZm9yIHBlcmZtb25fY2FwYWJsZSgp DQo+ICAgICBpbnRvIGEgc2VwYXJhdGUgcGF0Y2guDQo+ICAgLSBVc2UgWEVfQk9fQ1JFQVRFX1ZS QU1fTUFTSy4NCj4gDQoNClJldmlld2VkLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3Nl LnNvdXphQGludGVsLmNvbT4NCg0KPiBTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRo ZXcuYXVsZEBpbnRlbC5jb20+DQo+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPg0KPiBDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5o ZWxsc3Ryb21AbGludXguaW50ZWwuY29tPg0KPiBDYzogR3dhbi1neWVvbmcgTXVuIDxnd2FuLWd5 ZW9uZy5tdW5AaW50ZWwuY29tPg0KPiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNo aUBpbnRlbC5jb20+DQo+IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGlu dGVsLmNvbT4NCj4gQ2M6IEZpbGlwIEhhenVic2tpIDxmaWxpcC5oYXp1YnNraUBpbnRlbC5jb20+ DQo+IENjOiBDYXJsIFpoYW5nIDxjYXJsLnpoYW5nQGludGVsLmNvbT4NCj4gQ2M6IEVmZmllIFl1 IDxlZmZpZS55dUBpbnRlbC5jb20+DQo+IFJldmlld2VkLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNv dXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0veGUv ZGlzcGxheS94ZV9mYl9waW4uYyB8IDEzICsrKysrKysrKysrKysNCj4gIGRyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9iby5jICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKystLQ0KPiAgZHJpdmVycy9n cHUvZHJtL3hlL3hlX3F1ZXJ5LmMgICAgICAgICAgfCAxMyArKysrKysrKystLS0tDQo+ICBkcml2 ZXJzL2dwdS9kcm0veGUveGVfdHRtX3ZyYW1fbWdyLmMgICB8IDE4ICsrKysrKysrKysrKysrKysr Kw0KPiAgZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5oICAgfCAgNCArKysrDQo+ ICBpbmNsdWRlL3VhcGkvZHJtL3hlX2RybS5oICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysr KysrKysrKystDQo+ICA2IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL2Rpc3BsYXkveGVf ZmJfcGluLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUvZGlzcGxheS94ZV9mYl9waW4uYw0KPiBpbmRl eCA2NWMwYmMyOGEzZDEuLjJhMGVkZjk0MDFkYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3hlL2Rpc3BsYXkveGVfZmJfcGluLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL2Rp c3BsYXkveGVfZmJfcGluLmMNCj4gQEAgLTE5NSw2ICsxOTUsMTkgQEAgc3RhdGljIHN0cnVjdCBp OTE1X3ZtYSAqX194ZV9waW5fZmJfdm1hKHN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqZmIsDQo+ ICAJCWdvdG8gZXJyOw0KPiAgCX0NCj4gIA0KPiArCS8qDQo+ICsJICogSWYgd2UgbmVlZCB0byBh YmxlIHRvIGFjY2VzcyB0aGUgY2xlYXItY29sb3IgdmFsdWUgc3RvcmVkIGluIHRoZQ0KPiArCSAq IGJ1ZmZlciwgdGhlbiB3ZSByZXF1aXJlIHRoYXQgc3VjaCBidWZmZXJzIGFyZSBhbHNvIENQVSBh Y2Nlc3NpYmxlLg0KPiArCSAqIFRoaXMgaXMgaW1wb3J0YW50IG9uIHNtYWxsLWJhciBzeXN0ZW1z IHdoZXJlIG9ubHkgc29tZSBzdWJzZXQgb2YgVlJBTQ0KPiArCSAqIGlzIENQVSBhY2Nlc3NpYmxl Lg0KPiArCSAqLw0KPiArCWlmIChJU19ER0ZYKHRvX3hlX2RldmljZShiby0+dHRtLmJhc2UuZGV2 KSkgJiYNCj4gKwkgICAgaW50ZWxfZmJfcmNfY2NzX2NjX3BsYW5lKCZmYi0+YmFzZSkgPj0gMCAm Jg0KPiArCSAgICAhKGJvLT5mbGFncyAmIFhFX0JPX05FRURTX0NQVV9BQ0NFU1MpKSB7DQo+ICsJ CXJldCA9IC1FSU5WQUw7DQo+ICsJCWdvdG8gZXJyOw0KPiArCX0NCj4gKw0KPiAgCS8qDQo+ICAJ ICogUGluIHRoZSBmcmFtZWJ1ZmZlciwgd2UgY2FuJ3QgdXNlIHhlX2JvXyh1bilwaW4gZnVuY3Rp b25zIGFzIHRoZQ0KPiAgCSAqIGFzc3VtcHRpb25zIGFyZSBpbmNvcnJlY3QgZm9yIGZyYW1lYnVm ZmVycw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2JvLmMgYi9kcml2ZXJz L2dwdS9kcm0veGUveGVfYm8uYw0KPiBpbmRleCBkZTU3Y2NjNWI1N2MuLjI1YjFhNTZjMmFmYSAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2JvLmMNCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3hlL3hlX2JvLmMNCj4gQEAgLTg5Myw3ICs4OTMsNiBAQCBzdGF0aWMgdm1fZmF1 bHRfdCB4ZV9nZW1fZmF1bHQoc3RydWN0IHZtX2ZhdWx0ICp2bWYpDQo+ICAJCQlyZXQgPSB0dG1f Ym9fdm1fZmF1bHRfcmVzZXJ2ZWQodm1mLA0KPiAgCQkJCQkJICAgICAgIHZtZi0+dm1hLT52bV9w YWdlX3Byb3QsDQo+ICAJCQkJCQkgICAgICAgVFRNX0JPX1ZNX05VTV9QUkVGQVVMVCk7DQo+IC0N Cj4gIAkJZHJtX2Rldl9leGl0KGlkeCk7DQo+ICAJfSBlbHNlIHsNCj4gIAkJcmV0ID0gdHRtX2Jv X3ZtX2R1bW15X3BhZ2Uodm1mLCB2bWYtPnZtYS0+dm1fcGFnZV9wcm90KTsNCj4gQEAgLTE1MTgs NiArMTUxNyw3IEBAIGludCB4ZV9nZW1fY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsDQo+ICAJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+ZmxhZ3MgJg0K PiAgCQkJIH4oWEVfR0VNX0NSRUFURV9GTEFHX0RFRkVSX0JBQ0tJTkcgfA0KPiAgCQkJICAgWEVf R0VNX0NSRUFURV9GTEFHX1NDQU5PVVQgfA0KPiArCQkJICAgWEVfR0VNX0NSRUFURV9GTEFHX05F RURTX1ZJU0lCTEVfVlJBTSB8DQo+ICAJCQkgICB4ZS0+aW5mby5tZW1fcmVnaW9uX21hc2spKSkN Cj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICANCj4gQEAgLTE1NTUsNiArMTU1NSwxNCBAQCBpbnQg eGVfZ2VtX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLA0K PiAgCQlib19mbGFncyB8PSBYRV9CT19TQ0FOT1VUX0JJVDsNCj4gIA0KPiAgCWJvX2ZsYWdzIHw9 IGFyZ3MtPmZsYWdzIDw8IChmZnMoWEVfQk9fQ1JFQVRFX1NZU1RFTV9CSVQpIC0gMSk7DQo+ICsN Cj4gKwlpZiAoYXJncy0+ZmxhZ3MgJiBYRV9HRU1fQ1JFQVRFX0ZMQUdfTkVFRFNfVklTSUJMRV9W UkFNKSB7DQo+ICsJCWlmIChYRV9JT0NUTF9FUlIoeGUsICEoYm9fZmxhZ3MgJiBYRV9CT19DUkVB VEVfVlJBTV9NQVNLKSkpDQo+ICsJCQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArCQlib19mbGFn cyB8PSBYRV9CT19ORUVEU19DUFVfQUNDRVNTOw0KPiArCX0NCj4gKw0KPiAgCWJvID0geGVfYm9f Y3JlYXRlKHhlLCBOVUxMLCB2bSwgYXJncy0+c2l6ZSwgdHRtX2JvX3R5cGVfZGV2aWNlLA0KPiAg CQkJICBib19mbGFncyk7DQo+ICAJaWYgKHZtKSB7DQo+IEBAIC0xODE4LDcgKzE4MjYsOCBAQCBp bnQgeGVfYm9fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsDQo+ICANCj4g IAlibyA9IHhlX2JvX2NyZWF0ZSh4ZSwgTlVMTCwgTlVMTCwgYXJncy0+c2l6ZSwgdHRtX2JvX3R5 cGVfZGV2aWNlLA0KPiAgCQkJICBYRV9CT19DUkVBVEVfVlJBTV9JRl9ER0ZYKHRvX2d0KHhlKSkg fA0KPiAtCQkJICBYRV9CT19DUkVBVEVfVVNFUl9CSVQgfCBYRV9CT19TQ0FOT1VUX0JJVCk7DQo+ ICsJCQkgIFhFX0JPX0NSRUFURV9VU0VSX0JJVCB8IFhFX0JPX1NDQU5PVVRfQklUIHwNCj4gKwkJ CSAgWEVfQk9fTkVFRFNfQ1BVX0FDQ0VTUyk7DQo+ICAJaWYgKElTX0VSUihibykpDQo+ICAJCXJl dHVybiBQVFJfRVJSKGJvKTsNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hl L3hlX3F1ZXJ5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcXVlcnkuYw0KPiBpbmRleCA5ZmY4 MDZjYWZjZGQuLmU5NGNhZDk0NjUwNyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hl L3hlX3F1ZXJ5LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3F1ZXJ5LmMNCj4gQEAg LTE2LDYgKzE2LDcgQEANCj4gICNpbmNsdWRlICJ4ZV9ndC5oIg0KPiAgI2luY2x1ZGUgInhlX2d1 Y19od2NvbmZpZy5oIg0KPiAgI2luY2x1ZGUgInhlX21hY3Jvcy5oIg0KPiArI2luY2x1ZGUgInhl X3R0bV92cmFtX21nci5oIg0KPiAgDQo+ICBzdGF0aWMgY29uc3QgZW51bSB4ZV9lbmdpbmVfY2xh c3MgeGVfdG9fdXNlcl9lbmdpbmVfY2xhc3NbXSA9IHsNCj4gIAlbWEVfRU5HSU5FX0NMQVNTX1JF TkRFUl0gPSBEUk1fWEVfRU5HSU5FX0NMQVNTX1JFTkRFUiwNCj4gQEAgLTE0OSwxMyArMTUwLDE3 IEBAIHN0YXRpYyBpbnQgcXVlcnlfbWVtb3J5X3VzYWdlKHN0cnVjdCB4ZV9kZXZpY2UgKnhlLA0K PiAgCQkJCW1hbi0+c2l6ZTsNCj4gIA0KPiAgCQkJaWYgKHBlcmZtb25fY2FwYWJsZSgpKSB7DQo+ IC0JCQkJdXNhZ2UtPnJlZ2lvbnNbdXNhZ2UtPm51bV9yZWdpb25zXS51c2VkID0NCj4gLQkJCQkJ dHRtX3Jlc291cmNlX21hbmFnZXJfdXNhZ2UobWFuKTsNCj4gKwkJCQl4ZV90dG1fdnJhbV9nZXRf dXNlZChtYW4sDQo+ICsJCQkJCQkgICAgICZ1c2FnZS0+cmVnaW9uc1t1c2FnZS0+bnVtX3JlZ2lv bnNdLnVzZWQsDQo+ICsJCQkJCQkgICAgICZ1c2FnZS0+cmVnaW9uc1t1c2FnZS0+bnVtX3JlZ2lv bnNdLmNwdV92aXNpYmxlX3VzZWQpOw0KPiAgCQkJfSBlbHNlIHsNCj4gLQkJCQl1c2FnZS0+cmVn aW9uc1t1c2FnZS0+bnVtX3JlZ2lvbnNdLnVzZWQgPQ0KPiAtCQkJCQltYW4tPnNpemU7DQo+ICsJ CQkJdXNhZ2UtPnJlZ2lvbnNbdXNhZ2UtPm51bV9yZWdpb25zXS51c2VkID0gbWFuLT5zaXplOw0K PiArCQkJCXVzYWdlLT5yZWdpb25zW3VzYWdlLT5udW1fcmVnaW9uc10uY3B1X3Zpc2libGVfdXNl ZCA9DQo+ICsJCQkJCXhlX3R0bV92cmFtX2dldF9jcHVfdmlzaWJsZV9zaXplKG1hbik7DQo+ICAJ CQl9DQo+ICANCj4gKwkJCXVzYWdlLT5yZWdpb25zW3VzYWdlLT5udW1fcmVnaW9uc10uY3B1X3Zp c2libGVfc2l6ZSA9DQo+ICsJCQkJeGVfdHRtX3ZyYW1fZ2V0X2NwdV92aXNpYmxlX3NpemUobWFu KTsNCj4gIAkJCXVzYWdlLT5udW1fcmVnaW9ucysrOw0KPiAgCQl9DQo+ICAJfQ0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5jIGIvZHJpdmVycy9ncHUv ZHJtL3hlL3hlX3R0bV92cmFtX21nci5jDQo+IGluZGV4IGNmMDgxZTRhZWRmNi4uNjU0YzVhZTY1 MTZiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHRtX3ZyYW1fbWdyLmMN Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5jDQo+IEBAIC00NTgs MyArNDU4LDIxIEBAIHZvaWQgeGVfdHRtX3ZyYW1fbWdyX2ZyZWVfc2d0KHN0cnVjdCBkZXZpY2Ug KmRldiwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLA0KPiAgCXNnX2ZyZWVfdGFibGUoc2d0 KTsNCj4gIAlrZnJlZShzZ3QpOw0KPiAgfQ0KPiArDQo+ICt1NjQgeGVfdHRtX3ZyYW1fZ2V0X2Nw dV92aXNpYmxlX3NpemUoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4pDQo+ICt7DQo+ ICsJc3RydWN0IHhlX3R0bV92cmFtX21nciAqbWdyID0gdG9feGVfdHRtX3ZyYW1fbWdyKG1hbik7 DQo+ICsNCj4gKwlyZXR1cm4gbWdyLT52aXNpYmxlX3NpemU7DQo+ICt9DQo+ICsNCj4gK3ZvaWQg eGVfdHRtX3ZyYW1fZ2V0X3VzZWQoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4sDQo+ ICsJCQkgIHU2NCAqdXNlZCwgdTY0ICp1c2VkX3Zpc2libGUpDQo+ICt7DQo+ICsJc3RydWN0IHhl X3R0bV92cmFtX21nciAqbWdyID0gdG9feGVfdHRtX3ZyYW1fbWdyKG1hbik7DQo+ICsNCj4gKwlt dXRleF9sb2NrKCZtZ3ItPmxvY2spOw0KPiArCSp1c2VkID0gbWdyLT5tbS5zaXplIC0gbWdyLT5t bS5hdmFpbDsNCj4gKwkqdXNlZF92aXNpYmxlID0gbWdyLT52aXNpYmxlX3NpemUgLSBtZ3ItPnZp c2libGVfYXZhaWw7DQo+ICsJbXV0ZXhfdW5sb2NrKCZtZ3ItPmxvY2spOw0KPiArfQ0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5oIGIvZHJpdmVycy9n cHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5oDQo+IGluZGV4IDM1ZTUzNjdhNzlmYi4uMjdmNDM0 OTBmYTExIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHRtX3ZyYW1fbWdy LmgNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R0bV92cmFtX21nci5oDQo+IEBAIC0y NSw2ICsyNSwxMCBAQCBpbnQgeGVfdHRtX3ZyYW1fbWdyX2FsbG9jX3NndChzdHJ1Y3QgeGVfZGV2 aWNlICp4ZSwNCj4gIHZvaWQgeGVfdHRtX3ZyYW1fbWdyX2ZyZWVfc2d0KHN0cnVjdCBkZXZpY2Ug KmRldiwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLA0KPiAgCQkJICAgICAgc3RydWN0IHNn X3RhYmxlICpzZ3QpOw0KPiAgDQo+ICt1NjQgeGVfdHRtX3ZyYW1fZ2V0X2NwdV92aXNpYmxlX3Np emUoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4pOw0KPiArdm9pZCB4ZV90dG1fdnJh bV9nZXRfdXNlZChzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXIgKm1hbiwNCj4gKwkJCSAgdTY0 ICp1c2VkLCB1NjQgKnVzZWRfdmlzaWJsZSk7DQo+ICsNCj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0 IHhlX3R0bV92cmFtX21ncl9yZXNvdXJjZSAqDQo+ICB0b194ZV90dG1fdnJhbV9tZ3JfcmVzb3Vy Y2Uoc3RydWN0IHR0bV9yZXNvdXJjZSAqcmVzKQ0KPiAgew0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2RybS94ZV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmgNCj4gaW5kZXgg NjYxZDc5MjkyMTBjLi41YTk4MDdkOTY3NjEgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvdWFwaS9k cm0veGVfZHJtLmgNCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS94ZV9kcm0uaA0KPiBAQCAtMTY5 LDcgKzE2OSw5IEBAIHN0cnVjdCBkcm1feGVfcXVlcnlfbWVtX3VzYWdlIHsNCj4gIAkJX191MzIg bWF4X3BhZ2Vfc2l6ZTsNCj4gIAkJX191NjQgdG90YWxfc2l6ZTsNCj4gIAkJX191NjQgdXNlZDsN Cj4gLQkJX191NjQgcmVzZXJ2ZWRbOF07DQo+ICsJCV9fdTY0IGNwdV92aXNpYmxlX3NpemU7DQo+ ICsJCV9fdTY0IGNwdV92aXNpYmxlX3VzZWQ7DQo+ICsJCV9fdTY0IHJlc2VydmVkWzZdOw0KPiAg CX0gcmVnaW9uc1tdOw0KPiAgfTsNCj4gIA0KPiBAQCAtMjcwLDYgKzI3MiwyMiBAQCBzdHJ1Y3Qg ZHJtX3hlX2dlbV9jcmVhdGUgew0KPiAgCSAqLw0KPiAgI2RlZmluZSBYRV9HRU1fQ1JFQVRFX0ZM QUdfREVGRVJfQkFDS0lORwkoMHgxIDw8IDI0KQ0KPiAgI2RlZmluZSBYRV9HRU1fQ1JFQVRFX0ZM QUdfU0NBTk9VVAkJKDB4MSA8PCAyNSkNCj4gKy8qDQo+ICsgKiBXaGVuIHVzaW5nIFZSQU0gYXMg YSBwb3NzaWJsZSBwbGFjZW1lbnQsIGVuc3VyZSB0aGF0IHRoZSBjb3JyZXNwb25kaW5nIFZSQU0N Cj4gKyAqIGFsbG9jYXRpb24gd2lsbCBhbHdheXMgdXNlIHRoZSBDUFUgYWNjZXNzaWJsZSBwYXJ0 IG9mIFZSQU0uIFRoaXMgaXMgaW1wb3J0YW50DQo+ICsgKiBmb3Igc21hbGwtYmFyIHN5c3RlbXMg KG9uIGZ1bGwtYmFyIHN5c3RlbXMgdGhpcyBnZXRzIHR1cm5lZCBpbnRvIGEgbm9vcCkuDQo+ICsg Kg0KPiArICogTm90ZTogU3lzdGVtIG1lbW9yeSBjYW4gYmUgdXNlZCBhcyBhbiBleHRyYSBwbGFj ZW1lbnQgaWYgdGhlIGtlcm5lbCBzaG91bGQNCj4gKyAqIHNwaWxsIHRoZSBhbGxvY2F0aW9uIHRv IHN5c3RlbSBtZW1vcnksIGlmIHNwYWNlIGNhbid0IGJlIG1hZGUgYXZhaWxhYmxlIGluDQo+ICsg KiB0aGUgQ1BVIGFjY2Vzc2libGUgcGFydCBvZiBWUkFNIChnaXZpbmcgdGhlIHNhbWUgYmVoYXZp b3VyIGFzIHRoZSBpOTE1DQo+ICsgKiBpbnRlcmZhY2UsIHNlZSBJOTE1X0dFTV9DUkVBVEVfRVhU X0ZMQUdfTkVFRFNfQ1BVX0FDQ0VTUykuDQo+ICsgKg0KPiArICogTm90ZTogRm9yIGNsZWFyLWNv bG9yIENDUyBzdXJmYWNlcyB0aGUga2VybmVsIG5lZWRzIHRvIHJlYWQgdGhlIGNsZWFyLWNvbG9y DQo+ICsgKiB2YWx1ZSBzdG9yZWQgaW4gdGhlIGJ1ZmZlciwgYW5kIG9uIGRpc2NyZXRlIHBsYXRm b3JtcyB3ZSBuZWVkIHRvIHVzZSBWUkFNIGZvcg0KPiArICogZGlzcGxheSBzdXJmYWNlcywgdGhl cmVmb3JlIHRoZSBrZXJuZWwgcmVxdWlyZXMgc2V0dGluZyB0aGlzIGZsYWcgZm9yIHN1Y2gNCj4g KyAqIG9iamVjdHMsIG90aGVyd2lzZSBhbiBlcnJvciBpcyB0aHJvd24uDQo+ICsgKi8NCj4gKyNk ZWZpbmUgWEVfR0VNX0NSRUFURV9GTEFHX05FRURTX1ZJU0lCTEVfVlJBTQkoMHgxIDw8IDI2KQ0K PiAgCV9fdTMyIGZsYWdzOw0KPiAgDQo+ICAJLyoqDQoNCg==