From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#71850: [PATCH] macOS (Cocoa) alpha-background Date: Sat, 29 Jun 2024 22:09:18 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000a562e9061c147be0" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10118"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Jon Rubens , Po Lu To: 71850@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jun 30 07:10:20 2024 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 1sNmpQ-0002PW-8H for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 30 Jun 2024 07:10:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sNmpF-0000IV-Nm; Sun, 30 Jun 2024 01:10:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNmpA-0000Ep-2y for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2024 01:10:04 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sNmp8-00089G-VE for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2024 01:10:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sNmp8-0002xN-JX; Sun, 30 Jun 2024 01:10:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: jonathan.rubens@gmail.com, luangruo@yahoo.com, bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Jun 2024 05:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71850 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: Jon Rubens , Po Lu Original-Received: via spool by submit@debbugs.gnu.org id=B.171972416711286 (code B ref -1); Sun, 30 Jun 2024 05:10:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Jun 2024 05:09:27 +0000 Original-Received: from localhost ([127.0.0.1]:54423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNmoY-0002vy-W4 for submit@debbugs.gnu.org; Sun, 30 Jun 2024 01:09:27 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:46850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNmoX-0002vr-Nc for submit@debbugs.gnu.org; Sun, 30 Jun 2024 01:09:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNmoV-0008Qb-Vp for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2024 01:09:25 -0400 Original-Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sNmoT-00081f-BB for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2024 01:09:23 -0400 Original-Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-57d280e2d5dso2247661a12.1 for ; Sat, 29 Jun 2024 22:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719724160; x=1720328960; darn=gnu.org; h=to:subject:message-id:date:mime-version:references:from:from:to:cc :subject:date:message-id:reply-to; bh=vpWypJ8Kd3j8dS/1xDg/GfymtLOjhri6YTnSOyUMvL4=; b=KmAkmg6pXPxODIJcRJO8tjyXZErz0FOZyEhUwu/xBIUy5b45YeFmXYaYWIyIHG4Euk dIBSY9bKRtM07Mh3uSOokQp6OZXDMUric0kbvODr/ANNuZZvNFiJh0JC1cY9O9IA9XaN sKLmf7XdeAYNpFIfTYaQxjiUpYboYTHeWMVS61fTCKNfD8DiIDNJm5CBpVX3y8zFBVxV 8uZJsRXa2UxVW3ys4Rumn8TRozXDVzpj0HgW/8kabdNEU9G+tEME6H9o1xMcFIptbmgB eqCWnzJfa4YcNAoP6mrU3afhdBcp7lzSz+gWmU217wYT5m0rd8v7kFrPzahmeZFaZ/Ak wtpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719724160; x=1720328960; h=to:subject:message-id:date:mime-version:references:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vpWypJ8Kd3j8dS/1xDg/GfymtLOjhri6YTnSOyUMvL4=; b=X5wjcV98tvl1INxfs+MSsP0FuKAwiafK2sWc0eeYUnpE0SarCCctzX118Q3Mwm5L0v +rFGECT1J9SQ19PGcJM5g5j9Hg5RPW/sEa/85JnZQ0NCim6lCFvAumgzx5qo4Yyy4mJO hNQchGvjbQMvV8tVfHCJ5msBiuVaEAO9LeJZhQtZKBBXdqc4Ok3MFIsXwYV01ewUHGeZ xqAEvth8mjQ72QeVfyzRdE9B+8sr46fHGynngOSM+g0jDtwYWVv8AZVxLJcdG0fPKMVv sBosDTQ78sQbilbtl3FT/BYYxHGR1c3YoSGAxG0rtLNnk2YPvvM80jifiHVdEUT/s7XG +Wdg== X-Gm-Message-State: AOJu0YxAhFkd6JChHLO6U4Hhh4BrRrp3JwH4nV0vv7G9xJ5pAqvC8oW5 BsFlwHvodxAVai6CH5RmPrx86Ud5ClDdT8U2gP4vL9fR5POG2iwkMs0CO+V/cab8CwApNZ3KQut oukRuJUiLUz5XmcE15hAANz7Uc3CuXAItl34= X-Google-Smtp-Source: AGHT+IG4tbj/+uDitlwPnFdnrRi0QNbwcjhXL/aGZ189dR9rtN5X78LvgUe6Fo3bsINtfS9aDxK/oCz0AtKdvkPQLHw= X-Received: by 2002:a05:6402:5208:b0:585:357a:87c0 with SMTP id 4fb4d7f45d1cf-5879f0c68c5mr1580184a12.3.1719724159613; Sat, 29 Jun 2024 22:09:19 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 29 Jun 2024 22:09:18 -0700 Received-SPF: pass client-ip=2a00:1450:4864:20::535; envelope-from=stefankangas@gmail.com; helo=mail-ed1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:288146 Archived-At: --000000000000a562e9061c147be0 Content-Type: text/plain; charset="UTF-8" Severity: wishlist -------------------- Start of forwarded message -------------------- From: Jon Rubens Date: Thu, 27 Jun 2024 17:38:29 -0700 Subject: Re: macOS (Cocoa) alpha-background To: Stefan Kangas Cc: Po Lu , emacs-devel@gnu.org --000000000000a562e9061c147be0 Content-Type: text/plain; charset="utf-8" Content-Disposition: attachment Content-Transfer-Encoding: base64 X-Attachment-Id: 5de08e0d3e6f236a_0.1.0 PiBDb3B5cmlnaHQgRm9ybSBzZW50IG9mZi1saXN0LgpTZW50IGluIHRoZSBjb21wbGV0ZWQgZm9y bS4KCkF0dGFjaGVkIGlzIGFuIHVwZGF0ZWQgcGF0Y2ggd2l0aCB0aGUgcHJvcGVyIGZvcm1hdHRp bmcgdXBkYXRlZCBmb3IgRW1hY3MtMzAuCgotLSAKSm9uCg== --000000000000a562e9061c147be0 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-alpha-background-feature-to-MacOS-Emacs.patch" Content-Disposition: attachment; filename="0001-Add-alpha-background-feature-to-MacOS-Emacs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 5de08e0d3e6f236a_0.1.1 RnJvbSAyNjk1ZTgwNzY0YmQyNTRkMTJkYjNhNjI3ZDJjMDIwYjEwMmJmMzM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhhbiBSdWJlbnMgPGpvbmF0aGFucnViZW5zQGdtYWls LmNvbT4KRGF0ZTogVGh1LCAyNyBKdW4gMjAyNCAxNjo1MjozNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0hdIEFkZCBhbHBoYS1iYWNrZ3JvdW5kIGZlYXR1cmUgdG8gTWFjT1MgRW1hY3MKCi0tLQogc3Jj L21hY2ZvbnQubSB8IDEwICsrKysrKysrLS0KIHNyYy9uc2Zucy5tICAgfCA0MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogc3JjL25zdGVybS5tICB8IDUyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBj aGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvbWFjZm9udC5tIGIvc3JjL21hY2ZvbnQubQppbmRleCBlM2IzZDQwZGY0My4uYTIwNDRmMjNi OWQgMTAwNjQ0Ci0tLSBhL3NyYy9tYWNmb250Lm0KKysrIGIvc3JjL21hY2ZvbnQubQpAQCAtMjk5 NCw5ICsyOTk0LDE0IEBAIFNvIHdlIHVzZSBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlTWF0Y2hpbmdG b250RGVzY3JpcHRvciAobm8KICAgICAgICAgICAgIENHX1NFVF9GSUxMX0NPTE9SX1dJVEhfRkFD RV9GT1JFR1JPVU5EIChjb250ZXh0LCBmYWNlKTsKICAgICAgICAgICBlbHNlCiAgICAgICAgICAg ICBDR19TRVRfRklMTF9DT0xPUl9XSVRIX0ZSQU1FX0NVUlNPUiAoY29udGV4dCwgZik7Ci0gICAg ICAgIH0KKwkgIENHQ29udGV4dFNldEFscGhhIChjb250ZXh0LCAxKTsKKwl9CiAgICAgICBlbHNl Ci0gICAgICAgIENHX1NFVF9GSUxMX0NPTE9SX1dJVEhfRkFDRV9CQUNLR1JPVU5EIChjb250ZXh0 LCBmYWNlKTsKKwl7CisJICBDR0NvbnRleHRTZXRBbHBoYSAoY29udGV4dCwgZi0+YWxwaGFfYmFj a2dyb3VuZCk7CisJICBDR19TRVRfRklMTF9DT0xPUl9XSVRIX0ZBQ0VfQkFDS0dST1VORCAoY29u dGV4dCwgZmFjZSk7CisJfQorICAgICAgQ0dDb250ZXh0Q2xlYXJSZWN0IChjb250ZXh0LCBiYWNr Z3JvdW5kX3JlY3QpOwogICAgICAgQ0dDb250ZXh0RmlsbFJlY3RzIChjb250ZXh0LCAmYmFja2dy b3VuZF9yZWN0LCAxKTsKICAgICB9CiAKQEAgLTMwMDUsNiArMzAxMCw3IEBAIFNvIHdlIHVzZSBD VEZvbnREZXNjcmlwdG9yQ3JlYXRlTWF0Y2hpbmdGb250RGVzY3JpcHRvciAobm8KICAgICAgIENH QWZmaW5lVHJhbnNmb3JtIGF0Zm07CiAKICAgICAgIENHQ29udGV4dFNjYWxlQ1RNIChjb250ZXh0 LCAxLCAtMSk7CisgICAgICBDR0NvbnRleHRTZXRBbHBoYSAoY29udGV4dCwgMSk7CiAgICAgICBp ZiAocy0+aGwgPT0gRFJBV19DVVJTT1IpCiAgICAgICAgIHsKICAgICAgICAgICBpZiAoZmFjZSAm JiAoTlNfRkFDRV9CQUNLR1JPVU5EIChmYWNlKQpkaWZmIC0tZ2l0IGEvc3JjL25zZm5zLm0gYi9z cmMvbnNmbnMubQppbmRleCBhZGQ3YTkzZGZiYS4uNmVlMGY5Y2Y3MDcgMTAwNjQ0Ci0tLSBhL3Ny Yy9uc2Zucy5tCisrKyBiL3NyYy9uc2Zucy5tCkBAIC0yOTksNyArMjk5LDcgQEAgVHVybiB0aGUg aW5wdXQgbWVudSAoYW4gTlNNZW51KSBpbnRvIGEgbGlzcCBsaXN0IGZvciB0cmFja2luZyBvbiBs aXNwIHNpZGUuCiAgIHN0cnVjdCBmYWNlICpmYWNlOwogICBOU0NvbG9yICpjb2w7CiAgIE5TVmll dyAqdmlldyA9IEZSQU1FX05TX1ZJRVcgKGYpOwotICBFbWFjc0NHRmxvYXQgYWxwaGE7CisgIEVt YWNzQ0dGbG9hdCBhbHBoYSA9IGYtPmFscGhhX2JhY2tncm91bmQ7CiAKICAgYmxvY2tfaW5wdXQg KCk7CiAgIGlmIChuc19saXNwX3RvX2NvbG9yIChhcmcsICZjb2wpKQpAQCAtMzE0LDExICszMTQs MTAgQEAgVHVybiB0aGUgaW5wdXQgbWVudSAoYW4gTlNNZW51KSBpbnRvIGEgbGlzcCBsaXN0IGZv ciB0cmFja2luZyBvbiBsaXNwIHNpZGUuCiAgIGYtPm91dHB1dF9kYXRhLm5zLT5iYWNrZ3JvdW5k X2NvbG9yID0gY29sOwogCiAgIEZSQU1FX0JBQ0tHUk9VTkRfUElYRUwgKGYpID0gW2NvbCB1bnNp Z25lZExvbmddOwotICBhbHBoYSA9IFtjb2wgYWxwaGFDb21wb25lbnRdOwogCiAgIGlmICh2aWV3 ICE9IG5pbCkKICAgICB7Ci0gICAgICBbW3ZpZXcgd2luZG93XSBzZXRCYWNrZ3JvdW5kQ29sb3I6 IGNvbF07CisgICAgICBbW3ZpZXcgd2luZG93XSBzZXRCYWNrZ3JvdW5kQ29sb3I6IFtjb2wgY29s b3JXaXRoQWxwaGFDb21wb25lbnQ6IGFscGhhXV07CiAKICAgICAgIGlmIChhbHBoYSAhPSAoRW1h Y3NDR0Zsb2F0KSAxLjApCiAgICAgICAgICAgW1t2aWV3IHdpbmRvd10gc2V0T3BhcXVlOiBOT107 CkBAIC0zMjgsMTAgKzMyNyw3IEBAIFR1cm4gdGhlIGlucHV0IG1lbnUgKGFuIE5TTWVudSkgaW50 byBhIGxpc3AgbGlzdCBmb3IgdHJhY2tpbmcgb24gbGlzcCBzaWRlLgogICAgICAgZmFjZSA9IEZS QU1FX0RFRkFVTFRfRkFDRSAoZik7CiAgICAgICBpZiAoZmFjZSkKICAgICAgICAgewotICAgICAg ICAgIGNvbCA9IFtOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpOU19GQUNFX0JBQ0tHUk9V TkQgKGZhY2UpXTsKLSAgICAgICAgICBmYWNlLT5iYWNrZ3JvdW5kID0gW1tjb2wgY29sb3JXaXRo QWxwaGFDb21wb25lbnQ6IGFscGhhXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkTG9uZ107Ci0KKyAgICAgICAgICBmYWNlLT5iYWNrZ3JvdW5kID0gW2NvbCB1bnNpZ25l ZExvbmddOwogICAgICAgICAgIHVwZGF0ZV9mYWNlX2Zyb21fZnJhbWVfcGFyYW1ldGVyIChmLCBR YmFja2dyb3VuZF9jb2xvciwgYXJnKTsKICAgICAgICAgfQogCkBAIC0zNDQsNiArMzQwLDM2IEBA IFR1cm4gdGhlIGlucHV0IG1lbnUgKGFuIE5TTWVudSkgaW50byBhIGxpc3AgbGlzdCBmb3IgdHJh Y2tpbmcgb24gbGlzcCBzaWRlLgogICB1bmJsb2NrX2lucHV0ICgpOwogfQogCitzdGF0aWMgdm9p ZAorbnNfc2V0X2FscGhhX2JhY2tncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3Qg YXJnLCBMaXNwX09iamVjdCBvbGR2YWwpCit7CisgIE5TVmlldyAqdmlldyA9IEZSQU1FX05TX1ZJ RVcgKGYpOworICBkb3VibGUgYWxwaGEgPSAxLjA7CisKKyAgaWYgKE5JTFAgKGFyZykpCisgICAg YWxwaGEgPSAxLjA7CisgIGVsc2UgaWYgKEZMT0FUUCAoYXJnKSkKKyAgICB7CisgICAgICBhbHBo YSA9IFhGTE9BVF9EQVRBIChhcmcpOworICAgICAgaWYgKCEgKDAgPD0gYWxwaGEgJiYgYWxwaGEg PD0gMS4wKSkKKwlhcmdzX291dF9vZl9yYW5nZSAobWFrZV9mbG9hdCAoMC4wKSwgbWFrZV9mbG9h dCAoMS4wKSk7CisgICAgfQorICBlbHNlIGlmIChGSVhOVU1QIChhcmcpKQorICAgIHsKKyAgICAg IEVNQUNTX0lOVCBpYWxwaGEgPSBYRklYTlVNIChhcmcpOworICAgICAgaWYgKCEgKDAgPD0gaWFs cGhhICYmIGlhbHBoYSA8PSAxMDApKQorCWFyZ3Nfb3V0X29mX3JhbmdlIChtYWtlX2ZpeG51bSAo MCksIG1ha2VfZml4bnVtICgxMDApKTsKKyAgICAgIGFscGhhID0gaWFscGhhIC8gMTAwLjA7Cisg ICAgfQorICBlbHNlCisgICAgd3JvbmdfdHlwZV9hcmd1bWVudCAoUW51bWJlcnAsIGFyZyk7CisK KyAgZi0+YWxwaGFfYmFja2dyb3VuZCA9IGFscGhhOworICBbW3ZpZXcgd2luZG93XSBzZXRCYWNr Z3JvdW5kQ29sb3I6IFtmLT5vdXRwdXRfZGF0YS5ucy0+YmFja2dyb3VuZF9jb2xvcgorCQkJCQkg Y29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IGFscGhhXV07CisgIHJlY29tcHV0ZV9iYXNpY19mYWNl cyAoZik7CisgIFNFVF9GUkFNRV9HQVJCQUdFRCAoZik7Cit9CiAKIHN0YXRpYyB2b2lkCiBuc19z ZXRfY3Vyc29yX2NvbG9yIChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGFyZywgTGlzcF9P YmplY3Qgb2xkdmFsKQpAQCAtMTEwOSw3ICsxMTM1LDcgQEAgVHVybiB0aGUgaW5wdXQgbWVudSAo YW4gTlNNZW51KSBpbnRvIGEgbGlzcCBsaXN0IGZvciB0cmFja2luZyBvbiBsaXNwIHNpZGUuCiAg IG5zX3NldF96X2dyb3VwLAogICAwLCAvKiB4X3NldF9vdmVycmlkZV9yZWRpcmVjdCAqLwogICBn dWlfc2V0X25vX3NwZWNpYWxfZ2x5cGhzLAotICBndWlfc2V0X2FscGhhX2JhY2tncm91bmQsCisg IG5zX3NldF9hbHBoYV9iYWNrZ3JvdW5kLAogICBOVUxMLAogI2lmZGVmIE5TX0lNUExfQ09DT0EK ICAgbnNfc2V0X2FwcGVhcmFuY2UsCmRpZmYgLS1naXQgYS9zcmMvbnN0ZXJtLm0gYi9zcmMvbnN0 ZXJtLm0KaW5kZXggNzk0NjMwZGUxYzEuLmZlMDlkZTE0MGRkIDEwMDY0NAotLS0gYS9zcmMvbnN0 ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0yNjI3LDggKzI2MjcsMTAgQEAgSGlkZSB0aGUg d2luZG93IChYMTEgc2VtYW50aWNzKQogCiAgIGJsb2NrX2lucHV0ICgpOwogICBuc19mb2N1cyAo ZiwgJnIsIDEpOwotICBbW05TQ29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25nOk5TX0ZBQ0VfQkFD S0dST1VORAotCQkJICAgIChGQUNFX0ZST01fSUQgKGYsIERFRkFVTFRfRkFDRV9JRCkpXSBzZXRd OworICBbW1tOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpOU19GQUNFX0JBQ0tHUk9VTkQK KwkJCQkgKEZBQ0VfRlJPTV9JRCAoZiwgREVGQVVMVF9GQUNFX0lEKSldCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb2xvcldpdGhBbHBoYUNvbXBvbmVudDogZi0+YWxwaGEKKyAg ICAgX2JhY2tncm91bmRdIHNldF07CiAgIE5TUmVjdEZpbGwgKHIpOwogICBuc191bmZvY3VzIChm KTsKIApAQCAtMjY1Niw3ICsyNjU4LDggQEAgSGlkZSB0aGUgd2luZG93IChYMTEgc2VtYW50aWNz KQogCiAgIHIgPSBOU0ludGVyc2VjdGlvblJlY3QgKHIsIFt2aWV3IGZyYW1lXSk7CiAgIG5zX2Zv Y3VzIChmLCAmciwgMSk7Ci0gIFtbTlNDb2xvciBjb2xvcldpdGhVbnNpZ25lZExvbmc6TlNfRkFD RV9CQUNLR1JPVU5EIChmYWNlKV0gc2V0XTsKKyAgW1tbTlNDb2xvciBjb2xvcldpdGhVbnNpZ25l ZExvbmc6TlNfRkFDRV9CQUNLR1JPVU5EIChmYWNlKV0KKyAgICAgY29sb3JXaXRoQWxwaGFDb21w b25lbnQ6IGYtPmFscGhhX2JhY2tncm91bmRdIHNldF07CiAKICAgTlNSZWN0RmlsbCAocik7CiAK QEAgLTI3NjAsNyArMjc2Myw4IEBAIEhpZGUgdGhlIHdpbmRvdyAoWDExIHNlbWFudGljcykKICAg ICAgICAgcmV0dXJuOwogCiAgICAgICBuc19mb2N1cyAoZiwgTlVMTCwgMSk7Ci0gICAgICBbW05T Q29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25nOk5TX0ZBQ0VfQkFDS0dST1VORCAoZmFjZSldIHNl dF07CisgICAgICBbW1tOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpOU19GQUNFX0JBQ0tH Uk9VTkQgKGZhY2UpXQorICAgICAgICAgY29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IGYtPmFscGhh X2JhY2tncm91bmRdIHNldF07CiAgICAgICBOU1JlY3RGaWxsIChOU01ha2VSZWN0ICgwLCBtYXJn aW4sIHdpZHRoLCBib3JkZXIpKTsKICAgICAgIE5TUmVjdEZpbGwgKE5TTWFrZVJlY3QgKDAsIDAs IGJvcmRlciwgaGVpZ2h0KSk7CiAgICAgICBOU1JlY3RGaWxsIChOU01ha2VSZWN0ICgwLCBtYXJn aW4sIHdpZHRoLCBib3JkZXIpKTsKQEAgLTI4MTIsNyArMjgxNiw4IEBAIEhpZGUgdGhlIHdpbmRv dyAoWDExIHNlbWFudGljcykKICAgICAgICAgICBOU1JlY3QgciA9IE5TTWFrZVJlY3QgKDAsIHks IEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgaGVpZ2h0KTsKICAgICAgICAgICBuc19mb2N1cyAoZiwg JnIsIDEpOwogCi0gICAgICAgICAgW1tOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpOU19G QUNFX0JBQ0tHUk9VTkQgKGZhY2UpXSBzZXRdOworICAgICAgICAgIFtbW05TQ29sb3IgY29sb3JX aXRoVW5zaWduZWRMb25nOk5TX0ZBQ0VfQkFDS0dST1VORCAoZmFjZSldCisgICAgICAgICAgICAg Y29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IGYtPmFscGhhX2JhY2tncm91bmRdIHNldF07CiAgICAg ICAgICAgTlNSZWN0RmlsbCAoTlNNYWtlUmVjdCAoMCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAg ICAgICAgIE5TUmVjdEZpbGwgKE5TTWFrZVJlY3QgKEZSQU1FX1BJWEVMX1dJRFRIIChmKSAtIHdp ZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIHdpZHRoLCBoZWlnaHQp KTsKQEAgLTI5NzYsOCArMjk4MSw4IEBAIEhpZGUgdGhlIHdpbmRvdyAoWDExIHNlbWFudGljcykK ICAgaWYgKCEgTlNJc0VtcHR5UmVjdCAoY2xlYXJSZWN0KSkKICAgICB7CiAgICAgICBOU1RSQUNF X1JFQ1QgKCJjbGVhclJlY3QiLCBjbGVhclJlY3QpOwotCi0gICAgICBbW05TQ29sb3IgY29sb3JX aXRoVW5zaWduZWRMb25nOmZhY2UtPmJhY2tncm91bmRdIHNldF07CisgICAgICBbW1tOU0NvbG9y IGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpmYWNlLT5iYWNrZ3JvdW5kXQorICAgICAgICAgY29sb3JX aXRoQWxwaGFDb21wb25lbnQ6IGYtPmFscGhhX2JhY2tncm91bmRdIHNldF07CiAgICAgICBOU1Jl Y3RGaWxsIChjbGVhclJlY3QpOwogICAgIH0KIApAQCAtMzAwOCw3ICszMDEzLDcgQEAgSGlkZSB0 aGUgd2luZG93IChYMTEgc2VtYW50aWNzKQogICAgICAgZWxzZQogICAgICAgICBibV9jb2xvciA9 IGYtPm91dHB1dF9kYXRhLm5zLT5jdXJzb3JfY29sb3I7CiAKLSAgICAgIFtibV9jb2xvciBzZXRd OworICAgICAgW1tibV9jb2xvciBjb2xvcldpdGhBbHBoYUNvbXBvbmVudDpmLT5hbHBoYV9iYWNr Z3JvdW5kXSBzZXRdOwogICAgICAgW2JtcCBmaWxsXTsKIAogICAgICAgW2JtcCByZWxlYXNlXTsK QEAgLTM3OTcsNyArMzgwMiw4IEBAIEZ1bmN0aW9uIG1vZGVsZWQgYWZ0ZXIgeF9kcmF3X2dseXBo X3N0cmluZ19ib3ggKCkuCiAgIGlmIChzLT5mYWNlLT5ib3ggPT0gRkFDRV9TSU1QTEVfQk9YICYm IHMtPmZhY2UtPmJveF9jb2xvcikKICAgICB7CiAgICAgICBuc19kcmF3X2JveCAociwgYWJzICho dGhpY2tuZXNzKSwgYWJzICh2dGhpY2tuZXNzKSwKLSAgICAgICAgICAgICAgICAgICBbTlNDb2xv ciBjb2xvcldpdGhVbnNpZ25lZExvbmc6ZmFjZS0+Ym94X2NvbG9yXSwKKyAgICAgICAgICAgICAg ICAgICBbW05TQ29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25nOmZhY2UtPmJveF9jb2xvcl0KKyAg ICAgICAgICAgICAgICAgICAgIGNvbG9yV2l0aEFscGhhQ29tcG9uZW50OiBzLT5mLT5hbHBoYV9i YWNrZ3JvdW5kXSwKICAgICAgICAgICAgICAgICAgICBsZWZ0X3AsIHJpZ2h0X3ApOwogICAgIH0K ICAgZWxzZQpAQCAtMzg0Miw3ICszODQ4LDggQEAgRnVuY3Rpb24gbW9kZWxlZCBhZnRlciB4X2Ry YXdfZ2x5cGhfc3RyaW5nX2JveCAoKS4KIAl7CiAJICBpZiAocy0+aGwgIT0gRFJBV19DVVJTT1Ip CiAJICAgIFsoTlNfRkFDRV9CQUNLR1JPVU5EIChmYWNlKSAhPSAwCi0JICAgICAgPyBbTlNDb2xv ciBjb2xvcldpdGhVbnNpZ25lZExvbmc6TlNfRkFDRV9CQUNLR1JPVU5EIChmYWNlKV0KKwkgICAg ICA/IFtbTlNDb2xvciBjb2xvcldpdGhVbnNpZ25lZExvbmc6TlNfRkFDRV9CQUNLR1JPVU5EIChm YWNlKV0KKwkJICAgICAgY29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IHMtPmYtPmFscGhhX2JhY2tn cm91bmRdCiAJICAgICAgOiBGUkFNRV9CQUNLR1JPVU5EX0NPTE9SIChzLT5mKSkgc2V0XTsKIAkg IGVsc2UgaWYgKGZhY2UgJiYgKE5TX0ZBQ0VfQkFDS0dST1VORCAoZmFjZSkKIAkJCSAgICA9PSBb KE5TQ29sb3IgKikgRlJBTUVfQ1VSU09SX0NPTE9SIChzLT5mKQpAQCAtMzk4MSw3ICszOTg4LDgg QEAgRnVuY3Rpb24gbW9kZWxlZCBhZnRlciB4X2RyYXdfZ2x5cGhfc3RyaW5nX2JveCAoKS4KICAg ICAgb3RoZXJ3aXNlLCBzaW5jZSB3ZSBjb21wb3NpdGUgdGhlIGltYWdlIHVuZGVyIE5TIChpbnN0 ZWFkIG9mIG11Y2tpbmcKICAgICAgd2l0aCBpdHMgYmFja2dyb3VuZCBjb2xvciksIHdlIG11c3Qg Y2xlYXIganVzdCB0aGUgaW1hZ2UgYXJlYS4gICovCiAKLSAgW1tOU0NvbG9yIGNvbG9yV2l0aFVu c2lnbmVkTG9uZzpOU19GQUNFX0JBQ0tHUk9VTkQgKGZhY2UpXSBzZXRdOworICBbW1tOU0NvbG9y IGNvbG9yV2l0aFVuc2lnbmVkTG9uZzpOU19GQUNFX0JBQ0tHUk9VTkQgKGZhY2UpXQorICAgICBj b2xvcldpdGhBbHBoYUNvbXBvbmVudDogcy0+Zi0+YWxwaGFfYmFja2dyb3VuZF0gc2V0XTsKIAog ICBpZiAoYmdfaGVpZ2h0ID4gcy0+c2xpY2UuaGVpZ2h0IHx8IHMtPmltZy0+aG1hcmdpbiB8fCBz LT5pbWctPnZtYXJnaW4KICAgICAgIHx8IHMtPmltZy0+bWFzayB8fCBzLT5pbWctPnBpeG1hcCA9 PSAwIHx8IHMtPndpZHRoICE9IHMtPmJhY2tncm91bmRfd2lkdGgpCkBAIC00MDUxLDcgKzQwNTks OCBAQCBGdW5jdGlvbiBtb2RlbGVkIGFmdGVyIHhfZHJhd19nbHlwaF9zdHJpbmdfYm94ICgpLgog ICBpZiAocy0+aGwgPT0gRFJBV19DVVJTT1IpCiAgICAgewogICAgICAgW0ZSQU1FX0NVUlNPUl9D T0xPUiAocy0+Zikgc2V0XTsKLSAgICAgIHRkQ29sID0gW05TQ29sb3IgY29sb3JXaXRoVW5zaWdu ZWRMb25nOiBOU19GQUNFX0JBQ0tHUk9VTkQgKGZhY2UpXTsKKyAgICAgIHRkQ29sID0gW1tOU0Nv bG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzogTlNfRkFDRV9CQUNLR1JPVU5EIChmYWNlKV0KKyAg ICAgICAgICAgICAgICBjb2xvcldpdGhBbHBoYUNvbXBvbmVudDogcy0+Zi0+YWxwaGFfYmFja2dy b3VuZF07CiAgICAgfQogICBlbHNlCiAgICAgdGRDb2wgPSBbTlNDb2xvciBjb2xvcldpdGhVbnNp Z25lZExvbmc6IE5TX0ZBQ0VfRk9SRUdST1VORCAoZmFjZSldOwpAQCAtNDE0NCwxMCArNDE1Mywx MiBAQCBGdW5jdGlvbiBtb2RlbGVkIGFmdGVyIHhfZHJhd19nbHlwaF9zdHJpbmdfYm94ICgpLgog CQlmYWNlID0gRkFDRV9GUk9NX0lEIChzLT5mLCBNT1VTRV9GQUNFX0lEKTsKIAkgICAgICBwcmVw YXJlX2ZhY2VfZm9yX2Rpc3BsYXkgKHMtPmYsIGZhY2UpOwogCi0JICAgICAgW1tOU0NvbG9yIGNv bG9yV2l0aFVuc2lnbmVkTG9uZzogZmFjZS0+YmFja2dyb3VuZF0gc2V0XTsKKwkgICAgICBbW1tO U0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzogZmFjZS0+YmFja2dyb3VuZF0KKyAgICAgICAg ICAgICAgICAgY29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IHMtPmYtPmFscGhhX2JhY2tncm91bmRd IHNldF07CiAJICAgIH0KIAkgIGVsc2UKLQkgICAgW1tOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVk TG9uZzogcy0+ZmFjZS0+YmFja2dyb3VuZF0gc2V0XTsKKwkgICAgW1tbTlNDb2xvciBjb2xvcldp dGhVbnNpZ25lZExvbmc6IHMtPmZhY2UtPmJhY2tncm91bmRdCisgICAgICAgICAgICAgICBjb2xv cldpdGhBbHBoYUNvbXBvbmVudDogcy0+Zi0+YWxwaGFfYmFja2dyb3VuZF0gc2V0XTsKIAkgIE5T UmVjdEZpbGwgKE5TTWFrZVJlY3QgKHgsIHksIHcsIGgpKTsKIAl9CiAgICAgfQpAQCAtNDE3OCw3 ICs0MTg5LDggQEAgRnVuY3Rpb24gbW9kZWxlZCBhZnRlciB4X2RyYXdfZ2x5cGhfc3RyaW5nX2Jv eCAoKS4KIAkgIGVsc2UgaWYgKHMtPnN0aXBwbGVkX3ApCiAJICAgIFtbZHB5aW5mby0+Yml0bWFw c1tzLT5mYWNlLT5zdGlwcGxlIC0gMV0uaW1nIHN0aXBwbGVNYXNrXSBzZXRdOwogCSAgZWxzZQot CSAgICBbW05TQ29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25nOiBzLT5mYWNlLT5iYWNrZ3JvdW5k XSBzZXRdOworCSAgICBbW1tOU0NvbG9yIGNvbG9yV2l0aFVuc2lnbmVkTG9uZzogcy0+ZmFjZS0+ YmFja2dyb3VuZF0KKyAgICAgICAgICAgICAgIGNvbG9yV2l0aEFscGhhQ29tcG9uZW50OiBzLT5m LT5hbHBoYV9iYWNrZ3JvdW5kXSBzZXRdOwogCiAJICBOU1JlY3RGaWxsIChOU01ha2VSZWN0ICh4 LCBzLT55LCBiYWNrZ3JvdW5kX3dpZHRoLCBzLT5oZWlnaHQpKTsKIAl9CkBAIC04NTQ1LDggKzg1 NTcsOCBAQCAtICh2b2lkKXRvZ2dsZUZ1bGxTY3JlZW46IChpZClzZW5kZXIKICAgICAgICAgfQog CiAgICAgICBbdyBzZXRDb250ZW50VmlldzpbZncgY29udGVudFZpZXddXTsKLSAgICAgIFt3IHNl dEJhY2tncm91bmRDb2xvcjogY29sXTsKLSAgICAgIGlmIChbY29sIGFscGhhQ29tcG9uZW50XSAh PSAoRW1hY3NDR0Zsb2F0KSAxLjApCisgICAgICBbdyBzZXRCYWNrZ3JvdW5kQ29sb3I6IFtjb2wg Y29sb3JXaXRoQWxwaGFDb21wb25lbnQ6IGYtPmFscGhhX2JhY2tncm91bmRdXTsKKyAgICAgIGlm IChmLT5hbHBoYV9iYWNrZ3JvdW5kICE9IChFbWFjc0NHRmxvYXQpIDEuMCkKICAgICAgICAgW3cg c2V0T3BhcXVlOiBOT107CiAKICAgICAgIGYtPmJvcmRlcl93aWR0aCA9IFt3IGJvcmRlcldpZHRo XTsKQEAgLTkyODMsOSArOTI5NSw5IEBAIC0gKGluc3RhbmNldHlwZSkgaW5pdFdpdGhFbWFjc0Zy YW1lOiAoc3RydWN0IGZyYW1lICopIGYKICAgICAgIGYtPmJvcmRlcl93aWR0aCA9IFtzZWxmIGJv cmRlcldpZHRoXTsKIAogICAgICAgY29sID0gW05TQ29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25n Ok5TX0ZBQ0VfQkFDS0dST1VORAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChGQUNFX0ZST01fSUQgKGYsIERFRkFVTFRfRkFDRV9JRCkpXTsKLSAgICAgIFtzZWxmIHNldEJh Y2tncm91bmRDb2xvcjpjb2xdOwotICAgICAgaWYgKFtjb2wgYWxwaGFDb21wb25lbnRdICE9IChF bWFjc0NHRmxvYXQpIDEuMCkKKwkJICAgICAgKEZBQ0VfRlJPTV9JRCAoZiwgREVGQVVMVF9GQUNF X0lEKSldOworICAgICAgW3NlbGYgc2V0QmFja2dyb3VuZENvbG9yOltjb2wgY29sb3JXaXRoQWxw aGFDb21wb25lbnQ6Zi0+YWxwaGFfYmFja2dyb3VuZF1dOworICAgICAgaWYgKGYtPmFscGhhX2Jh Y2tncm91bmQgIT0gKEVtYWNzQ0dGbG9hdCkgMS4wKQogICAgICAgICBbc2VsZiBzZXRPcGFxdWU6 Tk9dOwogCiAgICAgICAvKiB0b29sYmFyIHN1cHBvcnQgKi8KLS0gCjIuMzkuMyAoQXBwbGUgR2l0 LTE0NikKCg== --000000000000a562e9061c147be0 Content-Type: text/plain; charset="US-ASCII" Content-Disposition: attachment Content-Transfer-Encoding: base64 X-Attachment-Id: 5de08e0d3e6f236a_0.2 LS0tLS0tLS0tLS0tLS0tLS0tLS0gRW5kIG9mIGZvcndhcmRlZCBtZXNzYWdlIC0tLS0tLS0tLS0t LS0tLS0tLS0tCg== --000000000000a562e9061c147be0--