From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jackson Hamilton Newsgroups: gmane.emacs.bugs Subject: bug#21799: Requesting review for change to js.el Date: Sat, 31 Oct 2015 02:37:33 -0700 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11330ab42b73e10523634ba9 X-Trace: ger.gmane.org 1446284359 32073 80.91.229.3 (31 Oct 2015 09:39:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 31 Oct 2015 09:39:19 +0000 (UTC) To: 21799@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Oct 31 10:39:11 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1ZsScx-00079y-4e for geb-bug-gnu-emacs@m.gmane.org; Sat, 31 Oct 2015 10:39:11 +0100 Original-Received: from localhost ([::1]:54889 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsScw-0003J2-7n for geb-bug-gnu-emacs@m.gmane.org; Sat, 31 Oct 2015 05:39:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsScq-0003En-7G for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:39:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZsSco-0008W9-It for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:39:04 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:56009) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsSco-0008W5-GV for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZsSco-0004Nn-Cj for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jackson Hamilton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 31 Oct 2015 09:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21799 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.144628428216762 (code B ref -1); Sat, 31 Oct 2015 09:39:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 31 Oct 2015 09:38:02 +0000 Original-Received: from localhost ([127.0.0.1]:46717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZsSbo-0004MD-UQ for submit@debbugs.gnu.org; Sat, 31 Oct 2015 05:38:01 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48923) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZsSbU-0004Li-04 for submit@debbugs.gnu.org; Sat, 31 Oct 2015 05:37:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZsSbR-0008FZ-Pw for submit@debbugs.gnu.org; Sat, 31 Oct 2015 05:37:39 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:45290) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsSbR-0008FV-MT for submit@debbugs.gnu.org; Sat, 31 Oct 2015 05:37:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58915) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsSbQ-0002a3-2W for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:37:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZsSbO-0008Eu-84 for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:37:35 -0400 Original-Received: from mail-ob0-x230.google.com ([2607:f8b0:4003:c01::230]:36385) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZsSbO-0008En-1r for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2015 05:37:34 -0400 Original-Received: by obcqt19 with SMTP id qt19so62098298obc.3 for ; Sat, 31 Oct 2015 02:37:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=KgLdFkvuJxSedb172V7GZ4xm8jW/DJYLuuq2lHc0OqU=; b=CXKBslfjM0TY3O7HoZ9H/qa3gML47qR7OKycGVO9cJtcFORammWpwhd8CQ+VbefLrp W35WF2wOp9yLSrEmjRSDlJdQvDGg2PsgmxsYsqwyhJ0qTYb1dvURIGzH25Cic8ezytHb Tcxu4vixaN/Ibho2BN6Bf8fDsNW+8vK8aQN3Z3xwFGrn2icn2k0WmOyH7Lfx5y1hxcFh Vab8JDl4aFCEpdqYvWHfR/IPUdJLsUAXDs7seW0PkgD7qgPC8HA+V4ENejBPx3m33Dqe gRiq12RFMC5h+DhFp/Jx6dmrh0sy9nrMfPsoKdkvuZDpAAeo7IFqjf8v3PfKVxWOv1/H /Wug== X-Received: by 10.60.70.40 with SMTP id j8mr8505399oeu.78.1446284253376; Sat, 31 Oct 2015 02:37:33 -0700 (PDT) Original-Received: by 10.76.55.10 with HTTP; Sat, 31 Oct 2015 02:37:33 -0700 (PDT) X-Google-Sender-Auth: 7U_Z6rZIGUl7oQrMkAQHJkciCeg X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:108225 Archived-At: --001a11330ab42b73e10523634ba9 Content-Type: multipart/alternative; boundary=001a11330ab42b73db0523634ba7 --001a11330ab42b73db0523634ba7 Content-Type: text/plain; charset=UTF-8 See attached patch. Adds JSX indentation support to js-mode. --001a11330ab42b73db0523634ba7 Content-Type: text/html; charset=UTF-8
See attached patch. Adds JSX indentation support to js-mode.
--001a11330ab42b73db0523634ba7-- --001a11330ab42b73e10523634ba9 Content-Type: text/x-patch; charset=US-ASCII; name="jsx.patch" Content-Disposition: attachment; filename="jsx.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igewa1gm0 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL2pzLmVsIGIvbGlzcC9wcm9nbW9kZXMvanMuZWwK aW5kZXggNWE0ZjM4My4uYzBlNTY1NSAxMDA2NDQKLS0tIGEvbGlzcC9wcm9nbW9kZXMvanMuZWwK KysrIGIvbGlzcC9wcm9nbW9kZXMvanMuZWwKQEAgLTUyLDYgKzUyLDcgQEAKIChyZXF1aXJlICdp bWVudSkKIChyZXF1aXJlICdtb3ogbmlsIHQpCiAocmVxdWlyZSAnanNvbiBuaWwgdCkKKyhyZXF1 aXJlICdzZ21sLW1vZGUpCiAKIChldmFsLXdoZW4tY29tcGlsZQogICAocmVxdWlyZSAnY2wtbGli KQpAQCAtNTUxLDYgKzU1MiwxOCBAQCBkb24ndCBpbmRlbnQgdGhlIGZpcnN0IG9uZSdzIGluaXRp YWxpemVyOyBvdGhlcndpc2UsIGluZGVudCBpdC4KICAgOnNhZmUgJ3N5bWJvbHAKICAgOmdyb3Vw ICdqcykKIAorKGRlZmN1c3RvbSBqcy1pbmRlbnQtanN4IG5pbAorICAiTm9uLW5pbCB0byBpbmRl bnQgSlNYIGVsZW1lbnRzLgorCitgc2dtbC1iYXNpYy1vZmZzZXQnIGFuZCBgc2dtbC1hdHRyaWJ1 dGUtb2Zmc2V0JyBkZXRlcm1pbmUgdGhlCitpbmRlbnRhdGlvbiBsZXZlbCBvZiBsaW5lcyBjb250 YWluaW5nIEpTWC4KKworRW5hYmxpbmcgdGhpcyBtYXkgc2xvdyBkb3duIGluZGVudGF0aW9uIG9m IGVudGlyZSBsYXJnZSBmaWxlcy4iCisgIDp2ZXJzaW9uICIyNS4xIgorICA6dHlwZSAnYm9vbGVh bgorICA6c2FmZSAnYm9vbGVhbnAKKyAgOmdyb3VwICdqcykKKwogOzs7IEtleU1hcAogCiAoZGVm dmFyIGpzLW1vZGUtbWFwCkBAIC0xOTk4LDkgKzIwMTEsMTk1IEBAIGluZGVudGF0aW9uIGlzIGFs aWduZWQgdG8gdGhhdCBjb2x1bW4uIgogICAgICAgICAgICAoKyBqcy1pbmRlbnQtbGV2ZWwganMt ZXhwci1pbmRlbnQtb2Zmc2V0KSkKICAgICAgICAgICAodCAwKSkpKQogCi0oZGVmdW4ganMtaW5k ZW50LWxpbmUgKCkKKzs7OyBKU1ggSW5kZW50YXRpb24KKworKGRlZnN1YnN0IGpzLS1qc3gtZmlu ZC1iZWZvcmUtdGFnICgpCisgICJGaW5kIHdoZXJlIEpTWCBzdGFydHMuCisKK0Fzc3VtZSBKU1gg YXBwZWFycyBpbiB0aGUgZm9sbG93aW5nIGluc3RhbmNlczoKKy0gSW5zaWRlIHBhcmVudGhlc2Vz LCB3aGVuIHJldHVybmVkIG9yIGFzIHRoZSBmaXJzdCBhcmd1bWVudAorICB0byBhIGZ1bmN0aW9u LCBhbmQgYWZ0ZXIgYSBuZXdsaW5lCistIFdoZW4gYXNzaWduZWQgdG8gdmFyaWFibGVzIG9yIG9i amVjdCBwcm9wZXJ0aWVzLCBidXQgb25seQorICBvbiBhIHNpbmdsZSBsaW5lCistIEFzIHRoZSBO KzF0aCBhcmd1bWVudCB0byBhIGZ1bmN0aW9uCisKK1RoaXMgaXMgYW4gb3B0aW1pemVkIHZlcnNp b24gb2YgKHJlLXNlYXJjaC1iYWNrd2FyZCBcIlsoLF1cblwiCituaWwgdCksIGV4Y2VwdCBzZXQg cG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgbWF0Y2guICBUaGlzIGxvZ2ljCitleGVjdXRlcyB1cCB0 byB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSBmaWxlLCBzbyBpdCBzaG91bGQgYmUKK3JlYWxs eSBmYXN0IHRvIHJlZHVjZSB0aGF0IGltcGFjdC4iCisgIChsZXQgKHBvcykKKyAgICAod2hpbGUg KGFuZCAoPiAocG9pbnQpIChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgIChub3QgKHByb2du CisgICAgICAgICAgICAgICAgICAgICAgIChlbmQtb2YtbGluZSAwKQorICAgICAgICAgICAgICAg ICAgICAgICAod2hlbiAob3IgKGVxIChjaGFyLWJlZm9yZSkgNDApICAgOyAoCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoZXEgKGNoYXItYmVmb3JlKSA0NCkpICA7ICwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoc2V0cSBwb3MgKDEtIChwb2ludCkpKSkpKSkpCisgICAgcG9z KSkKKworKGRlZmNvbnN0IGpzLS1qc3gtZW5kLXRhZy1yZQorICAoY29uY2F0ICI8LyIgc2dtbC1u YW1lLXJlICI+XFx8Lz4iKQorICAiRmluZCB0aGUgZW5kIG9mIGEgSlNYIGVsZW1lbnQuIikKKwor KGRlZmNvbnN0IGpzLS1qc3gtYWZ0ZXItdGFnLXJlICJbKSxdIgorICAiRmluZCB3aGVyZSBKU1gg ZW5kcy4KK1RoaXMgY29tcGxlbWVudHMgdGhlIGFzc3VtcHRpb24gb2Ygd2hlcmUgSlNYIGFwcGVh cnMgZnJvbQorYGpzLS1qc3gtYmVmb3JlLXRhZy1yZScsIHdoaWNoIHNlZS4iKQorCisoZGVmdW4g anMtLWpzeC1pbmRlbnRlZC1lbGVtZW50LXAgKCkKKyAgIkRldGVybWluZSBpZi9ob3cgdGhlIGN1 cnJlbnQgbGluZSBzaG91bGQgYmUgaW5kZW50ZWQgYXMgSlNYLgorCitSZXR1cm4gYGZpcnN0JyBm b3IgdGhlIGZpcnN0IEpTWEVsZW1lbnQgb24gaXRzIG93biBsaW5lLgorUmV0dXJuIGBudGgnIGZv ciBzdWJzZXF1ZW50IGxpbmVzIG9mIHRoZSBmaXJzdCBKU1hFbGVtZW50LgorUmV0dXJuIGBleHBy ZXNzaW9uJyBmb3IgYW4gZW1iZWRkZWQgSlMgZXhwcmVzc2lvbi4KK1JldHVybiBgYWZ0ZXInIGZv ciBhbnl0aGluZyBhZnRlciB0aGUgbGFzdCBKU1hFbGVtZW50LgorUmV0dXJuIG5pbCBmb3Igbm9u LUpTWCBsaW5lcy4KKworQ3VycmVudGx5LCBKU1ggaW5kZW50YXRpb24gc3VwcG9ydHMgdGhlIGZv bGxvd2luZyBzdHlsZXM6CisKKy0gU2luZ2xlLWxpbmUgZWxlbWVudHMgKGluZGVudGVkIGxpa2Ug bm9ybWFsIEpTKToKKworICB2YXIgZWxlbWVudCA9IDxkaXY+PC9kaXY+OworCistIE11bHRpLWxp bmUgZWxlbWVudHMgKGVuY2xvc2VkIGluIHBhcmVudGhlc2VzKToKKworICBmdW5jdGlvbiAoKSB7 CisgICAgcmV0dXJuICgKKyAgICAgIDxkaXY+CisgICAgICAgIDxkaXY+PC9kaXY+CisgICAgICA8 L2Rpdj4KKyAgICApOworIH0KKworLSBGdW5jdGlvbiBhcmd1bWVudHM6CisKKyAgUmVhY3QucmVu ZGVyKAorICAgIDxkaXY+PC9kaXY+LAorICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yb290 JykKKyAgKTsiCisgIChsZXQgKChjdXJyZW50LXBvcyAocG9pbnQpKQorICAgICAgICAoY3VycmVu dC1saW5lIChsaW5lLW51bWJlci1hdC1wb3MpKQorICAgICAgICBsYXN0LXBvcworICAgICAgICBi ZWZvcmUtdGFnLXBvcyBiZWZvcmUtdGFnLWxpbmUKKyAgICAgICAgdGFnLXN0YXJ0LXBvcyB0YWct c3RhcnQtbGluZQorICAgICAgICB0YWctZW5kLXBvcyB0YWctZW5kLWxpbmUKKyAgICAgICAgYWZ0 ZXItdGFnLWxpbmUKKyAgICAgICAgcGFyZW5zIHBhcmVuIHR5cGUpCisgICAgKHNhdmUtZXhjdXJz aW9uCisgICAgICAoYW5kCisgICAgICAgOzsgRGV0ZXJtaW5lIGlmIHdlJ3JlIGluc2lkZSBhIGpz eCBlbGVtZW50CisgICAgICAgKHByb2duCisgICAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAg ICAod2hpbGUgKGFuZCAobm90IHRhZy1zdGFydC1wb3MpCisgICAgICAgICAgICAgICAgICAgICAo c2V0cSBsYXN0LXBvcyAoanMtLWpzeC1maW5kLWJlZm9yZS10YWcpKSkKKyAgICAgICAgICAgKHdo aWxlIChmb3J3YXJkLWNvbW1lbnQgMSkpCisgICAgICAgICAgICh3aGVuICg9IChjaGFyLWFmdGVy KSA2MCkgOyA8CisgICAgICAgICAgICAgKHNldHEgYmVmb3JlLXRhZy1wb3MgbGFzdC1wb3MKKyAg ICAgICAgICAgICAgICAgICB0YWctc3RhcnQtcG9zIChwb2ludCkpKQorICAgICAgICAgICAoZ290 by1jaGFyIGxhc3QtcG9zKSkKKyAgICAgICAgIHRhZy1zdGFydC1wb3MpCisgICAgICAgKHByb2du CisgICAgICAgICAoc2V0cSBiZWZvcmUtdGFnLWxpbmUgKGxpbmUtbnVtYmVyLWF0LXBvcyBiZWZv cmUtdGFnLXBvcykKKyAgICAgICAgICAgICAgIHRhZy1zdGFydC1saW5lIChsaW5lLW51bWJlci1h dC1wb3MgdGFnLXN0YXJ0LXBvcykpCisgICAgICAgICAoYW5kCisgICAgICAgICAgOzsgQSAiYmVm b3JlIiBsaW5lIHdoaWNoIGFsc28gc3RhcnRzIGFuIGVsZW1lbnQgYmVnaW5zIHdpdGgganMsIHNv CisgICAgICAgICAgOzsgaW5kZW50IGl0IGxpa2UganMKKyAgICAgICAgICAoPiBjdXJyZW50LWxp bmUgYmVmb3JlLXRhZy1saW5lKQorICAgICAgICAgIDs7IE9ubHkgaW5kZW50IHRoZSBqc3ggbGlu ZXMgbGlrZSBqc3gKKyAgICAgICAgICAoPj0gY3VycmVudC1saW5lIHRhZy1zdGFydC1saW5lKSkp CisgICAgICAgKGNvbmQKKyAgICAgICAgOzsgQW5hbHl6ZSBib3VuZHMgaWYgdGhlcmUgYXJlIGFu eQorICAgICAgICAoKHByb2duCisgICAgICAgICAgICh3aGlsZSAoYW5kIChub3QgdGFnLWVuZC1w b3MpCisgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGxhc3QtcG9zIChyZS1zZWFyY2gtZm9y d2FyZCBqcy0tanN4LWVuZC10YWctcmUgbmlsIHQpKSkKKyAgICAgICAgICAgICAod2hpbGUgKGZv cndhcmQtY29tbWVudCAxKSkKKyAgICAgICAgICAgICAod2hlbiAobG9va2luZy1hdCBqcy0tanN4 LWFmdGVyLXRhZy1yZSkKKyAgICAgICAgICAgICAgIChzZXRxIHRhZy1lbmQtcG9zIGxhc3QtcG9z KSkpCisgICAgICAgICAgIHRhZy1lbmQtcG9zKQorICAgICAgICAgKHNldHEgdGFnLWVuZC1saW5l IChsaW5lLW51bWJlci1hdC1wb3MgdGFnLWVuZC1wb3MpCisgICAgICAgICAgICAgICBhZnRlci10 YWctbGluZSAobGluZS1udW1iZXItYXQtcG9zIGFmdGVyLXRhZy1saW5lKSkKKyAgICAgICAgIChv ciAoYW5kCisgICAgICAgICAgICAgIDs7IEVuc3VyZSB3ZSdyZSBhY3R1YWxseSB3aXRoaW4gdGhl IGJvdW5kcyBvZiB0aGUganN4CisgICAgICAgICAgICAgICg8PSBjdXJyZW50LWxpbmUgdGFnLWVu ZC1saW5lKQorICAgICAgICAgICAgICA7OyBBbiAiYWZ0ZXIiIGxpbmUgd2hpY2ggZG9lcyBub3Qg ZW5kIGFuIGVsZW1lbnQgYmVnaW5zIHdpdGgKKyAgICAgICAgICAgICAgOzsganMsIHNvIGluZGVu dCBpdCBsaWtlIGpzCisgICAgICAgICAgICAgICg8PSBjdXJyZW50LWxpbmUgYWZ0ZXItdGFnLWxp bmUpKQorICAgICAgICAgICAgIChhbmQKKyAgICAgICAgICAgICAgOzsgSGFuZGxlIGFub3RoZXIg Y2FzZSB3aGVyZSB0aGVyZSBjb3VsZCBiZSBlLmcuIGNvbW1lbnRzIGFmdGVyCisgICAgICAgICAg ICAgIDs7IHRoZSBlbGVtZW50CisgICAgICAgICAgICAgICg+IGN1cnJlbnQtbGluZSB0YWctZW5k LWxpbmUpCisgICAgICAgICAgICAgICg8IGN1cnJlbnQtbGluZSBhZnRlci10YWctbGluZSkKKyAg ICAgICAgICAgICAgKHNldHEgdHlwZSAnYWZ0ZXIpKSkpCisgICAgICAgIDs7IFRoZXkgbWF5IG5v dCBiZSBhbnkgYm91bmRzICh5ZXQpCisgICAgICAgICh0KSkKKyAgICAgICA7OyBDaGVjayBpZiB3 ZSdyZSBpbnNpZGUgYW4gZW1iZWRkZWQgbXVsdGktbGluZSBqcyBleHByZXNzaW9uCisgICAgICAg KGNvbmQKKyAgICAgICAgKChub3QgdHlwZSkKKyAgICAgICAgIChnb3RvLWNoYXIgY3VycmVudC1w b3MpCisgICAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAgICAoc2V0cSBwYXJlbnMgKG50aCA5 IChzeW50YXgtcHBzcykpKQorICAgICAgICAgKHdoaWxlIChhbmQgcGFyZW5zIChub3QgdHlwZSkp CisgICAgICAgICAgIChzZXRxIHBhcmVuIChjYXIgcGFyZW5zKSkKKyAgICAgICAgICAgKGNvbmQK KyAgICAgICAgICAgICgoYW5kICg+PSBwYXJlbiB0YWctc3RhcnQtcG9zKQorICAgICAgICAgICAg ICAgICAgOzsgQ3VybHkgYnJhY2tldCBpbmRpY2F0ZXMgdGhlIHN0YXJ0IG9mIGFuIGVtYmVkZGVk IGV4cHJlc3Npb24KKyAgICAgICAgICAgICAgICAgICg9IChjaGFyLWFmdGVyIHBhcmVuKSAxMjMp IDsgeworICAgICAgICAgICAgICAgICAgOzsgVGhlIGZpcnN0IGxpbmUgb2YgdGhlIGV4cHJlc3Np b24gaXMgaW5kZW50ZWQgbGlrZSBzZ21sCisgICAgICAgICAgICAgICAgICAoPiBjdXJyZW50LWxp bmUgKGxpbmUtbnVtYmVyLWF0LXBvcyBwYXJlbikpCisgICAgICAgICAgICAgICAgICA7OyBDaGVj ayBpZiB3aXRoaW4gYSBjbG9zaW5nIGN1cmx5IGJyYWNrZXQgKGlmIGFueSkKKyAgICAgICAgICAg ICAgICAgIDs7IChleGNsdXNpdmUsIGFzIHRoZSBjbG9zaW5nIGJyYWNrZXQgaXMgaW5kZW50ZWQg bGlrZSBzZ21sKQorICAgICAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAgICAo KHByb2duCisgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciBwYXJlbikKKyAgICAgICAg ICAgICAgICAgICAgICAoaWdub3JlLWVycm9ycyAobGV0IChmb3J3YXJkLXNleHAtZnVuY3Rpb24p CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZC1zZXhwKSkp KQorICAgICAgICAgICAgICAgICAgICAoPCBjdXJyZW50LWxpbmUgKGxpbmUtbnVtYmVyLWF0LXBv cykpKQorICAgICAgICAgICAgICAgICAgICh0KSkpCisgICAgICAgICAgICAgOzsgSW5kaWNhdGUg dGhpcyBndXkgd2lsbCBiZSBpbmRlbnRlZCBzcGVjaWFsbHkKKyAgICAgICAgICAgICAoc2V0cSB0 eXBlICdleHByZXNzaW9uKSkKKyAgICAgICAgICAgICh0IChzZXRxIHBhcmVucyAoY2RyIHBhcmVu cykpKSkpCisgICAgICAgICB0KQorICAgICAgICAodCkpCisgICAgICAgKGNvbmQKKyAgICAgICAg KHR5cGUpCisgICAgICAgIDs7IEluZGVudCB0aGUgZmlyc3QganN4IHRoaW5nIGxpa2UganMgc28g d2UgY2FuIGluZGVudCBmdXR1cmUganN4IHRoaW5ncworICAgICAgICA7OyBsaWtlIHNnbWwgcmVs YXRpdmUgdG8gdGhlIGZpcnN0IHRoaW5nCisgICAgICAgICgoPSBjdXJyZW50LWxpbmUgdGFnLXN0 YXJ0LWxpbmUpICdmaXJzdCkKKyAgICAgICAgKCdudGgpKSkpKSkKKworKGRlZm1hY3JvIGpzLS1h cy1zZ21sICgmcmVzdCBib2R5KQorICAiRXhlY3V0ZSBCT0RZIGFzIGlmIGluIHNnbWwtbW9kZS4i CisgIGAod2l0aC1zeW50YXgtdGFibGUgc2dtbC1tb2RlLXN5bnRheC10YWJsZQorICAgICAobGV0 IChmb3J3YXJkLXNleHAtZnVuY3Rpb24KKyAgICAgICAgICAgcGFyc2Utc2V4cC1sb29rdXAtcHJv cGVydGllcykKKyAgICAgICAsQGJvZHkpKSkKKworKGRlZnVuIGpzLS1leHByZXNzaW9uLWluLXNn bWwtaW5kZW50LWxpbmUgKCkKKyAgIkluZGVudCB0aGUgY3VycmVudCBsaW5lIGFzIEphdmFTY3Jp cHQgb3IgU0dNTCAod2hpY2hldmVyIGlzIGZhcnRoZXIpLiIKKyAgKGxldCogKGluZGVudC1jb2wK KyAgICAgICAgIChzYXZlcCAocG9pbnQpKQorICAgICAgICAgOzsgRG9uJ3Qgd2hpbmUgYWJvdXQg ZXJyb3JzL3dhcm5pbmdzIHdoZW4gd2UncmUgaW5kZW50aW5nLgorICAgICAgICAgOzsgVGhpcyBo YXMgdG8gYmUgc2V0IGJlZm9yZSBjYWxsaW5nIHBhcnNlLXBhcnRpYWwtc2V4cCBiZWxvdy4KKyAg ICAgICAgIChpbmhpYml0LXBvaW50LW1vdGlvbi1ob29rcyB0KQorICAgICAgICAgKHBhcnNlLXN0 YXR1cyAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3ludGF4LXBw c3MgKHBvaW50LWF0LWJvbCkpKSkpCisgICAgOzsgRG9uJ3QgdG91Y2ggbXVsdGlsaW5lIHN0cmlu Z3MuCisgICAgKHVubGVzcyAobnRoIDMgcGFyc2Utc3RhdHVzKQorICAgICAgKHNldHEgaW5kZW50 LWNvbCAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAoYmFjay10by1p bmRlbnRhdGlvbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKD49IChwb2ludCkgc2F2 ZXApIChzZXRxIHNhdmVwIG5pbCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGpzLS1hcy1z Z21sIChzZ21sLWNhbGN1bGF0ZS1pbmRlbnQpKSkpCisgICAgICAoaWYgKG51bGwgaW5kZW50LWNv bCkKKyAgICAgICAgICAnbm9pbmRlbnQKKyAgICAgICAgOzsgVXNlIHdoaWNoZXZlciBpbmRlbnRh dGlvbiBjb2x1bW4gaXMgZ3JlYXRlciwgc3VjaCB0aGF0IHRoZSBzZ21sCisgICAgICAgIDs7IGNv bHVtbiBpcyBlZmZlY3RpdmVseSBhIG1pbmltdW0KKyAgICAgICAgKHNldHEgaW5kZW50LWNvbCAo bWF4IChqcy0tcHJvcGVyLWluZGVudGF0aW9uIHBhcnNlLXN0YXR1cykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgrIGluZGVudC1jb2wganMtaW5kZW50LWxldmVsKSkpCisgICAgICAg IChpZiBzYXZlcAorICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uIChpbmRlbnQtbGluZS10byBp bmRlbnQtY29sKSkKKyAgICAgICAgICAoaW5kZW50LWxpbmUtdG8gaW5kZW50LWNvbCkpKSkpKQor CisoZGVmdW4ganMtLWluZGVudC1saW5lLWFzLWpzICgpCiAgICJJbmRlbnQgdGhlIGN1cnJlbnQg bGluZSBhcyBKYXZhU2NyaXB0LiIKLSAgKGludGVyYWN0aXZlKQogICAobGV0KiAoKHBhcnNlLXN0 YXR1cwogICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbiAoc3ludGF4LXBwc3MgKHBvaW50LWF0LWJv bCkpKSkKICAgICAgICAgIChvZmZzZXQgKC0gKHBvaW50KSAoc2F2ZS1leGN1cnNpb24gKGJhY2st dG8taW5kZW50YXRpb24pIChwb2ludCkpKSkpCkBAIC0yMDA4LDYgKzIyMDcsMjkgQEAgaW5kZW50 YXRpb24gaXMgYWxpZ25lZCB0byB0aGF0IGNvbHVtbi4iCiAgICAgICAoaW5kZW50LWxpbmUtdG8g KGpzLS1wcm9wZXItaW5kZW50YXRpb24gcGFyc2Utc3RhdHVzKSkKICAgICAgICh3aGVuICg+IG9m ZnNldCAwKSAoZm9yd2FyZC1jaGFyIG9mZnNldCkpKSkpCiAKKyhkZWZ1biBqcy1pbmRlbnQtbGlu ZSAoKQorICAiSW5kZW50IHRoZSBjdXJyZW50IGxpbmUgYXMgSmF2YVNjcmlwdCBvciBKU1ggc291 cmNlIHRleHQuCitJZiBganMtaW5kZW50LWpzeCcgaXMgbm9uLW5pbCwgd2hpY2ggc2VlLCBpbmRl bnQgdGhlIGN1cnJlbnQgbGluZQorYXMgSlNYIHNvdXJjZSB0ZXh0LiIKKyAgKGludGVyYWN0aXZl KQorICAoY29uZAorICAgKGpzLWluZGVudC1qc3gKKyAgICAobGV0ICgoaW5kZW50YXRpb24tdHlw ZSAoanMtLWpzeC1pbmRlbnRlZC1lbGVtZW50LXApKSkKKyAgICAgIChjb25kCisgICAgICAgKChl cSBpbmRlbnRhdGlvbi10eXBlICdleHByZXNzaW9uKQorICAgICAgICAoanMtLWV4cHJlc3Npb24t aW4tc2dtbC1pbmRlbnQtbGluZSkpCisgICAgICAgKChvciAoZXEgaW5kZW50YXRpb24tdHlwZSAn Zmlyc3QpCisgICAgICAgICAgICAoZXEgaW5kZW50YXRpb24tdHlwZSAnYWZ0ZXIpKQorICAgICAg ICA7OyBEb24ndCB0cmVhdCB0aGlzIGZpcnN0IHRoaW5nIGFzIGEgY29udGludWVkIGV4cHJlc3Np b24gKG9mdGVuIGEgIjwiIG9yCisgICAgICAgIDs7ICI+IiBjYXVzZXMgdGhpcyBtaXNpbnRlcnBy ZXRhdGlvbikKKyAgICAgICAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICMnanMtLWNvbnRp bnVlZC1leHByZXNzaW9uLXApICdpZ25vcmUpKQorICAgICAgICAgIChqcy0taW5kZW50LWxpbmUt YXMtanMpKSkKKyAgICAgICAoKGVxIGluZGVudGF0aW9uLXR5cGUgJ250aCkKKyAgICAgICAgKGpz LS1hcy1zZ21sIChzZ21sLWluZGVudC1saW5lKSkpCisgICAgICAgKHQgKGpzLS1pbmRlbnQtbGlu ZS1hcy1qcykpKSkpCisgICAodAorICAgIChqcy0taW5kZW50LWxpbmUtYXMtanMpKSkpCisKIDs7 OyBGaWxsaW5nCiAKIChkZWZ2YXIganMtLWZpbGxpbmctcGFyYWdyYXBoIG5pbCkKZGlmZiAtLWdp dCBhL3Rlc3QvaW5kZW50L2pzLWluZGVudC1qc3guanMgYi90ZXN0L2luZGVudC9qcy1pbmRlbnQt anN4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlYTY1ZWQKLS0tIC9k ZXYvbnVsbAorKysgYi90ZXN0L2luZGVudC9qcy1pbmRlbnQtanN4LmpzCkBAIC0wLDAgKzEsODQg QEAKK3ZhciBmb28gPSA8ZGl2PjwvZGl2PjsKKworcmV0dXJuICgKKyAgPGRpdj4KKyAgPC9kaXY+ CisgIDxkaXY+CisgICAgPGRpdj48L2Rpdj4KKyAgICA8ZGl2PgorICAgICAgPGRpdj48L2Rpdj4K KyAgICA8L2Rpdj4KKyAgPC9kaXY+CispOworCitSZWFjdC5yZW5kZXIoCisgIDxkaXY+CisgICAg PGRpdj48L2Rpdj4KKyAgPC9kaXY+LAorICB7CisgICAgYTogMQorICB9LAorICA8ZGl2PgorICAg IDxkaXY+PC9kaXY+CisgIDwvZGl2PgorKTsKKworcmV0dXJuICgKKyAgLy8gU25lYWt5IQorICA8 ZGl2PjwvZGl2PgorKTsKKworcmV0dXJuICgKKyAgPGRpdj48L2Rpdj4KKyAgLy8gU25lYWt5IQor KTsKKworUmVhY3QucmVuZGVyKAorICA8aW5wdXQKKyAgICAvPiwKKyAgeworICAgIGE6IDEKKyAg fQorKTsKKworcmV0dXJuICgKKyAgPGRpdj4KKyAgICB7YXJyYXkubWFwKGZ1bmN0aW9uICgpIHsK KyAgICAgIHJldHVybiB7CisgICAgICAgIGE6IDEKKyAgICAgIH07CisgICAgfSl9CisgIDwvZGl2 PgorKTsKKworcmV0dXJuICgKKyAgPGRpdiBhdHRyaWJ1dGU9e2FycmF5Lm1hcChmdW5jdGlvbiAo KSB7CisgICAgICAgICByZXR1cm4geworICAgICAgICAgICBhOiAxCisgICAgICAgICB9OworCisg ICAgICAgICByZXR1cm4geworICAgICAgICAgICBhOiAxCisgICAgICAgICB9OworCisgICAgICAg ICByZXR1cm4geworICAgICAgICAgICBhOiAxCisgICAgICAgICB9OworICAgICAgIH0pfT4KKyAg PC9kaXY+CispOworCisvLyBMb2NhbCBWYXJpYWJsZXM6CisvLyBpbmRlbnQtdGFicy1tb2RlOiBu aWwKKy8vIGpzLWluZGVudC1sZXZlbDogMgorLy8ganMtaW5kZW50LWpzeDogdAorLy8gRW5kOgor CisvLyBUaGUgZm9sbG93aW5nIHRlc3QgaGFzIGludGVudGlvbmFsbHkgdW5jbG9zZWQgZWxlbWVu dHMgYW5kIHNob3VsZAorLy8gYmUgcGxhY2VkIGJlbG93IGFsbCBvdGhlciB0ZXN0cyB0byBwcmV2 ZW50IGF3a3dhcmQgaW5kZW50YXRpb24uCisKK3JldHVybiAoCisgIDxkaXY+CisgICAge2FycmF5 Lm1hcChmdW5jdGlvbiAoKSB7CisgICAgICByZXR1cm4geworICAgICAgICBhOiAxCg== --001a11330ab42b73e10523634ba9--