From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jose Arroyo Newsgroups: gmane.emacs.bugs Subject: bug#32920: Patch: Add variable json-pretty-print-max-indentation-level to allow more flexibility when pretty-printing json Date: Wed, 3 Oct 2018 17:08:47 +0200 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000e9f0ad0577546aef" X-Trace: blaine.gmane.org 1538580291 17894 195.159.176.226 (3 Oct 2018 15:24:51 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 3 Oct 2018 15:24:51 +0000 (UTC) To: 32920@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 03 17:24:47 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g7j14-0004YD-CX for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Oct 2018 17:24:46 +0200 Original-Received: from localhost ([::1]:49343 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7j3A-00055E-Tn for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Oct 2018 11:26:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51306) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7ixT-0000gW-L4 for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:21:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7ixS-0001ib-M2 for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:21:03 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:59742) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g7ixS-0001iR-Gq for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:21:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g7ixS-0002oY-AU for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:21:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jose Arroyo Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Oct 2018 15:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32920 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.153858003910767 (code B ref -1); Wed, 03 Oct 2018 15:21:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 3 Oct 2018 15:20:39 +0000 Original-Received: from localhost ([127.0.0.1]:35767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g7ix4-0002nb-J9 for submit@debbugs.gnu.org; Wed, 03 Oct 2018 11:20:38 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g7im0-0002Wx-5q for submit@debbugs.gnu.org; Wed, 03 Oct 2018 11:09:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7ils-00042f-W3 for submit@debbugs.gnu.org; Wed, 03 Oct 2018 11:09:06 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:48815) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g7ilq-00041Z-BD for submit@debbugs.gnu.org; Wed, 03 Oct 2018 11:09:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47382) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7ilo-00046Y-J3 for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:09:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7iln-00040k-LO for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:09:00 -0400 Original-Received: from mail-it1-x12f.google.com ([2607:f8b0:4864:20::12f]:54348) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g7iln-00040R-Br for bug-gnu-emacs@gnu.org; Wed, 03 Oct 2018 11:08:59 -0400 Original-Received: by mail-it1-x12f.google.com with SMTP id l191-v6so8757971ita.4 for ; Wed, 03 Oct 2018 08:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=h9OyB/C5uUEyVBe5wjaJpld1vUy3OueHCDnWl1X3fMU=; b=Iygh5jckU9nd2m1vvT1jc2zqf0QU+FFwCBFPvM2OOiUEq6Sl18MZsCaCM/ofCAgFTx VRgyABNiU2H3WP2tSnkAOdJIK13Ycd0ZXISNpk5KZqkwPrTTQC0dW5pBwF8spaqrthIO YWmxYBqQv0vw8zit0QUsXnhKJFKkfcW1milRUvil9faJRCqVILHd21ROggczUsSXswic fXF+VACkQ/6x4+T0e7Pq4+tn39Naevjsm+anzD+UU29oi6OcDqNiTEr6ZSIQiYaccVQN TJtVBo7nViDgt+dgbNvVMF7qGv5SV4YtGM1Kr2B/pa/lnKaxoucgiK43wdDNpvGkcyP3 YO6A== 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; bh=h9OyB/C5uUEyVBe5wjaJpld1vUy3OueHCDnWl1X3fMU=; b=LMXaSxsaf6p1U8cx6czPoP5NM445/8u+kAEYzoqLa3VLWyVbgVnsZF7LrqGdmx3M+R V12526qUfxi0lUDx08rMj5XEhdzhS5ROj7LHAtwzLj3gQFkRwzHnzLYPgTHLincTYTrX jxbiQqIdaAiIzro4fFzid2DY7nTRDLQlP1UlOfD4aKfFMtvkY+9wjU2Mt5OqeDDDBfmj pbLqJmOBGSSLVv9gZsf9ldwfLFee7hJbNmYfI6R2+DFRbnDr8ZgwGwpz7A3UKicFNF+5 +XO6PrHdRLZOBRKyK+BboRyMF+5f48x7KHU2chzBvEZTdMTaxcHVfAEpi4I+CirXoS8U g3EQ== X-Gm-Message-State: ABuFfoi8IuGWkX7CpXDuUaphhkHqgJbqwePTII7/oJ09FdJyvSwl9Nc0 nmR32OL2iSExFC4cjWYM8m0IKOXqx84uCHApfXlzJ3fe X-Google-Smtp-Source: ACcGV63PHa8FkvgHO8Kg9bPXEiRpjvsSeZoaSFuy2Fr7rogDF0yi3ib1IDti8j5iqZDlWqz+ceQDX42Ns9RflYOtnVI= X-Received: by 2002:a24:7f87:: with SMTP id r129-v6mr1598290itc.107.1538579338214; Wed, 03 Oct 2018 08:08:58 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Mailman-Approved-At: Wed, 03 Oct 2018 11:20:35 -0400 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: 208.118.235.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:150913 Archived-At: --000000000000e9f0ad0577546aef Content-Type: multipart/alternative; boundary="000000000000e9f0aa0577546aed" --000000000000e9f0aa0577546aed Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello everyone, I came across a use-case when pretty-printing nested JSON objects. The current json-pretty-print function currently only supports unnesting and indenting all levels of nesting in a JSON object. I came across a case where I only wanted to unnest a single level. I added a new variable (json-pretty-print-max-indentation-level) that allows controlling the number of unnests performed by json-pretty-print. E.g: (defun my/json-flatten-object-one-level (begin end) "(my/json-flatten-object-one-level BEGIN END) Pretty-print selected region but only one level." (interactive "r") (let ((json-pretty-print-max-indentation-level 1)) (json-pretty-print begin end))) For example, if we have the following json {"firstKey": {"46": "0"},"secondKey": {"46": [[[[0,0],0],0],0]},"thirdKey": {"46": 0}} The current json-pretty-print outputs: { "firstKey": { "46": "0" }, "secondKey": { "46": [ [ [ [ 0, 0 ], 0 ], 0 ], 0 ] }, "thirdKey": { "46": 0 } } Whereas my/json-flatten-object-one-level would output: { "firstKey": {"46": "0"}, "secondKey": {"46": [[[[0,0],0],0],0]}, "thirdKey": {"46": 0} } I've attached the patch for this, it's still missing the NEWS entries and such. However, I'm a noob in elisp and the current implementation feels kinda wrong. When json-pretty-print-max-indentation-level is set to 0, we ignore it by decrementing it continously so we get into the negative numbers and the check in json--with-indentation "just works" because json-pretty-print-max-indentation-level is not 0. So given that it is now a negative number, it'll never be 0 again (unless there is a gigantic json that makes it overflow :p) so any number of nested entities are pretty-printed. I imagine this is not good enough but I haven't figured out something better. Is there a better way to do this? Any pointers? Thank you Jos=C3=A9 PS: Would this kind of patch require me to sign some papers for contributing? --000000000000e9f0aa0577546aed Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello everyone,

