From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jostein_Kj=c3=b8nigsen?= Newsgroups: gmane.emacs.devel Subject: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied") Date: Thu, 8 Dec 2022 14:46:52 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------aAm3iBYPjfsZ10546ZTN9705" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40702"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 To: "Ergus via Emacs development discussions." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 08 14:47:53 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p3HFe-000AGT-4L for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Dec 2022 14:47:53 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p3HEz-0000jV-PT; Thu, 08 Dec 2022 08:47:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p3HEx-0000i3-5y for emacs-devel@gnu.org; Thu, 08 Dec 2022 08:47:07 -0500 Original-Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p3HEo-0001nr-7k for emacs-devel@gnu.org; Thu, 08 Dec 2022 08:47:06 -0500 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id BA7B0320076F for ; Thu, 8 Dec 2022 08:46:55 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Thu, 08 Dec 2022 08:46:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm1; t=1670507215; x=1670593615; bh=FmVkXZUYsM dZKZ1N6+yzBeZGjxJIJoNLDFwp3Cqkpz0=; b=DsOp5WYsjRl4L0vH4s6gBXpbyE veSciAg4AwT+etKjtESDYDi7CilltlTQAndeuJzP3AwfetXIG4pSMpTxrEm/0+fx LNvK9oBEPSZVji3ZBZIIHIWOtOq0Oml9S0k5UEY36pgYdvF0a6ln+G1gZU6vNmk0 TMz11opHMuikk/13crDGcSpZLBcQicOTDm/x3+wYBfLCjqjAw1wIV37zT7YC/Mz4 7BMAHQiFLryIPMleL3JVQrtvtnqH2SuL5dNfsAH9kMqRlAXM4U6VMjQfnO9PTaOW i4R2y8LxsGY1cyYQya5HVQlK9rgKgU7qzX+46yOt7uJy2JOUazAMZfMFyRMw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670507215; x= 1670593615; bh=FmVkXZUYsMdZKZ1N6+yzBeZGjxJIJoNLDFwp3Cqkpz0=; b=g 4ynwtAB5E1lkUhp5wa3gl6ebTp98CUvy0J2s3IsfeZJmfCztRlGlVfzivlOmXxgJ G/EDRQI7pq2A657bloV7Lo8OQYpC5LpZgF/myBghXEMx3VStxEuiBe1MHZPvoIfK +WadSJRnN7nfxq43cOB6LNSEd04lhS5oBISiXpb9+I1YWwRmBaoYAkoix3ruufrX dJ7hu3xf3hP8zGKuNgqiINLdpENhncx4LP/kqZVsjXWmq2uzhfgehrtfZV5PHCFU xteVzuW944oyIM752ePMD8bm3X9FpTkcPqlBjabMRMc3S60Nk73wrKxX96vK+EDA Y0yxCSnulT0U8A0zmGwRQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddtgdehiecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtkfffgggfvffhufesrgdtreertdefjeenucfhrhhomheplfhoshhtvghinhcu mfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnihhgshgvnh drnhgvtheqnecuggftrfgrthhtvghrnhepfffgkeekffejhfffgffgleeftdefgeetveef geefudekheefkeetudffvdefheffnecuffhomhgrihhnpeifvggsthhoohhlshdrfihinh dprhhusgihqdhmohguvgdrrhgvpdhpmhhougdrihhnpdhgihhthhhusgdrtghomhdpkhhj nhhighhsvghnrdhnohenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnihhgshgvnhdrnhgvth X-ME-Proxy: Feedback-ID: ib2f84088:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Thu, 8 Dec 2022 08:46:54 -0500 (EST) Content-Language: en-US Received-SPF: pass client-ip=64.147.123.19; envelope-from=jostein@secure.kjonigsen.net; helo=wout3-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:301035 Archived-At: This is a multi-part message in MIME format. --------------aAm3iBYPjfsZ10546ZTN9705 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGV5IGV2ZXJ5b25lLg0KDQpJJ20gdGVzdGluZyBvdXQgdGhlIGxhdGVzdCBlbWFjcy0yOSBj b21taXRzIGRhaWx5IHRvIHZhbGlkYXRlIHRoYXQgbXkgQyMgDQphbmQgVHlwZVNjcmlwdCBk ZXZlbG9wbWVudCBlbnZpcm9ubWVudCB3b3JrcyBhcyBpdCBzaG91bGQgKG9yIGFzIA0KZXhw ZWN0ZWQpIHVzaW5nIHRoZSBuZXcgYnVpbHQtaW4gbWFqb3ItbW9kZXMgYmFzZWQgb24gdHJl ZS1zaXR0ZXIuDQoNCkkndmUgZm91bmQgYSBmZXcgaXNzdWVzIHJlbGF0ZWQgdG8gIm15IiBt b2RlcywgYW5kIEkndmUgZWl0aGVyIHJlcG9ydGVkIA0KYnVncyBmb3IgdGhvc2Ugb3Igc3Vw cGxpZWQgcGF0Y2hlcy4gSSBjb25zaWRlciB0aG9zZSBhc3BlY3RzIHRvIGJlIHVuZGVyIA0K ZmFpcmx5IGdvb2QgY29udHJvbC4NCg0KSSd2ZSBxdWl0ZSByZWNlbnRseSBlbmNvdW50ZXJl ZCBvbmUgcmVncmVzc2lvbiB0aG91Z2gsIHdoaWNoIGlzIGJyZWFraW5nIA0KbXkgc2V0dXAs IGFuZCBJIGJlbGlldmUgaXQncyBpbiBhIHBhcnQgb2YgRW1hY3Mgd2hpY2ggSSdtIG5vdCBk ZWVwbHkgDQpmYW1pbGlhciB3aXRoLg0KDQpUaGVyZSBzZWVtcyB0byBiZSBzb21lIGNoYW5n ZXMgaW4gKG1ha2UtcHJvY2Vzcz8pIHdoaWNoIGNhdXNlcyBhbiBlcnJvciANCndoZW4gdHJ5 aW5nIHRvIGxhdW5jaCBhbiBleHRlcm5hbCBwcm9jZXNzIHVzZWQgYXMgYSBsYW5ndWFnZS1z ZXJ2ZXIuIA0KV2hhdCdzIGFubm95aW5nIGlzIHRoYXQgaXQgZG9lc24ndCBzZWVtIHRvIGhh cHBlbiBmb3IgYWxsIG1ha2UtcHJvY2VzcyANCmludm9jYXRpb25zLCBub3IgZm9yIGFsbCBl eHRlcm5hbCBwcm9jZXNzZXMuDQoNCldoZW4gaXQgZmFpbHMsIHdlIGdldCBhIHN0YWNrLXRy YWNlIGxpa2UgdGhpczoNCg0KRGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKHBlcm1p c3Npb24tZGVuaWVkIkRvaW5nIHZmb3JrIiAgIlBlcm1pc3Npb24gZGVuaWVkIikNCiAgIG1h a2UtcHJvY2Vzcyg6bmFtZSAib21uaXNoYXJwIiA6Y29ubmVjdGlvbi10eXBlIHBpcGUgOmJ1 ZmZlciAiKm9tbmlzaGFycCoiIDpjb2Rpbmcgbm8tY29udmVyc2lvbiA6Y29tbWFuZCAoIi9o b21lL2pvc3RlaW4vLmVtYWNzLmQvLmNhY2hlL2xzcC9vbW5pc2hhcnAtcm9zbHluLi4uIiAi LWxzcCIpIDpmaWx0ZXIgKGNsb3N1cmUgKChjaHVuaykgKGJvZHkpIChib2R5LWxlbmd0aCkg KGxlZnRvdmVycykgKGJvZHktcmVjZWl2ZWQgLiAwKSAod29ya3NwYWNlIC4gI3MobHNwLS13 b3Jrc3BhY2UgOmV3b2MgbmlsIDpzZXJ2ZXItY2FwYWJpbGl0aWVzIG5pbCA6cmVnaXN0ZXJl ZC1zZXJ2ZXItY2FwYWJpbGl0aWVzIG5pbCA6cm9vdCAiL2hvbWUvam9zdGVpbi9idWlsZC90 ZXN0eSIgOmNsaWVudCAjcyhsc3AtLWNsaWVudCA6bGFuZ3VhZ2UtaWQgbmlsIDphZGQtb24/ IG5pbCA6bmV3LWNvbm5lY3Rpb24gKDpjb25uZWN0IChjbG9zdXJlIC4uLiAuLi4gLi4uKSA6 dGVzdD8gKGNsb3N1cmUgLi4uIG5pbCAuLi4pKSA6aWdub3JlLXJlZ2V4cHMgbmlsIDppZ25v cmUtbWVzc2FnZXMgbmlsIDpub3RpZmljYXRpb24taGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVx dWFsIDEyLzY1IDB4MTU3M2Q2MzNhY2M1PiA6cmVxdWVzdC1oYW5kbGVycyAjPGhhc2gtdGFi bGUgZXF1YWwgMC82NSAweDE1NzNkNTY1NzcxNT4gOnJlc3BvbnNlLWhhbmRsZXJzICM8aGFz aC10YWJsZSBlcWwgMC82NSAweDE1NzNkNjFlN2Y1NT4gOnByZWZpeC1mdW5jdGlvbiBuaWwg OnVyaS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjRiYTBkNT4g OmFjdGlvbi1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMS82NSAweDE1NzNkNjMzYWNh NT4gOm1ham9yLW1vZGVzIChjc2hhcnAtbW9kZSBjc2hhcnAtdHJlZS1zaXR0ZXItbW9kZSBj c2hhcnAtdHMtbW9kZSkgOmFjdGl2YXRpb24tZm4gbmlsIDpwcmlvcml0eSAtMSA6c2VydmVy LWlkIG9tbmlzaGFycCA6bXVsdGktcm9vdCBuaWwgOmluaXRpYWxpemF0aW9uLW9wdGlvbnMg bmlsIDpzZW1hbnRpYy10b2tlbnMtZmFjZXMtb3ZlcnJpZGVzIG5pbCA6Y3VzdG9tLWNhcGFi aWxpdGllcyBuaWwgOmxpYnJhcnktZm9sZGVycy1mbiBuaWwgOmJlZm9yZS1maWxlLW9wZW4t Zm4gbmlsIDppbml0aWFsaXplZC1mbiBuaWwgOnJlbW90ZT8gbmlsIDpjb21wbGV0aW9uLWlu LWNvbW1lbnRzPyBuaWwgOnBhdGgtPnVyaS1mbiBuaWwgOnVyaS0+cGF0aC1mbiBuaWwgOmVu dmlyb25tZW50LWZuIG5pbCA6YWZ0ZXItb3Blbi1mbiBuaWwgOmFzeW5jLXJlcXVlc3QtaGFu ZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDYxZTdmNzU+IDpkb3dubG9h ZC1zZXJ2ZXItZm4gbHNwLWNzaGFycC0tb21uaXNoYXJwLWRvd25sb2FkLXNlcnZlciA6ZG93 bmxvYWQtaW4tcHJvZ3Jlc3M/IG5pbCA6YnVmZmVycyBuaWwgOnN5bmNocm9uaXplLXNlY3Rp b25zIG5pbCkgOmhvc3Qtcm9vdCBuaWwgOnByb2MgbmlsIDpjbWQtcHJvYyBuaWwgOmJ1ZmZl cnMgKCM8YnVmZmVyIHRlc3QuY3M8dGVzdHk+PikgOnNlbWFudGljLXRva2Vucy1mYWNlcyBu aWwgOnNlbWFudGljLXRva2Vucy1tb2RpZmllci1mYWNlcyBuaWwgOmV4dHJhLWNsaWVudC1j YXBhYmlsaXRpZXMgbmlsIDpzdGF0dXMgc3RhcnRpbmcgOm1ldGFkYXRhICM8aGFzaC10YWJs ZSBlcXVhbCAwLzY1IDB4MTU3M2Q2NGE0YzUzPiA6d2F0Y2hlcyAjPGhhc2gtdGFibGUgZXF1 YWwgMC82NSAweDE1NzNkNjQyMGQwMz4gOndvcmtzcGFjZS1mb2xkZXJzIG5pbCA6bGFzdC1p ZCAwIDpzdGF0dXMtc3RyaW5nIG5pbCA6c2h1dGRvd24tYWN0aW9uIG5pbCA6ZGlhZ25vc3Rp Y3MgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2MTBkNjM+IDp3b3JrLWRvbmUt dG9rZW5zICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1NjEwZDgzPikpKSAoX3By b2MgaW5wdXQpIChzZXRxIGNodW5rIChpZiAocy1ibGFuaz8gbGVmdG92ZXJzKSBpbnB1dCAo Y29uY2F0IGxlZnRvdmVycyBpbnB1dCkpKSAobGV0IChtZXNzYWdlcykgKHdoaWxlIChub3Qg KHMtYmxhbms/IGNodW5rKSkgKGlmIChub3QgYm9keS1sZW5ndGgpIChsZXQqICgoYm9keS1z ZXAtcG9zIC4uLikpIChpZiBib2R5LXNlcC1wb3MgKHByb2duIC4uLiAuLi4gLi4uIC4uLikg KHByb2duIC4uLiAuLi4pKSkgKGxldCogKChjaHVuay1sZW5ndGggLi4uKSAobGVmdC10by1y ZWNlaXZlIC4uLikgKHRoaXMtYm9keSAuLi4pIChib2R5LWJ5dGVzIC4uLikpIChzZXRxIGJv ZHkgKGNvbnMgdGhpcy1ib2R5IGJvZHkpKSAoc2V0cSBib2R5LXJlY2VpdmVkICgrIGJvZHkt cmVjZWl2ZWQgYm9keS1ieXRlcykpIChpZiAoPj0gY2h1bmstbGVuZ3RoIGxlZnQtdG8tcmVj ZWl2ZSkgKHByb2duIC4uLikpKSkpIChtYXBjICMnKGxhbWJkYSAobXNnKSAobHNwLS1wYXJz ZXItb24tbWVzc2FnZSBtc2cgd29ya3NwYWNlKSkgKG5yZXZlcnNlIG1lc3NhZ2VzKSkpKSA6 c2VudGluZWwgI2YoY29tcGlsZWQtZnVuY3Rpb24gKCZyZXN0IGFyZ3MyKSAjPGJ5dGVjb2Rl IC0weGFkYTE4YzZiNGMzMTJmMD4pIDpzdGRlcnIgIipvbW5pc2hhcnA6OnN0ZGVycioiIDpu b3F1ZXJ5IHQpDQogICAobGV0KiAgKChzdGRlcnItYnVmIChmb3JtYXQgICIqJXM6OnN0ZGVy cioiICBwcm9jZXNzLW5hbWUpKSAoZGVmYXVsdC1kaXJlY3RvcnkgIChsc3AtLWRlZmF1bHQt ZGlyZWN0b3J5LWZvci1jb25uZWN0aW9uKSkgKHByb2MgKG1ha2UtcHJvY2VzcyAgOm5hbWUg IHByb2Nlc3MtbmFtZTpjb25uZWN0aW9uLXR5cGUgICdwaXBlICA6YnVmZmVyICAoZm9ybWF0 ICAiKiVzKiIgIHByb2Nlc3MtbmFtZSk6Y29kaW5nICAnbm8tY29udmVyc2lvbiAgOmNvbW1h bmQgIGZpbmFsLWNvbW1hbmQ6ZmlsdGVyICBmaWx0ZXI6c2VudGluZWwgIHNlbnRpbmVsOnN0 ZGVyciAgc3RkZXJyLWJ1Zjpub3F1ZXJ5ICB0KSkpIChzZXQtcHJvY2Vzcy1xdWVyeS1vbi1l eGl0LWZsYWcgIHByb2NuaWwpIChzZXQtcHJvY2Vzcy1xdWVyeS1vbi1leGl0LWZsYWcgIChn ZXQtYnVmZmVyLXByb2Nlc3MgIHN0ZGVyci1idWYpbmlsKSAoc2F2ZS1jdXJyZW50LWJ1ZmZl ciAgKHNldC1idWZmZXIgIChnZXQtYnVmZmVyICBzdGRlcnItYnVmKSkgKHNwZWNpYWwtbW9k ZSkpIChjb25zICBwcm9jIHByb2MpKQ0KICAgKGxldCAgKChmaW5hbC1jb21tYW5kIChsc3At cmVzb2x2ZS1maW5hbC1mdW5jdGlvbiBjb21tYW5kKSkgKHByb2Nlc3MtbmFtZSAgKGdlbmVy YXRlLW5ldy1idWZmZXItbmFtZSAgbmFtZSkpIChwcm9jZXNzLWVudmlyb25tZW50ICAobHNw LS1jb21wdXRlLXByb2Nlc3MtZW52aXJvbm1lbnQgZW52aXJvbm1lbnQtZm4pKSkgKGxldCog ICgoc3RkZXJyLWJ1ZiAoZm9ybWF0ICAiKiVzOjpzdGRlcnIqIiAgcHJvY2Vzcy1uYW1lKSkg KGRlZmF1bHQtZGlyZWN0b3J5ICAobHNwLS1kZWZhdWx0LWRpcmVjdG9yeS1mb3ItY29ubmVj dGlvbikpIChwcm9jIChtYWtlLXByb2Nlc3MgIDpuYW1lICBwcm9jZXNzLW5hbWU6Y29ubmVj dGlvbi10eXBlICAncGlwZSAgOmJ1ZmZlciAgKGZvcm1hdCAgIiolcyoiICBwcm9jZXNzLW5h bWUpOmNvZGluZyAgJ25vLWNvbnZlcnNpb24gIDpjb21tYW5kICBmaW5hbC1jb21tYW5kOmZp bHRlciAgZmlsdGVyOnNlbnRpbmVsICBzZW50aW5lbDpzdGRlcnIgIHN0ZGVyci1idWY6bm9x dWVyeSAgdCkpKSAoc2V0LXByb2Nlc3MtcXVlcnktb24tZXhpdC1mbGFnICBwcm9jbmlsKSAo c2V0LXByb2Nlc3MtcXVlcnktb24tZXhpdC1mbGFnICAoZ2V0LWJ1ZmZlci1wcm9jZXNzICBz dGRlcnItYnVmKW5pbCkgKHNhdmUtY3VycmVudC1idWZmZXIgIChzZXQtYnVmZmVyICAoZ2V0 LWJ1ZmZlciAgc3RkZXJyLWJ1ZikpIChzcGVjaWFsLW1vZGUpKSAoY29ucyAgcHJvYyBwcm9j KSkpDQogICAoaWYgIChmdW5jdGlvbnAgICdqc29uLXJwYy1jb25uZWN0aW9uKSAobHNwLWpz b24tcnBjLWNvbm5lY3Rpb24gd29ya3NwYWNlIChsc3AtcmVzb2x2ZS1maW5hbC1mdW5jdGlv biBjb21tYW5kKSkgKGxldCAgKChmaW5hbC1jb21tYW5kIChsc3AtcmVzb2x2ZS1maW5hbC1m dW5jdGlvbiBjb21tYW5kKSkgKHByb2Nlc3MtbmFtZSAgKGdlbmVyYXRlLW5ldy1idWZmZXIt bmFtZSAgbmFtZSkpIChwcm9jZXNzLWVudmlyb25tZW50ICAobHNwLS1jb21wdXRlLXByb2Nl c3MtZW52aXJvbm1lbnQgZW52aXJvbm1lbnQtZm4pKSkgKGxldCogICgoc3RkZXJyLWJ1ZiAo Zm9ybWF0ICAiKiVzOjpzdGRlcnIqIiAgcHJvY2Vzcy1uYW1lKSkgKGRlZmF1bHQtZGlyZWN0 b3J5ICAobHNwLS1kZWZhdWx0LWRpcmVjdG9yeS1mb3ItY29ubmVjdGlvbikpIChwcm9jICht YWtlLXByb2Nlc3MgIDpuYW1lICBwcm9jZXNzLW5hbWU6Y29ubmVjdGlvbi10eXBlICAncGlw ZSAgOmJ1ZmZlciAgKGZvcm1hdCAgIiolcyoiICBwcm9jZXNzLW5hbWUpOmNvZGluZyAgJ25v LWNvbnZlcnNpb24gIDpjb21tYW5kICBmaW5hbC1jb21tYW5kOmZpbHRlciAgZmlsdGVyOnNl bnRpbmVsICBzZW50aW5lbDpzdGRlcnIgIHN0ZGVyci1idWY6bm9xdWVyeSAgdCkpKSAoc2V0 LXByb2Nlc3MtcXVlcnktb24tZXhpdC1mbGFnICBwcm9jbmlsKSAoc2V0LXByb2Nlc3MtcXVl cnktb24tZXhpdC1mbGFnICAoZ2V0LWJ1ZmZlci1wcm9jZXNzICBzdGRlcnItYnVmKW5pbCkg KHNhdmUtY3VycmVudC1idWZmZXIgIChzZXQtYnVmZmVyICAoZ2V0LWJ1ZmZlciAgc3RkZXJy LWJ1ZikpIChzcGVjaWFsLW1vZGUpKSAoY29ucyAgcHJvYyBwcm9jKSkpKQ0KICAgKGNsb3N1 cmUgKChjb21tYW5kIGNsb3N1cmUgKHQpIG5pbCAoYXBwZW5kIChsaXN0IChsc3AtY3NoYXJw LS1sYW5ndWFnZS1zZXJ2ZXItcGF0aCkgIi1sc3AiKSAoaWYgbHNwLWNzaGFycC1zb2x1dGlv bi1maWxlIChwcm9nbiAobGlzdCAiLXMiIC4uLikpKSkpKSAoZmlsdGVyIHNlbnRpbmVsIG5h bWUgZW52aXJvbm1lbnQtZm4gd29ya3NwYWNlKSAoaWYgKGZ1bmN0aW9ucCAnanNvbi1ycGMt Y29ubmVjdGlvbikgKGxzcC1qc29uLXJwYy1jb25uZWN0aW9uIHdvcmtzcGFjZSAobHNwLXJl c29sdmUtZmluYWwtZnVuY3Rpb24gY29tbWFuZCkpIChsZXQgKChmaW5hbC1jb21tYW5kIChs c3AtcmVzb2x2ZS1maW5hbC1mdW5jdGlvbiBjb21tYW5kKSkgKHByb2Nlc3MtbmFtZSAoZ2Vu ZXJhdGUtbmV3LWJ1ZmZlci1uYW1lIG5hbWUpKSAocHJvY2Vzcy1lbnZpcm9ubWVudCAobHNw LS1jb21wdXRlLXByb2Nlc3MtZW52aXJvbm1lbnQgZW52aXJvbm1lbnQtZm4pKSkgKGxldCog KChzdGRlcnItYnVmIChmb3JtYXQgIiolczo6c3RkZXJyKiIgcHJvY2Vzcy1uYW1lKSkgKGRl ZmF1bHQtZGlyZWN0b3J5IChsc3AtLWRlZmF1bHQtZGlyZWN0b3J5LWZvci1jb25uZWN0aW9u KSkgKHByb2MgKG1ha2UtcHJvY2VzcyA6bmFtZSBwcm9jZXNzLW5hbWUgOmNvbm5lY3Rpb24t dHlwZSAuLi4gOmJ1ZmZlciAuLi4gOmNvZGluZyAuLi4gOmNvbW1hbmQgZmluYWwtY29tbWFu ZCA6ZmlsdGVyIGZpbHRlciA6c2VudGluZWwgc2VudGluZWwgOnN0ZGVyciBzdGRlcnItYnVm IDpub3F1ZXJ5IHQpKSkgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyBwcm9jIG5p bCkgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyAoZ2V0LWJ1ZmZlci1wcm9jZXNz IHN0ZGVyci1idWYpIG5pbCkgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgKGdl dC1idWZmZXIgc3RkZXJyLWJ1ZikpIChzcGVjaWFsLW1vZGUpKSAoY29ucyBwcm9jIHByb2Mp KSkpKSgoY2xvc3VyZSAoKGNodW5rKSAoYm9keSkgKGJvZHktbGVuZ3RoKSAobGVmdG92ZXJz KSAoYm9keS1yZWNlaXZlZCAuIDApICh3b3Jrc3BhY2UgLiAjcyhsc3AtLXdvcmtzcGFjZSA6 ZXdvYyBuaWwgOnNlcnZlci1jYXBhYmlsaXRpZXMgbmlsIDpyZWdpc3RlcmVkLXNlcnZlci1j YXBhYmlsaXRpZXMgbmlsIDpyb290ICIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IiA6Y2xp ZW50ICNzKGxzcC0tY2xpZW50IDpsYW5ndWFnZS1pZCBuaWwgOmFkZC1vbj8gbmlsIDpuZXct Y29ubmVjdGlvbiAoOmNvbm5lY3QgLi4uIDp0ZXN0PyAuLi4pIDppZ25vcmUtcmVnZXhwcyBu aWwgOmlnbm9yZS1tZXNzYWdlcyBuaWwgOm5vdGlmaWNhdGlvbi1oYW5kbGVycyAjPGhhc2gt dGFibGUgZXF1YWwgMTIvNjUgMHgxNTczZDYzM2FjYzU+IDpyZXF1ZXN0LWhhbmRsZXJzICM8 aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1NjU3NzE1PiA6cmVzcG9uc2UtaGFuZGxl cnMgIzxoYXNoLXRhYmxlIGVxbCAwLzY1IDB4MTU3M2Q2MWU3ZjU1PiA6cHJlZml4LWZ1bmN0 aW9uIG5pbCA6dXJpLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2 NGJhMGQ1PiA6YWN0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxLzY1IDB4MTU3 M2Q2MzNhY2E1PiA6bWFqb3ItbW9kZXMgKGNzaGFycC1tb2RlIGNzaGFycC10cmVlLXNpdHRl ci1tb2RlIGNzaGFycC10cy1tb2RlKSA6YWN0aXZhdGlvbi1mbiBuaWwgOnByaW9yaXR5IC0x IDpzZXJ2ZXItaWQgb21uaXNoYXJwIDptdWx0aS1yb290IG5pbCA6aW5pdGlhbGl6YXRpb24t b3B0aW9ucyBuaWwgOnNlbWFudGljLXRva2Vucy1mYWNlcy1vdmVycmlkZXMgbmlsIDpjdXN0 b20tY2FwYWJpbGl0aWVzIG5pbCA6bGlicmFyeS1mb2xkZXJzLWZuIG5pbCA6YmVmb3JlLWZp bGUtb3Blbi1mbiBuaWwgOmluaXRpYWxpemVkLWZuIG5pbCA6cmVtb3RlPyBuaWwgOmNvbXBs ZXRpb24taW4tY29tbWVudHM/IG5pbCA6cGF0aC0+dXJpLWZuIG5pbCA6dXJpLT5wYXRoLWZu IG5pbCA6ZW52aXJvbm1lbnQtZm4gbmlsIDphZnRlci1vcGVuLWZuIG5pbCA6YXN5bmMtcmVx dWVzdC1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjFlN2Y3NT4g OmRvd25sb2FkLXNlcnZlci1mbiBsc3AtY3NoYXJwLS1vbW5pc2hhcnAtZG93bmxvYWQtc2Vy dmVyIDpkb3dubG9hZC1pbi1wcm9ncmVzcz8gbmlsIDpidWZmZXJzIG5pbCA6c3luY2hyb25p emUtc2VjdGlvbnMgbmlsKSA6aG9zdC1yb290IG5pbCA6cHJvYyBuaWwgOmNtZC1wcm9jIG5p bCA6YnVmZmVycyAoIzxidWZmZXIgdGVzdC5jczx0ZXN0eT4+KSA6c2VtYW50aWMtdG9rZW5z LWZhY2VzIG5pbCA6c2VtYW50aWMtdG9rZW5zLW1vZGlmaWVyLWZhY2VzIG5pbCA6ZXh0cmEt Y2xpZW50LWNhcGFiaWxpdGllcyBuaWwgOnN0YXR1cyBzdGFydGluZyA6bWV0YWRhdGEgIzxo YXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YTRjNTM+IDp3YXRjaGVzICM8aGFzaC10 YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2NDIwZDAzPiA6d29ya3NwYWNlLWZvbGRlcnMgbmls IDpsYXN0LWlkIDAgOnN0YXR1cy1zdHJpbmcgbmlsIDpzaHV0ZG93bi1hY3Rpb24gbmlsIDpk aWFnbm9zdGljcyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNTYxMGQ2Mz4gOndv cmstZG9uZS10b2tlbnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2MTBkODM+ KSkpIChfcHJvYyBpbnB1dCkgKHNldHEgY2h1bmsgKGlmIChzLWJsYW5rPyBsZWZ0b3ZlcnMp IGlucHV0IChjb25jYXQgbGVmdG92ZXJzIGlucHV0KSkpIChsZXQgKG1lc3NhZ2VzKSAod2hp bGUgKG5vdCAocy1ibGFuaz8gY2h1bmspKSAoaWYgKG5vdCBib2R5LWxlbmd0aCkgKGxldCog KC4uLikgKGlmIGJvZHktc2VwLXBvcyAuLi4gLi4uKSkgKGxldCogKC4uLiAuLi4gLi4uIC4u LikgKHNldHEgYm9keSAuLi4pIChzZXRxIGJvZHktcmVjZWl2ZWQgLi4uKSAoaWYgLi4uIC4u LikpKSkgKG1hcGMgIycobGFtYmRhIChtc2cpIChsc3AtLXBhcnNlci1vbi1tZXNzYWdlIG1z ZyB3b3Jrc3BhY2UpKSAobnJldmVyc2UgbWVzc2FnZXMpKSkpICNmKGNvbXBpbGVkLWZ1bmN0 aW9uICgmcmVzdCBhcmdzMikgIzxieXRlY29kZSAtMHhhZGExOGM2YjRjMzEyZjA+KSAib21u aXNoYXJwIiBuaWwgI3MobHNwLS13b3Jrc3BhY2UgOmV3b2MgbmlsIDpzZXJ2ZXItY2FwYWJp bGl0aWVzIG5pbCA6cmVnaXN0ZXJlZC1zZXJ2ZXItY2FwYWJpbGl0aWVzIG5pbCA6cm9vdCAi L2hvbWUvam9zdGVpbi9idWlsZC90ZXN0eSIgOmNsaWVudCAjcyhsc3AtLWNsaWVudCA6bGFu Z3VhZ2UtaWQgbmlsIDphZGQtb24/IG5pbCA6bmV3LWNvbm5lY3Rpb24gKDpjb25uZWN0IChj bG9zdXJlICgoY29tbWFuZCBjbG9zdXJlIC4uLiBuaWwgLi4uKSkgKGZpbHRlciBzZW50aW5l bCBuYW1lIGVudmlyb25tZW50LWZuIHdvcmtzcGFjZSkgKGlmIChmdW5jdGlvbnAgLi4uKSAo bHNwLWpzb24tcnBjLWNvbm5lY3Rpb24gd29ya3NwYWNlIC4uLikgKGxldCAuLi4gLi4uKSkp IDp0ZXN0PyAoY2xvc3VyZSAodCkgbmlsIChsZXQqICguLi4pIChpZiBiaW5hcnkgLi4uIG5p bCkpKSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3NhZ2VzIG5pbCA6bm90aWZp Y2F0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82NSAweDE1NzNkNjMzYWNj NT4gOnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2 NTc3MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXFsIDAvNjUgMHgxNTcz ZDYxZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFuZGxlcnMgIzxoYXNoLXRh YmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24taGFuZGxlcnMgIzxoYXNo LXRhYmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpvci1tb2RlcyAoY3NoYXJw LW1vZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRzLW1vZGUpIDphY3RpdmF0 aW9uLWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5pc2hhcnAgOm11bHRpLXJv b3QgbmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2VtYW50aWMtdG9rZW5zLWZh Y2VzLW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMgbmlsIDpsaWJyYXJ5LWZv bGRlcnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6aW5pdGlhbGl6ZWQtZm4g bmlsIDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50cz8gbmlsIDpwYXRoLT51 cmktZm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVudC1mbiBuaWwgOmFmdGVy LW9wZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVh bCAwLzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVyLWZuIGxzcC1jc2hhcnAt LW9tbmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWluLXByb2dyZXNzPyBuaWwg OmJ1ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwpIDpob3N0LXJvb3Qgbmls IDpwcm9jIG5pbCA6Y21kLXByb2MgbmlsIDpidWZmZXJzICgjPGJ1ZmZlciB0ZXN0LmNzPHRl c3R5Pj4pIDpzZW1hbnRpYy10b2tlbnMtZmFjZXMgbmlsIDpzZW1hbnRpYy10b2tlbnMtbW9k aWZpZXItZmFjZXMgbmlsIDpleHRyYS1jbGllbnQtY2FwYWJpbGl0aWVzIG5pbCA6c3RhdHVz IHN0YXJ0aW5nIDptZXRhZGF0YSAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjRh NGM1Mz4gOndhdGNoZXMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0MjBkMDM+ IDp3b3Jrc3BhY2UtZm9sZGVycyBuaWwgOmxhc3QtaWQgMCA6c3RhdHVzLXN0cmluZyBuaWwg OnNodXRkb3duLWFjdGlvbiBuaWwgOmRpYWdub3N0aWNzICM8aGFzaC10YWJsZSBlcXVhbCAw LzY1IDB4MTU3M2Q1NjEwZDYzPiA6d29yay1kb25lLXRva2VucyAjPGhhc2gtdGFibGUgZXF1 YWwgMC82NSAweDE1NzNkNTYxMGQ4Mz4pKQ0KICAgZnVuY2FsbCgoY2xvc3VyZSAoKGNvbW1h bmQgY2xvc3VyZSAodCkgbmlsIChhcHBlbmQgKGxpc3QgKGxzcC1jc2hhcnAtLWxhbmd1YWdl LXNlcnZlci1wYXRoKSAiLWxzcCIpIChpZiBsc3AtY3NoYXJwLXNvbHV0aW9uLWZpbGUgKHBy b2duIC4uLikpKSkpIChmaWx0ZXIgc2VudGluZWwgbmFtZSBlbnZpcm9ubWVudC1mbiB3b3Jr c3BhY2UpIChpZiAoZnVuY3Rpb25wICdqc29uLXJwYy1jb25uZWN0aW9uKSAobHNwLWpzb24t cnBjLWNvbm5lY3Rpb24gd29ya3NwYWNlIChsc3AtcmVzb2x2ZS1maW5hbC1mdW5jdGlvbiBj b21tYW5kKSkgKGxldCAoKGZpbmFsLWNvbW1hbmQgKGxzcC1yZXNvbHZlLWZpbmFsLWZ1bmN0 aW9uIGNvbW1hbmQpKSAocHJvY2Vzcy1uYW1lIChnZW5lcmF0ZS1uZXctYnVmZmVyLW5hbWUg bmFtZSkpIChwcm9jZXNzLWVudmlyb25tZW50IChsc3AtLWNvbXB1dGUtcHJvY2Vzcy1lbnZp cm9ubWVudCBlbnZpcm9ubWVudC1mbikpKSAobGV0KiAoKHN0ZGVyci1idWYgLi4uKSAoZGVm YXVsdC1kaXJlY3RvcnkgLi4uKSAocHJvYyAuLi4pKSAoc2V0LXByb2Nlc3MtcXVlcnktb24t ZXhpdC1mbGFnIHByb2MgbmlsKSAoc2V0LXByb2Nlc3MtcXVlcnktb24tZXhpdC1mbGFnIChn ZXQtYnVmZmVyLXByb2Nlc3Mgc3RkZXJyLWJ1ZikgbmlsKSAoc2F2ZS1jdXJyZW50LWJ1ZmZl ciAoc2V0LWJ1ZmZlciAuLi4pIChzcGVjaWFsLW1vZGUpKSAoY29ucyBwcm9jIHByb2MpKSkp KSAoY2xvc3VyZSAoKGNodW5rKSAoYm9keSkgKGJvZHktbGVuZ3RoKSAobGVmdG92ZXJzKSAo Ym9keS1yZWNlaXZlZCAuIDApICh3b3Jrc3BhY2UgLiAjcyhsc3AtLXdvcmtzcGFjZSA6ZXdv YyBuaWwgOnNlcnZlci1jYXBhYmlsaXRpZXMgbmlsIDpyZWdpc3RlcmVkLXNlcnZlci1jYXBh YmlsaXRpZXMgbmlsIDpyb290ICIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IiA6Y2xpZW50 ICNzKGxzcC0tY2xpZW50IDpsYW5ndWFnZS1pZCBuaWwgOmFkZC1vbj8gbmlsIDpuZXctY29u bmVjdGlvbiAoOmNvbm5lY3QgLi4uIDp0ZXN0PyAuLi4pIDppZ25vcmUtcmVnZXhwcyBuaWwg Omlnbm9yZS1tZXNzYWdlcyBuaWwgOm5vdGlmaWNhdGlvbi1oYW5kbGVycyAjPGhhc2gtdGFi bGUgZXF1YWwgMTIvNjUgMHgxNTczZDYzM2FjYzU+IDpyZXF1ZXN0LWhhbmRsZXJzICM8aGFz aC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1NjU3NzE1PiA6cmVzcG9uc2UtaGFuZGxlcnMg IzxoYXNoLXRhYmxlIGVxbCAwLzY1IDB4MTU3M2Q2MWU3ZjU1PiA6cHJlZml4LWZ1bmN0aW9u IG5pbCA6dXJpLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2NGJh MGQ1PiA6YWN0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxLzY1IDB4MTU3M2Q2 MzNhY2E1PiA6bWFqb3ItbW9kZXMgKGNzaGFycC1tb2RlIGNzaGFycC10cmVlLXNpdHRlci1t b2RlIGNzaGFycC10cy1tb2RlKSA6YWN0aXZhdGlvbi1mbiBuaWwgOnByaW9yaXR5IC0xIDpz ZXJ2ZXItaWQgb21uaXNoYXJwIDptdWx0aS1yb290IG5pbCA6aW5pdGlhbGl6YXRpb24tb3B0 aW9ucyBuaWwgOnNlbWFudGljLXRva2Vucy1mYWNlcy1vdmVycmlkZXMgbmlsIDpjdXN0b20t Y2FwYWJpbGl0aWVzIG5pbCA6bGlicmFyeS1mb2xkZXJzLWZuIG5pbCA6YmVmb3JlLWZpbGUt b3Blbi1mbiBuaWwgOmluaXRpYWxpemVkLWZuIG5pbCA6cmVtb3RlPyBuaWwgOmNvbXBsZXRp b24taW4tY29tbWVudHM/IG5pbCA6cGF0aC0+dXJpLWZuIG5pbCA6dXJpLT5wYXRoLWZuIG5p bCA6ZW52aXJvbm1lbnQtZm4gbmlsIDphZnRlci1vcGVuLWZuIG5pbCA6YXN5bmMtcmVxdWVz dC1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjFlN2Y3NT4gOmRv d25sb2FkLXNlcnZlci1mbiBsc3AtY3NoYXJwLS1vbW5pc2hhcnAtZG93bmxvYWQtc2VydmVy IDpkb3dubG9hZC1pbi1wcm9ncmVzcz8gbmlsIDpidWZmZXJzIG5pbCA6c3luY2hyb25pemUt c2VjdGlvbnMgbmlsKSA6aG9zdC1yb290IG5pbCA6cHJvYyBuaWwgOmNtZC1wcm9jIG5pbCA6 YnVmZmVycyAoIzxidWZmZXIgdGVzdC5jczx0ZXN0eT4+KSA6c2VtYW50aWMtdG9rZW5zLWZh Y2VzIG5pbCA6c2VtYW50aWMtdG9rZW5zLW1vZGlmaWVyLWZhY2VzIG5pbCA6ZXh0cmEtY2xp ZW50LWNhcGFiaWxpdGllcyBuaWwgOnN0YXR1cyBzdGFydGluZyA6bWV0YWRhdGEgIzxoYXNo LXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YTRjNTM+IDp3YXRjaGVzICM8aGFzaC10YWJs ZSBlcXVhbCAwLzY1IDB4MTU3M2Q2NDIwZDAzPiA6d29ya3NwYWNlLWZvbGRlcnMgbmlsIDps YXN0LWlkIDAgOnN0YXR1cy1zdHJpbmcgbmlsIDpzaHV0ZG93bi1hY3Rpb24gbmlsIDpkaWFn bm9zdGljcyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNTYxMGQ2Mz4gOndvcmst ZG9uZS10b2tlbnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2MTBkODM+KSkp IChfcHJvYyBpbnB1dCkgKHNldHEgY2h1bmsgKGlmIChzLWJsYW5rPyBsZWZ0b3ZlcnMpIGlu cHV0IChjb25jYXQgbGVmdG92ZXJzIGlucHV0KSkpIChsZXQgKG1lc3NhZ2VzKSAod2hpbGUg KG5vdCAocy1ibGFuaz8gY2h1bmspKSAoaWYgKG5vdCBib2R5LWxlbmd0aCkgKGxldCogKC4u LikgKGlmIGJvZHktc2VwLXBvcyAuLi4gLi4uKSkgKGxldCogKC4uLiAuLi4gLi4uIC4uLikg KHNldHEgYm9keSAuLi4pIChzZXRxIGJvZHktcmVjZWl2ZWQgLi4uKSAoaWYgLi4uIC4uLikp KSkgKG1hcGMgIycobGFtYmRhIChtc2cpIChsc3AtLXBhcnNlci1vbi1tZXNzYWdlIG1zZyB3 b3Jrc3BhY2UpKSAobnJldmVyc2UgbWVzc2FnZXMpKSkpICNmKGNvbXBpbGVkLWZ1bmN0aW9u ICgmcmVzdCBhcmdzMikgIzxieXRlY29kZSAtMHhhZGExOGM2YjRjMzEyZjA+KSAib21uaXNo YXJwIiBuaWwgI3MobHNwLS13b3Jrc3BhY2UgOmV3b2MgbmlsIDpzZXJ2ZXItY2FwYWJpbGl0 aWVzIG5pbCA6cmVnaXN0ZXJlZC1zZXJ2ZXItY2FwYWJpbGl0aWVzIG5pbCA6cm9vdCAiL2hv bWUvam9zdGVpbi9idWlsZC90ZXN0eSIgOmNsaWVudCAjcyhsc3AtLWNsaWVudCA6bGFuZ3Vh Z2UtaWQgbmlsIDphZGQtb24/IG5pbCA6bmV3LWNvbm5lY3Rpb24gKDpjb25uZWN0IChjbG9z dXJlICgoY29tbWFuZCBjbG9zdXJlIC4uLiBuaWwgLi4uKSkgKGZpbHRlciBzZW50aW5lbCBu YW1lIGVudmlyb25tZW50LWZuIHdvcmtzcGFjZSkgKGlmIChmdW5jdGlvbnAgLi4uKSAobHNw LWpzb24tcnBjLWNvbm5lY3Rpb24gd29ya3NwYWNlIC4uLikgKGxldCAuLi4gLi4uKSkpIDp0 ZXN0PyAoY2xvc3VyZSAodCkgbmlsIChsZXQqICguLi4pIChpZiBiaW5hcnkgLi4uIG5pbCkp KSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3NhZ2VzIG5pbCA6bm90aWZpY2F0 aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82NSAweDE1NzNkNjMzYWNjNT4g OnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2NTc3 MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXFsIDAvNjUgMHgxNTczZDYx ZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFuZGxlcnMgIzxoYXNoLXRhYmxl IGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24taGFuZGxlcnMgIzxoYXNoLXRh YmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpvci1tb2RlcyAoY3NoYXJwLW1v ZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRzLW1vZGUpIDphY3RpdmF0aW9u LWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5pc2hhcnAgOm11bHRpLXJvb3Qg bmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2VtYW50aWMtdG9rZW5zLWZhY2Vz LW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMgbmlsIDpsaWJyYXJ5LWZvbGRl cnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6aW5pdGlhbGl6ZWQtZm4gbmls IDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50cz8gbmlsIDpwYXRoLT51cmkt Zm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVudC1mbiBuaWwgOmFmdGVyLW9w ZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAw LzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVyLWZuIGxzcC1jc2hhcnAtLW9t bmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWluLXByb2dyZXNzPyBuaWwgOmJ1 ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwpIDpob3N0LXJvb3QgbmlsIDpw cm9jIG5pbCA6Y21kLXByb2MgbmlsIDpidWZmZXJzICgjPGJ1ZmZlciB0ZXN0LmNzPHRlc3R5 Pj4pIDpzZW1hbnRpYy10b2tlbnMtZmFjZXMgbmlsIDpzZW1hbnRpYy10b2tlbnMtbW9kaWZp ZXItZmFjZXMgbmlsIDpleHRyYS1jbGllbnQtY2FwYWJpbGl0aWVzIG5pbCA6c3RhdHVzIHN0 YXJ0aW5nIDptZXRhZGF0YSAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjRhNGM1 Mz4gOndhdGNoZXMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0MjBkMDM+IDp3 b3Jrc3BhY2UtZm9sZGVycyBuaWwgOmxhc3QtaWQgMCA6c3RhdHVzLXN0cmluZyBuaWwgOnNo dXRkb3duLWFjdGlvbiBuaWwgOmRpYWdub3N0aWNzICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1 IDB4MTU3M2Q1NjEwZDYzPiA6d29yay1kb25lLXRva2VucyAjPGhhc2gtdGFibGUgZXF1YWwg MC82NSAweDE1NzNkNTYxMGQ4Mz4pKQ0KICAgKGxldCogKChkZWZhdWx0LWRpcmVjdG9yeSBy b290KSAoY2xpZW50IChjb3B5LWxzcC0tY2xpZW50IGNsaWVudC10ZW1wbGF0ZSkpICh3b3Jr c3BhY2UgKG1ha2UtbHNwLS13b3Jrc3BhY2UgOnJvb3Qgcm9vdCA6Y2xpZW50IGNsaWVudCA6 c3RhdHVzICdzdGFydGluZyA6YnVmZmVycyAobGlzdCAobHNwLWN1cnJlbnQtYnVmZmVyKSkg Omhvc3Qtcm9vdCAoZmlsZS1yZW1vdGUtcCByb290KSkpIChzZXJ2ZXItaWQgKHByb2duIChv ciAocHJvZ24gKGFuZCAobWVtcSAuLi4gY2wtc3RydWN0LWxzcC0tY2xpZW50LXRhZ3MpIHQp KSAoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0ICdsc3AtLWNsaWVudCBjbGll bnQpKSkgKGFyZWYgY2xpZW50IDE1KSkpIChlbnZpcm9ubWVudC1mbiAocHJvZ24gKG9yIChw cm9nbiAoYW5kIChtZW1xIC4uLiBjbC1zdHJ1Y3QtbHNwLS1jbGllbnQtdGFncykgdCkpIChz aWduYWwgJ3dyb25nLXR5cGUtYXJndW1lbnQgKGxpc3QgJ2xzcC0tY2xpZW50IGNsaWVudCkp KSAoYXJlZiBjbGllbnQgMjcpKSkgKG5ldy1jb25uZWN0aW9uIChwcm9nbiAob3IgKHByb2du IChhbmQgKG1lbXEgLi4uIGNsLXN0cnVjdC1sc3AtLWNsaWVudC10YWdzKSB0KSkgKHNpZ25h bCAnd3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAnbHNwLS1jbGllbnQgY2xpZW50KSkpIChh cmVmIGNsaWVudCAzKSkpIChjdXN0b20tY2FwYWJpbGl0aWVzIChwcm9nbiAob3IgKHByb2du IChhbmQgKG1lbXEgLi4uIGNsLXN0cnVjdC1sc3AtLWNsaWVudC10YWdzKSB0KSkgKHNpZ25h bCAnd3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAnbHNwLS1jbGllbnQgY2xpZW50KSkpIChh cmVmIGNsaWVudCAxOSkpKSAobXVsdGktcm9vdCAocHJvZ24gKG9yIChwcm9nbiAoYW5kICht ZW1xIC4uLiBjbC1zdHJ1Y3QtbHNwLS1jbGllbnQtdGFncykgdCkpIChzaWduYWwgJ3dyb25n LXR5cGUtYXJndW1lbnQgKGxpc3QgJ2xzcC0tY2xpZW50IGNsaWVudCkpKSAoYXJlZiBjbGll bnQgMTYpKSkgKGluaXRpYWxpemVkLWZuIChwcm9nbiAob3IgKHByb2duIChhbmQgKG1lbXEg Li4uIGNsLXN0cnVjdC1sc3AtLWNsaWVudC10YWdzKSB0KSkgKHNpZ25hbCAnd3JvbmctdHlw ZS1hcmd1bWVudCAobGlzdCAnbHNwLS1jbGllbnQgY2xpZW50KSkpIChhcmVmIGNsaWVudCAy MikpKSAoLS1kYXNoLXNvdXJjZS00NzEtLSAoZnVuY2FsbCAob3IgKHBsaXN0LWdldCBuZXct Y29ubmVjdGlvbiA6Y29ubmVjdCkgKHVzZXItZXJyb3IgIkNsaWVudCAlcyBpcyBjb25maWd1 cmVkIGluY29ycmVjdGx5IiBjbGllbnQpKSAobHNwLS1jcmVhdGUtZmlsdGVyLWZ1bmN0aW9u IHdvcmtzcGFjZSkgKGFwcGx5LXBhcnRpYWxseSAjJ2xzcC0tcHJvY2Vzcy1zZW50aW5lbCB3 b3Jrc3BhY2UpIChmb3JtYXQgIiVzIiBzZXJ2ZXItaWQpIGVudmlyb25tZW50LWZuIHdvcmtz cGFjZSkpIChwcm9jIChjYXItc2FmZSAocHJvZzEgLS1kYXNoLXNvdXJjZS00NzEtLSAoc2V0 cSAtLWRhc2gtc291cmNlLTQ3MS0tIChjZHIgLS1kYXNoLXNvdXJjZS00NzEtLSkpKSkpIChj bWQtcHJvYyAtLWRhc2gtc291cmNlLTQ3MS0tKSAod29ya3NwYWNlLWZvbGRlcnMgKGdldGhh c2ggc2VydmVyLWlkIChwcm9nbiAob3IgKHByb2duIChhbmQgLi4uIHQpKSAoc2lnbmFsICd3 cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0IC4uLiBzZXNzaW9uKSkpIChhcmVmIHNlc3Npb24g MykpKSkpIChwcm9nbiAocHJvZ24gKG9yIChwcm9nbiAoYW5kIChtZW1xICh0eXBlLW9mIHdv cmtzcGFjZSkgY2wtc3RydWN0LWxzcC0td29ya3NwYWNlLXRhZ3MpIHQpKSAoc2lnbmFsICd3 cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0ICdsc3AtLXdvcmtzcGFjZSB3b3Jrc3BhY2UpKSkg KGxldCogKCh2IHdvcmtzcGFjZSkpIChhc2V0IHYgNyBwcm9jKSkpIChwcm9nbiAob3IgKHBy b2duIChhbmQgKG1lbXEgKHR5cGUtb2Ygd29ya3NwYWNlKSBjbC1zdHJ1Y3QtbHNwLS13b3Jr c3BhY2UtdGFncykgdCkpIChzaWduYWwgJ3dyb25nLXR5cGUtYXJndW1lbnQgKGxpc3QgJ2xz cC0td29ya3NwYWNlIHdvcmtzcGFjZSkpKSAobGV0KiAoKHYgd29ya3NwYWNlKSkgKGFzZXQg diA4IGNtZC1wcm9jKSkpKSAobWFwYyAjJyhsYW1iZGEgKHByb2plY3Qtcm9vdCkgKGxldCog KChhMSB3b3Jrc3BhY2UpICh2IHByb2plY3Qtcm9vdCkgKHYgKHByb2duIC4uLiAuLi4pKSkg KHB1dGhhc2ggdiAobGV0KiAoLi4uKSAoaWYgLi4uIHZsaXN0IC4uLikpIHYpKSkgKG9yIHdv cmtzcGFjZS1mb2xkZXJzIChsaXN0IHJvb3QpKSkgKGxldCAoKGxzcC0tY3VyLXdvcmtzcGFj ZSB3b3Jrc3BhY2UpKSAocnVuLWhvb2tzICdsc3AtYmVmb3JlLWluaXRpYWxpemUtaG9vaykg KGxzcC1yZXF1ZXN0LWFzeW5jICJpbml0aWFsaXplIiAoYXBwZW5kIChsaXN0IDpwcm9jZXNz SWQgKGlmIChmaWxlLXJlbW90ZS1wIChidWZmZXItZmlsZS1uYW1lKSkgbmlsIChlbWFjcy1w aWQpKSA6cm9vdFBhdGggKGxzcC1maWxlLWxvY2FsLW5hbWUgKGV4cGFuZC1maWxlLW5hbWUg cm9vdCkpIDpjbGllbnRJbmZvIChsaXN0IDpuYW1lICJlbWFjcyIgOnZlcnNpb24gKGVtYWNz LXZlcnNpb24pKSA6cm9vdFVyaSAobHNwLS1wYXRoLXRvLXVyaSByb290KSA6Y2FwYWJpbGl0 aWVzIChsc3AtLWNsaWVudC1jYXBhYmlsaXRpZXMgY3VzdG9tLWNhcGFiaWxpdGllcykgOmlu aXRpYWxpemF0aW9uT3B0aW9ucyBpbml0aWFsaXphdGlvbi1vcHRpb25zIDp3b3JrRG9uZVRv a2VuICIxIikgKGlmIGxzcC1zZXJ2ZXItdHJhY2UgKHByb2duIChsaXN0IDp0cmFjZSBsc3At c2VydmVyLXRyYWNlKSkpIChpZiBtdWx0aS1yb290IChwcm9nbiAobGlzdCA6d29ya3NwYWNl Rm9sZGVycyAoYXBwbHkgLi4uIC4uLikpKSkpICMnKGxhbWJkYSAoaW5wdXQwKSAobGV0KiAo KGNhcGFiaWxpdGllcyAuLi4pKSAoaWYgKGVxdWFsIC4uLiBzZXJ2ZXItaWQpIChwcm9nbiAu Li4pKSAocHJvZ24gKHByb2duIC4uLiAuLi4pIChwcm9nbiAuLi4gLi4uKSkgKGxldCAoLi4u KSAobHNwLW5vdGlmeSAiaW5pdGlhbGl6ZWQiIGxzcC0tZW1wdHktaHQpKSAoaWYgaW5pdGlh bGl6ZWQtZm4gKHByb2duIC4uLikpIChwcm9nbiAob3IgLi4uIC4uLikgKGxldCogLi4uIC4u LikpIChtYXBjICMnLi4uIChwcm9nbiAuLi4gLi4uKSkgKGxldCAoLi4uKSAocnVuLWhvb2tz IC4uLikpIChsc3AtLWluZm8gIiVzIGluaXRpYWxpemVkIHN1Y2Nlc3NmdWxseSBpbiBmb2xk ZXJzOiAlcyIgKGxzcC0td29ya3NwYWNlLXByaW50IHdvcmtzcGFjZSkgKGxzcC13b3Jrc3Bh Y2UtZm9sZGVycyB3b3Jrc3BhY2UpKSkpIDptb2RlICdkZXRhY2hlZCkpIHdvcmtzcGFjZSkN CiAgIGxzcC0tc3RhcnQtd29ya3NwYWNlKCNzKGxzcC1zZXNzaW9uIDpmb2xkZXJzICgiL2hv bWUvam9zdGVpbi9idWlsZC90ZXN0eSIgIi9ob21lL2pvc3RlaW4vYnVpbGQvZW1hY3MiICIv aG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsanMtbm9kZS1ib2lsZXJwbGF0ZSIgIi9ob21lL2pv c3RlaW4vYnVpbGQvUmVzb3VyY2VXZWIiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1dlYlRvb2xz LldpbiIgIi9ob21lL2pvc3RlaW4vYnVpbGQvTG9nQW5hbHl0aWNzIiAiL2hvbWUvam9zdGVp bi9idWlsZC9IdWdvQUkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL3RyZWUtc2l0dGVyLW1vZGVz IiAiL2hvbWUvam9zdGVpbi9idWlsZC9jc2hhcnAtbW9kZSIgIi9ob21lL2pvc3RlaW4vYnVp bGQvdHJlZS1zaXR0ZXItYy1zaGFycCIgIi9ob21lL2pvc3RlaW4vYnVpbGQvY292ZXJsZXQi ICIvaG9tZS9qb3N0ZWluL2J1aWxkL0Rvd25sb2FkU2VydmljZSIgIi9ob21lL2pvc3RlaW4v YnVpbGQvTWFjTGluayIgIi9ob21lL2pvc3RlaW4vYnVpbGQvd29ya3NwYWNlciIgIi9ob21l L2pvc3RlaW4vYnVpbGQvdHlwZXNjcmlwdC5lbCIgIi9ob21lL2pvc3RlaW4vYnVpbGQvRmVh dHVyZVRvZ2dsZXMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0FjY2Vzc0dhdGV3YXkiICIvaG9t ZS9qb3N0ZWluL2J1aWxkL1RGUy1DUk0iICIvaG9tZS9qb3N0ZWluL2J1aWxkL1plcm9Gb290 cHJpbnREb2N1bWVudHMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsLmpzIiAiL2hvbWUv am9zdGVpbi9idWlsZC9HbWFpbExpbmsiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1NPRk8iICIv aG9tZS9qb3N0ZWluL2J1aWxkL1ZpZGVvTWVldGluZ3MiICIvaG9tZS9qb3N0ZWluL2J1aWxk L2F1ZGlvcGhpbGUiICIvaG9tZS9qb3N0ZWluL2J1aWxkL091dGxvb2tBZGRJbiIgIi9ob21l L2pvc3RlaW4vYnVpbGQvVEZTLVNldmVuIiAiL2hvbWUvam9zdGVpbi9idWlsZC9hb2MyMDE5 IiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMtQnVpbGRUb29scyIgIi9ob21lL2pvc3RlaW4v YnVpbGQvYnJvdXRlciIpIDpmb2xkZXJzLWJsYWNrbGlzdCAoIi9ob21lL2pvc3RlaW4vRG93 bmxvYWRzLyIpIDpzZXJ2ZXItaWQtPmZvbGRlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDIvNjUg MHgxNTczZDVkODIyNmI+IDpmb2xkZXItPnNlcnZlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAv NjUgMHgxNTczZDVkODI5ZWY+IDptZXRhZGF0YSAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAw eDE1NzNkNWQ4NGE4MT4pICNzKGxzcC0tY2xpZW50IDpsYW5ndWFnZS1pZCBuaWwgOmFkZC1v bj8gbmlsIDpuZXctY29ubmVjdGlvbiAoOmNvbm5lY3QgKGNsb3N1cmUgKChjb21tYW5kIGNs b3N1cmUgKHQpIG5pbCAoYXBwZW5kIChsaXN0IC4uLiAiLWxzcCIpIChpZiBsc3AtY3NoYXJw LXNvbHV0aW9uLWZpbGUgLi4uKSkpKSAoZmlsdGVyIHNlbnRpbmVsIG5hbWUgZW52aXJvbm1l bnQtZm4gd29ya3NwYWNlKSAoaWYgKGZ1bmN0aW9ucCAnanNvbi1ycGMtY29ubmVjdGlvbikg KGxzcC1qc29uLXJwYy1jb25uZWN0aW9uIHdvcmtzcGFjZSAobHNwLXJlc29sdmUtZmluYWwt ZnVuY3Rpb24gY29tbWFuZCkpIChsZXQgKChmaW5hbC1jb21tYW5kIC4uLikgKHByb2Nlc3Mt bmFtZSAuLi4pIChwcm9jZXNzLWVudmlyb25tZW50IC4uLikpIChsZXQqICguLi4gLi4uIC4u LikgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyBwcm9jIG5pbCkgKHNldC1wcm9j ZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyAuLi4gbmlsKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAu Li4gLi4uKSAoY29ucyBwcm9jIHByb2MpKSkpKSA6dGVzdD8gKGNsb3N1cmUgKHQpIG5pbCAo bGV0KiAoKGJpbmFyeSAoYW5kIHQgLi4uKSkpIChpZiBiaW5hcnkgKGYtZXhpc3RzPyBiaW5h cnkpIG5pbCkpKSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3NhZ2VzIG5pbCA6 bm90aWZpY2F0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82NSAweDE1NzNk NjMzYWNjNT4gOnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgx NTczZDU2NTc3MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXFsIDAvNjUg MHgxNTczZDYxZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFuZGxlcnMgIzxo YXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24taGFuZGxlcnMg IzxoYXNoLXRhYmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpvci1tb2RlcyAo Y3NoYXJwLW1vZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRzLW1vZGUpIDph Y3RpdmF0aW9uLWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5pc2hhcnAgOm11 bHRpLXJvb3QgbmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2VtYW50aWMtdG9r ZW5zLWZhY2VzLW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMgbmlsIDpsaWJy YXJ5LWZvbGRlcnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6aW5pdGlhbGl6 ZWQtZm4gbmlsIDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50cz8gbmlsIDpw YXRoLT51cmktZm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVudC1mbiBuaWwg OmFmdGVyLW9wZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8aGFzaC10YWJs ZSBlcXVhbCAwLzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVyLWZuIGxzcC1j c2hhcnAtLW9tbmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWluLXByb2dyZXNz PyBuaWwgOmJ1ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwpICIvaG9tZS9q b3N0ZWluL2J1aWxkL3Rlc3R5IiBuaWwpDQogICAodW53aW5kLXByb3RlY3QgIChsc3AtLXN0 YXJ0LXdvcmtzcGFjZSBzZXNzaW9uIGNsaWVudCBwcm9qZWN0LXJvb3QgKGxzcC0tY3JlYXRl LWluaXRpYWxpemF0aW9uLW9wdGlvbnMgc2Vzc2lvbiBjbGllbnQpKSAobHNwLS1zcGlubmVy LXN0b3ApKQ0KICAgbHNwLS1zdGFydC1jb25uZWN0aW9uKCNzKGxzcC1zZXNzaW9uIDpmb2xk ZXJzICgiL2hvbWUvam9zdGVpbi9idWlsZC90ZXN0eSIgIi9ob21lL2pvc3RlaW4vYnVpbGQv ZW1hY3MiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsanMtbm9kZS1ib2lsZXJwbGF0ZSIg Ii9ob21lL2pvc3RlaW4vYnVpbGQvUmVzb3VyY2VXZWIiICIvaG9tZS9qb3N0ZWluL2J1aWxk L1dlYlRvb2xzLldpbiIgIi9ob21lL2pvc3RlaW4vYnVpbGQvTG9nQW5hbHl0aWNzIiAiL2hv bWUvam9zdGVpbi9idWlsZC9IdWdvQUkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL3RyZWUtc2l0 dGVyLW1vZGVzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9jc2hhcnAtbW9kZSIgIi9ob21lL2pv c3RlaW4vYnVpbGQvdHJlZS1zaXR0ZXItYy1zaGFycCIgIi9ob21lL2pvc3RlaW4vYnVpbGQv Y292ZXJsZXQiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0Rvd25sb2FkU2VydmljZSIgIi9ob21l L2pvc3RlaW4vYnVpbGQvTWFjTGluayIgIi9ob21lL2pvc3RlaW4vYnVpbGQvd29ya3NwYWNl ciIgIi9ob21lL2pvc3RlaW4vYnVpbGQvdHlwZXNjcmlwdC5lbCIgIi9ob21lL2pvc3RlaW4v YnVpbGQvRmVhdHVyZVRvZ2dsZXMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0FjY2Vzc0dhdGV3 YXkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1RGUy1DUk0iICIvaG9tZS9qb3N0ZWluL2J1aWxk L1plcm9Gb290cHJpbnREb2N1bWVudHMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsLmpz IiAiL2hvbWUvam9zdGVpbi9idWlsZC9HbWFpbExpbmsiICIvaG9tZS9qb3N0ZWluL2J1aWxk L1NPRk8iICIvaG9tZS9qb3N0ZWluL2J1aWxkL1ZpZGVvTWVldGluZ3MiICIvaG9tZS9qb3N0 ZWluL2J1aWxkL2F1ZGlvcGhpbGUiICIvaG9tZS9qb3N0ZWluL2J1aWxkL091dGxvb2tBZGRJ biIgIi9ob21lL2pvc3RlaW4vYnVpbGQvVEZTLVNldmVuIiAiL2hvbWUvam9zdGVpbi9idWls ZC9hb2MyMDE5IiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMtQnVpbGRUb29scyIgIi9ob21l L2pvc3RlaW4vYnVpbGQvYnJvdXRlciIpIDpmb2xkZXJzLWJsYWNrbGlzdCAoIi9ob21lL2pv c3RlaW4vRG93bmxvYWRzLyIpIDpzZXJ2ZXItaWQtPmZvbGRlcnMgIzxoYXNoLXRhYmxlIGVx dWFsIDIvNjUgMHgxNTczZDVkODIyNmI+IDpmb2xkZXItPnNlcnZlcnMgIzxoYXNoLXRhYmxl IGVxdWFsIDAvNjUgMHgxNTczZDVkODI5ZWY+IDptZXRhZGF0YSAjPGhhc2gtdGFibGUgZXF1 YWwgMC82NSAweDE1NzNkNWQ4NGE4MT4pICNzKGxzcC0tY2xpZW50IDpsYW5ndWFnZS1pZCBu aWwgOmFkZC1vbj8gbmlsIDpuZXctY29ubmVjdGlvbiAoOmNvbm5lY3QgKGNsb3N1cmUgKChj b21tYW5kIGNsb3N1cmUgKHQpIG5pbCAoYXBwZW5kIChsaXN0IC4uLiAiLWxzcCIpIChpZiBs c3AtY3NoYXJwLXNvbHV0aW9uLWZpbGUgLi4uKSkpKSAoZmlsdGVyIHNlbnRpbmVsIG5hbWUg ZW52aXJvbm1lbnQtZm4gd29ya3NwYWNlKSAoaWYgKGZ1bmN0aW9ucCAnanNvbi1ycGMtY29u bmVjdGlvbikgKGxzcC1qc29uLXJwYy1jb25uZWN0aW9uIHdvcmtzcGFjZSAobHNwLXJlc29s dmUtZmluYWwtZnVuY3Rpb24gY29tbWFuZCkpIChsZXQgKChmaW5hbC1jb21tYW5kIC4uLikg KHByb2Nlc3MtbmFtZSAuLi4pIChwcm9jZXNzLWVudmlyb25tZW50IC4uLikpIChsZXQqICgu Li4gLi4uIC4uLikgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyBwcm9jIG5pbCkg KHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyAuLi4gbmlsKSAoc2F2ZS1jdXJyZW50 LWJ1ZmZlciAuLi4gLi4uKSAoY29ucyBwcm9jIHByb2MpKSkpKSA6dGVzdD8gKGNsb3N1cmUg KHQpIG5pbCAobGV0KiAoKGJpbmFyeSAoYW5kIHQgLi4uKSkpIChpZiBiaW5hcnkgKGYtZXhp c3RzPyBiaW5hcnkpIG5pbCkpKSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3Nh Z2VzIG5pbCA6bm90aWZpY2F0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82 NSAweDE1NzNkNjMzYWNjNT4gOnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFs IDAvNjUgMHgxNTczZDU2NTc3MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUg ZXFsIDAvNjUgMHgxNTczZDYxZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFu ZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24t aGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpv ci1tb2RlcyAoY3NoYXJwLW1vZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRz LW1vZGUpIDphY3RpdmF0aW9uLWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5p c2hhcnAgOm11bHRpLXJvb3QgbmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2Vt YW50aWMtdG9rZW5zLWZhY2VzLW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMg bmlsIDpsaWJyYXJ5LWZvbGRlcnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6 aW5pdGlhbGl6ZWQtZm4gbmlsIDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50 cz8gbmlsIDpwYXRoLT51cmktZm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVu dC1mbiBuaWwgOmFmdGVyLW9wZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8 aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVy LWZuIGxzcC1jc2hhcnAtLW9tbmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWlu LXByb2dyZXNzPyBuaWwgOmJ1ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwp ICIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IikNCiAgIChvciAgKGxzcC0tZmluZC13b3Jr c3BhY2Ugc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290KSAoaWYgIGlnbm9yZS1tdWx0aS1m b2xkZXJuaWwgIChsc3AtLWZpbmQtbXVsdGlyb290LXdvcmtzcGFjZSBzZXNzaW9uIGNsaWVu dCBwcm9qZWN0LXJvb3QpKSAobHNwLS1zdGFydC1jb25uZWN0aW9uIHNlc3Npb24gY2xpZW50 IHByb2plY3Qtcm9vdCkpDQogICAoY2xvc3VyZSAoKGlnbm9yZS1tdWx0aS1mb2xkZXIpIChw cm9qZWN0LXJvb3QgLiAiL2hvbWUvam9zdGVpbi9idWlsZC90ZXN0eSIpIChzZXNzaW9uIC4g I3MobHNwLXNlc3Npb24gOmZvbGRlcnMgKCIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IiAi L2hvbWUvam9zdGVpbi9idWlsZC9lbWFjcyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvZ21haWxq cy1ub2RlLWJvaWxlcnBsYXRlIiAiL2hvbWUvam9zdGVpbi9idWlsZC9SZXNvdXJjZVdlYiIg Ii9ob21lL2pvc3RlaW4vYnVpbGQvV2ViVG9vbHMuV2luIiAiL2hvbWUvam9zdGVpbi9idWls ZC9Mb2dBbmFseXRpY3MiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0h1Z29BSSIgIi9ob21lL2pv c3RlaW4vYnVpbGQvdHJlZS1zaXR0ZXItbW9kZXMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2Nz aGFycC1tb2RlIiAiL2hvbWUvam9zdGVpbi9idWlsZC90cmVlLXNpdHRlci1jLXNoYXJwIiAi L2hvbWUvam9zdGVpbi9idWlsZC9jb3ZlcmxldCIgIi9ob21lL2pvc3RlaW4vYnVpbGQvRG93 bmxvYWRTZXJ2aWNlIiAiL2hvbWUvam9zdGVpbi9idWlsZC9NYWNMaW5rIiAiL2hvbWUvam9z dGVpbi9idWlsZC93b3Jrc3BhY2VyIiAiL2hvbWUvam9zdGVpbi9idWlsZC90eXBlc2NyaXB0 LmVsIiAiL2hvbWUvam9zdGVpbi9idWlsZC9GZWF0dXJlVG9nZ2xlcyIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvQWNjZXNzR2F0ZXdheSIgIi9ob21lL2pvc3RlaW4vYnVpbGQvVEZTLUNSTSIg Ii9ob21lL2pvc3RlaW4vYnVpbGQvWmVyb0Zvb3RwcmludERvY3VtZW50cyIgIi9ob21lL2pv c3RlaW4vYnVpbGQvZ21haWwuanMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0dtYWlsTGluayIg Ii9ob21lL2pvc3RlaW4vYnVpbGQvU09GTyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvVmlkZW9N ZWV0aW5ncyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvYXVkaW9waGlsZSIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvT3V0bG9va0FkZEluIiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMtU2V2ZW4i ICIvaG9tZS9qb3N0ZWluL2J1aWxkL2FvYzIwMTkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1RG Uy1CdWlsZFRvb2xzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9icm91dGVyIikgOmZvbGRlcnMt YmxhY2tsaXN0ICgiL2hvbWUvam9zdGVpbi9Eb3dubG9hZHMvIikgOnNlcnZlci1pZC0+Zm9s ZGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMi82NSAweDE1NzNkNWQ4MjI2Yj4gOmZvbGRlci0+ c2VydmVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNWQ4MjllZj4gOm1ldGFk YXRhICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1ZDg0YTgxPikpKSAoY2xpZW50 KSAob3IgKGxzcC0tZmluZC13b3Jrc3BhY2Ugc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290 KSAoaWYgaWdub3JlLW11bHRpLWZvbGRlciBuaWwgKGxzcC0tZmluZC1tdWx0aXJvb3Qtd29y a3NwYWNlIHNlc3Npb24gY2xpZW50IHByb2plY3Qtcm9vdCkpIChsc3AtLXN0YXJ0LWNvbm5l Y3Rpb24gc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290KSkpKCNzKGxzcC0tY2xpZW50IDps YW5ndWFnZS1pZCBuaWwgOmFkZC1vbj8gbmlsIDpuZXctY29ubmVjdGlvbiAoOmNvbm5lY3Qg KGNsb3N1cmUgKChjb21tYW5kIGNsb3N1cmUgKHQpIG5pbCAoYXBwZW5kIChsaXN0IC4uLiAi LWxzcCIpIChpZiBsc3AtY3NoYXJwLXNvbHV0aW9uLWZpbGUgLi4uKSkpKSAoZmlsdGVyIHNl bnRpbmVsIG5hbWUgZW52aXJvbm1lbnQtZm4gd29ya3NwYWNlKSAoaWYgKGZ1bmN0aW9ucCAn anNvbi1ycGMtY29ubmVjdGlvbikgKGxzcC1qc29uLXJwYy1jb25uZWN0aW9uIHdvcmtzcGFj ZSAobHNwLXJlc29sdmUtZmluYWwtZnVuY3Rpb24gY29tbWFuZCkpIChsZXQgKChmaW5hbC1j b21tYW5kIC4uLikgKHByb2Nlc3MtbmFtZSAuLi4pIChwcm9jZXNzLWVudmlyb25tZW50IC4u LikpIChsZXQqICguLi4gLi4uIC4uLikgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxh ZyBwcm9jIG5pbCkgKHNldC1wcm9jZXNzLXF1ZXJ5LW9uLWV4aXQtZmxhZyAuLi4gbmlsKSAo c2F2ZS1jdXJyZW50LWJ1ZmZlciAuLi4gLi4uKSAoY29ucyBwcm9jIHByb2MpKSkpKSA6dGVz dD8gKGNsb3N1cmUgKHQpIG5pbCAobGV0KiAoKGJpbmFyeSAoYW5kIHQgLi4uKSkpIChpZiBi aW5hcnkgKGYtZXhpc3RzPyBiaW5hcnkpIG5pbCkpKSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6 aWdub3JlLW1lc3NhZ2VzIG5pbCA6bm90aWZpY2F0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJs ZSBlcXVhbCAxMi82NSAweDE1NzNkNjMzYWNjNT4gOnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNo LXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2NTc3MTU+IDpyZXNwb25zZS1oYW5kbGVycyAj PGhhc2gtdGFibGUgZXFsIDAvNjUgMHgxNTczZDYxZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24g bmlsIDp1cmktaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YmEw ZDU+IDphY3Rpb24taGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDEvNjUgMHgxNTczZDYz M2FjYTU+IDptYWpvci1tb2RlcyAoY3NoYXJwLW1vZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1v ZGUgY3NoYXJwLXRzLW1vZGUpIDphY3RpdmF0aW9uLWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNl cnZlci1pZCBvbW5pc2hhcnAgOm11bHRpLXJvb3QgbmlsIDppbml0aWFsaXphdGlvbi1vcHRp b25zIG5pbCA6c2VtYW50aWMtdG9rZW5zLWZhY2VzLW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1j YXBhYmlsaXRpZXMgbmlsIDpsaWJyYXJ5LWZvbGRlcnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1v cGVuLWZuIG5pbCA6aW5pdGlhbGl6ZWQtZm4gbmlsIDpyZW1vdGU/IG5pbCA6Y29tcGxldGlv bi1pbi1jb21tZW50cz8gbmlsIDpwYXRoLT51cmktZm4gbmlsIDp1cmktPnBhdGgtZm4gbmls IDplbnZpcm9ubWVudC1mbiBuaWwgOmFmdGVyLW9wZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0 LWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93 bmxvYWQtc2VydmVyLWZuIGxzcC1jc2hhcnAtLW9tbmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIg OmRvd25sb2FkLWluLXByb2dyZXNzPyBuaWwgOmJ1ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1z ZWN0aW9ucyBuaWwpKQ0KICAgbWFwY2FyKChjbG9zdXJlICgoaWdub3JlLW11bHRpLWZvbGRl cikgKHByb2plY3Qtcm9vdCAuICIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IikgKHNlc3Np b24gLiAjcyhsc3Atc2Vzc2lvbiA6Zm9sZGVycyAoIi9ob21lL2pvc3RlaW4vYnVpbGQvdGVz dHkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2VtYWNzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9n bWFpbGpzLW5vZGUtYm9pbGVycGxhdGUiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1Jlc291cmNl V2ViIiAiL2hvbWUvam9zdGVpbi9idWlsZC9XZWJUb29scy5XaW4iICIvaG9tZS9qb3N0ZWlu L2J1aWxkL0xvZ0FuYWx5dGljcyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvSHVnb0FJIiAiL2hv bWUvam9zdGVpbi9idWlsZC90cmVlLXNpdHRlci1tb2RlcyIgIi9ob21lL2pvc3RlaW4vYnVp bGQvY3NoYXJwLW1vZGUiICIvaG9tZS9qb3N0ZWluL2J1aWxkL3RyZWUtc2l0dGVyLWMtc2hh cnAiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2NvdmVybGV0IiAiL2hvbWUvam9zdGVpbi9idWls ZC9Eb3dubG9hZFNlcnZpY2UiICIvaG9tZS9qb3N0ZWluL2J1aWxkL01hY0xpbmsiICIvaG9t ZS9qb3N0ZWluL2J1aWxkL3dvcmtzcGFjZXIiICIvaG9tZS9qb3N0ZWluL2J1aWxkL3R5cGVz Y3JpcHQuZWwiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0ZlYXR1cmVUb2dnbGVzIiAiL2hvbWUv am9zdGVpbi9idWlsZC9BY2Nlc3NHYXRld2F5IiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMt Q1JNIiAiL2hvbWUvam9zdGVpbi9idWlsZC9aZXJvRm9vdHByaW50RG9jdW1lbnRzIiAiL2hv bWUvam9zdGVpbi9idWlsZC9nbWFpbC5qcyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvR21haWxM aW5rIiAiL2hvbWUvam9zdGVpbi9idWlsZC9TT0ZPIiAiL2hvbWUvam9zdGVpbi9idWlsZC9W aWRlb01lZXRpbmdzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9hdWRpb3BoaWxlIiAiL2hvbWUv am9zdGVpbi9idWlsZC9PdXRsb29rQWRkSW4iICIvaG9tZS9qb3N0ZWluL2J1aWxkL1RGUy1T ZXZlbiIgIi9ob21lL2pvc3RlaW4vYnVpbGQvYW9jMjAxOSIgIi9ob21lL2pvc3RlaW4vYnVp bGQvVEZTLUJ1aWxkVG9vbHMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2Jyb3V0ZXIiKSA6Zm9s ZGVycy1ibGFja2xpc3QgKCIvaG9tZS9qb3N0ZWluL0Rvd25sb2Fkcy8iKSA6c2VydmVyLWlk LT5mb2xkZXJzICM8aGFzaC10YWJsZSBlcXVhbCAyLzY1IDB4MTU3M2Q1ZDgyMjZiPiA6Zm9s ZGVyLT5zZXJ2ZXJzICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1ZDgyOWVmPiA6 bWV0YWRhdGEgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDVkODRhODE+KSkpIChj bGllbnQpIChvciAobHNwLS1maW5kLXdvcmtzcGFjZSBzZXNzaW9uIGNsaWVudCBwcm9qZWN0 LXJvb3QpIChpZiBpZ25vcmUtbXVsdGktZm9sZGVyIG5pbCAobHNwLS1maW5kLW11bHRpcm9v dC13b3Jrc3BhY2Ugc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290KSkgKGxzcC0tc3RhcnQt Y29ubmVjdGlvbiBzZXNzaW9uIGNsaWVudCBwcm9qZWN0LXJvb3QpKSkgKCNzKGxzcC0tY2xp ZW50IDpsYW5ndWFnZS1pZCBuaWwgOmFkZC1vbj8gbmlsIDpuZXctY29ubmVjdGlvbiAoOmNv bm5lY3QgKGNsb3N1cmUgKChjb21tYW5kIGNsb3N1cmUgKHQpIG5pbCAoYXBwZW5kIC4uLiAu Li4pKSkgKGZpbHRlciBzZW50aW5lbCBuYW1lIGVudmlyb25tZW50LWZuIHdvcmtzcGFjZSkg KGlmIChmdW5jdGlvbnAgJ2pzb24tcnBjLWNvbm5lY3Rpb24pIChsc3AtanNvbi1ycGMtY29u bmVjdGlvbiB3b3Jrc3BhY2UgKGxzcC1yZXNvbHZlLWZpbmFsLWZ1bmN0aW9uIGNvbW1hbmQp KSAobGV0ICguLi4gLi4uIC4uLikgKGxldCogLi4uIC4uLiAuLi4gLi4uIC4uLikpKSkgOnRl c3Q/IChjbG9zdXJlICh0KSBuaWwgKGxldCogKChiaW5hcnkgLi4uKSkgKGlmIGJpbmFyeSAo Zi1leGlzdHM/IGJpbmFyeSkgbmlsKSkpKSA6aWdub3JlLXJlZ2V4cHMgbmlsIDppZ25vcmUt bWVzc2FnZXMgbmlsIDpub3RpZmljYXRpb24taGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFs IDEyLzY1IDB4MTU3M2Q2MzNhY2M1PiA6cmVxdWVzdC1oYW5kbGVycyAjPGhhc2gtdGFibGUg ZXF1YWwgMC82NSAweDE1NzNkNTY1NzcxNT4gOnJlc3BvbnNlLWhhbmRsZXJzICM8aGFzaC10 YWJsZSBlcWwgMC82NSAweDE1NzNkNjFlN2Y1NT4gOnByZWZpeC1mdW5jdGlvbiBuaWwgOnVy aS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNjRiYTBkNT4gOmFj dGlvbi1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXF1YWwgMS82NSAweDE1NzNkNjMzYWNhNT4g Om1ham9yLW1vZGVzIChjc2hhcnAtbW9kZSBjc2hhcnAtdHJlZS1zaXR0ZXItbW9kZSBjc2hh cnAtdHMtbW9kZSkgOmFjdGl2YXRpb24tZm4gbmlsIDpwcmlvcml0eSAtMSA6c2VydmVyLWlk IG9tbmlzaGFycCA6bXVsdGktcm9vdCBuaWwgOmluaXRpYWxpemF0aW9uLW9wdGlvbnMgbmls IDpzZW1hbnRpYy10b2tlbnMtZmFjZXMtb3ZlcnJpZGVzIG5pbCA6Y3VzdG9tLWNhcGFiaWxp dGllcyBuaWwgOmxpYnJhcnktZm9sZGVycy1mbiBuaWwgOmJlZm9yZS1maWxlLW9wZW4tZm4g bmlsIDppbml0aWFsaXplZC1mbiBuaWwgOnJlbW90ZT8gbmlsIDpjb21wbGV0aW9uLWluLWNv bW1lbnRzPyBuaWwgOnBhdGgtPnVyaS1mbiBuaWwgOnVyaS0+cGF0aC1mbiBuaWwgOmVudmly b25tZW50LWZuIG5pbCA6YWZ0ZXItb3Blbi1mbiBuaWwgOmFzeW5jLXJlcXVlc3QtaGFuZGxl cnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDYxZTdmNzU+IDpkb3dubG9hZC1z ZXJ2ZXItZm4gbHNwLWNzaGFycC0tb21uaXNoYXJwLWRvd25sb2FkLXNlcnZlciA6ZG93bmxv YWQtaW4tcHJvZ3Jlc3M/IG5pbCA6YnVmZmVycyBuaWwgOnN5bmNocm9uaXplLXNlY3Rpb25z IG5pbCkpKQ0KICAgLW1hcCgoY2xvc3VyZSAoKGlnbm9yZS1tdWx0aS1mb2xkZXIpIChwcm9q ZWN0LXJvb3QgLiAiL2hvbWUvam9zdGVpbi9idWlsZC90ZXN0eSIpIChzZXNzaW9uIC4gI3Mo bHNwLXNlc3Npb24gOmZvbGRlcnMgKCIvaG9tZS9qb3N0ZWluL2J1aWxkL3Rlc3R5IiAiL2hv bWUvam9zdGVpbi9idWlsZC9lbWFjcyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvZ21haWxqcy1u b2RlLWJvaWxlcnBsYXRlIiAiL2hvbWUvam9zdGVpbi9idWlsZC9SZXNvdXJjZVdlYiIgIi9o b21lL2pvc3RlaW4vYnVpbGQvV2ViVG9vbHMuV2luIiAiL2hvbWUvam9zdGVpbi9idWlsZC9M b2dBbmFseXRpY3MiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0h1Z29BSSIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvdHJlZS1zaXR0ZXItbW9kZXMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2NzaGFy cC1tb2RlIiAiL2hvbWUvam9zdGVpbi9idWlsZC90cmVlLXNpdHRlci1jLXNoYXJwIiAiL2hv bWUvam9zdGVpbi9idWlsZC9jb3ZlcmxldCIgIi9ob21lL2pvc3RlaW4vYnVpbGQvRG93bmxv YWRTZXJ2aWNlIiAiL2hvbWUvam9zdGVpbi9idWlsZC9NYWNMaW5rIiAiL2hvbWUvam9zdGVp bi9idWlsZC93b3Jrc3BhY2VyIiAiL2hvbWUvam9zdGVpbi9idWlsZC90eXBlc2NyaXB0LmVs IiAiL2hvbWUvam9zdGVpbi9idWlsZC9GZWF0dXJlVG9nZ2xlcyIgIi9ob21lL2pvc3RlaW4v YnVpbGQvQWNjZXNzR2F0ZXdheSIgIi9ob21lL2pvc3RlaW4vYnVpbGQvVEZTLUNSTSIgIi9o b21lL2pvc3RlaW4vYnVpbGQvWmVyb0Zvb3RwcmludERvY3VtZW50cyIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvZ21haWwuanMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0dtYWlsTGluayIgIi9o b21lL2pvc3RlaW4vYnVpbGQvU09GTyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvVmlkZW9NZWV0 aW5ncyIgIi9ob21lL2pvc3RlaW4vYnVpbGQvYXVkaW9waGlsZSIgIi9ob21lL2pvc3RlaW4v YnVpbGQvT3V0bG9va0FkZEluIiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMtU2V2ZW4iICIv aG9tZS9qb3N0ZWluL2J1aWxkL2FvYzIwMTkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1RGUy1C dWlsZFRvb2xzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9icm91dGVyIikgOmZvbGRlcnMtYmxh Y2tsaXN0ICgiL2hvbWUvam9zdGVpbi9Eb3dubG9hZHMvIikgOnNlcnZlci1pZC0+Zm9sZGVy cyAjPGhhc2gtdGFibGUgZXF1YWwgMi82NSAweDE1NzNkNWQ4MjI2Yj4gOmZvbGRlci0+c2Vy dmVycyAjPGhhc2gtdGFibGUgZXF1YWwgMC82NSAweDE1NzNkNWQ4MjllZj4gOm1ldGFkYXRh ICM8aGFzaC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q1ZDg0YTgxPikpKSAoY2xpZW50KSAo b3IgKGxzcC0tZmluZC13b3Jrc3BhY2Ugc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290KSAo aWYgaWdub3JlLW11bHRpLWZvbGRlciBuaWwgKGxzcC0tZmluZC1tdWx0aXJvb3Qtd29ya3Nw YWNlIHNlc3Npb24gY2xpZW50IHByb2plY3Qtcm9vdCkpIChsc3AtLXN0YXJ0LWNvbm5lY3Rp b24gc2Vzc2lvbiBjbGllbnQgcHJvamVjdC1yb290KSkpICgjcyhsc3AtLWNsaWVudCA6bGFu Z3VhZ2UtaWQgbmlsIDphZGQtb24/IG5pbCA6bmV3LWNvbm5lY3Rpb24gKDpjb25uZWN0IChj bG9zdXJlICgoY29tbWFuZCBjbG9zdXJlICh0KSBuaWwgKGFwcGVuZCAuLi4gLi4uKSkpIChm aWx0ZXIgc2VudGluZWwgbmFtZSBlbnZpcm9ubWVudC1mbiB3b3Jrc3BhY2UpIChpZiAoZnVu Y3Rpb25wICdqc29uLXJwYy1jb25uZWN0aW9uKSAobHNwLWpzb24tcnBjLWNvbm5lY3Rpb24g d29ya3NwYWNlIChsc3AtcmVzb2x2ZS1maW5hbC1mdW5jdGlvbiBjb21tYW5kKSkgKGxldCAo Li4uIC4uLiAuLi4pIChsZXQqIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSkpIDp0ZXN0PyAoY2xv c3VyZSAodCkgbmlsIChsZXQqICgoYmluYXJ5IC4uLikpIChpZiBiaW5hcnkgKGYtZXhpc3Rz PyBiaW5hcnkpIG5pbCkpKSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3NhZ2Vz IG5pbCA6bm90aWZpY2F0aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82NSAw eDE1NzNkNjMzYWNjNT4gOnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAv NjUgMHgxNTczZDU2NTc3MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXFs IDAvNjUgMHgxNTczZDYxZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFuZGxl cnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24taGFu ZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpvci1t b2RlcyAoY3NoYXJwLW1vZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRzLW1v ZGUpIDphY3RpdmF0aW9uLWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5pc2hh cnAgOm11bHRpLXJvb3QgbmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2VtYW50 aWMtdG9rZW5zLWZhY2VzLW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMgbmls IDpsaWJyYXJ5LWZvbGRlcnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6aW5p dGlhbGl6ZWQtZm4gbmlsIDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50cz8g bmlsIDpwYXRoLT51cmktZm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVudC1m biBuaWwgOmFmdGVyLW9wZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8aGFz aC10YWJsZSBlcXVhbCAwLzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVyLWZu IGxzcC1jc2hhcnAtLW9tbmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWluLXBy b2dyZXNzPyBuaWwgOmJ1ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwpKSkN CiAgIGxzcC0tZW5zdXJlLWxzcC1zZXJ2ZXJzKCNzKGxzcC1zZXNzaW9uIDpmb2xkZXJzICgi L2hvbWUvam9zdGVpbi9idWlsZC90ZXN0eSIgIi9ob21lL2pvc3RlaW4vYnVpbGQvZW1hY3Mi ICIvaG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsanMtbm9kZS1ib2lsZXJwbGF0ZSIgIi9ob21l L2pvc3RlaW4vYnVpbGQvUmVzb3VyY2VXZWIiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1dlYlRv b2xzLldpbiIgIi9ob21lL2pvc3RlaW4vYnVpbGQvTG9nQW5hbHl0aWNzIiAiL2hvbWUvam9z dGVpbi9idWlsZC9IdWdvQUkiICIvaG9tZS9qb3N0ZWluL2J1aWxkL3RyZWUtc2l0dGVyLW1v ZGVzIiAiL2hvbWUvam9zdGVpbi9idWlsZC9jc2hhcnAtbW9kZSIgIi9ob21lL2pvc3RlaW4v YnVpbGQvdHJlZS1zaXR0ZXItYy1zaGFycCIgIi9ob21lL2pvc3RlaW4vYnVpbGQvY292ZXJs ZXQiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0Rvd25sb2FkU2VydmljZSIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvTWFjTGluayIgIi9ob21lL2pvc3RlaW4vYnVpbGQvd29ya3NwYWNlciIgIi9o b21lL2pvc3RlaW4vYnVpbGQvdHlwZXNjcmlwdC5lbCIgIi9ob21lL2pvc3RlaW4vYnVpbGQv RmVhdHVyZVRvZ2dsZXMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL0FjY2Vzc0dhdGV3YXkiICIv aG9tZS9qb3N0ZWluL2J1aWxkL1RGUy1DUk0iICIvaG9tZS9qb3N0ZWluL2J1aWxkL1plcm9G b290cHJpbnREb2N1bWVudHMiICIvaG9tZS9qb3N0ZWluL2J1aWxkL2dtYWlsLmpzIiAiL2hv bWUvam9zdGVpbi9idWlsZC9HbWFpbExpbmsiICIvaG9tZS9qb3N0ZWluL2J1aWxkL1NPRk8i ICIvaG9tZS9qb3N0ZWluL2J1aWxkL1ZpZGVvTWVldGluZ3MiICIvaG9tZS9qb3N0ZWluL2J1 aWxkL2F1ZGlvcGhpbGUiICIvaG9tZS9qb3N0ZWluL2J1aWxkL091dGxvb2tBZGRJbiIgIi9o b21lL2pvc3RlaW4vYnVpbGQvVEZTLVNldmVuIiAiL2hvbWUvam9zdGVpbi9idWlsZC9hb2My MDE5IiAiL2hvbWUvam9zdGVpbi9idWlsZC9URlMtQnVpbGRUb29scyIgIi9ob21lL2pvc3Rl aW4vYnVpbGQvYnJvdXRlciIpIDpmb2xkZXJzLWJsYWNrbGlzdCAoIi9ob21lL2pvc3RlaW4v RG93bmxvYWRzLyIpIDpzZXJ2ZXItaWQtPmZvbGRlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDIv NjUgMHgxNTczZDVkODIyNmI+IDpmb2xkZXItPnNlcnZlcnMgIzxoYXNoLXRhYmxlIGVxdWFs IDAvNjUgMHgxNTczZDVkODI5ZWY+IDptZXRhZGF0YSAjPGhhc2gtdGFibGUgZXF1YWwgMC82 NSAweDE1NzNkNWQ4NGE4MT4pICgjcyhsc3AtLWNsaWVudCA6bGFuZ3VhZ2UtaWQgbmlsIDph ZGQtb24/IG5pbCA6bmV3LWNvbm5lY3Rpb24gKDpjb25uZWN0IChjbG9zdXJlICgoY29tbWFu ZCBjbG9zdXJlICh0KSBuaWwgKGFwcGVuZCAuLi4gLi4uKSkpIChmaWx0ZXIgc2VudGluZWwg bmFtZSBlbnZpcm9ubWVudC1mbiB3b3Jrc3BhY2UpIChpZiAoZnVuY3Rpb25wICdqc29uLXJw Yy1jb25uZWN0aW9uKSAobHNwLWpzb24tcnBjLWNvbm5lY3Rpb24gd29ya3NwYWNlIChsc3At cmVzb2x2ZS1maW5hbC1mdW5jdGlvbiBjb21tYW5kKSkgKGxldCAoLi4uIC4uLiAuLi4pIChs ZXQqIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSkpIDp0ZXN0PyAoY2xvc3VyZSAodCkgbmlsIChs ZXQqICgoYmluYXJ5IC4uLikpIChpZiBiaW5hcnkgKGYtZXhpc3RzPyBiaW5hcnkpIG5pbCkp KSkgOmlnbm9yZS1yZWdleHBzIG5pbCA6aWdub3JlLW1lc3NhZ2VzIG5pbCA6bm90aWZpY2F0 aW9uLWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAxMi82NSAweDE1NzNkNjMzYWNjNT4g OnJlcXVlc3QtaGFuZGxlcnMgIzxoYXNoLXRhYmxlIGVxdWFsIDAvNjUgMHgxNTczZDU2NTc3 MTU+IDpyZXNwb25zZS1oYW5kbGVycyAjPGhhc2gtdGFibGUgZXFsIDAvNjUgMHgxNTczZDYx ZTdmNTU+IDpwcmVmaXgtZnVuY3Rpb24gbmlsIDp1cmktaGFuZGxlcnMgIzxoYXNoLXRhYmxl IGVxdWFsIDAvNjUgMHgxNTczZDY0YmEwZDU+IDphY3Rpb24taGFuZGxlcnMgIzxoYXNoLXRh YmxlIGVxdWFsIDEvNjUgMHgxNTczZDYzM2FjYTU+IDptYWpvci1tb2RlcyAoY3NoYXJwLW1v ZGUgY3NoYXJwLXRyZWUtc2l0dGVyLW1vZGUgY3NoYXJwLXRzLW1vZGUpIDphY3RpdmF0aW9u LWZuIG5pbCA6cHJpb3JpdHkgLTEgOnNlcnZlci1pZCBvbW5pc2hhcnAgOm11bHRpLXJvb3Qg bmlsIDppbml0aWFsaXphdGlvbi1vcHRpb25zIG5pbCA6c2VtYW50aWMtdG9rZW5zLWZhY2Vz LW92ZXJyaWRlcyBuaWwgOmN1c3RvbS1jYXBhYmlsaXRpZXMgbmlsIDpsaWJyYXJ5LWZvbGRl cnMtZm4gbmlsIDpiZWZvcmUtZmlsZS1vcGVuLWZuIG5pbCA6aW5pdGlhbGl6ZWQtZm4gbmls IDpyZW1vdGU/IG5pbCA6Y29tcGxldGlvbi1pbi1jb21tZW50cz8gbmlsIDpwYXRoLT51cmkt Zm4gbmlsIDp1cmktPnBhdGgtZm4gbmlsIDplbnZpcm9ubWVudC1mbiBuaWwgOmFmdGVyLW9w ZW4tZm4gbmlsIDphc3luYy1yZXF1ZXN0LWhhbmRsZXJzICM8aGFzaC10YWJsZSBlcXVhbCAw LzY1IDB4MTU3M2Q2MWU3Zjc1PiA6ZG93bmxvYWQtc2VydmVyLWZuIGxzcC1jc2hhcnAtLW9t bmlzaGFycC1kb3dubG9hZC1zZXJ2ZXIgOmRvd25sb2FkLWluLXByb2dyZXNzPyBuaWwgOmJ1 ZmZlcnMgbmlsIDpzeW5jaHJvbml6ZS1zZWN0aW9ucyBuaWwpKSAiL2hvbWUvam9zdGVpbi9i dWlsZC90ZXN0eSIgbmlsKQ0KICAgKHByb2duICAoaWYgICgtY29udGFpbnM/IChwcm9nbiAg KG9yICAocHJvZ24gIChhbmQgIChtZW1xICAuLi4gY2wtc3RydWN0LWxzcC1zZXNzaW9uLXRh Z3MpdCkpIChzaWduYWwgICd3cm9uZy10eXBlLWFyZ3VtZW50ICAobGlzdCAgJ2xzcC1zZXNz aW9uICBzZXNzaW9uKSkpIChhcmVmICBzZXNzaW9uMSkpIHByb2plY3Qtcm9vdCluaWwgIChw cm9nbiAgKG9yICAocHJvZ24gIChhbmQgIChtZW1xICAodHlwZS1vZiAgc2Vzc2lvbikgY2wt c3RydWN0LWxzcC1zZXNzaW9uLXRhZ3MpdCkpIChzaWduYWwgICd3cm9uZy10eXBlLWFyZ3Vt ZW50ICAobGlzdCAgJ2xzcC1zZXNzaW9uICBzZXNzaW9uKSkpIChsZXQqICAoKHYgc2Vzc2lv bikpIChhc2V0ICB2MSAgKGxldCogICgodmxpc3QgLi4uKSkgKGlmICAobWVtcWwgIHByb2pl Y3Qtcm9vdCB2bGlzdCkgdmxpc3QgKGNvbnMgIHByb2plY3Qtcm9vdCB2bGlzdCkpKSkpKSAo bHNwLS1wZXJzaXN0LXNlc3Npb24gc2Vzc2lvbikpIChsc3AtLWVuc3VyZS1sc3Atc2VydmVy cyBzZXNzaW9uIGNsaWVudHMgcHJvamVjdC1yb290IGlnbm9yZS1tdWx0aS1mb2xkZXIpKQ0K ICAgKGlmICBwcm9qZWN0LXJvb3QgKHByb2duICAoaWYgICgtY29udGFpbnM/IChwcm9nbiAg KG9yICAocHJvZ24gIChhbmQgIC4uLnQpKSAoc2lnbmFsICAnd3JvbmctdHlwZS1hcmd1bWVu dCAgKGxpc3QgIC4uLiBzZXNzaW9uKSkpIChhcmVmICBzZXNzaW9uMSkpIHByb2plY3Qtcm9v dCluaWwgIChwcm9nbiAgKG9yICAocHJvZ24gIChhbmQgIChtZW1xICAuLi4gY2wtc3RydWN0 LWxzcC1zZXNzaW9uLXRhZ3MpdCkpIChzaWduYWwgICd3cm9uZy10eXBlLWFyZ3VtZW50ICAo bGlzdCAgJ2xzcC1zZXNzaW9uICBzZXNzaW9uKSkpIChsZXQqICAoKHYgc2Vzc2lvbikpIChh c2V0ICB2MSAgKGxldCogICguLi4pIChpZiAgLi4uIHZsaXN0IC4uLikpKSkpIChsc3AtLXBl cnNpc3Qtc2Vzc2lvbiBzZXNzaW9uKSkgKGxzcC0tZW5zdXJlLWxzcC1zZXJ2ZXJzIHNlc3Np b24gY2xpZW50cyBwcm9qZWN0LXJvb3QgaWdub3JlLW11bHRpLWZvbGRlcikpIChsc3AtLXdh cm4iJXMgbm90IGluIHByb2plY3Qgb3IgaXQgaXMgYmxhY2tsaXN0ZWQuIiAgKGJ1ZmZlci1u YW1lKSluaWwpDQogICAobGV0ICAoKHByb2plY3Qtcm9vdCAobGV0ICAoKHJlc3VsdCAobGV0 ICAoLi4uKSAoaWYgIHJlc3VsdCAuLi4pKSkpIChpZiAgcmVzdWx0IChwcm9nbiAgKGxzcC1m LWNhbm9uaWNhbCByZXN1bHQpKSkpKSkgKGlmICBwcm9qZWN0LXJvb3QgKHByb2duICAoaWYg ICgtY29udGFpbnM/IChwcm9nbiAgKG9yICAocHJvZ24gIC4uLikgKHNpZ25hbCAgLi4uIC4u LikpIChhcmVmICBzZXNzaW9uMSkpIHByb2plY3Qtcm9vdCluaWwgIChwcm9nbiAgKG9yICAo cHJvZ24gIChhbmQgIC4uLnQpKSAoc2lnbmFsICAnd3JvbmctdHlwZS1hcmd1bWVudCAgKGxp c3QgIC4uLiBzZXNzaW9uKSkpIChsZXQqICAoKHYgc2Vzc2lvbikpIChhc2V0ICB2MSAgKGxl dCogIC4uLiAuLi4pKSkpIChsc3AtLXBlcnNpc3Qtc2Vzc2lvbiBzZXNzaW9uKSkgKGxzcC0t ZW5zdXJlLWxzcC1zZXJ2ZXJzIHNlc3Npb24gY2xpZW50cyBwcm9qZWN0LXJvb3QgaWdub3Jl LW11bHRpLWZvbGRlcikpIChsc3AtLXdhcm4iJXMgbm90IGluIHByb2plY3Qgb3IgaXQgaXMg YmxhY2tsaXN0ZWQuIiAgKGJ1ZmZlci1uYW1lKSluaWwpKQ0KICAgKGlmICBjbGllbnRzIChs ZXQgICgocHJvamVjdC1yb290IChsZXQgICgocmVzdWx0IChsZXQgIC4uLiAuLi4pKSkgKGlm ICByZXN1bHQgKHByb2duICAobHNwLWYtY2Fub25pY2FsIHJlc3VsdCkpKSkpKSAoaWYgIHBy b2plY3Qtcm9vdCAocHJvZ24gIChpZiAgKC1jb250YWlucz8gKHByb2duICAob3IgIC4uLiAu Li4pIChhcmVmICBzZXNzaW9uMSkpIHByb2plY3Qtcm9vdCluaWwgIChwcm9nbiAgKG9yICAo cHJvZ24gIC4uLikgKHNpZ25hbCAgLi4uIC4uLikpIChsZXQqICAoLi4uKSAoYXNldCAgdjEg IC4uLikpKSAobHNwLS1wZXJzaXN0LXNlc3Npb24gc2Vzc2lvbikpIChsc3AtLWVuc3VyZS1s c3Atc2VydmVycyBzZXNzaW9uIGNsaWVudHMgcHJvamVjdC1yb290IGlnbm9yZS1tdWx0aS1m b2xkZXIpKSAobHNwLS13YXJuIiVzIG5vdCBpbiBwcm9qZWN0IG9yIGl0IGlzIGJsYWNrbGlz dGVkLiIgIChidWZmZXItbmFtZSkpbmlsKSkgKGxzcC0td2FybiJObyBMU1Agc2VydmVyIGZv ciAlcyhjaGVjayAqbHNwLWxvZyopLiIgIG1ham9yLW1vZGUpbmlsKQ0KICAgKGxldCAgKChj bGllbnRzIChpZiAgYXNrLWZvci1jbGllbnQgKGxpc3QgIChsc3AtLWNvbXBsZXRpbmctcmVh ZCJTZWxlY3Qgc2VydmVyIHRvIHN0YXJ0OiAiICAoaHQtdmFsdWVzIGxzcC1jbGllbnRzKSAo LWNvbXBvc2Unc3ltYm9sLW5hbWUgICdsc3AtLWNsaWVudC1zZXJ2ZXItaWQpbmlsICB0KSkg KGxzcC0tZmluZC1jbGllbnRzKSkpKSAoaWYgIGNsaWVudHMgKGxldCAgKChwcm9qZWN0LXJv b3QgKGxldCAgKChyZXN1bHQgLi4uKSkgKGlmICByZXN1bHQgKHByb2duICAuLi4pKSkpKSAo aWYgIHByb2plY3Qtcm9vdCAocHJvZ24gIChpZiAgKC1jb250YWlucz8gKHByb2duICAuLi4g Li4uKSBwcm9qZWN0LXJvb3QpbmlsICAocHJvZ24gIChvciAgLi4uIC4uLikgKGxldCogIC4u LiAuLi4pKSAobHNwLS1wZXJzaXN0LXNlc3Npb24gc2Vzc2lvbikpIChsc3AtLWVuc3VyZS1s c3Atc2VydmVycyBzZXNzaW9uIGNsaWVudHMgcHJvamVjdC1yb290IGlnbm9yZS1tdWx0aS1m b2xkZXIpKSAobHNwLS13YXJuIiVzIG5vdCBpbiBwcm9qZWN0IG9yIGl0IGlzIGJsYWNrbGlz dGVkLiIgIChidWZmZXItbmFtZSkpbmlsKSkgKGxzcC0td2FybiJObyBMU1Agc2VydmVyIGZv ciAlcyhjaGVjayAqbHNwLWxvZyopLiIgIG1ham9yLW1vZGUpbmlsKSkNCiAgIChsZXQqICAo KHNlc3Npb24gaW5wdXQwKSkgKGxldCAgKChjbGllbnRzIChpZiAgYXNrLWZvci1jbGllbnQg KGxpc3QgIChsc3AtLWNvbXBsZXRpbmctcmVhZCJTZWxlY3Qgc2VydmVyIHRvIHN0YXJ0OiAi ICAoaHQtdmFsdWVzIGxzcC1jbGllbnRzKSAoLWNvbXBvc2UgLi4uIC4uLiluaWwgIHQpKSAo bHNwLS1maW5kLWNsaWVudHMpKSkpIChpZiAgY2xpZW50cyAobGV0ICAoKHByb2plY3Qtcm9v dCAobGV0ICAoLi4uKSAoaWYgIHJlc3VsdCAuLi4pKSkpIChpZiAgcHJvamVjdC1yb290IChw cm9nbiAgKGlmICAoLWNvbnRhaW5zPyAuLi4gcHJvamVjdC1yb290KW5pbCAgKHByb2duICAu Li4gLi4uKSAobHNwLS1wZXJzaXN0LXNlc3Npb24gc2Vzc2lvbikpIChsc3AtLWVuc3VyZS1s c3Atc2VydmVycyBzZXNzaW9uIGNsaWVudHMgcHJvamVjdC1yb290IGlnbm9yZS1tdWx0aS1m b2xkZXIpKSAobHNwLS13YXJuIiVzIG5vdCBpbiBwcm9qZWN0IG9yIGl0IGlzIGJsYWNrbGlz dGVkLiIgIChidWZmZXItbmFtZSkpbmlsKSkgKGxzcC0td2FybiJObyBMU1Agc2VydmVyIGZv ciAlcyhjaGVjayAqbHNwLWxvZyopLiIgIG1ham9yLW1vZGUpbmlsKSkpDQogICAobGV0ICAo KGlucHV0MCAobHNwLXNlc3Npb24pKSkgKGxldCogICgoc2Vzc2lvbiBpbnB1dDApKSAobGV0 ICAoKGNsaWVudHMgKGlmICBhc2stZm9yLWNsaWVudCAobGlzdCAgKGxzcC0tY29tcGxldGlu Zy1yZWFkIlNlbGVjdCBzZXJ2ZXIgdG8gc3RhcnQ6ICIgIC4uLiAuLi5uaWwgIHQpKSAobHNw LS1maW5kLWNsaWVudHMpKSkpIChpZiAgY2xpZW50cyAobGV0ICAoKHByb2plY3Qtcm9vdCAo bGV0ICAuLi4gLi4uKSkpIChpZiAgcHJvamVjdC1yb290IChwcm9nbiAgKGlmICAuLi5uaWwg IC4uLiAuLi4pIChsc3AtLWVuc3VyZS1sc3Atc2VydmVycyBzZXNzaW9uIGNsaWVudHMgcHJv amVjdC1yb290IGlnbm9yZS1tdWx0aS1mb2xkZXIpKSAobHNwLS13YXJuIiVzIG5vdCBpbiBw cm9qZWN0IG9yIGl0IGlzIGJsYWNrbGlzdGVkLiIgIChidWZmZXItbmFtZSkpbmlsKSkgKGxz cC0td2FybiJObyBMU1Agc2VydmVyIGZvciAlcyhjaGVjayAqbHNwLWxvZyopLiIgIG1ham9y LW1vZGUpbmlsKSkpKQ0KICAgbHNwLS10cnktcHJvamVjdC1yb290LXdvcmtzcGFjZXMobmls ICBuaWwpDQogICAob3IgIChhbmQgIChub3QgIChsc3AtZmluZC1zZXNzaW9uLWZvbGRlciAo bHNwLXNlc3Npb24pIChidWZmZXItZmlsZS1uYW1lKSkpIChsc3AtLXRyeS1vcGVuLWluLWxp YnJhcnktd29ya3NwYWNlKSkgKGxzcC0tdHJ5LXByb2plY3Qtcm9vdC13b3Jrc3BhY2VzIChl cXVhbCAgYXJnICcoNCkpIChhbmQgIGFyZyAobm90ICAoZXF1YWwgIGFyZzEpKSkpKQ0KICAg KHNldHEgIGxzcC0tYnVmZmVyLXdvcmtzcGFjZXMgKG9yICAoYW5kICAobm90ICAobHNwLWZp bmQtc2Vzc2lvbi1mb2xkZXIgKGxzcC1zZXNzaW9uKSAoYnVmZmVyLWZpbGUtbmFtZSkpKSAo bHNwLS10cnktb3Blbi1pbi1saWJyYXJ5LXdvcmtzcGFjZSkpIChsc3AtLXRyeS1wcm9qZWN0 LXJvb3Qtd29ya3NwYWNlcyAoZXF1YWwgIGFyZyAnKDQpKSAoYW5kICBhcmcgKG5vdCAgKGVx dWFsICBhcmcxKSkpKSkpDQogICAoaWYgIChzZXRxICBsc3AtLWJ1ZmZlci13b3Jrc3BhY2Vz IChvciAgKGFuZCAgKG5vdCAgKGxzcC1maW5kLXNlc3Npb24tZm9sZGVyIChsc3Atc2Vzc2lv bikgKGJ1ZmZlci1maWxlLW5hbWUpKSkgKGxzcC0tdHJ5LW9wZW4taW4tbGlicmFyeS13b3Jr c3BhY2UpKSAobHNwLS10cnktcHJvamVjdC1yb290LXdvcmtzcGFjZXMgKGVxdWFsICBhcmcg Jyg0KSkgKGFuZCAgYXJnIChub3QgIChlcXVhbCAgYXJnMSkpKSkpKSAocHJvZ24gIChsc3At bW9kZTEpIChpZiAgbHNwLWF1dG8tY29uZmlndXJlIChwcm9nbiAgKGxzcC0tYXV0by1jb25m aWd1cmUpKSkgKHNldHEgIGxzcC1idWZmZXItdXJpIChsc3AtLWJ1ZmZlci11cmkpKSAobHNw LS1pbmZvIkNvbm5lY3RlZCB0byAlcy4iICAoYXBwbHkgICdjb25jYXQgIChtYXBjYXIgICMn KGxhbWJkYSAgKGl0KSAoaWdub3JlICBpdCkgKGZvcm1hdCAgIlslcyAlc10iICAuLi4gLi4u KSkgbHNwLS1idWZmZXItd29ya3NwYWNlcykpKSkpDQogICAoY29uZCAobWF0Y2hpbmctY2xp ZW50cyAoaWYgKHNldHEgbHNwLS1idWZmZXItd29ya3NwYWNlcyAob3IgKGFuZCAobm90IChs c3AtZmluZC1zZXNzaW9uLWZvbGRlciAuLi4gLi4uKSkgKGxzcC0tdHJ5LW9wZW4taW4tbGli cmFyeS13b3Jrc3BhY2UpKSAobHNwLS10cnktcHJvamVjdC1yb290LXdvcmtzcGFjZXMgKGVx dWFsIGFyZyAnLi4uKSAoYW5kIGFyZyAobm90IC4uLikpKSkpIChwcm9nbiAobHNwLW1vZGUg MSkgKGlmIGxzcC1hdXRvLWNvbmZpZ3VyZSAocHJvZ24gKGxzcC0tYXV0by1jb25maWd1cmUp KSkgKHNldHEgbHNwLWJ1ZmZlci11cmkgKGxzcC0tYnVmZmVyLXVyaSkpIChsc3AtLWluZm8g IkNvbm5lY3RlZCB0byAlcy4iIChhcHBseSAnY29uY2F0IChtYXBjYXIgIycuLi4gbHNwLS1i dWZmZXItd29ya3NwYWNlcykpKSkpKSAoKHNldHEgY2xpZW50cyAobHNwLS1maWx0ZXItY2xp ZW50cyAoLWFuZGZuICMnbHNwLS1zdXBwb3J0cy1idWZmZXI/ICMnbHNwLS1jbGllbnQtZG93 bmxvYWQtaW4tcHJvZ3Jlc3M/KSkpIChsc3AtLWluZm8gIlRoZXJlIGFyZSBsYW5ndWFnZSBz ZXJ2ZXIoJXMpIGluc3RhbGxhdGlvbiBpbiBwcm9nLi4uIiAoLW1hcCAjJ2xzcC0tY2xpZW50 LXNlcnZlci1pZCBjbGllbnRzKSkgKHNlcS1kbyAjJyhsYW1iZGEgKGNsaWVudCkgKHByb2du IChvciAocHJvZ24gLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAobGV0KiAoLi4uKSAoYXNldCB2 IDMyIC4uLikpKSkgY2xpZW50cykpICgoc2V0cSBjbGllbnRzIChsc3AtLWZpbHRlci1jbGll bnRzICgtYW5kZm4gIydsc3AtLXN1cHBvcnRzLWJ1ZmZlcj8gKC1jb25zdCBsc3AtZW5hYmxl LXN1Z2dlc3Qtc2VydmVyLWRvd25sb2FkKSAjJ2xzcC0tY2xpZW50LWRvd25sb2FkLXNlcnZl ci1mbiAoLW5vdCAjJ2xzcC0tY2xpZW50LWRvd25sb2FkLWluLXByb2dyZXNzPykpKSkgKGxl dCAoKGNsaWVudCAobHNwLS1jb21wbGV0aW5nLXJlYWQgKGNvbmNhdCAiVW5hYmxlIHRvIGZp bmQgaW5zdGFsbGVkIHNlcnZlciBzdXBwb3J0aW5nIHRoaXMgZmkuLi4iICJUaGUgZm9sbG93 aW5nIHNlcnZlcnMgY291bGQgYmUgaW5zdGFsbGVkIGF1dG9tYXRpYy4uLiIpIGNsaWVudHMg KC1jb21wb3NlICMnc3ltYm9sLW5hbWUgIydsc3AtLWNsaWVudC1zZXJ2ZXItaWQpIG5pbCB0 KSkpIChwcm9nbiAob3IgKHByb2duIChhbmQgKG1lbXEgLi4uIGNsLXN0cnVjdC1sc3AtLWNs aWVudC10YWdzKSB0KSkgKHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAnbHNw LS1jbGllbnQgY2xpZW50KSkpIChsZXQqICgodiBjbGllbnQpKSAoYXNldCB2IDMyIChsZXQq ICguLi4gLi4uKSAoaWYgLi4uIHZsaXN0IC4uLikpKSkpIChsc3AtLWluc3RhbGwtc2VydmVy LWludGVybmFsIGNsaWVudCkpKSAoKG5vdCBsc3Atd2Fybi1uby1tYXRjaGVkLWNsaWVudHMp IG5pbCkgKChzZXRxIGNsaWVudHMgKGlmIG1hdGNoaW5nLWNsaWVudHMgbmlsIChsc3AtLWZp bHRlci1jbGllbnRzICgtYW5kZm4gIydsc3AtLXN1cHBvcnRzLWJ1ZmZlcj8gIydsc3AtLWNs aWVudC1kb3dubG9hZC1zZXJ2ZXItZm4gKC1ub3QgKC1jb25zdCBsc3AtZW5hYmxlLXN1Z2dl c3Qtc2VydmVyLWRvd25sb2FkKSkgKC1ub3QgIydsc3AtLXNlcnZlci1iaW5hcnktcHJlc2Vu dD8pKSkpKSAobHNwLS13YXJuICJUaGUgZm9sbG93aW5nIHNlcnZlcnMgc3VwcG9ydCBjdXJy ZW50IGZpbGUgYnV0IGF1dC4uLiIgKG1hcGNvbmNhdCAjJyhsYW1iZGEgKGNsaWVudCkgKHN5 bWJvbC1uYW1lIChwcm9nbiAuLi4gLi4uKSkpIGNsaWVudHMgIiAiKSkpICgoc2V0cSBjbGll bnRzIChpZiBtYXRjaGluZy1jbGllbnRzIG5pbCAobHNwLS1maWx0ZXItY2xpZW50cyAoLWFu ZGZuICMnbHNwLS1zdXBwb3J0cy1idWZmZXI/ICgtbm90ICMnbHNwLS1zZXJ2ZXItYmluYXJ5 LXByZXNlbnQ/KSkpKSkgKGxzcC0td2FybiAiVGhlIGZvbGxvd2luZyBzZXJ2ZXJzIHN1cHBv cnQgY3VycmVudCBmaWxlIGJ1dCBkbyAuLi4iIChtYXBjb25jYXQgIycobGFtYmRhIChjbGll bnQpIChzeW1ib2wtbmFtZSAocHJvZ24gLi4uIC4uLikpKSBjbGllbnRzICIgIikpKSAoKG5v dCAobHNwLS1maWx0ZXItY2xpZW50cyAjJ2xzcC0tc3VwcG9ydHMtYnVmZmVyPykpIChsc3At LWVycm9yICJUaGVyZSBhcmUgbm8gbGFuZ3VhZ2Ugc2VydmVycyBzdXBwb3J0aW5nIGN1cnJl bnQgbS4uLiIgbWFqb3ItbW9kZSBtYWpvci1tb2RlIG1ham9yLW1vZGUpKSkNCiAgIChsZXQg KGNsaWVudHMgKG1hdGNoaW5nLWNsaWVudHMgKGxzcC0tZmlsdGVyLWNsaWVudHMgKC1hbmRm biAjJ2xzcC0tc3VwcG9ydHMtYnVmZmVyPyAjJ2xzcC0tc2VydmVyLWJpbmFyeS1wcmVzZW50 PykpKSkgKGNvbmQgKG1hdGNoaW5nLWNsaWVudHMgKGlmIChzZXRxIGxzcC0tYnVmZmVyLXdv cmtzcGFjZXMgKG9yIChhbmQgKG5vdCAuLi4pIChsc3AtLXRyeS1vcGVuLWluLWxpYnJhcnkt d29ya3NwYWNlKSkgKGxzcC0tdHJ5LXByb2plY3Qtcm9vdC13b3Jrc3BhY2VzIChlcXVhbCBh cmcgLi4uKSAoYW5kIGFyZyAuLi4pKSkpIChwcm9nbiAobHNwLW1vZGUgMSkgKGlmIGxzcC1h dXRvLWNvbmZpZ3VyZSAocHJvZ24gKGxzcC0tYXV0by1jb25maWd1cmUpKSkgKHNldHEgbHNw LWJ1ZmZlci11cmkgKGxzcC0tYnVmZmVyLXVyaSkpIChsc3AtLWluZm8gIkNvbm5lY3RlZCB0 byAlcy4iIChhcHBseSAnY29uY2F0IChtYXBjYXIgLi4uIGxzcC0tYnVmZmVyLXdvcmtzcGFj ZXMpKSkpKSkgKChzZXRxIGNsaWVudHMgKGxzcC0tZmlsdGVyLWNsaWVudHMgKC1hbmRmbiAj J2xzcC0tc3VwcG9ydHMtYnVmZmVyPyAjJ2xzcC0tY2xpZW50LWRvd25sb2FkLWluLXByb2dy ZXNzPykpKSAobHNwLS1pbmZvICJUaGVyZSBhcmUgbGFuZ3VhZ2Ugc2VydmVyKCVzKSBpbnN0 YWxsYXRpb24gaW4gcHJvZy4uLiIgKC1tYXAgIydsc3AtLWNsaWVudC1zZXJ2ZXItaWQgY2xp ZW50cykpIChzZXEtZG8gIycobGFtYmRhIChjbGllbnQpIChwcm9nbiAob3IgLi4uIC4uLikg KGxldCogLi4uIC4uLikpKSBjbGllbnRzKSkgKChzZXRxIGNsaWVudHMgKGxzcC0tZmlsdGVy LWNsaWVudHMgKC1hbmRmbiAjJ2xzcC0tc3VwcG9ydHMtYnVmZmVyPyAoLWNvbnN0IGxzcC1l bmFibGUtc3VnZ2VzdC1zZXJ2ZXItZG93bmxvYWQpICMnbHNwLS1jbGllbnQtZG93bmxvYWQt c2VydmVyLWZuICgtbm90ICMnbHNwLS1jbGllbnQtZG93bmxvYWQtaW4tcHJvZ3Jlc3M/KSkp KSAobGV0ICgoY2xpZW50IChsc3AtLWNvbXBsZXRpbmctcmVhZCAoY29uY2F0ICJVbmFibGUg dG8gZmluZCBpbnN0YWxsZWQgc2VydmVyIHN1cHBvcnRpbmcgdGhpcyBmaS4uLiIgIlRoZSBm b2xsb3dpbmcgc2VydmVycyBjb3VsZCBiZSBpbnN0YWxsZWQgYXV0b21hdGljLi4uIikgY2xp ZW50cyAoLWNvbXBvc2UgLi4uIC4uLikgbmlsIHQpKSkgKHByb2duIChvciAocHJvZ24gKGFu ZCAuLi4gdCkpIChzaWduYWwgJ3dyb25nLXR5cGUtYXJndW1lbnQgKGxpc3QgLi4uIGNsaWVu dCkpKSAobGV0KiAoKHYgY2xpZW50KSkgKGFzZXQgdiAzMiAobGV0KiAuLi4gLi4uKSkpKSAo bHNwLS1pbnN0YWxsLXNlcnZlci1pbnRlcm5hbCBjbGllbnQpKSkgKChub3QgbHNwLXdhcm4t bm8tbWF0Y2hlZC1jbGllbnRzKSBuaWwpICgoc2V0cSBjbGllbnRzIChpZiBtYXRjaGluZy1j bGllbnRzIG5pbCAobHNwLS1maWx0ZXItY2xpZW50cyAoLWFuZGZuICMnbHNwLS1zdXBwb3J0 cy1idWZmZXI/ICMnbHNwLS1jbGllbnQtZG93bmxvYWQtc2VydmVyLWZuICgtbm90IC4uLikg KC1ub3QgLi4uKSkpKSkgKGxzcC0td2FybiAiVGhlIGZvbGxvd2luZyBzZXJ2ZXJzIHN1cHBv cnQgY3VycmVudCBmaWxlIGJ1dCBhdXQuLi4iIChtYXBjb25jYXQgIycobGFtYmRhIChjbGll bnQpIChzeW1ib2wtbmFtZSAuLi4pKSBjbGllbnRzICIgIikpKSAoKHNldHEgY2xpZW50cyAo aWYgbWF0Y2hpbmctY2xpZW50cyBuaWwgKGxzcC0tZmlsdGVyLWNsaWVudHMgKC1hbmRmbiAj J2xzcC0tc3VwcG9ydHMtYnVmZmVyPyAoLW5vdCAuLi4pKSkpKSAobHNwLS13YXJuICJUaGUg Zm9sbG93aW5nIHNlcnZlcnMgc3VwcG9ydCBjdXJyZW50IGZpbGUgYnV0IGRvIC4uLiIgKG1h cGNvbmNhdCAjJyhsYW1iZGEgKGNsaWVudCkgKHN5bWJvbC1uYW1lIC4uLikpIGNsaWVudHMg IiAiKSkpICgobm90IChsc3AtLWZpbHRlci1jbGllbnRzICMnbHNwLS1zdXBwb3J0cy1idWZm ZXI/KSkgKGxzcC0tZXJyb3IgIlRoZXJlIGFyZSBubyBsYW5ndWFnZSBzZXJ2ZXJzIHN1cHBv cnRpbmcgY3VycmVudCBtLi4uIiBtYWpvci1tb2RlIG1ham9yLW1vZGUgbWFqb3ItbW9kZSkp KSkNCiAgIChwcm9nbiAobGV0IChjbGllbnRzIChtYXRjaGluZy1jbGllbnRzIChsc3AtLWZp bHRlci1jbGllbnRzICgtYW5kZm4gIydsc3AtLXN1cHBvcnRzLWJ1ZmZlcj8gIydsc3AtLXNl cnZlci1iaW5hcnktcHJlc2VudD8pKSkpIChjb25kIChtYXRjaGluZy1jbGllbnRzIChpZiAo c2V0cSBsc3AtLWJ1ZmZlci13b3Jrc3BhY2VzIChvciAoYW5kIC4uLiAuLi4pIChsc3AtLXRy eS1wcm9qZWN0LXJvb3Qtd29ya3NwYWNlcyAuLi4gLi4uKSkpIChwcm9nbiAobHNwLW1vZGUg MSkgKGlmIGxzcC1hdXRvLWNvbmZpZ3VyZSAocHJvZ24gLi4uKSkgKHNldHEgbHNwLWJ1ZmZl ci11cmkgKGxzcC0tYnVmZmVyLXVyaSkpIChsc3AtLWluZm8gIkNvbm5lY3RlZCB0byAlcy4i IChhcHBseSAuLi4gLi4uKSkpKSkgKChzZXRxIGNsaWVudHMgKGxzcC0tZmlsdGVyLWNsaWVu dHMgKC1hbmRmbiAjJ2xzcC0tc3VwcG9ydHMtYnVmZmVyPyAjJ2xzcC0tY2xpZW50LWRvd25s b2FkLWluLXByb2dyZXNzPykpKSAobHNwLS1pbmZvICJUaGVyZSBhcmUgbGFuZ3VhZ2Ugc2Vy dmVyKCVzKSBpbnN0YWxsYXRpb24gaW4gcHJvZy4uLiIgKC1tYXAgIydsc3AtLWNsaWVudC1z ZXJ2ZXItaWQgY2xpZW50cykpIChzZXEtZG8gIycobGFtYmRhIChjbGllbnQpIChwcm9nbiAu Li4gLi4uKSkgY2xpZW50cykpICgoc2V0cSBjbGllbnRzIChsc3AtLWZpbHRlci1jbGllbnRz ICgtYW5kZm4gIydsc3AtLXN1cHBvcnRzLWJ1ZmZlcj8gKC1jb25zdCBsc3AtZW5hYmxlLXN1 Z2dlc3Qtc2VydmVyLWRvd25sb2FkKSAjJ2xzcC0tY2xpZW50LWRvd25sb2FkLXNlcnZlci1m biAoLW5vdCAuLi4pKSkpIChsZXQgKChjbGllbnQgKGxzcC0tY29tcGxldGluZy1yZWFkIC4u LiBjbGllbnRzIC4uLiBuaWwgdCkpKSAocHJvZ24gKG9yIChwcm9nbiAuLi4pIChzaWduYWwg Li4uIC4uLikpIChsZXQqICguLi4pIChhc2V0IHYgMzIgLi4uKSkpIChsc3AtLWluc3RhbGwt c2VydmVyLWludGVybmFsIGNsaWVudCkpKSAoKG5vdCBsc3Atd2Fybi1uby1tYXRjaGVkLWNs aWVudHMpIG5pbCkgKChzZXRxIGNsaWVudHMgKGlmIG1hdGNoaW5nLWNsaWVudHMgbmlsIChs c3AtLWZpbHRlci1jbGllbnRzICgtYW5kZm4gLi4uIC4uLiAuLi4gLi4uKSkpKSAobHNwLS13 YXJuICJUaGUgZm9sbG93aW5nIHNlcnZlcnMgc3VwcG9ydCBjdXJyZW50IGZpbGUgYnV0IGF1 dC4uLiIgKG1hcGNvbmNhdCAjJyhsYW1iZGEgLi4uIC4uLikgY2xpZW50cyAiICIpKSkgKChz ZXRxIGNsaWVudHMgKGlmIG1hdGNoaW5nLWNsaWVudHMgbmlsIChsc3AtLWZpbHRlci1jbGll bnRzICgtYW5kZm4gLi4uIC4uLikpKSkgKGxzcC0td2FybiAiVGhlIGZvbGxvd2luZyBzZXJ2 ZXJzIHN1cHBvcnQgY3VycmVudCBmaWxlIGJ1dCBkbyAuLi4iIChtYXBjb25jYXQgIycobGFt YmRhIC4uLiAuLi4pIGNsaWVudHMgIiAiKSkpICgobm90IChsc3AtLWZpbHRlci1jbGllbnRz ICMnbHNwLS1zdXBwb3J0cy1idWZmZXI/KSkgKGxzcC0tZXJyb3IgIlRoZXJlIGFyZSBubyBs YW5ndWFnZSBzZXJ2ZXJzIHN1cHBvcnRpbmcgY3VycmVudCBtLi4uIiBtYWpvci1tb2RlIG1h am9yLW1vZGUgbWFqb3ItbW9kZSkpKSkpDQogICAoaWYgKGJ1ZmZlci1maWxlLW5hbWUpIChw cm9nbiAobGV0IChjbGllbnRzIChtYXRjaGluZy1jbGllbnRzIChsc3AtLWZpbHRlci1jbGll bnRzICgtYW5kZm4gIydsc3AtLXN1cHBvcnRzLWJ1ZmZlcj8gIydsc3AtLXNlcnZlci1iaW5h cnktcHJlc2VudD8pKSkpIChjb25kIChtYXRjaGluZy1jbGllbnRzIChpZiAoc2V0cSBsc3At LWJ1ZmZlci13b3Jrc3BhY2VzIChvciAuLi4gLi4uKSkgKHByb2duIChsc3AtbW9kZSAxKSAo aWYgbHNwLWF1dG8tY29uZmlndXJlIC4uLikgKHNldHEgbHNwLWJ1ZmZlci11cmkgLi4uKSAo bHNwLS1pbmZvICJDb25uZWN0ZWQgdG8gJXMuIiAuLi4pKSkpICgoc2V0cSBjbGllbnRzIChs c3AtLWZpbHRlci1jbGllbnRzICgtYW5kZm4gLi4uIC4uLikpKSAobHNwLS1pbmZvICJUaGVy ZSBhcmUgbGFuZ3VhZ2Ugc2VydmVyKCVzKSBpbnN0YWxsYXRpb24gaW4gcHJvZy4uLiIgKC1t YXAgIydsc3AtLWNsaWVudC1zZXJ2ZXItaWQgY2xpZW50cykpIChzZXEtZG8gIycobGFtYmRh IC4uLiAuLi4pIGNsaWVudHMpKSAoKHNldHEgY2xpZW50cyAobHNwLS1maWx0ZXItY2xpZW50 cyAoLWFuZGZuIC4uLiAuLi4gLi4uIC4uLikpKSAobGV0ICgoY2xpZW50IC4uLikpIChwcm9n biAob3IgLi4uIC4uLikgKGxldCogLi4uIC4uLikpIChsc3AtLWluc3RhbGwtc2VydmVyLWlu dGVybmFsIGNsaWVudCkpKSAoKG5vdCBsc3Atd2Fybi1uby1tYXRjaGVkLWNsaWVudHMpIG5p bCkgKChzZXRxIGNsaWVudHMgKGlmIG1hdGNoaW5nLWNsaWVudHMgbmlsIChsc3AtLWZpbHRl ci1jbGllbnRzIC4uLikpKSAobHNwLS13YXJuICJUaGUgZm9sbG93aW5nIHNlcnZlcnMgc3Vw cG9ydCBjdXJyZW50IGZpbGUgYnV0IGF1dC4uLiIgKG1hcGNvbmNhdCAjJy4uLiBjbGllbnRz ICIgIikpKSAoKHNldHEgY2xpZW50cyAoaWYgbWF0Y2hpbmctY2xpZW50cyBuaWwgKGxzcC0t ZmlsdGVyLWNsaWVudHMgLi4uKSkpIChsc3AtLXdhcm4gIlRoZSBmb2xsb3dpbmcgc2VydmVy cyBzdXBwb3J0IGN1cnJlbnQgZmlsZSBidXQgZG8gLi4uIiAobWFwY29uY2F0ICMnLi4uIGNs aWVudHMgIiAiKSkpICgobm90IChsc3AtLWZpbHRlci1jbGllbnRzICMnbHNwLS1zdXBwb3J0 cy1idWZmZXI/KSkgKGxzcC0tZXJyb3IgIlRoZXJlIGFyZSBubyBsYW5ndWFnZSBzZXJ2ZXJz IHN1cHBvcnRpbmcgY3VycmVudCBtLi4uIiBtYWpvci1tb2RlIG1ham9yLW1vZGUgbWFqb3It bW9kZSkpKSkpKQ0KICAgbHNwKCkNCiAgIHJ1bi1ob29rcyhjaGFuZ2UtbWFqb3ItbW9kZS1h ZnRlci1ib2R5LWhvb2sgIHByb2ctbW9kZS1ob29rIGMtbW9kZS1jb21tb24taG9vayBjc2hh cnAtbW9kZS1ob29rKQ0KICAgYXBwbHkocnVuLWhvb2tzICAoY2hhbmdlLW1ham9yLW1vZGUt YWZ0ZXItYm9keS1ob29rICBwcm9nLW1vZGUtaG9vayBjLW1vZGUtY29tbW9uLWhvb2sgY3No YXJwLW1vZGUtaG9vaykpDQogICBydW4tbW9kZS1ob29rcyhjc2hhcnAtbW9kZS1ob29rKQ0K ICAgY3NoYXJwLW1vZGUoKQ0KICAgc2V0LWF1dG8tbW9kZS0wKGNzaGFycC1tb2RlbmlsKQ0K ICAgc2V0LWF1dG8tbW9kZS0tYXBwbHktYWxpc3QoKCgiXFwuaHNjXFwnIiAuIGhhc2tlbGwt bW9kZSkgKCJcXC5sW2doXXNcXCciIC4gaGFza2VsbC1saXRlcmF0ZS1tb2RlKSAoIlxcLmhz aWdcXCciIC4gaGFza2VsbC1tb2RlKSAoIlxcLltnaF1zXFwnIiAuIGhhc2tlbGwtbW9kZSkg KCJcXC5jYWJhbFxcJ1xcfC9jYWJhbFxcLnByb2plY3RcXHwvXFwuY2FiYWwvY29uZmlnXFwn IiAuIGhhc2tlbGwtY2FiYWwtbW9kZSkgKCJcXC5jaHNcXCciIC4gaGFza2VsbC1jMmhzLW1v ZGUpICgiXFwuZ2hjaVxcJyIgLiBnaGNpLXNjcmlwdC1tb2RlKSAoIlxcLmR1bXAtc2ltcGxc XCciIC4gZ2hjLWNvcmUtbW9kZSkgKCJcXC5oY3JcXCciIC4gZ2hjLWNvcmUtbW9kZSkgKCJc XC50c1xcJyIgLiB0eXBlc2NyaXB0LW1vZGUpICgiXFwoPzpidWlsZFxcfHByb2ZpbGVcXClc XC5ib290XFwnIiAuIGNsb2p1cmUtbW9kZSkgKCJcXC5jbGpzXFwnIiAuIGNsb2p1cmVzY3Jp cHQtbW9kZSkgKCJcXC5jbGpjXFwnIiAuIGNsb2p1cmVjLW1vZGUpICgiXFwuXFwoY2xqXFx8 Y2xqZFxcfGR0bVxcfGVkblxcKVxcJyIgLiBjbG9qdXJlLW1vZGUpICgiXFwuXFwoc2NhbGFc XHxzYnRcXHx3b3Jrc2hlZXRcXC5zY1xcKVxcJyIgLiBzY2FsYS1tb2RlKSAoIlxcLlxcKD86 cGhwW3MzNDVdP1xcfHBodG1sXFwpXFwnIiAuIHBocC1tb2RlLW1heWJlKSAoIlxcLlxcKD86 cGhwXFwuaW5jXFx8c3R1YlxcKVxcJyIgLiBwaHAtbW9kZSkgKCIvXFwucGhwX2NzXFwoPzpc XC5kaXN0XFwpP1xcJyIgLiBwaHAtbW9kZSkgKCJcXC5yc1xcJyIgLiBydXN0LW1vZGUpICgi XFwuZGFydFxcJyIgLiBkYXJ0LW1vZGUpICgiXFwuXFwoPzptZFxcfG1hcmtkb3duXFx8bWtk XFx8bWRvd25cXHxta2RuXFx8bWR3blxcKVxcJyIgLiBtYXJrZG93bi1tb2RlKSAoIlxcLmdw Z1xcKH5cXHxcXC5+WzAtOV0rflxcKT9cXCciIG5pbCBlcGEtZmlsZSkgKCJcXC5lbGNcXCci IC4gZWxpc3AtYnl0ZS1jb2RlLW1vZGUpICgiXFwuenN0XFwnIiBuaWwgamthLWNvbXByKSAo IlxcLmR6XFwnIiBuaWwgamthLWNvbXByKSAoIlxcLnh6XFwnIiBuaWwgamthLWNvbXByKSAo IlxcLmx6bWFcXCciIG5pbCBqa2EtY29tcHIpICgiXFwubHpcXCciIG5pbCBqa2EtY29tcHIp ICgiXFwuZz96XFwnIiBuaWwgamthLWNvbXByKSAoIlxcLmJ6MlxcJyIgbmlsIGprYS1jb21w cikgKCJcXC5aXFwnIiBuaWwgamthLWNvbXByKSAoIlxcLnZyW2hpXT9cXCciIC4gdmVyYS1t b2RlKSAoIlxcLnRzeFxcJyIgLiB0c3gtdHMtbW9kZSkgKCJcXC50c1xcJyIgLiB0eXBlc2Ny aXB0LXRzLW1vZGUpICgiXFwoPzpcXC5cXCg/OnJidz9cXHxydVxcfHJha2VcXHx0aG9yXFx8 amJ1aWxkZXJcXHxyYWJsXFx8Z2UuLi4iIC4gcnVieS1tb2RlKSAoIlxcLnJlP3N0XFwnIiAu IHJzdC1tb2RlKSAoIlxcLnB5W2l3XT9cXCciIC4gcHl0aG9uLW1vZGUpICgiXFwubVxcJyIg LiBvY3RhdmUtbWF5YmUtbW9kZSkgKCJcXC5sZXNzXFwnIiAuIGxlc3MtY3NzLW1vZGUpICgi XFwuc2Nzc1xcJyIgLiBzY3NzLW1vZGUpICgiXFwuY3NcXCciIC4gY3NoYXJwLW1vZGUpICgi XFwuYXdrXFwnIiAuIGF3ay1tb2RlKSAoIlxcLlxcKHU/bHBjXFx8cGlrZVxcfHBtb2RcXChc XC5pblxcKT9cXClcXCciIC4gcGlrZS1tb2RlKSAoIlxcLmlkbFxcJyIgLiBpZGwtbW9kZSkg KCJcXC5qYXZhXFwnIiAuIGphdmEtbW9kZSkgKCJcXC5tXFwnIiAuIG9iamMtbW9kZSkgKCJc XC5paVxcJyIgLiBjKystbW9kZSkgKCJcXC5pXFwnIiAuIGMtbW9kZSkgKCJcXC5sZXhcXCci IC4gYy1tb2RlKSAoIlxcLnlcXChhY2NcXCk/XFwnIiAuIGMtbW9kZSkgLi4uKSBuaWwgbmls KQ0KICAgc2V0LWF1dG8tbW9kZSgpDQogICBub3JtYWwtbW9kZSh0KQ0KICAgYWZ0ZXItZmlu ZC1maWxlKHQgIHQpDQogICBmaW5kLWZpbGUtbm9zZWxlY3QtMSgjPGJ1ZmZlciAgdGVzdC5j czx0ZXN0eT4gPiAgIn4vYnVpbGQvdGVzdHkvdGVzdC5jcyIgIG5pbCAgbmlsICAifi9idWls ZC90ZXN0eS90ZXN0LmNzIiAgbmlsKQ0KICAgZmluZC1maWxlLW5vc2VsZWN0KCJ+L2J1aWxk L3Rlc3R5L3Rlc3QuY3MiICBuaWwgIG5pbCAgdCkNCiAgIGZpbmQtZmlsZSgifi9idWlsZC90 ZXN0eS90ZXN0LmNzIiAgdCkNCiAgIGZ1bmNhbGwtaW50ZXJhY3RpdmVseShmaW5kLWZpbGUg ICJ+L2J1aWxkL3Rlc3R5L3Rlc3QuY3MiICB0KQ0KICAgY2FsbC1pbnRlcmFjdGl2ZWx5KGZp bmQtZmlsZSAgbmlsICBuaWwpDQogICBjb21tYW5kLWV4ZWN1dGUoZmluZC1maWxlKQ0KDQpG b3IgdGhvc2UgaW50ZXJlc3RlZCwgSSd2ZSBtYWRlIGEgZGV0YWlsZWQgZXJyb3IgcmVwb3J0 IGZvciBpdCBpbiB0aGUgDQpsc3AtbW9kZSBpc3N1ZS10cmFja2VyOg0KDQpodHRwczovL2dp dGh1Yi5jb20vZW1hY3MtbHNwL2xzcC1tb2RlL2lzc3Vlcy8zODQyDQoNCkRvZXMgYW55b25l IGtub3cgb2YgYW55IHJlY2VudCBjaGFuZ2VzIHdoaWNoIGNvdWxkIGhhdmUgY2F1c2VkIHRo aXM/IE9yIA0Kc2hvdWxkIEkgcmVnaXN0ZXIgdGhpcyBhcyBhIHNlcGFyYXRlIGJ1ZyBvbiBk ZWJidWdzPw0KDQotLSANCipKb3N0ZWluIEtqw7huaWdzZW4qDQpqb3N0ZWluLmtqw7huaWdz ZW4ubm8gPGh0dHBzOi8vam9zdGVpbi5rasO4bmlnc2VuLm5vPg0Kam9zdGVpbkBram9uaWdz ZW4ubmV0IC0gam9zdGVpbkBnbWFpbC5jb20NCg== --------------aAm3iBYPjfsZ10546ZTN9705 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hey everyone.

