From unknown Mon Aug 11 19:04:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56003: Bash functions not showing in speedbar Resent-From: carlmarcos@tutanota.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Jun 2022 00:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56003 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 56003@debbugs.gnu.org X-Debbugs-Original-To: Bug Gnu Emacs Received: via spool by submit@debbugs.gnu.org id=B.16553401873009 (code B ref -1); Thu, 16 Jun 2022 00:44:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jun 2022 00:43:07 +0000 Received: from localhost ([127.0.0.1]:40145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1dbF-0000mS-SL for submit@debbugs.gnu.org; Wed, 15 Jun 2022 20:43:06 -0400 Received: from lists.gnu.org ([209.51.188.17]:43256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1d7Q-0008TS-C4 for submit@debbugs.gnu.org; Wed, 15 Jun 2022 20:12:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1d7Q-0004aZ-7Y for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 20:12:16 -0400 Received: from w1.tutanota.de ([81.3.6.162]:52096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1d7O-0008SO-Jh for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 20:12:15 -0400 Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 3F9EBFA013E for ; Thu, 16 Jun 2022 00:12:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1655338331; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=fbzCIS8n83Js6rLOanwfmKfodLjJc8eoFAbvrxz5vY0=; b=Dccu7GlrGr3patf8auKhVIRF1sm9H7jodKn9hYml8CiqnGbzJqR5gH4q7g40kj49 LQS2PA5MK/Ry5ZZj/+Ot1YuRMTrs1SgotOScB+C9Cb7ckuyoThyT8BTk07eo2KRGtKD bL+O8WRdMowDWOVULDrIZbiuPNaoDJV3ZpMZUlDDozqoHBGW1wGx3AuUHsHZk9YzmBP ctUG9IpMfi8odkfuGa3O1WABauY4RFf97lyRDhxh1VZKichi77hZH11xcLlLblox0GE 7aX/Tv2cAKSlF/vciGOz17T9RC1IO4rjrdVLPG4KQeXQCzK1q1JFAFDjH5QtOn1khRY DZykjH75fA== Date: Thu, 16 Jun 2022 02:12:11 +0200 (CEST) From: carlmarcos@tutanota.com Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_40029_1466805700.1655338331248" Received-SPF: pass client-ip=81.3.6.162; envelope-from=carlmarcos@tutanota.com; helo=w1.tutanota.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Mailman-Approved-At: Wed, 15 Jun 2022 20:43:04 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) ------=_Part_40029_1466805700.1655338331248 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Have been working on some functionalities implemented in bash.=C2=A0 But lo= oking at the speedbar, only some function names are being listed.=C2=A0 Tri= ed to see whether a bug-report has been previously submitted, but could not= find any.=C2=A0 Have found the search feature for the archives quite chall= enging to use. Carl ------=_Part_40029_1466805700.1655338331248 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Have been working on some functionalities implemented in bash.  But looking at the speedbar, only some function names are being listed.  Tried to see whether a bug-report has been previously submitted, but could not find any.  Have found the search feature for the archives quite challenging to use.

Carl
------=_Part_40029_1466805700.1655338331248-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 15 20:44:49 2022 Received: (at control) by debbugs.gnu.org; 16 Jun 2022 00:44:49 +0000 Received: from localhost ([127.0.0.1]:40150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1dcv-0000pd-24 for submit@debbugs.gnu.org; Wed, 15 Jun 2022 20:44:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1dcp-0000pL-DQ for control@debbugs.gnu.org; Wed, 15 Jun 2022 20:44:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49760) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1dck-0000WQ-0h for control@debbugs.gnu.org; Wed, 15 Jun 2022 20:44:38 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1o1dcj-0007Hu-O1 for control@debbugs.gnu.org; Wed, 15 Jun 2022 20:44:37 -0400 Subject: control message for bug 56003 To: X-Mailer: mail (GNU Mailutils 3.4) Message-Id: From: Glenn Morris Date: Wed, 15 Jun 2022 20:44:37 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) forcemerge 52928 56003 From unknown Mon Aug 11 19:04:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56003: Bash functions not showing in speedbar Resent-From: Visuwesh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Jun 2022 03:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56003 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 56003@debbugs.gnu.org Cc: carlmarcos@tutanota.com X-Debbugs-Original-To: carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Debbugs-Original-Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org Received: via spool by submit@debbugs.gnu.org id=B.165534910426052 (code B ref -1); Thu, 16 Jun 2022 03:12:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jun 2022 03:11:44 +0000 Received: from localhost ([127.0.0.1]:40269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1fv6-0006m3-A2 for submit@debbugs.gnu.org; Wed, 15 Jun 2022 23:11:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:55432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1fv0-0006ll-OH for submit@debbugs.gnu.org; Wed, 15 Jun 2022 23:11:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37322) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1fv0-00033D-Jn for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 23:11:38 -0400 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:37325) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o1fuz-0000Ng-1K for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 23:11:38 -0400 Received: by mail-pj1-x1044.google.com with SMTP id 3-20020a17090a174300b001e426a02ac5so597357pjm.2 for ; Wed, 15 Jun 2022 20:11:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=DUvnzIhynQhtpWRuTKPgckREZVVE3UJrhvrmflKyNJY=; b=AqhpL2yI/ZipgJdQybbDxBVZo44mFKCL4yNtRgwIluS/OkxYewMquadULeCbrG9aXu 5LNl2v5i1Zp583Wii6q/sQmeH6bkjbc5v+3CRMcdCy7SEtUXPaS0hCV6vBunTNNlhUmS vizdineUHieRtLerMj6yBqV8e2+2HEt6TbfhVOY6chc2odMGViIN0pGF4iIeq0I7EWwq 0oolGG3ThFQ5Q+kN3aX/IPquYPXmRoQMskaRh+I46/ggS5r/Hw3mmHDO46/N5h0L+edO bCK9OKGYU3R/qBuIlv+p5iNAS5VMt25bz38RMhKCO3UQK5YDwXq+rkrDfFDye/sOaYlA egYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=DUvnzIhynQhtpWRuTKPgckREZVVE3UJrhvrmflKyNJY=; b=QSQWPldTfojpJfeq1FGYNQroJpXQcEzdFxhGFiPHz/M4hRORJ8TE3DYc1rCY5gl6Cz bXpgtD2cpzcEQc2IC5nSc4vYOzw4qZHpZBVNbntrtuxIYxkYAVl9WwUc7cY2yKYdmh5v 30iu+WvGVpzw1FTodhPeuwlkuJa2nFIpJFEEfKlQlsqHi+8YRHMPdZuNdU86vhrkH/xX yShvk/gdsU+t82nq0/KukZ8wDIJjFC1UsZdTqx8CBXdgHjHJqVb7I7W9HSi6QyoUt2uv 32FctVFjspgETmDYJszbtQOSZdU8IZyANqRG7uoHnjH8iSaHUpG+F4c6pfnb48N617dm f1hQ== X-Gm-Message-State: AJIora9ztWqgtggg5lYufUJbwXL+XlQDFM4jEVh5eCTH1lXoLC/jP1qP UOi/Ka6Mk6ex05gmbBYfDakNPRxFvms= X-Google-Smtp-Source: AGRyM1svIpggNiyCLLlOniucGlgln5crXMrvRl1zmQPVgcOVJ+brLUcF35jZZeahLi9FhX2Js/jYGw== X-Received: by 2002:a17:90b:224a:b0:1e6:7780:6c8c with SMTP id hk10-20020a17090b224a00b001e677806c8cmr2764279pjb.119.1655349094530; Wed, 15 Jun 2022 20:11:34 -0700 (PDT) Received: from localhost ([49.204.129.172]) by smtp.gmail.com with ESMTPSA id p24-20020aa78618000000b0051c7038bd52sm357488pfn.220.2022.06.15.20.11.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jun 2022 20:11:31 -0700 (PDT) From: Visuwesh References: Date: Thu, 16 Jun 2022 08:41:12 +0530 In-Reply-To: (carlmarcos's message of "Thu, 16 Jun 2022 02:12:11 +0200 (CEST)") Message-ID: <87y1xxcnfz.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::1044; envelope-from=visuweshm@gmail.com; helo=mail-pj1-x1044.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=9C= =E0=AF=82=E0=AE=A9=E0=AF=8D 16, 2022 02:12] carlmarcos--- via "Bug reports = for GNU Emacs, the Swiss army knife of text editors" wrote: > Have been working on some functionalities implemented in bash. But looki= ng at the speedbar, only some function > names are being listed. Tried to see whether a bug-report has been previ= ously submitted, but could not find any.=20 > Have found the search feature for the archives quite challenging to use. > > Carl You need to add a relevant bash entry to `sh-imenu-generic-expression'. I would propose a patch but the bash manual is vague about the allowed characters, and I never use bash so I'm not interested in digging further. Maybe the newly added mksh entry could be a good example, (mksh . ((nil ;; function FOO ;; function FOO() ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) (group (1+ (not (any "\0\t\n \"$&'();<=3D>\\`|#*?[]/")))) (* (syntax whitespace)) (? "()")) 1) (nil ;; FOO() ,(rx bol (* (syntax whitespace)) (group (1+ (not (any "\0\t\n \"$&'();<=3D>\\`|#*?[]/")))) (* (syntax whitespace)) "()") 1))) HTH. From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 17 07:14:46 2022 Received: (at control) by debbugs.gnu.org; 17 Aug 2022 11:14:46 +0000 Received: from localhost ([127.0.0.1]:49578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOH0Y-0002Pg-5n for submit@debbugs.gnu.org; Wed, 17 Aug 2022 07:14:46 -0400 Received: from quimby.gnus.org ([95.216.78.240]:44590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOH0W-0002PP-KI for control@debbugs.gnu.org; Wed, 17 Aug 2022 07:14:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type: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=G8CeiPaRB4zKQot8dJKVIh+zHZV3RAAg3sPdE7kbCZQ=; b=dHFVmsmO8jnqp3hZJJcNrBWEMr 8UqJeyYgP6Koem+tufIob5YaTynGuqK4KxygYW8m+fCNJNC8jclvfUhLv8F82sgVEPL/hzYD4tPYo n0ST3e73Y5s5A/rn1B/Id0QE4iBezXYmMdf3AoidYXgd43hoX+yvfciLaR/3mb0q4K7Q=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oOH0P-0008OQ-76 for control@debbugs.gnu.org; Wed, 17 Aug 2022 13:14:39 +0200 Date: Wed, 17 Aug 2022 13:14:36 +0200 Message-Id: <87bksji0kj.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #57255 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: forcemerge 57255 21477 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) forcemerge 57255 21477 quit From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 16 00:13:41 2022 Received: (at control) by debbugs.gnu.org; 16 Oct 2022 04:13:41 +0000 Received: from localhost ([127.0.0.1]:43012 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojv1x-0003Hk-2v for submit@debbugs.gnu.org; Sun, 16 Oct 2022 00:13:41 -0400 Received: from mail-oa1-f50.google.com ([209.85.160.50]:45005) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojv1n-0003H2-3O for control@debbugs.gnu.org; Sun, 16 Oct 2022 00:13:35 -0400 Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-132b8f6f1b2so10199485fac.11 for ; Sat, 15 Oct 2022 21:13:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=fTVnitVVgkBPRVdeG/TXodS9TVAxTpw5ZYcRlTdoCOI=; b=nEZWN/4VPLHJxp4Mfsz8zkpMyozfa3BmStcCt6IjOhl231YZlqT6WHY65HWwSwjWxR QPv7zIEo1MIVvJi6pY2ptYJ6iRu2JtZXZOO9T1BMQ1muo9R1fGyr+B2Uld/soSQBSa7J ENzrDWTqEaQqsD5zR72lQ8GGgkCyxN78b4dmgaNKBG21bWKJJswZZeSCsl9ABU0BKnn/ J+DojHAD3Y1nUgfRfO7oj1wAyb7OQZpcUjdaLUMYb/uBd875B1DWZvHHgtKZU3I0TqqJ a3Dljd19oegfprSG0rWLTHg1rGadUb7oxm4D7Bceblgo+i9YkkqCgbZ1J/o85ghjxOvK 15iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fTVnitVVgkBPRVdeG/TXodS9TVAxTpw5ZYcRlTdoCOI=; b=emsX02qM2VSvlzt9aohMGKYkXsz+bZZCFweTTplwyzej8B1TEzaBKeiOEkbW61ociI Dox0gKZjB5DR7o1MeT3vCRD6Xln4xzkzV3dEMWLDcj+AkmSXHLfvZ9+qcIYN6TS49blV nGOpexx3lcYw7n07MRF251BkQxwxyAwzsFa96epgJw+lTmhhWBVdUoUFWn4TAKE4aKeY yGTe1DCG4AuOXrC1Aqme1InEh0yQaALBP2DzSkAz3IxG8EvuZ4H629NT7fxZ41uhc/+z BetltB7ao5d8128P0MVBCGY7jnDrVLxk8pEnAPmGyoChdIH7c0uUxDVk5e7DHpmZSVwk sGgQ== X-Gm-Message-State: ACrzQf0+6M6/i588O+IqhIlk0fSYg649o/M2dbpKB7WtbA0XWpb4sa07 f0nuD8Q1tYLjzIMl/jqzfln9WLWg9WM93dZsHlA= X-Google-Smtp-Source: AMsMyM66w3jOoPuWtl6RQY4KpvVOzwT6Zs3ME88P1+xFeBXej+jXpklqAIDLv2w2OiJo1j7GRm02DHWrlRh42/O3dQA= X-Received: by 2002:a05:6870:9126:b0:132:b724:e96c with SMTP id o38-20020a056870912600b00132b724e96cmr12475285oae.199.1665893605294; Sat, 15 Oct 2022 21:13:25 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 15 Oct 2022 21:13:24 -0700 From: Stefan Kangas In-Reply-To: References: X-Hashcash: 1:20:221016:heimeborgia@protonmail.com::lPw0WfPNvgvW7xzu:42PM MIME-Version: 1.0 Date: Sat, 15 Oct 2022 21:13:24 -0700 Message-ID: Subject: Re: bug#58554: Bash functions with hyphen not showing up in speedbar To: Heime , 58554@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" Bcc: control@debbugs.gnu.org X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) forcemerge 21477 58554 thanks Heime via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > Have seen there was a bug report about bash functions with hyphen not ^^^^^^^^^^^^^^^^^^^^^^ > showing up in speedbar. Many months have passed and would like a > solution because I have some bash functions where it would be good for > mo to use hyphen and be able to use the speedbar to access the > function names. (This is a duplicate of bug#21477, so I'm merging them.) So why are you reporting it again? I note that this is the same bug that was previously reported as: Bug#52319 by fatiparty tutanota.com Bug#52928 by tolugboji protonmail.com Bug#54265 by angelomolina tutanota.com Bug#56003 by carlmarcos tutanota.com Bug#57255 by uzibalqa proton.me> You don't get any points for reporting the same bug more than once, and you especially don't get any for doing it under several different pseudonyms. It is very easy to see that all of these aliases are in fact one and the same person. Please stop reporting duplicate bug reports. It is a waste of time and energy. It also makes it much more likely that your bug reports will simply be ignored in the future. Thanks in advance. From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: carlmarcos@tutanota.com Subject: bug#56003: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> X-Gnu-PR-Message: they-closed 56003 X-Gnu-PR-Package: emacs Reply-To: 56003@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975382-11257-1" This is a multi-part message in MIME format... ------------=_1732975382-11257-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: Bash functions not showing in speedbar which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 56003@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975382-11257-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975382-11257-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 16 Jun 2022 00:43:07 +0000 Received: from localhost ([127.0.0.1]:40145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1dbF-0000mS-SL for submit@debbugs.gnu.org; Wed, 15 Jun 2022 20:43:06 -0400 Received: from lists.gnu.org ([209.51.188.17]:43256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1d7Q-0008TS-C4 for submit@debbugs.gnu.org; Wed, 15 Jun 2022 20:12:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1d7Q-0004aZ-7Y for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 20:12:16 -0400 Received: from w1.tutanota.de ([81.3.6.162]:52096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1d7O-0008SO-Jh for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 20:12:15 -0400 Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 3F9EBFA013E for ; Thu, 16 Jun 2022 00:12:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1655338331; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=fbzCIS8n83Js6rLOanwfmKfodLjJc8eoFAbvrxz5vY0=; b=Dccu7GlrGr3patf8auKhVIRF1sm9H7jodKn9hYml8CiqnGbzJqR5gH4q7g40kj49 LQS2PA5MK/Ry5ZZj/+Ot1YuRMTrs1SgotOScB+C9Cb7ckuyoThyT8BTk07eo2KRGtKD bL+O8WRdMowDWOVULDrIZbiuPNaoDJV3ZpMZUlDDozqoHBGW1wGx3AuUHsHZk9YzmBP ctUG9IpMfi8odkfuGa3O1WABauY4RFf97lyRDhxh1VZKichi77hZH11xcLlLblox0GE 7aX/Tv2cAKSlF/vciGOz17T9RC1IO4rjrdVLPG4KQeXQCzK1q1JFAFDjH5QtOn1khRY DZykjH75fA== Date: Thu, 16 Jun 2022 02:12:11 +0200 (CEST) From: carlmarcos@tutanota.com To: Bug Gnu Emacs Message-ID: Subject: Bash functions not showing in speedbar MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_40029_1466805700.1655338331248" Received-SPF: pass client-ip=81.3.6.162; envelope-from=carlmarcos@tutanota.com; helo=w1.tutanota.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 15 Jun 2022 20:43:04 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) ------=_Part_40029_1466805700.1655338331248 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Have been working on some functionalities implemented in bash.=C2=A0 But lo= oking at the speedbar, only some function names are being listed.=C2=A0 Tri= ed to see whether a bug-report has been previously submitted, but could not= find any.=C2=A0 Have found the search feature for the archives quite chall= enging to use. Carl ------=_Part_40029_1466805700.1655338331248 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Have been working on some functionalities implemented in bash.  But looking at the speedbar, only some function names are being listed.  Tried to see whether a bug-report has been previously submitted, but could not find any.  Have found the search feature for the archives quite challenging to use.

Carl
------=_Part_40029_1466805700.1655338331248-- ------------=_1732975382-11257-1-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Matthew Persico Subject: bug#21477: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> <55F6D62E02050314003904F5_0_77779@p057> X-Gnu-PR-Message: they-closed 21477 X-Gnu-PR-Package: emacs Reply-To: 21477@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975382-11257-3" This is a multi-part message in MIME format... ------------=_1732975382-11257-3 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: 24.4; Imenu - improper parse of shell function names which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 21477@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975382-11257-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975382-11257-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Sep 2015 15:28:03 +0000 Received: from localhost ([127.0.0.1]:60438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbVfm-0001QT-98 for submit@debbugs.gnu.org; Mon, 14 Sep 2015 11:28:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:53789) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbUWW-00081H-7m for submit@debbugs.gnu.org; Mon, 14 Sep 2015 10:14:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbUWR-00011i-S3 for submit@debbugs.gnu.org; Mon, 14 Sep 2015 10:14:23 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=AC_HTML_NONSENSE_TAGS, BAYES_50, HTML_MESSAGE autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34524) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbUWR-00011d-O7 for submit@debbugs.gnu.org; Mon, 14 Sep 2015 10:14:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbUWL-0000C2-QJ for bug-gnu-emacs@gnu.org; Mon, 14 Sep 2015 10:14:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbUWG-0000t0-6Y for bug-gnu-emacs@gnu.org; Mon, 14 Sep 2015 10:14:13 -0400 Received: from mgnj3.bloomberg.net ([69.191.244.21]:56353) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbUWG-0000sH-0h for bug-gnu-emacs@gnu.org; Mon, 14 Sep 2015 10:14:08 -0400 X-BB-Reception-Complete: 14 Sep 2015 10:14:06 -0400 X-IP-Listener: Outgoing Mail X-IP-MID: 14201657 Received: from p057.bloomberg.com (HELO p057) ([10.126.157.205]) by mgnj3.bloomberg.net with SMTP; 14 Sep 2015 10:14:06 -0400 X-BLP-INETSVC: version=BLP_APP_S_INETSVC_1.0.1; host=mgnj3:25; conid=81 Date: Mon, 14 Sep 2015 14:14:06 -0000 From: "Matthew Persico (BLOOMBERG/ 731 LEX)" To: bug-gnu-emacs@gnu.org MIME-Version: 1.0 Message-ID: <55F6D62E02050314003904F5_0_77779@p057> X-BLP-GUID: 55F6D62E02050314003904F50000 Subject: =?UTF-8?B?MjQuNDsgSW1lbnUgLSBpbXByb3BlciBwYXJzZSBvZiBzaGVsbCBmdW5jdGlvbiBuYW1lcw==?= Content-Type: multipart/alternative; boundary="BOUNDARY_55F6D62E02050314003904F5_0_78165_p057" Content-ID: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 14 Sep 2015 11:28:00 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Matthew Persico List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --BOUNDARY_55F6D62E02050314003904F5_0_78165_p057 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 LS10ZXh0IGZvbGxvd3MgdGhpcyBsaW5lLS0KCjEpIENyZWF0ZSBhIGZpbGUgd2l0aCB0aGlzIHRl eHQ6CiMgLSotIHNoIC0qLQp0aGlzX2lzX3BhcnNlZCAoKQp7CmVjaG8gMQp9CgpmdW5jdGlvbiB0 aGlzX2lzX2Fsc29fcGFyc2VkCnsKZWNobyAxCn0KCnRoaXMtaXMtbm90LXBhcnNlZCAoKQp7CmVj aG8gMQp9CgpmdW5jdGlvbiB0aGlzLWlzLWFsc28tbm90LXBhcnNlZAp7CmVjaG8gMQp9CgoyKSBM b2FkIGl0IGludG8gZW1hY3MgdGhhdCBoYXMgaW1lbnUuCgozKSBMb29rIGZvciBmdW5jdGlvbnMg aW4gdGhlIGltZW51IGxpc3QuIE9ubHkgdGhlIG9uZXMgd2l0aCAnXycgc2hvdyB1cC4gVGhlIG9u ZXMgd2l0aCAnLScgZG8gbm90LgoKSW4gR05VIEVtYWNzIDI0LjQuMSAoeDg2XzY0LXVua25vd24t bGludXgtZ251LCBHVEsrIFZlcnNpb24gMy44LjkpCm9mIDIwMTUtMDktMDEgb24gbnlsbnhibGRv MgpXaW5kb3dpbmcgc3lzdGVtIGRpc3RyaWJ1dG9yIGBIdW1taW5nYmlyZCAtIE9wZW4gVGV4dCcs IHZlcnNpb24gMTEuMC4xMzgzMApTeXN0ZW0gRGVzY3JpcHRpb246ICAgICBSZWQgSGF0IEVudGVy cHJpc2UgTGludXggU2VydmVyIHJlbGVhc2UgNS44IChUaWthbmdhKQoKQ29uZmlndXJlZCB1c2lu ZzoKYGNvbmZpZ3VyZSAtLXByZWZpeD0vb3B0L2JiIC0tbGliZGlyPS9vcHQvYmIvbGliNjQKLXgt aW5jbHVkZXM9L29wdC9iYi9pbmNsdWRlIC14LWxpYnJhcmllcz0vb3B0L2JiL2xpYjY0Ci0td2l0 aG91dC1zZWxpbnV4IC0td2l0aC1wbmc9bm8gLS13aXRoLWdpZj1ubyAtLXdpdGhvdXQtZ3NldHRp bmdzCkNGTEFHUz0tbTY0IENQUEZMQUdTPS1JL29wdC9iYi9pbmNsdWRlICdMREZMQUdTPS1tNjQg LUwvb3B0L2JiL2xpYjY0Ci1XbCwtLWVuYWJsZS1uZXctZHRhZ3MsLVIvb3B0L2JiL2xpYjY0JycK CkltcG9ydGFudCBzZXR0aW5nczoKdmFsdWUgb2YgJExBTkc6IEMKbG9jYWxlLWNvZGluZy1zeXN0 ZW06IG5pbAoKTWFqb3IgbW9kZTogU2hlbGwtc2NyaXB0CgpNaW5vciBtb2RlcyBpbiBlZmZlY3Q6 CnNoLWVsZWN0cmljLWhlcmUtZG9jdW1lbnQtbW9kZTogdApmbHlzcGVsbC1tb2RlOiB0CmV4b3Jk aXVtLXJlcXVpcmUtZmluYWwtbmV3bGluZS1tb2RlOiB0CmV4b3JkaXVtLXNob3ctdHJhaWxpbmct d2hpdGVzcGFjZS1tb2RlOiB0Cmdsb2JhbC1naXQtZ3V0dGVyLW1vZGU6IHQKZGlmZi1hdXRvLXJl ZmluZS1tb2RlOiB0Cmdsb2JhbC1naXQtY29tbWl0LW1vZGU6IHQKc2hlbGwtZGlydHJhY2stbW9k ZTogdApwcm9qZWN0aWxlLWdsb2JhbC1tb2RlOiB0CnByb2plY3RpbGUtbW9kZTogdApnbG9iYWwt YXV0by1jb21wbGV0ZS1tb2RlOiB0CmF1dG8tY29tcGxldGUtbW9kZTogdApyZWNlbnRmLW1vZGU6 IHQKZGVsZXRlLXNlbGVjdGlvbi1tb2RlOiB0CnNob3ctcGFyZW4tbW9kZTogdApnbG9iYWwtbGlu dW0tbW9kZTogdApsaW51bS1tb2RlOiB0CnRvb2x0aXAtbW9kZTogdAplbGVjdHJpYy1pbmRlbnQt bW9kZTogdAptb3VzZS13aGVlbC1tb2RlOiB0Cm1lbnUtYmFyLW1vZGU6IHQKZmlsZS1uYW1lLXNo YWRvdy1tb2RlOiB0Cmdsb2JhbC1mb250LWxvY2stbW9kZTogdApmb250LWxvY2stbW9kZTogdAph dXRvLWNvbXBvc2l0aW9uLW1vZGU6IHQKYXV0by1lbmNyeXB0aW9uLW1vZGU6IHQKYXV0by1jb21w cmVzc2lvbi1tb2RlOiB0CmNvbHVtbi1udW1iZXItbW9kZTogdApsaW5lLW51bWJlci1tb2RlOiB0 CnRyYW5zaWVudC1tYXJrLW1vZGU6IHQKClJlY2VudCBpbnB1dDoKXyA8cmV0dXJuPiA8Qy1ob21l PiA8Qy1ob21lPiBDLXMgZyBpIHQgLSBnIG8gLSBmIDxiYWNrc3BhY2U+IApfIDxiYWNrc3BhY2U+ IDxiYWNrc3BhY2U+IF8gZiA8YmFja3NwYWNlPiBDLXMgQy1zIEMtZyAKQy1nIEMtZyBDLWcgQy1n IEMtcyBNIE8gUCBDLXMgQy1zIDxDLWhvbWU+IDxDLWhvbWU+IAo8Qy1ob21lPiA8ZXNjYXBlPiBD LXQgZyBvIHQgQy1fIEMtXyA8ZXNjYXBlPiBDLXIgZyAKaSB0IC0gZyBvIGYgaSBsIGUgPHJldHVy bj4gPHVwPiA8bGVmdD4gPHJpZ2h0PiA8cmlnaHQ+IAo8cmlnaHQ+IDxyaWdodD4gPHJpZ2h0PiA8 YmFja3NwYWNlPiBfIDxkb3duPiA8dXA+IDxyaWdodD4gCjxyaWdodD4gXyA8cmV0dXJuPiBTUEMg U1BDIFNQQyBTUEMgU1BDIFNQQyBTUEMgU1BDIAo8Qy1ob21lPiA8Qy1ob21lPiA8ZXNjYXBlPiBD LXIgZyBpIHQgLSBnIG8gXyBmIGkgbCAKZSA8cmV0dXJuPiA8dXA+IDxsZWZ0PiA8ZG93bj4gPHJp Z2h0PiA8ZG93bj4gPGRvd24+IAo8ZG93bj4gPHJpZ2h0PiA8cmlnaHQ+IDxyaWdodD4gPHJpZ2h0 PiA8YmFja3NwYWNlPiAKKyBfIDxiYWNrc3BhY2U+IDxiYWNrc3BhY2U+IF8gPHJldHVybj4gISA8 dXA+IDx1cD4gCjx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1 cD4gPHVwPiAKPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVw PiA8dXA+IAo8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+ IDx1cD4gCjx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4g PHVwPiAKPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8 dXA+IAo8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1 cD4gCjx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVw PiAKPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+IDx1cD4gPHVwPiA8dXA+ IAo8ZG93bj4gPGRvd24+IDxkb3duPiA8ZG93bj4gPGRvd24+IDx1cD4gPGRvd24+IEMteCAKQy16 IEMteCBDLXMgPGhlbHAtZWNobz4gPGhlbHAtZWNobz4gPGhlbHAtZWNobz4gPGhlbHAtZWNobz4g CjxoZWxwLWVjaG8+IDxoZWxwLWVjaG8+IDxoZWxwLWVjaG8+IDxoZWxwLWVjaG8+IDxoZWxwLWVj aG8+IAo8aGVscC1lY2hvPiA8aGVscC1lY2hvPiA8ZG93bi1tb3VzZS0xPiA8bW91c2UtMT4gPGRv d24tbW91c2UtNT4gCjxtb3VzZS01PiA8ZG91YmxlLWRvd24tbW91c2UtNT4gPGRvdWJsZS1tb3Vz ZS01PiA8dHJpcGxlLWRvd24tbW91c2UtNT4gCjx0cmlwbGUtbW91c2UtNT4gPHRyaXBsZS1kb3du LW1vdXNlLTU+IDx0cmlwbGUtbW91c2UtNT4gCjxkb3duLW1vdXNlLTU+IDxtb3VzZS01PiA8ZG91 YmxlLWRvd24tbW91c2UtNT4gPGRvdWJsZS1tb3VzZS01PiAKPHRyaXBsZS1kb3duLW1vdXNlLTU+ IDx0cmlwbGUtbW91c2UtNT4gPGRvd24tbW91c2UtMT4gCjxtb3VzZS0xPiA8ZG93bi1tb3VzZS0z PiA8bW91c2UtMz4gPGRvd24tbW91c2UtMz4gPG1vdXNlLTM+IAo8ZG93bi1tb3VzZS0xPiA8bW91 c2UtMT4gPGhlbHAtZWNobz4gPGVzY2FwZT4geCBlIG0gCmEgYyBzIC0gciBlIHAgbyB0IDxiYWNr c3BhY2U+IHIgdCAtIGIgdSBnIDxyZXR1cm4+IAo8YmFja3NwYWNlPiA8YmFja3NwYWNlPiA8YmFj a3NwYWNlPiA8YmFja3NwYWNlPiA8YmFja3NwYWNlPiAKPGJhY2tzcGFjZT4gPGJhY2tzcGFjZT4g PGJhY2tzcGFjZT4gPGJhY2tzcGFjZT4gPGJhY2tzcGFjZT4gCjxiYWNrc3BhY2U+IDxiYWNrc3Bh Y2U+IDxiYWNrc3BhY2U+IDxiYWNrc3BhY2U+IDxiYWNrc3BhY2U+IAo8YmFja3NwYWNlPiA8YmFj a3NwYWNlPiA8YmFja3NwYWNlPiA8YmFja3NwYWNlPiByIGUgCnAgPHRhYj4gbyA8dGFiPiByIDx0 YWI+IDxyZXR1cm4+CgpSZWNlbnQgbWVzc2FnZXM6CmNhbGwtaW50ZXJhY3RpdmVseTogRW5kIG9m IGJ1ZmZlcgp1c2VyLWVycm9yOiBFbmQgb2YgZGVmYXVsdHM7IG5vIG5leHQgaXRlbSBbMiB0aW1l c10KTWFyayBzZXQKUmVwbGFjZWQgOCBvY2N1cnJlbmNlcwpBdXRvLXNhdmluZy4uLmRvbmUKU2F2 aW5nIGZpbGUgL2hvbWUvbXBlcnNpY281L3BlcnNvbmFsL2Jpbi9naXRmdW5jcy4uLgpXcm90ZSAv aG9tZS9tcGVyc2ljbzUvcGVyc29uYWwvYmluL2dpdGZ1bmNzClF1aXQgWzIgdGltZXNdCmRlbGV0 ZS1iYWNrd2FyZC1jaGFyOiBUZXh0IGlzIHJlYWQtb25seSBbMyB0aW1lc10KTWFraW5nIGNvbXBs ZXRpb24gbGlzdC4uLiBbMiB0aW1lc10KCkxvYWQtcGF0aCBzaGFkb3dzOgpOb25lIGZvdW5kLgoK RmVhdHVyZXM6CihzaGFkb3cgc29ydCBtYWlsLWV4dHIgZW1hY3NidWcgc2VuZG1haWwgbWlzZWFy Y2ggbXVsdGktaXNlYXJjaApzaC1zY3JpcHQgc21pZSBleGVjdXRhYmxlIGZseW1ha2UgZGlzcC10 YWJsZSBmbHlzcGVsbCBpc3BlbGwKdG9tb3Jyb3ctbmlnaHQtYnJpZ2h0LXRoZW1lIGluaXQtcG93 ZXJsaW5lIHBvd2VybGluZQpwb3dlcmxpbmUtc2VwYXJhdG9ycyBjb2xvciBwb3dlcmxpbmUtdGhl bWVzIGluaXQtZWxpc3AgcGFnZS1icmVhay1saW5lcwppbml0LXJ1YnkgaW5pdC1weXRob24gaW5p dC1qYXZhc2NyaXB0IGpzMi1pbWVudS1leHRyYXMKanMyLW1vZGUtZXhwYW5zaW9ucyBqczItbW9k ZSBqczItb2xkLWluZGVudCBqcy1tb2RlLWV4cGFuc2lvbnMganMganNvbgppbWVudSBpbml0LXJ0 YWdzLWhlbG0gaW5pdC1ydGFncyBhdXRvLWNvbXBsZXRlLWMtaGVhZGVycyBydGFncy1hYyBydGFn cwpyZXBlYXQgaW5pdC15YXNuaXBwZXQgeWFzbmlwcGV0IGluaXQtYmRlLXN0eWxlIGluaXQtY3Bw IGNwcCBpbml0LXhtbAppbml0LW9yZyBvYi1kb3Qgb2ItQyBjYy1tb2RlLWV4cGFuc2lvbnMgY2Mt bW9kZSBjYy1mb250cyBjYy1ndWVzcwpjYy1tZW51cyBjYy1jbWRzIGNjLXN0eWxlcyBjYy1hbGln biBjYy1lbmdpbmUgY2MtdmFycyBjYy1kZWZzIG9iLXB5dGhvbgpvYi1zaCBvYi1ydWJ5IG9iLXBl cmwgb3gtZ2ZtIG94LW9kdCBybmctbG9jIHJuZy11cmkgcm5nLXBhcnNlIHJuZy1tYXRjaApybmct ZHQgcm5nLXV0aWwgcm5nLXB0dHJuIG54bWwtcGFyc2UgbnhtbC1ucyBueG1sLWVuYyB4bWx0b2sg bnhtbC11dGlsCm94LWJlYW1lciBveC1tZCBveC1sYXRleCBveC1pY2FsZW5kYXIgb3gtaHRtbCBv eC1hc2NpaSBveC1wdWJsaXNoIG94Cm9yZy1lbGVtZW50IG9yZy1idWxsZXRzIGluaXQtbWFya2Rv d24gbWFya2Rvd24tbW9kZSBpbml0LXNoZWxsCmluaXQtcHJvZy1tb2RlIGluaXQtZ2l0IGRpbWlu aXNoIGdpdC1ndXR0ZXItZnJpbmdlIGZyaW5nZS1oZWxwZXIKZ2l0LWd1dHRlciBtYWdpdC1ibGFt ZSBtYWdpdC1zdGFzaCBtYWdpdC1iaXNlY3QgbWFnaXQtcmVtb3RlCm1hZ2l0LWNvbW1pdCBtYWdp dC1zZXF1ZW5jZSBtYWdpdCBtYWdpdC1sb2cgbWFnaXQtYXBwbHkgbWFnaXQtd2lwCm1hZ2l0LWRp ZmYgc21lcmdlLW1vZGUgZGlmZi1tb2RlIG1hZ2l0LWNvcmUgbWFnaXQtcHJvY2VzcyBtYWdpdC1w b3B1cAptYWdpdC1tb2RlIGhlbHAtbW9kZSBtYWdpdC1naXQgY3JtIG1hZ2l0LXNlY3Rpb24gbWFn aXQtdXRpbHMgZ2l0LWNvbW1pdApsb2ctZWRpdCBtZXNzYWdlIHJmYzgyMiBtbWwgbW1sLXNlYyBt bS1kZWNvZGUgbW0tYm9kaWVzIG1tLWVuY29kZQptYWlsLXBhcnNlIHJmYzIyMzEgcmZjMjA0NyBy ZmMyMDQ1IGlldGYtZHJ1bXMgbWFpbGFiYnJldiBtYWlsLXV0aWxzCmdtbS11dGlscyBtYWlsaGVh ZGVyIHBjdnMtdXRpbCBhZGQtbG9nIHdpdGgtZWRpdG9yIHRyYW1wLXNoIHNlcnZlcgppbml0LWRp cmVkIGZpbmQtZGlyZWQgd2RpcmVkIGluaXQtZmxiLW1vZGUgaW5pdC1oZWxtLXByb2plY3RpbGUK cHJvamVjdC1leHBsb3JlciBoZWxtLW1vZGUgZmlsZW5vdGlmeSBlcy13aW5kb3dzIGZhY2UtcmVt YXAgZXMtbGliCmVzLWxpYi10b3RhbC1saW5lIGVzLWxpYi1sZXhpY2FsIGVzLWxpYi1idWZmZXIt bG9jYWwtc2V0LWtleQplcy1saWItdGV4dC1uYXZpZ2F0ZSBlcy1saWItY29yZS1mdW5jdGlvbnMg ZXMtbGliLWNvcmUtbWFjcm9zIGhlbG0tc3dvb3AKaGVsbS1wcm9qZWN0aWxlIGhlbG0tZmlsZXMg cnggaW1hZ2UtZGlyZWQgdHJhbXAgdHJhbXAtY29tcGF0CnRyYW1wLWxvYWRkZWZzIHRyYW1wdmVy IHNoZWxsIGRpcmVkLXggZGlyZWQtYXV4IGZmYXAgaGVsbS10YWdzCmhlbG0tYm9va21hcmsgaGVs bS1hZGFwdGl2ZSBoZWxtLWluZm8gYm9va21hcmsgcHAgaGVsbS1leHRlcm5hbCBoZWxtLW5ldApi cm93c2UtdXJsIHhtbCB1cmwgdXJsLXByb3h5IHVybC1wcml2YWN5IHVybC1leHBhbmQgdXJsLW1l dGhvZHMKdXJsLWhpc3RvcnkgdXJsLWNvb2tpZSB1cmwtZG9tc3VmIHVybC11dGlsIHVybC1wYXJz ZSBhdXRoLXNvdXJjZQpnbnVzLXV0aWwgbW0tdXRpbCBtYWlsLXByc3ZyIHBhc3N3b3JkLWNhY2hl IHVybC12YXJzIG1haWxjYXAKaGVsbS1idWZmZXJzIGhlbG0tbWF0Y2gtcGx1Z2luIGhlbG0tZ3Jl cCBoZWxtLXJlZ2V4cCBoZWxtLXBsdWdpbgpoZWxtLWVsc2NyZWVuIGhlbG0tdXRpbHMgaGVsbS1s b2NhdGUgaGVsbS1oZWxwIGhlbG0tdHlwZXMgcHJvamVjdGlsZQpjb21waWxlIGlidWYtZXh0IGli dWZmZXIgZGFzaCBoZWxtIGhlbG0tc291cmNlIGVpZWlvIGVpZWlvLWNvcmUgaGVsbS1saWIKZGly ZWQgaW5pdC1hdXRvY29tcGxldGUgYXV0by1jb21wbGV0ZS1jb25maWcgYXV0by1jb21wbGV0ZSBl ZG1hY3JvCmttYWNybyBjbC1tYWNzIGluaXQtaWRvIHJlY2VudGYgdHJlZS13aWRnZXQgd2lkLWVk aXQgaWRvIGluaXQtdXRpbAp3YXJuaW5ncyBwb3B1cCBnb3RvLWNoZyBpbml0LXdpbmRvdy1tYW5h Z2VyIHdpbmRtb3ZlIGluaXQtbGludW0gbmxpbnVtCmluaXQtZm9udC1sb2NrIGluaXQtbG9vay1h bmQtZmVlbCB2bGYtc2V0dXAgZXhwYW5kLXJlZ2lvbgp0ZXh0LW1vZGUtZXhwYW5zaW9ucyB0aGUt b3JnLW1vZGUtZXhwYW5zaW9ucyBlci1iYXNpYy1leHBhbnNpb25zCnRoaW5nYXRwdCBleHBhbmQt cmVnaW9uLWNvcmUgZXhwYW5kLXJlZ2lvbi1jdXN0b20gZGVsc2VsIHBhcmVuIGNsIGd2CmluaXQt dGhlbWVzIGZpbGwtY29sdW1uLWluZGljYXRvciBieXRlLW9wdCBoaWxpbnVtLW1vZGUgY2wtbG9h ZGRlZnMKY2wtbGliIGxpbnVtIHRvbW9ycm93LW5pZ2h0LXRoZW1lIGNvbG9yLXRoZW1lLXRvbW9y cm93IG9yZyBvcmctbWFjcm8Kb3JnLWZvb3Rub3RlIG9yZy1wY29tcGxldGUgcGNvbXBsZXRlIG9y Zy1saXN0IG9yZy1mYWNlcyBvcmctZW50aXRpZXMKbm91dGxpbmUgb3V0bGluZSBlYXN5LW1tb2Rl IG9yZy12ZXJzaW9uIG9iLWVtYWNzLWxpc3Agb2Igb2ItdGFuZ2xlCm9iLXJlZiBvYi1sb2Igb2It dGFibGUgb2ItZXhwIG9yZy1zcmMgb2Ita2V5cyBvYi1jb21pbnQgY29taW50CmFuc2ktY29sb3Ig cmluZyBvYi1jb3JlIG9iLWV2YWwgb3JnLWNvbXBhdCBvcmctbWFjcyBvcmctbG9hZGRlZnMKZm9y bWF0LXNwZWMgZmluZC1mdW5jIGNhbC1tZW51IGNhbGVuZGFyIGNhbC1sb2FkZGVmcyBpbml0LXBy b2dyZXNzLWJhcgppbml0LXByZWZzIGluaXQtZW52aXJvbm1lbnQgaW5pdC1saWIgYnl0ZWNvbXAg Ynl0ZS1jb21waWxlIGNjb252IGFkdmljZQpoZWxwLWZucyBpbmZvIGVhc3ltZW51IHBhY2thZ2Ug ZXBnLWNvbmZpZyB0aW1lLWRhdGUgdG9vbHRpcCBlbGVjdHJpYwp1bmlxdWlmeSBlZGlmZi1ob29r IHZjLWhvb2tzIGxpc3AtZmxvYXQtdHlwZSBtd2hlZWwgeC13aW4geC1kbmQgdG9vbC1iYXIKZG5k IGZvbnRzZXQgaW1hZ2UgcmVnZXhwLW9wdCBmcmluZ2UgdGFidWxhdGVkLWxpc3QgbmV3Y29tbWVu dCBsaXNwLW1vZGUKcHJvZy1tb2RlIHJlZ2lzdGVyIHBhZ2UgbWVudS1iYXIgcmZuLWVzaGFkb3cg dGltZXIgc2VsZWN0IHNjcm9sbC1iYXIKbW91c2Ugaml0LWxvY2sgZm9udC1sb2NrIHN5bnRheCBm YWNlbWVudSBmb250LWNvcmUgZnJhbWUgY2hhbSBnZW9yZ2lhbgp1dGYtOC1sYW5nIG1pc2MtbGFu ZyB2aWV0bmFtZXNlIHRpYmV0YW4gdGhhaSB0YWktdmlldCBsYW8ga29yZWFuCmphcGFuZXNlIGhl YnJldyBncmVlayByb21hbmlhbiBzbG92YWsgY3plY2ggZXVyb3BlYW4gZXRoaW9waWMgaW5kaWFu CmN5cmlsbGljIGNoaW5lc2UgY2FzZS10YWJsZSBlcGEtaG9vayBqa2EtY21wci1ob29rIGhlbHAg c2ltcGxlIGFiYnJldgptaW5pYnVmZmVyIG5hZHZpY2UgbG9hZGRlZnMgYnV0dG9uIGZhY2VzIGN1 cy1mYWNlIG1hY3JvZXhwIGZpbGVzCnRleHQtcHJvcGVydGllcyBvdmVybGF5IHNoYTEgbWQ1IGJh c2U2NCBmb3JtYXQgZW52IGNvZGUtcGFnZXMgbXVsZQpjdXN0b20gd2lkZ2V0IGhhc2h0YWJsZS1w cmludC1yZWFkYWJsZSBiYWNrcXVvdGUgbWFrZS1uZXR3b3JrLXByb2Nlc3MKZGJ1c2JpbmQgZ2Zp bGVub3RpZnkgZHluYW1pYy1zZXR0aW5nIGZvbnQtcmVuZGVyLXNldHRpbmcgbW92ZS10b29sYmFy Cmd0ayB4LXRvb2xraXQgeCBtdWx0aS10dHkgZW1hY3MpCgpNZW1vcnkgaW5mb3JtYXRpb246Cigo Y29uc2VzIDE2IDQ3NjcxMyA0NDM4MikKKHN5bWJvbHMgNDggNTUzMjIgMCkKKG1pc2NzIDQwIDMw MyAzODkpCihzdHJpbmdzIDMyIDEzODkwMCAyNDMxNSkKKHN0cmluZy1ieXRlcyAxIDQwODk3NTgp Cih2ZWN0b3JzIDE2IDUzOTkyKQoodmVjdG9yLXNsb3RzIDggODcwNDI2IDIyOTc5KQooZmxvYXRz IDggNDc1IDI2NSkKKGludGVydmFscyA1NiAxNDMwIDg4MCkKKGJ1ZmZlcnMgOTYwIDE0KQooaGVh cCAxMDI0IDIwNzcxNCAxMTI3KSkKCg== --BOUNDARY_55F6D62E02050314003904F5_0_78165_p057 Content-Type: text/html; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+PC9oZWFkPjxib2R5PjwhLS0gcnRlLXZlcnNpb24g MC4yIDk5NDc1NTE2MzcyOTQwMDhiNzdiY2UyNWViNjgzZGFjIC0tPjxkaXYgY2xhc3M9InJ0ZS1z dHlsZS1tYWludGFpbmVyIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyB3aGl0ZS1zcGFjZTog cHJlLXdyYXA7IGZvbnQtc2l6ZTogc21hbGw7IGNvbG9yOiByZ2IoMCwgMCwgMCk7ImRhdGEtY29s b3I9Imdsb2JhbC1kZWZhdWx0IiBiYmctY29sb3I9ImRlZmF1bHQiIGRhdGEtYmItZm9udC1zaXpl PSJtZWRpdW0iIGJiZy1mb250LXNpemU9Im1lZGl1bSIgYmJnLWZvbnQtZmFtaWx5PSJub3JtYWwi Pi0tdGV4dCBmb2xsb3dzIHRoaXMgbGluZS0tPGRpdj48YnI+PC9kaXY+PGRpdj4xKSBDcmVhdGUg YSBmaWxlIHdpdGggdGhpcyB0ZXh0OjwvZGl2PjxkaXY+IyAtKi0gc2ggLSotPC9kaXY+PGRpdj50 aGlzX2lzX3BhcnNlZCAoKTwvZGl2PjxkaXY+ezwvZGl2PjxkaXY+ZWNobyAxPC9kaXY+PGRpdj59 PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5mdW5jdGlvbiB0aGlzX2lzX2Fsc29fcGFyc2VkPC9k aXY+PGRpdj57PC9kaXY+PGRpdj5lY2hvIDE8L2Rpdj48ZGl2Pn08L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PnRoaXMtaXMtbm90LXBhcnNlZCAoKTwvZGl2PjxkaXY+ezwvZGl2PjxkaXY+ZWNobyAx PC9kaXY+PGRpdj59PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5mdW5jdGlvbiB0aGlzLWlzLWFs c28tbm90LXBhcnNlZDwvZGl2PjxkaXY+ezwvZGl2PjxkaXY+ZWNobyAxPC9kaXY+PGRpdj59PC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj4yKSBMb2FkIGl0IGludG8gZW1hY3MgdGhhdCBoYXMgaW1l bnUuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4zKSBMb29rIGZvciBmdW5jdGlvbnMgaW4gdGhl IGltZW51IGxpc3QuIE9ubHkgdGhlIG9uZXMgd2l0aCAnXycgc2hvdyB1cC4gVGhlIG9uZXMgd2l0 aCAnLScgZG8gbm90LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SW4gR05VIEVtYWNzIDI0LjQu MSAoeDg2XzY0LXVua25vd24tbGludXgtZ251LCBHVEsrIFZlcnNpb24gMy44LjkpPC9kaXY+PGRp dj5vZiAyMDE1LTA5LTAxIG9uIG55bG54YmxkbzI8L2Rpdj48ZGl2PldpbmRvd2luZyBzeXN0ZW0g ZGlzdHJpYnV0b3IgYEh1bW1pbmdiaXJkIC0gT3BlbiBUZXh0JywgdmVyc2lvbiAxMS4wLjEzODMw PC9kaXY+PGRpdj5TeXN0ZW0gRGVzY3JpcHRpb246ICAgICBSZWQgSGF0IEVudGVycHJpc2UgTGlu dXggU2VydmVyIHJlbGVhc2UgNS44IChUaWthbmdhKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ Q29uZmlndXJlZCB1c2luZzo8L2Rpdj48ZGl2PmBjb25maWd1cmUgLS1wcmVmaXg9L29wdC9iYiAt LWxpYmRpcj0vb3B0L2JiL2xpYjY0PC9kaXY+PGRpdj4teC1pbmNsdWRlcz0vb3B0L2JiL2luY2x1 ZGUgLXgtbGlicmFyaWVzPS9vcHQvYmIvbGliNjQ8L2Rpdj48ZGl2Pi0td2l0aG91dC1zZWxpbnV4 IC0td2l0aC1wbmc9bm8gLS13aXRoLWdpZj1ubyAtLXdpdGhvdXQtZ3NldHRpbmdzPC9kaXY+PGRp dj5DRkxBR1M9LW02NCBDUFBGTEFHUz0tSS9vcHQvYmIvaW5jbHVkZSAnTERGTEFHUz0tbTY0IC1M L29wdC9iYi9saWI2NDwvZGl2PjxkaXY+LVdsLC0tZW5hYmxlLW5ldy1kdGFncywtUi9vcHQvYmIv bGliNjQnJzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SW1wb3J0YW50IHNldHRpbmdzOjwvZGl2 PjxkaXY+dmFsdWUgb2YgJExBTkc6IEM8L2Rpdj48ZGl2PmxvY2FsZS1jb2Rpbmctc3lzdGVtOiBu aWw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk1ham9yIG1vZGU6IFNoZWxsLXNjcmlwdDwvZGl2 PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWlub3IgbW9kZXMgaW4gZWZmZWN0OjwvZGl2PjxkaXY+c2gt ZWxlY3RyaWMtaGVyZS1kb2N1bWVudC1tb2RlOiB0PC9kaXY+PGRpdj5mbHlzcGVsbC1tb2RlOiB0 PC9kaXY+PGRpdj5leG9yZGl1bS1yZXF1aXJlLWZpbmFsLW5ld2xpbmUtbW9kZTogdDwvZGl2Pjxk aXY+ZXhvcmRpdW0tc2hvdy10cmFpbGluZy13aGl0ZXNwYWNlLW1vZGU6IHQ8L2Rpdj48ZGl2Pmds b2JhbC1naXQtZ3V0dGVyLW1vZGU6IHQ8L2Rpdj48ZGl2PmRpZmYtYXV0by1yZWZpbmUtbW9kZTog dDwvZGl2PjxkaXY+Z2xvYmFsLWdpdC1jb21taXQtbW9kZTogdDwvZGl2PjxkaXY+c2hlbGwtZGly dHJhY2stbW9kZTogdDwvZGl2PjxkaXY+cHJvamVjdGlsZS1nbG9iYWwtbW9kZTogdDwvZGl2Pjxk aXY+cHJvamVjdGlsZS1tb2RlOiB0PC9kaXY+PGRpdj5nbG9iYWwtYXV0by1jb21wbGV0ZS1tb2Rl OiB0PC9kaXY+PGRpdj5hdXRvLWNvbXBsZXRlLW1vZGU6IHQ8L2Rpdj48ZGl2PnJlY2VudGYtbW9k ZTogdDwvZGl2PjxkaXY+ZGVsZXRlLXNlbGVjdGlvbi1tb2RlOiB0PC9kaXY+PGRpdj5zaG93LXBh cmVuLW1vZGU6IHQ8L2Rpdj48ZGl2Pmdsb2JhbC1saW51bS1tb2RlOiB0PC9kaXY+PGRpdj5saW51 bS1tb2RlOiB0PC9kaXY+PGRpdj50b29sdGlwLW1vZGU6IHQ8L2Rpdj48ZGl2PmVsZWN0cmljLWlu ZGVudC1tb2RlOiB0PC9kaXY+PGRpdj5tb3VzZS13aGVlbC1tb2RlOiB0PC9kaXY+PGRpdj5tZW51 LWJhci1tb2RlOiB0PC9kaXY+PGRpdj5maWxlLW5hbWUtc2hhZG93LW1vZGU6IHQ8L2Rpdj48ZGl2 Pmdsb2JhbC1mb250LWxvY2stbW9kZTogdDwvZGl2PjxkaXY+Zm9udC1sb2NrLW1vZGU6IHQ8L2Rp dj48ZGl2PmF1dG8tY29tcG9zaXRpb24tbW9kZTogdDwvZGl2PjxkaXY+YXV0by1lbmNyeXB0aW9u LW1vZGU6IHQ8L2Rpdj48ZGl2PmF1dG8tY29tcHJlc3Npb24tbW9kZTogdDwvZGl2PjxkaXY+Y29s dW1uLW51bWJlci1tb2RlOiB0PC9kaXY+PGRpdj5saW5lLW51bWJlci1tb2RlOiB0PC9kaXY+PGRp dj50cmFuc2llbnQtbWFyay1tb2RlOiB0PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5SZWNlbnQg aW5wdXQ6PC9kaXY+PGRpdj5fICZsdDtyZXR1cm4mZ3Q7ICZsdDtDLWhvbWUmZ3Q7ICZsdDtDLWhv bWUmZ3Q7IEMtcyBnIGkgdCAtIGcgbyAtIGYgJmx0O2JhY2tzcGFjZSZndDsgPC9kaXY+PGRpdj5f ICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7IF8gZiAmbHQ7YmFja3NwYWNlJmd0 OyBDLXMgQy1zIEMtZyA8L2Rpdj48ZGl2PkMtZyBDLWcgQy1nIEMtZyBDLXMgTSBPIFAgQy1zIEMt cyAmbHQ7Qy1ob21lJmd0OyAmbHQ7Qy1ob21lJmd0OyA8L2Rpdj48ZGl2PiZsdDtDLWhvbWUmZ3Q7 ICZsdDtlc2NhcGUmZ3Q7IEMtdCBnIG8gdCBDLV8gQy1fICZsdDtlc2NhcGUmZ3Q7IEMtciBnIDwv ZGl2PjxkaXY+aSB0IC0gZyBvIGYgaSBsIGUgJmx0O3JldHVybiZndDsgJmx0O3VwJmd0OyAmbHQ7 bGVmdCZndDsgJmx0O3JpZ2h0Jmd0OyAmbHQ7cmlnaHQmZ3Q7IDwvZGl2PjxkaXY+Jmx0O3JpZ2h0 Jmd0OyAmbHQ7cmlnaHQmZ3Q7ICZsdDtyaWdodCZndDsgJmx0O2JhY2tzcGFjZSZndDsgXyAmbHQ7 ZG93biZndDsgJmx0O3VwJmd0OyAmbHQ7cmlnaHQmZ3Q7IDwvZGl2PjxkaXY+Jmx0O3JpZ2h0Jmd0 OyBfICZsdDtyZXR1cm4mZ3Q7IFNQQyBTUEMgU1BDIFNQQyBTUEMgU1BDIFNQQyBTUEMgPC9kaXY+ PGRpdj4mbHQ7Qy1ob21lJmd0OyAmbHQ7Qy1ob21lJmd0OyAmbHQ7ZXNjYXBlJmd0OyBDLXIgZyBp IHQgLSBnIG8gXyBmIGkgbCA8L2Rpdj48ZGl2PmUgJmx0O3JldHVybiZndDsgJmx0O3VwJmd0OyAm bHQ7bGVmdCZndDsgJmx0O2Rvd24mZ3Q7ICZsdDtyaWdodCZndDsgJmx0O2Rvd24mZ3Q7ICZsdDtk b3duJmd0OyA8L2Rpdj48ZGl2PiZsdDtkb3duJmd0OyAmbHQ7cmlnaHQmZ3Q7ICZsdDtyaWdodCZn dDsgJmx0O3JpZ2h0Jmd0OyAmbHQ7cmlnaHQmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7IDwvZGl2Pjxk aXY+KyBfICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7IF8gJmx0O3JldHVybiZn dDsgISAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4mbHQ7dXAmZ3Q7ICZsdDt1cCZn dDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7 ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4m bHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0 O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1 cCZndDsgPC9kaXY+PGRpdj4mbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAm Z3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0 OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4mbHQ7dXAmZ3Q7ICZsdDt1cCZndDsg Jmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZs dDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4mbHQ7 dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3Vw Jmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZn dDsgPC9kaXY+PGRpdj4mbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7 ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAm bHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4mbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0 O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1 cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgPC9kaXY+PGRpdj4mbHQ7dXAm Z3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0 OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsgJmx0O3VwJmd0OyAmbHQ7dXAmZ3Q7ICZsdDt1cCZndDsg PC9kaXY+PGRpdj4mbHQ7ZG93biZndDsgJmx0O2Rvd24mZ3Q7ICZsdDtkb3duJmd0OyAmbHQ7ZG93 biZndDsgJmx0O2Rvd24mZ3Q7ICZsdDt1cCZndDsgJmx0O2Rvd24mZ3Q7IEMteCA8L2Rpdj48ZGl2 PkMteiBDLXggQy1zICZsdDtoZWxwLWVjaG8mZ3Q7ICZsdDtoZWxwLWVjaG8mZ3Q7ICZsdDtoZWxw LWVjaG8mZ3Q7ICZsdDtoZWxwLWVjaG8mZ3Q7IDwvZGl2PjxkaXY+Jmx0O2hlbHAtZWNobyZndDsg Jmx0O2hlbHAtZWNobyZndDsgJmx0O2hlbHAtZWNobyZndDsgJmx0O2hlbHAtZWNobyZndDsgJmx0 O2hlbHAtZWNobyZndDsgPC9kaXY+PGRpdj4mbHQ7aGVscC1lY2hvJmd0OyAmbHQ7aGVscC1lY2hv Jmd0OyAmbHQ7ZG93bi1tb3VzZS0xJmd0OyAmbHQ7bW91c2UtMSZndDsgJmx0O2Rvd24tbW91c2Ut NSZndDsgPC9kaXY+PGRpdj4mbHQ7bW91c2UtNSZndDsgJmx0O2RvdWJsZS1kb3duLW1vdXNlLTUm Z3Q7ICZsdDtkb3VibGUtbW91c2UtNSZndDsgJmx0O3RyaXBsZS1kb3duLW1vdXNlLTUmZ3Q7IDwv ZGl2PjxkaXY+Jmx0O3RyaXBsZS1tb3VzZS01Jmd0OyAmbHQ7dHJpcGxlLWRvd24tbW91c2UtNSZn dDsgJmx0O3RyaXBsZS1tb3VzZS01Jmd0OyA8L2Rpdj48ZGl2PiZsdDtkb3duLW1vdXNlLTUmZ3Q7 ICZsdDttb3VzZS01Jmd0OyAmbHQ7ZG91YmxlLWRvd24tbW91c2UtNSZndDsgJmx0O2RvdWJsZS1t b3VzZS01Jmd0OyA8L2Rpdj48ZGl2PiZsdDt0cmlwbGUtZG93bi1tb3VzZS01Jmd0OyAmbHQ7dHJp cGxlLW1vdXNlLTUmZ3Q7ICZsdDtkb3duLW1vdXNlLTEmZ3Q7IDwvZGl2PjxkaXY+Jmx0O21vdXNl LTEmZ3Q7ICZsdDtkb3duLW1vdXNlLTMmZ3Q7ICZsdDttb3VzZS0zJmd0OyAmbHQ7ZG93bi1tb3Vz ZS0zJmd0OyAmbHQ7bW91c2UtMyZndDsgPC9kaXY+PGRpdj4mbHQ7ZG93bi1tb3VzZS0xJmd0OyAm bHQ7bW91c2UtMSZndDsgJmx0O2hlbHAtZWNobyZndDsgJmx0O2VzY2FwZSZndDsgeCBlIG0gPC9k aXY+PGRpdj5hIGMgcyAtIHIgZSBwIG8gdCAmbHQ7YmFja3NwYWNlJmd0OyByIHQgLSBiIHUgZyAm bHQ7cmV0dXJuJmd0OyA8L2Rpdj48ZGl2PiZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2Um Z3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7 IDwvZGl2PjxkaXY+Jmx0O2JhY2tzcGFjZSZndDsgJmx0O2JhY2tzcGFjZSZndDsgJmx0O2JhY2tz cGFjZSZndDsgJmx0O2JhY2tzcGFjZSZndDsgJmx0O2JhY2tzcGFjZSZndDsgPC9kaXY+PGRpdj4m bHQ7YmFja3NwYWNlJmd0OyAmbHQ7YmFja3NwYWNlJmd0OyAmbHQ7YmFja3NwYWNlJmd0OyAmbHQ7 YmFja3NwYWNlJmd0OyAmbHQ7YmFja3NwYWNlJmd0OyA8L2Rpdj48ZGl2PiZsdDtiYWNrc3BhY2Um Z3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7ICZsdDtiYWNrc3BhY2UmZ3Q7 IHIgZSA8L2Rpdj48ZGl2PnAgJmx0O3RhYiZndDsgbyAmbHQ7dGFiJmd0OyByICZsdDt0YWImZ3Q7 ICZsdDtyZXR1cm4mZ3Q7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5SZWNlbnQgbWVzc2FnZXM6 PC9kaXY+PGRpdj5jYWxsLWludGVyYWN0aXZlbHk6IEVuZCBvZiBidWZmZXI8L2Rpdj48ZGl2PnVz ZXItZXJyb3I6IEVuZCBvZiBkZWZhdWx0czsgbm8gbmV4dCBpdGVtIFsyIHRpbWVzXTwvZGl2Pjxk aXY+TWFyayBzZXQ8L2Rpdj48ZGl2PlJlcGxhY2VkIDggb2NjdXJyZW5jZXM8L2Rpdj48ZGl2PkF1 dG8tc2F2aW5nLi4uZG9uZTwvZGl2PjxkaXY+U2F2aW5nIGZpbGUgL2hvbWUvbXBlcnNpY281L3Bl cnNvbmFsL2Jpbi9naXRmdW5jcy4uLjwvZGl2PjxkaXY+V3JvdGUgL2hvbWUvbXBlcnNpY281L3Bl cnNvbmFsL2Jpbi9naXRmdW5jczwvZGl2PjxkaXY+UXVpdCBbMiB0aW1lc108L2Rpdj48ZGl2PmRl bGV0ZS1iYWNrd2FyZC1jaGFyOiBUZXh0IGlzIHJlYWQtb25seSBbMyB0aW1lc108L2Rpdj48ZGl2 Pk1ha2luZyBjb21wbGV0aW9uIGxpc3QuLi4gWzIgdGltZXNdPC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj5Mb2FkLXBhdGggc2hhZG93czo8L2Rpdj48ZGl2Pk5vbmUgZm91bmQuPC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj5GZWF0dXJlczo8L2Rpdj48ZGl2PihzaGFkb3cgc29ydCBtYWlsLWV4dHIg ZW1hY3NidWcgc2VuZG1haWwgbWlzZWFyY2ggbXVsdGktaXNlYXJjaDwvZGl2PjxkaXY+c2gtc2Ny aXB0IHNtaWUgZXhlY3V0YWJsZSBmbHltYWtlIGRpc3AtdGFibGUgZmx5c3BlbGwgaXNwZWxsPC9k aXY+PGRpdj50b21vcnJvdy1uaWdodC1icmlnaHQtdGhlbWUgaW5pdC1wb3dlcmxpbmUgcG93ZXJs aW5lPC9kaXY+PGRpdj5wb3dlcmxpbmUtc2VwYXJhdG9ycyBjb2xvciBwb3dlcmxpbmUtdGhlbWVz IGluaXQtZWxpc3AgcGFnZS1icmVhay1saW5lczwvZGl2PjxkaXY+aW5pdC1ydWJ5IGluaXQtcHl0 aG9uIGluaXQtamF2YXNjcmlwdCBqczItaW1lbnUtZXh0cmFzPC9kaXY+PGRpdj5qczItbW9kZS1l eHBhbnNpb25zIGpzMi1tb2RlIGpzMi1vbGQtaW5kZW50IGpzLW1vZGUtZXhwYW5zaW9ucyBqcyBq c29uPC9kaXY+PGRpdj5pbWVudSBpbml0LXJ0YWdzLWhlbG0gaW5pdC1ydGFncyBhdXRvLWNvbXBs ZXRlLWMtaGVhZGVycyBydGFncy1hYyBydGFnczwvZGl2PjxkaXY+cmVwZWF0IGluaXQteWFzbmlw cGV0IHlhc25pcHBldCBpbml0LWJkZS1zdHlsZSBpbml0LWNwcCBjcHAgaW5pdC14bWw8L2Rpdj48 ZGl2PmluaXQtb3JnIG9iLWRvdCBvYi1DIGNjLW1vZGUtZXhwYW5zaW9ucyBjYy1tb2RlIGNjLWZv bnRzIGNjLWd1ZXNzPC9kaXY+PGRpdj5jYy1tZW51cyBjYy1jbWRzIGNjLXN0eWxlcyBjYy1hbGln biBjYy1lbmdpbmUgY2MtdmFycyBjYy1kZWZzIG9iLXB5dGhvbjwvZGl2PjxkaXY+b2Itc2ggb2It cnVieSBvYi1wZXJsIG94LWdmbSBveC1vZHQgcm5nLWxvYyBybmctdXJpIHJuZy1wYXJzZSBybmct bWF0Y2g8L2Rpdj48ZGl2PnJuZy1kdCBybmctdXRpbCBybmctcHR0cm4gbnhtbC1wYXJzZSBueG1s LW5zIG54bWwtZW5jIHhtbHRvayBueG1sLXV0aWw8L2Rpdj48ZGl2Pm94LWJlYW1lciBveC1tZCBv eC1sYXRleCBveC1pY2FsZW5kYXIgb3gtaHRtbCBveC1hc2NpaSBveC1wdWJsaXNoIG94PC9kaXY+ PGRpdj5vcmctZWxlbWVudCBvcmctYnVsbGV0cyBpbml0LW1hcmtkb3duIG1hcmtkb3duLW1vZGUg aW5pdC1zaGVsbDwvZGl2PjxkaXY+aW5pdC1wcm9nLW1vZGUgaW5pdC1naXQgZGltaW5pc2ggZ2l0 LWd1dHRlci1mcmluZ2UgZnJpbmdlLWhlbHBlcjwvZGl2PjxkaXY+Z2l0LWd1dHRlciBtYWdpdC1i bGFtZSBtYWdpdC1zdGFzaCBtYWdpdC1iaXNlY3QgbWFnaXQtcmVtb3RlPC9kaXY+PGRpdj5tYWdp dC1jb21taXQgbWFnaXQtc2VxdWVuY2UgbWFnaXQgbWFnaXQtbG9nIG1hZ2l0LWFwcGx5IG1hZ2l0 LXdpcDwvZGl2PjxkaXY+bWFnaXQtZGlmZiBzbWVyZ2UtbW9kZSBkaWZmLW1vZGUgbWFnaXQtY29y ZSBtYWdpdC1wcm9jZXNzIG1hZ2l0LXBvcHVwPC9kaXY+PGRpdj5tYWdpdC1tb2RlIGhlbHAtbW9k ZSBtYWdpdC1naXQgY3JtIG1hZ2l0LXNlY3Rpb24gbWFnaXQtdXRpbHMgZ2l0LWNvbW1pdDwvZGl2 PjxkaXY+bG9nLWVkaXQgbWVzc2FnZSByZmM4MjIgbW1sIG1tbC1zZWMgbW0tZGVjb2RlIG1tLWJv ZGllcyBtbS1lbmNvZGU8L2Rpdj48ZGl2Pm1haWwtcGFyc2UgcmZjMjIzMSByZmMyMDQ3IHJmYzIw NDUgaWV0Zi1kcnVtcyBtYWlsYWJicmV2IG1haWwtdXRpbHM8L2Rpdj48ZGl2PmdtbS11dGlscyBt YWlsaGVhZGVyIHBjdnMtdXRpbCBhZGQtbG9nIHdpdGgtZWRpdG9yIHRyYW1wLXNoIHNlcnZlcjwv ZGl2PjxkaXY+aW5pdC1kaXJlZCBmaW5kLWRpcmVkIHdkaXJlZCBpbml0LWZsYi1tb2RlIGluaXQt aGVsbS1wcm9qZWN0aWxlPC9kaXY+PGRpdj5wcm9qZWN0LWV4cGxvcmVyIGhlbG0tbW9kZSBmaWxl bm90aWZ5IGVzLXdpbmRvd3MgZmFjZS1yZW1hcCBlcy1saWI8L2Rpdj48ZGl2PmVzLWxpYi10b3Rh bC1saW5lIGVzLWxpYi1sZXhpY2FsIGVzLWxpYi1idWZmZXItbG9jYWwtc2V0LWtleTwvZGl2Pjxk aXY+ZXMtbGliLXRleHQtbmF2aWdhdGUgZXMtbGliLWNvcmUtZnVuY3Rpb25zIGVzLWxpYi1jb3Jl LW1hY3JvcyBoZWxtLXN3b29wPC9kaXY+PGRpdj5oZWxtLXByb2plY3RpbGUgaGVsbS1maWxlcyBy eCBpbWFnZS1kaXJlZCB0cmFtcCB0cmFtcC1jb21wYXQ8L2Rpdj48ZGl2PnRyYW1wLWxvYWRkZWZz IHRyYW1wdmVyIHNoZWxsIGRpcmVkLXggZGlyZWQtYXV4IGZmYXAgaGVsbS10YWdzPC9kaXY+PGRp dj5oZWxtLWJvb2ttYXJrIGhlbG0tYWRhcHRpdmUgaGVsbS1pbmZvIGJvb2ttYXJrIHBwIGhlbG0t ZXh0ZXJuYWwgaGVsbS1uZXQ8L2Rpdj48ZGl2PmJyb3dzZS11cmwgeG1sIHVybCB1cmwtcHJveHkg dXJsLXByaXZhY3kgdXJsLWV4cGFuZCB1cmwtbWV0aG9kczwvZGl2PjxkaXY+dXJsLWhpc3Rvcnkg dXJsLWNvb2tpZSB1cmwtZG9tc3VmIHVybC11dGlsIHVybC1wYXJzZSBhdXRoLXNvdXJjZTwvZGl2 PjxkaXY+Z251cy11dGlsIG1tLXV0aWwgbWFpbC1wcnN2ciBwYXNzd29yZC1jYWNoZSB1cmwtdmFy cyBtYWlsY2FwPC9kaXY+PGRpdj5oZWxtLWJ1ZmZlcnMgaGVsbS1tYXRjaC1wbHVnaW4gaGVsbS1n cmVwIGhlbG0tcmVnZXhwIGhlbG0tcGx1Z2luPC9kaXY+PGRpdj5oZWxtLWVsc2NyZWVuIGhlbG0t dXRpbHMgaGVsbS1sb2NhdGUgaGVsbS1oZWxwIGhlbG0tdHlwZXMgcHJvamVjdGlsZTwvZGl2Pjxk aXY+Y29tcGlsZSBpYnVmLWV4dCBpYnVmZmVyIGRhc2ggaGVsbSBoZWxtLXNvdXJjZSBlaWVpbyBl aWVpby1jb3JlIGhlbG0tbGliPC9kaXY+PGRpdj5kaXJlZCBpbml0LWF1dG9jb21wbGV0ZSBhdXRv LWNvbXBsZXRlLWNvbmZpZyBhdXRvLWNvbXBsZXRlIGVkbWFjcm88L2Rpdj48ZGl2PmttYWNybyBj bC1tYWNzIGluaXQtaWRvIHJlY2VudGYgdHJlZS13aWRnZXQgd2lkLWVkaXQgaWRvIGluaXQtdXRp bDwvZGl2PjxkaXY+d2FybmluZ3MgcG9wdXAgZ290by1jaGcgaW5pdC13aW5kb3ctbWFuYWdlciB3 aW5kbW92ZSBpbml0LWxpbnVtIG5saW51bTwvZGl2PjxkaXY+aW5pdC1mb250LWxvY2sgaW5pdC1s b29rLWFuZC1mZWVsIHZsZi1zZXR1cCBleHBhbmQtcmVnaW9uPC9kaXY+PGRpdj50ZXh0LW1vZGUt ZXhwYW5zaW9ucyB0aGUtb3JnLW1vZGUtZXhwYW5zaW9ucyBlci1iYXNpYy1leHBhbnNpb25zPC9k aXY+PGRpdj50aGluZ2F0cHQgZXhwYW5kLXJlZ2lvbi1jb3JlIGV4cGFuZC1yZWdpb24tY3VzdG9t IGRlbHNlbCBwYXJlbiBjbCBndjwvZGl2PjxkaXY+aW5pdC10aGVtZXMgZmlsbC1jb2x1bW4taW5k aWNhdG9yIGJ5dGUtb3B0IGhpbGludW0tbW9kZSBjbC1sb2FkZGVmczwvZGl2PjxkaXY+Y2wtbGli IGxpbnVtIHRvbW9ycm93LW5pZ2h0LXRoZW1lIGNvbG9yLXRoZW1lLXRvbW9ycm93IG9yZyBvcmct bWFjcm88L2Rpdj48ZGl2Pm9yZy1mb290bm90ZSBvcmctcGNvbXBsZXRlIHBjb21wbGV0ZSBvcmct bGlzdCBvcmctZmFjZXMgb3JnLWVudGl0aWVzPC9kaXY+PGRpdj5ub3V0bGluZSBvdXRsaW5lIGVh c3ktbW1vZGUgb3JnLXZlcnNpb24gb2ItZW1hY3MtbGlzcCBvYiBvYi10YW5nbGU8L2Rpdj48ZGl2 Pm9iLXJlZiBvYi1sb2Igb2ItdGFibGUgb2ItZXhwIG9yZy1zcmMgb2Ita2V5cyBvYi1jb21pbnQg Y29taW50PC9kaXY+PGRpdj5hbnNpLWNvbG9yIHJpbmcgb2ItY29yZSBvYi1ldmFsIG9yZy1jb21w YXQgb3JnLW1hY3Mgb3JnLWxvYWRkZWZzPC9kaXY+PGRpdj5mb3JtYXQtc3BlYyBmaW5kLWZ1bmMg Y2FsLW1lbnUgY2FsZW5kYXIgY2FsLWxvYWRkZWZzIGluaXQtcHJvZ3Jlc3MtYmFyPC9kaXY+PGRp dj5pbml0LXByZWZzIGluaXQtZW52aXJvbm1lbnQgaW5pdC1saWIgYnl0ZWNvbXAgYnl0ZS1jb21w aWxlIGNjb252IGFkdmljZTwvZGl2PjxkaXY+aGVscC1mbnMgaW5mbyBlYXN5bWVudSBwYWNrYWdl IGVwZy1jb25maWcgdGltZS1kYXRlIHRvb2x0aXAgZWxlY3RyaWM8L2Rpdj48ZGl2PnVuaXF1aWZ5 IGVkaWZmLWhvb2sgdmMtaG9va3MgbGlzcC1mbG9hdC10eXBlIG13aGVlbCB4LXdpbiB4LWRuZCB0 b29sLWJhcjwvZGl2PjxkaXY+ZG5kIGZvbnRzZXQgaW1hZ2UgcmVnZXhwLW9wdCBmcmluZ2UgdGFi dWxhdGVkLWxpc3QgbmV3Y29tbWVudCBsaXNwLW1vZGU8L2Rpdj48ZGl2PnByb2ctbW9kZSByZWdp c3RlciBwYWdlIG1lbnUtYmFyIHJmbi1lc2hhZG93IHRpbWVyIHNlbGVjdCBzY3JvbGwtYmFyPC9k aXY+PGRpdj5tb3VzZSBqaXQtbG9jayBmb250LWxvY2sgc3ludGF4IGZhY2VtZW51IGZvbnQtY29y ZSBmcmFtZSBjaGFtIGdlb3JnaWFuPC9kaXY+PGRpdj51dGYtOC1sYW5nIG1pc2MtbGFuZyB2aWV0 bmFtZXNlIHRpYmV0YW4gdGhhaSB0YWktdmlldCBsYW8ga29yZWFuPC9kaXY+PGRpdj5qYXBhbmVz ZSBoZWJyZXcgZ3JlZWsgcm9tYW5pYW4gc2xvdmFrIGN6ZWNoIGV1cm9wZWFuIGV0aGlvcGljIGlu ZGlhbjwvZGl2PjxkaXY+Y3lyaWxsaWMgY2hpbmVzZSBjYXNlLXRhYmxlIGVwYS1ob29rIGprYS1j bXByLWhvb2sgaGVscCBzaW1wbGUgYWJicmV2PC9kaXY+PGRpdj5taW5pYnVmZmVyIG5hZHZpY2Ug bG9hZGRlZnMgYnV0dG9uIGZhY2VzIGN1cy1mYWNlIG1hY3JvZXhwIGZpbGVzPC9kaXY+PGRpdj50 ZXh0LXByb3BlcnRpZXMgb3ZlcmxheSBzaGExIG1kNSBiYXNlNjQgZm9ybWF0IGVudiBjb2RlLXBh Z2VzIG11bGU8L2Rpdj48ZGl2PmN1c3RvbSB3aWRnZXQgaGFzaHRhYmxlLXByaW50LXJlYWRhYmxl IGJhY2txdW90ZSBtYWtlLW5ldHdvcmstcHJvY2VzczwvZGl2PjxkaXY+ZGJ1c2JpbmQgZ2ZpbGVu b3RpZnkgZHluYW1pYy1zZXR0aW5nIGZvbnQtcmVuZGVyLXNldHRpbmcgbW92ZS10b29sYmFyPC9k aXY+PGRpdj5ndGsgeC10b29sa2l0IHggbXVsdGktdHR5IGVtYWNzKTwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+TWVtb3J5IGluZm9ybWF0aW9uOjwvZGl2PjxkaXY+KChjb25zZXMgMTYgNDc2NzEz IDQ0MzgyKTwvZGl2PjxkaXY+KHN5bWJvbHMgNDggNTUzMjIgMCk8L2Rpdj48ZGl2PihtaXNjcyA0 MCAzMDMgMzg5KTwvZGl2PjxkaXY+KHN0cmluZ3MgMzIgMTM4OTAwIDI0MzE1KTwvZGl2PjxkaXY+ KHN0cmluZy1ieXRlcyAxIDQwODk3NTgpPC9kaXY+PGRpdj4odmVjdG9ycyAxNiA1Mzk5Mik8L2Rp dj48ZGl2Pih2ZWN0b3Itc2xvdHMgOCA4NzA0MjYgMjI5NzkpPC9kaXY+PGRpdj4oZmxvYXRzIDgg NDc1IDI2NSk8L2Rpdj48ZGl2PihpbnRlcnZhbHMgNTYgMTQzMCA4ODApPC9kaXY+PGRpdj4oYnVm ZmVycyA5NjAgMTQpPC9kaXY+PGRpdj4oaGVhcCAxMDI0IDIwNzcxNCAxMTI3KSk8L2Rpdj48ZGl2 Pjxicj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1sPg== --BOUNDARY_55F6D62E02050314003904F5_0_78165_p057-- ------------=_1732975382-11257-3-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: fatiparty@tutanota.com Subject: bug#52319: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> X-Gnu-PR-Message: they-closed 52319 X-Gnu-PR-Package: emacs Reply-To: 52319@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975383-11257-5" This is a multi-part message in MIME format... ------------=_1732975383-11257-5 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: imenu not detecting every bash function which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 52319@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975383-11257-5 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975383-11257-5 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 5 Dec 2021 22:02:47 +0000 Received: from localhost ([127.0.0.1]:59897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtzao-000129-Kb for submit@debbugs.gnu.org; Sun, 05 Dec 2021 17:02:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:53734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtzWN-0000tT-Bw for submit@debbugs.gnu.org; Sun, 05 Dec 2021 16:58:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54952) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtzWM-0004Z9-BH for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 16:58:11 -0500 Received: from w1.tutanota.de ([81.3.6.162]:44332) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtzWK-0005ag-7L for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 16:58:10 -0500 Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 70BA4FA0325 for ; Sun, 5 Dec 2021 21:58:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1638741486; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=iZmHahjUjyllwewx5u2JdbETKYfDDyDdbbcHvrwZ7RU=; b=uDPtVxcUTdY/9843X/9nkHWuYKpazzvap4cEOQq4WrgV0zCB+pQFDhD+juOw51mX 52zm5AMRcDgS5iLN6V68743fAy4jrlnK2K8L0wOkpP+bWQ6WKTT4brIMT2u9/h+7kJU FR7EOCW3fXr2EBBa248AElMqyxqVSHjmy1BZK0FAHiu6tngsPSjkellpmMuKZ+4LYkM +64pSHwkhfiCc3Ci8Y7/BOK2T5eOPagPSxMdYGLlAe36+8KYLWbe8yzo3SOypfz0Ncc TPmdsi2s5Fiw4qi9mxYdKnPpDccbog91l6vmWIDxvWliIMsN1+3ssgVjH5acsQ64Nop lpe7dvjXLw== Date: Sun, 5 Dec 2021 22:58:06 +0100 (CET) From: fatiparty@tutanota.com To: bug-gnu-emacs@gnu.org Message-ID: Subject: imenu not detecting every bash function MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_88295_26866892.1638741486440" Received-SPF: pass client-ip=81.3.6.162; envelope-from=fatiparty@tutanota.com; helo=w1.tutanota.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 05 Dec 2021 17:02:46 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) ------=_Part_88295_26866892.1638741486440 Content-Type: multipart/alternative; boundary="----=_Part_88296_1510268902.1638741486440" ------=_Part_88296_1510268902.1638741486440 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I am loading the attached bash file but imenu is not showing all the declar= ed bash functions in the file, it only shows PF(), PFB(), PF2(), and pfm.= =C2=A0 This has also the consequence of not displaying all functions in spe= edbar. File is attached. Fati ------=_Part_88296_1510268902.1638741486440 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I am loading the attached bash file but imenu is not showing all the declared bash functions in the file, it only shows PF(), PFB(), PF2(), and pfm.  This has also the consequence of not displaying all functions in speedbar.

File is attached.

Fati
------=_Part_88296_1510268902.1638741486440-- ------=_Part_88295_26866892.1638741486440 Content-Type: application/x-shellscript; name=linge-copy.sh Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=linge-copy.sh IyEvYmluL2Jhc2gKCiMgTW9kZTogcmVjCiMgRmlsZTogbGluZ2UucmMgVmVyc2lvbiAxLjAKIyBC cmllZjogYmFzaCBjb21tYW5kcyBjYWxsZWQgZnJvbSAuYmFzaHJjIGZpbGUuCiMgQXV0aG9yOiBT dHJhdGVnaXN0IENocmlzdG9waGVyIERpbWVjaAojIENvcHlyaWdodDogMjAyMSBTdHJhdGVnaXN0 IENocmlzdG9waGVyIERpbWVjaAojIExpY2Vuc2U6IEdudSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMg TGljZW5zZSAoR251IEFHUEwpCiMgKyBWZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb24uCiMg IyBFbmQgb2YgcmVjCgojIDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgojIyBoMSAqIENvcHlpbmcgQ29uZGl0aW9ucwoKIyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gICAgICAKIyAgX18gX19fIF8gX18gXyAg XyAgIF9fIF9fXyBfIF8gIF9ffCB8XyBfICAKIyAvIF8vIF8gXCAnXyBcIHx8IHwgLyBfLyBfIFwg JyBcLyBfYCB8ICcgXCAKIyBcX19cX19fLyAuX18vXF8sIHwgXF9fXF9fXy9ffHxfXF9fLF98X3x8 X3wKIyAgICAgICAgfF98ICAgfF9fLyAgICAgICAgICAgICAgICAgICAgICAgICAKCiMgVGhpcyBm aWxlIGJlbG9uZ3MgdG8gQmVoaXN0dW4sIGEgR251IFBhY2thZ2UuCgojIEJlaGlzdHVuIGlzIGZy ZWUgc29mdHdhcmUuICBZb3UgY2FuIHJlLWRpc3RyaWJ1dGUgQmVoaXN0dW4gYXMgaXMsIG9yCiMg bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR251IEFmZmVybyBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IGVpdGhlciB2ZXJzaW9uIDMgb2YKIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KCiMgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzIGluY2x1ZGVkIGlu IHRoZSBmaWxlICJnbnUtLWFncGwudGV4aSIuICBJZgojIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyBoMSAqIENvbW1lbnRhcnk6CgojIFRoZSAuYmFz aHJjIGZpbGUgcnVucyBldmVyeSBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBpcyBsYXVuY2hlZC4KIyBC YXNoIGFsbG93cyBoeXBoZW5zIGluIGZ1bmN0aW9uIG5hbWVzLCBidXQgbm90IGluIC0tcG9zaXgg bW9kZS4KCiMgQSBudW1iZXIgb2YgY2hlY2tib3hlcyBhcmUgZGlzcGxheWVkIGluIHRoaXMgZmls ZS4gIFRoZXkgc3BsaXQgdGhlCiMgc2V0dXAgdGFza3MgZm9yIHRoZSB1c2VyIGludG8gc2ltcGxl IHN0ZXBzLiAgV2hlbiBhIGpvYiBpcwojIGNvbXBsZXRlZCwgdHlwZSB0aGUgQ2FwaXRhbCBVcHBl cmNhc2UgWCBpbnNpZGUgdGhlIGNoZWNrYm94LAojIGkuZS4gY2hhbmdpbmcgdGhlIGNoZWNrYm94 IHRhZyBmcm9tIFsgXSB0byBbWF0uICBUaGUgJ1swLzVdJyBpbiB0aGUKIyBUT0RPIE91dGxpbmUg aW5kaWNhdGVzIGhvdyBtYW55IGpvYnMgd2l0aCBjaGVja2JveGVzIGhhdmUgYmVlbgojIGNvbXBs ZXRlZCwgYW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgY2hlY2tib3hlcyBwcmVzZW50LiAgT25jZSBh bGwKIyBjaGVja2JveGVzIGFyZSBjb21wbGV0ZWQsIGNoYW5nZSB0aGUgIlRPRE8iIEl0ZW0gd2l0 aCBhICJET05FIiBJdGVtCiMgYnkgcmVtb3ZpbmcgdGhlIHdvcmQgIlRPRE8iIHdpdGggIkRPTkUi LgoKIyAqIFRPRE8gVXNlciBkZWZpbmVkIHNldHVwIGpvYnMgWzAvNV0KIyAgIC0gWyBdIGRpcmNv bG9ycyAtIFNldCBkaXJlY3RvcnkgcGF0aCBhbmQgZmlsZSBuYW1lCiMgICAtIFsgXSB4bW9kbWFw IC0gU2V0IGRpcmVjdG9yeSBwYXRoIGFuZCBmaWxlIG5hbWUKIyAgICAgICAgIEludGVyY2hhbmdl cyBDdHJsIHdpdGggQWx0IGtleSBieSBtb2RpZnlpbmcga2V5bWFwcyBpbiBYb3JnLgojICAgLSBb IF0gU2V0IHN0YXJ0aW5nIGRpcmVjdG9yeSBmb3IgdGhlIENvbW1hbmQgTGluZSBUZXJtaW5hbC4K CiMgQ29kZToKCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCgpQRiAoKQp7CiBwcmludGYgIiVzXG4iICIkQCIKfQoKIyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKClBGQiAoKQp7CiBsb2Nh bCAtciBibHU9JCh0cHV0IGJvbGQpJCh0cHV0IHNldGFmIDM5KQogbG9jYWwgLXIgc2dyPSQodHB1 dCBzZ3IwKQogcHJpbnRmICIlcyIgICAiJGJsdSIKIHByaW50ZiAiJXNcbiIgIiRAIiAKIHByaW50 ZiAiJXMiICAgIiRzZ3IiCn0KCiMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCgpQRjIgKCkKewogcHJpbnRmICIlc1xuXG4iICIkQCIKfQoKIyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKCmxp bmdlLWhlYWRpbmctdXNhZ2UgKCkKewogcHJpbnRmICclc1xuJyAibGluZ2UtaGVhZGluZy11c2Fn ZSAuJCouICQjIgogaWYgKCggJCMgPT0gMCApKTsgdGhlbgogICBQRiAiRGlzcGxheSBhIGhlYWRp bmciCiAgIGVjaG8KICAgUEYgIiAgbGluZ2UtaGVhZGluZyBbT1BUSU9OU10gSEVBRElORyIKICAg ZWNobwogICBQRiAiR2VuZXJpYyBQcm9ncmFtIEluZm9ybWF0aW9uIgogICBQRiAiLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tIgogICBQRiAiIiAiLXUxICAgQnJpZWYgbGlzdCBvZiBvcHRpb25z IgogICBQRiAgICAiLXUyICAgQnJpZWYgbGlzdCBvZiBleGFtcGxlcyIKIGZpCgogY2FzZSAkMSBp bgogICgxKQogICAgIFBGICIgey12IFZCLCAtdj1WQiwgLXZWQiwgLS12ZXJib3NpdHkgVkIsIC0t dmVyYm9zaXR5PVZCfSIKICAgICBQRiAiIHstaCwgLS1oZWxwfSwgey11LCAtLXVzYWdlfSwgey1W LCAtLXZlcnNpb259IgogICAgIDs7CiAgKDIpCiAgICAgUEYgIiIgCiAgICAgOzsKIGVzYWMKfQoK IyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK CmxpbmdlLWhlYWRpbmcgKCkKewogbG9jYWwgLXIgZXRkYXRlPSJWMDEgSnVsIDIwMjEgV2syNyIg CiBsb2NhbCAtciBhdXRob3I9IlN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIgoKIGlmICgo ICQjID09IDAgKSk7IHRoZW4KICAgcHJpbnRmICclc1xuJyAiRGlzcGxheSBoZWFkaW5nIgogICBw cmludGYgIiVzXG4iICIkZXRkYXRlICRhdXRob3IiCiAgIHByaW50ZiAnJXNcbicgIkludm9rZSBc YGxpbmdlLWhlYWRpbmcgLWgnIGZvciBkZXRhaWxzLCIKICAgcHJpbnRmICclc1xuJyAib3IgXGBs aW5nZS1oZWFkaW5nIC11JyBmb3IgYSBzdW1tYXJ5LiIKIGZpCgogbG9jYWwgY29tcGFjdD0wIGVt cGg9MAogd2hpbGUgKCggJCMgPiAwICkpOyBkbwogICBjYXNlICQxIGluCiAgICAoIi1WInwiLS12 ZXJzaW9uIikKICAgICAgcHJpbnRmICIlc1xuIiAiJGV0ZGF0ZSAkYXV0aG9yIgogICAgICByZXR1 cm4gMAogICAgICA7OwogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgKCIt diJ8Ii0tdmVyYm9zaXR5IikgIHZiPSIkMiIgOyBzaGlmdCA7IHNoaWZ0IDs7CiAgICAoIi12PSIq fCItLXZlcmJvc2l0eT0iKikgdmI9IiR7MSMqPX0iIDsgc2hpZnQgMSA7OwogICAgKCItdiIqKSB2 Yj0iJHsxIy12fSIgOyBzaGlmdCAxIDs7CiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgICAoIi1oInwiLS1oZWxwIikKICAgICAgbGluZ2UtaGVhZGluZy1kZXRhaWxzCiAgICAg IHJldHVybiAwCiAgICAgIDs7CiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg ICAoIi11InwiLS11c2FnZSIpCiAgICAgIGlmIFtbICIkMiIgPX4gXlswMTIzNDU2Nzg5XSskIF1d OyB0aGVuCiAgICAgICAgdXNnPSIkMiIgOyBzaGlmdCA7IHNoaWZ0CiAgICAgICAgcHJpbnRmICcl c1xuJyAidXNnOiAuJHVzZy4iCiAgICAgICAgbGluZ2UtaGVhZGluZy11c2FnZSAiJHVzZyIKICAg ICAgZWxzZQogICAgICAgIHNoaWZ0CiAgICAgICAgcHJpbnRmICclc1xuJyAidXNnOiAuJHVzZy4i CiAgICAgICAgbGluZ2UtaGVhZGluZy11c2FnZSAiJHVzZyIKICAgICAgZmkKICAgICAgcmV0dXJu IDAKICAgICAgOzsKICAgICgiLXU9Iip8Ii0tdXNhZ2U9IiopCiAgICAgIHVzZz0iJHsxIyo9fSIg OyBzaGlmdCAxCiAgICAgIGxpbmdlLWhlYWRpbmctdXNhZ2UgIiR1c2ciCiAgICAgIHJldHVybiAw CiAgICAgIDs7CiAgICAoIi11IiopCiAgICAgIHVzZz0iJHsxIy11fSIgOyBzaGlmdCAxCiAgICAg IGxpbmdlLWhlYWRpbmctdXNhZ2UgIiR1c2ciCiAgICAgIHJldHVybiAwCiAgICAgIDs7CiAgICAj LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1jIikgY29tcGFjdD0xIDsgc2hp ZnQgMSA7OwogICAgKCItZSIpIGVtcGg9MSAgICA7IHNoaWZ0IDEgOzsKICAgICgqKSBicmVhayA7 OwogICBlc2FjCiBkb25lCgogbG9jYWwgLXIgdGl0bD0iJDEiCgogbG9jYWwgbWFyaz0iKiIKIGlm ICgoICQjID4gMSApKTsgdGhlbiBtYXJrPSIkMiI7IGZpCgogIyBTY291dDogVXNpbmcgOjo6R3Vu Z2E6RGluIGFzIGlucHV0LCB3aXRoIDogaW5zdGVhZCBvZiBibGFua3MKIGxvY2FsIC1yIHByZWZp eD0kezElJVshWzpibGFuazpdXSp9ICAjIDo6OgoKICMgdHJpbSBpbnB1dCB0byByZW1vdmUgbGVh ZGluZyBibGFua3MKIGxvY2FsIC1yIHRyaW1hcmc9JHsxIyIkcHJlZml4In0gICAgICAjICdHdW5n YTpEaW4nCiAKICMjIFNldCBlbXBoYXNpc2luZyBtYXJrIHVzaW5nICoKICMgIFRoZSAvLyBpbnN0 cnVjdGlvbiByZXBsYWNlcyBhbGwgc2luZ2xlIGNoYXJhY3RlciBtYXRjaGVzIHdpdGggKgogIyAg VGhlID8gaW5zdHJ1Y3Rpb24gbWF0Y2hlcyBhbGwgc2luZ2xlIGNoYXJhY3RlcnMKIGxvY2FsIC1y IGVtcGhtcms9IiR7dHJpbWFyZy8vPy8kbWFya30iICAgIyAnKioqKioqKioqJwogCiAoKCBjb21w YWN0ID09IDAgKSkgJiYgZWNobwogaWYgKCggZW1waCA9PSAxICkpOyB0aGVuCiAgIHByaW50ZiAn JXNcbiVzXG4nICIkMSIgIiR7cHJlZml4fSR7ZW1waG1ya30iCiBlbHNlCiAgIHByaW50ZiAnJXNc bicgIiR0aXRsIgogZmkKICgoIGNvbXBhY3QgPT0gMCApKSAmJiBlY2hvCgp9CgphbGlhcyBIREc9 J2xpbmdlLWhlYWRpbmcgLWUnCgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwoKbGluZ2UtbmV3bGluZSAoKQp7CiBpbXBsPSJlY2hvIgogaWYg WyAiJGltcGwiID0gImVjaG8iIF07IHRoZW4gICMgW10gaXMgcG9zaXggc2hlbGwgY29tcGxpYW50 CiAgIGVjaG8KIGVsc2UgICAgCiAgIHByaW50ZiAnJXNcbicgIiIKIGZpCn0KCmFsaWFzIE5XTD0n bGluZ2UtaGVhZGluZyAtZScKCiMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCgpsaW5nZV90cms9IiR7SE9NRX0vT3BzdGsvYmluL2d1bmdhZGlu LTEuMC9saW5nZSIKc291cmNlICIke2xpbmdlX3Rya30vZ3Vuc3RlYnkvbGluZ2UtbnltcGgucmMi CgojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwoKbGluZ2UtZGV0YWlscy1udW1lcmljICgpCnsKIGZtdD0iXG4lc1xuIiBmbXQrPSJcbiIKIHBy aW50ZiAiJGZtdCIgIlZhbGlkYXRlcyBudW1lcmljIG5vdGF0aW9uLiIgCgogcHJpbnRmICclc1xu JyBsaW5nZS1udW1lcmljIFtPUFRJT05TXSAKIAogSERHICJGdW5jdGlvbiBEZXRhaWxzIgoKIFBG ICIgLVYsIC0tdmVyc2lvbiwgLXUsIC0tdXNhZ2UsIC1oLCAtLWhlbHAiCgogUEZIICIgLWYgU1RZ LCAtLWZtdD1TVFkiCiBQRiAgIiAgICBGb3JtYXQgc3R5bGUuIgoKIFBGSCAiICAgIFNUWSB8IERl c2NpcHRpb24iCiBQRiAgIiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tIgogUEYgICIgICAgRiAgIHwgRml4ZWQtcG9pbnQgbnVtYmVyIG5vdGF0aW9uIgogUEYg ICIgICAgcEYgIHwgUG9zaXRpdmUgZml4ZWQtcG9pbnQgbm90YXRpb24iCiBQRiAgIiAgICBuRiAg fCBOZWdhdGl2ZSBmaXhlZC1wb2ludCBub3RhdGlvbiIKIFBGICAiICAgIEUgICB8IEZsb2F0aW5n LXBvaW50IG51bWJlciBub3RhdGlvbiIKIFBGICAiICAgIHBFICB8IFBvc2l0aXZlIGZsb2F0aW5n LXBvaW50IG5vdGF0aW9uIgogUEYgICIgICAgbkUgIHwgTmVnYXRpdmUgZmxvYXRpbmctcG9pbnQg bm90YXRpb24iICIiCgogUEYgIlwkMSBOVU0gIEZpcnN0IG51bWVyaWMgbnVtYmVyLiIKIFBGICJc JDIgTlVNICBTZWNvbmQgbnVtZXJpYyBudW1iZXIuIgoKfQoKIyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKCmxpbmdlLXVzYWdlLW51bWVyaWMg KCkKewogY2FzZSAkMSBpbgogICgxKQogICAgIFBGICIgey1WLCAtLXZlcnNpb259LCB7LWgsIC0t aGVscH0sIHstdSwgLS11c2FnZX0iCiAgICAgUEYgIiB7LXYgVkIsIC12PVZCLCAtdlZCLCAtLXZl cmJvc2l0eSBWQiwgLS12ZXJib3NpdHk9VkJ9IgogICAgIFBGICIgey1mIEZSTVQsIC0tZnJtdCBG Uk1UfSB8IEZSTVQ6IFtJfEZ8cEZ8bkZ8RXxwRXxuRV0iCiAgICAgUEYgIiB7LS1pbXBsIElNUEws IC0taW1wbD1JTVBMfSB8IElNUEw6IFtyZWdleHB8c2hnbG9iXSIKICAgICBQRiAiIC1vIgogICAg IDs7CiAgKDIpCiAgICAgSERHICJVc2FnZSIKICAgICBQRjIgIiBQcmludCByZXN1bHQgaW4gdGV4 dCBmb3JtYXQgd2l0aCAtbyIKICAgICBQRiAgIiBsaW5nZS1udW1lcmljIC1vIDIuMTQzICAgICAg fCBSZXN1bHQ6IDEiCiAgICAgUEYgICIgbGluZ2UtbnVtZXJpYyAtbyAyLjE0M0UrMDcgIHwgUmVz dWx0OiAxIgogICAgIFBGICAiIGxpbmdlLW51bWVyaWMgLW8gMi4xNDNFLTAyICB8IFJlc3VsdDog MSIKICAgICBQRiAgIiBsaW5nZS1udW1lcmljIC1vIC1JIDM0ICAgICAgfCBSZXN1bHQ6IDEiCgog ICAgIGVjaG8KICAgICBQRiAiIHZhbGlkbnVtPVwkKCBsaW5nZS1udW1lcmljIC1vIC1JIDMgKSIK ICAgICA7OwogICgzKQogICAgIEhERyAiQ29uZGl0aW9uYWwgRXhwcmVzc2lvbiIKICAgICBQRiAi IG51bT1cIjNcIiIgCiAgICAgUEYgIiBpZiBsaW5nZS1udW1lcmljIC1JIFwiXCRudW1cIiIgCiAg ICAgUEYgIiB0aGVuIgogICAgIFBGICIgICAjIGNvZGUgaWYgbnVtIGlzIG51bWVyaWMiCiAgICAg UEYgIiBlbHNlIgogICAgIFBGICIgICAjIGNvZGUgaWYgbnVtIGlzIG5vdCBudW1lcmljIgogICAg IFBGICIgZmkiCiAgICAgOzsKIGVzYWMKCn0KCiMgOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgpsaW5nZS1udW1lcmljICgpCnsKIGxvY2FsIC1y IGV0ZGF0ZT0iVjAxIEp1bCAyMDIxIFdrMjciIAogbG9jYWwgLXIgYXV0aG9yPSJTdHJhdGVnaXN0 IENocmlzdG9waGVyIERpbWVjaCIKIAogbG9jYWwgdmI9MSBmbT0iRSIgaW1wbD0icmVnZXhwIgog bG9jYWwgb3V0dmFsPTAgbGVkZXNjdmFsPTAgZXJybnVtPTAgbGVkZXNjPSgpCgogbG9jYWwgaW5k aWM9MCAgICMgaW5kaWNhdG9yCiBsb2NhbCBlcnJudW09MSAgIyBudW1lcmljIGVycm9yIGNvZGUK CiAoKCAkIyA9PSAwICkpICYmIFBGICJJbnZva2UgXGBsaW5nZS1udW1lcmljIC1oJyBmb3IgZGV0 YWlscy4iCiAKIGxvY2FsIG91dHZhbD0wCiB3aGlsZSAoKCAkIyA+IDAgKSk7IGRvCiAgIG9wdD0i JDEiCiAgIGNhc2UgJG9wdCBpbgogICAgKCItViJ8Ii0tdmVyc2lvbiIpCiAgICAgIHByaW50ZiAi JXNcbiIgIiRldGRhdGUgJGF1dGhvciIKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICMgLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLXYifCItLXZlcmJvc2l0eSIpICB2Yj0i JDIiIDsgc2hpZnQgOyBzaGlmdCA7OwogICAgKCItdj0iKnwiLS12ZXJib3NpdHk9IiopIHZiPSIk ezEjKj19Ijsgc2hpZnQgMSA7OwogICAgKCItdiIqKSB2Yj0iJHsxIy12fSI7IHNoaWZ0IDEgOzsK ICAgICMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLWgifCItLWhlbHAiKQog ICAgICBsaW5nZS1kZXRhaWxzLW51bWVyaWMKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICgi LXUifCItLXVzYWdlIikKICAgICAgUEYgImxpbmdlLW51bWVyaWMgT1BUSU9OUyBOVU0iCiAgICAg IGxpbmdlLXVzYWdlLW51bWVyaWMgIiR2YiIKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICMg Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLW8iKSBvdXR2YWw9MSA7IHNoaWZ0 IDEgOzsKICAgICgiLS1sZWRlc2MiKSBsZWRlc2N2YWw9MSA7IG91dHZhbD0xIDsgc2hpZnQgMSA7 OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgogICAgKCItZiJ8Ii0tZnJtdCIp IGZtPSIkMiIgOyBzaGlmdCA7IHNoaWZ0IDs7CiAgICAoIi1mPSIqfCItLWZybXQ9IiopIGZtPSIk ezEjKj19IiA7IHNoaWZ0IDEgOzsKICAgICgiLS1pbXBsIikgaW1wbD0iJDIiOyBzaGlmdCA7IHNo aWZ0IDs7CiAgICAoIi0taW1wbD0iKikgaW1wbD0iJHsxIyo9fSI7IHNoaWZ0IDEgOzsKICAgICMg Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLUkiKSAgZm09IkkiICA7IHNoaWZ0 IDEgOzsKICAgICgiLUlwIikgZm09IklwIiA7IHNoaWZ0IDEgOzsKICAgICgiLUluIikgZm09Iklu IiA7IHNoaWZ0IDEgOzsKICAgICgiLUYiKSAgZm09IkYiICA7IHNoaWZ0IDEgOzsKICAgICgiLUZw IikgZm09IkZwIiA7IHNoaWZ0IDEgOzsKICAgICgiLUZuIikgZm09IkZuIiA7IHNoaWZ0IDEgOzsK ICAgICgiLUUiKSAgZm09IkUiICA7IHNoaWZ0IDEgOzsKICAgICgiLUVwIikgZm09IkVwIiA7IHNo aWZ0IDEgOzsKICAgICgiLUVuIikgZm09IkVuIiA7IHNoaWZ0IDEgOzsKICAgICMgLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLS0iKQoJICAgc2hpZnQgMSA7IGJyZWFrIDs7CiAg ICAoIi0iKikKICAgICAgICAgICBlcnJzdHI9IiA2NCAgfCAkMSBjb21tYW5kIGxpbmUgdXNhZ2Ug ZXJyb3IiCiAgICAgICAgICAgZXJybnVtPTY0IDsgbGVkZXNjKz0oIiRlcnJzdHIiKQogICAgICAg ICAgIHNoaWZ0IDEgOzsKICAgICgqKQoJICAgYnJlYWsgOzsKICAgICMgLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4KICAgZXNhYyAgIyBjYXNlIGVuZHMgaGVyZQogZG9uZSAgIyB3aGlsZSBl bmRzIGhlcmUKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAjIEltcGxlbWVudGF0aW9uIHVzZXMgUmVndWxhciBFeHByZXNzaW9ucyBvciBH bG9iYmluZyBQYXR0ZXJucwogCiBpbXBsPSJzaGVsbC1leHRnbG9iIgogaWYgW1sgIiRpbXBsIiA9 PSAic2hlbGwtcmVnZXhwIiBdXTsgdGhlbgogICAjIFVzaW5nIFJlZ3VsYXItRXhwcmVzc2lvbnMK CiAgICMgRXhwcmVzc2lvbiB8IERlc2NyaXB0aW9uIG9mIFJlZ3VsYXIgRXhwcmVzc2lvbgogICAj IC0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g IAogICAjIChyZWdleCk/ICAgfCBNYXRjaCB6ZXJvIG9yIG9uZSBvY2N1cnJlbmNlcyBvZiBnaXZl biByZWdleAogICAjIChyZWdleCkqICAgfCBNYXRjaCB6ZXJvIG9yIG1vcmUgb2NjdXJyZW5jZXMg b2YgZ2l2ZW4gcmVnZXgKICAgIyAocmVnZXgpKyAgIHwgTWF0Y2ggb25lIG9yIG1vcmUgb2NjdXJy ZW5jZXMgb2YgZ2l2ZW4gcmVnZXgKCiAgICMgXCsgYXZvaWRzIFJlZ3VsYXIgRXhwcmVzc2lvbiBN ZXRhLUNoYXJhY3RlciBJbnRlcnByZXRhdGlvbgogICAgIAogICAjIEludGVnZXIgbnVtYmVyIG5v dGF0aW9uCiAgIGxvY2FsIGl0Zz0nXlstK10/WzAtOV0rJCcKICAgbG9jYWwgcGl0Zz0nXlwrP1sw LTldKyQnCiAgIGxvY2FsIG5pdGc9J14tWzAtOV0rJCcKIAogICAjIEZpeGVkLVBvaW50IG51bWJl ciBub3RhdGlvbgogICBsb2NhbCBmeHA9J15bLStdP1swLTldKlsuLF0/WzAtOV0rJCcKICAgbG9j YWwgcGZ4cD0nXlwrP1swLTldKlsuLF0/WzAtOV0rJCcKICAgbG9jYWwgbmZ4cD0nXi1bMC05XSpb LixdP1swLTldKyQnCiAKICAgIyBGbG9hdGluZy1Qb2ludCBudW1iZXIgbm90YXRpb24KICAgbG9j YWwgZmxwPSdeWy0rXT9bMC05XSpbLixdP1swLTldKyhbZUVdWy0rXT9bMC05XSspPyQnCiAgIGxv Y2FsIHBmbHA9J15cKz9bMC05XSpbLixdP1swLTldKyhbZUVdWy0rXT9bMC05XSspPyQnCiAgIGxv Y2FsIG5mbHA9J14tWzAtOV0qWy4sXT9bMC05XSsoW2VFXVstK10/WzAtOV0rKT8kJwoKICAgIyBU aGUgPX4gb3BlcmF0b3IgaW4gZG91YmxlIGJyYWNrZXQgY29uZGl0aW9uYWxzIFtbIF1dLCByZWdh cmRzIHRoZQogICAjIHJpZ2h0IHNpZGUgYW4gZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9uLgoK ICAgY2FzZSAkZm0gaW4KICAgICgiSSIpCiAgICAgICAgICAgW1sgIiQxIiA9fiAkaXRnICBdXSAm JiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0KICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAkMSBm YWlsZWQgaW50ZWdlciB2YWxpZGF0aW9uIgoJICAgKCggaW5kaWMgIT0gMSApKSAmJiBsZWRlc2Mr PSgiJGVycnN0ciIpIDs7CiAgICAoIklwIikKICAgICAgICAgICBbWyAiJDEiID1+ICRwaXRnIF1d ICYmIHsgaW5kaWM9MSA7IGVycm51bT0wIDsgfQogICAgICAgICAgIGVycnN0cj0iIDEgICB8ICQx IGZhaWxlZCBwb3NpdGl2ZSBpbnRlZ2VyIHZhbGlkYXRpb24iCgkgICAoKCBpbmRpYyAhPSAxICkp ICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsKICAgICgiSW4iKSAKCSAgIFtbICIkMSIgPX4gJG5p dGcgXV0gJiYgeyBpbmRpYz0xIDsgZXJybnVtPTAgOyB9CiAgICAgICAgICAgZXJyc3RyPSIgMSAg IHwgJDEgZmFpbGVkIG5lZ2F0aXZlIGludGVnZXIgdmFsaWRhdGlvbiIKICAgICAgICAgICAoKCBp bmRpYyAhPSAxICkpICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsKICAgICgiRiIpIAoJICAgW1sg IiQxIiA9fiAkZnhwICBdXSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0KICAgICAgICAgICBl cnJzdHI9IiAxICAgfCAkMSBmYWlsZWQgZml4ZWQgcG9pbnQgcmVhbCB2YWxpZGF0aW9uIgogICAg ICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNjKz0oIiRlcnJzdHIiKSA7OwogICAgKCJG cCIpIAoJICAgW1sgIiQxIiA9fiAkcGZ4cCBdXSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0K ICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAkMSBmYWlsZWQgcG9zaXRpdmUgZml4ZWQgcG9pbnQg cmVhbCB2YWxpZGF0aW9uIgogICAgICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNjKz0o IiRlcnJzdHIiKSA7OyAKICAgICgiRm4iKSAKCSAgIFtbICIkMSIgPX4gJG5meHAgXV0gJiYgeyBp bmRpYz0xIDsgZXJybnVtPTAgOyB9CiAgICAgICAgICAgZXJyc3RyPSIgMSAgIHwgJDEgZmFpbGVk IG5lZ2F0aXZlIGZpeGVkIHBvaW50IHJlYWwgdmFsaWRhdGlvbiIKICAgICAgICAgICAoKCBpbmRp YyAhPSAxICkpICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsKICAgICgiRSIpIAoJICAgW1sgIiQx IiA9fiAkZmxwICBdXSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0KICAgICAgICAgICBlcnJz dHI9IiAxICAgfCAkMSBmYWlsZWQgZmxvYXRpbmcgcG9pbnQgcmVhbCB2YWxpZGF0aW9uIgogICAg ICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNjKz0oIiRlcnJzdHIiKSA7OwogICAgKCJF cCIpIAoJICAgW1sgIiQxIiA9fiAkcGZscCBdXSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0K ICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAkMSBmYWlsZWQgcG9zaXRpdmUgZmxvYXRpbmcgcG9p bnQgcmVhbCB2YWxpZGF0aW9uIgogICAgICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNj Kz0oIiRlcnJzdHIiKSA7OwogICAgKCJFbiIpCgkgICBbWyAiJDEiID1+ICRuZmxwIF1dICYmIHsg aW5kaWM9MSA7IGVycm51bT0wIDsgfQogICAgICAgICAgIGVycnN0cj0iIDEgICB8ICQxIGZhaWxl ZCBuZWdhdGl2ZSBmbG9hdGluZyBwb2ludCByZWFsIHZhbGlkYXRpb24iCiAgICAgICAgICAgKCgg aW5kaWMgIT0gMSApKSAmJiBsZWRlc2MrPSgiJGVycnN0ciIpIDs7CiAgICAoKikgCgkgICBbWyAi JDEiID1+ICRmbHAgIF1dICYmIHsgaW5kaWM9MSA7IGVycm51bT0wIDsgfQogICAgICAgICAgIGVy cnN0cj0iIDEgICB8ICQxIGZhaWxlZCBmbG9hdGluZyBwb2ludCByZWFsIHZhbGlkYXRpb24iCiAg ICAgICAgICAgKCggaW5kaWMgIT0gMSApKSAmJiBsZWRlc2MrPSgiJGVycnN0ciIpIDs7CiAgIGVz YWMKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBlbGlmIFtbICIkaW1wbCIgPT0gInNoZWxsLWV4dGdsb2IiIF1dOyB0aGVuCiAgICMgVXNp bmcgU2hlbGwgRXh0ZW5kZWQgR2xvYmJpbmcgUGF0dGVybnMKCiAgICMgUGF0dGVybiAJIHwgRGVz Y3JpcHRpb24gb2YgRXh0ZW5kZWQgR2xvYnMKICAgIyAtLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICMgPyhwYXR0ZXJuKSB8IE1h dGNoIHplcm8gb3Igb25lIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJucwogICAjICoocGF0dGVy bikgfCBNYXRjaCB6ZXJvIG9yIG1vcmUgb2NjdXJyZW5jZXMgb2YgdGhlIHBhdHRlcm5zCiAgICMg KyhwYXR0ZXJuKSB8IE1hdGNoIG9uZSBvciBtb3JlIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJu cwogICAgIAogICBsb2NhbCBpdGc9Jz8oWy0rXSkrKFswLTldKScKICAgbG9jYWwgaXRnYT0nPyhb LStdKSsoW1s6ZGlnaXQ6XV0pJyAgIyBhbHRlcm5hdGl2ZSB0byBpdGcKICAgCiAgIGxvY2FsIHBp dGc9Jz8oKykrKFswLTldKScKICAgbG9jYWwgbml0Zz0nLSsoWzAtOV0pJwoKICAgbG9jYWwgZnhw PSc/KFstK10pKihbMC05XSk/KFsuLF0pKyhbMC05XSknCiAgIGxvY2FsIHBmeHA9Jz8oKykqKFsw LTldKT8oWy4sXSkrKFswLTldKScKICAgbG9jYWwgbmZ4cD0nLSooWzAtOV0pPyhbLixdKSsoWzAt OV0pJwoKICAgbG9jYWwgZmxwPSc/KFstK10pKihbMC05XSk/KFsuLF0pKyhbMC05XSk/KFtlRV0/ KFstK10pKyhbMC05XSkpJwogICBsb2NhbCBwZmxwPSc/KCspKihbMC05XSk/KFsuLF0pKyhbMC05 XSk/KFtlRV0/KFstK10pKyhbMC05XSkpJwogICBsb2NhbCBuZmxwPSctKihbMC05XSk/KFsuLF0p KyhbMC05XSk/KFtlRV0/KFstK10pKyhbMC05XSkpJwoKICAgIyBUaGUgPT0gYW5kICE9IG9wZXJh dG9ycyBpbiBkb3VibGUgYnJhY2tldCBjb25kaXRpb25hbHMgW1sgXV0sCiAgICMgcmVnYXJkIHRo ZSByaWdodCBzaWRlIGFzIGEgR2xvYmJpbmcgUGF0dGVybnMuCgogICBjYXNlICRmbSBpbgogICAg KCJJIikKICAgICAgICAgICBbWyAiJDEiID09ICRpdGcgIF1dICYmIHsgaW5kaWM9MSA7IGVycm51 bT0wIDsgfQogICAgICAgICAgIGVycnN0cj0iIDEgICB8ICQxIGZhaWxlZCBpbnRlZ2VyIHZhbGlk YXRpb24iCiAgICAgICAgICAgKCggaW5kaWMgIT0gMSApKSAmJiBsZWRlc2MrPSgiJGVycnN0ciIp IDs7CiAgICAoIklwIikKICAgICAgICAgICBbWyAiJDEiID09ICRwaXRnIF1dICYmIHsgaW5kaWM9 MSA7IGVycm51bT0wIDsgfQogICAgICAgICAgIGVycnN0cj0iIDEgICB8ICQxIGZhaWxlZCBwb3Np dGl2ZSBpbnRlZ2VyIHZhbGlkYXRpb24iCiAgICAgICAgICAgKCggaW5kaWMgIT0gMSApKSAmJiBs ZWRlc2MrPSgiJGVycnN0ciIpIDs7CiAgICAoIkluIikKICAgICAgICAgICBbWyAiJDEiID09ICRu aXRnIF1dICYmIHsgaW5kaWM9MSA7IGVycm51bT0wIDsgfQogICAgICAgICAgIGVycnN0cj0iIDEg ICB8ICQxIGZhaWxlZCBuZWdhdGl2ZSBpbnRlZ2VyIHZhbGlkYXRpb24iCiAgICAgICAgICAgKCgg aW5kaWMgIT0gMSApKSAmJiBsZWRlc2MrPSgiJGVycnN0ciIpIDs7CiAgICAoIkYiKQogICAgICAg ICAgIFtbICIkMSIgPT0gJGZ4cCAgXV0gJiYgeyBpbmRpYz0xIDsgZXJybnVtPTAgOyB9CiAgICAg ICAgICAgZXJyc3RyPSIgMSAgIHwgJDEgZmFpbGVkIGZpeGVkIHBvaW50IHJlYWwgdmFsaWRhdGlv biIKICAgICAgICAgICAoKCBpbmRpYyAhPSAxICkpICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsK ICAgICgiRnAiKQogICAgICAgICAgIFtbICIkMSIgPT0gJHBmeHAgXV0gJiYgeyBpbmRpYz0xIDsg ZXJybnVtPTAgOyB9CiAgICAgICAgICAgZXJyc3RyPSIgMSAgIHwgJDEgZmFpbGVkIHBvc2l0aXZl IGZpeGVkIHBvaW50IHJlYWwgdmFsaWRhdGlvbiIKICAgICAgICAgICAoKCBpbmRpYyAhPSAxICkp ICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsKICAgICgiRm4iKQogICAgICAgICAgIFtbICIkMSIg PT0gJG5meHAgXV0gJiYgeyBpbmRpYz0xIDsgZXJybnVtPTAgOyB9CiAgICAgICAgICAgZXJyc3Ry PSIgMSAgIHwgJDEgZmFpbGVkIG5lZ2F0aXZlIGZpeGVkIHBvaW50IHJlYWwgdmFsaWRhdGlvbiIK ICAgICAgICAgICAoKCBpbmRpYyAhPSAxICkpICYmIGxlZGVzYys9KCIkZXJyc3RyIikgOzsKICAg ICgiRSIpCiAgICAgICAgICAgW1sgIiQxIiA9PSAkZmxwZSBdXSAmJiB7IGluZGljPTEgOyBlcnJu dW09MCA7IH0KICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAkMSBmYWlsZWQgZmxvYXRpbmcgcG9p bnQgcmVhbCB2YWxpZGF0aW9uIgogICAgICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNj Kz0oIiRlcnJzdHIiKSA7OwogICAgKCJFcCIpCiAgICAgICAgICAgW1sgIiQxIiA9PSAkcGZscCBd XSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0KICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAk MSBmYWlsZWQgcG9zaXRpdmUgZmxvYXRpbmcgcG9pbnQgcmVhbCB2YWxpZGF0aW9uIgogICAgICAg ICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVkZXNjKz0oIiRlcnJzdHIiKSA7OwogICAgKCJFbiIp CiAgICAgICAgICAgW1sgIiQxIiA9PSAkbmZscCBdXSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7 IH0KICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAkMSBmYWlsZWQgbmVnYXRpdmUgZmxvYXRpbmcg cG9pbnQgcmVhbCB2YWxpZGF0aW9uIgogICAgICAgICAgICgoIGluZGljICE9IDEgKSkgJiYgbGVk ZXNjKz0oIiRlcnJzdHIiKSA7OwogICAgKCopCiAgICAgICAgICAgW1sgIiQxIiA9PSAkZmxwICBd XSAmJiB7IGluZGljPTEgOyBlcnJudW09MCA7IH0KICAgICAgICAgICBlcnJzdHI9IiAxICAgfCAk MSBmYWlsZWQgZmxvYXRpbmcgcG9pbnQgcmVhbCB2YWxpZGF0aW9uIgogICAgICAgICAgICgoIGlu ZGljICE9IDEgKSkgJiYgbGVkZXNjKz0oIiRlcnJzdHIiKSA7OwogICBlc2FjCgogZmkKCiAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIEZ1 bmN0aW9uIG91dHB1dHMgYSBzdGF0dXMgb3IgYSBzdHJpbmcKCiAjIEF2b2lkIGVycm51bSAxMjcg YXMgaXQgY29tbW9ubHkgaW5kaWNhdGVzICJQcm9ncmFtIE5vdCBGb3VuZCIuCiAoKCAkeyNsZWRl c2NbQF19ID09IDAgKSkgJiYgbGVkZXNjPSIwIHwgc3VjY2Vzc2Z1bCB0ZXJtaW5hdGlvbiIKIAog aWYgWyAiJHZiIiAtZ2UgMyBdOyB0aGVuCiAgIHByaW50ZiAnJXNcbicgImFyZ3M6ICRAIHwgXCRA IgogICBwcmludGYgJyVzXG4nICJpbmRpYzogJGluZGljIgogZmkKCiAjIE1vZGU6IHJlYwogIyAg VG9waWM6IExpbmUgQ29udGludWF0aW9uIHdpdGggYmFja3NsYXNoIFwKICMgICAgRGVzYzogQ29t bWFuZHMgY2FuIGJlIHNwbGl0IGFueXdoZXJlIGJ5IGFkZGluZyB0aGUgbGluZQogIyAgICArIGNv bnRpbnVhdGlvbiBiYWNrc2xhc2ggXCBjaGFyYWN0ZXIgYXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9m IHRoZQogIyAgICArIGxpbmUgZm9sbG93ZWQgYnkgYSBsaW5lLWJyZWFrLgogIyAgICBFeGNlcHRp b246IFRoZSBjb250aW51YXRpb24gY2hhcmFjdGVyIGlzIG5vdCByZXF1aXJlZCB3aGVuIGEKICMg ICAgKyBsaW5lLWJyZWFrIGlzIGluc2VydGVkIGF0IGEgcG9pbnQgd2hlcmUgYSBjb21tYW5kIGNh bm5vdCBlbmQKICMgICAgKyBzdWNoIGFzIGFmdGVyIHRoZSAmJiBvciB8fCBvcGVyYXRvcnMuCiAj ICBUb3BpYzogRmFpbHVyZXMgb2YgdGhlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24geyBwICYmIHEg fHwgciB9CiAjICAgIERlc2M6IHsgcCAmJiBxIHx8IHIgfSBhc3N1bWVzIHRoYXQgcSBkb2VzIG5v dCBmYWlsLiAgSWYgcSBmYWlscwogIyAgICArIG9yIHJldHVybnMgYSBmYWxzZSBsb2dpY2FsIHZh bHVlLCByIHdpbGwgZXhlY3V0ZSBldmVuIGlmIHAKICMgICAgKyBzdWNjZWVkcy4KICMgIyBFbmQg b2YgcmVjIAogCiAjIGZuc3RhdHVzIHwgMCBkZXNpZ25hdGVzIHN1Y2Nlc3MgfCBvdGhlcndpc2Ug ZmFpbHVyZQogbG9jYWwgZm5zdGF0dXMKIGlmICgoIG91dHZhbCA9PSAwICkpOyB0aGVuCiAgIGZu c3RhdHVzPSQoKCBpbmRpYyA9PSAxID8gMCA6IDEgKSkgICMgY29uZGl0aW9uYWwgb3BlcmF0b3IK ICAgKCggZXJybnVtID4gMCApKSAmJiBmbnN0YXR1cz0kZXJybnVtCiAgIHJldHVybiAiJGZuc3Rh dHVzIgogZWxzZQogICAjIGluZGljPTEgZGVzaWduYXRlcyBjb25maXJtYXRpb24sIG90aGVyd2lz ZSByZWZ1dGF0aW9uCiAgICgoIGxlZGVzY3ZhbCAhPSAxICkpICYmIGVjaG8gIiRpbmRpYyIgXAog ICAgICB8fCB7IGVjaG8gImVycm5vIiA7IHByaW50ZiAnJXNcbicgIiR7bGVkZXNjW0BdfSIgOyB9 CiBmaQoKfQoKIyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKCmxpbmdlLXBhcmFkZS1udW1lcmljICgpCnsKIG51bT0iMyIKIGlmIGxpbmdlLW51 bWVyaWMgLUkgIiRudW0iCiB0aGVuCiAgIHByaW50ZiAnJXNcbicgIiRudW0gaXMgbnVtZXJpYyBp bnRlZ2VyIgogZWxzZQogICBwcmludGYgJyVzXG4nICIkbnVtIGZhaWxzIG51bWVyaWMgaW50ZWdl ciB2YWxpZGF0aW9uIgogZmkKCiBudW09IjMuMTQyIgogIyBjb25kaXRpb24gZXF1aXZhbGVudCB0 byBgaWYgbGluZ2UtbnVtZXJpYyAtSSAiJG51bSJgCiBpZiB7IGxpbmdlLW51bWVyaWMgLUkgIiRu dW0iIDsgfQogdGhlbgogICBwcmludGYgJyVzXG4nICIkbnVtIGlzIG51bWVyaWMgaW50ZWdlciIK IGVsc2UKICAgcHJpbnRmICclc1xuJyAiJG51bSBmYWlscyBudW1lcmljIGludGVnZXIgdmFsaWRh dGlvbiIKIGZpCn0KCiMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCgpsaW5nZS1kZXRhaWxzLW5nbnVtICgpCnsKIEhERyAiT3B0aW9uIFN1bW1h cnkiCgogcHJpbnRmICclc1xuJyAiLWYgU1RZLCAtLWZtdD1TVFkiCiBwcmludGYgJyVzXG4nICIg ICBGb3JtYXQgc3R5bGUgZm9yIG51bWVyYWxzLiIKCiBQRiAiICAgU1RZICAgIHwgRGVzY3JpcHRp b24iCiBQRiAiICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IgogUEYgIiAgIGJjICAgICB8IFV0aWxpc2VzIGJhc2ljIGNhbGN1bGF0b3IgcHJvZ3JhbSBiYyIK IFBGICIgICBmeGRwbnQgfCBGaXhlZC1wb2ludCBudW1lcmljIG5vdGF0aW9uIgogUEYgIiAgIGZs dHBudCB8IEZsb2F0aW5nLXBvaW50IG51bWVyaWMgbm90YXRpb24iCiBQRiAiICAgbmdyZSAgIHwg TmVnYXRpdmUgUmVndWxhciBFeHByZXNzaW9uIgogICAgCn0KCiMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCgpsaW5nZS11c2FnZS1uZ251bSAo KQp7CiBjYXNlICQxIGluCiAgKDEpCiAgICAgUEYgIiB7LVYsIC0tdmVyc2lvbn0iCiAgICAgUEYg IiB7LXYgTFYsIC12PUxWLCAtdkxWLCAtLXZlcmJvc2l0eSBMViwgLS12ZXJib3NpdHk9TFZ9Igog ICAgIFBGICIgey1oLCAtLWhlbHB9LCB7LXUgTFYsIC11PUxWLCAtdUxWLCAtLXVzYWdlPUxWfSIK ICAgICBQRiAiIHstZiBTVFksIC0tZm10PVNUWX0gfCBTVFk6IFtuRnxuRV0iCiAgICAgOzsKICAo MikKICAgICBIREcgIlVzYWdlIgogICAgIHByaW50ZiAnJXNcbicgIiBsaW5nZS1uZ251bSAtMS4z NTggfCBSZXN1bHQ6ICIKICAgICBwcmludGYgJyVzXG4nICIgbGluZ2UtbmdudW0gIDguNTMxIHwg UmVzdWx0OiAiCiAgICAgOzsKICAoKikKICAgICBwcmludGYgJyVzXG4nICIgIgogICAgIDs7CiBl c2FjCn0KCiMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCgpsaW5nZS1uZ251bSAoKQp7CgogaWYgKCggJCMgPT0gMCApKTsgdGhlbgogICBwcmlu dGYgJyVzXG4nICJJbnZva2UgXGBsaW5nZS1uZ251bSAtaCcgZm9yIGRldGFpbHMuIgogICByZXR1 cm4gMCAgCiBmaQogCiBsb2NhbCBpbXBsPSJiYyIgb3V0dmFsPTAKCiB3aGlsZSAoKCAkIyA+IDAg KSk7IGRvCiAgIG9wdD0iJDEiCiAgIGNhc2UgJG9wdCBpbgogICAgKCItViJ8Ii0tdmVyc2lvbiIp CiAgICAgIGxvY2FsIC1yIGV0ZGF0ZT0iVjAxIEp1bCAyMDIxIFdrMjciCiAgICAgIHByaW50ZiAi JXNcbiIgIiAkZXRkYXRlIE1hdGVtYXRpa2VyIENocmlzdG9waGVyIERpbWVjaCAiCiAgICAgIHJl dHVybiAwCiAgICAgIDs7CiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAo Ii12InwiLS12ZXJib3NpdHkiKSAgICAgIHZiPSIkMiIgICAgICA7IHNoaWZ0IDsgc2hpZnQgOzsK ICAgICgiLXY9Iip8Ii0tdmVyYm9zaXR5PSIqKSAgdmI9IiR7MSMqPX0iIDsgc2hpZnQgMSA7Owog ICAgKCItdiIqKSB2Yj0iJHsxIy12fSIgOyBzaGlmdCAxIDs7CiAgICAjLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgICAoIi1oInwiLS1oZWxwIikKICAgICAgcHJpbnRmICclc1xuJyAi VmFsaWRhdGVzIG51bWVyaWMgZm9ybWF0cy4iCiAgICAgIGxpbmdlLWRldGFpbHMtbmdudW0KICAg ICAgcmV0dXJuIDAKICAgICAgOzsKICAgICgiLXUifCItLXVzYWdlIikKICAgICAgcHJpbnRmICcl c1xuJyAiIgogICAgICBsaW5nZS11c2FnZS1uZ251bSAiJHZiIgogICAgICByZXR1cm4gMAogICAg ICA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgiLW8iKSBvdXR2 YWw9MSA7IHNoaWZ0IDEgOzsKICAgICgiLWYifCItLWZybXQiKSAgICAgIGZybXQ9IiQyIiAgICAg IDsgc2hpZnQgOyBzaGlmdCA7OwogICAgKCItZj0iKnwiLS1mcm10PSIqKSAgZnJtdD0iJHsxIyo9 fSIgOyBzaGlmdCAxIDs7CiAgICAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgogICAg KCItLSIpIHNoaWZ0IDEgOyBicmVhayA7OwogICAgKCopIGJyZWFrIDs7CiAgIGVzYWMgICMgIGNh c2UgZW5kcyBoZXJlCiBkb25lICAjIHdoaWxlIGVuZHMgaGVyZQoKICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAKIGlm ICgoIG91dHZhbCA9PSAxICkpOyB0aGVuCiAgIGs9JCggbGluZ2UtbnVtZXJpYyAtbyAtRW4gIiQx IiApCiBlbHNlCiAgIGs9JCggZWNobyAiJDEgPCAwIiB8IGJjIC1sICkKICAgW1sgIiRrIiA9fiAi ZXJyb3IiIF1dICYmIGs9MAogZmkKIAogaWYgKCggb3V0dmFsID09IDAgKSk7IHRoZW4KICAgbG9j YWwgZm5zdGF0dXM9MSAgICAgICAgICAgICMgZmFpbHVyZQogICAoKCBrID09IDEgKSkgJiYgZm5z dGF0dXM9MCAgIyBzdWNjZXNzCiAgIHJldHVybiAiJGZuc3RhdHVzIgogZWxzZQogICBlY2hvICIk ayIKIGZpCiAKfQoKIyA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7OzsKCmxpbmdlLW51bWVyaWMtcGludGdyICgpCnsKCiAjIyBUaGUgJD8gaW5zdHJ1 Y3Rpb24KICMgICQ/IGdldHMgdGhlIEV4aXQgU3RhdHVzIG9mIGxhc3QgZXhlY3V0ZWQgY29tbWFu ZC4KICMgIFJ1bm5pbmcgdGhlIHNhbWUgZnVuY3Rpb24gaW4gc2VwYXJhdGUgYmFzaCBzZXNzaW9u cyB5aWVsZHMKICMgIGluZGVwZW5kZW50IHZhbHVlcyBmb3IgJD8gYmVjYXVzZSBzZXNzaW9ucyBy dW5uaW5nIGluIHNlcGFyYXRlCiAjICBjb21tYW5kIGxpbmUgY29uc29sZSB0ZXJtaW5hbHMgdXNl IGluZGVwZW5kZW50IGVudmlyb25tZW50cy4KCiBsb2NhbCB2Yj0wCiBsb2NhbCBpbXBsPSJsYXN0 LWNvbW1hbmQtc3RhdHVzIgogKCggJCMgPiAxICkpICYmIGltcGw9IiQyIgoKIGNhc2UgJGltcGwg aW4KICAoImxhc3QtY29tbWFuZC1zdGF0dXMiKQogICAgbGluZ2UtbnVtZXJpYyAtSXAgIiQxIgog ICAgcnN0YXR1cz0kPwogICAgKCggdmIgPiAwICkpICYmIGVjaG8gImxhc3QtY29tbWFuZC1zdGF0 dXMgXCQ/IHwgJHJzdGF0dXMiCiAgICByZXR1cm4gIiRyc3RhdHVzIgogICAgOzsKICAoKikKICAg IHI9JCggbGluZ2UtbnVtZXJpYyAtbyAtSXAgIiQxIiApCiAgICAoKCByID09IDEgKSkgJiYgcmV0 dXJuIDAgfHwgcmV0dXJuIDEKICAgIDs7CiBlc2FjCgp9CiAgICAKIyA7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKCmxpbmdlLXVzYWdlLW5lYXJp bnQgKCkKewogY2FzZSAkMSBpbiAKICAoMSkKICAgICBQRiAiIHstViwgLS12ZXJzaW9ufSIKICAg ICBQRiAiIHstdiBMViwgLXY9TFYsIC12TFYsIC0tdmVyYm9zaXR5IExWLCAtLXZlcmJvc2l0eT1M Vn0iCiAgICAgUEYgIiB7LWgsIC0taGVscH0sIHstdSBMViwgLXU9TFYsIC11TFYsIC0tdXNhZ2U9 TFZ9IgogICAgIDs7CiAgKDIpCiAgICAgSERHICJVc2FnZSIKICAgICA7OwogICgqKQogICAgIHBy aW50ZiAnJXNcbicgIiAiCiAgICAgOzsKIGVzYWMKfQoKIyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKCmxpbmdlLW5lYXJpbnQgKCkKewoKIHdo aWxlICgoICQjID4gMCApKTsgZG8KICAgb3B0PSIkMSIKICAgY2FzZSAkb3B0IGluCiAgICAoIi1W InwiLS12ZXJzaW9uIikKICAgICAgbG9jYWwgLXIgZXRkYXRlPSJWMDEgSnVsIDIwMjEgV2syNyIK ICAgICAgcHJpbnRmICcnICIkZXRkYXRlIFN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIiAi IgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4KICAgICgiLXYifCItLXZlcmJvc2l0eSIpICB2Yj0iJDIiIDsgc2hpZnQgOyBzaGlmdCA7 OwogICAgKCItdj0iKnwiLS12ZXJib3NpdHk9IiopIHZiPSIkezEjKj19Ijsgc2hpZnQgMSA7Owog ICAgKCItdiIqKSB2Yj0iJHsxIy12fSI7IHNoaWZ0IDEgOzsKICAgICMgLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uCiAgICAoIi1oInwiLS1oZWxwIikKICAgICAgcHJpbnRmICclc1xuJyAg ICJsaW5nZS1uZWFyaW50IE9QRVIgTlVNQSBOVU1CIgogICAgICBwcmludGYgJyVzXG4nICAgIlJv dW5kcyBhIGZsb2F0aW5nIHBvaW50IG51bWJlci4iCiAgICAgIHByaW50ZiAnJXNcbicgICAiT1BF UiAgT3BlcmF0b3IuIgogICAgICBwcmludGYgJyVzXG4nICAgIk5VTUEgIEZpcnN0IG51bWJlci4i CiAgICAgIHByaW50ZiAnJXNcblxuJyAiTlVNQiAgU2Vjb25kIG51bWJlci4iCiAgICAgIHJldHVy biAwCiAgICAgIDs7CiAgICAoIi11InwiLS11c2FnZSIpCiAgICAgIEhERyAiVXNhZ2UiCiAgICAg IHByaW50ZiAnJXNcbicgIiAgbGluZ2UtbmVhcmludCAxOC4yMSIKICAgICAgcHJpbnRmICclc1xu JyAiICBsaW5nZS1uZWFyaW50IDM0LjU1IgogICAgICBwcmludGYgJyVzXG4nICIgIGxpbmdlLW5l YXJpbnQgLyAyMS4zIDM0LjU1IgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIyAuLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgqKSBicmVhayA7OwogICAgIyAuLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4KICAgZXNhYyAgIyAgY2FzZSBlbmRzIGhlcmUKIGRvbmUgICMg d2hpbGUgZW5kcyBoZXJlCgogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogCiBpZiAoKCAkIyA+IDMgKSk7IHRoZW4KICAgcHJpbnRmICclc1xu JyAiTW9yZSB0aGFuIHR3byBhZ3JndW1lbnRzIHBhc3NlZCB0byBsaW5nZS1uZWFyaW50IgogZmkK CiAjIHVzaW5nIGZpeGVkLXBvaW50IG51bWJlciBub3RhdGlvbgoKIGxvY2FsIHBzdj0wIG5ndj0w CiBpZiAoKCAkIyA9PSAxICkpOyB0aGVuCiAgIGZ4cG50PSIkMSIKIGVsaWYgKCggJCMgPT0gMyAp KTsgdGhlbgogICBvcGVyPSIkMSIgOyBhbnVtPSIkMiIgOyBibnVtPSIkMyIKICAgY29tcD0iJGFu dW0gJG9wZXIgJGJudW0iCiAgIGZ4cG50PSQoIGVjaG8gIiRjb21wIiB8IGJjIC1sICkKIGVsc2UK ICAgZnhwbnQ9MAogZmkKCiBwc3Y9JCggbGluZ2UtbnVtZXJpYyAtbyAtRnAgIiRmeHBudCIgKQog bmd2PSQoIGxpbmdlLW51bWVyaWMgLW8gLUZuICIkZnhwbnQiICkKIGlmICgoIHBzdiA9PSAxICkp OyB0aGVuCiAgIGluZWFyPSQoIGVjaG8gIigkZnhwbnQgKyAwLjUpIC8gMSIgfCBiYyApCiBlbGlm ICgoIG5ndiA9PSAxICkpOyB0aGVuCiAgIGluZWFyPSQoIGVjaG8gIigkZnhwbnQgLSAwLjUpIC8g MSIgfCBiYyApCiBmaQogCiBwcmludGYgJyVzXG4nICIkaW5lYXIiCgp9CgojICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwoKIyMgaDEgKiBQcmlu dGluZyBtdWx0aXBsZSBsaW5lcyBpbmNsdWRpbmcgd2FybmluZ3MKCmxpbmdlLWRldGFpbHMtcHJp bnRmLW11bHRpcGxlICgpCnsKIHByaW50ZiAnJXNcbicgIlByaW50cyBtdWx0aXBsZSBsaW5lcyBv ZiB0ZXh0LCB3aXRoIGFsaWFzIHNldCB0byBcYHBmbSciCiBwcmludGYgJyVzXG4nICIiCiBwcmlu dGYgJyVzXG4nICJFeGFtcGxlOiBwZm0gLS0gXCItZCBESVJcIiIKfQoKIyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKCmxpbmdlLXVzYWdlLXBy aW50Zi1tdWx0aXBsZSAoKQp7CiBjYXNlICQxIGluCiAgKDIpCiAgICAgbGluZ2UtdXNhZ2UtcHJp bnRmLW11bHRpcGxlLWVuCiAgICAgOzsKICAoKikKICAgICBQRiAiIGxpbmdlLXByaW50Zi1tdWx0 aXBsZSBbT1BUSU9OU10gIgogICAgIFBGICIgICBQcmludHMgYSBoZWFkaW5nIgogICAgIFBGICIg ICAiCiAgICAgUEYgIiAtViwgLS12ZXJzaW9uIgogICAgIFBGICIgLXYgTFYsIC12PUxWLCAtdkxW LCAtLXZlcmJvc2l0eSBMViwgLS12ZXJib3NpdHk9TFYiCiAgICAgUEYgIiB7LXUgTFYsIC11PUxW LCAtdUxWLCAtLXVzYWdlPUxWfSwgey1oLCAtLWhlbHB9IgogICAgIFBGICIgLWYgU1RZLCAtLWZt dD1TVFl9IHwgU1RZOiBbbkZ8bkVdIgogICAgIFBGICIgLUgsIC1IIENOVCwgLUg9Q05ULCAtSENO VCwgLS1oZWFkaW5nIENOVCwgLS1oZWFkaW5nPUNOVCIKICAgICBQRiAiIC1XLCAtVyBDTlQsIC1X PUNOVCwgLVdDTlQsIC0td2FybmluZyBDTlQsIC0td2FybmluZz1DTlQiCiAgICAgUEYgIiAtRSwg LUUgQ05ULCAtRT1DTlQsIC1FQ05ULCAtLWVycm9yIENOVCwgLS1lcnJvcj1DTlQiCiAgICAgUEYg IiAtYiBDTiwgLWI9Q04sIC1iQ04sIC0tYmx1IENOLCAtLWJsdT1DTiIKICAgICBQRiAiIC1nIENO LCAtZz1DTiwgLWdDTiwgLS1ncm4gQ04sIC0tZ3JuPUNOIgogICAgIFBGICIgLWMgQ04sIC1jPUNO LCAtY0NOLCAtLWN5biBDTiwgLS1jeW49Q04iCiAgICAgUEYgIiAtciBDTiwgLXI9Q04sIC1yQ04s IC0tcmVkIENOLCAtLXJlZD1DTiIKICAgICBQRiAiIC1tIENOLCAtbT1DTiwgLW1DTiwgLS1tZ24g Q04sIC0tbWduPUNOIgogICAgIFBGICIgLW8gQ04sIC1vPUNOLCAtb0NOLCAtLW9yZyBDTiwgLS1v cmc9Q04iCiAgICAgUEYgIiB7LS1jb2xmIENOLCAtLWNvbGY9Q059LCB7LWwgQ04sIC1sPUNOLCAt bENOfSIKICAgICA7OwogZXNhYwp9CgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwoKbGluZ2UtZGV0YWlscy1wcmludGYtbXVsdGlwbGUgKCkK ewogaWYgKCggJCMgPj0gMSApKTsgdGhlbgogICBpZiBbWyAiJDEiID09ICJmciIgfHwgIiQxIiA9 PSAiaXQiIF1dOyB0aGVuCiAgICAgY29tbGFuZz0iJDEiCiAgIGVsc2UKICAgICBjb21sYW5nPSIk e0xBTkc6MDoyfSIKICAgICAoKCB2YiA+PTIgKSkgJiYgcHJpbnRmICclc1xuJyAiVXNpbmcgbG9j YWxlICRMQU5HIgogICBmaQogZWxzZQogICBjb21sYW5nPSIke0xBTkc6MDoyfSIKICAgKCggdmIg Pj0yICkpICYmIHByaW50ZiAnJXNcbicgIlVzaW5nIGxvY2FsZSAkTEFORyIKIGZpCgogY2FzZSAk Y29tbGFuZyBpbgogICgiZnIiKQogICAgcHJpbnRmICdcbiVzXG4nICJBZmZpY2hlIGR1IHRleHRl IGVuIGNvdWxldXIuIgogICAgcHJpbnRmICclc1xuJyAiICBsaW5nZS1wcmludGYtbXVsdGlwbGUg W09QVElPTlNdIFRFWFQuLiIKICAgIGxpbmdlLWRldGFpbHMtcHJpbnRmLW11bHRpcGxlLWZyCiAg ICA7OwogICgiaXQiKQogICAgcHJpbnRmICdcbiVzXG4nICJWaXN1YWxpenphIGlsIHRlc3RvIHV0 aWxpenphbmRvIGlsIGNvbG9yZS4iCiAgICBwcmludGYgJyVzXG4nICIgIGxpbmdlLXByaW50Zi1t dWx0aXBsZSBbT1BUSU9OU10gVEVYVC4uIgogICAgbGluZ2UtZGV0YWlscy1wcmludGYtbXVsdGlw bGUtaXQKICAgIDs7CiAgKCopCiAgICBwcmludGYgJ1xuJXNcbicgIkRpc3BsYXlzIGNvbG91cmVk IHRleHQuIgogICAgcHJpbnRmICclc1xuJyAiICBsaW5nZS1wcmludGYtbXVsdGlwbGUgW09QVElP TlNdIFRFWFQuLiIKICAgIGxpbmdlLWRldGFpbHMtcHJpbnRmLW11bHRpcGxlLWVuCiAgICA7Owog ZXNhYwp9CgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwoKbGluZ2UtcHJpbnRmLW11bHRpcGxlICgpCnsKIGxvY2FsIC1yIGV0ZGF0ZT0iVjAx IDIwMjEgSnVsIDIxIFdrMjciICAKIGxvY2FsIC1yIGF1dGhvcj0iTWF0ZW1hdGlrZXIgQ2hyaXN0 b3BoZXIgRGltZWNoIiAgCgogIyMgU2V0IEdyYXBoaWMgUmVuZGl0aW9uIGZvciBjb2xvdXJlZCB0 ZXJtaW5hbCBkaXNwbGF5LgogIyAgVXNpbmcgdHB1dCBjb21tYW5kIHRvIGFjY2VzcyB0ZXJtaW5m byBkYXRhYmFzZSBjYXBhYmlsaXRpZXMuIEluCiAjICAxOTgxLCBNYXJ5IEFubiBIb3J0b24gbWFk ZSB0aGUgZmlyc3QgdGVybWluZm8gbGlicmFyeSwgdXNpbmcgaHVtYW4KICMgIHVuZGVyc3RhbmRh YmxlIG5hbWVzIGFuZCBpbXByb3ZpbmcgYWNjZXNzIHNwZWVkIG92ZXIgdGVybWNhcC4KCiAjIDgt Yml0ICgyNTYsIDJeOCkgY29sb3VycwogbG9jYWwgLXIgYmx1PSQodHB1dCBib2xkKSQodHB1dCBz ZXRhZiAzOSkKIGxvY2FsIC1yIGdybj0kKHRwdXQgYm9sZCkkKHRwdXQgc2V0YWYgNDYpCiBsb2Nh bCAtciBjeW49JCh0cHV0IGJvbGQpJCh0cHV0IHNldGFmIDUxKQogbG9jYWwgLXIgcmVkPSQodHB1 dCBib2xkKSQodHB1dCBzZXRhZiAxOTYpCiBsb2NhbCAtciBtZ249JCh0cHV0IGJvbGQpJCh0cHV0 IHNldGFmIDIwMSkKIGxvY2FsIC1yIG9yZz0kKHRwdXQgYm9sZCkkKHRwdXQgc2V0YWYgMjA4KQoK ICMgU2VsZWN0IEdyYXBoaWMgUmVuZGl0aW9uIFplcm8gKHNncjApIHJlc2V0cyB0byBub24tY29s b3VyIGRpc3BsYXkKIGxvY2FsIHNncj0kKHRwdXQgc2dyMCkKIGxvY2FsIHJzdD0iJHNnciIgY3Rw PSIiCiAKICMgTG9jYWwgYXJndW1lbnRzIHBsdXMgb3RoZXIKIGxvY2FsIHZiPTEgIG53bGluZT0x ICBjbj0wICBubD0wICBjYXB0cj0wCiBsb2NhbCBjb21sYW5nPSIiCgogZGVjbGFyZSAtYSBlZHZl cnIgICMgZGVjbGFyZSBhcnJheSBmb3IgZXJyb3IgbWVzc2FnZXMKCiAoKCAkIyA9PSAwKSkgJiYg cHJpbnRmICIlc1xuIiAiJGV0ZGF0ZSAkYXV0aG9yIgogCiB3aGlsZSAoKCAkIyA+IDAgKSk7IGRv CiAgIGNhc2UgJDEgaW4KICAgICgiLVYifCItLXZlcnNpb24iKSAgICAgICAgICAgICMgeyAtViB9 CiAgICAgIHByaW50ZiAiJXNcbiIgIiRldGRhdGUgU3RyYXRlZ2lzdCBDaHJpc3RvcGhlciBEaW1l Y2giCiAgICAgIHJldHVybiAwCiAgICAgIDs7CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi12InwiLS12ZXJib3NpdHkiKSAgICAg ICAgICAjIHsgLXYgTlVNIH0KICAgICAgbGluZ2UtbnVtZXJpYy1waW50Z3IgIiQyIgogICAgICBp ZiAoKCAkPyA9PSAwICkpOyB0aGVuCiAgICAgICAgdmI9IiQyIiA7IHNoaWZ0IDsgc2hpZnQKICAg ICAgZWxzZQogICAgICAgIGVkdmVycis9KCIgey12IE5VTX0gTlVNIGZhaWxzIG51bWVyaWMgdmFs aWRhdGlvbiIpCglzaGlmdCAgCiAgICAgIGZpCiAgICAgIDs7CiAgICAoIi12PSIqfCItLXZlcmJv c2l0eT0iKikgICAgICAjIHsgLXY9TlVNIH0KICAgICAgbGluZ2UtbnVtZXJpYy1waW50Z3IgIiR7 MSMqPX0iCiAgICAgIGlmICgoICQ/ID09IDAgKSk7IHRoZW4KICAgICAgICB2Yj0iJHsxIyo9fSIg OyBzaGlmdCAxCiAgICAgIGVsc2UKCXNoaWZ0IDEKICAgICAgICBlZHZlcnIrPSgiIHstdiBOVU19 IE5VTSBmYWlscyBudW1lcmljIHZhbGlkYXRpb24iKQogICAgICBmaQogICAgICA7OwogICAgKCIt diIqKSAgICAgICAgICAgICAgICAgICAgICAgIyB7IC12IE5VTSB9CiAgICAgIGxpbmdlLW51bWVy aWMtcGludGdyICIkezEjLXZ9IgogICAgICBpZiAoKCAkPyA9PSAwICkpOyB0aGVuICAgICAgIyBu dW1lcmljIG1hdGNoIHN1Y2Nlc3MKICAgICAgICB2Yj0iJHsxIy12fSIgOyBzaGlmdCAxCiAgICAg IGVsc2UKCXNoaWZ0IDEKICAgICAgICBlZHZlcnIrPSgiIHstdk5VTX0gTlVNIGZhaWxzIG51bWVy aWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1oInwiLS1oZWxwIikgICAg ICAgICAgICAgICAjIHsgLWggTEFORyB9CiAgICAgIGxpbmdlLW51bWVyaWMtcGludGdyICIkMiIK ICAgICAgKCggJD8gPT0gMCApKSAmJiB7IGNvbWxhbmc9IiQyIiA7IHNoaWZ0IDsgc2hpZnQgOyB9 CiAgICAgIGxpbmdlLWRldGFpbHMtcHJpbnRmLW11bHRpcGxlICIkY29tbGFuZyIKICAgICAgcmV0 dXJuIDAKICAgICAgOzsKICAgICgiLWg9Iip8Ii0taGVscD0iKikgICAgICAgICAgICMgeyAtaD1b TEFOR10gfQogICAgICBsaW5nZS1udW1lcmljLXBpbnRnciAiJHsxIyo9fSIKICAgICAgKCggJD8g PT0gMCApKSAmJiB7IGNvbWxhbmc9IiR7MSMqPX0iIDsgc2hpZnQgMSA7IH0KICAgICAgbGluZ2Ut ZGV0YWlscy1wcmludGYtbXVsdGlwbGUgIiRjb21sYW5nIgogICAgICByZXR1cm4gMAogICAgICA7 OwogICAgKCItaCIqKSAgICAgICAgICAgICAgICAgICAgICAgIyB7IC1oW0xBTkddIH0KICAgICAg bGluZ2UtbnVtZXJpYy1waW50Z3IgIiR7MSMtaH0iCiAgICAgICgoICQ/ID09IDAgKSkgJiYgeyBj b21sYW5nPSIkezEjLWh9IiA7IHNoaWZ0IDEgOyB9CiAgICAgIGxpbmdlLWRldGFpbHMtcHJpbnRm LW11bHRpcGxlICIkY29tbGFuZyIKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICgiLXUifCIt LXVzYWdlIikKICAgICAgIyB7IC11IE5VTSwgLXUgfSBhbGxvd3Mgb3B0aW9uYWwgYXJndW1lbnQg dmFsdWUKICAgICAgaWYgeyBsaW5nZS1udW1lcmljIC1JcCAiJDIiIDsgfTsgdGhlbgogICAgICAg IHVzZz0iJDIiIDsgc2hpZnQgOyBzaGlmdAogICAgICBlbHNlCgl1c2c9MSA7IHNoaWZ0IDEKICAg ICAgZmkKICAgICAgbGluZ2UtdXNhZ2UtcHJpbnRmLW11bHRpcGxlICIkdXNnIgogICAgICByZXR1 cm4gMAogICAgICA7OwogICAgKCItdT0iKnwiLS11c2FnZT0iKikKICAgICAgIyB7IC11PTIsIC11 PSB9IGFsbG93cyBvcHRpb25hbCBhcmd1bWVudCB2YWx1ZQogICAgICBpZiBsaW5nZS1udW1lcmlj IC1JcCAiJHsxIyo9fSIgOyB0aGVuCiAgICAgICAgdXNnPSIkezEjKj19IiA7IHNoaWZ0IDEKICAg ICAgZWxzZQoJdXNnPTEgOyBzaGlmdCAxCiAgICAgIGZpCiAgICAgIGxpbmdlLXVzYWdlLXByaW50 Zi1tdWx0aXBsZSAiJHVzZyIKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICgiLXUiKikgICAg ICAgICAgIyB7IC11TlVNIH0KICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMqLXV9IiA7 IHRoZW4KICAgICAgICB1c2c9IiR7MSMqLXV9IiA7IHNoaWZ0IDEKICAgICAgZWxzZQoJc2hpZnQg MQogICAgICAgIGVkdmVycis9KCIgey11TlVNfSBOVU0gZmFpbHMgbnVtZXJpYyB2YWxpZGF0aW9u IikKICAgICAgZmkKICAgICAgbGluZ2UtdXNhZ2UtcHJpbnRmLW11bHRpcGxlICIkdXNnIgogICAg ICByZXR1cm4gMAogICAgICA7OwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICAgKCItbiIpICAgICAgICAgICAgICAgICAgICAgICAgIyB7 IC1uIH0KICAgICAgbndsaW5lPTAgOyBzaGlmdCA7OwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgKCItSCJ8Ii0taGVhZGluZyIpICAg ICAgICAgICAgIyB7IC1IIE5VTSB9CiAgICAgIGN0cD0iJG1nbiIKICAgICAgaWYgbGluZ2UtbnVt ZXJpYyAtSXAgIiQyIiA7IHRoZW4KICAgICAgICBubD0iJDIiIDsgc2hpZnQgOyBzaGlmdAogICAg ICBlbHNlCiAgICAgICAgbmw9MSA7IHNoaWZ0IDEKCWVkdmVycis9KCIgey1IIE5VTX0gTnVtIGZh aWxzIG51bWVyaWMgdmVyaWZpY2F0aW9uIikKICAgICAgZmkKICAgICAgOzsKICAgICgiLUg9Iip8 Ii0taGVhZGluZz0iKikgICAgICAgICMgeyAtSD1OVU0gfSAKICAgICAgY3RwPSIkbWduIgogICAg ICBpZiBsaW5nZS1udW1lcmljIC1JcCAiJHsxIyo9fSIgOyB0aGVuCiAgICAgICAgbmw9IiR7MSMq PX0iIDsgc2hpZnQgMQogICAgICBlbHNlCiAgICAgICAgbmw9MSA7IHNoaWZ0IDEKCWVkdmVycis9 KCIgey1IPU5VTX0gTnVtIGZhaWxzIG51bWVyaWMgdmVyaWZpY2F0aW9uIikKICAgICAgZmkKICAg ICAgOzsKICAgICgiLUgiKikgICMgeyAtSE5VTSB9CiAgICAgIGN0cD0iJG1nbiIKICAgICAgaWYg bGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMqPX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7 IHNoaWZ0IDEKICAgICAgZWxzZQogICAgICAgIG5sPTEgOyBzaGlmdCAxCgllZHZlcnIrPSgiIHst SE5VTX0gTnVtIGZhaWxzIG51bWVyaWMgdmVyaWZpY2F0aW9uIikKICAgICAgZmkKICAgICAgOzsK ICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICAgICgiLVcifCItLXdhcm5pbmciKQogICAgICAjIHsgLVcgTlVNLCAtVyB9IGFsbG93cyBvcHRp b25hbCBhcmd1bWVudCB2YWx1ZQogICAgICBjdHA9IiRibHUiCiAgICAgIGlmIGxpbmdlLW51bWVy aWMgLUlwICIkMiIgOyB0aGVuCiAgICAgICAgbmw9IiQyIiA7IHNoaWZ0IDsgc2hpZnQKICAgICAg ZWxzZQogICAgICAgIG5sPTEgOyBzaGlmdCAxCiAgICAgIGZpCiAgICAgIDs7CiAgICAoIi1XPSIq fCItLXdhcm5pbmc9IiopCiAgICAgICMgeyAtVz1OVU0sIC1XPSB9IGFsbG93cyBvcHRpb25hbCBh cmd1bWVudCB2YWx1ZQogICAgICBjdHA9IiRibHUiCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlw ICIkezEjKj19IiA7IHRoZW4KICAgICAgICBubD0iJHsxIyo9fSIgOyBzaGlmdCAxCiAgICAgIGVs c2UKICAgICAgICBubD0xIDsgc2hpZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCItVyIqfCIt LXdhcm5pbmciKikgICMgeyAtV05VTSB9CiAgICAgIGN0cD0iJGJsdSIKICAgICAgaWYgbGluZ2Ut bnVtZXJpYyAtSXAgIiR7MSMqPX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7IHNoaWZ0 IDEKICAgICAgZWxzZQogICAgICAgIG5sPTEgOyBzaGlmdCAxCgllZHZlcnIrPSgiIHstV05VTX0g TlVNIGZhaWxzIG51bWVyaWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1F InwiLS1lcnJvciIpCiAgICAgICMgeyAtRSBOVU0sIC1FIH0gYWxsb3dzIG9wdGlvbmFsIGFyZ3Vt ZW50IHZhbHVlCiAgICAgIGN0cD0iJHJlZCIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiQy IiA7IHRoZW4KICAgICAgICBubD0iJDIiIDsgc2hpZnQgOyBzaGlmdAogICAgICBlbHNlCiAgICAg ICAgbmw9MSA7IHNoaWZ0IDEKICAgICAgZmkKICAgICAgOzsKICAgICgiLUU9Iip8Ii0tZXJyb3I9 IiopCiAgICAgICMgeyAtRT1OVU0sIC1FPSB9IGFsbG93cyBvcHRpb25hbCBhcmd1bWVudCB2YWx1 ZQogICAgICBjdHA9IiRyZWQiCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkezEjKj19IiA7 IHRoZW4KICAgICAgICBubD0iJHsxIyo9fSIgOyBzaGlmdCAxCiAgICAgIGVsc2UKICAgICAgICBu bD0xIDsgc2hpZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCItRSIqKSAgICAgICAgICAjIHsg LUVOVU0gfQogICAgICBjdHA9IiRyZWQiCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkezEj LUV9IiA7IHRoZW4KICAgICAgICBubD0iJHsxIy1FfSIgOyBzaGlmdCAxCiAgICAgIGVsc2UKICAg ICAgICBubD0xIDsgc2hpZnQgMQoJZWR2ZXJyKz0oIiB7LUVOVU19IE5VTSBmYWlscyBudW1lcmlj IHZhbGlkYXRpb24iKQogICAgICBmaQogICAgICA7OwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgKCItYiJ8Ii0tYmx1IikKICAgICAg IyB7IC1iIE5VTSwgLWIgfSBhbGxvd3Mgb3B0aW9uYWwgYXJndW1lbnQgdmFsdWUKICAgICAgY3Rw PSIkYmx1IgogICAgICBpZiBsaW5nZS1udW1lcmljIC1JcCAiJDIiIDsgdGhlbgoJZWNobyAiYmx1 ZSAkMiAkPyIKICAgICAgICBubD0iJDIiIDsgc2hpZnQgOyBzaGlmdAogICAgICBlbHNlCglubD0x IDsgc2hpZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCItYj0iKnwiLS1ibHU9IiopCiAgICAg ICMgeyAtYj1OVU0sIC1iPSB9IGFsbG93cyBvcHRpb25hbCBhcmd1bWVudCB2YWx1ZQogICAgICBj dHA9IiRibHUiCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkezEjKj19IiA7IHRoZW4KICAg ICAgICBubD0iJHsxIyo9fSIgOyBzaGlmdCAxCiAgICAgIGVsc2UKICAgICAgICBubD0xIDsgc2hp ZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCItYiIqKSAgIyB7IC1iTlVNIH0KICAgICAgY3Rw PSIkYmx1IgogICAgICBpZiBsaW5nZS1udW1lcmljIC1JcCAiJHsxIy1ifSIgOyB0aGVuCiAgICAg ICAgbmw9IiR7MSMtYn0iIDsgc2hpZnQgMQogICAgICBlbHNlCglubD0xIDsgc2hpZnQgMQoJZWR2 ZXJyKz0oIiB7LWJOVU19IE5VTSBmYWlscyBudW1lcmljIHZhbGlkYXRpb24iKQogICAgICBmaQog ICAgICA7OwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogICAgKCItZyJ8Ii0tZ3JuIikKICAgICAgIyB7IC1nIE5VTSwgLWcgfSBhbGxvd3Mg b3B0aW9uYWwgYXJndW1lbnQgdmFsdWUKICAgICAgY3RwPSIkZ3JuIgogICAgICBpZiBsaW5nZS1u dW1lcmljIC1JcCAiJDIiIDsgdGhlbgogICAgICAgIG5sPSIkMiIgOyBzaGlmdCA7IHNoaWZ0CiAg ICAgIGVsc2UKCW5sPTEgOyBzaGlmdCAxCiAgICAgIGZpCiAgICAgIDs7CiAgICAoIi1nPSIqfCIt LWdybj0iKikKICAgICAgIyB7IC1nPU5VTSwgLWc9IH0gYWxsb3dzIG9wdGlvbmFsIGFyZ3VtZW50 IHZhbHVlCiAgICAgIGN0cD0iJGdybiIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMq PX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7IHNoaWZ0IDEKICAgICAgZWxzZQoJbmw9 MSA7IHNoaWZ0IDEKICAgICAgZmkKICAgICAgOzsKICAgICgiLWciKikgICMgeyAtZ05VTSB9CiAg ICAgIGN0cD0iJGdybiIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMtZ30iIDsgdGhl bgogICAgICAgIG5sPSIkezEjLWd9IiA7IHNoaWZ0IDEKICAgICAgZWxzZQoJbmw9MSA7IHNoaWZ0 IDEKCWVkdmVycis9KCIgey1nTlVNfSBOVU0gZmFpbHMgbnVtZXJpYyB2YWxpZGF0aW9uIikKICAg ICAgZmkKICAgICAgOzsKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICAgICgiLWMifCItLWN5biIpCiAgICAgICMgeyAtYyBOVU0sIC1jIH0g YWxsb3dzIG9wdGlvbmFsIGFyZ3VtZW50IHZhbHVlCiAgICAgIGN0cD0iJGN5biIKICAgICAgaWYg bGluZ2UtbnVtZXJpYyAtSXAgIiQyIiA7IHRoZW4KICAgICAgICBubD0iJDIiIDsgc2hpZnQgOyBz aGlmdAogICAgICBlbHNlCglubD0xIDsgc2hpZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCIt Yz0iKnwiLS1jeW49IiopCiAgICAgICMgeyAtYz1OVU0sIC1jPSB9IGFsbG93cyBvcHRpb25hbCBh cmd1bWVudCB2YWx1ZQogICAgICBjdHA9IiRjeW4iCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlw ICIkezEjKj19IiA7IHRoZW4KICAgICAgICBubD0iJHsxIyo9fSIgOyBzaGlmdCAxCiAgICAgIGVs c2UKCW5sPTEgOyBzaGlmdCAxCiAgICAgIGZpCiAgICAgIDs7CiAgICAoIi1jIikgICMgeyAtY05V TSB9CiAgICAgIGN0cD0iJGN5biIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMtY30i IDsgdGhlbgogICAgICAgIG5sPSIkezEjLWN9IiA7IHNoaWZ0IDEKICAgICAgZWxzZQoJbmw9MSA7 IHNoaWZ0IDEKCWVkdmVycis9KCIgey1jTlVNfSBOVU0gZmFpbHMgbnVtZXJpYyB2YWxpZGF0aW9u IikKICAgICAgZmkKICAgICAgOzsKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICgiLXIifCItLXJlZCIpCiAgICAgICMgeyAtciBOVU0s IC1yIH0gYWxsb3dzIG9wdGlvbmFsIGFyZ3VtZW50IHZhbHVlCiAgICAgIGN0cD0iJHJlZCIKICAg ICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiQyIiA7IHRoZW4KICAgICAgICBubD0iJDIiIDsgc2hp ZnQgOyBzaGlmdAogICAgICBlbHNlCglubD0xIDsgc2hpZnQgMSAKCWVkdmVycis9KCIgey1yIE5V TX0gTlVNIGZhaWxzIG51bWVyaWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAo Ii1yPSIqfCItLXJlZD0iKikKICAgICAgIyB7IC1yPU5VTSwgLXI9IH0gYWxsb3dzIG9wdGlvbmFs IGFyZ3VtZW50IHZhbHVlCiAgICAgIGN0cD0iJHJlZCIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAt SXAgIiR7MSMqPX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7IHNoaWZ0IDEKICAgICAg ZWxzZQoJbmw9MSA7IHNoaWZ0IDEKICAgICAgZmkKICAgICAgOzsKICAgICgiLXIiKikgICMgeyAt ck5VTSB9CiAgICAgIGN0cD0iJHJlZCIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMq PX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7IHNoaWZ0IDEKICAgICAgZWxzZQoJbmw9 MSA7IHNoaWZ0IDEgCgllZHZlcnIrPSgiIHstck5VTX0gTlVNIGZhaWxzIG51bWVyaWMgdmFsaWRh dGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1tInwiLS1tZ24iKQogICAgICAjIHsgLW0g TlVNLCAtbSB9IGFsbG93cyBvcHRpb25hbCBhcmd1bWVudCB2YWx1ZQogICAgICBjdHA9IiRtZ24i CiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkMiIgOyB0aGVuCiAgICAgICAgbmw9IiQyIiA7 IHNoaWZ0IDsgc2hpZnQKICAgICAgZWxzZQoJbmw9MSA7IHNoaWZ0IDEKICAgICAgZmkKICAgICAg OzsKICAgICgiLW09Iip8Ii0tbWduPSIqKQogICAgICAjIHsgLW0gTlVNLCAtbSB9IGFsbG93cyBv cHRpb25hbCBhcmd1bWVudCB2YWx1ZSAKICAgICAgY3RwPSIkbWduIgogICAgICBpZiBsaW5nZS1u dW1lcmljIC1JcCAiJHsxIyo9fSIgOyB0aGVuCiAgICAgICAgbmw9IiR7MSMqPX0iIDsgc2hpZnQg MQogICAgICBlbHNlCglubD0xIDsgc2hpZnQgMQogICAgICBmaQogICAgICA7OwogICAgKCItbSIq KSAgICMgeyAtbU5VTSB9CiAgICAgIGN0cD0iJG1nbiIKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAt SXAgIiR7MSMtbX0iIDsgdGhlbgogICAgICAgIG5sPSIkezEjLW19IiA7IHNoaWZ0IDEKICAgICAg ZWxzZQoJbmw9MSA7IHNoaWZ0IDEgCgllZHZlcnIrPSgiIHstbU5VTX0gTlVNIGZhaWxzIG51bWVy aWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1vInwiLS1vcmciKQogICAg ICAjIHsgLW8gTlVNLCAtbyB9IGFsbG93cyBvcHRpb25hbCBhcmd1bWVudCB2YWx1ZQogICAgICBj dHA9IiRvcmciCiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkMiIgOyB0aGVuCiAgICAgICAg bmw9IiQyIiA7IHNoaWZ0IDsgc2hpZnQKICAgICAgZWxzZQoJbmw9MSA7IHNoaWZ0IDEKICAgICAg ZmkKICAgICAgOzsKICAgICgiLW89Iip8Ii0tb3JnPSIqKQogICAgICAjIHsgLW89TlVNLCAtbz0g fSBhbGxvd3Mgb3B0aW9uYWwgYXJndW1lbnQgdmFsdWUKICAgICAgY3RwPSIkb3JnIgogICAgICBp ZiBsaW5nZS1udW1lcmljIC1JcCAiJHsxIyo9fSIgOyB0aGVuCiAgICAgICAgbmw9IiR7MSMqPX0i IDsgc2hpZnQgMQogICAgICBlbHNlCglubD0xIDsgc2hpZnQgMSAKICAgICAgZmkKICAgICAgOzsK ICAgICgiLW8iKikgICMgeyAtb05VTSB9CiAgICAgIGN0cD0iJG9yZyIKICAgICAgaWYgbGluZ2Ut bnVtZXJpYyAtSXAgIiR7MSMtb30iIDsgdGhlbgogICAgICAgIG5sPSIkezEjLW99IiA7IHNoaWZ0 IDEKICAgICAgZWxzZQoJbmw9MSA7IHNoaWZ0IDEgCgllZHZlcnIrPSgiIHstb05VTX0gTlVNIGZh aWxzIG51bWVyaWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIDs7CiAgICAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi0tY29sZiIp ICAgICAgICMgeyAtLWNvbGYgMjMzIH0KICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiQyIiA7 IHRoZW4KICAgICAgICBjbj0iJDIiIDsgc2hpZnQgOyBzaGlmdAogICAgICBlbHNlCiAgICAgICAg Y249MjA4IDsgc2hpZnQgMQoJZWR2ZXJyKz0oIiB7LS1jb2xmIE5VTX0gTlVNIGZhaWxzIG51bWVy aWMgdmFsaWRhdGlvbiIpCiAgICAgIGZpCiAgICAgIG5sPTEKICAgICAgY3RwPSQodHB1dCBib2xk KSQodHB1dCBzZXRhZiAkY24pIDsgcnN0PSIkc2dyIgogICAgICA7OwogICAgKCItLWNvbGY9Iiop ICAgICAjIHsgLS1jb2xmPTIzMyB9CiAgICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkezEjKj19 IiA7IHRoZW4KICAgICAgICBjbj0iJHsxIyo9fSIgOyBzaGlmdCA7IHNoaWZ0CiAgICAgIGVsc2UK ICAgICAgICBjbj0yMDggOyBzaGlmdCAxCgllZHZlcnIrPSgiIHstLWNvbGY9TlVNfSBOVU0gZmFp bHMgbnVtZXJpYyB2YWxpZGF0aW9uIikKICAgICAgZmkKICAgICAgbmw9MQogICAgICBjdHA9JCh0 cHV0IGJvbGQpJCh0cHV0IHNldGFmICRjbikgOyByc3Q9IiRzZ3IiCiAgICAgIDs7CiAgICAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi1s IikKICAgICAgIyB7LWwgTlVNLCAtbH0gYWxsb3dzIG9wdGlvbmFsIGFyZ3VtZW50IHZhbHVlCiAg ICAgIGlmIGxpbmdlLW51bWVyaWMgLUlwICIkMiIgOyB0aGVuCiAgICAgICAgbmw9IiQyIiA7IHNo aWZ0IDsgc2hpZnQKICAgICAgZWxzZQogICAgICAgIG5sPTEgOyBzaGlmdCAxCiAgICAgIGZpCiAg ICAgIDs7CiAgICAoIi1sPSIqKQogICAgICAjIHsgLWw9TlVNLCAtbD0gfSBhbGxvd3Mgb3B0aW9u YWwgYXJndW1lbnQgdmFsdWUKICAgICAgaWYgbGluZ2UtbnVtZXJpYyAtSXAgIiR7MSMqPX0iIDsg dGhlbgogICAgICAgIG5sPSIkezEjKj19IiA7IHNoaWZ0IDEKICAgICAgZWxzZQogICAgICAgIG5s PTEgOyBzaGlmdCAxCiAgICAgIGZpCiAgICAgIDs7CiAgICAoIi1sIiopICAjIHsgLWxOVU0gfQog ICAgICBpZiBsaW5nZS1udW1lcmljIC1JcCAiJHsxIy1sfSIgOyB0aGVuCiAgICAgICAgbmw9IiR7 MSMtbH0iIDsgc2hpZnQgMQogICAgICBlbHNlCiAgICAgICAgbmw9MSA7IHNoaWZ0IDEKCWVkdmVy cis9KCIgey1sTlVNfSBOVU0gZmFpbHMgbnVtZXJpYyB2YWxpZGF0aW9uIikKICAgICAgZmkKICAg ICAgOzsKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICAgICgiOiIpIHByaW50ZiAnJXNcbicgIlJlcXVpcmVzIGFuIGFyZ3VtZW50IHZhbHVl IiA7OwogICAgKCI/IikgcHJpbnRmICclc1xuJyAiSW52YWxpZCBvcHRpb246IiA7OwogICAgKCIt LSIpIHNoaWZ0IDEgOyBicmVhayA7OwogICAgKCopIG9wdF9lcnJvcj0xIDsgYnJlYWsgOzsKICAg ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAg ZXNhYwogZG9uZQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgogIyMgaDIgUFJJTlQgUHJpbnQgdGV4dCB3aXRoIHJlZ3VsYXIgb3Igd2Fy bmluZyBjb2xvdXIKCiAjIGFsdGVybmF0aXZlIHZhbGlkYXRpb24gZm9yIGludGVnZXJzIHVzaW5n IHBhcmFtZXRlciBleHBhbnNpb24KICMgdmFyPTEyMzQ1CiAjIGVjaG8gIiR7dmFyLy9bMC05XS99 IgogIyBjYXNlICR7dmFyLy9bMC05XS99IGluCiAjICAgPyopIGVjaG8gInZhcjogc3RyaW5nIG9y IG5vbi1pbnRlZ2VyIiA7OwogIyAgICopICBlY2hvICJ2YXI6IGludGVnZXIiIDs7CiAjIGVzYWMK CiAjIGVjaG8gImFnZ3I6IHwke2FnZ3JbKl19fCIKICMgZWNobyAibndsaW5lOiAkbndsaW5lIHwg bmw6ICRubCIKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogIyMgcHJpbnRmIGZvcm1hdCBkZXNjcmlwdG9yCiAjICBXaGVu IHRoZXJlIGFyZSBtb3JlIGFyZ3VtZW50cyB0aGFuIGRlY2xhcmVkIGluIHRoZSBwcmludGYgZm9y bWF0CiAjICBkZXNjcmlwdG9yLCB0aGUgZGVzY3JpcHRvciBpcyByZXBlYXRlZCBhcyBuZWNlc3Nh cnkgdG8gY29uc3VtZSBhbGwKICMgIGFyZ3VtZW50cy4KCiBhZ2dyPSgiJEAiKQogKCggbndsaW5l ID09IDEgKSkgJiYgZnM9J1xuJyB8fCBmcz0nICcKCiBpZiAoKCAkeyNlZHZlcnJbQF19ID4gMCAp KTsgdGhlbgogICBwcmludGYgJ1xuJXMlcyVzXG4nICRyZWQgIkxpc3Qgb2YgZGV0ZWN0ZWQgZXJy b3JzIiAkc2dyCiAgIHByaW50ZiAnJXNcbicgIiR7ZWR2ZXJyW0BdfSIKICAgZWNobwogZmkKCiBs b2NhbCByZ2U9J15bMC05XSskJwogaWYgW1sgIiRubCIgPX4gJHJnZSBdXTsgdGhlbgoKICAgaW1w bD0icm5nZSIKICAgY2FzZSAkaW1wbCBpbgogICAgIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLgogICAgIyBJbXBsZW1lbnRhdGlvbiB1c2luZyBhcnJheSBsb29wCiAgICAoImxvb3AiKQog ICAgICBsb2NhbCBhcmdjPSQjCiAgICAgICgoIG5sID4gYXJnYyApKSAmJiBubD0kYXJnYwogICAg ICBmb3IgKCggaj0wOyBqPGFyZ2M7IGorKyApKTsgZG8KCSgoIGorMSA8PSBubCApKSAmJiBwcmlu dGYgJyVzJXMlcyR7ZnN9JyAkY3RwICIke2FnZ3Jbal19IiAkcnN0CgkoKCBqKzEgPiBubCApKSAm JiBwcmludGYgJyVzJHtmc30nICIke2FnZ3Jbal19IgogICAgICBkb25lCiAgICAgIDs7CiAgICAj IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAgICAjIEltcGxlbWVudGF0aW9uIHVzaW5n IGFycmF5IHJhbmdlCiAgICAoInJuZ2UiKQogICAgICAoKCBubCA+IDAgKSkgICYmIHByaW50ZiAi JXMke2ZzfSIgIiR7Y3RwfSR7YWdncltAXTowOm5sfSR7cnN0fSIKICAgICAgKCggbmwgPCAkIyAp KSAmJiBwcmludGYgIiVzJHtmc30iICIke2FnZ3JbQF06bmx9IgogICAgICA7OwogICBlc2FjCgog ZmkKCiAoKCBud2xpbmUgPT0gMCApKSAmJiBlY2hvCiAKIHJldHVybiAwCgp9CgojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBEZWZpbmUg YSBiYXNoIHNoZWxsIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFuIGFsaWFzCgpwZm0gKCkKewogIGxp bmdlLXByaW50Zi1tdWx0aXBsZSAiJEAiCn0KCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyBoMSAqIFNldCBBbGlhc2VzCgojIyBoMiAg ICogVXNlIG9mIENvbG91ciAKCmxpbmdlLXJlZ2lzdGVyICgpCnsKIGxvY2FsIGJsdT0kKHRwdXQg Ym9sZCkkKHRwdXQgc2V0YWYgMzkpCiBsb2NhbCBzZ2E9JGJsdSBzZ3I9JCh0cHV0IHNncjApCiAg ICAgCiBsb2NhbCBmbT0nJXNcbicKIF9QRj0icHJpbnRmICRmbSIKIAogZWNobwogcHJpbnRmICcl c1xuJyAiZWR2YXJ0IiAiKioqKioqIgoKIGVjaG8KICRfUEYgIkZvciB1c2FnZSBpbmZvcm1hdGlv biBpbnZva2UgdGhlIC11IGNvbW1hbmQiCiAkX1BGICIgIGVkdmFydC1tb2xuaXlhLWNvbWludCAt dSIKIAogZWNobyAKICRfUEYgIiRzZ2EgZWR2YXJ0LW1vbG5peWEtY29taW50ICRzZ3IiCiAkX1BG ICIgICBEaXNwbGF5cyBtYXRjaGluZyBwYXR0ZXJucyBpbiBwbGFpbi10ZXh0IGRhdGEgc2V0cy4i CgogZWNobyAKICRfUEYgIiRzZ2EgZWR2YXJ0LW1vbG5peWEtY29taW50ICRzZ3IiCiAkX1BGICIg ICBEaXNwbGF5cyBtYXRjaGluZyBwYXR0ZXJucyBpbiBwbGFpbi10ZXh0IGRhdGEgc2V0cy4iCgog JF9QRiAiJHNnYSBlZHZhcnQtY3lnbml1bS1lbmdpbmUgJHNnciIKICRfUEYgIiAgIFRvb2wgZm9y IGVmZmljaWVudGx5IHRyYW5zZmVycmluZyBhbmQgc3luY2hyb25pemluZyBmaWxlcyIKICRfUEYg IiAgIGJldHdlZW4gbmV0d29ya2VkIGNvbXB1dGVycyBhbmQgc3RvcmFnZSBkZXZpY2VzIGJ5IGNv bXBhcmluZyIKICRfUEYgIiAgIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWVzIGFuZCBzaXplcy4iCgog JF9QRiAiJHNnYSBlZHZhcnQtY3VyaXBsYXlhLXRhdXRvbmEgJHNnciIKICRfUEYgIiAgIFRvb2wg Zm9yIGVmZmljaWVudGx5IHRyYW5zZmVycmluZyBhbmQgc3luY2hyb25pemluZyBmaWxlcyIKfQoK IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKCjw8LSAiX2NvbW1lbnQiCiogc2V0IGFsdGVybmF0aXZlcyBmb3IgbGlzdGluZyBmaWxl cyBpbiBhIHVuaXgtbGlrZSB0ZXJtaW5hbApfY29tbWVudAoKbGluZ2UtY21kLWxpc3QgKCkKewog bG9jYWwgZXhlY19yYz0wCiBjYXNlICIkMSIgaW4KICAoIi1WInwiLS12ZXJzaW9uIikKICAgIGxv Y2FsIC1yIGV0ZGF0ZT0iVjAxIEp1bCAyMDIxIFdrMjciCiAgICBwcmludGYgJyVzXG4nICIkZXRk YXRlIFN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIgogICAgcmV0dXJuIDAKICAgIDs7CiAg KCItaCJ8Ii0taGVscCIpCiAgICBwcmludGYgIlNlYXJjaGVzIGlucHV0IGZpbGVzIGZvciBsaW5l cyBjb250YWluaW5nIG1hdGNoZXMuXG4iCiAgICBwcmludGYgInJzICAgRmlsZSB0cmFuc2ZlciBv ZiBhY2hpdmUuXG4iCiAgICBwcmludGYgInJzdSAgVXBkYXRlIGJ5IHNraXBwaW5nIG5ld2VyIGZp bGVzIG9uIHJlY2VpdmVyLlxuIgogICAgcHJpbnRmICJycnMgIFJhcGlkIGZpbGUgdHJhbnNmZXIu XG4iCiAgICByZXR1cm4gMAogICAgOzsKICAjIC0tLS0tLS0tLS0tLS0tLS0tCiAgKCItZSJ8Ii0t ZXhlYyIpIGV4ZWNfcmM9MSA7IHNoaWZ0IDEgOzsKICAjIC0tLS0tLS0tLS0tLS0tLS0tCiAgKCop CiAgICBwcmludGYgIkludm9rZSBcYGxpbmdlLWNtZC1saXN0IC1oJyBmb3IgZGV0YWlscy5cbiIK IGVzYWMKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgogaWYgKCggZXhlY19yYyA9PSAxICkpOyB0aGVuCgogICAjIHVzZSBjb2xvdXIgc2No ZW1lIHdoZW4gbGlzdGluZyBmaWxlcyBpbiB1bml4LWxpa2UgdGVybWluYWwKICAgYWxpYXMgbHM9 J2xzIC0tY29sb3InCiAgIGFsaWFzIGRpcj0nZGlyIC0tY29sb3InCiAgIGFsaWFzIHZkaXI9J3Zk aXIgLS1jb2xvcicKICAgYWxpYXMgZ3JlcD0nZ3JlcCAtLWNvbG9yJwogICBhbGlhcyBmZ3JlcD0n ZmdyZXAgLS1jb2xvcicKICAgYWxpYXMgZWdyZXA9J2VncmVwIC0tY29sb3InCgogICAjIC4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgogICAjIGxpc3QgaW5mb3JtYXRpb24gYWJvdXQgZmls ZXMKCiAgIGFsaWFzIGxkPSdscyAtZCAqLycgICMgbGlzdCBkaXJlY3RvcmllcwoKICAgYWxpYXMg bGw9J2xzIC1hbEYnCiAgIGFsaWFzIGxhPSdscyAtQScKICAgYWxpYXMgbD0nbHMgLUNGJwogICBh bGlhcyBsdD0nbHMgLWx0JyAgICAgIyBzb3J0IGJ5IGRhdGUKICAgYWxpYXMgbHg9J2xzIC1sWEIn ICAgICMgc29ydCBieSBleHRlbnNpb24KCiAgIGFsaWFzIGxhPSdscyAtQScKICAgYWxpYXMgbGE9 J2xzIC1hRicgICAgICMgTGlzdCBhbGwgYW5kIGZpbGUgdHlwZXMKICAgYWxpYXMgbGw9J2xzIC1h bEYnCiAgIGFsaWFzIGxsPSdscyAtbEYnICAgICAjIExpc3QgPGRpcj4gc3R5bGUKICAgIAogICBh bGlhcyBscj0nbHMgLWxSJyAgICAgIyByZWN1cnNpdmUgbHMKICAgYWxpYXMgbHRyPSdscyAtbHRy JyAgICMgc29ydCBieSBkYXRlIHJlY3Vyc2l2ZWx5CiAgIGFsaWFzIGxjcj0nbHMgLWxjcicgICAj IHNvcnQgYnkgY2hhbmdlIHRpbWUKICAgYWxpYXMgbHVyPSdscyAtbHVyJyAgICMgc29ydCBieSBh Y2Nlc3MgdGltZQoKICAgYWxpYXMgbHNyPSdscyAtbFNyJyAgICMgc29ydCBieSBzaXplCiAgICAK IGZpCgp9CgojIDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7CgojIyBoMiAgICogVXRpbGl0aWVzCiMjIGgzICAgICAqIGxpbmdlLWNt ZC11dGlsCgpsaW5nZS1jbWQtdXRpbCAoKQp7CiBsb2NhbCBleGVjX3JjPTAKIGNhc2UgJDEgaW4K ICAgKCItViJ8Ii0tdmVyc2lvbiIpCiAgICAgbG9jYWwgLXIgZXRkYXRlPSJWMDEgSnVsIDIwMjEg V2syNyIKICAgICBwcmludGYgJyVzXG4nICIkZXRkYXRlIFN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIg RGltZWNoIgogICAgIHJldHVybiAwCiAgICAgOzsKICAgKCItaCJ8Ii0taGVscCIpCiAgICAgcHJp bnRmICJTZXQgYWxpYXNlcyBmb3IgdXRpbGl0aWVzLlxuIgogICAgIHJldHVybiAwCiAgICAgOzsK ICAgKCItZSJ8Ii0tZXhlYyIpIGV4ZWNfcmM9MSA7IHNoaWZ0IDs7CiAgICMgLi4uLi4uLi4uLi4u Li4uLi4KICAgKCopCiAgICAgcHJpbnRmICJJbnZva2UgXGBsaW5nZS1jbWQtdXRpbCAtaCcgZm9y IGRldGFpbHMuXG4iCiBlc2FjCgogaWYgKCggZXhlY19yYyA9PSAxICkpOyB0aGVuCgogICAjIHJl Y3Vyc2l2ZSBsaXN0aW5nIG9mIGRpcmVjdG9yaWVzIGFuZCBmaWxlcwogICAjIGxpc3QgZGlyZWN0 b3JpZXMgb25seSB3aXRoIGRpc3BsYXkgZGVwdGggYC1MIExFVkVMYAogICBhbGlhcyB0ZGw9J3Ry ZWUgLWQgLUwnCiAgICAgCiAgICMgcmVtb3ZlIGVhY2ggZ2l2ZW4gZmlsZQogICBhbGlhcyBybWk9 J3JtIC1pJyAgICAjIHByb21wdCBiZWZvcmUgZXZlcnkgcmVtb3ZhbAogICBhbGlhcyBybWY9J3Jt IC1mJyAgICAjIGlnbm9yZSBub24tZXhpc3RlbnQgZmlsZXMsIG5ldmVyIHByb21wdAoKICAgIyB2 aWV3IHRleHQgZmlsZXMsIGBsZXNzJyBkb2VzIG5vdCByZWFkIGVudGlyZSBmaWxlIGJlZm9yZSBk aXNwbGF5CiAgIGFsaWFzIGw9J2xlc3MnICAgICAgICMgZmFzdGVyIHRoYW4gYG1vcmUnIHdpdGgg YmFja3dhcmQgbW92ZW1lbnQKICAgYWxpYXMgbT0nbW9yZScgICAgICAgIyByZWFkcyBlbnRpcmUg ZmlsZSBiZWZvcmUgZGlzcGxheQoKICAgIyB2aWV3IHBkZiBmaWxlcwogICBhbGlhcyBwZGZhPSdh dHJpbCcgICAjIHZpZXcgcGRmIGZpbGVzCiAgIGFsaWFzIHBkZmU9J2V2aW5jZScgICMgdmlldyBw ZGYgZmlsZXMKICAgIAogICAjIHNpZGUtYnktc2lkZSBmaWxlIGRpZmZlcmVuY2UgdXNpbmcgY29t bWFuZCB0ZXJtaW5hbCB3aWR0aAogICBhbGlhcyBkaWZzaWRlPSdkaWZmIC15IC1XICQoKCAkKHRw dXQgY29scykgLSAyICkpJwoKICAgYWxpYXMgZmVzdGl2b3g9J3hzZWwgfCBmZXN0aXZhbCAtLXR0 cycgICMgdGV4dCB0byBzcGVlY2gKICAgYWxpYXMgZmlnbGV0X3Nob3dmb250cz0nc2hvd2ZpZ2Zv bnRzJyAgIyBzaG93IGZpZ2xldCBmb250cwoKIGZpCgp9CgojIDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgojIyBoMiAgICogUGF0 aCBsb2NhdGlvbnMKCiMjIGgzICAgICAqIGxpbmdlLWVudmlyb24tYWRtaXIKCmxpbmdlLWVudmly b24tYWRtaXIgKCkKewogbG9jYWwgZXhlY19yYz0wCiBjYXNlICQxIGluCiAgKCItViJ8Ii0tdmVy c2lvbiIpCiAgICBsb2NhbCAtciBldGRhdGU9IlYwMSBKdWwgMjAyMSBXazI3IgogICAgcHJpbnRm ICclc1xuXG4nICIkZXRkYXRlIFN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIgogICAgcmV0 dXJuIDAKICAgIDs7CiAgKCItaCJ8Ii0taGVscCIpCiAgICBwcmludGYgIlNldCBhbGlhc2VzIGZv ciBwYXRoIGxvY2F0aW9ucy5cbiIKICAgIHByaW50ZiAiYWdlbmRhOiBIT01FL0FnZW5kYVxuIgog ICAgcHJpbnRmICJnbnVwYTogIEhPTUUvQWN0aXZlSm9icy9Cb29rcy9JbmZvY3MvR251cGFcbiIK ICAgIHByaW50ZiAidGRyOiAgICBIT01FL0FjdGl2ZUpvYnMvUmVwb3J0cy9UZHIiCiAgICByZXR1 cm4gMAogICAgOzsKICAjIC4uLi4uLi4uLi4uLi4uLi4uCiAgKCItZSJ8Ii0tZXhlYyIpIGV4ZWNf cmM9MSA7IHNoaWZ0IDs7CiAgIyAuLi4uLi4uLi4uLi4uLi4uLgogICgqKQogICAgcHJpbnRmICcl c1xuJyAiSW52b2tlIFxgbGluZ2UtZW52aXJvbi1hZG1pciAtaCcgZm9yIGRldGFpbHMuIgogZXNh YyAjIGNhc2UgZW5kcyBoZXJlCgogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK ICMgU2V0IHNob3J0Y3V0cyB0byBzcGVjaWZpYyBkaXJlY3RvcmllcwogaWYgKCggZXhlY19yYyA9 PSAxICkpOyB0aGVuCiAgIGFsaWFzIGFnZW5kYT0ke0hPTUV9L0FnZW5kYQogICBhbGlhcyBnbnVw YT0ke0hPTUV9L0FjdGl2ZUpvYnMvQm9va3MvSW5mb2NzL0dudXBhCiAgIGFsaWFzIHRkcj0ke0hP TUV9L0FjdGl2ZUpvYnMvUmVwb3J0cy9UZHIKICAgYWxpYXMgdGRyZGV2PSR7SE9NRX0vMDUtRGV2 ZWxvcG1lbnQKICAgYWxpYXMgaGFnYmFyZD0nZWNobyBhZ2VuZGEgZ251cGEgdGRyZGV2JwogZmkK Cn0KCiMgOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7OzsKCiMjIGgzIGxpbmdlLWFnZ3ItdXRpbAoKbGluZ2UtYWdnci11dGlsICgpCnsK IGxvY2FsIGV4ZWNfcmM9MAogY2FzZSAkMSBpbgogICgiLVYifCItLXZlcnNpb24iKQogICAgbG9j YWwgLXIgZXRkYXRlPSJWMDEgSnVsIDIwMjEgV2syNyIKICAgIHByaW50ZiAnJXNcblxuJyAiJGV0 ZGF0ZSBTdHJhdGVnaXN0IENocmlzdG9waGVyIERpbWVjaCIKICAgIHJldHVybiAwCiAgICA7Owog ICgiLWgifCItLWhlbHAiKQogICAgcHJpbnRmICdTZXQgYWxpYXNlcyBmb3IgcGF0aCBsb2NhdGlv bnMuXG4nCiAgICBwcmludGYgJ2FnZW5kYTogSE9NRS9BZ2VuZGFcbicKICAgIHByaW50ZiAnZ251 cGE6ICBIT01FL0FjdGl2ZUpvYnMvQm9va3MvSW5mb2NzL0dudXBhXG4nCiAgICBwcmludGYgJ3Rk cjogICAgSE9NRS9BY3RpdmVKb2JzL1JlcG9ydHMvVGRyJwogICAgcmV0dXJuIDAKICAgIDs7CiAg IyAuLi4uLi4uLi4uLi4uLi4uLgogICgiLWUifCItLWV4ZWMiKSBleGVjX3JjPTEgOyBzaGlmdCAx IDs7CiAgIyAuLi4uLi4uLi4uLi4uLi4uLgogICgqKQogICAgcHJpbnRmICdJbnZva2UgXGBsaW5n ZS1hZ2dyLXV0aWwgLWhcYCBmb3IgZGV0YWlscy5cbicKICAgIDs7CiBlc2FjCgogaWYgKCggZXhl Y19yYyA9PSAxICkpOyB0aGVuCiAgIGxpbmdlLWNtZC1saXN0IC0tZXhlYwogICBsaW5nZS1jbWQt dXRpbCAtLWV4ZWMKICAgbGluZ2UtZW52aXJvbi1hZG1pciAtLWV4ZWMKIGZpCn0KCiMgLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4K CiMjIGgzIGxpbmdlLWVudmlyb24tb3Bjb20KCmxpbmdlLWVudmlyb24tb3Bjb20gKCkKewogIyBQ cmludHMgdXNlZnVsIGRpcmVjdG9yaWVzLiAgCiBzZ3I9JCh0cHV0IHNncjApIDsgc2dhPSQodHB1 dCBzZXRhZiAyMDApCiAKIHByaW50ZiAiJHtzZ2F9VXNlZnVsIERpcmVjdG9yaWVzOiIKIHByaW50 ZiAiIGNkIH4vMDFjaGFvcy90ZHIgIGNkIGFkbWlyL2d1bmdhZGluJHtzZ3J9Igp9CgojID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKIyMgaDMg bGluZ2UtdXNhZ2UtY2FsCgpsaW5nZS11c2FnZS1jYWxjICgpCnsKIGNhc2UgJDEgaW4KICAoMSkK ICAgICBwcmludGYgJyVzXG4nICJsaW5nZS1jYWxjIE9QVElPTlMgRVhQUiIKICAgICBwcmludGYg JyVzXG4nICItdiBMViwgLXY9TFYsIC12TFYsIC0tdmVyYm9zaXR5IExWLCAtLXZlcmJvc2l0eT1M ViIKICAgICBwcmludGYgJyVzXG4nICItdSBMViwgLXU9TFYsIC11TFYsIC0tdXNhZ2UgTFYsIC0t dXNhZ2U9TFYiCiAgICAgcHJpbnRmICclc1xuJyAiey1WLCAtLXZlcnNpb259LCB7LWgsIC0taGVs cH0iCiAgICAgOzsKICAoMikKICAgICBIREcgIlVzYWdlIgogICAgIHByaW50ZiAnJXNcbicgIiAg bGluZ2UtY2FsYyBcIjE4LjIxICsgMzQuNTVcIiIKICAgICBwcmludGYgJyVzXG4nICIgIGxpbmdl LWNhbGMgXCIxMF4yXCIiCiAgICAgcHJpbnRmICclc1xuJyAiICBsaW5nZS1jYWxjIFwidmFyPTEw IDsgKyt2YXJcIiIKICAgICBwcmludGYgJyVzXG4nICIgIGxpbmdlLWNhbGMgXCJ2YXI9MTAgOyB2 YXIrK1wiIgogICAgIHByaW50ZiAnJXNcbicgIiAgbGluZ2UtY2FsYyBcIjEwID4gNVwiIgogICAg IDs7CiBlc2FjCQp9CgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwoKIyMgaDMgbGluZ2UtY2FsYwoKbGluZ2UtY2FsYyAoKQp7CiB3aGlsZSAo KCAkIyA+IDAgKSk7IGRvCiAgIG9wdD0iJDEiCiAgIGNhc2UgJG9wdCBpbgogICAgKCItViJ8Ii0t dmVyc2lvbiIpCiAgICAgIGxvY2FsIC1yIGV0ZGF0ZT0iVjAxIEp1bCAyMDIxIFdrMjciCiAgICAg IHBmbSAiJGV0ZGF0ZSBNYXRlbWF0aWtlciBDaHJpc3RvcGhlciBEaW1lY2giICIiCiAgICAgIHJl dHVybiAwCiAgICAgIDs7CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgICAoIi12InwiLS12ZXJib3NpdHkiKSAgdmI9IiQyIiA7IHNoaWZ0 IDsgc2hpZnQgOzsKICAgICgiLXY9Iip8Ii0tdmVyYm9zaXR5PSIqKSB2Yj0iJHsxIyo9fSI7IHNo aWZ0IDEgOzsKICAgICgiLXYiKikgdmI9IiR7MSMtdn0iOyBzaGlmdCAxIDs7CiAgICAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAoIi11Inwi LS11c2FnZSIpCiAgICAgIHJldHVybiAwCiAgICAgIDs7CiAgICAoIi1oInwiLS1oZWxwIikKICAg ICAgcHJpbnRmICIlc1xuIiAiUGVyZm9ybXMgbWF0aGVtYXRpY2FsIGNvbXB1dGF0aW9ucyB3aXRo IGJjLiIKICAgICAgcHJpbnRmICIlc1xuIiAiRVhQUiAgTWF0aGVtYXRpY2FsIGV4cHJlc3Npb24u IgogICAgICBIREcgIlN1cHBvcnRlZCBNYXRoZW1hdGljYWwgRnVuY3Rpb25zIgogICAgICBQRiAi IHMoeCkgICAgU2luZSBvZiB4LCB4IGlzIGluIHJhZGlhbnMiCiAgICAgIFBGICIgYyh4KSAgICBD b3NpbmUgb2YgeCwgeCBpcyBpbiByYWRpYW5zIgogICAgICBQRiAiIGEoeCkgICAgQXJjdGFuZ2Vu dCBvZiB4LCBhcmN0YW5lbnQgcmV0dXJucyByYWRpYW5zIgogICAgICBQRiAiIGwoeCkgICAgTmF0 dXJhbCBsb2dhcml0aG0gb2YgeCIKICAgICAgUEYgIiBlKHgpICAgIEV4cG9uZW50aWFsIGZ1bmN0 aW9uIG9mIHJhaXNpbmcgZSB0byB0aGUgdmFsdWUgeCIKICAgICAgUEYgIiBqKG4seCkgIEJlc3Nl bCBmdW5jdGlvbiBvZiBpbnRlZ2VyIG9yZGVyIG4gb2YgeCIKICAgICAgUEYgIiBzcXJ0KHgpIFNx dWFyZSByb290IG9mIG51bWJlciB4IgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIyAuLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICgqKSBicmVhayA7OwogICAgIyAuLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgZXNhYyAgIyAgY2FzZSBlbmRzIGhlcmUKIGRvbmUg ICMgd2hpbGUgZW5kcyBoZXJlCgogcnNsdD0kKCBlY2hvICIkMSIgfCBiYyAtbCApCgogZWNobyAi JHJzbHQiCn0KCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CgojIyBoMyBsaW5nZS10YWJsZQoKbGluZ2UtdGFibGUgKCkKewogbG9jYWwgdmI9 MSBwcmVkaWNhdGVfZXJyb3I9MCB3aWR0aD0wIGFsaWduPSJyaWdodCIKCiBsb2NhbCBfUEY9InBy aW50ZiAlc1xuIgogbG9jYWwgX1BGMT0icHJpbnRmIFxuJXNcbiIgX1BGMj0icHJpbnRmICVzXG5c biIKCiAjICogTmVnYXRpdmUgUHJlZml4ZXMgKG5vbi0gYW5kIHVuLSkKICMgICB1bi0gICBJbmRp Y2F0ZXMgbm90LCBsYWNrIG9mLCBvciBhYnNlbmNlIG9mIHNvbWV0aGluZy4KICMgICBub24tICBV c2VkIHdpdGggYW55IHdvcmQsIHRodXMgdGhlIG1vc3QgdXNlZnVsIGFuZCB2ZXJzYXRpbGUuCiAK IHdoaWxlICgoICQjID4gMCApKTsgZG8gICMgJCMgaXMgZGVjcmVtZW50ZWQgYnkgc2hpZnQKICBv cHQ9IiQxIgogIGNhc2UgJG9wdCBpbgogICAoIi1WInwidmVyc2lvbiIpCiAgICAgbG9jYWwgLXIg ZXRkYXRlPSJWMDEgSnVsIDIwMjEgV2syNyIgICAKICAgICAkX1BGMiAiICRldGRhdGUgU3RyYXRl Z2lzdCBDaHJpc3RvcGhlciBEaW1lY2giCiAgICAgcmV0dXJuIDAKICAgICA7OwogICAoIi1oInwi LS1oZWxwIikKICAgICAkX1BGICJQcmludHMgcGFyYW1ldGVycyBpbiB0YWJsZSBmb3JtYXQiCiAg ICAgJF9QRiAiSW5jbHVkZXMgRHluYW1pYyBXaWR0aCBBZGp1c3RtZW50IgogICAgIHJldHVybiAw CiAgICAgOzsKICAgKCItdSJ8Ii0tdXNhZ2UiKQogICAgIHByaW50ZiAnXG4lcycgIlVzYWdlIiAi KioqKioiCiAgICAgcHJpbnRmICdcblxuJXNcbicgImxpbmdlLWNhbGMgT1BUSU9OUyBFWFBSIgog ICAgIHByaW50ZiAnJXNcblxuJyAiLVYsIC0tdmVyc2lvbiwgLXUsIC0tdXNhZ2UsIC1oLCAtLWhl bHAiCiAgICAgcHJpbnRmICclc1xuJyAiRXhhbXBsZXMiICIqKioqKioqKiIKICAgICBzYT0iXCJU aGUgZmluZXN0XCIgXCJtYW4gSSBrbmV3XCIiCiAgICAgc2I9IlwiV2FzIG91clwiIFwicmVnaW1l bnRhbCBiaGlzdGksXCIgXCJHdW5nYSBEaW4sXCIiCiAgICAgJF9QRjEgImxpbmdlLXRhYmxlIC13 IDE4IC0tYWxpZ24gXCJsXCIgJHNhIgogICAgICRfUEYgImxpbmdlLXRhYmxlIC13IDE4IC0tYWxp Z24gXCJyXCIgJHNiIgogICAgIHJldHVybiAwCiAgICAgOzsKICAgIyAuLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4KICAgIyBzZXBhcmF0ZSB2YWx1ZXMgYnkgYSBzcGFjZSB7LXYgMn0gb3Ig ZXF1YWwgc2lnbiB7LXY9Mn0KICAgKCItdiJ8Ii0tdmVyYm9zaXR5IikgdmI9IiQyIiA7IHNoaWZ0 IDIgOzsKICAgKCItdj0iKnwiLS12ZXJib3NpdHk9IiopCiAgICAgdmI9IiR7MSMqPX0iCiAgICAg bGluZ2UtbnVtZXJpYyAtZiAicEkiICIkdmIiCiAgICAgc2hpZnQgMQogICAgIDs7CiAgICMgLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAgICgiLXcifCItLXdpZHRoIikgd2lkdGg9IiQy IiA7IHNoaWZ0IDIgOzsKICAgKCItdz0iKnwiLS13aWR0aD0iKikgd2lkdGg9IiR7MSMqPX0iIDsg c2hpZnQgMSA7OwogICAjCiAgICgiLS1hbGlnbiIpIGFsaWduPSIkMiIgOyBzaGlmdCAyIDs7CiAg ICgiLS1hbGlnbj0iKikgYWxpZ249IiR7MSMqPX0iIDsgc2hpZnQgMSA7OwogICAjIC4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLgogICAjCiAgICgiLS0iKQogICAgICAgICAgIyBsZWF2ZSBs b29wIGF0IHN0YXJ0IG9mIG5vbi1vcHRpb24gYXJndW1lbnRzCiAgICAgICAgICBzaGlmdCAxIDsg YnJlYWsgOzsKICAgKCItIiopCiAgICAgICAgICAjIGRldGVjdCB1bi1wbGFubmVkIG9wdGlvbnMK ICAgICAgICAgIHByZWRpY2F0ZV9lcnJvcj0xCiAgICAgICAgICBpZiAoKCB2YiA+PSAxICkpOyB0 aGVuCiAgICAgICAgICAgIHByaW50ZiAnXG4lc1xuJyAiPyB1bnJlY29nbmlzZWQgcHJlZGljYXRl ICQxIgogICAgICAgICAgZmkgIAogICAgICAgICAgc2hpZnQgMQogICAgICAgICAgOzsKICAgKCop CiAgICAgICAgICAjIHByZWRpY2F0ZSBlcnJvciBvciBzdGFydCBvZiBub24tb3B0aW9uIGFyZ3Vt ZW50cwogICAgICAgICAgaWYgWyAiJHByZWRpY2F0ZV9lcnJvciIgLWVxIDEgXTsgdGhlbgoJICAg IHByZWRpY2F0ZV9lcnJvcj0yCiAgICAgICAgICAgIGlmICgoIHZiID49IDEgKSk7IHRoZW4KICAg ICAgICAgICAgICBwcmludGYgJyVzXG5cbicgIjogdW5yZWNvZ25pc2VkIG9yIG1pc3NpbmcgdmFs dWUgJDEiCiAgICAgICAgICAgIGZpCiAgICAgICAgICAgIHNoaWZ0IDEKICAgICAgICAgIGVsc2UK CSAgICBpZiAoKCB2YiA+PSAzICkpOyB0aGVuCiAgICAgICAgICAgICAgJF9QRjEgIlN0YXJ0IG9m IG5vbi1vcHRpb24gYXJndW1lbnRzLCBsZWF2ZSBvcHRpb24gbG9vcCIKICAgICAgICAgICAgICBw cmludGYgJyVzXG5cbicgImFyZzogJDEiCiAgICAgICAgICAgIGZpCiAgICAgICAgICAgIGJyZWFr CiAgICAgICAgICBmaQogICAgICAgICAgOzsKICBlc2FjICMgY2FzZSBlbmRzIGhlcmUKIGRvbmUg IyB3aGlsZSBlbmRzIGhlcmUKCiAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAj IER5bmFtaWMgYWRqdXN0bWVudCBvZiBjZWxsIHdpZHRoCgogbG9jYWwgZHluYWRqPTAKIGZvciBh cmcgaW4gIiRAIgogZG8KICAgIyBBbHRlcm5hdGl2ZSBjb25kaXRpb25hbCB8IFsgIiR7I2FyZ30i IC1ndCAiJHdpZHRoIiBdCiAgICgoICR7I2FyZ30gPiB3aWR0aCApKSAmJiB7IHdpZHRoPSR7I2Fy Z30gOyBkeW5hZGo9MSA7IH0KIGRvbmUKCiBpZiAoKCBkeW5hZGogPiAwICYmIHZiID4gMSApKTsg dGhlbgogICBwcmludGYgIiVzXG4iICJEeW5hbWljIENlbGwgV2lkdGggQWRqdXN0bWVudCIKICAg cHJpbnRmICIlc1xuXG4iICJ3aWR0aDogQWRqdXN0ZWQgdG8gJHdpZHRoIgogZmkKCiAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGxvY2Fs IGZybXQ9IiUke3dpZHRofXMgIHwgICIKIGlmIFsgIiRhbGlnbiIgPSAibGVmdCIgXSB8fCBbICIk YWxpZ24iID0gImwiIF07IHRoZW4KICAgZnJtdD0iJS0ke3dpZHRofXMgIHwgICIKIGZpCiAoKCB2 YiA+IDEgKSkgJiYgcHJpbnRmICclc1xuJyAiZnJtdDogJGZybXQiCgogcHJpbnRmICIkZnJtdCIg IiRAIiA7IGVjaG8KfQoKIyA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwoKIyMgaDEgKiBUZXJtaW5hbCBQcm9tcHQgU3RyaW5nCgo8 PCBfY29tbWVudAoqIENvbW1hbmQgdGVybWluYWwgcHJvbXB0IGFuZCBkaXJjb2xvcnMKU2V0IGRp cmVjdG9yeSBwYXRoIGFuZCBmaWxlIG5hbWUgZm9yIGRpcmNvbG9ycyBzZXR1cApTZWUgTWFyZ2lu YWxpYSBTZWN0aW9uIFtBXQpfY29tbWVudAoKIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKIyMgaDIgICAqIGxpbmdlLWNvbnNv bGUtdGNvZGVzCgojIyBoMyAgICogbGluZ2UtY29uc29sZS10Y29kZXMKCmxpbmdlLWNvbnNvbGUt dGNvZGVzICgpCnsKIGxvY2FsIHZiPTAgZXhlY19yYz0wCiBsb2NhbCBfUEY9InByaW50ZiAlc1xu IiBfUEYyPSJwcmludGYgJXNcblxuIgoKICMgJCMgaXMgZGVjcmVtZW50ZWQgYnkgc2hpZnQKIHdo aWxlICgoICQjID4gMCApKTsgZG8KICBvcHQ9IiQxIgogIGNhc2UgJG9wdCBpbgogICAoIi1WInwi dmVyc2lvbiIpCiAgICAgbG9jYWwgLXIgZXRkYXRlPSJWMDEgSnVsIDIwMjEgV2syNyIgICAKICAg ICAkX1BGMiAiICRldGRhdGUgU3RyYXRlZ2lzdCBDaHJpc3RvcGhlciBEaW1lY2giCiAgICAgcmV0 dXJuIDAKICAgICA7OwogICAoIi1oInwiLS1oZWxwIikKICAgICAkX1BGICJTZXQgY29uc29sZSBw cm9tcHQgd2l0aCA4LWJpdCAoMl44ID0gMjU2KSBjb2xvdXJzIHVzaW5nIgogICAgICRfUEYgInRo ZSB0ZXJtaW5mbyBkYXRhYmFzZS4iCiAgICAgJF9QRiAiQ29uc29sZSBDb21tYW5kIExpbmUgVGVy bWluYWwgaXMgYSB0ZXh0IGludGVyZmFjZSIKICAgICAkX1BGICJmb3IgZXhlY3V0aW5nIHVuaXgt bGlrZSBwcm9ncmFtcy4iCiAgICAgcmV0dXJuIDAKICAgICA7OwogICAjIC4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLgogICAjIHNlcGFyYXRlIHZhbHVlcyBieSBhIHNwYWNlIHstdiAyfSBv ciBlcXVhbCBzaWduIHstdj0yfQogICAoIi12InwiLS12ZXJib3NpdHkiKSB2Yj0iJDIiIDsgc2hp ZnQgMiA7OwogICAoIi12PSIqfCItLXZlcmJvc2l0eT0iKikgdmI9IiR7MSMqPX0iIDsgc2hpZnQg MSA7OwogICAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgogICAoIi1lInwiLS1leGVj IikgZXhlY19yYz0xIDsgc2hpZnQgMSA7OwogICAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLgogICAjIGxlYXZlIHdoaWxlIGxvb3AgYXQgc3RhcnQgb2Ygbm9uLW9wdGlvbiBhcmd1bWVu dHMKICAgKCItLSIpIHNoaWZ0IDEgOyBicmVhayA7OwogICAoIi0iKikgJF9QRiAiPyB1bnJlY29n bmlzZWQgcHJlZGljYXRlICQxIiA7IHNoaWZ0IDEgOzsKICAgKCopICRfUEYgIjogdW5yZWNvZ25p c2VkIG9yIG1pc3NpbmcgdmFsdWUgJDEiOyBzaGlmdCAxIDs7CiAgZXNhYwogZG9uZSAjIHdoaWxl IGVuZHMgaGVyZQoKICMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4KCiAjIHByaW50ZiBmb3JtYXQgc3RyaW5nIHJlcGVhdHMgZm9yIGFsbCBhcmd1 bWVudHMgcHJlc2VudAogaWYgKCggdmIgPj0gMiApKTsgdGhlbgogICBwcmludGYgJyVzXG4nICIi ICJPcHRpb24gYXJndW1lbnRzIiAiKioqKioqKioqKioqKioqKiIKICAgJF9QRiAiIiAidmI6ICR2 YiIgImV4ZWNfcmM6ICRleGVjX3JjIiAKIGZpCiAKIG9wdHM9IiRAIgogaWYgKCggdmIgPj0gMSAp KQogdGhlbgogICBpZiAoKCAkIyA+IDAgKSk7IHRoZW4KICAgICBwcmludGYgJyVzXG4nICIiICJO b24tb3B0aW9uIGFyZ3VtZW50cyIgIioqKioqKioqKioqKioqKioqKioqIgogICAgIHByaW50ZiAn JXNcbicgIiIgIm9wdHM6ICRvcHRzIiAiIgogICBlbHNlCiAgICAgcHJpbnRmICclc1xuJyAiIiAi IyBObyBub24tb3B0aW9uIGFyZ3VtZW50cyBlbmNvdW50ZXJlZCIgIiIKICAgZmkKIGZpCgogIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKICMgKiA4LUJpdCB0cHV0IHByb2Nlc3NpbmcgZm9yIDI1Ni1jb2xvdXIgY2FwYWJpbGl0 eQogIyAgIFRoZSB0cHV0IHV0aWxpdHkgdXNlcyB0aGUgdGVybWluZm8gZGF0YWJhc2UgdG8gZ2Vu ZXJhdGUKICMgICB0ZXJtaW5hbC1kZXBlbmRlbnQgb3V0cHV0IHRvIHRoZSBzaGVsbC4KIAogbG9j YWwgc2dyIGRibHVlIGdyZW4zIG1vcmNkIG9yYW5yCiBzZ3I9JCh0cHV0IHNncjApCiB3aGl0ZT0k KHRwdXQgc2V0YWYgNykgICA7IGRibHVlPSQodHB1dCBzZXRhZiAzMykgCiBtb3JjZD0kKHRwdXQg c2V0YWYgMTcxKSA7IG9yYW5yPSQodHB1dCBzZXRhZiAyMDIpCgogIyBFeHBhbnNpb24gb2Ygd29y a2luZyBkaXJlY3RvcnkgYXMgaWYgaXQgd2VyZSBhIHByb21wdCBzdHJpbmcKIGxvY2FsIHdvcmtk cj0iXHciIDsgd29ya2RyPSR7d29ya2RyQFB9ICAjIHBhcmFtZXRlciBleHBhbnNpb24KCiAjIERl dGVybWluZSBsZW5ndGggb2YgUFMxIHByb21wdCBzdHJpbmcKIGxvY2FsIHVzZXJubT0iJFVTRVIi IGhvc3RubT1gY2F0IC9wcm9jL3N5cy9rZXJuZWwvaG9zdG5hbWVgCiBsb2NhbCBwc3RyPSIke3Vz ZXJubX1AJHtob3N0bm19OiAkd29ya2RyIgogbG9jYWwgcGxlbj0iJHsjcHN0cn0iIDsgd2xlbj0k KCggcGxlbiAtIGhsZW4gKyAxICkpCiAKIGxvY2FsIHNhIHNiIHdhIHdiCiBpZiAoKCB2YiA+PSAz ICkpOyB0aGVuCiAgIHByaW50ZiAnJXNcbicgIkZ1bmN0aW9uIHZhcmlhYmxlcyIgIioqKioqKioq KioqKioqKioqKiIgIiIKICAgcHJpbnRmICclc1xuJyAid29ya2RyOiAkd29ya2RyIgogICBwcmlu dGYgJyVzXG4nICJ1c2Vybm06ICR1c2Vybm0iCiAgIHByaW50ZiAnJXNcbicgImhvc3RubTogJGhv c3RubSIKICAgcHJpbnRmICclc1xuJyAicHN0cjogICAkcHN0ciIKICAKICAgc2E9InBsZW46ICRw bGVuIiA7IHdhPSR7I3NhfSA7IHdhPSQoKCB3YSArIDIgKSkKICAgc2I9IndsZW46ICR3bGVuIiA7 IHdiPSR7I3NifSA7IHdiPSQoKCB3YiArIDIgKSkKCiAgICMgcHJpbnQgcGxlbiBhbmQgd2xlbiBp biBhIHRhYmxlCiAgIHRhYmxfYWxpZ249ImxlZnQtYWxpZ24iCiAgIGlmIFsgIiR0YWJsX2FsaWdu IiA9ICJsZWZ0LWFsaWduIiBdOyB0aGVuCiAgICAgZnJtdD0iJS0ke3dhfXMgIHwgICUtJHt3YX1z XG4iCiAgICAgcHJpbnRmICclc1xuJyAiZnJtdDogJGZybXQiCiAgICAgcHJpbnRmICIkZnJtdCIg IiRzYSIgIiRzYiIKICAgZWxpZiBbICIkdGFibF9hbGlnbiIgPSAicmlnaG4tYWxpZ24iIF07IHRo ZW4KICAgICBmcm10PSIlJHt3YX1zICB8ICAlJHt3YX1zXG4iCiAgICAgcHJpbnRmICclc1xuJyAi ZnJtdDogJGZybXQiCiAgICAgcHJpbnRmICIkZnJtdCIgIiRzYSIgIiRzYiIKICAgZWxzZQogICAg IHByaW50ZiAiJXNcbiIgInBsZW46ICRwbGVuO3wgIHdsZW46ICR3bGVuIiB8IGNvbHVtbiAtdCAt cyAnOycKICAgZmkKICAgCiBmaQoKICMgKiBCYXNoIFNoZWxsIGhhcyBmb3VyIGNvbnNvbGUgdGVy bWluYWwgY29tbWFuZCBwcm9tcHQgdmFyaWFibGVzLgogIyAgIFBTMSAgRXhwYW5kZWQgYW5kIHVz ZWQgYXMgdGhlIHByaW1hcnkgcHJvbXB0IHN0cmluZyBzaG93aW5nIHRoZQogIyAgICAgICAgU3lz dGVtIFVzZXIgTmFtZSwgTWFjaGluZSBIb3N0IE5hbWUsIGFuZCBXb3JraW5nIERpcmVjdG9yeS4K ICMgICAgICAgIEZvciBQUzEsIG5vbi1wcmludGluZyBzZXF1ZW5jZXMgYXJlIGVuY2xvc2VkIGJ5 IFxbIGFuZCBcXS4KICMgICBQUzAgIEV4cGFuZGVkIGFuZCB1c2VkIGJ5IGludGVyYWN0aXZlIHNo ZWxscyBhZnRlciByZWFkaW5nIGEKICMgICAgICAgIGNvbW1hbmQgYW5kIGJlZm9yZSB0aGUgY29t bWFuZCBpcyBleGVjdXRlZC4KIAogaWYgKCggd2xlbiA+IDcyICkpOyB0aGVuCiAgICMgV29ya2lu ZyBkaXJlY3RvcnkgaXMgcHJpbnRlZCBvbiB0aGUgbmV4dCBsaW5lLgogICBQUzE9IlxuXFske2Ri bHVlfVxdXHVcWyR7d2hpdGV9XF1AXFske2RibHVlfVxdXGhcWyR7d2hpdGV9XF06XG4iCiAgIFBT MT0iJFBTMSsgXFske21vcmNkfVxdXHdcblxbJHtvcmFucn1cXSIKIGVsc2UKICAgUFMxPSJcblxb JHtkYmx1ZX1cXVx1XFske3doaXRlfVxdQFxbJHtkYmx1ZX1cXVxoXFske3doaXRlfVxdOiIKICAg UFMxPSIkUFMxIFxbJHttb3JjZH1cXVx3XG5cWyR7b3JhbnJ9XF0iCiBmaQogICAKIFBTMD0iJHtz Z3J9IiAKCn0KCiMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4KCiMjIGgzIGxpbmdlLXByb21wdAoKbGluZ2UtcHJvbXB0ICgpCnsK IGxpbmdlLWNvbnNvbGUtdGNvZGVzICIkQCIKfQoKIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKIyMgaDIgICAqIGxpbmdlLWNv bnNvbGUtb2NiaXQtZWNvZGVzCgpsaW5nZS1jbnNsLW9jYml0LWVjb2RlcyAoKQp7CiBsb2NhbCBl eGVjX3JjPTAKIHdoaWxlICgoICQjID4gMCApKTsgZG8KICAgb3B0PSIkMSIKICAgY2FzZSAkb3B0 IGluCiAgICAoIi1WInwiLS12ZXJzaW9uIikKICAgICAgbG9jYWwgLXIgZXRkYXRlPSJWMDEgSnVs IDIwMjEgV2syNyIKICAgICAgcHJpbnRmICclc1xuJyAiJGV0ZGF0ZSBTdHJhdGVnaXN0IENocmlz dG9waGVyIERpbWVjaCIKICAgICAgcmV0dXJuIDAKICAgICAgOzsKICAgICgiLWgifCItLWhlbHAi KQogICAgICBwcmludGYgIlVzZXMgYW4gOC1iaXQgY29sb3VyIGNvbW1hbmQgdGVybWluYWwgcHJv bXB0LlxuIgogICAgICBwcmludGYgIk9jdGEtQml0IGNvbG91ciB1c2VzIDI1NiAoMl44KSBjb2xv dXJzLlxuIgogICAgICBwcmludGYgIkVzY2FwZSBjb2RlcyBhcmUgdXNlZC5cbiIKICAgICAgcmV0 dXJuIDAKICAgICAgOzsKICAgICMgLi4uLi4uLi4uLi4uLi4uCiAgICAoIi1lInwiLS1leGVjIikg ZXhlY19yYz0xIDsgc2hpZnQgMSA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4KICAgICgqKSBzaGlm dCAxIDs7CiAgIGVzYWMgIyBjYXNlIGVuZHMgaGVyZQogZG9uZSAjIHdoaWxlIGVuZHMgaGVyZQoK ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KCiAgaWYgKCggZXhlY19yYyA9PSAxICkpOyB0aGVuCiAgIHNncj0iXDAzM1szOW0i ICAgICAgIDsgY3lhbjE9IlxlWzM4OzU7NTFtIgogICBnb2xkMT0iXGVbMzg7NTsyMTRtIiA7IHJl ZDE9IlxlWzM4OzU7MTk2bSIKCiAgICMgUFMxIHVzZXMgXFsgYW5kIFxdIHRvIGJlZ2luIGFuZCBl bmQgYSBzZXF1ZW5jZSBvZiBub24tcHJpbnRpbmcKICAgIyBjaGFyYWN0ZXJzLiAgTmV4dCBsaW5l IGlzIHVzZWQgdG8gcHJpbnQgd29ya2luZyBkaXJlY3RvcnkuCiAgIFBTMT0iXG5cWyR7Y3lhbjF9 XF1cdUBcaDpcbiIKICAgUFMxPSRQUzEiKyBcWyR7Z29sZDF9XF1cd1xuXFske3JlZDF9XF0iCgog ICAjIFBTMCBpcyB1c2VkIGFmdGVyIHJlYWRpbmcgYSBjb21tYW5kIGFuZCBiZWZvcmUgZXhlY3V0 aW5nIGl0LgogICBQUzA9IiRzZ3IiICAjIHNldCB2YWx1ZSBvZiBQUzAKIGZpCn0KCiMgLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4K CiMjIGgyICAgKiBsaW5nZS1jb25zb2xlLXFkYml0LWVjb2RlcwoKbGluZ2UtY25zbC1xZGJpdC1l Y29kZXMgKCkKewogbG9jYWwgZXhlY19yYz0wCiB3aGlsZSAoKCAkIyA+IDAgKSk7IGRvCiAgIG9w dD0iJDEiCiAgIGNhc2UgJG9wdCBpbgogICAgKCItViJ8InZlcnNpb24iKQogICAgICBsb2NhbCAt ciBldGRhdGU9IlYwMSBKdWwgMjAyMSBXazI3IgogICAgICBwcmludGYgJyVzXG4nICIkZXRkYXRl IFN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIgogICAgICByZXR1cm4gMAogICAgICA7Owog ICAgKCJoInwiLS1oZWxwIikKICAgICAgcHJpbnRmICJVc2UgNC1iaXQgY29sb3VyIHRlcm1pbmFs IGNvbW1hbmQgcHJvbXB0LlxuIgogICAgICBwcmludGYgIlF1YWQtQml0IGNvbG91ciB1c2VzIDE2 ICgyXjQpIGNvbG91cnMuXG4iCiAgICAgIHByaW50ZiAiRXNjYXBlIGNvZGVzIGFyZSB1c2VkLlxu IgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLgogICAgKCItdiJ8Ii0tdmVyYm9zaXR5IikgICAgIHZiPSIkMiIgICAgICA7IHNoaWZ0IDsg c2hpZnQgOzsKICAgICgiLXY9Iip8Ii0tdmVyYm9zaXR5PSIqKSB2Yj0iJHsxIyo9fSIgOyBzaGlm dCAxIDs7CiAgICAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAgICAoIi0tZXhlYyIp IGV4ZWNfcmM9MSA7IHNoaWZ0IDs7CiAgICAjIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u CiAgICAoKikgZXhlY19yYz0wIDs7CiAgIGVzYWMgIyBjYXNlIGVuZHMgaGVyZQogZG9uZSAjIHdo aWxlIGVuZHMgaGVyZQoKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaWYg KCggZXhlY19yYyA9PSAxICkpOyB0aGVuCiAgIGN5bj0iXGVbMDE7MzZtIiA7IHlsdz0iXGVbMDE7 MzNtIiAgIyBib2xkIGN5YW4gYW5kIGJvbGQgeWVsbG93CiAgIHJlZD0iXGVbMDE7MzFtIiA7IHNn cj0iXDAzM1szOW0iICAgIyBib2xkIHJlZCBhbmQgcmVndWxhciBmb3JlZ3JvdW5kCgogICAjIFBT MSBlbmNsb3NlcyBub24tcHJpbnRpbmcgY2hhcmFjdGVycyB3aXRoIFxbIGFuZCBcXQogICAjIFBy aW50IHdvcmtpbmcgZGlyZWN0YXJ5IFx3IG9uIG5leHQgbGluZQogICBQUzE9IlxuXFske2N5bn1c XVx1QFxoOlxuIgogICBQUzE9JFBTMSIrIFxbJHt5bHd9XF1cd1xuXFske3JlZH1cXSIgIyBwcmlu dCB3b3JraW5nIGRpcmVjdG9yeQoKICAgIyBQUzAgaXMgdXNlZCBhZnRlciByZWFkaW5nIGEgY29t bWFuZCBhbmQgYmVmb3JlIGV4ZWN1dGluZyBpdC4KICAgUFMwPSIke3Nncn0iCiBmaQoKfQoKIyA7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 OzsKCiMjIGgxICogU2V0IGtleS1tYXBzIGFuZCB0ZXJtLWNvbG91cnMKCiMjIGgyIGxpbmdlLWNv bnNvbGUta2V5bWFwCgpsaW5nZS1jb25zb2xlLWtleW1hcCAoKQp7CiBsb2NhbCBleGVjX3JjPTAK IGxvY2FsIG5hcmc9IiQjIgogd2hpbGUgKCggJCMgPiAwICkpOyBkbwogICBvcHQ9IiQxIgogICBj YXNlICRvcHQgaW4KICAgICgiLVYifCJ2ZXJzaW9uIikKICAgICAgbG9jYWwgLXIgZXRkYXRlPSJW MDEgSnVsIDIwMjEgV2syNyIKICAgICAgcHJpbnRmICIkZXRkYXRlIFN0cmF0ZWdpc3QgQ2hyaXN0 b3BoZXIgRGltZWNoIgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgKCJoInwiLS1oZWxwIikK ICAgICAgcHJpbnRmICJQcmludHMgZmlyc3Qgc2V0IG9mIGxpbmVzIGZyb20gbmFtZWQgZmlsZXMu XG4iCiAgICAgIHByaW50ZiAiXCQxIE5VTSAgTnVtYmVyIG9mIGxpbmVzIHRvIHByaW50LlxuIgog ICAgICBwcmludGYgIlwkMiBESVIgIERpcmVjdG9yeS5cbiIKICAgICAgcmV0dXJuIDAKICAgICAg OzsKICAgICMgLi4uLi4uLi4uLi4uLi4uLgogICAgKCItZSJ8Ii0tZXhlYyIpIGV4ZWNfcmM9MSA7 IHNoaWZ0IDs7CiAgICAjIC4uLi4uLi4uLi4uLi4uLi4KICAgICgqKQogICAgICBwcmludGYgJyVz XG4nICJJbnZva2UgXGBsaW5nZS1jb25zb2xlLWtleW1hcCAtaCcgZm9yIGRldGFpbHMuIgogICAg ICBicmVhawogICAgICA7OwogICBlc2FjICMgY2FzZSBlbmRzIGhlcmUKIGRvbmUgIyB3aGlsZSBl bmRzIGhlcmUKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAKICMgVGFza3MKICMgMS4gcmUtbWFwIG1vZGlmaWVyIGtleXMg Zm9yIGR2b3JhayBrZXlib2FyZAogIyAyLiBzZXQgbHMgY29sb3VyIHNjaGVtZSB3aGVuIGluIGEg dW5peC1saWtlIHRlcm1pbmFsCiAjICAgIC1iIG9wdGlvbiBzcGVjaWZpZXMgdGhlIGJvdXJuZSBh Z2FpbiBzaGVsbAoKICMgTElOR0VfVFJLICBWYXJpYWJsZSB0cmFja2luZyBwYXRoIHRvIGxpbmdl IHV0aWxpdGllcyAgCgogIyBMU0NPTFJfREZMVD0iJExTX0NPTE9SUyIKICMgTFNfQ09MT1JTPSR7 TFNfQ09MT1JTfToiZGk9MTszMTpleD0xOzMxIgogIyBleHBvcnQgTFNfQ09MT1JTCgogIyBzZXQg ZW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIGxzIGNvbW1hbmQKIExTX0NPTE9SUz0iZGk9NDszNDpl eD0xOzMxIgoKICMgVXNpbmcgJHtIT01FfSBiZWNhdXNlIH4vT3BzdGsgaXMgbm90IGV4cGFuZGVk IGJ1dCB0cmVhdGVkIGxpdGVyYWxseQogbGluZ2VfdHJrPSIke0hPTUV9L09wc3RrL2Jpbi9ndW5n YWRpbi0xLjAvbGluZ2UiCiBlY2hvICJsaW5nZV90cms6ICR7bGluZ2VfdHJrfSIKCiAjIFJlc2V0 IExTX0NPTE9SUyB1c2VkIGJ5IHsgbHMgLS1jb2xvcj1hdXRvIH0iCiBpZiAoKCBleGVjX3JjID09 IDEgKSk7IHRoZW4KICAgbGluZ2UtY29uc29sZS10Y29kZXMKICAgZXZhbCAiJCggZGlyY29sb3Jz IC1iICR7bGluZ2VfdHJrfS9saW5nZS1kaXJjb2xvcnMgKSIKICAgeG1vZG1hcCAke2xpbmdlX3Ry a30vbGluZ2UteG1vZG1hcCAgIyByZS1tYXBzIEN0cmwsIE1ldGEsIFN1cGVyCiBmaQoKfQoKIyA7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7OwoKIyMgaDIgbGluZ2UtZm91bnRhaW5oZWFkLXVzYWdlCgpsaW5nZS1mb3VudGFpbmhlYWQt dXNhZ2UgKCkKewogY2FzZSAkMSBpbgogICgxKQogICAgIEhERyAiIEd1bmdhZGluLUxpbmdlIgog ICAgIHBmbSAiIGxpbmdlLWZvdW50YWluaGVhZCBbT1BUSU9OU10iCiAgICAgcGZtICIgIHstdiBW QiwgLXY9VkIsIC12VkIsIC0tdmVyYm9zaXR5IFZCLCAtLXZlcmJvc2l0eT1WQn0iCiAgICAgcGZt ICIgIHstdSBMViwgLXU9TFYsIC11TFYsIC0tdXNhZ2UgTFYsIC0tdXNhZ2U9TFZ9IgogICAgIHBm bSAiICB7LWgsIC0taGVscH0sIHstViwgLS12ZXJzaW9ufSIKICAgICA7OwogZXNhYyAgICAKfQoK IyA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7OwoKIyMgaDIgbGluZ2UtZm91bnRhaW5oZWFkLWRldGFpbHMKCmxpbmdlLWZvdW50YWlu aGVhZC1kZXRhaWxzICgpCnsKICBsb2NhbCAtciBsb2NhbGU9IiRMQU5HIgoKICBjYXNlICQxIGlu CiAgICgxKQogICAgIEhERyAiIFRPRE8iCiAgICAgcGZtICIgbGluZ2UtZm91bnRhaW5oZWFkIFtP UFRJT05TXSIKICAgICA7OwogZXNhYyAgICAKfQoKIyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKCiMjIGgxICoqIEV4ZWN1dGVzIHRoZSBjb25m aWd1cmF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBsaW5nZSByZXNvdXJjZXMgIAoKIyBVc2VzIGEgaGVy ZS1kb2N1bWVudCBmb3IgbXVsdGktbGluZSBjb21tZW50aW5nLgojIFRoZSBoeXBoZW4gaW4gPDwt IGlzIHVzZWQgdG8gaWdub3JlcyBsZWFkaW5nIHRhYiBjaGFyYWN0ZXJzLgojIFF1b3RpbmcgdGhl IGxpbWl0IHN0cmluZyBfY29tbWVudCBkaXNwbGF5cyB2YXJpYWJsZSBuYW1lcyB2ZXJiYXRpbSwK IyB3aXRob3V0IGNvbW1hbmQgc3Vic3RpdHV0aW9uLgoKPDwtICJfY29tbWVudCIKKiBDb21tYW5k IHRlcm1pbmFsIHByb21wdCBhbmQgZGlyY29sb3JzClNldCBkaXJlY3RvcnkgcGF0aCBhbmQgZmls ZSBuYW1lIGZvciBkaXJjb2xvcnMgc2V0dXAKU2VlIE1hcmdpbmFsaWEgU2VjdGlvbiBbQV0KX2Nv bW1lbnQKCiMjIGgyIGxpbmdlLWZvdW50YWluaGVhZAoKbGluZ2UtZm91bnRhaW5oZWFkICgpCnsK IGxvY2FsIC1yIGV0ZGF0ZT0iVjAxIDIwMjEgSnVsIDIxIFdrMjciCiBsb2NhbCAtciBhdXRob3I9 IlN0cmF0ZWdpc3QgQ2hyaXN0b3BoZXIgRGltZWNoIgoKIGlmICgoICQjIDw9IDAgKSk7IHRoZW4K ICAgcHJpbnRmICclc1xuJyAibGluZ2UtZm91bnRhaW5oZWFkIgogICBwcmludGYgJyVzXG4nICIk ZXRkYXRlICRhdXRob3IiCiBmaSAgICAKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbXBsPSJ3aGlsZSIKIGlmIFtbICIkaW1wbCIgPT0g IndoaWxlIiBdXTsgdGhlbgogCiAgIHdoaWxlIHRydWU7IGRvCiAgICAgcmVhZCAtcCAiVXBkYXRl IEd1bmdhZGluLUxpbmdlIENvbnNvbGUiIGV4ZWNpbgogICAgIGNhc2UgJGV4ZWNpbiBpbgogICAg ICBbWXldKiApIGV4ZWNfcmM9MSA7IGJyZWFrIDs7CiAgICAgIFtObl0qICkgZXhlY19yYz0wIDsg YnJlYWsgOzsKICAgICAgW1FxXSogKSBleGVjX3JjPTAgOyBicmVhayA7OwogICAgICAgICAgKiAp IGVjaG8gIkFuc3dlciB3aXRoIFxgWWVzJywgXGB5JywgXGBObycsIFxgbicuIgogICAgICAgICAg ICAgIGVjaG8gIlVzZSBcYFEnIG9yIFxgcScgdG8gcXVpdCIKCSAgICAgIDs7CiAgICAgZXNhYwog ICBkb25lCgogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogZWxpZiBbWyAiJGltcGwiID09ICJzZWxlY3QiIF1dOyB0aGVuCgogICBlY2hvICJV cGRhdGUgR3VuZ2FkaW4tTGluZ2UgQ29uc29sZSIKICAgc2VsZWN0IGV4ZWNpbiBpbiAiWWVzIiAi eWVzIiAiWSIgInkiICJObyIgIm5vIiAiTiIgIm4iOyBkbwogICAgIGNhc2UgJGV4ZWNpbiBpbgog ICAgICBZZXMgKSBleGVjX3JjPTEgOyBicmVhayA7OwogICAgICBObyAgKSBicmVhayA7OwogICAg ICAqICAgKSBlY2hvICJBbnN3ZXIgd2l0aCBcYFllcycsIFxgeScsIFxgTm8nLCBcYG4nLiIKICAg ICAgICAgICAgZWNobyAiVXNlIFxgUScgb3IgXGBxJyB0byBxdWl0IgoJICAgIDs7CiAgICAgZXNh YwogICBkb25lCgogZmkKCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgICAgIAogbG9jYWwgZXhlY19yYz0iIgogd2hpbGUgKCggJCMgPiAw ICkpOyBkbwogICBvcHQ9IiQxIgogICBjYXNlICRvcHQgaW4KICAgICgiLVYifCJ2ZXJzaW9uIikK ICAgICAgcHJpbnRmICclc1xuJyAiJGV0ZGF0ZSAkYXV0aG9yIgogICAgICBwcmludGYgJyVzXG4n ICJJbmNvcnBvcmF0ZXMgdGhlIEd1bmdhZGluLUxpbmdlIEJhc2ggU2hlbGwiCiAgICAgIHByaW50 ZiAnJXNcbicgImZ1bmN0aW9uYWxpdHkgdG8gdGhlIENvbW1hbmQgTGluZSBUZXJtaW5hbCBDb25z b2xlIgogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogICAgKCItdiJ8Ii0tdmVyYm9zaXR5IikgICAgIHZiPSIkMiIgICAgICA7IHNoaWZ0 IDsgc2hpZnQgOzsKICAgICgiLXY9Iip8Ii0tdmVyYm9zaXR5PSIqKSB2Yj0iJHsxIyo9fSIgOyBz aGlmdCAxIDs7CiAgICAoIi12IiopIHZiPSIkezEjLXZ9IiA7IHNoaWZ0IDEgOzsKICAgICMtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICgiLWgifCItLWhlbHAiKQogICAgICBzaGlm dCAxCiAgICAgIHByaW50ZiAnJXNcbicgIlJlYWRzIGFuZCBleGVjdXRlcyB0aGUgdXNlciAuYmFz aHJjIHJlc291cmNlIgogICAgICBwcmludGYgJyVzXG4nICJjb25maWd1cmF0aW9uIGZpbGUgdXNp bmcgdGhlIHNvdXJjZSBjb21tYW5kLiIKICAgICAgcHJpbnRmICclc1xuJyAiQmFzaCBmdW5jdGlv bnMgcmV0dXJuIGludGVnZXIgZXJyb3IgY29kZXMgZnJvbSAwIgogICAgICBwcmludGYgJyVzXG4n ICJ0byAyNTUuICBBIHplcm8gZXhpdCBzdGF0dXMgaW5kaWNhdGVzIHN1Y2Nlc3MuIgogICAgICBs aW5nZS1mb3VudGFpbmhlYWQtZGV0YWlscwogICAgICByZXR1cm4gMAogICAgICA7OwogICAgIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgKCItdSJ8Ii0tdXNhZ2UiKQogICAgICBs aW5nZS1mb3VudGFpbmhlYWQtdXNhZ2UgIiR1c2ciCiAgICAgIHVzZz0iJDIiIDsgc2hpZnQgMgog ICAgICByZXR1cm4gMAogICAgICA7OwogICAgKCItdT0iKnwiLS11c2FnZT0iKikKICAgICAgbGlu Z2UtZm91bnRhaW5oZWFkLXVzYWdlICIkdXNnIgogICAgICB1c2c9IiR7MSMqPX0iIDsgc2hpZnQg MQogICAgICByZXR1cm4gMAogICAgICA7OwogICAgKCItdSIqKQogICAgICBsaW5nZS1mb3VudGFp bmhlYWQtdXNhZ2UgIiR1c2ciCiAgICAgIHVzZz0iJHsxIy12fSIgOyBzaGlmdCAxCiAgICAgIHJl dHVybiAwCiAgICAgIDs7CiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAo KikKICAgICAgcHJpbnRmICclc1xuJyAiSW52b2tlIFxgbGluZ2Utc291cmNlLXJjIC1oJyBmb3Ig ZGV0YWlscy4iCiAgICAgIGJyZWFrCiAgICAgIDs7CiAgIGVzYWMgIyBjYXNlIGVuZHMgaGVyZQog ZG9uZSAjIHdoaWxlIGVuZHMgaGVyZQoKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIyBhbHRlcm5hdGl2ZWx5IHVzZSBgc291cmNlIH4v LmJhc2hyY2Agb3IgYC4gJHtIT01FfS8uYmFzaHJjJwogKCggZXhlY19yYyA9PSAxICkpICYmIHNv dXJjZSAiJHtIT01FfS8uYmFzaHJjIgoKICMgQmFzaCBmdW5jdGlvbnMgcmV0dXJuIGFuIGludGVn ZXIgZXJyb3IgY29kZSB3aXRoIGEgemVybyBleGl0IHN0YXR1cwogIyBpbmRpY2F0aW5nIHN1Y2Nl c3MuICBBIG5vbi16ZXJvIGV4aXQgc3RhdHVzIGluZGljYXRlcyBmYWlsdXJlLiAgRXhpdAogIyBz dGF0dXNlcyBmYWxsIGJldHdlZW4gMCBhbmQgMjU1LiAKIHJldHVybiAwCgp9CgphbGlhcyBMRkQ9 J2xpbmdlLWZvdW50YWluaGVhZCcgCgojIDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgojIyBoMSAqIENhbGwgR3VuZ2FkaW4gRnVu Y3Rpb25hbGl0eQoKIyMgaDIgICBsaW5nZS1sYXVuY2gKCmxpbmdlLWxhdW5jaCAoKQp7CiBsb2Nh bCBlZHZhcnRfcmM9MAogbG9jYWwgZGVwbG95PSJnby1vbi1lcnJvciIKCiB3aGlsZSAoKCAkIyA+ IDAgKSk7IGRvCiAgIG9wdD0iJDEiCiAgIGNhc2UgJG9wdCBpbgogICAgKCItViJ8InZlcnNpb24i KQogICAgICBsb2NhbCAtciBldGRhdGU9IlYwMSAyMDIxIEp1bCAyMSBXazI3IgogICAgICBwcmlu dGYgJyVzXG5cbicgIiRldGRhdGUgU3RyYXRlZ2lzdCBDaHJpc3RvcGhlciBEaW1lY2giCiAgICAg IHJldHVybiAwCiAgICAgIDs7CiAgICAoIi1oInwiLS1oZWxwIikKICAgICAgcHJpbnRmICclc1xu JyAiUmVhZHMgYW5kIGV4ZWN1dGVzIHRoZSB1c2VyIC5iYXNocmMgcmVzb3VyY2UiCiAgICAgIHBy aW50ZiAnJXNcbicgImNvbmZpZ3VyYXRpb24gZmlsZSB1c2luZyB0aGUgc291cmNlIGNvbW1hbmQu IgogICAgICBwcmludGYgJyVzXG4nICJCYXNoIGZ1bmN0aW9ucyByZXR1cm4gaW50ZWdlciBlcnJv ciBjb2RlcyBmcm9tIDAiCiAgICAgIHByaW50ZiAnJXNcbicgInRvIDI1NS4gIEEgemVybyBleGl0 IHN0YXR1cyBpbmRpY2F0ZXMgc3VjY2Vzcy4iCiAgICAgIHJldHVybiAwCiAgICAgIDs7CiAgICAj IC4uLi4uLi4uLi4uLi4uLi4KICAgICgiLXYifCItLXZlcmJvc2l0eSIpICAgICB2Yj0iJDIiICAg ICAgOyBzaGlmdCA7IHNoaWZ0IDs7CiAgICAoIi12PSIqfCItLXZlcmJvc2l0eT0iKikgdmI9IiR7 MSMqPX0iIDsgc2hpZnQgMSA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uCiAgICAoIi0tZWR2YXJ0 LXJjIikgZWR2YXJ0X3JjPTEgOyBzaGlmdCA7OwogICAgIyAuLi4uLi4uLi4uLi4uLi4uCiAgICAo Ii0tZ28tb24tZXJyb3IiKSAgICAgIyBDb250cm9sIFN0YXR1cywgY29udGludWUgYW5kIGFsbG93 IGZhaWx1cmUKICAgICAgZGVwbG95PSJnby1vbi1lcnJvciIKICAgICAgc2hpZnQgOzsKICAgICgi LS1ub2dvLW9uLWVycm9yIikgICAjIENvbnRyb2wgU3RhdHVzLCByZWZ1c2UgdG8gcHJvY2VlZCBv biBlcnJvcgogICAgICBkZXBsb3k9Im5vZ28tb24tZXJyb3IiCiAgICAgIHNoaWZ0IDs7CiAgICAj IC4uLi4uLi4uLi4uLi4uLi4KICAgICgiLS0iKSBzaGlmdCA7IGJyZWFrIDs7CiAgICAoIi0iKikK ICAgICAgIyB0aGlzIHBhdHRlcm4gZm9sbG93cyAtLSBiZWNhdXNlIGl0IGFsd2F5cyBvdmVyLXJp ZGVzIC0tCiAgICAgIHByaW50ZiAnJXNcbicgIldyb25nIHBhcmFtZXRlci4iCiAgICAgIFsgIiRk ZXBsb3kiID0gImdvLW9uLWVycm9yIiBdICYmIHNoaWZ0IDEKICAgICAgWyAiJGRlcGxveSIgPSAi bm9nby1vbi1lcnJvciIgXSAmJiByZXR1cm4gMQogICAgICA7OwogICAgKCopCiAgICAgIHByaW50 ZiAnJXNcbicgIkludm9rZSBcYGxpbmdlLWxhdW5jaCAtaCcgZm9yIGRldGFpbHMuIgogICAgICBb ICIkZGVwbG95IiA9ICJnby1vbi1lcnJvciIgXSAmJiBicmVhawogICAgICBbICIkZGVwbG95IiA9 ICJub2dvLW9uLWVycm9yIiBdICYmIHJldHVybiAxCiAgICAgIDs7CiAgIGVzYWMgICMgY2FzZSBl bmRzIGhlcmUKIGRvbmUgICMgd2hpbGUgZW5kcyBoZXJlCgogIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIGVjaG8gCiBsaW5nZS1jb25zb2xl LWtleW1hcCAtLWV4ZWMgICMgY29sb3VyIGFuZCBrZXltYXAgdXRpbHMKIGxpbmdlLWFnZ3ItdXRp bCAtLWV4ZWMgICAgICAgIyBhZ2dyZXRhdGUgb2Ygb3RoZXIgdXRpbHMKCiBsaW5nZV90cmtyYz0i JHtIT01FfS9PcHN0ay9iaW4vZ3VuZ2FkaW4tMS4wL2xpbmdlIgogc291cmNlICIke2xpbmdlX3Ry a3JjfS9saW5nZS1ndW5nYWRpbi11c2FnZS5yYyIKCiAjIHNldCByZXNvdXJjZSBwYXRoIGFuZCBl bmFibGUgZnVuY3Rpb25hbGl0eSBpbiBlZHZhcnQucmMKIGlmICgoIGVkdmFydF9yYyA9PSAxICkp OyB0aGVuCiAgIGVkdmFydF90cmtyYz0iJHtIT01FfS9PcHN0ay9iaW4vZ3VuZ2FkaW4tMS4wL2xp bmdlL2VkdmFydCIKICAgc291cmNlICIke2VkdmFydF90cmtyY30vZWR2YXJ0LnJjIgogZmkKIAp9 CgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwoKIyBsYXVuY2ggY29uZmlndXJhdGlvbiBwcm92aWRlZCBieSBsaW5nZS5zaApsaW5nZS1sYXVu Y2ggLS1lZHZhcnQtcmMKCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCgojIyBtMSAqIE1hcmdpbmFsaWEKIyAgICAgICAgICAgICAgICAgICAg ICBfICAgICAgICAgICBfIF8gICAgICAKIyAgXyBfXyAgX18gXyBfIF8gX18gXyhfKV8gXyAgX18g X3wgKF8pX18gXyAKIyB8ICcgIFwvIF9gIHwgJ18vIF9gIHwgfCAnIFwvIF9gIHwgfCAvIF9gIHwK IyB8X3xffF9cX18sX3xffCBcX18sIHxffF98fF9cX18sX3xffF9cX18sX3wKIyAgICAgICAgICAg ICAgICB8X19fLyAgICAgICAgICAgICAgICAgICAgICAKCiMgLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgojIyBtMiBNQSBCYXNoIENvbmRpdGlv bmFsIEV4cHJlc3Npb25zCgojIENvbmRpdGlvbmFsIGV4cHJlc3Npb25zIGFyZSB1c2VkIGJ5IHRo ZSBjb21wb3VuZCBjb21tYW5kIGBbWyAgXV1gCgojIC12IHZhcm5hbWUKIyAgICBUcnVlIGlmIHZh cmlhYmxlIHZhcm5hbWUgaXMgc2V0IChoYXMgYmVlbiBhc3NpZ25lZCBhIHZhbHVlKS4KIyAteiBz dHJpbmcKIyAgICBUcnVlIGlmIHRoZSBsZW5ndGggb2Ygc3RyaW5nIGlzIHplcm8uCiMgLW4gc3Ry aW5nCiMgICAgVHJ1ZSBpZiB0aGUgbGVuZ3RoIG9mIHN0cmluZyBpcyBub24temVyby4KCiMgLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgojIEV4 YW1wbGU6IFJlZGlyZWN0aW9uIGNvbnN0cnVjdCB3aXRob3V0IGluZGVudGF0aW9uCgojIGNhdCA8 PC0gIl9sYWJlbCIKIyBncmVwIC1pciAtLWV4Y2x1ZGU9XCouZWwgLS1pbmNsdWRlPVwqLntvcmcs dGV4aX0iCiMgICAtQyA4ICJoaWxiZXJ0IiAvbWFyc2hhbGwgIgojIF9sYWJlbAoKIyAuLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCiMgRXhhbXBs ZTogSW5kZW50YXRpb24gd2l0aCB0YWJzIGFuZCB2YXJpYWJsZSBuYW1lcyAKCiMgPHRhYj4gY2F0 IDw8LSAiX2xhYmVsIgojIDx0YWI+IFNlYXJjaGVzIGlucHV0IGZpbGVzIGZvciBsaW5lcyBjb250 YWluaW5nIG1hdGNoZXMuCiMgPHRhYj4gJEAgQVJHUyAgQXJyYXkgb2YgYWxsIGFyZ3VtZW50cy4K IyA8dGFiPiBfbGFiZWwKCiMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uCgojIyBtMiAgIEBtYyAgc2V0eGtibWFwIGFuZCB4bW9kbWFwCgojIFNl dCBrZXlib2FyZCBsYXlvdXQgbWFwIHdpdGggc2V0eGtibWFwLgojIGBzZXR4a2JtYXAgLWhlbHBg ICAgUHJpbnRzIHNldHhrYm1hcCB1c2FnZS4KIyBgc2V0eGtibWFwIC1xdWVyeWAgIFByaW50cyBj dXJyZW50IGtleWJvYXJkIGxheW91dC4KIyBgc2V0eGtibWFwIC1sYXlvdXQgdXMgLXZhcmlhbnQg ZHZvcmFrYCAgU2V0cyBkdm9yYWsgbGF5b3V0LgoKIyBNb2RpZnkga2V5IGFuZCBwb2ludGVyIGJ1 dHRvbiBtYXBwaW5ncyB3aXRoIHhtb2RtYXAuCiMgYHhtb2RtYXAgLWhlbHBgICBQcmludCB1c2Fn ZSBpbmZvcm1hbmlvbi4gCiMgYHhtb2RtYXAgLXBtYCAgICBQcmludCBtb2RpZmllciBtYXAuCgoj IFJlLW1hcCBDdHJsLCBBbHQsIEh5cGVyLCBhbmQgU3VwZXIga2V5cy4KIyBUbyBkaXNwbGF5IGtl eS1tYXAgdGFibGUsIHVzZSBgLXBrZWAgb3B0aW9uCiMgICBgeG1vZG1hcCAtcGtlIHwgZ3JlcCAi Q29udHJvbFx8QWx0XHxNZXRhXHxTdXBlciJgCgojIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKIyMgbTIgICBAbWYgIDQtQml0IENvbG91ciBD b2RlcwoKIyAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiMgICB8 IFNwZWNpYWwgQXR0cmlidXRlIENvZGVzICAgICAgICAgICAgICAgfAojICAgfC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKIyAgIHwgTm9uZSAgMDAgfCBCb2xkICAgIDAx IHwgVW5kZXJzY29yZSAwNCB8CiMgICB8IEJsaW5rIDA1IHwgUmV2ZXJzZSAwNyB8IENvbmNlYWxl ZCAgMDggfAojICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCiMg ICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAojICAg fCBGb3JlZ3JvdW5kIENvbG9yIENvZGVzOiBGb3IgVGV4dCAgICAgICAgICAgICAgIHwKIyAgIHwt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiMgICB8IEJs YWNrIDMwICAgfCBSZWQgICAgIDMxIHwgR3JlZW4gMzIgfCBZZWxsb3cgMzMgfAojICAgfCBCbHVl ICAzNCAgIHwgTWFnZW50YSAzNSB8IEN5YW4gIDM2IHwgV2hpdGUgIDM3IHwKIyAgIHwgUmVndWxh ciAzOSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiMgICB8LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAoKIyAuLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KIyAgW0JSRl0gQXV0b21h dGUgdmFsdWVzIHVzaW5nIEJhc2ggU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbgogIAojICBUaGUg Q29sb24gQ29tbWFuZCBgOmAgYXQgdGhlIGJlZ2lubmluZyBleHBhbmRzIGFyZ3VtZW50cyBhbmQK IyAgcGVyZm9ybXMgcmVkaXJlY3Rpb25zIG9ubHksIHdpdGhvdXQgZXhlY3V0aW5nIHRoZSBsaW5l LgoKIyBsaW5nZS1tb2xuaXlhLXJlZ2lvbiB1c2luZyBwYXJhbWV0ZXIgZXhwYW5zaW9uCgojICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBm aWxlIGVuZHMgaGVyZSBbbGluZ2UucmNdCg== ------=_Part_88295_26866892.1638741486440-- ------------=_1732975383-11257-5-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: tolugboji Subject: bug#52928: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> <8cHiTxGuFUcNm6s3ygbMPolYiSBy4osF96BFCNrPahbtJfkEVWu7lQfwJuYQK5Xvf8JMg_42yir-RS5sTWPQYa1jLrVYKgIzFoSUTO73zvU=@protonmail.com> X-Gnu-PR-Message: they-closed 52928 X-Gnu-PR-Package: emacs Reply-To: 52928@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975383-11257-7" This is a multi-part message in MIME format... ------------=_1732975383-11257-7 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: Bash functions with dash do not show up in speedbar which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 52928@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975383-11257-7 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975383-11257-7 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 1 Jan 2022 08:36:53 +0000 Received: from localhost ([127.0.0.1]:57757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3Zsi-0003wL-1D for submit@debbugs.gnu.org; Sat, 01 Jan 2022 03:36:53 -0500 Received: from lists.gnu.org ([209.51.188.17]:58218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3YOG-0001LZ-2t for submit@debbugs.gnu.org; Sat, 01 Jan 2022 02:01:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n3YOF-0005O7-Ha for bug-gnu-emacs@gnu.org; Sat, 01 Jan 2022 02:01:19 -0500 Received: from mail-40135.protonmail.ch ([185.70.40.135]:46810) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n3YOD-0006qr-5b for bug-gnu-emacs@gnu.org; Sat, 01 Jan 2022 02:01:18 -0500 Date: Sat, 01 Jan 2022 07:01:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail2; t=1641020472; bh=HvASIpY5y45xOankerFHUXOXHQrOUOM22NxVGudCKC0=; h=Date:To:From:Reply-To:Subject:Message-ID:From:To:Cc; b=rKamGUoU4ioOM9V046D3Rc7vd51KO5x/85KJD85aX9wbOvtmANeqRy0y0G0DzaVoO ocSsypJVDwav7S1fzL79xmu13QQ3/8nb5LjX6J7mGrxfTGasnWI7cKTLCcNbVVqXKH rnoZeh5PZWkQchcO/cqNvnk0gY6Xg1tUKQ/MDgA3BpQKJ0wqXa41uTRh3mMDXN3S2h WtrKvkpjxt3zdfD7YB2pvMLIjlvKpeUGOv4xJtX65t7M6/k2Sm4VMQcNhmpE99qIeE SZfjEsPA5L1Ai9JHyP9R2aXSgDHFv6BQklvvuNgTCCdIITkKWHHcMGbC87p8eCTOR4 SstbjgyYTVG6w== To: "bug-gnu-emacs@gnu.org" From: tolugboji Subject: Bash functions with dash do not show up in speedbar Message-ID: <8cHiTxGuFUcNm6s3ygbMPolYiSBy4osF96BFCNrPahbtJfkEVWu7lQfwJuYQK5Xvf8JMg_42yir-RS5sTWPQYa1jLrVYKgIzFoSUTO73zvU=@protonmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_vvPV0mvdkBsZqQYEG0rI8LTuLqfgVEFA6vgvQAHNyqk" X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Received-SPF: pass client-ip=185.70.40.135; envelope-from=tolugboji@protonmail.com; helo=mail-40135.protonmail.ch X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 01 Jan 2022 03:36:50 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: tolugboji Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_vvPV0mvdkBsZqQYEG0rI8LTuLqfgVEFA6vgvQAHNyqk Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 RGVhciBhbGwsCgpIYXZlIG5vdGljZWQgdGhhdCBiYXNoIGZ1bmN0aW9ucyB3aXRoIGRhc2ggaW4g dGhlIG5hbWUgZG8gbm90IHNob3cgaW4gdGhlIHNwZWVkYmFyIHdoZW4gaW4gc2gtbW9kZS4= --b1_vvPV0mvdkBsZqQYEG0rI8LTuLqfgVEFA6vgvQAHNyqk Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdj5EZWFyIGFsbCw8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9u bWFpbF9zaWduYXR1cmVfYmxvY2siPjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Js b2NrLXVzZXIgcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPjwvZGl2PjxkaXYgY2xh c3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiI+PC9kaXY+PC9kaXY+PGRpdj5I YXZlIG5vdGljZWQgdGhhdCBiYXNoIGZ1bmN0aW9ucyB3aXRoIGRhc2ggaW4gdGhlIG5hbWUgZG8g bm90IHNob3cgaW4gdGhlIHNwZWVkYmFyIHdoZW4gaW4gc2gtbW9kZS48YnI+PC9kaXY+ --b1_vvPV0mvdkBsZqQYEG0rI8LTuLqfgVEFA6vgvQAHNyqk-- ------------=_1732975383-11257-7-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: angelomolina@tutanota.com Subject: bug#54265: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> X-Gnu-PR-Message: they-closed 54265 X-Gnu-PR-Package: emacs Reply-To: 54265@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975383-11257-9" This is a multi-part message in MIME format... ------------=_1732975383-11257-9 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: Valid function names cannot be accessed from speedbar. which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 54265@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975383-11257-9 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975383-11257-9 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 5 Mar 2022 17:26:27 +0000 Received: from localhost ([127.0.0.1]:48965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQYAk-0001EL-RQ for submit@debbugs.gnu.org; Sat, 05 Mar 2022 12:26:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:58212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQWor-0007WP-6E for submit@debbugs.gnu.org; Sat, 05 Mar 2022 10:59:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44308) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQWoq-00075q-U3 for bug-gnu-emacs@gnu.org; Sat, 05 Mar 2022 10:59:44 -0500 Received: from w1.tutanota.de ([81.3.6.162]:47956) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQWop-00040v-1v for bug-gnu-emacs@gnu.org; Sat, 05 Mar 2022 10:59:44 -0500 Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 7DD5BFA0717 for ; Sat, 5 Mar 2022 15:59:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1646495981; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=JIdMBhcSSrkcfo4TD2Tl1F4llwNunXDoEQTKLQs+9lQ=; b=Is198nILxIFQzksbJP9uJdCutLG5kWpHNk+Nk4Kk4IuHjL9eyruXIuI1k6QIrTiX uQpEmxgksIACjTN8K+iyqPNyaeoElMlzVBqabSUkokuYihjylXQmSpq11kJaJag0pJZ 01laQQ6Yx/vidqw5bg/xswhzTmOtbdV51Q/wQtPU1RVf5exOPb1zUFs5U5dLZJFl30t ZOOyQ6/aZ2Ezp9GBNrwA1exYfdtFVVri0izQig6IO0GJQLnEM5kVIcqwLsEEcOFOHVP U5jMT751zkDOXEh7cumNniiTk9G7nVr1hvJqWoFleofNNY+BJisiHmWwRVNH67E10lC D7QR1oPbrQ== Date: Sat, 5 Mar 2022 16:59:41 +0100 (CET) From: angelomolina@tutanota.com To: bug-gnu-emacs@gnu.org Message-ID: Subject: Valid function names cannot be accessed from speedbar. MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_305176_1003524010.1646495981496" Received-SPF: pass client-ip=81.3.6.162; envelope-from=angelomolina@tutanota.com; helo=w1.tutanota.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 05 Mar 2022 12:26:25 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) ------=_Part_305176_1003524010.1646495981496 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I am using completely valid function names but cannot access them using the= speedbar.=C2=A0 I am in sh-mode. ------=_Part_305176_1003524010.1646495981496 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I am using completely valid function names but cannot access them using the speedbar.  I am in sh-mode.
------=_Part_305176_1003524010.1646495981496-- ------------=_1732975383-11257-9-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: uzibalqa Subject: bug#57255: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> X-Gnu-PR-Message: they-closed 57255 X-Gnu-PR-Package: emacs Reply-To: 57255@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975384-11257-11" This is a multi-part message in MIME format... ------------=_1732975384-11257-11 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: Cannot display bash function function-name in speedbar which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 57255@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975384-11257-11 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975384-11257-11 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 17 Aug 2022 01:08:59 +0000 Received: from localhost ([127.0.0.1]:48819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oO7YJ-0007Yp-BS for submit@debbugs.gnu.org; Tue, 16 Aug 2022 21:08:59 -0400 Received: from lists.gnu.org ([209.51.188.17]:59540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oO7YH-0007Yh-31 for submit@debbugs.gnu.org; Tue, 16 Aug 2022 21:08:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39504) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO7YG-0002rM-Sr for bug-gnu-emacs@gnu.org; Tue, 16 Aug 2022 21:08:56 -0400 Received: from mail-0201.mail-europe.com ([51.77.79.158]:57962) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO7YC-0005jA-Jh for bug-gnu-emacs@gnu.org; Tue, 16 Aug 2022 21:08:55 -0400 Date: Wed, 17 Aug 2022 01:08:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1660698527; x=1660957727; bh=UmBVMJwPCHEArwqhQhWgWdMEllMQ4X+h0dnk2f+/hiQ=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=U2BBWgzLi4GtsJbzHagjGyun+FsNYTaSD50Naw9HgWcke0ZHkQzm/+9UBGNogdSlI +gpZH+90XMYHZML27pEID37pM82DAd/wTv23JcgnKtMTWLO3kLTZ4NsJB3ZCoN8iKf N3bHLcU88X1NJeBvjEoN1msOvgd0iaChX7aGtBlk7Zwj8Jnej3YVtwnXxr1KTrKHnb 1W8aR0Ei2uAo3bz49+dcHrYVsPSKailBBzga0xNx7E693Knevhxa1JAiN70G5FbQby 5GVQYp9VyMzUbXO+yZkSn+7DYdH3R5CAQCBVgxFK6EtztX5UpjUr33COSwbbjWLotv xVmqDeRskuf2g== To: "bug-gnu-emacs@gnu.org" From: uzibalqa Subject: Cannot display bash function function-name in speedbar Message-ID: Feedback-ID: 52887082:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=51.77.79.158; envelope-from=uzibalqa@proton.me; helo=mail-0201.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: uzibalqa Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I have loaded a bash script in emacs cannot got the speedbar to display fun= ction name containing hyphen. Example function-name () { commands; } ------------=_1732975384-11257-11-- From unknown Mon Aug 11 19:04:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Heime Subject: bug#58554: closed (Re: bug#56003: Bash functions not showing in speedbar) Message-ID: References: <86plmc7rc2.fsf@gnu.org> X-Gnu-PR-Message: they-closed 58554 X-Gnu-PR-Package: emacs Reply-To: 58554@debbugs.gnu.org Date: Sat, 30 Nov 2024 14:03:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1732975384-11257-13" This is a multi-part message in MIME format... ------------=_1732975384-11257-13 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56003: Bash functions with hyphen not showing up in speedbar which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 58554@debbugs.gnu.org. --=20 56003: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56003 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1732975384-11257-13 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56003-done) by debbugs.gnu.org; 30 Nov 2024 14:02:23 +0000 Received: from localhost ([127.0.0.1]:45969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO3D-0002uB-EL for submit@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tHO39-0002ts-Tv for 56003-done@debbugs.gnu.org; Sat, 30 Nov 2024 09:02:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tHO32-0006Bo-Ed; Sat, 30 Nov 2024 09:02:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P+DrhB2rF8Zwm0AumxQFBe4q1NHtd7TxwY9+7OXr4F0=; b=qbWT1GJUlPJlTJIIrsGh qr5VNTIumjfs5ss3YeH2/DOGO2MMFMDO7gwMEhpbjJxjuzw3kqvmPbKXhJ6d0zWk0T0frIpQwYmoM dQc7E2aMpf93StuBBDIiGL6lO6A3yVSL9jHFSwtMvEX7H3QtSCXCG6eJWLUOol37HbhHFQmAdFHYf 1tTZMOC7ybfhob755OJ8zVjxNryJ4PBjl15G1No8iPKftcxqhNiCmcrlEut5Ki14tUlH4B1jQNb7E l92OwZPYllDOSkJ6j0u2QqIvFWgwDGBkhYZVxak8KQ5ceg5rZ2cw60nRk3yfkdOadiUirXQz/84bt TMR9kdKVtk/BQg==; Date: Sat, 30 Nov 2024 16:02:05 +0200 Message-Id: <86plmc7rc2.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87y1xxcnfz.fsf@gmail.com> (message from Visuwesh on Thu, 16 Jun 2022 08:41:12 +0530) Subject: Re: bug#56003: Bash functions not showing in speedbar References: <87y1xxcnfz.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56003-done Cc: 56003-done@debbugs.gnu.org, carlmarcos@tutanota.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Thu, 16 Jun 2022 08:41:12 +0530 > Cc: carlmarcos@tutanota.com, 56003@debbugs.gnu.org > > [வியாழன் ஜூன் 16, 2022 02:12] carlmarcos--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > > > Have been working on some functionalities implemented in bash. But looking at the speedbar, only some function > > names are being listed. Tried to see whether a bug-report has been previously submitted, but could not find any. > > Have found the search feature for the archives quite challenging to use. > > > > Carl > > You need to add a relevant bash entry to `sh-imenu-generic-expression'. > I would propose a patch but the bash manual is vague about the allowed > characters, and I never use bash so I'm not interested in digging > further. Maybe the newly added mksh entry could be a good example, > > (mksh > . ((nil > ;; function FOO > ;; function FOO() > ,(rx bol (* (syntax whitespace)) "function" (+ (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) (? "()")) > 1) > (nil > ;; FOO() > ,(rx bol (* (syntax whitespace)) > (group (1+ (not (any "\0\t\n \"$&'();<=>\\`|#*?[]/")))) > (* (syntax whitespace)) "()") > 1))) > > HTH. This bug was recently solved on the master branch, see commit 2ea091955036. ------------=_1732975384-11257-13 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 16 Oct 2022 00:55:55 +0000 Received: from localhost ([127.0.0.1]:42822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojrwX-0005Zp-G7 for submit@debbugs.gnu.org; Sat, 15 Oct 2022 20:55:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:33774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojhkh-0008Fm-9N for submit@debbugs.gnu.org; Sat, 15 Oct 2022 10:02:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56646) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojhkh-0002h0-40 for bug-gnu-emacs@gnu.org; Sat, 15 Oct 2022 10:02:59 -0400 Received: from mail-0201.mail-europe.com ([51.77.79.158]:60249) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojhkf-00018Q-80 for bug-gnu-emacs@gnu.org; Sat, 15 Oct 2022 10:02:58 -0400 Date: Sat, 15 Oct 2022 14:02:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1665842569; x=1666101769; bh=rIWllGX26am01DVs3p20rey4pUn2Nv3nHjE7EMU5oj4=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID; b=iU6fuZc/19FQsEo/C29hbqeFOKCHG65VWa2YZBS/Bj6G85D+l/SLz8YkdP/TbS3fM b4l/7/xkqrTblEbxY3uMR0D7nJwgKfnfXnmhcfQNyoGObruw+KbqI1Cyb4NdberiSD n2X2DgSRh0dgC6Qsdvv+stMDjcAc22JIwsQzhcWMEGzcv83p1xnUPaIX2Qcmvo+nCE FVd+d//vAC/i3TJrwEzZ5w5nWsiqsfZLQfqIjjKxt7da94bUl3XiBA6ojH9Y8Mf4MN nNrn/fi7iQbaK5WJuv9gY4Qnkh1QUTXwQFmfxCjXh2PLJMb2FkwLj4xiePTJeeIELk 6AJ8b43NXHkcA== To: "bug-gnu-emacs@gnu.org" From: Heime Subject: Bash functions with hyphen not showing up in speedbar Message-ID: Feedback-ID: 57735886:user:proton MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_tROb9rXo1JOsf89p1G74GWVGbz7bJhFD8rG4x9AlwlY" Received-SPF: pass client-ip=51.77.79.158; envelope-from=heimeborgia@protonmail.com; helo=mail-0201.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 15 Oct 2022 20:55:52 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_tROb9rXo1JOsf89p1G74GWVGbz7bJhFD8rG4x9AlwlY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGF2ZSBzZWVuIHRoZXJlIHdhcyBhIGJ1ZyByZXBvcnQgYWJvdXQgYmFzaCBmdW5jdGlvbnMgd2l0 aCBoeXBoZW4gbm90IHNob3dpbmcgdXAgaW4gc3BlZWRiYXIuIE1hbnkKbW9udGhzIGhhdmUgcGFz c2VkIGFuZCB3b3VsZCBsaWtlIGEgc29sdXRpb24gYmVjYXVzZSBJIGhhdmUgc29tZSBiYXNoIGZ1 bmN0aW9ucyB3aGVyZSBpdCB3b3VsZCBiZQpnb29kIGZvciBtbyB0byB1c2UgaHlwaGVuIGFuZCBi ZSBhYmxlIHRvIHVzZSB0aGUgc3BlZWRiYXIgdG8gYWNjZXNzIHRoZSBmdW5jdGlvbiBuYW1lcy4= --b1_tROb9rXo1JOsf89p1G74GWVGbz7bJhFD8rG4x9AlwlY Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7Ij5IYXZlIHNlZW4gdGhlcmUgd2FzIGEgYnVnIHJlcG9ydCBhYm91dCA8c3Bh bj5iYXNoIGZ1bmN0aW9ucyB3aXRoIGh5cGhlbiBub3Qgc2hvd2luZyB1cCBpbiBzcGVlZGJhcjwv c3Bhbj4uJm5ic3A7IE1hbnkgPGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh bDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+bW9udGhzIGhhdmUgcGFz c2VkIGFuZCB3b3VsZCBsaWtlIGEgc29sdXRpb24gYmVjYXVzZSBJIGhhdmUgc29tZSBiYXNoIGZ1 bmN0aW9ucyB3aGVyZSBpdCB3b3VsZCBiZTwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+Z29vZCBmb3IgbW8g dG8gdXNlIGh5cGhlbiBhbmQgYmUgYWJsZSB0byB1c2UgdGhlIHNwZWVkYmFyIHRvIGFjY2VzcyB0 aGUmbmJzcDsgZnVuY3Rpb24gbmFtZXMuPGJyPjwvZGl2Pg== --b1_tROb9rXo1JOsf89p1G74GWVGbz7bJhFD8rG4x9AlwlY-- ------------=_1732975384-11257-13--