From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jackson Hamilton Newsgroups: gmane.emacs.devel Subject: Re: Requesting patch review Date: Sun, 8 Mar 2015 15:01:57 -0700 Message-ID: References: <54FC8D03.1060503@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a113d593aff57550510ce108b X-Trace: ger.gmane.org 1425852139 32322 80.91.229.3 (8 Mar 2015 22:02:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 8 Mar 2015 22:02:19 +0000 (UTC) Cc: emacs-devel To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 08 23:02:19 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YUjH8-0007Tr-OJ for ged-emacs-devel@m.gmane.org; Sun, 08 Mar 2015 23:02:19 +0100 Original-Received: from localhost ([::1]:40684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YUjH7-00033M-Qt for ged-emacs-devel@m.gmane.org; Sun, 08 Mar 2015 18:02:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YUjGq-00032L-Qy for emacs-devel@gnu.org; Sun, 08 Mar 2015 18:02:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YUjGo-00020S-Pl for emacs-devel@gnu.org; Sun, 08 Mar 2015 18:02:00 -0400 Original-Received: from mail-ob0-x234.google.com ([2607:f8b0:4003:c01::234]:38690) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YUjGo-00020N-I4 for emacs-devel@gnu.org; Sun, 08 Mar 2015 18:01:58 -0400 Original-Received: by obcuz6 with SMTP id uz6so3645519obc.5 for ; Sun, 08 Mar 2015 15:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=EvGR7z+Ik09dNKYE4S23GANu9QGsLoIBRSgBgtvAYpc=; b=vlu1W9dSOrdXGwbHtrgjqTNmvKDSt222lEQYWYMCe/ouf98TayHcrYaQy4vMLdC9jP NsaOnJr3Qux/mSuRhvUiF1Mxwe+YbOTWC+zA+MS6Jths/nXRGq/R7va/eOpnDneq4qfL EcMc7f0FedhcGGCUITvx6RGLt0ds60d2bwieD+DjEIeDopQyn7x0iL1B2GKl1fpQUXmf DKGqQvHje5ucdytjTaHv5xDosbpGzk6uyG7YPzRzFEiif64kpc5l6xXY7N19b5wwctRT mZj/c3Poy5pfDdhL3klstrcBVCVgpZX0AjUCYBvD8msHl6CJ/thNpzW+yFtdR+Jqbg9D 9DMA== X-Received: by 10.202.224.9 with SMTP id x9mr18220265oig.62.1425852118021; Sun, 08 Mar 2015 15:01:58 -0700 (PDT) Original-Received: by 10.76.195.8 with HTTP; Sun, 8 Mar 2015 15:01:57 -0700 (PDT) In-Reply-To: <54FC8D03.1060503@yandex.ru> X-Google-Sender-Auth: JTVJmi2xzUZjM2A9bU9BSSK3wOo X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c01::234 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:183735 Archived-At: --001a113d593aff57550510ce108b Content-Type: multipart/alternative; boundary=001a113d593aff57500510ce1089 --001a113d593aff57500510ce1089 Content-Type: text/plain; charset=ISO-8859-1 For the sake of continuity I'll send my next patch through this email thread, but in the future I will send them to the bug tracker. Refactored the code to be less tricky, added the additional level of configuration and ported the tests. (Note that I had to `cd test/indent` and use `make js.js.test EMACS='../../src/emacs -Q'` to get the tests to run in a clean and correct environment. We may want to update the Makefile to do that by default. On Sun, Mar 8, 2015 at 10:55 AM, Dmitry Gutov wrote: > On 03/08/2015 04:09 AM, Jackson Hamilton wrote: > > New patch for js-mode. Adds a new indentation option. I would appreciate >> review before merging. >> > > Thanks for the patch. > > I can see two directions for it to be improved: > > - Port the tests. I suppose test/indent/*.js would be a good place for the > examples. You can create js-???.js, set the new option's, value using file > local variables (in a comment, at the top or the bottom of the file), and > then the right indentation would be tested automatically. Run a single file > with 'make js.js.test'. > > - Add the option for the user to always have this indentation, no matter > if there's a comma after the first item or not. js2-mode can do that > (here's the original feature request: https://github.com/mooz/js2- > mode/issues/3). I suppose it'd be best if the new variable had a > different name and 3 possible values (nil - default, t - always, dynamic - > check to see if there are several declarations). > > By the way, in general it's better to send patches to the bug tracker. > They can get lost in emacs-devel if nobody pays attention right away. > --001a113d593aff57500510ce1089 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
For the sake of continuity I'll send my next patch thr= ough this email thread, but in the future I will send them to the bug track= er.

Refactored the code to be less tricky, added the add= itional level of configuration and ported the tests.

(Note that I had to `cd test/indent` and use `make js.js.test EMACS=3D&#= 39;../../src/emacs -Q'` to get the tests to run in a clean and correct = environment. We may want to update the Makefile to do that by default.

On Sun, Ma= r 8, 2015 at 10:55 AM, Dmitry Gutov <dgutov@yandex.ru> wrote:=
On 03/08/2015 04:09 AM,= Jackson Hamilton wrote:

New patch for js-mode. Adds a new indentation option. I would appreciate review before merging.

Thanks for the patch.

I can see two directions for it to be improved:

- Port the tests. I suppose test/indent/*.js would be a good place for the = examples. You can create js-???.js, set the new option's, value using f= ile local variables (in a comment, at the top or the bottom of the file), a= nd then the right indentation would be tested automatically. Run a single f= ile with 'make js.js.test'.

- Add the option for the user to always have this indentation, no matter if= there's a comma after the first item or not. js2-mode can do that (her= e's the original feature request: https://github.com/mooz/js2-mode/= issues/3). I suppose it'd be best if the new variable had a differe= nt name and 3 possible values (nil - default, t - always, dynamic - check t= o see if there are several declarations).

By the way, in general it's better to send patches to the bug tracker. = They can get lost in emacs-devel if nobody pays attention right away.

--001a113d593aff57500510ce1089-- --001a113d593aff57550510ce108b Content-Type: text/x-patch; charset=US-ASCII; name="0001-New-indentation-option-for-js-mode.patch" Content-Disposition: attachment; filename="0001-New-indentation-option-for-js-mode.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i70zis690 RnJvbSBkNDQxYmNiZmRkOTkyMGJiYTliNWFiYWVjNTFkZjE2NjliODgyMzMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNrc29uIFJheSBIYW1pbHRvbiA8amFja3NvbkBqYWNrc29u cmF5aGFtaWx0b24uY29tPgpEYXRlOiBTYXQsIDcgTWFyIDIwMTUgMTg6MDE6MDUgLTA4MDAKU3Vi amVjdDogW1BBVENIXSBOZXcgaW5kZW50YXRpb24gb3B0aW9uIGZvciBqcy1tb2RlCgoqIGxpc3Av cHJvZ21vZGVzL2pzLmVsIChqcy0tcHJvcGVyLWluZGVudGF0aW9uKTogQWRkIG5ldyBjdXN0b20g b3B0aW9uCmBqcy1pbmRlbnQtZmlyc3QtaW5pdGlhbGlzZXInLgoKKiB0ZXN0L2luZGVudC9qcy5q czogQWRkIGxvY2FsIHZhcmlhYmxlcy4KCiogdGVzdC9pbmRlbnQvanMtaW5kZW50LWZpcnN0LWlu aXRpYWxpc2VyLXQuanM6IE5ldyB0ZXN0IGZvcgpganMtaW5kZW50LWZpcnN0LWluaXRpYWxpc2Vy Jy4KCiogdGVzdC9pbmRlbnQvanMtaW5kZW50LWZpcnN0LWluaXRpYWxpc2VyLWR5bmFtaWMuanM6 IE5ldyB0ZXN0IGZvcgpganMtaW5kZW50LWZpcnN0LWluaXRpYWxpc2VyJy4KLS0tCiBsaXNwL0No YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysKIGxp c3AvcHJvZ21vZGVzL2pzLmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNjggKysr KysrKysrKysrKysrKysrKwogdGVzdC9pbmRlbnQvanMtaW5kZW50LWZpcnN0LWluaXRpYWxpc2Vy LWR5bmFtaWMuanMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2luZGVudC9qcy1p bmRlbnQtZmlyc3QtaW5pdGlhbGlzZXItdC5qcyAgICAgICB8IDY5ICsrKysrKysrKysrKysrKysr KysKIHRlc3QvaW5kZW50L2pzLmpzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDcgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMjMzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9pbmRlbnQvanMtaW5kZW50LWZpcnN0LWluaXRpYWxp c2VyLWR5bmFtaWMuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2luZGVudC9qcy1pbmRlbnQt Zmlyc3QtaW5pdGlhbGlzZXItdC5qcwoKZGlmZiAtLWdpdCBhL2xpc3AvQ2hhbmdlTG9nIGIvbGlz cC9DaGFuZ2VMb2cKaW5kZXggNWYyNjIzOS4uZjVkYWNmMCAxMDA2NDQKLS0tIGEvbGlzcC9DaGFu Z2VMb2cKKysrIGIvbGlzcC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMy0wOCAg SmFja3NvbiBSYXkgSGFtaWx0b24gIDxqYWNrc29uQGphY2tzb25yYXloYW1pbHRvbi5jb20+CisK KwkqIGxpc3AvcHJvZ21vZGVzL2pzLmVsIChqcy0tcHJvcGVyLWluZGVudGF0aW9uKTogQWRkIG5l dyBjdXN0b20KKwlvcHRpb24gYGpzLWluZGVudC1maXJzdC1pbml0aWFsaXNlcicuCisKKwkqIHRl c3QvaW5kZW50L2pzLmpzOiBBZGQgbG9jYWwgdmFyaWFibGVzLgorCisJKiB0ZXN0L2luZGVudC9q cy1pbmRlbnQtZmlyc3QtaW5pdGlhbGlzZXItdC5qczogTmV3IHRlc3QgZm9yCisJYGpzLWluZGVu dC1maXJzdC1pbml0aWFsaXNlcicuCisKKwkqIHRlc3QvaW5kZW50L2pzLWluZGVudC1maXJzdC1p bml0aWFsaXNlci1keW5hbWljLmpzOiBOZXcgdGVzdCBmb3IKKwlganMtaW5kZW50LWZpcnN0LWlu aXRpYWxpc2VyJy4KKwogMjAxNS0wMy0wOCAgRG1pdHJ5IEd1dG92ICA8ZGd1dG92QHlhbmRleC5y dT4KIAogCSogcHJvZ21vZGVzL3J1YnktbW9kZS5lbCAocnVieS1mb250LWxvY2sta2V5d29yZHMp OiBVc2UKZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL2pzLmVsIGIvbGlzcC9wcm9nbW9kZXMv anMuZWwKaW5kZXggZDc3MTJlNC4uODc5ZTNmYiAxMDA2NDQKLS0tIGEvbGlzcC9wcm9nbW9kZXMv anMuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMvanMuZWwKQEAgLTUwOSw2ICs1MDksNTAgQEAgZ2V0 dGluZyB0aW1lb3V0IG1lc3NhZ2VzLiIKICAgOnR5cGUgJ2ludGVnZXIKICAgOmdyb3VwICdqcykK IAorKGRlZmN1c3RvbSBqcy1pbmRlbnQtZmlyc3QtaW5pdGlhbGlzZXIgbmlsCisgICJTcGVjaWFs bHkgaW5kZW50IHRoZSBmaXJzdCB2YXJpYWJsZSBkZWNsYXJhdGlvbidzIGluaXRpYWxpc2VyCitp biB2YXJpYWJsZSBzdGF0ZW1lbnRzLgorCitOb3JtYWxseSwgdGhlIGZpcnN0IGRlY2xhcmF0aW9u J3MgaW5pdGlhbGlzZXIgaXMgdW5pbmRlbnRlZCwgYW5kCitzdWJzZXF1ZW50IGRlY2xhcmF0aW9u cyBoYXZlIHRoZWlyIGlkZW50aWZpZXJzIGxpbmVkIHVwIGFnYWluc3QKK3RoZSBmaXJzdDoKKwor ICB2YXIgbyA9IHsKKyAgICAgIGZvbzogMworICB9OworCisgIHZhciBvID0geworICAgICAgZm9v OiAzCisgIH0sCisgICAgICBiYXIgPSAyOworCitXaGVuIHQsIGFsd2F5cyBpbmRlbnQgdGhlIGZp cnN0IGRlY2xhcmF0aW9uJ3MgaW5pdGlhbGlzZXIgYnkgYW4KK2FkZGl0aW9uYWwgbGV2ZWw6CisK KyAgdmFyIG8gPSB7CisgICAgICAgICAgZm9vOiAzCisgICAgICB9OworCisgIHZhciBvID0gewor ICAgICAgICAgIGZvbzogMworICAgICAgfSwKKyAgICAgIGJhciA9IDI7CisKK1doZW4gYGR5bmFt aWMnLCBpZiB0aGVyZSBpcyBvbmx5IG9uZSBkZWNsYXJhdGlvbiwgZG9uJ3QgaW5kZW50Cit0aGUg Zmlyc3Qgb25lJ3MgaW5pdGlhbGlzZXI7IG90aGVyd2lzZSwgaW5kZW50IGl0LgorCisgIHZhciBv ID0geworICAgICAgZm9vOiAzCisgIH07CisKKyAgdmFyIG8gPSB7CisgICAgICAgICAgZm9vOiAz CisgICAgICB9LAorICAgICAgYmFyID0gMjsiCisgIDp0eXBlICdib29sZWFuCisgIDpzYWZlICdz eW1ib2xwCisgIDpncm91cCAnanMpCisKIDs7OyBLZXlNYXAKIAogKGRlZnZhciBqcy1tb2RlLW1h cApAQCAtMTg5MSw2ICsxOTM1LDMwIEBAIEluIHBhcnRpY3VsYXIsIHJldHVybiB0aGUgYnVmZmVy IHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBgZm9yJyBrd2QuIgogICAgICAgICAgICAgICAgICAgIChz a2lwLXN5bnRheC1iYWNrd2FyZCAiICIpCiAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGVxIChj aGFyLWJlZm9yZSkgP1wpKSAoYmFja3dhcmQtbGlzdCkpCiAgICAgICAgICAgICAgICAgICAgKGJh Y2stdG8taW5kZW50YXRpb24pCisgICAgICAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAg ICAgICAgICAgKChlcSBqcy1pbmRlbnQtZmlyc3QtaW5pdGlhbGlzZXIgdCkKKyAgICAgICAgICAg ICAgICAgICAgICh3aGVuIChsb29raW5nLWF0IGpzLS1kZWNsYXJhdGlvbi1rZXl3b3JkLXJlKQor ICAgICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyICgxKyAobWF0Y2gtZW5kIDApKSkpKQor ICAgICAgICAgICAgICAgICAgICAoKGVxIGpzLWluZGVudC1maXJzdC1pbml0aWFsaXNlciAnZHlu YW1pYykKKyAgICAgICAgICAgICAgICAgICAgIChsZXQgKChicmFja2V0IChudGggMSBwYXJzZS1z dGF0dXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjbGFyYXRpb24ta2V5d29yZC1l bmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0LWNsb3NpbmctYnJhY2tldC1wCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb21tYS1wKQorICAgICAgICAgICAgICAgICAgICAgICAo d2hlbiAobG9va2luZy1hdCBqcy0tZGVjbGFyYXRpb24ta2V5d29yZC1yZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAoc2V0cSBkZWNsYXJhdGlvbi1rZXl3b3JkLWVuZCAobWF0Y2gtZW5kIDAp KQorICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGdvdG8tY2hhciBicmFja2V0KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNldHEgYXQtY2xvc2luZy1icmFja2V0LXAKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChmb3J3YXJkLXNleHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IgbmlsKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAod2hlbiBhdC1jbG9zaW5nLWJyYWNrZXQtcAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAod2hpbGUgKGZvcndhcmQtY29tbWVudCAxKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgY29tbWEtcCAobG9va2luZy1hdC1wICIsIikp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiBjb21tYS1wCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAoZ290by1jaGFyICgxKyBkZWNsYXJhdGlvbi1rZXl3b3JkLWVuZCkpKSkp KSkKICAgICAgICAgICAgICAgICAgICAobGV0KiAoKGluLXN3aXRjaC1wICh1bmxlc3Mgc2FtZS1p bmRlbnQtcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9va2lu Zy1hdCAiXFxfPHN3aXRjaFxcXz4iKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYW1l LWluZGVudC1wIChvciBzYW1lLWluZGVudC1wCmRpZmYgLS1naXQgYS90ZXN0L2luZGVudC9qcy1p bmRlbnQtZmlyc3QtaW5pdGlhbGlzZXItZHluYW1pYy5qcyBiL3Rlc3QvaW5kZW50L2pzLWluZGVu dC1maXJzdC1pbml0aWFsaXNlci1keW5hbWljLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmEwZTFhZDEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2luZGVudC9qcy1pbmRl bnQtZmlyc3QtaW5pdGlhbGlzZXItZHluYW1pYy5qcwpAQCAtMCwwICsxLDc4IEBACit2YXIgZm9v ID0gZnVuY3Rpb24oKSB7CisgIHJldHVybiA3OworfTsKKwordmFyIGZvbyA9IGZ1bmN0aW9uKCkg eworICAgICAgcmV0dXJuIDc7CisgICAgfSwKKyAgICBiYXIgPSA4OworCit2YXIgZm9vID0gZnVu Y3Rpb24oKSB7CisgICAgICByZXR1cm4gNzsKKyAgICB9LAorICAgIGJhciA9IGZ1bmN0aW9uKCkg eworICAgICAgcmV0dXJuIDg7CisgICAgfTsKKwordmFyIGZvbyA9IFsKKyAgNworXTsKKwordmFy IGZvbyA9IFsKKyAgICAgIDcKKyAgICBdLAorICAgIGJhciA9IDg7CisKK3ZhciBmb28gPSBbCisg ICAgICA3CisgICAgXSwKKyAgICBiYXIgPSBbCisgICAgICA4CisgICAgXTsKKwordmFyIG8gPSB7 CisgIGZvbzogMworfTsKKwordmFyIG8gPSB7CisgICAgICBmb286IDMKKyAgICB9LAorICAgIGJh ciA9IDI7CisKK3ZhciBvID0geworICAgICAgZm9vOiAzCisgICAgfSwKKyAgICBiYXIgPSB7Cisg ICAgICBiYXo6IDIKKyAgICB9OworCitjb25zdCBvID0geworICBmb286IDMKK307CisKK2NvbnN0 IG8gPSB7CisgICAgICAgIGZvbzogMworICAgICAgfSwKKyAgICAgIGJhciA9IDI7CisKK2NvbnN0 IG8gPSB7CisgICAgICAgIGZvbzogMworICAgICAgfSwKKyAgICAgIGJhciA9IHsKKyAgICAgICAg YmF6OiAyCisgICAgICB9OworCisvLyBMb2NhbCBWYXJpYWJsZXM6CisvLyBpbmRlbnQtdGFicy1t b2RlOiBuaWwKKy8vIGpzLWluZGVudC1sZXZlbDogMgorLy8ganMtaW5kZW50LWZpcnN0LWluaXRp YWxpc2VyOiBkeW5hbWljCisvLyBFbmQ6CisKKy8vIFRoZSBmb2xsb3dpbmcgdGVzdCBpbnRlbnRp b25hbGx5IHByb2R1Y2VzIGEgc2NhbiBlcnJvciBhbmQgc2hvdWxkCisvLyBiZSBwbGFjZWQgYmVs b3cgYWxsIG90aGVyIHRlc3RzIHRvIHByZXZlbnQgYXdrd2FyZCBpbmRlbnRhdGlvbi4KKy8vIChJ dCBzdGlsbCB0aGlua3MgaXQncyB3aXRoaW4gdGhlIGJvZHkgb2YgYSBmdW5jdGlvbi4pCisKK3Zh ciBmb28gPSBmdW5jdGlvbigpIHsKKyAgcmV0dXJuIDc7CisgICwKKyAgYmFyID0gODsKZGlmZiAt LWdpdCBhL3Rlc3QvaW5kZW50L2pzLWluZGVudC1maXJzdC1pbml0aWFsaXNlci10LmpzIGIvdGVz dC9pbmRlbnQvanMtaW5kZW50LWZpcnN0LWluaXRpYWxpc2VyLXQuanMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uYjAyNjUwMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvaW5k ZW50L2pzLWluZGVudC1maXJzdC1pbml0aWFsaXNlci10LmpzCkBAIC0wLDAgKzEsNjkgQEAKK3Zh ciBmb28gPSBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiA3OworICAgIH07CisKK3ZhciBmb28g PSBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiA3OworICAgIH0sCisgICAgYmFyID0gODsKKwor dmFyIGZvbyA9IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIDc7CisgICAgfSwKKyAgICBiYXIg PSBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiA4OworICAgIH07CisKK3ZhciBmb28gPSBbCisg ICAgICA3CisgICAgXTsKKwordmFyIGZvbyA9IFsKKyAgICAgIDcKKyAgICBdLAorICAgIGJhciA9 IDg7CisKK3ZhciBmb28gPSBbCisgICAgICA3CisgICAgXSwKKyAgICBiYXIgPSBbCisgICAgICA4 CisgICAgXTsKKwordmFyIG8gPSB7CisgICAgICBmb286IDMKKyAgICB9OworCit2YXIgbyA9IHsK KyAgICAgIGZvbzogMworICAgIH0sCisgICAgYmFyID0gMjsKKwordmFyIG8gPSB7CisgICAgICBm b286IDMKKyAgICB9LAorICAgIGJhciA9IHsKKyAgICAgIGJhejogMgorICAgIH07CisKK2NvbnN0 IG8gPSB7CisgICAgICAgIGZvbzogMworICAgICAgfTsKKworY29uc3QgbyA9IHsKKyAgICAgICAg Zm9vOiAzCisgICAgICB9LAorICAgICAgYmFyID0gMjsKKworY29uc3QgbyA9IHsKKyAgICAgICAg Zm9vOiAzCisgICAgICB9LAorICAgICAgYmFyID0geworICAgICAgICBiYXo6IDIKKyAgICAgIH07 CisKKy8vIExvY2FsIFZhcmlhYmxlczoKKy8vIGluZGVudC10YWJzLW1vZGU6IG5pbAorLy8ganMt aW5kZW50LWxldmVsOiAyCisvLyBqcy1pbmRlbnQtZmlyc3QtaW5pdGlhbGlzZXI6IHQKKy8vIEVu ZDoKZGlmZiAtLWdpdCBhL3Rlc3QvaW5kZW50L2pzLmpzIGIvdGVzdC9pbmRlbnQvanMuanMKaW5k ZXggZjQxODQ5ZC4uYWQ3Y2I1NiAxMDA2NDQKLS0tIGEvdGVzdC9pbmRlbnQvanMuanMKKysrIGIv dGVzdC9pbmRlbnQvanMuanMKQEAgLTEsNSArMSwzIEBACi0vLyAtKi0ganMtaW5kZW50LWxldmVs OiAyIC0qLQotCiB2YXIgYSA9IDE7CiBiID0gMjsKIApAQCAtNjUsMyArNjMsOCBAQCBiICs9CiAK IGJheihgaHR0cDovL2Zvby5iYXIvJHt0ZWV9YCkKICAgLnF1eCgpOworCisvLyBMb2NhbCBWYXJp YWJsZXM6CisvLyBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKy8vIGpzLWluZGVudC1sZXZlbDogMgor Ly8gRW5kOgotLSAKMS45LjEKCg== --001a113d593aff57550510ce108b--