I'm testing out the latest emacs-29 commits daily to validate that my C# and TypeScript development environment works as it should (or as expected) using the new built-in major-modes based on tree-sitter.

I've found a few issues related to "my" modes, and I've either reported bugs for those or supplied patches. I consider those aspects to be under fairly good control.

I've quite recently encountered one regression though, which is breaking my setup, and I believe it's in a part of Emacs which I'm not deeply familiar with.

There seems to be some changes in (make-process?) which causes an error when trying to launch an external process used as a language-server. What's annoying is that it doesn't seem to happen for all make-process invocations, nor for all external processes.

When it fails, we get a stack-trace like this:

Debugger entered--Lisp e=
rror: (permission-denied "Doing vfork"=
 "Permission denied")
  make-process(:name "omnisharp" :connection-type pipe :buffer "*omnishar=
p*" :coding no-conversion :command ("/home/jostein/.emacs.d/.cache/lsp/om=
nisharp-roslyn..." "-lsp") :filter (closure ((chunk) (body) (body-length)=
 (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil=
 :server-capabilities nil :registered-server-capabilities nil :root "/hom=
e/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? n=
il :new-connection (:connect (closure ... ... ...) :test? (closure ... ni=
l ...)) :ignore-regexps nil :ignore-messages nil :notification-handlers #=
<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash=
-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table e=
ql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-t=
able equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal=
 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mod=
e csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :m=
ulti-root nil :initialization-options nil :semantic-tokens-faces-override=
s nil :custom-capabilities nil :library-folders-fn nil :before-file-open-=
fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :pat=
h->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn =
nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75>=
 :download-server-fn lsp-csharp--omnisharp-download-server :download-in-p=
rogress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc=
 nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :seman=
tic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-ca=
pabilities nil :status starting :metadata #<hash-table equal 0/65 0x15=
73d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :wo=
rkspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :d=
iagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-token=
s #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq ch=
unk (if (s-blank? leftovers) input (concat leftovers input))) (let (messa=
ges) (while (not (s-blank? chunk)) (if (not body-length) (let* ((body-sep=
-pos ...)) (if body-sep-pos (progn ... ... ... ...) (progn ... ...))) (le=
t* ((chunk-length ...) (left-to-receive ...) (this-body ...) (body-bytes =
=2E..)) (setq body (cons this-body body)) (setq body-received (+ body-rec=
eived body-bytes)) (if (>=3D chunk-length left-to-receive) (progn ...)=
)))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreve=
rse messages)))) :sentinel #f(compiled-function (&rest args2) #<by=
tecode -0xada18c6b4c312f0>) :stderr "*omnisharp::stderr*" :noquery t)
  (let* ((stderr-buf (format "=
*%s=
::stderr*" process-name)) (=
default-directory (lsp--default-d=
irectory-for-connection)) (proc (make-pr=
ocess :name process-name <=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">:connection-type 'pipe :buffer (format "*%s*" proce=
ss-name) :coding 'no-conversion :=
command final-command :filter filter :sentinel sentinel :stderr stderr-buf :noquery t=
))) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (save-current-buf=
fer (set-buffer (get-buffer stderr-buf)) (special-mode)) (con=
s proc proc))
  (let ((final-command (lsp-resolve=
-final-function command)) (process-name<=
/span> (generate-new-buffer-name =
name)) (process-environment (lsp-=
-compute-process-environment environment-fn))) (let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (pro=
c (make-process :name process-name 'pipe <=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">:buffer (format "*%s*" process-name) :coding 'no-conversio=
n :command final-command <=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">:filter filter :sentinel sentinel =
:stderr stderr-buf :noquery t))) (set-process-query-on-exit-flag proc nil) (set-process-quer=
y-on-exit-flag (get-buffer-proces=
s stderr-buf) nil) (save-current-buffer (set-buffer (get-bu=
ffer stderr-buf)) (special-mode)) (cons proc proc)))
  (if (functionp 'json-rpc-connection=
) (lsp-json-rpc-connection workspace (lsp-resolve-final-function c=
ommand)) (let ((final-command (lsp-=
resolve-final-function command)) (proces=
s-name (generate-new-buffer-name<=
/span> name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf (f=
ormat "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connect=
ion)) (proc (make-process :name process-name :connection-type 'pip=
e :buffer (format "<=
span class=3D"pl-s" style=3D"box-sizing: border-box; color: var(--color-p=
rettylights-syntax-string);">*%s*=
" process-name) :coding 'no=
-conversion :command final=
-command :filter filter :sentinel sentinel :stderr stderr-buf :noq=
uery t))) (set-process-query-on-exit-flag proc nil) (set-proc=
ess-query-on-exit-flag (get-buffe=
r-process stderr-buf) nil)=
 (save-current-buffer (set-buffer (specia=
l-mode)) (cons proc proc))))=

  (closure ((command closure (t) nil (append (list (lsp-csharp--language-=
server-path) "-lsp") (if lsp-csharp-solution-file (progn (list "-s" ...))=
)))) (filter sentinel name environment-fn workspace) (if (functionp 'json=
-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-fu=
nction command)) (let ((final-command (lsp-resolve-final-function command=
)) (process-name (generate-new-buffer-name name)) (process-environment (l=
sp--compute-process-environment environment-fn))) (let* ((stderr-buf (for=
mat "*%s::stderr*" process-name)) (default-directory (lsp--default-direct=
ory-for-connection)) (proc (make-process :name process-name :connection-t=
ype ... :buffer ... :coding ... :command final-command :filter filter :se=
ntinel sentinel :stderr stderr-buf :noquery t))) (set-process-query-on-ex=
it-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process std=
err-buf) nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (=
special-mode)) (cons proc proc)))))((closure ((chunk) (body) (body-length=
) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc ni=
l :server-capabilities nil :registered-server-capabilities nil :root "/ho=
me/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? =
nil :new-connection (:connect ... :test? ...) :ignore-regexps nil :ignore=
-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d6=
33acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715>=
; :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-=
function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> =
:action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-mod=
es (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn ni=
l :priority -1 :server-id omnisharp :multi-root nil :initialization-optio=
ns nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :lib=
rary-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote?=
 nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn n=
il :environment-fn nil :after-open-fn nil :async-request-handlers #<ha=
sh-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--om=
nisharp-download-server :download-in-progress? nil :buffers nil :synchron=
ize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<b=
uffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-toke=
ns-modifier-faces nil :extra-client-capabilities nil :status starting :me=
tadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-t=
able equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :sta=
tus-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/=
65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573=
d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input =
(concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) =
(if (not body-length) (let* (...) (if body-sep-pos ... ...)) (let* (... .=
=2E. ... ...) (setq body ...) (setq body-received ...) (if ... ...)))) (m=
apc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse mes=
sages)))) #f(compiled-function (&rest args2) #<bytecode -0xada18c6=
b4c312f0>) "omnisharp" nil #s(lsp--workspace :ewoc nil :server-capabil=
ities nil :registered-server-capabilities nil :root "/home/jostein/build/=
testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connecti=
on (:connect (closure ((command closure ... nil ...)) (filter sentinel na=
me environment-fn workspace) (if (functionp ...) (lsp-json-rpc-connection=
 workspace ...) (let ... ...))) :test? (closure (t) nil (let* (...) (if b=
inary ... nil)))) :ignore-regexps nil :ignore-messages nil :notification-=
handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers=
 #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<ha=
