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#10758: thumbs and image-dired to use built-in ImageMagick Date: Wed, 27 Oct 2021 15:14:09 -0700 Message-ID: References: <8xfwemx6yr.fsf@fencepost.gnu.org> <87k18jw6w0.fsf@marxist.se> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000ca9c8705cf5ce9f4" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33330"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Glenn Morris , 10758@debbugs.gnu.org To: Mathias Dahl Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Oct 28 00:15:49 2021 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 1mfrD2-0008Sr-N2 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 28 Oct 2021 00:15:48 +0200 Original-Received: from localhost ([::1]:56790 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfrD0-00069q-NO for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 Oct 2021 18:15:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43856) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfrCJ-00069W-79 for bug-gnu-emacs@gnu.org; Wed, 27 Oct 2021 18:15:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39220) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mfrCI-0004sB-Tw for bug-gnu-emacs@gnu.org; Wed, 27 Oct 2021 18:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mfrCI-0002Od-Q8 for bug-gnu-emacs@gnu.org; Wed, 27 Oct 2021 18:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 Oct 2021 22:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10758 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 10758-submit@debbugs.gnu.org id=B10758.16353728729138 (code B ref 10758); Wed, 27 Oct 2021 22:15:02 +0000 Original-Received: (at 10758) by debbugs.gnu.org; 27 Oct 2021 22:14:32 +0000 Original-Received: from localhost ([127.0.0.1]:50765 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mfrBn-0002NJ-Iu for submit@debbugs.gnu.org; Wed, 27 Oct 2021 18:14:32 -0400 Original-Received: from mail-pl1-f171.google.com ([209.85.214.171]:34688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mfrBX-0002Mi-KL for 10758@debbugs.gnu.org; Wed, 27 Oct 2021 18:14:30 -0400 Original-Received: by mail-pl1-f171.google.com with SMTP id r5so3030810pls.1 for <10758@debbugs.gnu.org>; Wed, 27 Oct 2021 15:14:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:user-agent :mime-version:date:message-id:subject:to:cc; bh=c1rQiRs9JUjqahD2ozKUMaOC0fF3zm/FkJ8KeJDv+f8=; b=G/aSNgbLqiTEXfhNfFpXnewgk3IXDWA4hJ/C9jsusL/LOKeFiA7e495BCR+AemaZpi jG5mEJZL7vueXvPuSjB5ybgoiX0Qhgv9Vf0YeBqeI+KeX/19hr5b62hVb8KO1nsimUao 8yBf7eL1r92mhYE63HpqVG3roIxZS64uHcxzAWaqgpCB7equSNou/X9GEF4PP+rrok2T NDD1UjVLqbVwV16NzjFky/FT4SRICDWB43BSMMrkh9mFUl4rxCe/9cwbLEDF+ga/tWC/ 7YnBosWUjjG+PkG6BMyupvnaAi66lD37jCKYgS976wP0XfhzABvj50A+3HnJUlmYvima ecPA== X-Gm-Message-State: AOAM533LK6Lu9BE02uO7Imqd4y0q+lugGa2OJdBDnwGAsaY1mPKjk1r5 5xaOksKlJfNZlmME6Lef7GHragsEW/RY05ZYmDE= X-Google-Smtp-Source: ABdhPJypO5/t3TMy3F0YpvagAC12IBFtoWItA858vjofaFzljR4xuN6P4f3l/8daY+Z3NyJkpj0h92q8YcIliyq701E= X-Received: by 2002:a17:90b:11c2:: with SMTP id gv2mr362819pjb.133.1635372849855; Wed, 27 Oct 2021 15:14:09 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 27 Oct 2021 15:14:09 -0700 In-Reply-To: (Stefan Kangas's message of "Mon, 25 Oct 2021 12:37:51 -0700") 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:218478 Archived-At: --000000000000ca9c8705cf5ce9f4 Content-Type: text/plain; charset="UTF-8" Stefan Kangas writes: > Mathias Dahl writes: > >> It seems I knew about `image-mode' but perhaps it never crossed my mind >> to inherit from it. 16 years later, my memory fails me... >> >> At any rate I have nothing against it, if someone wants to give it a try. See the attached patch. Unsurprisingly, this makes `image-dired' feel quite a bit snappier, as we avoid a lot of unnecessary work. --000000000000ca9c8705cf5ce9f4 Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Make-image-dired-display-image-mode-inherit-from-ima.patch" Content-Disposition: attachment; filename="0001-Make-image-dired-display-image-mode-inherit-from-ima.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 76b70ba84bafb99e_0.1 RnJvbSAwZGJjYjg4NjYwYjZjNGMwZDA4NDQ0NmU5ZjM2NzkzODMxOWRhMjU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogU2F0LCAyMyBPY3QgMjAyMSAxNjowNjowNSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIE1ha2Ug aW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1tb2RlIGluaGVyaXQgZnJvbSBpbWFnZS1tb2RlCgoq IGxpc3AvaW1hZ2UtZGlyZWQuZWwgKGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtbW9kZSk6Cklu aGVyaXQgZnJvbSAnaW1hZ2UtbW9kZScuICAoQnVnIzEwNzU4KQooaW1hZ2UtZGlyZWQtZGlzcGxh eS1pbWFnZSk6IFNpbXBsaWZ5OiBubyBsb25nZXIgZ2VuZXJhdGUKdGVtcG9yYXJ5IGltYWdlLCB3 aGljaCBpcyB1bm5lY2Vzc2FyeSB3aXRoIHRoZSBhYm92ZSBjaGFuZ2UuCihpbWFnZS1kaXJlZC1k aXNwbGF5LXRodW1ibmFpbC1vcmlnaW5hbC1pbWFnZSkKKGltYWdlLWRpcmVkLWRpcmVkLWRpc3Bs YXktaW1hZ2UpCihpbWFnZS1kaXJlZC1tb3VzZS1kaXNwbGF5LWltYWdlKTogU2ltcGxpZnkuCgoo aW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWltYWdlLXByb2dyYW0pCihpbWFnZS1kaXJlZC1j bWQtY3JlYXRlLXRlbXAtaW1hZ2Utb3B0aW9ucykKKGltYWdlLWRpcmVkLWRpc3BsYXktd2luZG93 LXdpZHRoLWNvcnJlY3Rpb24pCihpbWFnZS1kaXJlZC1kaXNwbGF5LXdpbmRvdy1oZWlnaHQtY29y cmVjdGlvbikKKGltYWdlLWRpcmVkLWRpc3BsYXktd2luZG93LXdpZHRoKQooaW1hZ2UtZGlyZWQt ZGlzcGxheS13aW5kb3ctaGVpZ2h0KQooaW1hZ2UtZGlyZWQtd2luZG93LWhlaWdodC1waXhlbHMp OiBNYWtlIG9ic29sZXRlLgooaW1hZ2UtZGlyZWQtY3JlYXRlLWRpc3BsYXktaW1hZ2UtYnVmZmVy KTogTWFrZSBpbnRvIG9ic29sZXRlCmZ1bmN0aW9uIGFsaWFzIGZvciAnaWdub3JlJy4KKGltYWdl LWRpcmVkLW1pbm9yLW1vZGUpOiBEb2MgZml4LgotLS0KIGxpc3AvaW1hZ2UtZGlyZWQuZWwgfCAx OTQgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAxMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bGlzcC9pbWFnZS1kaXJlZC5lbCBiL2xpc3AvaW1hZ2UtZGlyZWQuZWwKaW5kZXggMTIyZDhhNWQ5 YS4uZmZiZTg5YTQyOSAxMDA2NDQKLS0tIGEvbGlzcC9pbWFnZS1kaXJlZC5lbAorKysgYi9saXNw L2ltYWdlLWRpcmVkLmVsCkBAIC0yNzgsMjcgKzI3OCw2IEBAIGltYWdlLWRpcmVkLWNtZC1jcmVh dGUtdGh1bWJuYWlsLW9wdGlvbnMKICAgOnZlcnNpb24gIjI5LjEiCiAgIDp0eXBlICcocmVwZWF0 IChzdHJpbmcgOnRhZyAiQXJndW1lbnQiKSkpCiAKLShkZWZjdXN0b20gaW1hZ2UtZGlyZWQtY21k LWNyZWF0ZS10ZW1wLWltYWdlLXByb2dyYW0KLSAgKGlmIChleGVjdXRhYmxlLWZpbmQgImdtIikg ImdtIiAiY29udmVydCIpCi0gICJFeGVjdXRhYmxlIHVzZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBp bWFnZS4KLVVzZWQgdG9nZXRoZXIgd2l0aCBgaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWlt YWdlLW9wdGlvbnMnLiIKLSAgOnR5cGUgJ2ZpbGUKLSAgOnZlcnNpb24gIjI5LjEiKQotCi0oZGVm Y3VzdG9tIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGVtcC1pbWFnZS1vcHRpb25zCi0gIChsZXQg KChvcHRzICcoIi1zaXplIiAiJXd4JWgiICIlZlswXSIKLSAgICAgICAgICAgICAgICAiLXJlc2l6 ZSIgIiV3eCVoPiIKLSAgICAgICAgICAgICAgICAiLXN0cmlwIiAianBlZzoldCIpKSkKLSAgICAo aWYgKGV4ZWN1dGFibGUtZmluZCAiZ20iKSAoY29ucyAiY29udmVydCIgb3B0cykgb3B0cykpCi0g ICJPcHRpb25zIG9mIGNvbW1hbmQgdXNlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGltYWdlIGZvciBk aXNwbGF5IHdpbmRvdy4KLVVzZWQgdG9nZXRoZXIgd2l0aCBgaW1hZ2UtZGlyZWQtY21kLWNyZWF0 ZS10ZW1wLWltYWdlLXByb2dyYW0nLAotQXZhaWxhYmxlIGZvcm1hdCBzcGVjaWZpZXJzIGFyZTog JXcgYW5kICVoIHdoaWNoIGFyZSByZXBsYWNlZCBieQotdGhlIGNhbGN1bGF0ZWQgbWF4IHNpemUg Zm9yIHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIGltYWdlIGRpc3BsYXkgd2luZG93LAotJWYgd2hp Y2ggaXMgcmVwbGFjZWQgYnkgdGhlIGZpbGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwgaW1hZ2UgYW5k ICV0IHdoaWNoCi1pcyByZXBsYWNlZCBieSB0aGUgZmlsZSBuYW1lIG9mIHRoZSB0ZW1wb3Jhcnkg ZmlsZS4iCi0gIDp2ZXJzaW9uICIyOS4xIgotICA6dHlwZSAnKHJlcGVhdCAoc3RyaW5nIDp0YWcg IkFyZ3VtZW50IikpKQotCiAoZGVmY3VzdG9tIGltYWdlLWRpcmVkLWNtZC1wbmducS1wcm9ncmFt CiAgIDs7IFByZWZlciBwbmdxdWFudCB0byBwbmducS1zOSBhcyBpdCBpcyBmYXN0ZXIgb24gbXkg bWFjaGluZS4KICAgOzsgICBUaGUgcHJvamVjdCBhbHNvIHNlZW1zIG1vcmUgYWN0aXZlIHRoYW4g dGhlIGFsdGVybmF0aXZlcy4KQEAgLTUwOSwxOCArNDg4LDYgQEAgaW1hZ2UtZGlyZWQtdGh1bWJz LXBlci1yb3cKICAgIk51bWJlciBvZiB0aHVtYm5haWxzIHRvIGRpc3BsYXkgcGVyIHJvdyBpbiB0 aHVtYiBidWZmZXIuIgogICA6dHlwZSAnaW50ZWdlcikKIAotKGRlZmN1c3RvbSBpbWFnZS1kaXJl ZC1kaXNwbGF5LXdpbmRvdy13aWR0aC1jb3JyZWN0aW9uIDEKLSAgIk51bWJlciB0byBiZSB1c2Vk IHRvIGNvcnJlY3QgaW1hZ2UgZGlzcGxheSB3aW5kb3cgd2lkdGguCi1DaGFuZ2UgaWYgdGhlIGRl ZmF1bHQgKDEpIGRvZXMgbm90IHdvcmsgKGkuZS4gaWYgdGhlIGltYWdlIGRvZXMgbm90Ci1jb21w bGV0ZWx5IGZpdCkuIgotICA6dHlwZSAnaW50ZWdlcikKLQotKGRlZmN1c3RvbSBpbWFnZS1kaXJl ZC1kaXNwbGF5LXdpbmRvdy1oZWlnaHQtY29ycmVjdGlvbiAwCi0gICJOdW1iZXIgdG8gYmUgdXNl ZCB0byBjb3JyZWN0IGltYWdlIGRpc3BsYXkgd2luZG93IGhlaWdodC4KLUNoYW5nZSBpZiB0aGUg ZGVmYXVsdCAoMCkgZG9lcyBub3Qgd29yayAoaS5lLiBpZiB0aGUgaW1hZ2UgZG9lcyBub3QKLWNv bXBsZXRlbHkgZml0KS4iCi0gIDp0eXBlICdpbnRlZ2VyKQotCiAoZGVmY3VzdG9tIGltYWdlLWRp cmVkLXRyYWNrLW1vdmVtZW50IHQKICAgIlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB0cmFja2lu ZyBhbmQgbWlycm9yaW5nLgogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZG9jdW1lbnRh dGlvbiBmb3IKQEAgLTEwMTQsMTUgKzk4MSw2IEBAIGltYWdlLWRpcmVkLWNyZWF0ZS10aHVtYm5h aWwtYnVmZmVyCiAoZGVmdmFyIGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtYnVmZmVyICIqaW1h Z2UtZGlyZWQtZGlzcGxheS1pbWFnZSoiCiAgICJXaGVyZSBsYXJnZXIgdmVyc2lvbnMgb2YgdGhl IGltYWdlcyBhcmUgZGlzcGxheS4iKQogCi0oZGVmdW4gaW1hZ2UtZGlyZWQtY3JlYXRlLWRpc3Bs YXktaW1hZ2UtYnVmZmVyICgpCi0gICJDcmVhdGUgaW1hZ2UgZGlzcGxheSBidWZmZXIgYW5kIHNl dCBgaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1tb2RlJy4iCi0gIChsZXQgKChidWYgKGdldC1i dWZmZXItY3JlYXRlIGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtYnVmZmVyKSkpCi0gICAgKHdp dGgtY3VycmVudC1idWZmZXIgYnVmCi0gICAgICAoc2V0cSBidWZmZXItcmVhZC1vbmx5IHQpCi0g ICAgICAoaWYgKG5vdCAoZXEgbWFqb3ItbW9kZSAnaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1t b2RlKSkKLSAgICAgICAgICAoaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1tb2RlKSkpCi0gICAg YnVmKSkKLQogKGRlZnZhciBpbWFnZS1kaXJlZC1zYXZlZC13aW5kb3ctY29uZmlndXJhdGlvbiBu aWwKICAgIlNhdmVkIHdpbmRvdyBjb25maWd1cmF0aW9uLiIpCiAKQEAgLTEwNDYsNyArMTAwNCw3 IEBAIGltYWdlLWRpcmVkLWRpcmVkLXdpdGgtd2luZG93LWNvbmZpZ3VyYXRpb24KIGNhbGxpbmcg YGltYWdlLWRpcmVkLXJlc3RvcmUtd2luZG93LWNvbmZpZ3VyYXRpb24nLiIKICAgKGludGVyYWN0 aXZlICJERGlyZWN0b3J5OiBcblAiKQogICAobGV0ICgoYnVmIChpbWFnZS1kaXJlZC1jcmVhdGUt dGh1bWJuYWlsLWJ1ZmZlcikpCi0gICAgICAgIChidWYyIChpbWFnZS1kaXJlZC1jcmVhdGUtZGlz cGxheS1pbWFnZS1idWZmZXIpKSkKKyAgICAgICAgKGJ1ZjIgKGdldC1idWZmZXItY3JlYXRlIGlt YWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtYnVmZmVyKSkpCiAgICAgKHNldHEgaW1hZ2UtZGlyZWQt c2F2ZWQtd2luZG93LWNvbmZpZ3VyYXRpb24KICAgICAgICAgICAoY3VycmVudC13aW5kb3ctY29u ZmlndXJhdGlvbikpCiAgICAgKGRpcmVkIGRpcikKQEAgLTE3ODMsMTMgKzE3NDEsMTEgQEAgaW1h Z2UtZGlyZWQtdGh1bWJuYWlsLW1vZGUKICAgKHNldHEtbG9jYWwgbGluZS1zcGFjaW5nIChmcmFt ZS1jaGFyLXdpZHRoKSkpCiAKIChkZWZpbmUtZGVyaXZlZC1tb2RlIGltYWdlLWRpcmVkLWRpc3Bs YXktaW1hZ2UtbW9kZQotICBzcGVjaWFsLW1vZGUgImltYWdlLWRpcmVkLWltYWdlLWRpc3BsYXki CisgIGltYWdlLW1vZGUgImltYWdlLWRpcmVkLWltYWdlLWRpc3BsYXkiCiAgICJNb2RlIGZvciBk aXNwbGF5aW5nIGFuZCBtYW5pcHVsYXRpbmcgb3JpZ2luYWwgaW1hZ2UuCiBSZXNpemVkIG9yIGlu IGZ1bGwtc2l6ZS4iCi0gIChidWZmZXItZGlzYWJsZS11bmRvKQotICAoaW1hZ2UtbW9kZS1zZXR1 cC13aW5wcm9wcykKLSAgKHNldHEgY3Vyc29yLXR5cGUgbmlsKQotICAoYWRkLWhvb2sgJ2ZpbGUt bmFtZS1hdC1wb2ludC1mdW5jdGlvbnMgJ2ltYWdlLWRpcmVkLWZpbGUtbmFtZS1hdC1wb2ludCBu aWwgdCkpCisgIDppbnRlcmFjdGl2ZSBuaWwKKyAgKGFkZC1ob29rICdmaWxlLW5hbWUtYXQtcG9p bnQtZnVuY3Rpb25zICMnaW1hZ2UtZGlyZWQtZmlsZS1uYW1lLWF0LXBvaW50IG5pbCB0KSkKIAog KGRlZnZhciBpbWFnZS1kaXJlZC1taW5vci1tb2RlLW1hcAogICAobGV0ICgobWFwIChtYWtlLXNw YXJzZS1rZXltYXApKSkKQEAgLTE4NDQsNyArMTgwMCw3IEBAIGltYWdlLWRpcmVkLW1pbm9yLW1v ZGUtbWFwCiAoZGVmaW5lLW1pbm9yLW1vZGUgaW1hZ2UtZGlyZWQtbWlub3ItbW9kZQogICAiU2V0 dXAgZWFzeS10by11c2Uga2V5YmluZGluZ3MgZm9yIHRoZSBjb21tYW5kcyB0byBiZSB1c2VkIGlu IERpcmVkIG1vZGUuCiBOb3RlIHRoYXQgbiwgcCBhbmQgPGRvd24+IGFuZCA8dXA+IHdpbGwgYmUg aGlqYWNrZWQgYW5kIGJvdW5kIHRvCi1gaW1hZ2UtZGlyZWQtZGlyZWQteC1saW5lJy4iCitgaW1h Z2UtZGlyZWQtZGlyZWQtbmV4dC1saW5lJyBhbmQgYGltYWdlLWRpcmVkLWRpcmVkLXByZXZpb3Vz LWxpbmUnLiIKICAgOmtleW1hcCBpbWFnZS1kaXJlZC1taW5vci1tb2RlLW1hcCkKIAogKGRlY2xh cmUtZnVuY3Rpb24gY2xlYXItaW1hZ2UtY2FjaGUgImltYWdlLmMiICgmb3B0aW9uYWwgZmlsdGVy KSkKQEAgLTIwMDcsMTEgKzE5NjMsNiBAQCBpbWFnZS1kaXJlZC13aW5kb3ctd2lkdGgtcGl4ZWxz CiAgICJDYWxjdWxhdGUgV0lORE9XIHdpZHRoIGluIHBpeGVscy4iCiAgICAgKCogKHdpbmRvdy13 aWR0aCB3aW5kb3cpIChmcmFtZS1jaGFyLXdpZHRoKSkpCiAKLShkZWZ1biBpbWFnZS1kaXJlZC13 aW5kb3ctaGVpZ2h0LXBpeGVscyAod2luZG93KQotICAiQ2FsY3VsYXRlIFdJTkRPVyBoZWlnaHQg aW4gcGl4ZWxzLiIKLSAgOzsgTm90ZTogVGhlIG1vZGUtbGluZSBjb25zdW1lcyBvbmUgbGluZQot ICAgICgqICgtICh3aW5kb3ctaGVpZ2h0IHdpbmRvdykgMSkgKGZyYW1lLWNoYXItaGVpZ2h0KSkp Ci0KIChkZWZ1biBpbWFnZS1kaXJlZC1kaXNwbGF5LXdpbmRvdyAoKQogICAiUmV0dXJuIHdpbmRv dyB3aGVyZSBgaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1idWZmZXInIGlzIHZpc2libGUuIgog ICAoZ2V0LXdpbmRvdy13aXRoLXByZWRpY2F0ZQpAQCAtMjAzNyw1OSArMTk4OCwyMiBAQCBpbWFn ZS1kaXJlZC1hc3NvY2lhdGVkLWRpcmVkLWJ1ZmZlci13aW5kb3cKICAgICAgICAgICAgICAoZXF1 YWwgKHdpbmRvdy1idWZmZXIgd2luZG93KSBidWYpKSkpCiAgICAgICAoZXJyb3IgIk5vIHRodW1i bmFpbCBpbWFnZSBhdCBwb2ludCIpKSkpCiAKLShkZWZ1biBpbWFnZS1kaXJlZC1kaXNwbGF5LXdp bmRvdy13aWR0aCAod2luZG93KQotICAiUmV0dXJuIHdpZHRoLCBpbiBwaXhlbHMsIG9mIFdJTkRP Vy4iCi0gICgtIChpbWFnZS1kaXJlZC13aW5kb3ctd2lkdGgtcGl4ZWxzIHdpbmRvdykKLSAgICAg aW1hZ2UtZGlyZWQtZGlzcGxheS13aW5kb3ctd2lkdGgtY29ycmVjdGlvbikpCi0KLShkZWZ1biBp bWFnZS1kaXJlZC1kaXNwbGF5LXdpbmRvdy1oZWlnaHQgKHdpbmRvdykKLSAgIlJldHVybiBoZWln aHQsIGluIHBpeGVscywgb2YgV0lORE9XLiIKLSAgKC0gKGltYWdlLWRpcmVkLXdpbmRvdy1oZWln aHQtcGl4ZWxzIHdpbmRvdykKLSAgICAgaW1hZ2UtZGlyZWQtZGlzcGxheS13aW5kb3ctaGVpZ2h0 LWNvcnJlY3Rpb24pKQotCi0oZGVmdW4gaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZSAoZmlsZSAm b3B0aW9uYWwgb3JpZ2luYWwtc2l6ZSkKKyhkZWZ1biBpbWFnZS1kaXJlZC1kaXNwbGF5LWltYWdl IChmaWxlICZvcHRpb25hbCBfaWdub3JlZCkKICAgIkRpc3BsYXkgaW1hZ2UgRklMRSBpbiBpbWFn ZSBidWZmZXIuCi1Vc2UgdGhpcyB3aGVuIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGltYWdlLCBz ZW1pIHNpemVkLCBpbiBhIG5ldwotd2luZG93LiAgVGhlIGltYWdlIGlzIHNpemVkIHRvIGZpdCB0 aGUgZGlzcGxheSB3aW5kb3cgKHVzaW5nIGEKLXRlbXBvcmFyeSBmaWxlLCBkb24ndCB3b3JyeSku ICBCZWNhdXNlIG9mIHRoaXMsIGl0IHdpbGwgbm90IGJlIGFzCi1xdWljayBhcyBvcGVuaW5nIGl0 IGRpcmVjdGx5LCBidXQgb24gbW9zdCBtb2Rlcm4gc3lzdGVtcyBpdAotc2hvdWxkIGZlZWwgc25h cHB5IGVub3VnaC4KLQotSWYgb3B0aW9uYWwgYXJndW1lbnQgT1JJR0lOQUwtU0laRSBpcyBub24t bmlsLCBkaXNwbGF5IGltYWdlIGluIGl0cwotb3JpZ2luYWwgc2l6ZS4iCi0gIChpbWFnZS1kaXJl ZC0tY2hlY2stZXhlY3V0YWJsZS1leGlzdHMKLSAgICdpbWFnZS1kaXJlZC1jbWQtY3JlYXRlLXRl bXAtaW1hZ2UtcHJvZ3JhbSkKLSAgKGxldCAoKG5ldy1maWxlIChleHBhbmQtZmlsZS1uYW1lIGlt YWdlLWRpcmVkLXRlbXAtaW1hZ2UtZmlsZSkpCi0gICAgICAgICh3aW5kb3cgKGltYWdlLWRpcmVk LWRpc3BsYXktd2luZG93KSkKLSAgICAgICAgKGltYWdlLXR5cGUgJ2pwZWcpKQotICAgIChzZXRx IGZpbGUgKGV4cGFuZC1maWxlLW5hbWUgZmlsZSkpCi0gICAgKGlmIChub3Qgb3JpZ2luYWwtc2l6 ZSkKLSAgICAgICAgKGxldCogKChzcGVjCi0gICAgICAgICAgICAgICAgKGxpc3QKLSAgICAgICAg ICAgICAgICAgKGNvbnMgP3AgaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWltYWdlLXByb2dy YW0pCi0gICAgICAgICAgICAgICAgIChjb25zID93IChpbWFnZS1kaXJlZC1kaXNwbGF5LXdpbmRv dy13aWR0aCB3aW5kb3cpKQotICAgICAgICAgICAgICAgICAoY29ucyA/aCAoaW1hZ2UtZGlyZWQt ZGlzcGxheS13aW5kb3ctaGVpZ2h0IHdpbmRvdykpCi0gICAgICAgICAgICAgICAgIChjb25zID9m IGZpbGUpCi0gICAgICAgICAgICAgICAgIChjb25zID90IG5ldy1maWxlKSkpCi0gICAgICAgICAg ICAgICAocmV0Ci0gICAgICAgICAgICAgICAgKGFwcGx5ICMnY2FsbC1wcm9jZXNzCi0gICAgICAg ICAgICAgICAgICAgICAgIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGVtcC1pbWFnZS1wcm9ncmFt IG5pbCBuaWwgbmlsCi0gICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIKLSAgICAgICAgICAg ICAgICAgICAgICAgIChsYW1iZGEgKGFyZykgKGZvcm1hdC1zcGVjIGFyZyBzcGVjKSkKLSAgICAg ICAgICAgICAgICAgICAgICAgIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGVtcC1pbWFnZS1vcHRp b25zKSkpKQotICAgICAgICAgICh3aGVuIChub3QgKHplcm9wIHJldCkpCi0gICAgICAgICAgICAo ZXJyb3IgIkNvdWxkIG5vdCByZXNpemUgaW1hZ2UiKSkpCi0gICAgICAoc2V0cSBpbWFnZS10eXBl IChpbWFnZS10eXBlLWZyb20tZmlsZS1uYW1lIGZpbGUpKQotICAgICAgKGNvcHktZmlsZSBmaWxl IG5ldy1maWxlIHQpKQotICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChpbWFnZS1kaXJlZC1jcmVh dGUtZGlzcGxheS1pbWFnZS1idWZmZXIpCi0gICAgICAobGV0ICgoaW5oaWJpdC1yZWFkLW9ubHkg dCkpCi0gICAgICAgIChlcmFzZS1idWZmZXIpCi0gICAgICAgIChjbGVhci1pbWFnZS1jYWNoZSkK LSAgICAgICAgKGltYWdlLWRpcmVkLWluc2VydC1pbWFnZSBpbWFnZS1kaXJlZC10ZW1wLWltYWdl LWZpbGUgaW1hZ2UtdHlwZSAwIDApCi0gICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0g ICAgICAgIChzZXQtd2luZG93LXZzY3JvbGwgd2luZG93IDApCi0gICAgICAgIChzZXQtd2luZG93 LWhzY3JvbGwgd2luZG93IDApCi0gICAgICAgIChpbWFnZS1kaXJlZC11cGRhdGUtcHJvcGVydHkg J29yaWdpbmFsLWZpbGUtbmFtZSBmaWxlKSkpKSkKK1VzZSB0aGlzIHdoZW4geW91IHdhbnQgdG8g ZGlzcGxheSB0aGUgaW1hZ2UsIGluIGEgbmV3IHdpbmRvdy4KK1RoZSB3aW5kb3cgd2lsbCB1c2Ug YGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtbW9kZScgd2hpY2ggaXMKK2Jhc2VkIG9uIGBpbWFn ZS1tb2RlJy4iCisgIChkZWNsYXJlIChhZHZlcnRpc2VkLWNhbGxpbmctY29udmVudGlvbiAoZmls ZSkgIjI5LjEiKSkKKyAgKHNldHEgZmlsZSAoZXhwYW5kLWZpbGUtbmFtZSBmaWxlKSkKKyAgKGxl dCAoKGJ1ZiAoZ2V0LWJ1ZmZlciBpbWFnZS1kaXJlZC1kaXNwbGF5LWltYWdlLWJ1ZmZlcikpCisg ICAgICAgIChjdXItd2luIChzZWxlY3RlZC13aW5kb3cpKSkKKyAgICAod2hlbiBidWYKKyAgICAg IChraWxsLWJ1ZmZlciBidWYpKQorICAgICh3aGVuLWxldCAoKGJ1ZiAoZmluZC1maWxlLW90aGVy LXdpbmRvdyBmaWxlKSkpCisgICAgICAoZGlzcGxheS1idWZmZXIgYnVmKQorICAgICAgKHJlbmFt ZS1idWZmZXIgaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1idWZmZXIpCisgICAgICAoaW1hZ2Ut ZGlyZWQtZGlzcGxheS1pbWFnZS1tb2RlKQorICAgICAgKHNlbGVjdC13aW5kb3cgY3VyLXdpbikp KSkKIAogKGRlZnVuIGltYWdlLWRpcmVkLWRpc3BsYXktdGh1bWJuYWlsLW9yaWdpbmFsLWltYWdl ICgmb3B0aW9uYWwgYXJnKQogICAiRGlzcGxheSBjdXJyZW50IHRodW1ibmFpbCdzIG9yaWdpbmFs IGltYWdlIGluIGRpc3BsYXkgYnVmZmVyLgpAQCAtMjEwMyw4ICsyMDE3LDYgQEAgaW1hZ2UtZGly ZWQtZGlzcGxheS10aHVtYm5haWwtb3JpZ2luYWwtaW1hZ2UKICAgICAgICAgICAobWVzc2FnZSAi Tm8gdGh1bWJuYWlsIGF0IHBvaW50IikKICAgICAgICAgKGlmIChub3QgZmlsZSkKICAgICAgICAg ICAgIChtZXNzYWdlICJObyBvcmlnaW5hbCBmaWxlIG5hbWUgZm91bmQiKQotCSAgKGltYWdlLWRp cmVkLWNyZWF0ZS1kaXNwbGF5LWltYWdlLWJ1ZmZlcikKLSAgICAgICAgICAoZGlzcGxheS1idWZm ZXIgaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZS1idWZmZXIpCiAgICAgICAgICAgKGltYWdlLWRp cmVkLWRpc3BsYXktaW1hZ2UgZmlsZSBhcmcpKSkpKSkKIAogCkBAIC0yMTE0LDggKzIwMjYsNiBA QCBpbWFnZS1kaXJlZC1kaXJlZC1kaXNwbGF5LWltYWdlCiBTZWUgZG9jdW1lbnRhdGlvbiBmb3Ig YGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UnIGZvciBtb3JlIGluZm9ybWF0aW9uLgogV2l0aCBw cmVmaXggYXJndW1lbnQgQVJHLCBkaXNwbGF5IGltYWdlIGluIGl0cyBvcmlnaW5hbCBzaXplLiIK ICAgKGludGVyYWN0aXZlICJQIikKLSAgKGltYWdlLWRpcmVkLWNyZWF0ZS1kaXNwbGF5LWltYWdl LWJ1ZmZlcikKLSAgKGRpc3BsYXktYnVmZmVyIGltYWdlLWRpcmVkLWRpc3BsYXktaW1hZ2UtYnVm ZmVyKQogICAoaW1hZ2UtZGlyZWQtZGlzcGxheS1pbWFnZSAoZGlyZWQtZ2V0LWZpbGVuYW1lKSBh cmcpKQogCiAoZGVmdW4gaW1hZ2UtZGlyZWQtaW1hZ2UtYXQtcG9pbnQtcCAoKQpAQCAtMjQzMiw4 ICsyMzQyLDYgQEAgaW1hZ2UtZGlyZWQtbW91c2UtZGlzcGxheS1pbWFnZQogICAgICh3aGVuIGZp bGUKICAgICAgIChpZiBpbWFnZS1kaXJlZC10cmFjay1tb3ZlbWVudAogCSAgKGltYWdlLWRpcmVk LXRyYWNrLW9yaWdpbmFsLWZpbGUpKQotICAgICAgKGltYWdlLWRpcmVkLWNyZWF0ZS1kaXNwbGF5 LWltYWdlLWJ1ZmZlcikKLSAgICAgIChkaXNwbGF5LWJ1ZmZlciBpbWFnZS1kaXJlZC1kaXNwbGF5 LWltYWdlLWJ1ZmZlcikKICAgICAgIChpbWFnZS1kaXJlZC1kaXNwbGF5LWltYWdlIGZpbGUpKSkp CiAKIChkZWZ1biBpbWFnZS1kaXJlZC1tb3VzZS1zZWxlY3QtdGh1bWJuYWlsIChldmVudCkKQEAg LTI4NzAsNiArMjc3OCw2NSBAQCAndHVtbWUKIChkZWZpbmUtb2Jzb2xldGUtZnVuY3Rpb24tYWxp YXMgJ2ltYWdlLWRpcmVkLXNldHVwLWRpcmVkLWtleWJpbmRpbmdzCiAgICMnaW1hZ2UtZGlyZWQt bWlub3ItbW9kZSAiMjYuMSIpCiAKKyhkZWZjdXN0b20gaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10 ZW1wLWltYWdlLXByb2dyYW0KKyAgKGlmIChleGVjdXRhYmxlLWZpbmQgImdtIikgImdtIiAiY29u dmVydCIpCisgICJFeGVjdXRhYmxlIHVzZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbWFnZS4KK1Vz ZWQgdG9nZXRoZXIgd2l0aCBgaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWltYWdlLW9wdGlv bnMnLiIKKyAgOnR5cGUgJ2ZpbGUKKyAgOnZlcnNpb24gIjI5LjEiKQorKG1ha2Utb2Jzb2xldGUt dmFyaWFibGUgJ2ltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGVtcC1pbWFnZS1wcm9ncmFtCisgICAg ICAgICAgICAgICAgICAgICAgICAibm8gbG9uZ2VyIHVzZWQuIiAiMjkuMSIpCisKKyhkZWZjdXN0 b20gaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWltYWdlLW9wdGlvbnMKKyAgKGxldCAoKG9w dHMgJygiLXNpemUiICIld3glaCIgIiVmWzBdIgorICAgICAgICAgICAgICAgICItcmVzaXplIiAi JXd4JWg+IgorICAgICAgICAgICAgICAgICItc3RyaXAiICJqcGVnOiV0IikpKQorICAgIChpZiAo ZXhlY3V0YWJsZS1maW5kICJnbSIpIChjb25zICJjb252ZXJ0IiBvcHRzKSBvcHRzKSkKKyAgIk9w dGlvbnMgb2YgY29tbWFuZCB1c2VkIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW1hZ2UgZm9yIGRpc3Bs YXkgd2luZG93LgorVXNlZCB0b2dldGhlciB3aXRoIGBpbWFnZS1kaXJlZC1jbWQtY3JlYXRlLXRl bXAtaW1hZ2UtcHJvZ3JhbScsCitBdmFpbGFibGUgZm9ybWF0IHNwZWNpZmllcnMgYXJlOiAldyBh bmQgJWggd2hpY2ggYXJlIHJlcGxhY2VkIGJ5Cit0aGUgY2FsY3VsYXRlZCBtYXggc2l6ZSBmb3Ig d2lkdGggYW5kIGhlaWdodCBpbiB0aGUgaW1hZ2UgZGlzcGxheSB3aW5kb3csCislZiB3aGljaCBp cyByZXBsYWNlZCBieSB0aGUgZmlsZSBuYW1lIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBhbmQgJXQg d2hpY2gKK2lzIHJlcGxhY2VkIGJ5IHRoZSBmaWxlIG5hbWUgb2YgdGhlIHRlbXBvcmFyeSBmaWxl LiIKKyAgOnZlcnNpb24gIjI5LjEiCisgIDp0eXBlICcocmVwZWF0IChzdHJpbmcgOnRhZyAiQXJn dW1lbnQiKSkpCisobWFrZS1vYnNvbGV0ZS12YXJpYWJsZSAnaW1hZ2UtZGlyZWQtY21kLWNyZWF0 ZS10ZW1wLWltYWdlLW9wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb25nZXIg dXNlZC4iICIyOS4xIikKKworKGRlZmN1c3RvbSBpbWFnZS1kaXJlZC1kaXNwbGF5LXdpbmRvdy13 aWR0aC1jb3JyZWN0aW9uIDEKKyAgIk51bWJlciB0byBiZSB1c2VkIHRvIGNvcnJlY3QgaW1hZ2Ug ZGlzcGxheSB3aW5kb3cgd2lkdGguCitDaGFuZ2UgaWYgdGhlIGRlZmF1bHQgKDEpIGRvZXMgbm90 IHdvcmsgKGkuZS4gaWYgdGhlIGltYWdlIGRvZXMgbm90Citjb21wbGV0ZWx5IGZpdCkuIgorICA6 dHlwZSAnaW50ZWdlcikKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdpbWFnZS1kaXJlZC1kaXNw bGF5LXdpbmRvdy13aWR0aC1jb3JyZWN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAibm8g bG9uZ2VyIHVzZWQuIiAiMjkuMSIpCisKKyhkZWZjdXN0b20gaW1hZ2UtZGlyZWQtZGlzcGxheS13 aW5kb3ctaGVpZ2h0LWNvcnJlY3Rpb24gMAorICAiTnVtYmVyIHRvIGJlIHVzZWQgdG8gY29ycmVj dCBpbWFnZSBkaXNwbGF5IHdpbmRvdyBoZWlnaHQuCitDaGFuZ2UgaWYgdGhlIGRlZmF1bHQgKDAp IGRvZXMgbm90IHdvcmsgKGkuZS4gaWYgdGhlIGltYWdlIGRvZXMgbm90Citjb21wbGV0ZWx5IGZp dCkuIgorICA6dHlwZSAnaW50ZWdlcikKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdpbWFnZS1k aXJlZC1kaXNwbGF5LXdpbmRvdy1oZWlnaHQtY29ycmVjdGlvbgorICAgICAgICAgICAgICAgICAg ICAgICAgIm5vIGxvbmdlciB1c2VkLiIgIjI5LjEiKQorCisoZGVmdW4gaW1hZ2UtZGlyZWQtZGlz cGxheS13aW5kb3ctd2lkdGggKHdpbmRvdykKKyAgIlJldHVybiB3aWR0aCwgaW4gcGl4ZWxzLCBv ZiBXSU5ET1cuIgorICAoZGVjbGFyZSAob2Jzb2xldGUgbmlsICIyOS4xIikpCisgICgtIChpbWFn ZS1kaXJlZC13aW5kb3ctd2lkdGgtcGl4ZWxzIHdpbmRvdykKKyAgICAgaW1hZ2UtZGlyZWQtZGlz cGxheS13aW5kb3ctd2lkdGgtY29ycmVjdGlvbikpCisKKyhkZWZ1biBpbWFnZS1kaXJlZC1kaXNw bGF5LXdpbmRvdy1oZWlnaHQgKHdpbmRvdykKKyAgIlJldHVybiBoZWlnaHQsIGluIHBpeGVscywg b2YgV0lORE9XLiIKKyAgKGRlY2xhcmUgKG9ic29sZXRlIG5pbCAiMjkuMSIpKQorICAoLSAoaW1h Z2UtZGlyZWQtd2luZG93LWhlaWdodC1waXhlbHMgd2luZG93KQorICAgICBpbWFnZS1kaXJlZC1k aXNwbGF5LXdpbmRvdy1oZWlnaHQtY29ycmVjdGlvbikpCisKKyhkZWZ1biBpbWFnZS1kaXJlZC13 aW5kb3ctaGVpZ2h0LXBpeGVscyAod2luZG93KQorICAiQ2FsY3VsYXRlIFdJTkRPVyBoZWlnaHQg aW4gcGl4ZWxzLiIKKyAgKGRlY2xhcmUgKG9ic29sZXRlIG5pbCAiMjkuMSIpKQorICA7OyBOb3Rl OiBUaGUgbW9kZS1saW5lIGNvbnN1bWVzIG9uZSBsaW5lCisgICAgKCogKC0gKHdpbmRvdy1oZWln aHQgd2luZG93KSAxKSAoZnJhbWUtY2hhci1oZWlnaHQpKSkKKwogKGRlZmN1c3RvbSBpbWFnZS1k aXJlZC1jbWQtcmVhZC1leGlmLWRhdGEtcHJvZ3JhbSAiZXhpZnRvb2wiCiAgICJQcm9ncmFtIHVz ZWQgdG8gcmVhZCBFWElGIGRhdGEgdG8gaW1hZ2UuCiBVc2VkIHRvZ2V0aGVyIHdpdGggYGltYWdl LWRpcmVkLWNtZC1yZWFkLWV4aWYtZGF0YS1vcHRpb25zJy4iCkBAIC0yOTEyLDYgKzI4NzksOSBA QCBpbWFnZS1kaXJlZC1nZXQtZXhpZi1kYXRhCiAgICAgICAgIChzZXRxIHRhZy12YWx1ZSAoYnVm ZmVyLXN1YnN0cmluZyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpKSkKICAgICB0YWctdmFsdWUp KQogCisoZGVmaW5lLW9ic29sZXRlLWZ1bmN0aW9uLWFsaWFzICdpbWFnZS1kaXJlZC1jcmVhdGUt ZGlzcGxheS1pbWFnZS1idWZmZXIKKyAgIydpZ25vcmUgIjI5LjEiKQorCiA7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CiA7Ozs7Ozs7OzsgVEVTVC1TRUNUSU9OIDs7Ozs7Ozs7Ozs7 CiA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ci0tIAoyLjMwLjIKCg== --000000000000ca9c8705cf5ce9f4--