From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mauro Aranda Newsgroups: gmane.emacs.bugs Subject: bug#976: 23.0.60; incorrect code for filesets-get-filelist Date: Fri, 20 Nov 2020 12:39:16 -0300 Message-ID: References: <002901c915bf$811df210$0200a8c0@us.oracle.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000006a56c605b48ba6cc" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9090"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 976@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Nov 20 16:40:16 2020 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 1kg8WG-0002EQ-4P for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 20 Nov 2020 16:40:16 +0100 Original-Received: from localhost ([::1]:38846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kg8WE-00030v-PD for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 20 Nov 2020 10:40:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kg8W3-0002yR-4U for bug-gnu-emacs@gnu.org; Fri, 20 Nov 2020 10:40:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kg8W2-0000M4-TR for bug-gnu-emacs@gnu.org; Fri, 20 Nov 2020 10:40:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kg8W2-0000iA-Qy for bug-gnu-emacs@gnu.org; Fri, 20 Nov 2020 10:40:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <002901c915bf$811df210$0200a8c0@us.oracle.com> Resent-From: Mauro Aranda Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Nov 2020 15:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 976 X-GNU-PR-Package: emacs Original-Received: via spool by 976-submit@debbugs.gnu.org id=B976.16058867922694 (code B ref 976); Fri, 20 Nov 2020 15:40:02 +0000 Original-Received: (at 976) by debbugs.gnu.org; 20 Nov 2020 15:39:52 +0000 Original-Received: from localhost ([127.0.0.1]:44101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kg8Vs-0000hH-3c for submit@debbugs.gnu.org; Fri, 20 Nov 2020 10:39:52 -0500 Original-Received: from mail-wr1-f51.google.com ([209.85.221.51]:33774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kg8Va-0000gQ-Sr for 976@debbugs.gnu.org; Fri, 20 Nov 2020 10:39:37 -0500 Original-Received: by mail-wr1-f51.google.com with SMTP id u12so10522439wrt.0 for <976@debbugs.gnu.org>; Fri, 20 Nov 2020 07:39:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=0ZoEtdqtWNOSmEQbJUY1Ps7APfpNyA9ngFmNXBYJQkk=; b=SmQYHLjYuMcmbUiv2A9NaUS04roBJbmR2rIeWtirTWpxiELKbAXGLASeGTZssW/HsF EffN/nNXyUBlS3uZJ4nMFBj/HEYzbENEWm7P5O2xnaF2oSIvQWg1OWeSqhYghIhKBH5Z VSGUvJsElNRjAzC7oqRjdvtWviHryIj8bbyXoJljECzpyO5cLkVHuBWb2QN6hd9ce9ju OGDuc0EVmIX/X/dE4+H8tyqdPwNzrGNgmCe0BM0j58Ci3iskT/mK7CcyIpreGxi1SGvc 2kqyFHhMAlOBWgWoHbNI41d4woA2z4PPCtaqEu945y99JIkAeGkspodBk57kb+wfv6tz xPMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=0ZoEtdqtWNOSmEQbJUY1Ps7APfpNyA9ngFmNXBYJQkk=; b=Irn5d45CrUuKKGCPB2dwkcIcxeSNogTsNadXR8XvgMxrWhWjtfvjjGXNg0fSpKx5CV Cx84k13qL7PAAULtBwY5jJHmONtus6UlazVK5FeSMq6LIx6u67kIj3yXEgPUVdNWNHEK WfRQLPiAC/zCQEYz3YFHYlZ1nVCRN/Ai6dg1DaEByajogvd5ydyzfSjOBRW+xeaGSVs/ qqiSNaD5EprNhcx38yLQ467qyxrCaqsfRd+KeFKfZq6+tQsDzE0xnrJJ68QLbqNP9aaA TMyUvcDtRMmMYxDMooM45UrhnN+nM8guBGSrAQ4XmnLrSfkOrJj6kqGirs6XdbIs44C2 JveA== X-Gm-Message-State: AOAM532oea5ghKccbZSe+Sgt1R1c/1stfaO7dVibjDa3OoObjpEMLdL+ H439EBgfArrMA1gmeoPGVPDBzfMe3OVI36a9Qms= X-Google-Smtp-Source: ABdhPJy/K3voIG6FNEELi2rGS45nxlBltZkT98bIFfKMszTfAeqD9Tz87WgDw+xqWJuIlwWXbEQqfPJ3B56tNmVcdaM= X-Received: by 2002:adf:e9c9:: with SMTP id l9mr17695457wrn.124.1605886768982; Fri, 20 Nov 2020 07:39:28 -0800 (PST) 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:193786 Archived-At: --0000000000006a56c605b48ba6cc Content-Type: multipart/alternative; boundary="0000000000006a56c405b48ba6ca" --0000000000006a56c405b48ba6ca Content-Type: text/plain; charset="UTF-8" tags 976 patch quit "Drew Adams" writes: > Sorry for the added noise, but it's probably better for the default behavior to > use absolute filenames. The attached code does that. > > >> From: Drew Adams Sent: Tuesday, September 16, 2008 1:44 PM >> The attached code might help you in fixing this - if not, >> ignore it. I haven't >> tested all of the code that calls `filesets-get-filelist', >> but the version of >> `filesets-get-filelist' attached seems to DTRT, AFAICT. >> >> The problem with the original code, and with the suggestion I >> sent earlier, is >> that `filesets-get-filelist' does not DTRT for type :tree. >> The original code is >> completely broken - does nothing here. In my previously >> suggested code, >> `filesets-get-filelist' does the same thing for type :tree as >> for type :pattern >> - it returns only the files in the directory, not also the >> files in its >> subdirectories. >> >> See attached file for proposed new definition (with new function >> filesets-files-under). >> >> HTH >> >> >> > From: Drew Adams Sent: Saturday, September 13, 2008 9:41 AM >> > The part that treats a :tree of the code defining >> > `filesets-get-filelist' is not correct and never could have been >> > correct. And it does not correspond to the (correct) code from the >> > filesets author. One wonders if the GNU Emacs code was ever tested. >> > >> > This is the `case' clause that treats :tree in the definition >> > of `filesets-get-filelist': >> > >> > ((:tree) >> > (let ((dir (nth 0 entry)) >> > (patt (nth 1 entry))) >> > (filesets-directory-files dir patt ':files t))) >> > >> > But `entry' here is a complete fileset, which is of the form >> > ("my-fs" (:tree "/some/directory" "^.+\.suffix$")) >> > >> > The above code thus tries to use "my-fs" as the directory, >> whereas it >> > should use "/some/directory". >> > >> > This is the (correct) code in the latest version from the author >> > (http://members.a1.net/t.link/CompEmacsFilesets.html). (The >> comment is >> > from the author.) >> > >> > ((:tree) >> > ;;well, the way trees are handled is a mess +++ >> > (let* ((dirpatt (if (consp (nth 1 entry)) >> > (filesets-entry-get-tree entry) >> > entry)) >> > (dir (nth 0 dirpatt)) >> > (patt (nth 1 dirpatt))) >> > (filesets-list-dir dir patt ':files t))) >> > >> > However, I think the following would be sufficient: >> > >> > ((:tree) >> > (let* ((dirpatt (filesets-entry-get-tree entry)) >> > (dir (nth 0 dirpatt)) >> > (patt (nth 1 dirpatt))) >> > (filesets-directory-files dir patt ':files t))) >> > >> > I don't see why the author's more complex treatment would ever be >> > needed, since in order for the :tree clause of the `case' to be >> > reached (consp (nth 1 entry)) must be a cons, AFAICT. >> > >> > At any rate, either the author's code or what I suggest immediately >> > above is needed. There is no way that the current GNU Emacs code can >> > work with a :tree fileset. >> > >> > >> > In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) >> > of 2008-09-03 on LENNART-69DE564 >> > Windowing system distributor `Microsoft Corp.', version 5.1.2600 >> > configured using `configure --with-gcc (3.4) --no-opt >> > --cflags -Ic:/g/include >> > -fno-crossjumping' >> > Hi Drew, It's been a long time, but your fix looks right to me, and of course you're right that the current code is broken. I created a :tree fileset for testing: without your fix I get wrong-type-argument errors, while with your fix it works just fine. I've recreated your fix below, added a commit message and formatted it with `git format-patch'. Could you please take a look and see if it is OK to push it? Or maybe you would like to provide a different commit message for your change? Thanks. --0000000000006a56c405b48ba6ca Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
tags 976 patch
quit