sh-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #=
<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-t=
able equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-=
sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id om=
nisharp :multi-root nil :initialization-options nil :semantic-tokens-face=
s-overrides nil :custom-capabilities nil :library-folders-fn nil :before-=
file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments=
? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :afte=
r-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d6=
1e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :dow=
nload-in-progress? nil :buffers nil :synchronize-sections nil) :host-root=
 nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>&g=
t;) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra=
-client-capabilities nil :status starting :metadata #<hash-table equal=
 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d=
03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-act=
ion nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-=
done-tokens #<hash-table equal 0/65 0x1573d5610d83>))
  funcall((closure ((command closure (t) nil (append (list (lsp-csharp--l=
anguage-server-path) "-lsp") (if lsp-csharp-solution-file (progn ...)))))=
 (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc=
-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-functi=
on command)) (let ((final-command (lsp-resolve-final-function command)) (=
process-name (generate-new-buffer-name name)) (process-environment (lsp--=
compute-process-environment environment-fn))) (let* ((stderr-buf ...) (de=
fault-directory ...) (proc ...)) (set-process-query-on-exit-flag proc nil=
) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (s=
ave-current-buffer (set-buffer ...) (special-mode)) (cons proc proc))))) =
(closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (w=
orkspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :register=
ed-server-capabilities nil :root "/home/jostein/build/testy" :client #s(l=
sp--client :language-id nil :add-on? nil :new-connection (:connect ... :t=
est? ...) :ignore-regexps nil :ignore-messages nil :notification-handlers=
 #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<ha=
sh-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table=
 eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash=
-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equ=
al 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-m=
ode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp =
:multi-root nil :initialization-options nil :semantic-tokens-faces-overri=
des nil :custom-capabilities nil :library-folders-fn nil :before-file-ope=
n-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :p=
ath->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-f=
n nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75&g=
t; :download-server-fn lsp-csharp--omnisharp-download-server :download-in=
-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :pr=
oc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :sem=
antic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-=
capabilities nil :status starting :metadata #<hash-table equal 0/65 0x=
1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :=
workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil =
:diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tok=
ens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq =
chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (mes=
sages) (while (not (s-blank? chunk)) (if (not body-length) (let* (...) (i=
f body-sep-pos ... ...)) (let* (... ... ... ...) (setq body ...) (setq bo=
dy-received ...) (if ... ...)))) (mapc #'(lambda (msg) (lsp--parser-on-me=
ssage msg workspace)) (nreverse messages)))) #f(compiled-function (&r=
est args2) #<bytecode -0xada18c6b4c312f0>) "omnisharp" nil #s(lsp--=
workspace :ewoc nil :server-capabilities nil :registered-server-capabilit=
ies nil :root "/home/jostein/build/testy" :client #s(lsp--client :languag=
e-id nil :add-on? nil :new-connection (:connect (closure ((command closur=
e ... nil ...)) (filter sentinel name environment-fn workspace) (if (func=
tionp ...) (lsp-json-rpc-connection workspace ...) (let ... ...))) :test?=
 (closure (t) nil (let* (...) (if binary ... nil)))) :ignore-regexps nil =
