From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Keith David Bershatsky Newsgroups: gmane.emacs.bugs Subject: bug#26432: Acknowledgement (image-dired: Adding support for PDF thumbnails.) Date: Wed, 23 Oct 2019 20:27:43 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Wed_Oct_23_20:27:43_2019-1" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="62245"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 26432@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 24 05:28:29 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iNTnP-000FXq-8R for geb-bug-gnu-emacs@m.gmane.org; Thu, 24 Oct 2019 05:28:19 +0200 Original-Received: from localhost ([::1]:57420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNTnH-0000Fl-Vz for geb-bug-gnu-emacs@m.gmane.org; Wed, 23 Oct 2019 23:28:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39427) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNTnA-0000Bq-8U for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2019 23:28:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNTn9-0001gy-1j for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2019 23:28:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54636) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iNTn8-0001gm-Sg for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2019 23:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iNTn7-0000uY-MW for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2019 23:28:01 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Keith David Bershatsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 24 Oct 2019 03:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26432 X-GNU-PR-Package: emacs Original-Received: via spool by 26432-submit@debbugs.gnu.org id=B26432.15718876693484 (code B ref 26432); Thu, 24 Oct 2019 03:28:01 +0000 Original-Received: (at 26432) by debbugs.gnu.org; 24 Oct 2019 03:27:49 +0000 Original-Received: from localhost ([127.0.0.1]:35224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNTmu-0000u8-GT for submit@debbugs.gnu.org; Wed, 23 Oct 2019 23:27:49 -0400 Original-Received: from gateway30.websitewelcome.com ([192.185.192.34]:48958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNTmr-0000tz-TB for 26432@debbugs.gnu.org; Wed, 23 Oct 2019 23:27:46 -0400 Original-Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway30.websitewelcome.com (Postfix) with ESMTP id 54ADB15AA8 for <26432@debbugs.gnu.org>; Wed, 23 Oct 2019 22:27:45 -0500 (CDT) Original-Received: from gator3053.hostgator.com ([50.87.144.69]) by cmsmtp with SMTP id NTmqiSTemBnGaNTmriSiCl; Wed, 23 Oct 2019 22:27:45 -0500 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com ; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date: Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=L0DbJTl8lPqGBEFU4BbmgF92F47gTldCPMJ8677b2uk=; b=hg3r1tsBYUgPuG1943TMUpFyGG pHaRnZxfN9SYCzeG/gvhtP5VAwSTKOJBub3j5Q7zZ8CE0bJwgEg4EDPXq0EJSj1UVjrGYTmZRl71h w6KDFlTRA7eNtN9ytE9/R5fScWdytn5ZxMSm6A5EvqucBbeMLbjpM5VXp3aANjZZXYvoQAiMoHLcI Rf5/QscAYQxhsBeM7KsY1Ck0QiPVdtvkO1boaNoPjkCPNeO8/c/RlDSwc0Qyh0wGzkViSTIEBHez4 EL55G+qeKdbj2C0nosIVVLvFjQ7/fR7mwPh4LP+bTihqpb2MTjjbLd0xxDPmcrKJu4fVpsLxsSfN1 OyB2TZUA==; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:54753 helo=server.local) by gator3053.hostgator.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1iNTmq-003H6l-BH; Wed, 23 Oct 2019 22:27:44 -0500 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator3053.hostgator.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-BWhitelist: no X-Source-IP: 45.48.239.195 X-Source-L: No X-Exim-ID: 1iNTmq-003H6l-BH X-Source-Sender: cpe-45-48-239-195.socal.res.rr.com (server.local) [45.48.239.195]:54753 X-Source-Auth: lawlist X-Email-Count: 2 X-Source-Cap: bGF3bGlzdDtsYXdsaXN0O2dhdG9yMzA1My5ob3N0Z2F0b3IuY29t X-Local-Domain: yes X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:170109 Archived-At: --Multipart_Wed_Oct_23_20:27:43_2019-1 Content-Type: text/plain; charset=US-ASCII The attached proof concept patch applies to the master branch as of 10/23/2019 bearing commit 53e7a763dd16509d90418bdf14d161db13271ea3. I spent a couple of hours today fiddling around with a current version of image-dired.el, but I was not able to figure out how to get feature 26432 to work properly. My problems had something do with the need for a return value from image-dired-create-thumb and the old way of doing things processed subprocesses consecutively using call-process, whereas the current way of doing things uses start-process and run-at-time .... After unsuccessfully spinning my wheels, I went ahead and reverted the relevant functions in image-dired to where it was several years ago so that I could still use call-process and get a return value from image-dired-create-thumb; e.g., things like: (not (= 0 (image-dired-create-thumb file thumb-name))) and (not (= 0 (image-dired-create-thumb curr-file thumb-name))) I performed the following tests after applying the attached patch: M-x image-dired: On a directory containing a few PDF, PNG, JPG files. M-x image-dired-dired-toggle-marked-thumbs: In a dired-mode buffer containing a few PDF, PNG, JPG files. In an *image-dired* buffer, move the cursor to different images and watch the files selection change in the corresponding dired-mode buffer. In an *image-dired* buffer, press the enter key on an image and watch an *image-dired-display-image* buffer open with a larger image. I understand that the Emacs development team would prefer a patch that uses the current system of start-process and run-at-time; however, that would likely take me several more hours to figure out. In terms of me signing Emacs copyright papers and so forth, I would be happy to do that whenever the Emacs development team feels that I have a contribution that rises to a programming level worthy of Emacs. At this time, my proof concept patch is far from being ready for production .... Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > Date: [10-23-2019 03:03:29] <23 Oct 2019 12:03:29 +0200> > From: Lars Ingebrigtsen > To: Keith David Bershatsky > Cc: Drew Adams , 26432@debbugs.gnu.org, Glenn Morris > Subject: Re: bug#26432: Acknowledgement (image-dired: Adding support for PDF thumbnails.) > > Keith David Bershatsky writes: > > > Thank you Lars and Glenn for looking into tracker #26432. I would be > > pleased to look at this again in the coming days and see what changes > > I made to the functions at issue to enable this particular feature. > > My guess is that I only added a few lines of code to existing > > functions. > > Did you make any progress here? --Multipart_Wed_Oct_23_20:27:43_2019-1 Content-Type: application/diff; type=patch Content-Disposition: attachment; filename="2019_10_23__20_00_17_777.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvaW1hZ2UtZGlyZWQuZWwgYi9saXNwL2ltYWdlLWRpcmVkLmVsCmlu ZGV4IDg1YmM5MjQuLjdhNmRmYTIgMTAwNjQ0Ci0tLSBhL2xpc3AvaW1hZ2UtZGlyZWQuZWwKKysr IGIvbGlzcC9pbWFnZS1kaXJlZC5lbApAQCAtMjI5LDcgKzIyOSw5IEBAIFVzZWQgdG9nZXRoZXIg d2l0aCBgaW1hZ2UtZGlyZWQtY21kLWNyZWF0ZS10aHVtYm5haWwtb3B0aW9ucycuIgogICA6Z3Jv dXAgJ2ltYWdlLWRpcmVkKQogCiAoZGVmY3VzdG9tIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGh1 bWJuYWlsLW9wdGlvbnMKLSAgJygiLXNpemUiICIld3glaCIgIiVmWzBdIiAiLXJlc2l6ZSIgIiV3 eCVoPiIgIi1zdHJpcCIgImpwZWc6JXQiKQorICA7OyAnKCItc2l6ZSIgIiV3eCVoIiAiJWZbMF0i ICItcmVzaXplIiAiJXd4JWg+IiAiLWZsYXR0ZW4iICItc3RyaXAiICJqcGVnOiV0IikKKyAgOzs7 IFRoZSBgLWZsYXR0ZW5gIGFyZ3VtZW50IG1ha2VzIGEgdHJhbnNwYXJlbnQgUE5HIGJhY2tncm91 bmQgd2hpdGUuCisgICIlcCAtc2l6ZSAld3glaCBcIiVmWzBdXCIgLXJlc2l6ZSBcIiV3eCVoPlwi IC1mbGF0dGVuIC1zdHJpcCBqcGVnOlwiJXRcIiIKICAgIk9wdGlvbnMgb2YgY29tbWFuZCB1c2Vk IHRvIGNyZWF0ZSB0aHVtYm5haWwgaW1hZ2UuCiBVc2VkIHdpdGggYGltYWdlLWRpcmVkLWNtZC1j cmVhdGUtdGh1bWJuYWlsLXByb2dyYW0nLgogQXZhaWxhYmxlIGZvcm1hdCBzcGVjaWZpZXJzIGFy ZTogJXcgd2hpY2ggaXMgcmVwbGFjZWQgYnkKQEAgLTI0Nyw3ICsyNDksOCBAQCBVc2VkIHRvZ2V0 aGVyIHdpdGggYGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGVtcC1pbWFnZS1vcHRpb25zJy4iCiAg IDpncm91cCAnaW1hZ2UtZGlyZWQpCiAKIChkZWZjdXN0b20gaW1hZ2UtZGlyZWQtY21kLWNyZWF0 ZS10ZW1wLWltYWdlLW9wdGlvbnMKLSAgJygiLXNpemUiICIld3glaCIgIiVmWzBdIiAiLXJlc2l6 ZSIgIiV3eCVoPiIgIi1zdHJpcCIgImpwZWc6JXQiKQorICA7OzsgVGhlIGAtZmxhdHRlbmAgYXJn dW1lbnQgbWFrZXMgYSB0cmFuc3BhcmVudCBQTkcgYmFja2dyb3VuZCB3aGl0ZS4KKyAgJygiLXNp emUiICIld3glaCIgIiVmWzBdIiAiLXJlc2l6ZSIgIiV3eCVoPiIgIi1mbGF0dGVuIiAiLXN0cmlw IiAianBlZzoldCIpCiAgICJPcHRpb25zIG9mIGNvbW1hbmQgdXNlZCB0byBjcmVhdGUgdGVtcG9y YXJ5IGltYWdlIGZvciBkaXNwbGF5IHdpbmRvdy4KIFVzZWQgdG9nZXRoZXIgd2l0aCBgaW1hZ2Ut ZGlyZWQtY21kLWNyZWF0ZS10ZW1wLWltYWdlLXByb2dyYW0nLAogQXZhaWxhYmxlIGZvcm1hdCBz cGVjaWZpZXJzIGFyZTogJXcgYW5kICVoIHdoaWNoIGFyZSByZXBsYWNlZCBieQpAQCAtMzM1LDYg KzMzOCwzNyBAQCBBdmFpbGFibGUgZm9ybWF0IHNwZWNpZmllcnMgYXJlIHRoZSBzYW1lIGFzIGlu CiAgIDp0eXBlICcocmVwZWF0IChzdHJpbmcgOnRhZyAiQXJndW1lbnQiKSkKICAgOmdyb3VwICdp bWFnZS1kaXJlZCkKIAorKGRlZmN1c3RvbSBpbWFnZS1kaXJlZC1jbWQtY3JlYXRlLXN0YW5kYXJk LXRodW1ibmFpbC1jb21tYW5kCisgIChjb25jYXQKKyAgIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUt dGh1bWJuYWlsLXByb2dyYW0gIiAiCisgICAiLXNpemUgJXd4JWggXCIlZlwiICIKKyAgICh1bmxl c3MgKG9yIGltYWdlLWRpcmVkLWNtZC1wbmdjcnVzaC1wcm9ncmFtIGltYWdlLWRpcmVkLWNtZC1w bmducS1wcm9ncmFtKQorICAgICAoY29uY2F0CisgICAgICAiLXNldCBcIlRodW1iOjpNVGltZVwi IFwiJW1cIiAiCisgICAgICAiLXNldCBcIlRodW1iOjpVUklcIiBcImZpbGU6Ly8lZlwiICIKKyAg ICAgICItc2V0IFwiRGVzY3JpcHRpb25cIiBcIlRodW1ibmFpbCBvZiBmaWxlOi8vJWZcIiAiCisg ICAgICAiLXNldCBcIlNvZnR3YXJlXCIgXCIiIChlbWFjcy12ZXJzaW9uKSAiXCIgIikpCisgICAi LXRodW1ibmFpbCBcIiV3eCVoPlwiIHBuZzpcIiV0XCIiCisgICAoaWYgaW1hZ2UtZGlyZWQtY21k LXBuZ25xLXByb2dyYW0KKyAgICAgICAoY29uY2F0CisgICAgICAgICIgOyAiIGltYWdlLWRpcmVk LWNtZC1wbmducS1wcm9ncmFtICIgLWYgXCIldFwiIgorICAgICAgICAodW5sZXNzIGltYWdlLWRp cmVkLWNtZC1wbmdjcnVzaC1wcm9ncmFtCisgICAgICAgICAgIiA7IG12ICVxICV0IikpKQorICAg KGlmIGltYWdlLWRpcmVkLWNtZC1wbmdjcnVzaC1wcm9ncmFtCisgICAgICAgKGNvbmNhdAorICAg ICAgICAodW5sZXNzIGltYWdlLWRpcmVkLWNtZC1wbmdjcnVzaC1wcm9ncmFtCisgICAgICAgICAg IiA7IGNwICV0ICVxIikKKyAgICAgICAgIiA7ICIgaW1hZ2UtZGlyZWQtY21kLXBuZ2NydXNoLXBy b2dyYW0gIiAtcSAiCisgICAgICAgICItdGV4dCBiIFwiRGVzY3JpcHRpb25cIiBcIlRodW1ibmFp bCBvZiBmaWxlOi8vJWZcIiAiCisgICAgICAgICItdGV4dCBiIFwiU29mdHdhcmVcIiBcIiIgKGVt YWNzLXZlcnNpb24pICJcIiAiCisgICAgICAgICItdGV4dCBiIFwiVGh1bWI6Ok1UaW1lXCIgXCIl bVwiICIKKyAgICAgICAgIi10ZXh0IGIgXCJUaHVtYjo6VVJJXCIgXCJmaWxlOi8vJWZcIiAiCisg ICAgICAgICIlcSAldCIKKyAgICAgICAgIiA7IHJtICVxIikpKQorICAiQ29tbWFuZCB0byBjcmVh dGUgdGh1bWJuYWlscyBhY2NvcmRpbmcgdG8gdGhlIFRodW1ibmFpbCBNYW5hZ2luZyBTdGFuZGFy ZC4iCisgIDp0eXBlICdzdHJpbmcKKyAgOmdyb3VwICdpbWFnZS1kaXJlZCkKKwogKGRlZmN1c3Rv bSBpbWFnZS1kaXJlZC1jbWQtcm90YXRlLXRodW1ibmFpbC1wcm9ncmFtCiAgICJtb2dyaWZ5Igog ICAiRXhlY3V0YWJsZSB1c2VkIHRvIHJvdGF0ZSB0aHVtYm5haWwuCkBAIC00NTAsNiArNDg0LDE4 IEBAIGFuZCBgaW1hZ2UtZGlyZWQtdGh1bWItaGVpZ2h0Jy4iCiAgIDp0eXBlICdpbnRlZ2VyCiAg IDpncm91cCAnaW1hZ2UtZGlyZWQpCiAKKyhkZWZjdXN0b20gaW1hZ2UtZGlyZWQtdGh1bWItd2lk dGgtLWRpcmVkLWJ1ZmZlcgorICAoaWYgKGVxICdzdGFuZGFyZCBpbWFnZS1kaXJlZC10aHVtYm5h aWwtc3RvcmFnZSkgMTI4IDUwKQorICAiV2lkdGggb2YgdGh1bWJuYWlscywgaW4gcGl4ZWxzIC0t IGluIHRoZSBgZGlyZWQtYnVmZmVyJy4iCisgIDp0eXBlICdpbnRlZ2VyCisgIDpncm91cCAnaW1h Z2UtZGlyZWQpCisKKyhkZWZjdXN0b20gaW1hZ2UtZGlyZWQtdGh1bWItaGVpZ2h0LS1kaXJlZC1i dWZmZXIKKyAgKGlmIChlcSAnc3RhbmRhcmQgaW1hZ2UtZGlyZWQtdGh1bWJuYWlsLXN0b3JhZ2Up IDEyOCA1MCkKKyAgIkhlaWdodCBvZiB0aHVtYm5haWxzLCBpbiBwaXhlbHMgLS0gaW4gdGhlIGBk aXJlZC1idWZmZXInLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICdpbWFnZS1kaXJlZCkK KwogKGRlZmN1c3RvbSBpbWFnZS1kaXJlZC10aHVtYi1yZWxpZWYgMgogICAiU2l6ZSBvZiBidXR0 b24tbGlrZSBib3JkZXIgYXJvdW5kIHRodW1ibmFpbHMuIgogICA6dHlwZSAnaW50ZWdlcgpAQCAt NTg1LDE5ICs2MzEsNjUgQEAgQ3JlYXRlIHRoZSB0aHVtYm5haWxzIGRpcmVjdG9yeSBpZiBpdCBk b2VzIG5vdCBleGlzdC4iCiAoZGVmdW4gaW1hZ2UtZGlyZWQtZ2V0LXRodW1ibmFpbC1pbWFnZSAo ZmlsZSkKICAgIlJldHVybiB0aGUgaW1hZ2UgZGVzY3JpcHRvciBmb3IgYSB0aHVtYm5haWwgb2Yg aW1hZ2UgZmlsZSBGSUxFLiIKICAgKHVubGVzcyAoc3RyaW5nLW1hdGNoIChpbWFnZS1maWxlLW5h bWUtcmVnZXhwKSBmaWxlKQotICAgIChlcnJvciAiJXMgaXMgbm90IGEgdmFsaWQgaW1hZ2UgZmls ZSIgZmlsZSkpCi0gIChsZXQqICgodGh1bWItZmlsZSAoaW1hZ2UtZGlyZWQtdGh1bWItbmFtZSBm aWxlKSkKLQkgKHRodW1iLWF0dHIgKGZpbGUtYXR0cmlidXRlcyB0aHVtYi1maWxlKSkpCi0gICAg KHdoZW4gKG9yIChub3QgdGh1bWItYXR0cikKLQkgICAgICAodGltZS1sZXNzLXAgKGZpbGUtYXR0 cmlidXRlLW1vZGlmaWNhdGlvbi10aW1lIHRodW1iLWF0dHIpCi0JCQkgICAoZmlsZS1hdHRyaWJ1 dGUtbW9kaWZpY2F0aW9uLXRpbWUKLQkJCSAgICAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKSkpCi0g ICAgICAoaW1hZ2UtZGlyZWQtY3JlYXRlLXRodW1iIGZpbGUgdGh1bWItZmlsZSkpCi0gICAgKGNy ZWF0ZS1pbWFnZSB0aHVtYi1maWxlKQotOzsgICAgIChsaXN0ICdpbWFnZSA6dHlwZSAnanBlZwot OzsgICAgICAgICAgIDpmaWxlIHRodW1iLWZpbGUKLTs7IAkgIDpyZWxpZWYgaW1hZ2UtZGlyZWQt dGh1bWItcmVsaWVmIDptYXJnaW4gaW1hZ2UtZGlyZWQtdGh1bWItbWFyZ2luKQotICAgICkpCisg ICAgKGxldCAoKGRlYnVnLW9uLXF1aXQgbmlsKQorICAgICAgICAgIChtc2cgKGZvcm1hdCAiJXMg aXMgbm90IGEgdmFsaWQgaW1hZ2UgZmlsZS4iIGZpbGUpKSkKKyAgICAgIChzaWduYWwgJ3F1aXQg YCgsbXNnKSkpKQorICAoY29uZAorICAgICgoYW5kIChub3QgKHN0cmluZy1tYXRjaCAiXFwuXFwo UERGXFwpXFwnIiBmaWxlKSkKKyAgICAgICAgICAoc3RyaW5nLW1hdGNoIChpbWFnZS1maWxlLW5h bWUtcmVnZXhwKSBmaWxlKSkKKyAgICAgIChsZXQqICgodGh1bWItbmFtZSAoaW1hZ2UtZGlyZWQt dGh1bWItbmFtZSBmaWxlKSkKKyAgICAgICAgICAgICAodGh1bWJuYWlsLWRpbWVuc2lvbnMKKyAg ICAgICAgICAgICAgICh3aGVuIChmaWxlLWV4aXN0cy1wIHRodW1iLW5hbWUpCisgICAgICAgICAg ICAgICAgIChpbWFnZS1kaW1lbnNpb25zIHRodW1iLW5hbWUpKSkpCisgICAgICAgIChpZiAoYW5k CisgICAgICAgICAgICAgICA7OzsgVGhlIGdvYWwgaXMgdG8gbW92ZSBvbiB0byBgaW1hZ2UtZGly ZWQtY3JlYXRlLXRodW1iJyBJRgorICAgICAgICAgICAgICAgOzs7IHRoZSB0aHVtYm5haWwgZXhp c3RzIGFuZCBpcyB0aGUgd3Jvbmcgc2l6ZSwgb3IgaXQgZG9lcyBub3QgZXhpc3QuCisgICAgICAg ICAgICAgICAob3IgKGFuZCAoZmlsZS1leGlzdHMtcCB0aHVtYi1uYW1lKQorICAgICAgICAgICAg ICAgICAgICAgICAgKG5vdCAob3IgKD0gaW1hZ2UtZGlyZWQtdGh1bWItd2lkdGgKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgdGh1bWJuYWlsLWRpbWVuc2lvbnMpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKD0gaW1hZ2UtZGlyZWQtdGh1bWItaGVp Z2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHRodW1ibmFpbC1k aW1lbnNpb25zKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgOzs7IElmIHNvdXJjZSBmaWxl IGlzIG5ld2VyLCB0aGVuIHdlIG5lZWQgYSBuZXcgdGh1bWJuYWlsLgorICAgICAgICAgICAgICAg ICAgICAgICAgKDw9IChmbG9hdC10aW1lIChudGggNSAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmxvYXQtdGltZSAobnRoIDUgKGZpbGUtYXR0 cmlidXRlcyB0aHVtYi1uYW1lKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgKHByb2duCisg ICAgICAgICAgICAgICAgICAgICAgICAgIChjbGVhci1pbWFnZS1jYWNoZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgJ2NyZWF0ZS1uZXctaW1hZ2UpKQorICAgICAgICAgICAgICAgICAgIDs7 OyBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCwgb2YgY291cnNlLCB3ZSBuZWVkIHRvIGNyZWF0 ZSBpdCEKKyAgICAgICAgICAgICAgICAgICAobm90IChmaWxlLWV4aXN0cy1wIHRodW1iLW5hbWUp KSkKKyAgICAgICAgICAgICAgIChub3QgKD0gMCAoaW1hZ2UtZGlyZWQtY3JlYXRlLXRodW1iIGZp bGUgdGh1bWItbmFtZSkpKSkKKyAgICAgICAgICAobWVzc2FnZSAiVGh1bWIgY291bGQgbm90IGJl IGNyZWF0ZWQgZm9yIGZpbGUgJXMiIGZpbGUpCisgICAgICAgICAgKGNyZWF0ZS1pbWFnZSB0aHVt Yi1uYW1lKSkpKQorICAgICgoc3RyaW5nLW1hdGNoICJcXC5cXChQREZcXClcXCciIGZpbGUpCisg ICAgICA7OzsgY29udmVydCBzb3VyY2UucGRmWzBdIG91dHB1dC5qcGVnCisgICAgICA7OzsgWW91 IGNhbiBhbHNvIHNlbGVjdCByYW5nZXMsIGUuZy4sIHVzaW5nIHNvdXJjZS5wZGZbMC0zXS4KKyAg ICAgIDs7OyBjb252ZXJ0IC1kZW5zaXR5IDMwMCBhLnBkZlswXSAtcmVzaXplIDUlIGEucG5nCisg ICAgICAobGV0KiAoKGFic29sdXRlLWJhc2VuYW1lIChmaWxlLW5hbWUtc2Fucy1leHRlbnNpb24g ZmlsZSkpCisgICAgICAgICAgICAgKHBuZy1maWxlbmFtZSAoY29uY2F0IGFic29sdXRlLWJhc2Vu YW1lICIucG5nIikpCisgICAgICAgICAgICAgKHRodW1iLW5hbWUgKGltYWdlLWRpcmVkLXRodW1i LW5hbWUgcG5nLWZpbGVuYW1lKSkKKyAgICAgICAgICAgICAodGh1bWJuYWlsLWRpbWVuc2lvbnMK KyAgICAgICAgICAgICAgICh3aGVuIChmaWxlLWV4aXN0cy1wIHRodW1iLW5hbWUpCisgICAgICAg ICAgICAgICAgIChpbWFnZS1kaW1lbnNpb25zIHRodW1iLW5hbWUpKSkpCisgICAgICAgIChpZiAo YW5kCisgICAgICAgICAgICAgICA7OzsgVGhlIGdvYWwgaXMgdG8gbW92ZSBvbiB0byBgaW1hZ2Ut ZGlyZWQtY3JlYXRlLXRodW1iJyBJRgorICAgICAgICAgICAgICAgOzs7IHRoZSB0aHVtYm5haWwg ZXhpc3RzIGFuZCBpcyB0aGUgd3Jvbmcgc2l6ZSwgb3IgaXQgZG9lcyBub3QgZXhpc3QuCisgICAg ICAgICAgICAgICAob3IgKGFuZCAoZmlsZS1leGlzdHMtcCB0aHVtYi1uYW1lKQorICAgICAgICAg ICAgICAgICAgICAgICAgKG5vdCAob3IgKD0gaW1hZ2UtZGlyZWQtdGh1bWItd2lkdGgKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgdGh1bWJuYWlsLWRpbWVuc2lvbnMp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKD0gaW1hZ2UtZGlyZWQtdGh1bWIt aGVpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHRodW1ibmFp bC1kaW1lbnNpb25zKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgOzs7IElmIHNvdXJjZSBm aWxlIGlzIG5ld2VyLCB0aGVuIHdlIG5lZWQgYSBuZXcgdGh1bWJuYWlsLgorICAgICAgICAgICAg ICAgICAgICAgICAgKDw9IChmbG9hdC10aW1lIChudGggNSAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmxvYXQtdGltZSAobnRoIDUgKGZpbGUt YXR0cmlidXRlcyB0aHVtYi1uYW1lKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgKHByb2du CisgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGVhci1pbWFnZS1jYWNoZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2NyZWF0ZS1uZXctaW1hZ2UpKQorICAgICAgICAgICAgICAgICAg IChub3QgKGZpbGUtZXhpc3RzLXAgdGh1bWItbmFtZSkpKQorICAgICAgICAgICAgICAgKG5vdCAo PSAwIChpbWFnZS1kaXJlZC1jcmVhdGUtdGh1bWIgZmlsZSB0aHVtYi1uYW1lKSkpKQorICAgICAg ICAgICAgKG1lc3NhZ2UgIlRodW1iIGNvdWxkIG5vdCBiZSBjcmVhdGVkIGZvciBmaWxlICVzIiBm aWxlKQorICAgICAgICAgIChjcmVhdGUtaW1hZ2UgdGh1bWItbmFtZSkpKSkKKyAgICAodAorICAg ICAgKG1lc3NhZ2UgIiVzIGRvZXMgbm90IG1hdGNoIGBpbWFnZS1maWxlLW5hbWUtcmVnZXhwJyIg ZmlsZSkpKSkKIAogKGRlZnVuIGltYWdlLWRpcmVkLWluc2VydC10aHVtYm5haWwgKGZpbGUgb3Jp Z2luYWwtZmlsZS1uYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNz b2NpYXRlZC1kaXJlZC1idWZmZXIpCkBAIC04MjQsMTEgKzkxNiwzMiBAQCBRdWV1ZWQgaXRlbXMg bGl2ZSBpbiBgaW1hZ2UtZGlyZWQtcXVldWUnLiIKICAgICAoYXBwbHkgIydpbWFnZS1kaXJlZC1j cmVhdGUtdGh1bWItMSAocG9wIGltYWdlLWRpcmVkLXF1ZXVlKSkpKQogCiAoZGVmdW4gaW1hZ2Ut ZGlyZWQtY3JlYXRlLXRodW1iIChvcmlnaW5hbC1maWxlIHRodW1ibmFpbC1maWxlKQotICAiQWRk IGEgam9iIGZvciBnZW5lcmF0aW5nIHRodW1ibmFpbCB0byBgaW1hZ2UtZGlyZWQtcXVldWUnLiIK LSAgKHNldHEgaW1hZ2UtZGlyZWQtcXVldWUKLSAgICAgICAgKG5jb25jIGltYWdlLWRpcmVkLXF1 ZXVlCi0gICAgICAgICAgICAgICAobGlzdCAobGlzdCBvcmlnaW5hbC1maWxlIHRodW1ibmFpbC1m aWxlKSkpKQotICAocnVuLWF0LXRpbWUgMCBuaWwgIydpbWFnZS1kaXJlZC10aHVtYi1xdWV1ZS1y dW4pKQorICAiRm9yIE9SSUdJTkFMLUZJTEUsIGNyZWF0ZSB0aHVtYm5haWwgaW1hZ2UgbmFtZWQg VEhVTUJOQUlMLUZJTEUuIgorICAobGV0KiAoKHdpZHRoIChudW1iZXItdG8tc3RyaW5nIGltYWdl LWRpcmVkLXRodW1iLXdpZHRoKSkKKyAgICAgICAgIChoZWlnaHQgKG51bWJlci10by1zdHJpbmcg aW1hZ2UtZGlyZWQtdGh1bWItaGVpZ2h0KSkKKyAgICAgICAgIChtb2RpZi10aW1lIChmb3JtYXQg IiUuMGYiIChmbG9hdC10aW1lIChudGggNSAoZmlsZS1hdHRyaWJ1dGVzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLWZpbGUp KSkpKQorICAgICAgICAgKHRodW1ibmFpbC1ucTgtZmlsZSAocmVwbGFjZS1yZWdleHAtaW4tc3Ry aW5nICIucG5nXFwnIiAiLW5xOC5wbmciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGh1bWJuYWlsLWZpbGUpKQorICAgICAgICAgKGNvbW1h bmQKKyAgICAgICAgICAoZm9ybWF0LXNwZWMKKyAgICAgICAgICAgKGlmIChlcSAnc3RhbmRhcmQg aW1hZ2UtZGlyZWQtdGh1bWJuYWlsLXN0b3JhZ2UpCisgICAgICAgICAgICAgICBpbWFnZS1kaXJl ZC1jbWQtY3JlYXRlLXN0YW5kYXJkLXRodW1ibmFpbC1jb21tYW5kCisgICAgICAgICAgICAgaW1h Z2UtZGlyZWQtY21kLWNyZWF0ZS10aHVtYm5haWwtb3B0aW9ucykKKyAgICAgICAgICAgKGxpc3QK KyAgICAgICAgICAgIChjb25zID9wIGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGh1bWJuYWlsLXBy b2dyYW0pCisgICAgICAgICAgICAoY29ucyA/dyB3aWR0aCkKKyAgICAgICAgICAgIChjb25zID9o IGhlaWdodCkKKyAgICAgICAgICAgIChjb25zID9tIG1vZGlmLXRpbWUpCisgICAgICAgICAgICAo Y29ucyA/ZiBvcmlnaW5hbC1maWxlKQorICAgICAgICAgICAgKGNvbnMgP3EgdGh1bWJuYWlsLW5x OC1maWxlKQorICAgICAgICAgICAgKGNvbnMgP3QgdGh1bWJuYWlsLWZpbGUpKSkpCisgICAgICAg ICB0aHVtYm5haWwtZGlyKQorICAgICh3aGVuIChub3QgKGZpbGUtZXhpc3RzLXAKKyAgICAgICAg ICAgICAgICAoc2V0cSB0aHVtYm5haWwtZGlyIChmaWxlLW5hbWUtZGlyZWN0b3J5IHRodW1ibmFp bC1maWxlKSkpKQorICAgICAgKG1lc3NhZ2UgIkNyZWF0aW5nIHRodW1ibmFpbCBkaXJlY3Rvcnku IikKKyAgICAgIChtYWtlLWRpcmVjdG9yeSB0aHVtYm5haWwtZGlyKSkKKyAgICAoY2FsbC1wcm9j ZXNzIHNoZWxsLWZpbGUtbmFtZSBuaWwgbmlsIG5pbCBzaGVsbC1jb21tYW5kLXN3aXRjaCBjb21t YW5kKSkpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gaW1hZ2UtZGlyZWQtZGlyZWQtdG9nZ2xl LW1hcmtlZC10aHVtYnMgKCZvcHRpb25hbCBhcmcpCkBAIC04MzksMjYgKzk1MiwzMSBAQCBvZiB0 aGUgbWFya2VkIGZpbGVzLiAgSWYgQVJHIGlzIGFuIGludGVnZXIsIHVzZSB0aGUgbmV4dCBBUkcg KG9yCiBwcmV2aW91cyAtQVJHLCBpZiBBUkc8MCkgZmlsZXMuIgogICAoaW50ZXJhY3RpdmUgIlAi KQogICAoZGlyZWQtbWFwLW92ZXItbWFya3MKLSAgIChsZXQgKChpbWFnZS1wb3MgIChkaXJlZC1t b3ZlLXRvLWZpbGVuYW1lKSkKLSAgICAgICAgIChpbWFnZS1maWxlIChkaXJlZC1nZXQtZmlsZW5h bWUgbmlsIHQpKQotICAgICAgICAgdGh1bWItZmlsZQotICAgICAgICAgb3ZlcmxheSkKLSAgICAg KHdoZW4gKGFuZCBpbWFnZS1maWxlCi0gICAgICAgICAgICAgICAgKHN0cmluZy1tYXRjaC1wIChp bWFnZS1maWxlLW5hbWUtcmVnZXhwKSBpbWFnZS1maWxlKSkKLSAgICAgICAoc2V0cSB0aHVtYi1m aWxlIChpbWFnZS1kaXJlZC1nZXQtdGh1bWJuYWlsLWltYWdlIGltYWdlLWZpbGUpKQotICAgICAg IDs7IElmIGltYWdlIGlzIG5vdCBhbHJlYWR5IGFkZGVkLCB0aGVuIGFkZCBpdC4KLSAgICAgICAo bGV0ICgodGh1bWItb3YgKGNsLWxvb3AgZm9yIG92IGluIChvdmVybGF5cy1pbiAocG9pbnQpICgx KyAocG9pbnQpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG92ZXJsYXkt Z2V0IG92ICd0aHVtYi1maWxlKSByZXR1cm4gb3YpKSkKLSAgICAgICAgIChpZiB0aHVtYi1vdgot ICAgICAgICAgICAgIChkZWxldGUtb3ZlcmxheSB0aHVtYi1vdikKLQkgICAocHV0LWltYWdlIHRo dW1iLWZpbGUgaW1hZ2UtcG9zKQotCSAgIChzZXRxIG92ZXJsYXkKLSAgICAgICAgICAgICAgICAg KGNsLWxvb3AgZm9yIG92IGluIChvdmVybGF5cy1pbiAocG9pbnQpICgxKyAocG9pbnQpKSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG92ZXJsYXktZ2V0IG92ICdwdXQtaW1hZ2UpIHJl dHVybiBvdikpCi0JICAgKG92ZXJsYXktcHV0IG92ZXJsYXkgJ2ltYWdlLWZpbGUgaW1hZ2UtZmls ZSkKLQkgICAob3ZlcmxheS1wdXQgb3ZlcmxheSAndGh1bWItZmlsZSB0aHVtYi1maWxlKSkpKSkK LSAgIGFyZyAgICAgICAgICAgICA7IFNob3cgb3IgaGlkZSBpbWFnZSBvbiBBUkcgbmV4dCBmaWxl cy4KLSAgICdzaG93LXByb2dyZXNzKSA7IFVwZGF0ZSBkaXJlZCBkaXNwbGF5IGFmdGVyIGVhY2gg aW1hZ2UgaXMgdXBkYXRlZC4KKyAgICAobGV0ICgoaW1hZ2UtZGlyZWQtdGh1bWItd2lkdGggaW1h Z2UtZGlyZWQtdGh1bWItd2lkdGgtLWRpcmVkLWJ1ZmZlcikKKyAgICAgICAgICAoaW1hZ2UtZGly ZWQtdGh1bWItaGVpZ2h0IGltYWdlLWRpcmVkLXRodW1iLWhlaWdodC0tZGlyZWQtYnVmZmVyKQor ICAgICAgICAgIChpbWFnZS1wb3MgIChkaXJlZC1tb3ZlLXRvLWZpbGVuYW1lKSkKKyAgICAgICAg ICAoaW1hZ2UtZmlsZSAoZGlyZWQtZ2V0LWZpbGVuYW1lIG5pbCB0KSkKKyAgICAgICAgICAoY2Fz ZS1mb2xkLXNlYXJjaCB0KQorICAgICAgICAgIHRodW1iLWZpbGUgb3ZlcmxheSkKKyAgICAgICh3 aGVuIChhbmQgaW1hZ2UtZmlsZQorICAgICAgICAgICAgICAgICAoaW1hZ2UtZmlsZS1uYW1lLXJl Z2V4cCkgaW1hZ2UtZmlsZSkKKyAgICAgICAgKHNldHEgdGh1bWItZmlsZSAoaW1hZ2UtZGlyZWQt Z2V0LXRodW1ibmFpbC1pbWFnZSBpbWFnZS1maWxlKSkKKyAgICAgICAgOzsgSWYgaW1hZ2UgaXMg bm90IGFscmVhZHkgYWRkZWQsIHRoZW4gYWRkIGl0LgorICAgICAgICAobGV0KiAoKGN1ci1vdnMg KG92ZXJsYXlzLWluIChwb2ludCkgKDErIChwb2ludCkpKSkKKyAgICAgICAgICAgICAgICh0aHVt Yi1vdiAoY2FyIChjbC1yZW1vdmUtaWYtbm90CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChsYW1iZGEgKG92KSAob3ZlcmxheS1nZXQgb3YgJ3RodW1iLWZpbGUpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdXItb3ZzKSkpKQorICAgICAgICAgIChpZiB0aHVtYi1v dgorICAgICAgICAgICAgICAoZGVsZXRlLW92ZXJsYXkgdGh1bWItb3YpCisgICAgICAocHV0LWlt YWdlIHRodW1iLWZpbGUgaW1hZ2UtcG9zKQorICAgICAgKHNldHEgb3ZlcmxheQorICAgICAgICAg ICAgICAgICAgKGNsLWxvb3AgZm9yIG8gaW4gKG92ZXJsYXlzLWluIChwb2ludCkgKDErIChwb2lu dCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiAob3ZlcmxheS1nZXQgbyAncHV0 LWltYWdlKSBjb2xsZWN0IG8gaW50byBvdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlu YWxseSByZXR1cm4gKGNhciBvdikpKQorICAgICAgKG92ZXJsYXktcHV0IG92ZXJsYXkgJ2ltYWdl LWZpbGUgaW1hZ2UtZmlsZSkKKyAgICAgIChvdmVybGF5LXB1dCBvdmVybGF5ICd0aHVtYi1maWxl IHRodW1iLWZpbGUpKSkpKQorICAgIGFyZyAgICAgICAgICAgICA7IFNob3cgb3IgaGlkZSBpbWFn ZSBvbiBBUkcgbmV4dCBmaWxlcy4KKyAgICAnc2hvdy1wcm9ncmVzcykgOyBVcGRhdGUgZGlyZWQg ZGlzcGxheSBhZnRlciBlYWNoIGltYWdlIGlzIHVwZGF0ZWQuCiAgIChhZGQtaG9vayAnZGlyZWQt YWZ0ZXItcmVhZGluLWhvb2sKICAgICAgICAgICAgICdpbWFnZS1kaXJlZC1kaXJlZC1hZnRlci1y ZWFkaW4taG9vayBuaWwgdCkpCiAKQEAgLTk5Myw2ICsxMTExLDE2IEBAIFJlc3RvcmUgYW55IGNo YW5nZXMgdG8gdGhlIHdpbmRvdyBjb25maWd1cmF0aW9uIG1hZGUgYnkgY2FsbGluZwogICAgICAg KHNldC13aW5kb3ctY29uZmlndXJhdGlvbiBpbWFnZS1kaXJlZC1zYXZlZC13aW5kb3ctY29uZmln dXJhdGlvbikKICAgICAobWVzc2FnZSAiTm8gc2F2ZWQgd2luZG93IGNvbmZpZ3VyYXRpb24iKSkp CiAKKyhkZWZ1biBpbWFnZS1kaW1lbnNpb25zIChmaWxlbmFtZSkKKyAgKGxldCogKChyYXctZGlt ZW5zaW9ucworICAgICAgICAgICAoc2hlbGwtY29tbWFuZC10by1zdHJpbmcKKyAgICAgICAgICAg ICAoY29uY2F0IGltYWdlLWRpcmVkLWNtZC1jcmVhdGUtdGh1bWJuYWlsLXByb2dyYW0gIiAiIChw cmluMS10by1zdHJpbmcgZmlsZW5hbWUpICIgLXBpbmcgLWZvcm1hdCBcIiV3IHggJWhcIiBpbmZv OiIpKSkKKyAgICAgICAgIChsaXN0LWRpbWVuc2lvbnMKKyAgICAgICAgICAgKGRlbGV0ZSAieCIg KHNwbGl0LXN0cmluZyByYXctZGltZW5zaW9ucykpKSkKKyAgICAoY29ucworICAgICAgKHN0cmlu Zy10by1udW1iZXIgKGNhciBsaXN0LWRpbWVuc2lvbnMpKQorICAgICAgKHN0cmluZy10by1udW1i ZXIgKGNhZHIgbGlzdC1kaW1lbnNpb25zKSkpKSkKKwogOzs7IyMjYXV0b2xvYWQKIChkZWZ1biBp bWFnZS1kaXJlZC1kaXNwbGF5LXRodW1icyAoJm9wdGlvbmFsIGFyZyBhcHBlbmQgZG8tbm90LXBv cCkKICAgIkRpc3BsYXkgdGh1bWJuYWlscyBvZiBhbGwgbWFya2VkIGZpbGVzLCBpbiBgaW1hZ2Ut ZGlyZWQtdGh1bWJuYWlsLWJ1ZmZlcicuCkBAIC0xMDE2LDcgKzExNDQsNyBAQCB1c2VkIG9yIG5v dC4gIElmIG5vbi1uaWwsIHVzZSBgZGlzcGxheS1idWZmZXInIGluc3RlYWQgb2YKIHRodW1ibmFp bCBidWZmZXIgdG8gYmUgc2VsZWN0ZWQuIgogICAoaW50ZXJhY3RpdmUgIlAiKQogICAobGV0ICgo YnVmIChpbWFnZS1kaXJlZC1jcmVhdGUtdGh1bWJuYWlsLWJ1ZmZlcikpCi0gICAgICAgIHRodW1i LW5hbWUgZmlsZXMgZGlyZWQtYnVmKQorICAgICAgICBmaWxlcyBkaXJlZC1idWYpCiAgICAgKGlm IGFyZwogICAgICAgICAoc2V0cSBmaWxlcyAobGlzdCAoZGlyZWQtZ2V0LWZpbGVuYW1lKSkpCiAg ICAgICAoc2V0cSBmaWxlcyAoZGlyZWQtZ2V0LW1hcmtlZC1maWxlcykpKQpAQCAtMTAyNywxMCAr MTE1NSw1NSBAQCB0aHVtYm5haWwgYnVmZmVyIHRvIGJlIHNlbGVjdGVkLiIKICAgICAgICAgICAg IChlcmFzZS1idWZmZXIpCiAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkpCiAgICAg ICAgIChkb2xpc3QgKGN1cnItZmlsZSBmaWxlcykKLSAgICAgICAgICAoc2V0cSB0aHVtYi1uYW1l IChpbWFnZS1kaXJlZC10aHVtYi1uYW1lIGN1cnItZmlsZSkpCi0gICAgICAgICAgKHdoZW4gKG5v dCAoZmlsZS1leGlzdHMtcCB0aHVtYi1uYW1lKSkKLSAgICAgICAgICAgIChpbWFnZS1kaXJlZC1j cmVhdGUtdGh1bWIgY3Vyci1maWxlIHRodW1iLW5hbWUpKQotICAgICAgICAgIChpbWFnZS1kaXJl ZC1pbnNlcnQtdGh1bWJuYWlsIHRodW1iLW5hbWUgY3Vyci1maWxlIGRpcmVkLWJ1ZikpKQorICAg ICAgICAgICAoY29uZAorICAgICAgICAgICAgICgoYW5kIChub3QgKHN0cmluZy1tYXRjaCAiXFwu XFwoUERGXFwpXFwnIiBjdXJyLWZpbGUpKQorICAgICAgICAgICAgICAgICAgIChzdHJpbmctbWF0 Y2ggKGltYWdlLWZpbGUtbmFtZS1yZWdleHApIGN1cnItZmlsZSkpCisgICAgICAgICAgICAgICAo bGV0KiAoKHRodW1iLW5hbWUgKGltYWdlLWRpcmVkLXRodW1iLW5hbWUgY3Vyci1maWxlKSkKKyAg ICAgICAgICAgICAgICAgICAgICAodGh1bWJuYWlsLWRpbWVuc2lvbnMKKyAgICAgICAgICAgICAg ICAgICAgICAgICh3aGVuIChmaWxlLWV4aXN0cy1wIHRodW1iLW5hbWUpCisgICAgICAgICAgICAg ICAgICAgICAgICAgIChpbWFnZS1kaW1lbnNpb25zIHRodW1iLW5hbWUpKSkpCisgICAgICAgICAg ICAgICAgIChpZiAoYW5kCisgICAgICAgICAgICAgICAgICAgICAgICA7OzsgVGhlIGdvYWwgaXMg dG8gbW92ZSBvbiB0byBgaW1hZ2UtZGlyZWQtY3JlYXRlLXRodW1iJyBJRgorICAgICAgICAgICAg ICAgICAgICAgICAgOzs7IHRoZSB0aHVtYm5haWwgZXhpc3RzIGFuZCBpcyB0aGUgd3Jvbmcgc2l6 ZSwgb3IgaXQgZG9lcyBub3QgZXhpc3QuCisgICAgICAgICAgICAgICAgICAgICAgICAob3IgKGFu ZCAoZmlsZS1leGlzdHMtcCB0aHVtYi1uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG5vdCAob3IgKD0gaW1hZ2UtZGlyZWQtdGh1bWItd2lkdGgKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgdGh1bWJuYWlsLWRpbWVuc2lvbnMp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKD0gaW1hZ2UtZGly ZWQtdGh1bWItaGVpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2RyIHRodW1ibmFpbC1kaW1lbnNpb25zKSkpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChj bGVhci1pbWFnZS1jYWNoZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Ny ZWF0ZS1uZXctaW1hZ2UpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGZpbGUt ZXhpc3RzLXAgdGh1bWItbmFtZSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoPSAw IChpbWFnZS1kaXJlZC1jcmVhdGUtdGh1bWIgY3Vyci1maWxlIHRodW1iLW5hbWUpKSkpCisgICAg ICAgICAgICAgICAgICAgKG1lc3NhZ2UgIlRodW1iIGNvdWxkIG5vdCBiZSBjcmVhdGVkIGZvciBm aWxlICVzIiBjdXJyLWZpbGUpCisgICAgICAgICAgICAgICAgICAgKGltYWdlLWRpcmVkLWluc2Vy dC10aHVtYm5haWwgdGh1bWItbmFtZSBjdXJyLWZpbGUgZGlyZWQtYnVmKSkpKQorICAgICAgICAg ICAgICgoc3RyaW5nLW1hdGNoICJcXC5cXChQREZcXClcXCciIGN1cnItZmlsZSkKKyAgICAgICAg ICAgICAgIDs7OyBjb252ZXJ0IHNvdXJjZS5wZGZbMF0gb3V0cHV0LmpwZWcKKyAgICAgICAgICAg ICAgIDs7OyBZb3UgY2FuIGFsc28gc2VsZWN0IHJhbmdlcywgZS5nLiwgdXNpbmcgc291cmNlLnBk ZlswLTNdLgorICAgICAgICAgICAgICAgOzs7IGNvbnZlcnQgLWRlbnNpdHkgMzAwIGEucGRmWzBd IC1yZXNpemUgNSUgYS5wbmcKKyAgICAgICAgICAgICAgIChsZXQqICgoYWJzb2x1dGUtYmFzZW5h bWUgKGZpbGUtbmFtZS1zYW5zLWV4dGVuc2lvbiBjdXJyLWZpbGUpKQorICAgICAgICAgICAgICAg ICAgICAgIChwbmctZmlsZW5hbWUgKGNvbmNhdCBhYnNvbHV0ZS1iYXNlbmFtZSAiLnBuZyIpKQor ICAgICAgICAgICAgICAgICAgICAgICh0aHVtYi1uYW1lIChpbWFnZS1kaXJlZC10aHVtYi1uYW1l IHBuZy1maWxlbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgKHRodW1ibmFpbC1kaW1lbnNp b25zCisgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAoZmlsZS1leGlzdHMtcCB0aHVtYi1u YW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2UtZGltZW5zaW9ucyB0aHVtYi1u YW1lKSkpKQorICAgICAgICAgICAgICAgICAoaWYgKGFuZAorICAgICAgICAgICAgICAgICAgICAg ICAgOzs7IFRoZSBnb2FsIGlzIHRvIG1vdmUgb24gdG8gYGltYWdlLWRpcmVkLWNyZWF0ZS10aHVt YicgSUYKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7OyB0aGUgdGh1bWJuYWlsIGV4aXN0cyBh bmQgaXMgdGhlIHdyb25nIHNpemUsIG9yIGl0IGRvZXMgbm90IGV4aXN0LgorICAgICAgICAgICAg ICAgICAgICAgICAgKG9yIChhbmQgKGZpbGUtZXhpc3RzLXAgdGh1bWItbmFtZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKG9yICg9IGltYWdlLWRpcmVkLXRodW1iLXdp ZHRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FyIHRo dW1ibmFpbC1kaW1lbnNpb25zKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICg9IGltYWdlLWRpcmVkLXRodW1iLWhlaWdodAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNkciB0aHVtYm5haWwtZGltZW5zaW9ucykpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY2xlYXItaW1hZ2UtY2FjaGUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdjcmVhdGUtbmV3LWltYWdlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobm90IChmaWxlLWV4aXN0cy1wIHRodW1iLW5hbWUpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgIChub3QgKD0gMCAoaW1hZ2UtZGlyZWQtY3JlYXRlLXRodW1iIGN1cnItZmlsZSB0 aHVtYi1uYW1lKSkpKQorICAgICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UgIlRodW1iIGNvdWxk IG5vdCBiZSBjcmVhdGVkIGZvciBmaWxlICVzIiBjdXJyLWZpbGUpCisgICAgICAgICAgICAgICAg ICAgKGltYWdlLWRpcmVkLWluc2VydC10aHVtYm5haWwgdGh1bWItbmFtZSBjdXJyLWZpbGUgZGly ZWQtYnVmKSkpKQorICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAobWVzc2FnZSAiJXMg ZG9lcyBub3QgbWF0Y2ggYGltYWdlLWZpbGUtbmFtZS1yZWdleHAnIiBjdXJyLWZpbGUpKSkpKQog ICAgICAgKGlmIGRvLW5vdC1wb3AKICAgICAgICAgICAoZGlzcGxheS1idWZmZXIgYnVmKQogICAg ICAgICAocG9wLXRvLWJ1ZmZlciBidWYpKQpkaWZmIC0tZ2l0IGEvbGlzcC9pbWFnZS1maWxlLmVs IGIvbGlzcC9pbWFnZS1maWxlLmVsCmluZGV4IDZmNGVlN2EuLjU5ZDM1MmIgMTAwNjQ0Ci0tLSBh L2xpc3AvaW1hZ2UtZmlsZS5lbAorKysgYi9saXNwL2ltYWdlLWZpbGUuZWwKQEAgLTM2LDcgKzM2 LDcgQEAKIAogOzs7IyMjYXV0b2xvYWQKIChkZWZjdXN0b20gaW1hZ2UtZmlsZS1uYW1lLWV4dGVu c2lvbnMKLSAgKHB1cmVjb3B5ICcoInBuZyIgImpwZWciICJqcGciICJnaWYiICJ0aWZmIiAidGlm IiAieGJtIiAieHBtIiAicGJtIiAicGdtIiAicHBtIiAicG5tIiAic3ZnIikpCisgIChwdXJlY29w eSAnKCJwbmciICJqcGVnIiAianBnIiAiZ2lmIiAidGlmZiIgInRpZiIgInhibSIgInhwbSIgInBi bSIgInBnbSIgInBwbSIgInBubSIgInN2ZyIgInBkZiIpKQogICAiQSBsaXN0IG9mIGltYWdlLWZp bGUgZmlsZW5hbWUgZXh0ZW5zaW9ucy4KIEZpbGVuYW1lcyBoYXZpbmcgb25lIG9mIHRoZXNlIGV4 dGVuc2lvbnMgYXJlIGNvbnNpZGVyZWQgaW1hZ2UgZmlsZXMsCiBpbiBhZGRpdGlvbiB0byB0aG9z ZSBtYXRjaGluZyBgaW1hZ2UtZmlsZS1uYW1lLXJlZ2V4cHMnLgo= --Multipart_Wed_Oct_23_20:27:43_2019-1--