"Drew Adams" <drew.= adams@oracle.com> writes:

> Sorry for the added noise, b= ut it's probably better for the default behavior to
> use absolut= e filenames. The attached code does that.
>
>
>> From:= Drew Adams Sent: Tuesday, September 16, 2008 1:44 PM
>> The attac= hed code might help you in fixing this - if not,
>> ignore it. I = haven't
>> tested all of the code that calls `filesets-get-fil= elist',
>> but the version of
>> `filesets-get-filel= ist' attached seems to DTRT, AFAICT.
>>
>> The probl= em with the original code, and with the suggestion I
>> sent earl= ier, is
>> that `filesets-get-filelist' does not DTRT for type= :tree.
>> The original code is
>> completely broken - d= oes nothing here. In my previously
>> suggested code,
>>= `filesets-get-filelist' does the same thing for type :tree as
>= > for type :pattern
>> - it returns only the files in the direc= tory, not also the
>> files in its
>> subdirectories.>>
>> See attached file for proposed new definition (with = new function
>> filesets-files-under).
>>
>> HT= H
>>
>>
>> > From: Drew Adams Sent: Saturda= y, September 13, 2008 9:41 AM
>> > The part that treats a :tre= e of the code defining
>> > `filesets-get-filelist' is not = correct and never could have been
>> > correct. And it does not= correspond to the (correct) code from the
>> > filesets author= .=C2=A0 One wonders if the GNU Emacs code was ever tested.
>> >= =C2=A0
>> > This is the `case' clause that treats :tree in= the definition
>> > of `filesets-get-filelist':
>>= ; > =C2=A0
>> > ((:tree)
>> > =C2=A0(let ((dir = =C2=A0(nth 0 entry))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0(patt (nth= 1 entry)))
>> > =C2=A0 =C2=A0(filesets-directory-files dir pat= t ':files t)))
>> > =C2=A0
>> > But `entry'= here is a complete fileset, which is of the form
>> > ("m= y-fs" (:tree "/some/directory" "^.+\.suffix$"))>> > =C2=A0
>> > The above code thus tries to use &qu= ot;my-fs" as the directory,
>> whereas it
>> > s= hould use "/some/directory".
>> > =C2=A0
>> = > This is the (correct) code in the latest version from the author
&g= t;> > (http://members.a1.net/t.link/CompEmacsFilesets.html). (The
>&g= t; comment is
>> > from the author.)
>> > =C2=A0>> > ((:tree)
>> > =C2=A0;;well, the way trees are ha= ndled is a mess +++
>> > =C2=A0(let* ((dirpatt (if (consp (nth = 1 entry))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0(filesets-entry-get-tree entry)
>> >= ; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0entr= y))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (dir =C2=A0 =C2=A0 (nth 0 = dirpatt))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (patt =C2=A0 =C2=A0(= nth 1 dirpatt)))
>> > =C2=A0 =C2=A0(filesets-list-dir dir patt = ':files t)))
>> > =C2=A0
>> > However, I think = the following would be sufficient:
>> > =C2=A0
>> >= ((:tree)
>> > =C2=A0(let* ((dirpatt (filesets-entry-get-tree e= ntry))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (dir =C2=A0(nth 0 dirpa= tt))
>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (patt (nth 1 dirpatt)))>> > =C2=A0 =C2=A0(filesets-directory-files dir patt ':files= t)))
>> > =C2=A0
>> > I don't see why the auth= or's more complex treatment would ever be
>> > needed, sinc= e in order for the :tree clause of the `case' to be
>> > re= ached (consp (nth 1 entry)) must be a cons, AFAICT.
>> > =C2=A0=
>> > At any rate, either the author's code or what I sugge= st immediately
>> > above is needed. There is no way that the c= urrent GNU Emacs code can
>> > work with a :tree fileset.
&g= t;> >
>> >
>> > In GNU Emacs 23.0.60.1 (i38= 6-mingw-nt5.1.2600)
>> > =C2=A0of 2008-09-03 on LENNART-69DE564=
>> > Windowing system distributor `Microsoft Corp.', versi= on 5.1.2600
>> > configured using `configure --with-gcc (3.4) -= -no-opt
>> > --cflags -Ic:/g/include
>> > -fno-cro= ssjumping'
>> > =C2=A0

Hi Drew,

It's been= a long time, but your fix looks right to me, and of course
you're r= ight that the current code is broken.=C2=A0 I created a :tree fileset
fo= r testing: without your fix I get wrong-type-argument errors, while
with= your fix it works just fine.

I've recreated your fix below, add= ed a commit message and formatted it
with `git format-patch'.=C2=A0 = Could you please take a look and see if it
is OK to push it? Or maybe yo= u would like to provide a different commit
message for your change?
<= br>Thanks. --0000000000006a56c405b48ba6ca-- --0000000000006a56c605b48ba6cc Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-finding-filelist-for-tree-fileset-Bug-976.patch" Content-Disposition: attachment; filename="0001-Fix-finding-filelist-for-tree-fileset-Bug-976.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_khqfd7h00 RnJvbSBhMzVlYTgzOGQ0YWQ1MTJiZjlmYTM5MWI3MDA5ZDcyZGI0MjNjYzE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEcmV3IEFkYW1zIDxkcmV3LmFkYW1zQG9yYWNsZS5jb20+CkRh dGU6IEZyaSwgMjAgTm92IDIwMjAgMTE6NDE6NDEgLTAzMDAKU3ViamVjdDogW1BBVENIXSBGaXgg ZmluZGluZyBmaWxlbGlzdCBmb3IgOnRyZWUgZmlsZXNldCAoQnVnIzk3NikKCiogbGlzcC9maWxl c2V0cy5lbCAoZmlsZXNldHMtZmlsZXMtdW5kZXIpOiBOZXcgZnVuY3Rpb24sIHVzZWQgdG8gZ2V0 CmFsbCBmaWxlcyBmb3IgYSA6dHJlZSBmaWxlc2V0LgooZmlsZXNldHMtZ2V0LWZpbGVsaXN0KTog VXNlIGl0LiAgTG9vayBmb3IgdGhlIGRpcmVjdG9yeSBhbmQgdGhlCnBhdHRlcm4gaW4gdGhlIHJp Z2h0IHBsYWNlIGluc2lkZSBlbnRyeS4KLS0tCiBsaXNwL2ZpbGVzZXRzLmVsIHwgMzcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDM0IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9maWxlc2V0cy5lbCBi L2xpc3AvZmlsZXNldHMuZWwKaW5kZXggYzdlYzNmNzdmNC4uODQxOTY1NjFmYyAxMDA2NDQKLS0t IGEvbGlzcC9maWxlc2V0cy5lbAorKysgYi9saXNwL2ZpbGVzZXRzLmVsCkBAIC0xNzE4LDkgKzE3 MTgsMTIgQEAgZmlsZXNldHMtZ2V0LWZpbGVsaXN0CiAJCQkJKGZpbGVzZXRzLWVudHJ5LWdldC1t YXN0ZXIgZW50cnkpKSkpKQogCQkgIChjb25zIGVudHJ5IChmaWxlc2V0cy1pbmdyb3VwLWNhY2hl LWdldCBlbnRyeSkpKSkKIAkgICAgICAgKDp0cmVlCi0JCShsZXQgKChkaXIgIChudGggMCBlbnRy eSkpCi0JCSAgICAgIChwYXR0IChudGggMSBlbnRyeSkpKQotCQkgIChmaWxlc2V0cy1kaXJlY3Rv cnktZmlsZXMgZGlyIHBhdHQgJzpmaWxlcyB0KSkpCisgICAgICAgICAgICAgICAgKGxldCogKChk aXJwYXR0IChmaWxlc2V0cy1lbnRyeS1nZXQtdHJlZSBlbnRyeSkpCisgICAgICAgICAgICAgICAg ICAgICAgIChkaXIgKG50aCAwIGRpcnBhdHQpKQorICAgICAgICAgICAgICAgICAgICAgICAocGF0 dCAobnRoIDEgZGlycGF0dCkpCisgICAgICAgICAgICAgICAgICAgICAgIChkZXB0aCAob3IgKGZp bGVzZXRzLWVudHJ5LWdldC10cmVlLW1heC1sZXZlbCBlbnRyeSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmaWxlc2V0cy10cmVlLW1heC1sZXZlbCkpKQorICAgICAgICAgICAg ICAgICAgKGZpbGVzZXRzLWZpbGVzLXVuZGVyIDAgZGVwdGggZW50cnkgZGlyIHBhdHQpKSkKIAkg ICAgICAgKDpwYXR0ZXJuCiAJCShsZXQgKChkaXJwYXR0IChmaWxlc2V0cy1lbnRyeS1nZXQtcGF0 dGVybiBlbnRyeSkpKQogCQkgIChpZiBkaXJwYXR0CkBAIC0xNzM0LDYgKzE3MzcsMzQgQEAgZmls ZXNldHMtZ2V0LWZpbGVsaXN0CiAJCQkgIChsYW1iZGEgKGZpbGUpCiAJCQkgICAgKG5vdCAoZmls ZXNldHMtZmlsZXR5cGUtcHJvcGVydHkgZmlsZSBldmVudCkpKSkpKQogCisoZGVmdW4gZmlsZXNl dHMtZmlsZXMtdW5kZXIgKGxldmVsIGRlcHRoIGVudHJ5IGRpciBwYXR0ICZvcHRpb25hbCByZWxh dGl2ZXApCisgICJGaWxlcyB1bmRlciBESVIgdGhhdCBtYXRjaCBQQVRULgorTEVWRUwgaXMgdGhl IGN1cnJlbnQgbGV2ZWwgdW5kZXIgRElSLgorREVQVEggaXMgdGhlIG1heGltYWwgdHJlZSBzY2Fu bmluZyBkZXB0aCBmb3IgRU5UUlkuCitFTlRSWSBpcyBhIGZpbGVzZXQuCitESVIgaXMgYSBkaXJl Y3RvcnkuCitQQVRUIGlzIGEgcmVnZXhwIHRoYXQgaW5jbHVkZWQgZmlsZSBuYW1lcyBtdXN0IG1h dGNoLgorUkVMQVRJVkVQIG5vbi1uaWwgbWVhbnMgdXNlIHJlbGF0aXZlIGZpbGUgbmFtZXMuIgor ICAoYW5kIChvciAoPSBkZXB0aCAwKSAoPCBsZXZlbCBkZXB0aCkpCisgICAgICAgKGxldCogKChk aXIgICAgICAgICAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSBkaXIpKQorICAgICAgICAgICAgICAo ZmlsZXMtaGVyZSAgKGZpbGVzZXRzLWRpcmVjdG9yeS1maWxlcworICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRpciBwYXR0IG5pbCAobm90IHJlbGF0aXZlcCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZmlsZXNldHMtZW50cnktZ2V0LWZpbHRlci1kaXJzLWZsYWcgZW50cnkpKSkK KyAgICAgICAgICAgICAgKHN1YmRpcnMgICAgIChmaWxlc2V0cy1maWx0ZXItZGlyLW5hbWVzIGZp bGVzLWhlcmUpKQorICAgICAgICAgICAgICAoZmlsZXMKKyAgICAgICAgICAgICAgIChmaWxlc2V0 cy1maWx0ZXItZGlyLW5hbWVzCisgICAgICAgICAgICAgICAgKGFwcGx5ICMnYXBwZW5kCisgICAg ICAgICAgICAgICAgICAgICAgIGZpbGVzLWhlcmUKKyAgICAgICAgICAgICAgICAgICAgICAgKG1h cGNhcgorICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoc3ViZGlyKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAobGV0KiAoKHN1YmRpciAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSBz dWJkaXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bGwtc3ViZGlyICAo Y29uY2F0IGRpciBzdWJkaXIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZXNl dHMtZmlsZXMtdW5kZXIgKCsgbGV2ZWwgMSkgZGVwdGggZW50cnkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbC1zdWJkaXIgcGF0dCkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgc3ViZGlycykpCisgICAgICAgICAgICAgICAgdCkpKQorICAg ICAgICAgZmlsZXMpKSkKKwogKGRlZnVuIGZpbGVzZXRzLW9wZW4gKCZvcHRpb25hbCBtb2RlIG5h bWUgbG9va3VwLW5hbWUpCiAgICJPcGVuIHRoZSBmaWxlc2V0IGNhbGxlZCBOQU1FLgogVXNlIExP T0tVUC1OQU1FIGZvciBzZWFyY2hpbmcgYWRkaXRpb25hbCBkYXRhIGlmIHByb3ZpZGVkLiIKLS0g CjIuMjkuMgoK --0000000000006a56c605b48ba6cc--