:ignore-messages nil :notification-handlers #<hash-table equal 12/65 0=
x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d565=
7715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :=
prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0=
d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :ma=
jor-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activatio=
n-fn nil :priority -1 :server-id omnisharp :multi-root nil :initializatio=
n-options nil :semantic-tokens-faces-overrides nil :custom-capabilities n=
il :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :=
remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->pa=
th-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers =
#<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csh=
arp--omnisharp-download-server :download-in-progress? nil :buffers nil :s=
ynchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers =
(#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semant=
ic-tokens-modifier-faces nil :extra-client-capabilities nil :status start=
ing :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<=
;hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id=
 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table e=
qual 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65=
 0x1573d5610d83>))
  (let* ((default-directory root) (client (copy-lsp--client client-templa=
te)) (workspace (make-lsp--workspace :root root :client client :status 's=
tarting :buffers (list (lsp-current-buffer)) :host-root (file-remote-p ro=
ot))) (server-id (progn (or (progn (and (memq ... cl-struct-lsp--client-t=
ags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref =
client 15))) (environment-fn (progn (or (progn (and (memq ... cl-struct-l=
sp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client clie=
nt))) (aref client 27))) (new-connection (progn (or (progn (and (memq ...=
 cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp-=
-client client))) (aref client 3))) (custom-capabilities (progn (or (prog=
n (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argu=
ment (list 'lsp--client client))) (aref client 19))) (multi-root (progn (=
or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-t=
ype-argument (list 'lsp--client client))) (aref client 16))) (initialized=
-fn (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (sig=
nal 'wrong-type-argument (list 'lsp--client client))) (aref client 22))) =
(--dash-source-471-- (funcall (or (plist-get new-connection :connect) (us=
er-error "Client %s is configured incorrectly" client)) (lsp--create-filt=
er-function workspace) (apply-partially #'lsp--process-sentinel workspace=
) (format "%s" server-id) environment-fn workspace)) (proc (car-safe (pro=
g1 --dash-source-471-- (setq --dash-source-471-- (cdr --dash-source-471--=
))))) (cmd-proc --dash-source-471--) (workspace-folders (gethash server-i=
d (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... s=
ession))) (aref session 3))))) (progn (progn (or (progn (and (memq (type-=
of workspace) cl-struct-lsp--workspace-tags) t)) (signal 'wrong-type-argu=
ment (list 'lsp--workspace workspace))) (let* ((v workspace)) (aset v 7 p=
roc))) (progn (or (progn (and (memq (type-of workspace) cl-struct-lsp--wo=
rkspace-tags) t)) (signal 'wrong-type-argument (list 'lsp--workspace work=
space))) (let* ((v workspace)) (aset v 8 cmd-proc)))) (mapc #'(lambda (pr=
oject-root) (let* ((a1 workspace) (v project-root) (v (progn ... ...))) (=
puthash v (let* (...) (if ... vlist ...)) v))) (or workspace-folders (lis=
t root))) (let ((lsp--cur-workspace workspace)) (run-hooks 'lsp-before-in=
itialize-hook) (lsp-request-async "initialize" (append (list :processId (=
if (file-remote-p (buffer-file-name)) nil (emacs-pid)) :rootPath (lsp-fil=
e-local-name (expand-file-name root)) :clientInfo (list :name "emacs" :ve=
rsion (emacs-version)) :rootUri (lsp--path-to-uri root) :capabilities (ls=
p--client-capabilities custom-capabilities) :initializationOptions initia=
lization-options :workDoneToken "1") (if lsp-server-trace (progn (list :t=
race lsp-server-trace))) (if multi-root (progn (list :workspaceFolders (a=
pply ... ...))))) #'(lambda (input0) (let* ((capabilities ...)) (if (equa=
l ... server-id) (progn ...)) (progn (progn ... ...) (progn ... ...)) (le=
t (...) (lsp-notify "initialized" lsp--empty-ht)) (if initialized-fn (pro=
gn ...)) (progn (or ... ...) (let* ... ...)) (mapc #'... (progn ... ...))=
 (let (...) (run-hooks ...)) (lsp--info "%s initialized successfully in f=
olders: %s" (lsp--workspace-print workspace) (lsp-workspace-folders works=
pace)))) :mode 'detached)) workspace)
  lsp--start-workspace(#s(lsp-session :folders ("/home/jostein/build/test=
y" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerpl=
ate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win"=
 "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/j=
ostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/=
jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/=
jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/joste=
in/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/b=
uild/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/b=
uild/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein=
/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOF=
O" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "=
/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/=
jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostei=
n/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server=
-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->=
;servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<has=
h-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :a=
dd-on? nil :new-connection (:connect (closure ((command closure (t) nil (=
append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sen=
tinel name environment-fn workspace) (if (functionp 'json-rpc-connection)=
 (lsp-json-rpc-connection workspace (lsp-resolve-final-function command))=
 (let ((final-command ...) (process-name ...) (process-environment ...)) =
(let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-proces=
s-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc pr=
oc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (=
f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notif=
ication-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-=
handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers=
 #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-ha=
ndlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #&l=
t;hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csha=
rp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :serv=
er-id omnisharp :multi-root nil :initialization-options nil :semantic-tok=
ens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil =
:before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-=
comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn n=
il :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 =
0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-ser=
ver :download-in-progress? nil :buffers nil :synchronize-sections nil) "/=
home/jostein/build/testy" nil)
  (unwind-protect (lsp--start-works=
pace session client project-root (lsp--create-initialization-options sess=
ion client)) (lsp--spinner-stop))
  lsp--start-connection(#s(lsp-session :folders ("/home/jostein/build/tes=
ty" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerp=
late" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win=
" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/=
jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home=
/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home=
/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jost=
ein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/=
build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/=
build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostei=
n/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SO=
FO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" =
"/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home=
/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/joste=
in/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :serve=
r-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder-&g=
t;servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<ha=
sh-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :=
add-on? nil :new-connection (:connect (closure ((command closure (t) nil =
(append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter se=
ntinel name environment-fn workspace) (if (functionp 'json-rpc-connection=
) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)=
) (let ((final-command ...) (process-name ...) (process-environment ...))=
 (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-proce=
ss-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc p=
roc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary =
(f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :noti=
fication-handlers #<hash-table equal 12/65 0x1573d633acc5> :request=
-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handler=
s #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-h=
andlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #&=
lt;hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csh=
arp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :ser=
ver-id omnisharp :multi-root nil :initialization-options nil :semantic-to=
kens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil=
 :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in=
-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn =
nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65=
 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-se=
rver :download-in-progress? nil :buffers nil :synchronize-sections nil) "=
/home/jostein/build/testy")
  (or (lsp--find-workspace session =
client project-root) (if ignore-mul=
ti-folder nil (lsp--find-multiroo=
t-workspace session client project-root)) (lsp--start-connection session =
client project-root))
  (closure ((ignore-multi-folder) (project-root . "/home/jostein/build/te=
sty") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/h=
ome/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "=
/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/hom=
e/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein=
/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostei=
n/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostei=
n/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/bui=
ld/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/F=
eatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/T=
FS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build=
/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/h=
ome/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/=
jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostei=
n/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/buil=
d/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id-&g=
t;folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->serve=
rs #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-tabl=
e equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace sess=
ion client project-root) (if ignore-multi-folder nil (lsp--find-multiroot=
-workspace session client project-root)) (lsp--start-connection session c=
lient project-root)))(#s(lsp--client :language-id nil :add-on? nil :new-c=
onnection (:connect (closure ((command closure (t) nil (append (list ... =
"-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name enviro=
nment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-co=
nnection workspace (lsp-resolve-final-function command)) (let ((final-com=
mand ...) (process-name ...) (process-environment ...)) (let* (... ... ..=
=2E) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit=
-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? =
(closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binar=
y) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handler=
s #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<h=
ash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-tabl=
e eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<has=
h-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table eq=
ual 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-=
mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp=
 :multi-root nil :initialization-options nil :semantic-tokens-faces-overr=
ides nil :custom-capabilities nil :library-folders-fn nil :before-file-op=
en-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :=
path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-=
fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75&=
gt; :download-server-fn lsp-csharp--omnisharp-download-server :download-i=
n-progress? nil :buffers nil :synchronize-sections nil))
  mapcar((closure ((ignore-multi-folder) (project-root . "/home/jostein/b=
uild/testy") (session . #s(lsp-session :folders ("/home/jostein/build/tes=
ty" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerp=
late" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win=
" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/=
jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home=
/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home=
/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jost=
ein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/=
build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/=
build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostei=
n/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SO=
FO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" =
"/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home=
/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/joste=
in/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :serve=
r-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder-&g=
t;servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<ha=
sh-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspa=
ce session client project-root) (if ignore-multi-folder nil (lsp--find-mu=
ltiroot-workspace session client project-root)) (lsp--start-connection se=
ssion client project-root))) (#s(lsp--client :language-id nil :add-on? ni=
l :new-connection (:connect (closure ((command closure (t) nil (append ..=
=2E ...))) (filter sentinel name environment-fn workspace) (if (functionp=
 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-fi=
nal-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :=
test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary)=
 nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers =
#<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<has=
h-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table =
eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-=
table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equa=
l 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mo=
de csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :=
multi-root nil :initialization-options nil :semantic-tokens-faces-overrid=
es nil :custom-capabilities nil :library-folders-fn nil :before-file-open=
-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :pa=
th->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn=
 nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75>=
; :download-server-fn lsp-csharp--omnisharp-download-server :download-in-=
progress? nil :buffers nil :synchronize-sections nil)))
  -map((closure ((ignore-multi-folder) (project-root . "/home/jostein/bui=
ld/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy=
" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerpla=
te" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" =
"/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jo=
stein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/j=
ostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/j=
ostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostei=
n/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/bu=
ild/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/bu=
ild/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/=
build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO=
" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/=
home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/j=
ostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein=
/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-=
id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->=
servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash=
-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace=
 session client project-root) (if ignore-multi-folder nil (lsp--find-mult=
iroot-workspace session client project-root)) (lsp--start-connection sess=
ion client project-root))) (#s(lsp--client :language-id nil :add-on? nil =
:new-connection (:connect (closure ((command closure (t) nil (append ... =
=2E..))) (filter sentinel name environment-fn workspace) (if (functionp '=
json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-fina=
l-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :te=
st? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) n=
il)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #&=
lt;hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-=
table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eq=
l 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-ta=
ble equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal =
1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode=
 csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :mu=
lti-root nil :initialization-options nil :semantic-tokens-faces-overrides=
 nil :custom-capabilities nil :library-folders-fn nil :before-file-open-f=
n nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path=
->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn n=
il :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> =
:download-server-fn lsp-csharp--omnisharp-download-server :download-in-pr=
ogress? nil :buffers nil :synchronize-sections nil)))
  lsp--ensure-lsp-servers(#s(lsp-session :folders ("/home/jostein/build/t=
esty" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boile=
rplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.W=
in" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/hom=
e/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/ho=
me/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/ho=
me/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jo=
stein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostei=
n/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostei=
n/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jost=
ein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/=
SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile=
" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/ho=
me/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jos=
tein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :ser=
ver-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder-=
>servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<=
hash-table equal 0/65 0x1573d5d84a81>) (#s(lsp--client :language-id ni=
l :add-on? nil :new-connection (:connect (closure ((command closure (t) n=
il (append ... ...))) (filter sentinel name environment-fn workspace) (if=
 (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp=
-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ..=
=2E ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-ex=
ists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notificat=
ion-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-hand=
lers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #&l=
t;hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handle=
rs #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<ha=
sh-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-t=
ree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-i=
d omnisharp :multi-root nil :initialization-options nil :semantic-tokens-=
faces-overrides nil :custom-capabilities nil :library-folders-fn nil :bef=
ore-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comm=
ents? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :=
after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x15=
73d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server =
:download-in-progress? nil :buffers nil :synchronize-sections nil)) "/hom=
e/jostein/build/testy" nil)
  (progn (if (-contains? (progn (o=
r (progn (and (memq ...=
 cl-struct-lsp-session-tags) t)) =
(signal 'wrong-type-argument (list<=
/span> 'lsp-session session))) (<=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">aref session 1)) project-root) nil=
 (progn (or (progn (and (me=
mq (type-of session) cl-st=
ruct-lsp-session-tags) t)) (signal list=
 'lsp-session session))) (let* ((v session)) (aset v 1 (let* ((vlist ...)) (if (memql proje=
ct-root vlist) vlist (cons project-=
root vlist)))))) (lsp--persist-session session)) (lsp--ensure-lsp-servers=
 session clients project-root ignore-multi-folder))
  (if project-root (progn (if (-=
contains? (progn (or (progn (and ... t)) (signal 'wrong-type=
-argument (list ... session)=
)) (aref session 1)) project-root) progn (or (progn (=
and (memq ... cl-struct-lsp-session-tags) t)) (signal 'wrong-type-argument (list 'lsp-session session))) (let* ((v session))=
 (aset v 1 (let* (...) (if ... vlist ...))))) (lsp--persist-ses=
sion session)) (lsp--ensure-lsp-servers session clients project-root igno=
re-multi-folder)) (lsp--warn "%s not in project or it is blacklisted." (buffer-name)) nil)
  (let ((project-root (let ((result (let<=
/span> (...) (if result ...)))) (if result (progn (lsp-f-canonical result)))))) (if project-root (progn (if (-contains? (progn (or (prog=
n ...) (signal ... ...)) (=
aref session 1)) project-root) ni=
l (progn (or (progn (and ... signal 'wrong-type-argument (list ... session))) (let* ((v session)) (aset v 1 (let* ... ...)))) (lsp--persist-session session)) (lsp--ensure-lsp-server=
s session clients project-root ignore-multi-folder)) (lsp--warn "%s not in pr=
oject or it is blacklisted." (buffer-name)) nil))
  (if clients (let ((project-root (let<=
/span> ((result (let ... ...))) (if result (progn (lsp-f-canonical result)))))) (if project-root (progn (if (-contains? (progn (or ... ...) (aref session 1)) pr=
oject-root) nil (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 1 ...))) (lsp--persist-session session)) (lsp--en=
sure-lsp-servers session clients project-root ignore-multi-folder)) (lsp-=
-warn "%s not in project or it is blacklisted." (buffer-name)) <=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">nil)) (lsp--warn "No LSP server for %s=
(check *lsp-log*)." major-m=
ode) nil)
  (let ((clients (if ask-for-client (li=
st (lsp--completing-read "Select server to start: " (ht-values lsp-clients) (-compose 'symbol-name nil t)) (lsp--find-clients)))) (<=
span class=3D"pl-k" style=3D"box-sizing: border-box; color: var(--color-p=
rettylights-syntax-keyword);">if clients (let ((project-root (let ((result ...)) (if result (progn ...))))) (if project-root (progn (if (-contains? (progn ... .=
=2E.) project-root) nil (progn (or ... ...) (let* ... ...)) (lsp-=
-persist-session session)) (lsp--ensure-lsp-servers session clients proje=
ct-root ignore-multi-folder)) (lsp--warn "%s not in project or it is blacklis=
ted." (buffer-name)) nil)) (lsp--warn "No LSP server for %s(check *lsp-log*)." major-mode) =
nil))
  (let* ((session input0)) (let ((clients (list (l=
sp--completing-read "Select server to start: =
" (ht-values lsp-clients) (-compose ... ...) nil t))=
 (lsp--find-clients)))) (if clients=
 (let ((project-root (let (...) (if result ...)))) (if project-root =
(progn (? ... proje=
ct-root) nil (progn ... ...) (lsp--persist-session session)) (lsp--e=
nsure-lsp-servers session clients project-root ignore-multi-folder)) (lsp=
--warn "%s not in project or it is blacklisted." (buffer-name)) <=
span class=3D"pl-c1" style=3D"box-sizing: border-box; color: var(--color-=
prettylights-syntax-constant);">nil)) (lsp--warn "No LSP server for %s=
(check *lsp-log*)." major-m=
ode) nil)))
  (let ((input0 (lsp-session))) (let* ((session input0)) (let ((clients (if<=
/span> ask-for-client (list (lsp--c=
ompleting-read "Select server to start: " ... ... nil t)) (lsp--find-clients)))) (if clients (let ((project-root (let ... ...))) =
(if project-root (progn (if ... =
nil ... ...) (lsp--ensure-lsp-ser=
vers session clients project-root ignore-multi-folder)) (lsp--warn "%s not in=
 project or it is blacklisted." (buffer-name)) nil)) (lsp--warn =
"No LSP server for %s(check *lsp-l=
og*)." major-mode) nil))))
  lsp--try-project-root-workspaces(nil nil)
  (or (not (lsp-find-session=
-folder (lsp-session) (buffer-file-name<=
/span>))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-wo=
rkspaces (equal arg '(4)) (and =
arg (not (equal arg 1)))))
  (setq lsp--buffer-workspaces (or (and=
 (not (lsp-find-session-fold=
er (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspa=
ces (equal arg '(4)) (and arg =
(not (1))))))
  (if (or (and (not (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-w=
orkspace)) (lsp--try-project-root-workspaces (4)) (and arg (no=
t (equal arg 1)))))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply 'concat (mapcar #=
'(lambda (it) (ignore =
it) (format "[%s %s]" ... ...)) lsp--buffer-workspaces)))=
))
  (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not =
(lsp-find-session-folder ... ...)) (lsp--try-open-in-library-workspace)) =
(lsp--try-project-root-workspaces (equal arg '...) (and arg (not ...)))))=
 (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))=
) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (=
apply 'concat (mapcar #'... lsp--buffer-workspaces)))))) ((setq clients (=
lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-downloa=
d-in-progress?))) (lsp--info "There are language server(%s) installation =
in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (cl=
ient) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...=
)))) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--support=
s-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-downl=
oad-server-fn (-not #'lsp--client-download-in-progress?)))) (let ((client=
 (lsp--completing-read (concat "Unable to find installed server supportin=
g this fi..." "The following servers could be installed automatic...") cl=
ients (-compose #'symbol-name #'lsp--client-server-id) nil t))) (progn (o=
r (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-ty=
pe-argument (list 'lsp--client client))) (let* ((v client)) (aset v 32 (l=
et* (... ...) (if ... vlist ...))))) (lsp--install-server-internal client=
))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-c=
lients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--cl=
ient-download-server-fn (-not (-const lsp-enable-suggest-server-download)=
) (-not #'lsp--server-binary-present?))))) (lsp--warn "The following serv=
ers support current file but aut..." (mapconcat #'(lambda (client) (symbo=
l-name (progn ... ...))) clients " "))) ((setq clients (if matching-clien=
ts nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-not #'lsp--=
server-binary-present?))))) (lsp--warn "The following servers support cur=
rent file but do ..." (mapconcat #'(lambda (client) (symbol-name (progn .=
=2E. ...))) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buf=
fer?)) (lsp--error "There are no language servers supporting current m...=
" major-mode major-mode major-mode)))
  (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--sup=
ports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (=
if (setq lsp--buffer-workspaces (or (and (not ...) (lsp--try-open-in-libr=
ary-workspace)) (lsp--try-project-root-workspaces (equal arg ...) (and ar=
g ...)))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-co=
nfigure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected =
to %s." (apply 'concat (mapcar ... lsp--buffer-workspaces)))))) ((setq cl=
ients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-=
download-in-progress?))) (lsp--info "There are language server(%s) instal=
lation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lam=
bda (client) (progn (or ... ...) (let* ... ...))) clients)) ((setq client=
s (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable=
-suggest-server-download) #'lsp--client-download-server-fn (-not #'lsp--c=
lient-download-in-progress?)))) (let ((client (lsp--completing-read (conc=
at "Unable to find installed server supporting this fi..." "The following=
 servers could be installed automatic...") clients (-compose ... ...) nil=
 t))) (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list .=
=2E. client))) (let* ((v client)) (aset v 32 (let* ... ...)))) (lsp--inst=
all-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((s=
etq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--=
supports-buffer? #'lsp--client-download-server-fn (-not ...) (-not ...)))=
)) (lsp--warn "The following servers support current file but aut..." (ma=
pconcat #'(lambda (client) (symbol-name ...)) clients " "))) ((setq clien=
ts (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-=
buffer? (-not ...))))) (lsp--warn "The following servers support current =
file but do ..." (mapconcat #'(lambda (client) (symbol-name ...)) clients=
 " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error =
"There are no language servers supporting current m..." major-mode major-=
mode major-mode))))
  (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'l=
sp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-cl=
ients (if (setq lsp--buffer-workspaces (or (and ... ...) (lsp--try-projec=
t-root-workspaces ... ...))) (progn (lsp-mode 1) (if lsp-auto-configure (=
progn ...)) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected=
 to %s." (apply ... ...))))) ((setq clients (lsp--filter-clients (-andfn =
#'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info=
 "There are language server(%s) installation in prog..." (-map #'lsp--cli=
ent-server-id clients)) (seq-do #'(lambda (client) (progn ... ...)) clien=
ts)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? =
(-const lsp-enable-suggest-server-download) #'lsp--client-download-server=
-fn (-not ...)))) (let ((client (lsp--completing-read ... clients ... nil=
 t))) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...=
))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-cli=
ents) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (=
-andfn ... ... ... ...)))) (lsp--warn "The following servers support curr=
ent file but aut..." (mapconcat #'(lambda ... ...) clients " "))) ((setq =
clients (if matching-clients nil (lsp--filter-clients (-andfn ... ...))))=
 (lsp--warn "The following servers support current file but do ..." (mapc=
oncat #'(lambda ... ...) clients " "))) ((not (lsp--filter-clients #'lsp-=
-supports-buffer?)) (lsp--error "There are no language servers supporting=
 current m..." major-mode major-mode major-mode)))))
  (if (buffer-file-name) (progn (let (clients (matching-clients (lsp--fil=
ter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?=
)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or ... ...=
)) (progn (lsp-mode 1) (if lsp-auto-configure ...) (setq lsp-buffer-uri .=
=2E.) (lsp--info "Connected to %s." ...)))) ((setq clients (lsp--filter-c=
lients (-andfn ... ...))) (lsp--info "There are language server(%s) insta=
llation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(la=
mbda ... ...) clients)) ((setq clients (lsp--filter-clients (-andfn ... .=
=2E. ... ...))) (let ((client ...)) (progn (or ... ...) (let* ... ...)) (=
lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients)=
 nil) ((setq clients (if matching-clients nil (lsp--filter-clients ...)))=
 (lsp--warn "The following servers support current file but aut..." (mapc=
oncat #'... clients " "))) ((setq clients (if matching-clients nil (lsp--=
filter-clients ...))) (lsp--warn "The following servers support current f=
ile but do ..." (mapconcat #'... clients " "))) ((not (lsp--filter-client=
s #'lsp--supports-buffer?)) (lsp--error "There are no language servers su=
pporting current m..." major-mode major-mode major-mode))))))
  lsp()
  run-hooks(change-major-mode-after-body=
-hook prog-mode-hook c-mode-common-hook csharp-mode-hook)
  apply(run-hooks (change-major-mod=
e-after-body-hook prog-mode-hook c-mode-common-hook csharp-mode-ho=
ok))
  run-mode-hooks(csharp-mode-hook)
  csharp-mode()
  set-auto-mode-0(csharp-mode nil=
)
  set-auto-mode--apply-alist((("\\.hsc\\'" . haskell-mode) ("\\.l[gh]s\\'=
" . haskell-literate-mode) ("\\.hsig\\'" . haskell-mode) ("\\.[gh]s\\'" .=
 haskell-mode) ("\\.cabal\\'\\|/cabal\\.project\\|/\\.cabal/config\\'" . =
haskell-cabal-mode) ("\\.chs\\'" . haskell-c2hs-mode) ("\\.ghci\\'" . ghc=
i-script-mode) ("\\.dump-simpl\\'" . ghc-core-mode) ("\\.hcr\\'" . ghc-co=
re-mode) ("\\.ts\\'" . typescript-mode) ("\\(?:build\\|profile\\)\\.boot\=
\'" . clojure-mode) ("\\.cljs\\'" . clojurescript-mode) ("\\.cljc\\'" . c=
lojurec-mode) ("\\.\\(clj\\|cljd\\|dtm\\|edn\\)\\'" . clojure-mode) ("\\.=
\\(scala\\|sbt\\|worksheet\\.sc\\)\\'" . scala-mode) ("\\.\\(?:php[s345]?=
\\|phtml\\)\\'" . php-mode-maybe) ("\\.\\(?:php\\.inc\\|stub\\)\\'" . php=
-mode) ("/\\.php_cs\\(?:\\.dist\\)?\\'" . php-mode) ("\\.rs\\'" . rust-mo=
de) ("\\.dart\\'" . dart-mode) ("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mk=
dn\\|mdwn\\)\\'" . markdown-mode) ("\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'" nil =
epa-file) ("\\.elc\\'" . elisp-byte-code-mode) ("\\.zst\\'" nil jka-compr=
) ("\\.dz\\'" nil jka-compr) ("\\.xz\\'" nil jka-compr) ("\\.lzma\\'" nil=
 jka-compr) ("\\.lz\\'" nil jka-compr) ("\\.g?z\\'" nil jka-compr) ("\\.b=
z2\\'" nil jka-compr) ("\\.Z\\'" nil jka-compr) ("\\.vr[hi]?\\'" . vera-m=
ode) ("\\.tsx\\'" . tsx-ts-mode) ("\\.ts\\'" . typescript-ts-mode) ("\\(?=
:\\.\\(?:rbw?\\|ru\\|rake\\|thor\\|jbuilder\\|rabl\\|ge..." . ruby-mode) =
("\\.re?st\\'" . rst-mode) ("\\.py[iw]?\\'" . python-mode) ("\\.m\\'" . o=
ctave-maybe-mode) ("\\.less\\'" . less-css-mode) ("\\.scss\\'" . scss-mod=
e) ("\\.cs\\'" . csharp-mode) ("\\.awk\\'" . awk-mode) ("\\.\\(u?lpc\\|pi=
ke\\|pmod\\(\\.in\\)?\\)\\'" . pike-mode) ("\\.idl\\'" . idl-mode) ("\\.j=
ava\\'" . java-mode) ("\\.m\\'" . objc-mode) ("\\.ii\\'" . c++-mode) ("\\=
=2Ei\\'" . c-mode) ("\\.lex\\'" . c-mode) ("\\.y\\(acc\\)?\\'" . c-mode) =
=2E..) nil nil)
  set-auto-mode()
  normal-mode(t)
  after-find-file(t t)
  find-file-noselect-1(#<buffer test.cs<testy>> "~/build/tes=
ty/test.cs" nil nil =
"~/b=
uild/testy/test.cs" nil)
  find-file-noselect("~/build/testy/test.cs"<=
/span> nil nil t)
  find-file("~/build/testy/test.cs" t)
  funcall-interactively(find-file=
 "~/=
build/testy/test.cs" t)
  call-interactively(find-file nil find-file)
    

For those interested, I've made a detailed error report for it in the lsp-mode issue-tracker:

https://github.com/emacs-lsp/lsp-= mode/issues/3842

Does anyone know of any recent changes which could have caused this? Or should I register this as a separate bug on debbugs?

--------------aAm3iBYPjfsZ10546ZTN9705--