From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vince Salvino Newsgroups: gmane.emacs.bugs Subject: bug#51404: RE: Support system dark mode on Windows 10 Date: Sat, 29 Jan 2022 03:34:32 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_002_CH2PR12MB4231B48AB2971B11106E3E9FA5239CH2PR12MB4231namp_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6648"; mail-complaints-to="usenet@ciao.gmane.io" To: "51404@debbugs.gnu.org" <51404@debbugs.gnu.org> Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jan 29 04:35:35 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nDeWT-0001PO-DU for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 29 Jan 2022 04:35:33 +0100 Original-Received: from localhost ([::1]:58858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nDeWR-0003la-G5 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 28 Jan 2022 22:35:31 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:38976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nDeVy-0003lQ-U2 for bug-gnu-emacs@gnu.org; Fri, 28 Jan 2022 22:35:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nDeVy-000748-2o for bug-gnu-emacs@gnu.org; Fri, 28 Jan 2022 22:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nDeVy-00070n-0F for bug-gnu-emacs@gnu.org; Fri, 28 Jan 2022 22:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Vince Salvino Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 29 Jan 2022 03:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51404 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 51404-submit@debbugs.gnu.org id=B51404.164342728326915 (code B ref 51404); Sat, 29 Jan 2022 03:35:01 +0000 Original-Received: (at 51404) by debbugs.gnu.org; 29 Jan 2022 03:34:43 +0000 Original-Received: from localhost ([127.0.0.1]:60829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nDeVe-000702-UR for submit@debbugs.gnu.org; Fri, 28 Jan 2022 22:34:43 -0500 Original-Received: from mail-dm6nam08on2081.outbound.protection.outlook.com ([40.107.102.81]:7520 helo=NAM04-DM6-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nDeVd-0006zq-6z for 51404@debbugs.gnu.org; Fri, 28 Jan 2022 22:34:41 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UvxwNiAfS9JG9JFiNcmrBpzbPk9+HQEfo96PEdirezPMYjr3Natu/zK9PnOcQKadsS88MAnOE2v+8EHlf6wRaaiCP7NcGI5z8tjK98/5leuHQlehNpatoUa7URMISWscgUmGisR8VPs4cH1gwb7X5Y4VgGqfhSKRdcLLm2b5I3jAGjoXFjh72tTtkZflstLgUXjGrwBM7vgUSGz3/06m/xZD7iTXePmp/z7mlakaH6a0mYj7i4W8IZdk0uPdqpdMV8MoctwG0ls+9slM9lbXUml7/nCnxrjy/1HE27nZJKuINv+LqF35oU1U0oZqnwr2DuxQnHDEWcvLMLmFAn4ngw== 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=wZYkjybWej7/leRlflM6sr5QxgWh2AqoamSXOlJMTcA=; b=C7Yuy9j+lhOM1ZD70C/jUJ+0nnjBsa5GyaEmPGhy3+IHBYfOeZy2zwT/qEJz836Fot7PVOvJzchedH1VgiX0Ffg7vrUMtQ9zulU6uAMF7gf91C6e1naUZ41L18QV1KjM/35mzR2SGvZKjUauHuGA/d2oC8qpBG8UW9cmEtXMKQ5riLyzpCiGzVGB2J3tig9+9iseNafovlHBEpH3szuUobhz547UanDSVQfwi2jJURWWCR3xFyBIQgOnSERYbMo10Stoh+QZLf/EnGywm2KRMr5vU6uzAEtLchF9qHzmhWEQEq+tfZSCeMztzkImtm1pWEOaZb+ohnaNLDJp7BOkNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=coderedcorp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wZYkjybWej7/leRlflM6sr5QxgWh2AqoamSXOlJMTcA=; b=B2TyjOq4DUT/n8d6uzO3X1/uHpoIluCpxDoCx3rYYE+DihZIYkbvIb0k4uv98UJ0eI1IHro0jCBJnWs/DPWCD9oRl20RqBwcyGIweCu97xrDqPt/YsbGkDZDPJb7jbqb28Ayp/atk8qCt9AfSsYxAo8GP189eLQ8mBm38JEgTR8= Original-Received: from CH2PR12MB4231.namprd12.prod.outlook.com (2603:10b6:610:7d::24) by BN6PR12MB1217.namprd12.prod.outlook.com (2603:10b6:404:20::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Sat, 29 Jan 2022 03:34:33 +0000 Original-Received: from CH2PR12MB4231.namprd12.prod.outlook.com ([fe80::859e:5a4f:dd62:bb26]) by CH2PR12MB4231.namprd12.prod.outlook.com ([fe80::859e:5a4f:dd62:bb26%9]) with mapi id 15.20.4930.020; Sat, 29 Jan 2022 03:34:32 +0000 Thread-Topic: RE: Support system dark mode on Windows 10 Thread-Index: AdgP6yLz28PvEhmTQP2D0iM80imrRwE1TAeQ In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=coderedcorp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b9eeb48c-8b71-4e01-42e1-08d9e2d843dc x-ms-traffictypediagnostic: BN6PR12MB1217:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bZ/vCp7Lf8o/reHYP4x+9k1bv/F/8wCG0gdWQ4qXoELVgyHT77djlkOlWtHM5TXhbtFdD3I0x/g24S3aksnnPrBWosa3xImtjJgCr1p2lO5otQeYPBsjayiVEtMH2lvuNfnJqlhSvbD0VOhq/7fjseDPLTtoYl+wn/GxuJiZImIsUkoqLEJ+O7MkrgRazt2YdXo0EDjSTurYPDMK1WC6SwM8adBEDOkeGebAL5tq4zADVN4c9I+vgh2obxellk/ivHuaT44Ab45b9shmM4zYwNhfCBkntt5rtCaNe1gqq8FR09p0FqeSN5EaeNQ47ueX9DUFTliaklnouJuCAWKIQh4zLaTZsSp8wMh5YEyovgsOKt5/Pws2awDMsjC+fw55Ry0sgNKCfm+Qi7VYsrFcJ5CQZgnMxcSuiiNd0XNBLg0m0U5s5sBQu2VOOixdnxTnCrbLO2Fbf/JqY9SkbOp/B58SXlGbRx75tATZaW0TJHfUPHBrD9oFketHZJAdSSQUsN819YGiIF3Yt2JR3TniG5NAuA8UmNsKFoXLYzLQf0C2YNFkfYbn27rbQeRP015gJN55VrvatK3L/zKk6B8xX0ZsCmrTKrWiEJ5RWEnb7k+bl13JRTjRh/c5mLHDYnHfKOsbfJYrhsBu7+4w1S8Mh2FBfrzIZPNcWg7iQxomBEuu1WeMdyrtnSOhN933Zzko2esuOZBJCKXiwCg1Mdf4sw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4231.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(346002)(366004)(136003)(39830400003)(396003)(376002)(5660300002)(508600001)(38100700002)(316002)(33656002)(26005)(6916009)(558084003)(186003)(2906002)(99936003)(122000001)(55016003)(86362001)(66476007)(66946007)(66556008)(83380400001)(52536014)(4326008)(71200400001)(8676002)(66446008)(76116006)(8936002)(64756008)(38070700005)(9686003)(7696005)(6506007)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: QVBqe7YuX03VmJ4Y+KHiD+fNpkdx0ayaVbMIYjf8yJDaqXddl2711BV/iuff0KtZpuSc4DNGDRcAnCT3gHUfQJ9m9WM5V7hOz1AwUVpiFRA2kNqsRs41aUEPObgeq3q7/myX3nU5trZbaBIix54y77OKelO+cxIfKhOEnBTBlnO7tnkHoOttUZ4GtrjccROZgcHbiZ3bjpOLGVQJlGTXL9ZRjcKdMyQu9ZJZYqY4XT59vKHuAJzWbZvxBrrOqvKJUFYNY7KJDhxLyGEl305HwkfC8yKxZYkoZHX4lazH8w0Fg16u2bDE8ConUtz4U5vo7AmYTiGA+fvGhuZaf0sXIh4uqP719ShocgnaoQ4FTNVFKbnwSEiFqLtGLZi3AmhUu27zxFbnmAOIplw1wXiWQH2bGymyHo4Rvk6mtW+tlZXCQXwPlH3TLHCrz6t563Q0AJc/YvZvU+Y/RfbNyvOGiQLd0uJVljfBuOW+hJQjbArO+zFMNfpUPBvlD3XS0EdejqrzrPerTjysAx3KrRYZ5xqCF81kf9ase1UQGCSfAVFkZ+8uIqHEIFbrGtxuUM9WjSkrAgv9hVWsl3A6ezIGTtgoYWm8sP7r/fG7Xe4FXT10vKCN84kPF9f/y8ErjSm+HJE23gnGnKI3Qh1TLuq7SKnMwLdrygXSCLxyvrSXjB64jPPU9x4mURNlLLza+gCTvrgo3lkz2YWJAGIvRFDncKWefQVWryc3LdgVBIjXfdpSUa4aawCsW2zb37 tTif2QiiEeaxPKnz7NcML+UaX0/vC61E+G/xoMorSrC/6bvNwatcb7nqvcu1hpXH49TifTNB+s7NtiA6cQ5N2YrTyhmkkxQ2da X-OriginatorOrg: coderedcorp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4231.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9eeb48c-8b71-4e01-42e1-08d9e2d843dc X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2022 03:34:32.7864 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9c94adb1-2ce8-484f-be82-c9b5127d4cb1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TAofrVEKLfdBmKSX25VOujh1hUpWc0iYZd0AP8JsH9LpCRL/japF+YT0hDWpFi28Pw7bSeNk2pbOsFsIr7h3Wg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1217 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:225504 Archived-At: --_002_CH2PR12MB4231B48AB2971B11106E3E9FA5239CH2PR12MB4231namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Update: I improved the previous patch to use a linked list to track the win= dow handles during runtime, and am reasonably happy with it. If this looks = good please go ahead and install the attached patch 0002 to master. Thanks! Vince Salvino --_002_CH2PR12MB4231B48AB2971B11106E3E9FA5239CH2PR12MB4231namp_ Content-Type: application/octet-stream; name="0002-Support-MS-Windows-light-dark-mode-theme-change-duri.patch" Content-Description: 0002-Support-MS-Windows-light-dark-mode-theme-change-duri.patch Content-Disposition: attachment; filename="0002-Support-MS-Windows-light-dark-mode-theme-change-duri.patch"; size=6956; creation-date="Sat, 29 Jan 2022 03:27:25 GMT"; modification-date="Sat, 29 Jan 2022 03:34:32 GMT" Content-Transfer-Encoding: base64 RnJvbSBhOGMyZjM1MzM3MmQ4ZjAxNTUzODgwNGUxNzY4MmU3MmU0MGFmMjIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaW5jZSBTYWx2aW5vIDxzYWx2aW5vQGNvZGVyZWRjb3JwLmNv bT4KRGF0ZTogRnJpLCAyOCBKYW4gMjAyMiAyMjoyNToxMyAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IFN1cHBvcnQgTVMtV2luZG93cyBsaWdodC9kYXJrIG1vZGUgdGhlbWUgY2hhbmdlIGR1cmluZwog cnVudGltZS4gKEJ1ZyM1MTQwNCkKCi0tLQogc3JjL3czMmZucy5jIHwgMTA4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDg2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy93MzJm bnMuYyBiL3NyYy93MzJmbnMuYwppbmRleCAzN2Y5YjgxM2M2Li5lMWI0ZjRiNTE5IDEwMDY0NAot LS0gYS9zcmMvdzMyZm5zLmMKKysrIGIvc3JjL3czMmZucy5jCkBAIC03OCw2ICs3OCw3IEBAICNk ZWZpbmUgX1dJTjMyX1dJTk5UIDB4MDYwMAogICBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNy b3NvZnQvV2luZG93c0FwcFNESy9pc3N1ZXMvNDEKICovCiAjZGVmaW5lIERBUktfTU9ERV9BUFBf TkFNRSBMIkRhcmtNb2RlX0V4cGxvcmVyIgorI2RlZmluZSBMSUdIVF9NT0RFX0FQUF9OQU1FIEwi RXhwbG9yZXIiCiAvKiBGb3IgV2luZG93cyAxMCB2ZXJzaW9uIDE4MDksIDE5MDMsIDE5MDkuICov CiAjaWZuZGVmIERXTVdBX1VTRV9JTU1FUlNJVkVfREFSS19NT0RFX09MRAogI2RlZmluZSBEV01X QV9VU0VfSU1NRVJTSVZFX0RBUktfTU9ERV9PTEQgMTkKQEAgLTI3Myw5ICsyNzQsMjAgQEAgI2Rl ZmluZSBNRU5VX0ZSRUVfREVMQVkgMTAwMAogaW50IHczMl9taW5vcl92ZXJzaW9uOwogaW50IHcz Ml9idWlsZF9udW1iZXI7CiAKLS8qIElmIHRoZSBPUyBpcyBzZXQgdG8gdXNlIGRhcmsgbW9kZS4g ICovCisvKiBJZiB0aGUgT1Mgc3VwcG9ydHMgbGlnaHQvZGFyayBtb2RlLiAqLworQk9PTCB3MzJf c3VwcG9ydHNfZGFya21vZGUgPSBGQUxTRTsKKy8qIElmIEVtYWNzIHNob3VsZCB1c2UgdGhlIE9T J3MgZGFyayBtb2RlLiAgKi8KIEJPT0wgdzMyX2Rhcmttb2RlID0gRkFMU0U7CiAKKy8qIFNpbXBs ZSBsaW5rZWQgbGlzdCB0byB0cmFjayB3aW5kb3cgaGFuZGxlcyBkdXJpbmcgcnVudGltZSBzbyB0 aGV5CisgICBjYW4gYmUgdXBkYXRlZCBpZiB0aGUgV2luZG93cyBsaWdodC9kYXJrIG1vZGUgdGhl bWUgaXMgY2hhbmdlZC4gKi8KK3N0cnVjdCBIV05EX05PREUKK3sKKyAgSFdORCBod25kOworICBz dHJ1Y3QgSFdORF9OT0RFICpuZXh0OworfTsKK3N0cnVjdCBIV05EX05PREUgKmdfaHduZF9yb290 OworCiAvKiBEaXN0aW5ndWlzaCBiZXR3ZWVuIFdpbmRvd3MgTlQgYW5kIFdpbmRvd3MgOTUuICAq LwogaW50IG9zX3N1YnR5cGU7CiAKQEAgLTIzMDMsMTkgKzIzMTUsNTAgQEAgdzMyX2luaXRfY2xh c3MgKEhJTlNUQU5DRSBoaW5zdCkKICAgICB9CiB9CiAKKworLyogR2V0cyB0aGUgcHJlZmVycmVk IFdpbmRvd3MgYXBwIG1vZGU6CisgICAqIEZBTFNFID0gTGlnaHQgbW9kZSAodGhpcyBpcyBlcXVp dmFsZW50IHRvIHRoZSB1c2VyIHNwZWNpZnlpbmcKKyAgICAgICAgICAgICBMaWdodCwgb3IgdGhl IGFic2VuY2Ugb2YgYW55IHNldHRpbmcpCisgICAqIFRSVUUgPSBEYXJrIG1vZGUgKGFkZGVkIGlu IFdpbmRvd3MgMTAgMTgwOSkuICovCitzdGF0aWMgQk9PTAordzMyX3F1ZXJ5ZGFya21vZGUgKHZv aWQpCit7CisgIGlmICh3MzJfc3VwcG9ydHNfZGFya21vZGUpCisgICAgeworICAgICAgLyogQ2hl Y2sgV2luZG93cyBSZWdpc3RyeSBmb3Igc3lzdGVtIHRoZW1lLgorCSBUT0RPOiAiTmljZSB0byBo YXZlIiB3b3VsZCBiZSB0byBjcmVhdGUgYSBsaXNwIHNldHRpbmcgKHdoaWNoCisJIGRlZmF1bHRz IHRvIHRoaXMgV2luZG93cyBSZWdpc3RyeSB2YWx1ZSksIHRoZW4gcmVhZCB0aGF0IGxpc3AKKwkg dmFsdWUgaGVyZSBpbnN0ZWFkLiBUaGlzIHdvdWxkIGFsbG93IHRoZSB1c2VyIHRvIGZvcmNpYmx5 CisJIG92ZXJyaWRlIHRoZSBzeXN0ZW0gdGhlbWUgKHdoaWNoIGlzIGFsc28gdXNlci1jb25maWd1 cmFibGUgaW4KKwkgV2luZG93cyBzZXR0aW5nczsgc2VlIE1TLVdpbmRvd3Mgc2VjdGlvbiBpbiBF bWFjcyBtYW51YWwpLiAqLworICAgICAgTFBCWVRFIHZhbCA9CisJdzMyX2dldF9yZXNvdXJjZSAo IlNvZnR3YXJlXFxNaWNyb3NvZnRcXFdpbmRvd3NcXEN1cnJlbnRWZXJzaW9uXFxUaGVtZXNcXFBl cnNvbmFsaXplIiwKKwkJCSAgIkFwcHNVc2VMaWdodFRoZW1lIiwKKwkJCSAgTlVMTCk7CisgICAg ICByZXR1cm4gdmFsICYmICp2YWwgPT0gMDsKKyAgICB9CisgIHJldHVybiBGQUxTRTsKK30KKwog LyogQXBwbGllcyB0aGUgV2luZG93cyBzeXN0ZW0gdGhlbWUgKGxpZ2h0IG9yIGRhcmspIHRvIHRo ZSB3aW5kb3cKLSAgIGhhbmRsZSBIV05ELiAgKi8KKyAgIGhhbmRsZSBIV05ELiBgdHJhY2tgIHNo b3VsZCBnZW5lcmFsbHkgYmUgVFJVRSB0byBrZWVwIGEgcmVmZXJlbmNlCisgICB0byB0aGlzIEhX TkQgZm9yIGZ1dHVyZSB1c2UuICovCiBzdGF0aWMgdm9pZAotdzMyX2FwcGx5dGhlbWUgKEhXTkQg aHduZCkKK3czMl9hcHBseXRoZW1lIChIV05EIGh3bmQsIGJvb2wgdHJhY2spCiB7Ci0gIGlmICh3 MzJfZGFya21vZGUpCisgIGlmICh3MzJfc3VwcG9ydHNfZGFya21vZGUpCiAgICAgewogICAgICAg LyogU2V0IHdpbmRvdyB0aGVtZSB0byB0aGF0IG9mIGEgYnVpbHQtaW4gV2luZG93cyBhcHAgKEV4 cGxvcmVyKSwKIAkgYmVjYXVzZSBpdCBoYXMgZGFyayBzY3JvbGwgYmFycyBhbmQgb3RoZXIgVUkg ZWxlbWVudHMuICAqLwogICAgICAgaWYgKFNldFdpbmRvd1RoZW1lX2ZuKQotCVNldFdpbmRvd1Ro ZW1lX2ZuIChod25kLCBEQVJLX01PREVfQVBQX05BTUUsIE5VTEwpOworCXsKKwkgIGlmICh3MzJf ZGFya21vZGUpCisJICAgIFNldFdpbmRvd1RoZW1lX2ZuIChod25kLCBEQVJLX01PREVfQVBQX05B TUUsIE5VTEwpOworCSAgZWxzZQorCSAgICBTZXRXaW5kb3dUaGVtZV9mbiAoaHduZCwgTElHSFRf TU9ERV9BUFBfTkFNRSwgTlVMTCk7CisJfQogCi0gICAgICAvKiBTZXQgdGhlIHRpdGxlYmFyIHRv IHN5c3RlbSBkYXJrIG1vZGUuICAqLworICAgICAgLyogVG9nZ2xlIGRhcmttb2RlIHRpdGxlYmFy IG9uIG9yIG9mZi4gICovCiAgICAgICBpZiAoRHdtU2V0V2luZG93QXR0cmlidXRlX2ZuKQogCXsK IAkgIC8qIFdpbmRvd3MgMTAgdmVyc2lvbiAyMDA0IGFuZCB1cCwgV2luZG93cyAxMS4gICovCkBA IC0yMzIzLDkgKzIzNjYsMjEgQEAgdzMyX2FwcGx5dGhlbWUgKEhXTkQgaHduZCkKIAkgIC8qIFdp bmRvd3MgMTAgb2xkZXIgdGhhbiAyMDA0LiAgKi8KIAkgIGlmICh3MzJfYnVpbGRfbnVtYmVyIDwg MTkwNDEpCiAJICAgIGF0dHIgPSBEV01XQV9VU0VfSU1NRVJTSVZFX0RBUktfTU9ERV9PTEQ7CisJ ICAvKiBUb2dnbGUgZGFyayBtb2RlIGZsYWcgYmFzZWQgb24gdmFsdWUgb2YgYHczMl9kYXJrbW9k ZWAgKi8KIAkgIER3bVNldFdpbmRvd0F0dHJpYnV0ZV9mbiAoaHduZCwgYXR0ciwKIAkJCQkgICAg JnczMl9kYXJrbW9kZSwgc2l6ZW9mICh3MzJfZGFya21vZGUpKTsKIAl9CisKKyAgICAgIC8qIEFm dGVyIGFwcGx5aW5nIHRoZSB0aGVtZSwgYWRkIHRoZSBIV05EIHRvIG91ciBnbG9iYWwgbGlzdCBz bworCSBpdCBjYW4gYmUgY2hhbmdlZCBsYXRlciBpZiB0aGUgT1MgbGlnaHQvZGFyayBtb2RlIHRo ZW1lIGlzCisJIGNoYW5nZWQuICovCisgICAgICBpZih0cmFjaykKKwl7CisJICBzdHJ1Y3QgSFdO RF9OT0RFICpjdXJyID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgSFdORF9OT0RFKSk7CisJICBjdXJy LT5od25kID0gaHduZDsKKwkgIGN1cnItPm5leHQgPSBnX2h3bmRfcm9vdDsKKwkgIGdfaHduZF9y b290ID0gY3VycjsKKwl9CiAgICAgfQogfQogCkBAIC0yMzQyLDcgKzIzOTcsNyBAQCB3MzJfY3Jl YXRldnNjcm9sbGJhciAoc3RydWN0IGZyYW1lICpmLCBzdHJ1Y3Qgc2Nyb2xsX2JhciAqIGJhcikK IAkJICAgICAgIGJhci0+bGVmdCwgYmFyLT50b3AsIGJhci0+d2lkdGgsIGJhci0+aGVpZ2h0LAog CQkgICAgICAgRlJBTUVfVzMyX1dJTkRPVyAoZiksIE5VTEwsIGhpbnN0LCBOVUxMKTsKICAgaWYg KGh3bmQpCi0gICAgdzMyX2FwcGx5dGhlbWUgKGh3bmQpOworICAgIHczMl9hcHBseXRoZW1lICho d25kLCBUUlVFKTsKICAgcmV0dXJuIGh3bmQ7CiB9CiAKQEAgLTIzNTksNyArMjQxNCw3IEBAIHcz Ml9jcmVhdGVoc2Nyb2xsYmFyIChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBzY3JvbGxfYmFyICog YmFyKQogCQkgICAgICAgYmFyLT5sZWZ0LCBiYXItPnRvcCwgYmFyLT53aWR0aCwgYmFyLT5oZWln aHQsCiAJCSAgICAgICBGUkFNRV9XMzJfV0lORE9XIChmKSwgTlVMTCwgaGluc3QsIE5VTEwpOwog ICBpZiAoaHduZCkKLSAgICB3MzJfYXBwbHl0aGVtZSAoaHduZCk7CisgICAgdzMyX2FwcGx5dGhl bWUgKGh3bmQsIFRSVUUpOwogICByZXR1cm4gaHduZDsKIH0KIApAQCAtMjQ0Nyw3ICsyNTAyLDcg QEAgdzMyX2NyZWF0ZXdpbmRvdyAoc3RydWN0IGZyYW1lICpmLCBpbnQgKmNvb3JkcykKICAgICAg IERyYWdBY2NlcHRGaWxlcyAoaHduZCwgVFJVRSk7CiAKICAgICAgIC8qIEVuYWJsZSBzeXN0ZW0g bGlnaHQvZGFyayB0aGVtZS4gICovCi0gICAgICB3MzJfYXBwbHl0aGVtZSAoaHduZCk7CisgICAg ICB3MzJfYXBwbHl0aGVtZSAoaHduZCwgVFJVRSk7CiAKICAgICAgIC8qIERvIHRoaXMgdG8gZGlz Y2FyZCB0aGUgZGVmYXVsdCBzZXR0aW5nIHNwZWNpZmllZCBieSBvdXIgcGFyZW50LiAqLwogICAg ICAgU2hvd1dpbmRvdyAoaHduZCwgU1dfSElERSk7CkBAIC01MTc4LDYgKzUyMzMsMjUgQEAgdzMy X3duZF9wcm9jIChIV05EIGh3bmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBh cmFtKQogCSBjaGFuZ2VkLCBzbyBpZiBFbWFjcyBpcyBpbnRlcmVzdGVkIGluIHNvbWUgb2YgdGhl bSwgaXQgY291bGQKIAkgdXBkYXRlIGl0cyBpbnRlcm5hbCB2YWx1ZXMuICAqLwogICAgICAgbXlf cG9zdF9tc2cgKCZ3bXNnLCBod25kLCBtc2csIHdQYXJhbSwgbFBhcmFtKTsKKworICAgICAgLyog Q2hlY2sgaWYgc2V0dGluZ3MgY2hhbmdlZCBMaWdodC9EYXJrIG1vZGUuCisJIFJlLWxvb2t1cCB0 aGUgc2V0dGluZyBhbmQgdXBkYXRlIHRoZSBIV05EcyBhY2NvcmRpbmdseS4gKi8KKyAgICAgIGlm KHczMl9zdXBwb3J0c19kYXJrbW9kZSkKKwl7CisJICBCT09MIG5ld19kYXJrbW9kZSA9IHczMl9x dWVyeWRhcmttb2RlKCk7CisJICBpZiAodzMyX2Rhcmttb2RlICE9IG5ld19kYXJrbW9kZSkKKwkg ICAgeworCSAgICAgIHczMl9kYXJrbW9kZSA9IG5ld19kYXJrbW9kZTsKKwkgICAgICAvKiBMb29w IHRocm91Z2ggYWxsIGtub3duIEhXTkRzIGFuZCBhcHBseSB0aGVtZSAqLworCSAgICAgIHN0cnVj dCBIV05EX05PREUgKmN1cnIgPSBnX2h3bmRfcm9vdDsKKwkgICAgICB3aGlsZSAoIGN1cnIgIT0g TlVMTCApCisJCXsKKwkJICB3MzJfYXBwbHl0aGVtZShjdXJyLT5od25kLCBGQUxTRSk7CisJCSAg Y3VyciA9IGN1cnItPm5leHQ7CisJCX0KKwkgICAgfQorCX0KKwogICAgICAgZ290byBkZmx0Owog CiAgICAgY2FzZSBXTV9TRVRGT0NVUzoKQEAgLTExMTU3LDYgKzExMjMxLDcgQEAgZ2xvYmFsc19v Zl93MzJmbnMgKHZvaWQpCiAgIGlmIChvc19zdWJ0eXBlID09IE9TX1NVQlRZUEVfTlQKICAgICAg ICYmIHczMl9tYWpvcl92ZXJzaW9uID49IDEwICYmIHczMl9idWlsZF9udW1iZXIgPj0gMTc3NjMp CiAgICAgeworICAgICAgdzMyX3N1cHBvcnRzX2Rhcmttb2RlID0gVFJVRTsKICAgICAgIC8qIExv YWQgZHdtYXBpLmRsbCBhbmQgdXh0aGVtZS5kbGwsIHdoaWNoIHdpbGwgYmUgbmVlZGVkIHRvIHNl dAogCSB3aW5kb3cgdGhlbWVzLiAgKi8KICAgICAgIEhNT0RVTEUgZHdtYXBpX2xpYiA9IExvYWRM aWJyYXJ5KCJkd21hcGkuZGxsIik7CkBAIC0xMTE2NSwxOSArMTEyNDAsOCBAQCBnbG9iYWxzX29m X3czMmZucyAodm9pZCkKICAgICAgIEhNT0RVTEUgdXh0aGVtZV9saWIgPSBMb2FkTGlicmFyeSgi dXh0aGVtZS5kbGwiKTsKICAgICAgIFNldFdpbmRvd1RoZW1lX2ZuID0gKFNldFdpbmRvd1RoZW1l X1Byb2MpCiAJZ2V0X3Byb2NfYWRkciAodXh0aGVtZV9saWIsICJTZXRXaW5kb3dUaGVtZSIpOwot Ci0gICAgICAvKiBDaGVjayBXaW5kb3dzIFJlZ2lzdHJ5IGZvciBzeXN0ZW0gdGhlbWUgYW5kIHNl dCB3MzJfZGFya21vZGUuCi0JIFRPRE86ICJOaWNlIHRvIGhhdmUiIHdvdWxkIGJlIHRvIGNyZWF0 ZSBhIGxpc3Agc2V0dGluZyAod2hpY2gKLQkgZGVmYXVsdHMgdG8gdGhpcyBXaW5kb3dzIFJlZ2lz dHJ5IHZhbHVlKSwgdGhlbiByZWFkIHRoYXQgbGlzcAotCSB2YWx1ZSBoZXJlIGluc3RlYWQuIFRo aXMgd291bGQgYWxsb3cgdGhlIHVzZXIgdG8gZm9yY2libHkKLQkgb3ZlcnJpZGUgdGhlIHN5c3Rl bSB0aGVtZSAod2hpY2ggaXMgYWxzbyB1c2VyLWNvbmZpZ3VyYWJsZSBpbgotCSBXaW5kb3dzIHNl dHRpbmdzOyBzZWUgTVMtV2luZG93cyBzZWN0aW9uIGluIEVtYWNzIG1hbnVhbCkuICovCi0gICAg ICBMUEJZVEUgdmFsID0KLQl3MzJfZ2V0X3Jlc291cmNlICgiU29mdHdhcmVcXE1pY3Jvc29mdFxc V2luZG93c1xcQ3VycmVudFZlcnNpb25cXFRoZW1lc1xcUGVyc29uYWxpemUiLAotCQkJICAiQXBw c1VzZUxpZ2h0VGhlbWUiLAotCQkJICBOVUxMKTsKLSAgICAgIGlmICh2YWwgJiYgKnZhbCA9PSAw KQotCXczMl9kYXJrbW9kZSA9IFRSVUU7CisgICAgICAvKiBTZXQgdGhlIHByZWZlcnJlZCBtb2Rl IGZyb20gT1Mgc2V0dGluZ3MuICovCisgICAgICB3MzJfZGFya21vZGUgPSB3MzJfcXVlcnlkYXJr bW9kZSgpOwogICAgIH0KIAogICBleGNlcHRfY29kZSA9IDA7Ci0tIAoyLjM1LjAud2luZG93cy4x Cgo= --_002_CH2PR12MB4231B48AB2971B11106E3E9FA5239CH2PR12MB4231namp_--