I came across a use-case when pretty-printing nested = JSON objects. The current
json-pretty-print function currently on= ly supports unnesting and indenting all
levels of nesting in a JS= ON object. I came across a case where I only wanted to
unnest a s= ingle level.

I added a new variable (json-pre= tty-print-max-indentation-level) that allows controlling
the numb= er of unnests performed by json-pretty-print.

E.g:
(defun my/json-flatten-object-one-level (begin end)
<= div>=C2=A0 "(my/json-flatten-object-one-level BEGIN END) Pretty-print = selected region but only one level."
=C2=A0 (interactive &qu= ot;r")
=C2=A0 (let ((json-pretty-print-max-indentation-level= 1))
=C2=A0 =C2=A0 (json-pretty-print begin end)))

=
For example, if we have the following json
{"firs= tKey": {"46": "0"},"secondKey": {"4= 6": [[[[0,0],0],0],0]},"thirdKey": {"46": 0}}

The current json-pretty-print outputs:
{
=C2=A0 "firstKey": {
=C2=A0 =C2=A0 "46"= ;: "0"
=C2=A0 },
=C2=A0 "secondKey"= : {
=C2=A0 =C2=A0 "46": [
=C2=A0 =C2=A0 =C2= =A0 [
=C2=A0 =C2=A0 =C2=A0 =C2=A0 [
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 [
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0,<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 ],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ],
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 0
=C2=A0 =C2=A0 =C2=A0 ],
=C2=A0 =C2=A0 =C2=A0 0
=C2=A0 =C2=A0 ]
=C2=A0 },
=C2=A0 "thirdKey= ": {
=C2=A0 =C2=A0 "46": 0
=C2=A0 }
}

Whereas my/json-flatten-object-one-level w= ould output:
{
=C2=A0 "firstKey": {"46&q= uot;: "0"},
=C2=A0 "secondKey": {"46&quo= t;: [[[[0,0],0],0],0]},
=C2=A0 "thirdKey": {"46&qu= ot;: 0}
}

I've attached the patch fo= r this, it's still missing the NEWS entries and such.
However= , I'm a noob in elisp and the current implementation feels kinda wrong.=
When json-pretty-print-max-indentation-level is set to 0, we ign= ore it by
decrementing it continously so we get into the negative= numbers and the check in
json--with-indentation "just works= " because json-pretty-print-max-indentation-level
is not 0. = So given that it is now a negative number, it'll never be 0 again (unle= ss
there is a gigantic json that makes it overflow :p) so any num= ber of nested entities
are pretty-printed.

I imagine this is not good enough but I haven't figured out somethin= g better.
Is there a better way to do this? Any pointers?

Thank you

Jos=C3=A9
PS: Would this kind of patch require me to sign some papers fo= r contributing?
--000000000000e9f0aa0577546aed-- --000000000000e9f0ad0577546aef Content-Type: application/octet-stream; name="0001-Add-new-variable-json-pretty-print-max-indentation-l.patch" Content-Disposition: attachment; filename="0001-Add-new-variable-json-pretty-print-max-indentation-l.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jmtaadzf0 RnJvbSA1ODg0NjkwYTQwY2ZjMzVjODAyMTEzOWYxODIyOGQ5NDgwMTFkMTUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NlIE0gQXJyb3lvIDxqb3NlLm0uYXJyb3lvLnNlQGdtYWls LmNvbT4KRGF0ZTogV2VkLCAzIE9jdCAyMDE4IDE3OjAzOjM1ICswMjAwClN1YmplY3Q6IFtQQVRD SF0gQWRkIG5ldyB2YXJpYWJsZSBqc29uLXByZXR0eS1wcmludC1tYXgtaW5kZW50YXRpb24tbGV2 ZWwKClRoaXMgYWxsb3dzIG1vcmUgZmxleGliaWxpdHkgd2hlbiBwcmV0dHktcHJpbnRpbmcganNv biBvYmplY3RzIHdpdGgKbWFueSBuZXN0ZWQgbGV2ZWxzLgotLS0KIGxpc3AvanNvbi5lbCB8IDMw ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI0IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9qc29uLmVsIGIvbGlz cC9qc29uLmVsCmluZGV4IDExMmYyNjk0NGIuLjcwMWZhNmI0ODMgMTAwNjQ0Ci0tLSBhL2xpc3Av anNvbi5lbAorKysgYi9saXNwL2pzb24uZWwKQEAgLTEzMSw2ICsxMzEsMTEgQEAgdGhlIGN1cnJl bnQgSlNPTiBrZXkuIikKIGBqc29uLXJlYWQtb2JqZWN0JyByaWdodCBhZnRlciByZWFkaW5nIGEg SlNPTiBhcnJheSBvciBvYmplY3QsCiByZXNwZWN0aXZlbHkuIikKIAorKGRlZnZhciBqc29uLXBy ZXR0eS1wcmludC1tYXgtaW5kZW50YXRpb24tbGV2ZWwgMAorICAiSWYgPiAwLCBkZWZpbmVzIHRo ZSBtYXhpbXVtIG51bWJlciBvZiBuZXN0ZWQgZW50aXRpZXMgdGhhdAord2lsbCBiZSBpbmRlbnRl ZCB3aGVuIHByZXR0eS1wcmludGVkLgorVXNlZCBvbmx5IHdoZW4gYGpzb24tZW5jb2RpbmctcHJl dHR5LXByaW50JyBpcyBub24tbmlsIikKKwogDAogCiA7OzsgVXRpbGl0aWVzCkBAIC0xNzgsMTEg KzE4MywyMCBAQCBVbmxpa2UgYHJldmVyc2UnLCB0aGlzIGtlZXBzIHRoZSBwcm9wZXJ0eS12YWx1 ZSBwYWlycyBpbnRhY3QuIgogICAgIChucmV2ZXJzZSByZXMpKSkKIAogKGRlZm1hY3JvIGpzb24t LXdpdGgtaW5kZW50YXRpb24gKGJvZHkpCi0gIGAobGV0ICgoanNvbi0tZW5jb2RpbmctY3VycmVu dC1pbmRlbnRhdGlvbgotICAgICAgICAgIChpZiBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludAot ICAgICAgICAgICAgICAoY29uY2F0IGpzb24tLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24K LSAgICAgICAgICAgICAgICAgICAgICBqc29uLWVuY29kaW5nLWRlZmF1bHQtaW5kZW50YXRpb24p Ci0gICAgICAgICAgICAiIikpKQorICBgKGxldCogKChqc29uLS1lbmNvZGluZy1jdXJyZW50LWlu ZGVudGF0aW9uCisgICAgICAgICAgIChpZiAoYW5kCisgICAgICAgICAgICAgICAganNvbi1lbmNv ZGluZy1wcmV0dHktcHJpbnQKKyAgICAgICAgICAgICAgICAoLz0ganNvbi1wcmV0dHktcHJpbnQt bWF4LWluZGVudGF0aW9uLWxldmVsIDApKQorICAgICAgICAgICAgICAgKGNvbmNhdCBqc29uLS1l bmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgIGpzb24t ZW5jb2RpbmctZGVmYXVsdC1pbmRlbnRhdGlvbikKKyAgICAgICAgICAgICAiIikpCisgICAgICAg ICAgKGpzb24tcHJldHR5LXByaW50LW1heC1pbmRlbnRhdGlvbi1sZXZlbAorICAgICAgICAgICAo aWYgKGFuZAorICAgICAgICAgICAgICAgIGpzb24tZW5jb2RpbmctcHJldHR5LXByaW50CisgICAg ICAgICAgICAgICAgKC89IGpzb24tcHJldHR5LXByaW50LW1heC1pbmRlbnRhdGlvbi1sZXZlbCAw KSkKKyAgICAgICAgICAgICAgICgtIGpzb24tcHJldHR5LXByaW50LW1heC1pbmRlbnRhdGlvbi1s ZXZlbCAxKQorICAgICAgICAgICAgIDAKKyAgICAgICAgICAgICApKSkKICAgICAgLGJvZHkpKQog CiA7OyBSZWFkZXIgdXRpbGl0aWVzCkBAIC01NTEsNiArNTY1LDcgQEAgUGxlYXNlIHNlZSB0aGUg ZG9jdW1lbnRhdGlvbiBvZiBganNvbi1vYmplY3QtdHlwZScgYW5kIGBqc29uLWtleS10eXBlJy4i CiAgICAgICAgICAgICAgICByKQogICAgICAgICAgICAgIGpzb24tZW5jb2Rpbmctc2VwYXJhdG9y KQogICAgICAgICAgICAgKGlmIChvciAobm90IGpzb24tZW5jb2RpbmctcHJldHR5LXByaW50KQor ICAgICAgICAgICAgICAgICAgICAoPSBqc29uLXByZXR0eS1wcmludC1tYXgtaW5kZW50YXRpb24t bGV2ZWwgMCkKICAgICAgICAgICAgICAgICAgICAganNvbi1lbmNvZGluZy1saXNwLXN0eWxlLWNs b3NpbmdzKQogICAgICAgICAgICAgICAgICIiCiAgICAgICAgICAgICAgIGpzb24tLWVuY29kaW5n LWN1cnJlbnQtaW5kZW50YXRpb24pKSkpCkBAIC01NzcsNiArNTkyLDcgQEAgUGxlYXNlIHNlZSB0 aGUgZG9jdW1lbnRhdGlvbiBvZiBganNvbi1vYmplY3QtdHlwZScgYW5kIGBqc29uLWtleS10eXBl Jy4iCiAgICAgICAgICAgICAgICAgICAgIGFsaXN0KSkKICAgICAgICAgICAganNvbi1lbmNvZGlu Zy1zZXBhcmF0b3IpCiAgICAgICAgICAgKGlmIChvciAobm90IGpzb24tZW5jb2RpbmctcHJldHR5 LXByaW50KQorICAgICAgICAgICAgICAgICAgKD0ganNvbi1wcmV0dHktcHJpbnQtbWF4LWluZGVu dGF0aW9uLWxldmVsIDApCiAgICAgICAgICAgICAgICAgICBqc29uLWVuY29kaW5nLWxpc3Atc3R5 bGUtY2xvc2luZ3MpCiAgICAgICAgICAgICAgICIiCiAgICAgICAgICAgICBqc29uLS1lbmNvZGlu Zy1jdXJyZW50LWluZGVudGF0aW9uKSkpCkBAIC02MDAsNiArNjE2LDcgQEAgUGxlYXNlIHNlZSB0 aGUgZG9jdW1lbnRhdGlvbiBvZiBganNvbi1vYmplY3QtdHlwZScgYW5kIGBqc29uLWtleS10eXBl Jy4iCiAgICAgICAoY29uY2F0ICJ7IgogICAgICAgICAgICAgICAoanNvbi1qb2luIChucmV2ZXJz ZSByZXN1bHQpIGpzb24tZW5jb2Rpbmctc2VwYXJhdG9yKQogICAgICAgICAgICAgICAoaWYgKGFu ZCBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludAorICAgICAgICAgICAgICAgICAgICAgICAoLz0g anNvbi1wcmV0dHktcHJpbnQtbWF4LWluZGVudGF0aW9uLWxldmVsIDApCiAgICAgICAgICAgICAg ICAgICAgICAgIChub3QganNvbi1lbmNvZGluZy1saXNwLXN0eWxlLWNsb3NpbmdzKSkKICAgICAg ICAgICAgICAgICAgIGpzb24tLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24KICAgICAgICAg ICAgICAgICAiIikKQEAgLTY1OCw3ICs2NzUsOCBAQCBiZWNvbWUgSlNPTiBvYmplY3RzLiIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb24tZW5jb2Rpbmctc2VwYXJhdG9y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uLS1lbmNvZGluZy1jdXJy ZW50LWluZGVudGF0aW9uKSkpKQogICAgICAgIChmb3JtYXQgIiVzXSIKLSAgICAgICAgICAgICAg IChpZiBqc29uLWVuY29kaW5nLWxpc3Atc3R5bGUtY2xvc2luZ3MKKyAgICAgICAgICAgICAgIChp ZiAob3IganNvbi1lbmNvZGluZy1saXNwLXN0eWxlLWNsb3NpbmdzCisgICAgICAgICAgICAgICAg ICAgICAgICg9IGpzb24tcHJldHR5LXByaW50LW1heC1pbmRlbnRhdGlvbi1sZXZlbCAwKSkKICAg ICAgICAgICAgICAgICAgICAiIgogICAgICAgICAgICAgICAgICBqc29uLS1lbmNvZGluZy1jdXJy ZW50LWluZGVudGF0aW9uKSkpCiAgICAgKGNvbmNhdCAiWyIKLS0gCjIuMTUuMiAoQXBwbGUgR2l0 LTEwMS4xKQoK --000000000000e9f0ad0577546aef--