From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id KH0TJF6M7WJpJAAAbAwnHQ (envelope-from ) for ; Fri, 05 Aug 2022 23:32:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id wNsNJF6M7WLDCAEA9RJhRA (envelope-from ) for ; Fri, 05 Aug 2022 23:32:14 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3421C3E886 for ; Fri, 5 Aug 2022 23:32:13 +0200 (CEST) Received: from localhost ([::1]:48270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oK4vT-0006yF-CZ for larch@yhetil.org; Fri, 05 Aug 2022 17:32:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50418) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oK4vQ-0006y7-4S for bug-guix@gnu.org; Fri, 05 Aug 2022 17:32:08 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:42678) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oK4vK-0000xy-Ca for bug-guix@gnu.org; Fri, 05 Aug 2022 17:32:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oK4vK-0002he-6E for bug-guix@gnu.org; Fri, 05 Aug 2022 17:32:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#55657: libgccjit is unusable Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 05 Aug 2022 21:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55657 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: John Kehayias Cc: Andrew Whatson , Tobias Geerinckx-Rice , "remco@remworks.net" , "55657@debbugs.gnu.org" <55657@debbugs.gnu.org> Received: via spool by 55657-submit@debbugs.gnu.org id=B55657.165973511210375 (code B ref 55657); Fri, 05 Aug 2022 21:32:02 +0000 Received: (at 55657) by debbugs.gnu.org; 5 Aug 2022 21:31:52 +0000 Received: from localhost ([127.0.0.1]:60660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK4v9-0002hH-Um for submit@debbugs.gnu.org; Fri, 05 Aug 2022 17:31:52 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:40609) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK4v5-0002gy-QO for 55657@debbugs.gnu.org; Fri, 05 Aug 2022 17:31:50 -0400 Received: by mail-ed1-f67.google.com with SMTP id f22so4850308edc.7 for <55657@debbugs.gnu.org>; Fri, 05 Aug 2022 14:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version; bh=7rYuQS15OxJ6EyloJhfZ5ITqEUlOgJISY9m14NdzJzU=; b=Q5DXoaIoACRCquiuETNKA+Am4AEQaa7CEJnl/tkwHqGE8qqLxUIg9c5N8RMTLyxRRt bhs8Ed3miBCeOZU0J06EEqaCtFxVPe5NpGPCa7CCUeJcwxqsS+YKXaEBhJUVJj+22b5d fyYLUfK6L5uTnNt66Kf4NrUdD9P+YG1HzCTdRO/ZThV4Z/iw6lFYVIaPeFgREYWkhvaT MHGUTMQa+dgGD08/N5w6RbJLoipqmzwgkniGEGcIRT8P8IynNM81tKpucrSlB3yzfuYu D26SYRGDCe3tgF01x9poJZEtBGwkq71dObJLtFs4EbKWEDE2Z5tHBqtOUVEpFHB5/LeV ZaWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version; bh=7rYuQS15OxJ6EyloJhfZ5ITqEUlOgJISY9m14NdzJzU=; b=4n8jtD+MOkrQHzA18Q1hbwppZZqXX785w8/Gr7TQI8FSpltPnj0bRPICfYwbFiIEwR Y50JxzyYBt1ZbYrGwOUC2h3tVs9qcYKodVxCZoRx6lu1iDJH0m+m1DtuhdS35xq2XWjN gAU+EL2lelqW9yQL3viVILBQSCVBcituZEWRMWPwpooaT7gL9nVoch54PwdkUFeHMu7o fGUn+HFfQW/ScSYw7KMr9k4+E/S7f0UwHOkufqwZoTizqpHeTnJ3o9DF7G3UXiaZmaWV bMhZPBmLJtVrNPM6+JoBVL52aH+Y9xJ/YTW1KoGU8iCQ/7LKYa8hxJTyiL9UXM1h3qbi H9Jw== X-Gm-Message-State: ACgBeo0NI5NjqCiAq4EMzorYKI8er8WU3YEYFIsmfZqNchl9b2/m3zcE Us40rA9qWjOyKSaUcDU9B+s= X-Google-Smtp-Source: AA6agR7N0UOOnVbrMnOeuDtQo+7HZyDSACrDD5NEJsAeOO8thioo9lvbI0U5XJB8juqSE/Pl/illqQ== X-Received: by 2002:a05:6402:11d1:b0:43e:33b:93fa with SMTP id j17-20020a05640211d100b0043e033b93famr8299414edw.419.1659735101828; Fri, 05 Aug 2022 14:31:41 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id k7-20020a17090632c700b0072af102e65csm1980426ejk.152.2022.08.05.14.31.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Aug 2022 14:31:41 -0700 (PDT) Message-ID: <1df52a98b3eaf5e49bbbef852dd33d188b16f757.camel@gmail.com> From: Liliana Marie Prikler Date: Fri, 05 Aug 2022 23:31:40 +0200 In-Reply-To: References: <-WzfXRgBunfV6CTG4v5TA24Vk7Vty4mGqGpQdTTU2OkJpt-i1gM2iOOEDl9ODBZd1xuARNui4gnp1gZfkPtmHwlSwMmdagPc2fEXJyCWRJI=@protonmail.com> <67ca146d031c320b484979c6aa5a89b9c9b8472d.camel@gmail.com> <65497ff154c8bed606d30e5a367e8f17b1a53cc7.camel@gmail.com> Content-Type: multipart/mixed; boundary="=-TDzpsblMF56g7ay5Mvxt" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1659735133; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=7rYuQS15OxJ6EyloJhfZ5ITqEUlOgJISY9m14NdzJzU=; b=KrWOUzgMWApvxKk3WGVA4Glx070pSOX3j9+Zzcrlvr9LcaqMSCyVR/DolU4X92XulaH16i eKdJxllJDh+3Xyw59pPo/cGHNxEQTX2uYIO6G2zh6vOA+/usYH4lEheW9lna6BGKdbtOds ZuIZnr3ca3/w11nGME76S751h29sBFzcU30GVY8VCj+PgJAKNVj/2p0e5BNIRAbhtOvHkK 2dDbZDH8gcVfJGjrin8jL3JFKdGIl/R4jXon4d6HHxepXOtYhbineKRd7eYaSUHHxKZxtM dsKvBBlGhU8agRfMS8ZyB1wIzP8r1ALM/ABEGXHSh4BpUWYVUDdJYMQZSmtaeQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659735133; a=rsa-sha256; cv=none; b=fUKqOvXZAxYVOQeTC8CexX8q2+9AljUUzHW5q0ItTJO51bpBaAfoNpSkXFFE2/Y+/EwZey bVHf9vrqD5X118sUcf73sVy7S5nM4S1PTaezDTXvRgTM+ZabvAno4ICDqw+wZViwAV18Tk a1E0uOw4VhBM0EIt2CeNUbhlze2zqaqOFFtqgpoqkKb804RBWQI/Fz94xRP1kRSia5KF3x SaFQ4yIEgkED4MwIDtsP7M/0pjIXyUhGZUC12Zzxa4THg3eTOTzG2D/StkjAfS2HgGTHnA JW7IPaRW3xjexLEhLQdvkJzyXkRFvXxWPKhlrKk7iYgT1b3JYeT+Js5Jaqcrdg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=Q5DXoaIo; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 7.20 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=Q5DXoaIo; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 3421C3E886 X-Spam-Score: 7.20 X-Migadu-Scanner: scn1.migadu.com X-TUID: IVFtFpJtLCTk --=-TDzpsblMF56g7ay5Mvxt Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Am Freitag, dem 05.08.2022 um 20:01 +0000 schrieb John Kehayias: > Hi, > > Looks like the code you sent got line wrapped and I couldn't easily > untangle it. The difference that pops out to me is how you are > locating the lib/gcc directory, is it maybe picking up from the build > system rather than libgccjit? (though I think gcc:lib should be the > same here, but not gcc-toolchain) No: /gnu/store/640hfpr069hvqv9gcs0ayq0is21zfii6-libgccjit- 10.3.0/lib/gcc/x86_64-unknown-linux-gnu/10.3.0 > In any event, I just want to reiterate that the libgccjit and emacs- > native-comp from Andrew's channel does indeed work: it compiles, > runs, and does native compilations successfully. So hopefully we've > narrowed down now that there is some difference in the code you tried > and from Andrew's that is leading to different behavior. The style changes are not the only thing at play here, though. In particular, I am trying to build Emacs 28.1, whereas Andrew builds other versions, though notably the newest one ought to include the smoke test. You could also try other combinations for libgccjit and gcc to see if those make a difference – last time I tried it did not. Attached the definitions as a file this time. Cheers --=-TDzpsblMF56g7ay5Mvxt Content-Disposition: attachment; filename="emacs-native-comp-merged.scm" Content-Type: text/x-scheme; name="emacs-native-comp-merged.scm"; charset="UTF-8" Content-Transfer-Encoding: base64 OzsgZ2NjLnNjbQoKKGRlZmluZS1wdWJsaWMgKG1ha2UtbGliZ2Njaml0IGdjYykKICAocGFja2Fn ZQogICAgKGluaGVyaXQgZ2NjKQogICAgKG5hbWUgImxpYmdjY2ppdCIpCiAgICAob3V0cHV0cyAo ZGVsZXRlICJsaWIiIChwYWNrYWdlLW91dHB1dHMgZ2NjKSkpCiAgICAocHJvcGVydGllcyAoYWxp c3QtZGVsZXRlICdoaWRkZW4/IChwYWNrYWdlLXByb3BlcnRpZXMgZ2NjKSkpCiAgICAoYXJndW1l bnRzCiAgICAgKHN1YnN0aXR1dGUta2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRz IGdjYykKICAgICAgICgoIzptb2R1bGVzIF8gJygpKQogICAgICAgICcoKGd1aXggYnVpbGQgZ251 LWJ1aWxkLXN5c3RlbSkKICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKQogICAgICAgICAgKGlj ZS05IHJlZ2V4KQogICAgICAgICAgKHNyZmkgc3JmaS0xKQogICAgICAgICAgKHNyZmkgc3JmaS0y NikpKQogICAgICAgKCgjOmNvbmZpZ3VyZS1mbGFncyBmbGFncykKICAgICAgICAjfihjb25zKiAi LS1kaXNhYmxlLWJvb3RzdHJhcCIKICAgICAgICAgICAgICAgICAiLS1kaXNhYmxlLWxpYmF0b21p YyIKICAgICAgICAgICAgICAgICAiLS1kaXNhYmxlLWxpYmdvbXAiCiAgICAgICAgICAgICAgICAg Ii0tZGlzYWJsZS1saWJxdWFkbWF0aCIKICAgICAgICAgICAgICAgICAiLS1kaXNhYmxlLWxpYnNz cCIKICAgICAgICAgICAgICAgICAiLS1lbmFibGUtaG9zdC1zaGFyZWQiCiAgICAgICAgICAgICAg ICAgIi0tZW5hYmxlLWxhbmd1YWdlcz1qaXQiCiAgICAgICAgICAgICAgICAgKHJlbW92ZSAoY3V0 IHN0cmluZy1tYXRjaCAiLS1lbmFibGUtbGFuZ3VhZ2VzLioiIDw+KQogICAgICAgICAgICAgICAg ICAgICAgICAgIyRmbGFncykpKQogICAgICAgKCgjOnBoYXNlcyBwaGFzZXMpCiAgICAgICAgI34o bW9kaWZ5LXBoYXNlcyAjJHBoYXNlcwogICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0YWxsICdy ZW1vdmUtYnJva2VuLW9yLWNvbmZsaWN0aW5nLWZpbGVzCiAgICAgICAgICAgICAgKGxhbWJkYSog KCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgICAgKGZvci1l YWNoIGRlbGV0ZS1maWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRz ICJvdXQiKSAiL2JpbiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICIuKihjXFwrXFwrfGNw cHxnXFwrXFwrfGdjb3Z8Z2NjfGdjYy0uKikiKSkpKSkpKSkKICAgIChpbnB1dHMgKG1vZGlmeS1p bnB1dHMgKHBhY2thZ2UtaW5wdXRzIGdjYykKICAgICAgICAgICAgICAoZGVsZXRlICJsaWJzdGRj KysiKSkpCiAgICAobmF0aXZlLWlucHV0cyAobW9kaWZ5LWlucHV0cyAocGFja2FnZS1uYXRpdmUt aW5wdXRzIGdjYykKICAgICAgICAgICAgICAgICAgICAgKHByZXBlbmQgZ2NjKSkpCiAgICAoc3lu b3BzaXMgIkdDQyBsaWJyYXJ5IGdlbmVyYXRpbmcgbWFjaGluZSBjb2RlIG9uLXRoZS1mbHkgYXQg cnVudGltZSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIGlzIHBhcnQgb2Yg dGhlIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIGFuZCBwcm92aWRlcyBhbgplbWJlZGRhYmxlIGxp YnJhcnkgZm9yIGdlbmVyYXRpbmcgbWFjaGluZSBjb2RlIG9uLXRoZS1mbHkgYXQgcnVudGltZS4g IFRoaXMKc2hhcmVkIGxpYnJhcnkgY2FuIHRoZW4gYmUgZHluYW1pY2FsbHktbGlua2VkIGludG8g Ynl0ZWNvZGUgaW50ZXJwcmV0ZXJzIGFuZApvdGhlciBzdWNoIHByb2dyYW1zIHRoYXQgd2FudCB0 byBnZW5lcmF0ZSBtYWNoaW5lIGNvZGUgb24tdGhlLWZseSBhdCBydW4tdGltZS4KSXQgY2FuIGFs c28gYmUgdXNlZCBmb3IgYWhlYWQtb2YtdGltZSBjb2RlIGdlbmVyYXRpb24gZm9yIGJ1aWxkaW5n IHN0YW5kYWxvbmUKY29tcGlsZXJzLiAgVGhlIGp1c3QtaW4tdGltZSAoaml0KSBwYXJ0IG9mIHRo ZSBuYW1lIGlzIG5vdyBzb21ldGhpbmcgb2YgYQptaXNub21lci4iKSkpCgooZGVmaW5lLXB1Ymxp YyBsaWJnY2NqaXQtOSAobWFrZS1saWJnY2NqaXQgZ2NjLTkpKQooZGVmaW5lLXB1YmxpYyBsaWJn Y2NqaXQtMTAgKG1ha2UtbGliZ2Njaml0IGdjYy0xMCkpCihkZWZpbmUtcHVibGljIGxpYmdjY2pp dC0xMSAobWFrZS1saWJnY2NqaXQgZ2NjLTExKSkKKGRlZmluZS1wdWJsaWMgbGliZ2Njaml0LTEy IChtYWtlLWxpYmdjY2ppdCBnY2MtMTIpKQoKKGRlZmluZS1wdWJsaWMgbGliZ2Njaml0IGxpYmdj Y2ppdC0xMCkKCjs7IGVtYWNzLnNjbQoKKGRlZmluZS1wdWJsaWMgZW1hY3MKICAocGFja2FnZQog ICAgKG5hbWUgImVtYWNzIikKICAgICh2ZXJzaW9uICIyOC4xLjkwIikKICAgIChzb3VyY2UgKG9y aWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQgIm1pcnJvcjovL2dudS9lbWFjcy9lbWFjcy0iCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLnh6IikpCiAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMXFibW1taG5qaG40 bHZ6c255azdsNWdhbmJpNnd6Ym0zOGpjMWE3aGh5aDNrNzhiN2M5OCIpKQogICAgICAgICAgICAg IChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAiZW1hY3MtZXhlYy1wYXRoLnBhdGNoIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW1hY3MtZml4LXNjaGVtZS1pbmRlbnQt ZnVuY3Rpb24ucGF0Y2giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl bWFjcy1zb3VyY2UtZGF0ZS1lcG9jaC5wYXRjaCIpKQogICAgICAgICAgICAgIChtb2R1bGVzICco KGd1aXggYnVpbGQgdXRpbHMpKSkKICAgICAgICAgICAgICAoc25pcHBldAogICAgICAgICAgICAg ICAnKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAibGlzcCIKICAgICAgICAgICAgICAgICAgOzsg RGVsZXRlIHRoZSBidW5kbGVkIGJ5dGUtY29tcGlsZWQgZWxpc3AgZmlsZXMgYW5kIGdlbmVyYXRl ZAogICAgICAgICAgICAgICAgICA7OyBhdXRvbG9hZHMuCiAgICAgICAgICAgICAgICAgIChmb3It ZWFjaCBkZWxldGUtZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCAoZmlu ZC1maWxlcyAiLiIgIlxcLmVsYyQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyAiLiIgImxvYWRkZWZzXFwuZWwkIikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgImVzaGVsbCIgIl5lc2gtZ3JvdXBzXFwuZWwkIikp KQoKICAgICAgICAgICAgICAgICAgOzsgTWFrZSBzdXJlIFRyYW1wIGxvb2tzIGZvciBiaW5hcmll cyBpbiB0aGUgcmlnaHQgcGxhY2VzIG9uCiAgICAgICAgICAgICAgICAgIDs7IHJlbW90ZSBHdWl4 IFN5c3RlbSBtYWNoaW5lcywgd2hlcmUgJ2dldGNvbmYgUEFUSCcgcmV0dXJucwogICAgICAgICAg ICAgICAgICA7OyBzb21ldGhpbmcgYm9ndXMuCiAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRl KiAibmV0L3RyYW1wLmVsIgogICAgICAgICAgICAgICAgICAgIDs7IFBhdGNoIHRoZSBsaW5lIGFm dGVyICIoZGVmY3VzdG9tIHRyYW1wLXJlbW90ZS1wYXRoIi4KICAgICAgICAgICAgICAgICAgICAo KCJcXCh0cmFtcC1kZWZhdWx0LXJlbW90ZS1wYXRoIikKICAgICAgICAgICAgICAgICAgICAgKGZv cm1hdCAjZiAiKHRyYW1wLWRlZmF1bHQtcmVtb3RlLXBhdGggfnMgfnMgfnMgfnMgIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJ+Ly5ndWl4LXByb2ZpbGUvYmluIiAifi8uZ3VpeC1wcm9m aWxlL3NiaW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9ydW4vY3VycmVudC1zeXN0 ZW0vcHJvZmlsZS9iaW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9ydW4vY3VycmVu dC1zeXN0ZW0vcHJvZmlsZS9zYmluIikpKQoKICAgICAgICAgICAgICAgICAgOzsgTWFrZSBzdXJl IE1hbiBsb29rcyBmb3IgQyBoZWFkZXIgZmlsZXMgaW4gdGhlIHJpZ2h0CiAgICAgICAgICAgICAg ICAgIDs7IHBsYWNlcy4KICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJtYW4uZWwiCiAg ICAgICAgICAgICAgICAgICAgKCgiXCIvdXNyL2xvY2FsL2luY2x1ZGVcIiIgbGluZSkKICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1qb2luCiAgICAgICAgICAgICAgICAgICAgICAobGlzdCBs aW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCJ+Ly5ndWl4LXByb2ZpbGUvaW5jbHVk ZVwiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiL3Zhci9ndWl4L3Byb2ZpbGVzL3N5 c3RlbS9wcm9maWxlL2luY2x1ZGVcIiIpCiAgICAgICAgICAgICAgICAgICAgICAiICIpKSkpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGdsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICAobGlzdAogICAgICAjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAgICAgICA7IG5v IGNoZWNrIHRhcmdldAogICAgICAjOm1vZHVsZXMgYCgoZ3VpeCBidWlsZCBnbGliLW9yLWd0ay1i dWlsZC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKQogICAgICAg ICAgICAgICAgICAoc3JmaSBzcmZpLTEpCiAgICAgICAgICAgICAgICAgIChpY2UtOSBmdHcpKQog ICAgICAjOmNvbmZpZ3VyZS1mbGFncyAjfihsaXN0ICItLXdpdGgtbW9kdWxlcyIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLS13aXRoLWNhaXJvIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICItLXdpdGgtbmF0aXZlLWNvbXBpbGF0aW9uIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItLWRpc2FibGUtYnVpbGQtZGV0YWlscyIpCiAgICAgICM6bWFrZS1m bGFncyAjfihsaXN0ICJOQVRJVkVfRlVMTF9BT1Q9MSIpCiAgICAgICM6cGhhc2VzCiAgICAgICN+ KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAnc2V0 LXBhdGhzICdzZXQtbGliZ2Njaml0LXBhdGgKICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlu cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgKGRlZmluZSAoZmlyc3Qtc3Vi ZGlyZWN0b3J5L2Fic29sdXRlIGRpcmVjdG9yeSkKICAgICAgICAgICAgICAgIChsZXQgKChmaWxl cyAoc2NhbmRpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoZmlsZSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoYW5kIChub3QgKG1lbWJlciBmaWxlICcoIi4iICIuLiIpKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLWlzLWRpcmVjdG9yeT8gKHN0cmlu Zy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRpcmVjdG9yeSAiLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUpKSkpKSkpCiAgICAgICAgICAgICAgICAgIChh bmQgKG5vdCAobnVsbD8gZmlsZXMpKQogICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kIGRpcmVjdG9yeSAiLyIgKGNhciBmaWxlcykpKSkpCgogICAgICAgICAgICAgIChsZXQqICgo bGliZ2Njaml0LWxpYmRpcgogICAgICAgICAgICAgICAgICAgICAgKGZpcnN0LXN1YmRpcmVjdG9y eS9hYnNvbHV0ZSA7OyB2ZXJzaW9uCiAgICAgICAgICAgICAgICAgICAgICAgKGZpcnN0LXN1YmRp cmVjdG9yeS9hYnNvbHV0ZSA7OyBob3N0IHR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgKHNl YXJjaC1pbnB1dC1kaXJlY3RvcnkgaW5wdXRzICJsaWIvZ2NjIikpKSkpCiAgICAgICAgICAgICAg ICAoc2V0ZW52ICJMSUJSQVJZX1BBVEgiCiAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kIGxpYmdjY2ppdC1saWJkaXIgIjoiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChnZXRlbnYgIkxJQlJBUllfUEFUSCIpKSkpKSkKICAgICAgICAgIChhZGQtYWZ0 ZXIgJ3VucGFjayAnZW5hYmxlLWVsb2dpbmQKICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAg ICAgICAgKHN1YnN0aXR1dGUqICJjb25maWd1cmUuYWMiCiAgICAgICAgICAgICAgICAoKCJsaWJz eXN0ZW1kIikgImxpYmVsb2dpbmQiKSkKICAgICAgICAgICAgICAod2hlbiAoZmlsZS1leGlzdHM/ ICJjb25maWd1cmUiKQogICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlICJjb25maWd1cmUiKSkp KQogICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdwYXRjaC1wcm9ncmFtLWZpbGUtbmFtZXMK ICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAg ICAgICAgICAgICAgKHN1YnN0aXR1dGUqICcoInNyYy9jYWxscHJvYy5jIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJsaXNwL3Rlcm0uZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImxpc3AvaHRtbGZvbnRpZnkuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxp c3AvdGV4dG1vZGVzL2FydGlzdC5lbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlz cC9wcm9nbW9kZXMvc2gtc2NyaXB0LmVsIikKICAgICAgICAgICAgICAgICgoIlwiL2Jpbi9zaFwi IikKICAgICAgICAgICAgICAgICAoZm9ybWF0ICNmICJ+cyIgKHNlYXJjaC1pbnB1dC1maWxlIGlu cHV0cyAiL2Jpbi9zaCIpKSkpCiAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJsaXNwL2RvYy12 aWV3LmVsIgogICAgICAgICAgICAgICAgKCgiXCIoZ3N8ZHZpcGRmfHBzMnBkZnxwZGZ0b3RleHQp XCIiIGFsbCB3aGF0KQogICAgICAgICAgICAgICAgIChsZXQgKChyZXBsYWNlbWVudCAoZmFsc2Ut aWYtZXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VhcmNo LWlucHV0LWZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiL2Jp bi8iIHdoYXQpKSkpKQogICAgICAgICAgICAgICAgICAgKGlmIHJlcGxhY2VtZW50CiAgICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIlwiIiByZXBsYWNlbWVudCAiXCIiKQogICAg ICAgICAgICAgICAgICAgICAgIGFsbCkpKSkKICAgICAgICAgICAgICA7OyBtYXRjaCAiLmd2ZnMt ZnVzZS1kYWVtb24tcmVhbCIgYW5kICIuZ3Zmc2QtZnVzZS1yZWFsIgogICAgICAgICAgICAgIDs7 IHJlc3BlY3RpdmVseSB3aGVuIGxvb2tpbmcgZm9yIEdWRlMgcHJvY2Vzc2VzLgogICAgICAgICAg ICAgIChzdWJzdGl0dXRlKiAibGlzcC9uZXQvdHJhbXAtZ3Zmcy5lbCIKICAgICAgICAgICAgICAg ICgoIlxcKHRyYW1wLWNvbXBhdC1wcm9jZXNzLXJ1bm5pbmctcCBcIiguKilcIlxcKSIgYWxsIHBy b2Nlc3MpCiAgICAgICAgICAgICAgICAgKGZvcm1hdCAjZiAiKG9yIH5hICh0cmFtcC1jb21wYXQt cHJvY2Vzcy1ydW5uaW5nLXAgfnMpKSIKICAgICAgICAgICAgICAgICAgICAgICAgIGFsbCAoc3Ry aW5nLWFwcGVuZCAiLiIgcHJvY2VzcyAiLXJlYWwiKSkpKSkpCiAgICAgICAgICAoYWRkLWFmdGVy ICd1bnBhY2sgJ3BhdGNoLWNvbXBpbGF0aW9uLWRyaXZlcgogICAgICAgICAgICAobGFtYmRhIF8K ICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImxpc3AvZW1hY3MtbGlzcC9jb21wLmVsIgogICAg ICAgICAgICAgICAgKCgiXFwoZGVmY3VzdG9tIG5hdGl2ZS1jb21wLWRyaXZlci1vcHRpb25zIG5p bCIpCiAgICAgICAgICAgICAgICAgKGZvcm1hdAogICAgICAgICAgICAgICAgICAjZiAiKGRlZmN1 c3RvbSBuYXRpdmUtY29tcC1kcml2ZXItb3B0aW9ucyAnKH5zIH5zIH5zIH5zKSIKICAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICItQiIgIyQodGhpcy1w YWNrYWdlLWlucHV0ICJiaW51dGlscyIpICIvYmluLyIpCiAgICAgICAgICAgICAgICAgIChzdHJp bmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAiLUIiICMkKHRoaXMtcGFja2FnZS1pbnB1dCAi Z2xpYmMiKSAiL2xpYi8iKQogICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZAogICAgICAg ICAgICAgICAgICAgIi1CIiAjJCh0aGlzLXBhY2thZ2UtaW5wdXQgImxpYmdjY2ppdCIpICIvbGli LyIpCiAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAi LUIiICMkKHRoaXMtcGFja2FnZS1pbnB1dCAibGliZ2Njaml0IikgIi9saWIvZ2NjLyIpKSkpKSkK ICAgICAgICAgIChhZGQtYmVmb3JlICdjb25maWd1cmUgJ2ZpeC0vYmluL3B3ZAogICAgICAgICAg ICAobGFtYmRhIF8KICAgICAgICAgICAgICA7OyBVc2UgYHB3ZCcsIG5vdCBgL2Jpbi9wd2QnLgog ICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAoZmluZC1maWxlcyAiLiIgIl5NYWtlZmlsZVxcLmlu JCIpCiAgICAgICAgICAgICAgICAoKCIvYmluL3B3ZCIpCiAgICAgICAgICAgICAgICAgInB3ZCIp KSkpCiAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0YWxsICdpbnN0YWxsLXNpdGUtc3RhcnQKICAg ICAgICAgICAgOzsgVXNlICdndWl4LWVtYWNzJyBpbiAic2l0ZS1zdGFydC5lbCIsIHdoaWNoIGlz IHVzZWQgYXV0b2xvYWQgdGhlCiAgICAgICAgICAgIDs7IEVsaXNwIHBhY2thZ2VzIGZvdW5kIGlu IEVNQUNTTE9BRFBBVEguCiAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgb3V0cHV0 cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgKGxldCogKChvdXQgICAgICAoYXNz b2MtcmVmIG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgICAobGlzcC1kaXIgKHN0 cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUvZW1hY3Mvc2l0ZS1saXNwIikpCiAgICAgICAgICAgICAg ICAgICAgIChlbWFjcyAgICAoc3RyaW5nLWFwcGVuZCBvdXQgIi9iaW4vZW1hY3MiKSkpCgogICAg ICAgICAgICAgICAgOzsgVGhpcyBpcyBkdXBsaWNhdGVkIGZyb20gZW1hY3MtdXRpbHMgdG8gcHJl dmVudCBjb3VwbGluZy4KICAgICAgICAgICAgICAgIChkZWZpbmUqIChlbWFjcy1ieXRlLWNvbXBp bGUtZGlyZWN0b3J5IGRpcikKICAgICAgICAgICAgICAgICAgKGxldCAoKGV4cHIgYChwcm9nbgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGJ5dGUtY29tcGlsZS1kZWJ1ZyB0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChieXRlLXJlY29tcGlsZS1kaXJlY3Rv cnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3Rv cnkgLGRpcikgMCAxKSkpKQogICAgICAgICAgICAgICAgICAgIChpbnZva2UgZW1hY3MgIi0tcXVp Y2siICItLWJhdGNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAjZiAiLS1l dmFsPX5zIiBleHByKSkpKQoKICAgICAgICAgICAgICAgIChjb3B5LWZpbGUgIyQobG9jYWwtZmls ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VhcmNoLWF1eGlsaWFyeS1maWxlICJl bWFjcy9ndWl4LWVtYWNzLmVsIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kIGxpc3AtZGlyICIvZ3VpeC1lbWFjcy5lbCIpKQogICAgICAgICAgICAgICAgKHdpdGgt b3V0cHV0LXRvLWZpbGUgKHN0cmluZy1hcHBlbmQgbGlzcC1kaXIgIi9zaXRlLXN0YXJ0LmVsIikK ICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoKQogICAgICAgICAgICAgICAgICAgIChkaXNwbGF5 CiAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAg ICAiKHdoZW4gKHJlcXVpcmUgJ2d1aXgtZW1hY3MgbmlsIHQpXG4iCiAgICAgICAgICAgICAgICAg ICAgICAiICAoZ3VpeC1lbWFjcy1hdXRvbG9hZC1wYWNrYWdlcylcbiIKICAgICAgICAgICAgICAg ICAgICAgICIgIChhZHZpY2UtYWRkICdwYWNrYWdlLWxvYWQtYWxsLWRlc2NyaXB0b3JzIgogICAg ICAgICAgICAgICAgICAgICAgIiA6YWZ0ZXIgIydndWl4LWVtYWNzLWxvYWQtcGFja2FnZS1kZXNj cmlwdG9ycykpIikpKSkKICAgICAgICAgICAgICAgIDs7IFJlbW92ZSB0aGUgZXh0cmFuZW91cyBz dWJkaXJzLmVsIGZpbGUsIGFzIGl0IGNhdXNlcyBFbWFjcyB0bwogICAgICAgICAgICAgICAgOzsg YWRkIHJlY3Vyc2l2ZWx5IGFsbCB0aGUgdGhlIHN1Yi1kaXJlY3RvcmllcyBvZiBhIHByb2ZpbGUn cwogICAgICAgICAgICAgICAgOzsgc2hhcmUvZW1hY3Mvc2l0ZS1saXNwIHVuaW9uIHdoZW4gYWRk ZWQgdG8gRU1BQ1NMT0FEUEFUSCwKICAgICAgICAgICAgICAgIDs7IHdoaWNoIGxlYWRzIHRvIGNv bmZsaWN0cy4KICAgICAgICAgICAgICAgIChkZWxldGUtZmlsZSAoc3RyaW5nLWFwcGVuZCBsaXNw LWRpciAiL3N1YmRpcnMuZWwiKSkKICAgICAgICAgICAgICAgIDs7IEJ5dGUgY29tcGlsZSB0aGUg c2l0ZS1zdGFydCBmaWxlcy4KICAgICAgICAgICAgICAgIChlbWFjcy1ieXRlLWNvbXBpbGUtZGly ZWN0b3J5IGxpc3AtZGlyKSkpKQogICAgICAgICAgKGFkZC1hZnRlciAnZ2xpYi1vci1ndGstd3Jh cCAncmVzdG9yZS1lbWFjcy1wZG1wCiAgICAgICAgICAgIDs7IHJlc3RvcmUgdGhlIGR1bXAgZmls ZSB0aGF0IEVtYWNzIGluc3RhbGxzIHNvbWV3aGVyZSBpbgogICAgICAgICAgICA7OyBsaWJleGVj LyB0byBpdHMgb3JpZ2luYWwgc3RhdGUKICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1 dHMgdGFyZ2V0ICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAobGV0KiAoKGxpYmV4 ZWMgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYmV4ZWMiKSkKICAgICAgICAgICAg ICAgICAgICAgOzsgZWFjaCBvZiB0aGVzZSBvdWdodCB0byBvbmx5IG1hdGNoIGEgc2luZ2xlIGZp bGUsCiAgICAgICAgICAgICAgICAgICAgIDs7IGJ1dCBldmVuIGlmIG5vdCAoZmluZC1maWxlcykg c29ydHMgYnkgc3RyaW5nPCwKICAgICAgICAgICAgICAgICAgICAgOzsgc28gdGhlIE50aCBlbGVt ZW50IGluIG9uZSBtYXBzIHRvIHRoZSBOdGggZWxlbWVudCBvZgogICAgICAgICAgICAgICAgICAg ICA7OyB0aGUgb3RoZXIKICAgICAgICAgICAgICAgICAgICAgKHBkbXAgKGZpbmQtZmlsZXMgbGli ZXhlYyAiXFwucGRtcCQiKSkKICAgICAgICAgICAgICAgICAgICAgKHBkbXAtcmVhbCAoZmluZC1m aWxlcyBsaWJleGVjICJcXC5wZG1wLXJlYWwkIikpKQogICAgICAgICAgICAgICAgKGZvci1lYWNo IHJlbmFtZS1maWxlIHBkbXAtcmVhbCBwZG1wKSkpKQogICAgICAgICAgKGFkZC1hZnRlciAnZ2xp Yi1vci1ndGstd3JhcCAnc3RyaXAtZG91YmxlLXdyYXAKICAgICAgICAgICAgKGxhbWJkYSogKCM6 a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgIDs7IERpcmVjdGx5 IGNvcHkgZW1hY3MtWC5ZIHRvIGVtYWNzLCBzbyB0aGF0IGl0IGlzIG5vdCB3cmFwcGVkCiAgICAg ICAgICAgICAgOzsgdHdpY2UuICBUaGlzIGFsc28gZml4ZXMgYSBtaW5vciBpc3N1ZSwgd2hlcmUg V01zIHdvdWxkIG5vdCBiZQogICAgICAgICAgICAgIDs7IGFibGUgdG8gdHJhY2sgZW1hY3MgYmFj ayB0byBlbWFjcy5kZXNrdG9wLgogICAgICAgICAgICAgICh3aXRoLWRpcmVjdG9yeS1leGN1cnNp b24gKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQogICAgICAgICAgICAgICAgKGNvcHktZmlsZQog ICAgICAgICAgICAgICAgIChjYXIgKGZpbmQtZmlsZXMgImJpbiIgIl5lbWFjcy0oWzAtOV0rXFwu KStbMC05XSskIikpCiAgICAgICAgICAgICAgICAgImJpbi9lbWFjcyIpKSkpCiAgICAgICAgICAo YWRkLWFmdGVyICdzdHJpcC1kb3VibGUtd3JhcCAnd3JhcC1lbWFjcy1wYXRocwogICAgICAgICAg ICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAg ICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAg ICAgICAgICAgICAgIChsaXNwLWRpcnMgKGZpbmQtZmlsZXMgKHN0cmluZy1hcHBlbmQgb3V0ICIv c2hhcmUvZW1hY3MiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJebGlzcCQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpk aXJlY3Rvcmllcz8gI3QpKSkKICAgICAgICAgICAgICAgIChmb3ItZWFjaAogICAgICAgICAgICAg ICAgIChsYW1iZGEgKHByb2cpCiAgICAgICAgICAgICAgICAgICAod3JhcC1wcm9ncmFtIHByb2cK ICAgICAgICAgICAgICAgICAgICAgOzsgZW1hY3MtbmV4dCBhbmQgdmFyaWFudHMgcmVseSBvbiB1 bmFtZSBiZWluZyBpbiBQQVRIIGZvcgogICAgICAgICAgICAgICAgICAgICA7OyBUcmFtcC4gIFRy YW1wIHBhdGhzIGNhbid0IGJlIGhhcmRjb2RlZCwgYmVjYXVzZSB0aGV5CiAgICAgICAgICAgICAg ICAgICAgIDs7IG5lZWQgdG8gYmUgcG9ydGFibGUuCiAgICAgICAgICAgICAgICAgICAgIGAoIlBB VEgiIHN1ZmZpeAogICAgICAgICAgICAgICAgICAgICAgICwobWFwIGRpcm5hbWUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobGlzdCAoc2VhcmNoLWlucHV0LWZpbGUgaW5wdXRzICIvYmlu L2d6aXAiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGZvciBjb3JldXRp bHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VhcmNoLWlucHV0LWZpbGUg aW5wdXRzICIvYmluL3llcyIpKSkpCiAgICAgICAgICAgICAgICAgICAgIGAoIkVNQUNTTE9BRFBB VEgiIHN1ZmZpeCAsbGlzcC1kaXJzKSkpCiAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgKHN0 cmluZy1hcHBlbmQgb3V0ICIvYmluIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBN YXRjaGVzIHZlcnNpb25lZCBhbmQgdW52ZXJzaW9uZWQgZW1hY3MgYmluYXJpZXMuCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOzsgV2UgZG9uJ3QgcGF0Y2ggZW1hY3NjbGllbnQsIGJlY2F1 c2UgaXQgdGFrZXMgaXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgZW52aXJvbm1l bnQgdmFyaWFibGVzIGZyb20gZW1hY3MuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg TGlrZXdpc2UsIHdlIGRvbid0IG5lZWQgdG8gcGF0Y2ggaGVscGVyIGJpbmFyaWVzCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOzsgbGlrZSBldGFncywgY3RhZ3Mgb3IgZWJyb3dzZS4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiXmVtYWNzKC1bMC05XSsoXFwuWzAtOV0rKSopPyQi KSkpKSkpKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBnbnV0bHMKICAgICAgICAgICBuY3Vyc2Vz CgogICAgICAgICAgIDs7IEZvciBuYXRpdmUgY29tcGlsYXRpb24KICAgICAgICAgICBiaW51dGls cwogICAgICAgICAgIGdsaWJjCiAgICAgICAgICAgbGliZ2Njaml0CgogICAgICAgICAgIDs7IFJl cXVpcmVkIGZvciAiY29yZSIgZnVuY3Rpb25hbGl0eSwgc3VjaCBhcyBkaXJlZCBhbmQgY29tcHJl c3Npb24uCiAgICAgICAgICAgY29yZXV0aWxzCiAgICAgICAgICAgZ3ppcAoKICAgICAgICAgICA7 OyBBdm9pZCBFbWFjcydzIGxpbWl0ZWQgbW92ZW1haWwgc3Vic3RpdHV0ZSB0aGF0IHJldHJpZXZl cyBQT1AzCiAgICAgICAgICAgOzsgZW1haWwgb25seSB2aWEgaW5zZWN1cmUgY2hhbm5lbHMuCiAg ICAgICAgICAgOzsgVGhpcyBpcyBub3QgbmVlZGVkIGZvciAobW9kZXJuKSBJTUFQLgogICAgICAg ICAgIG1haWx1dGlscwoKICAgICAgICAgICBncG0KICAgICAgICAgICBsaWJ4MTEKICAgICAgICAg ICBndGsrCiAgICAgICAgICAgY2Fpcm8KICAgICAgICAgICBwYW5nbwogICAgICAgICAgIGhhcmZi dXp6CiAgICAgICAgICAgbGlieGZ0CiAgICAgICAgICAgbGlidGlmZgogICAgICAgICAgIGdpZmxp YgogICAgICAgICAgIGxjbXMKICAgICAgICAgICBsaWJqcGVnLXR1cmJvCiAgICAgICAgICAgbGli c2VsaW51eAogICAgICAgICAgIGFjbAogICAgICAgICAgIGphbnNzb24KICAgICAgICAgICBnbXAK ICAgICAgICAgICBnaG9zdHNjcmlwdAogICAgICAgICAgIHBvcHBsZXIKICAgICAgICAgICBlbG9n aW5kCgogICAgICAgICAgIDs7IFdoZW4gbG9va2luZyBmb3IgbGlicG5nIGBjb25maWd1cmUnIGxp bmtzIHdpdGggYC1scG5nIC1seicsIHNvIHdlCiAgICAgICAgICAgOzsgbXVzdCBhbHNvIHByb3Zp ZGUgemxpYiBhcyBhbiBpbnB1dC4KICAgICAgICAgICBsaWJwbmcKICAgICAgICAgICB6bGliCiAg ICAgICAgICAgKGlmICh0YXJnZXQteDg2LTY0PykKICAgICAgICAgICAgICAgbGlicnN2Zy1ib290 c3RyYXAKICAgICAgICAgICAgICAgbGlicnN2Zy0yLjQwKQogICAgICAgICAgIGxpYnhwbQogICAg ICAgICAgIGxpYnhtbDIKICAgICAgICAgICBsaWJpY2UKICAgICAgICAgICBsaWJzbQogICAgICAg ICAgIGFsc2EtbGliCiAgICAgICAgICAgZGJ1cwoKICAgICAgICAgICA7OyBtdWx0aWxpbmd1YWxp emF0aW9uIHN1cHBvcnQKICAgICAgICAgICBsaWJvdGYKICAgICAgICAgICBtMTduLWxpYikpCiAg ICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IGF1dG9jb25mIHBrZy1jb25maWcgdGV4aW5mbykp CiAgICAobmF0aXZlLXNlYXJjaC1wYXRocwogICAgIChsaXN0IChzZWFyY2gtcGF0aC1zcGVjaWZp Y2F0aW9uCiAgICAgICAgICAgICh2YXJpYWJsZSAiRU1BQ1NMT0FEUEFUSCIpCiAgICAgICAgICAg IChmaWxlcyAnKCJzaGFyZS9lbWFjcy9zaXRlLWxpc3AiKSkpCiAgICAgICAgICAgKHNlYXJjaC1w YXRoLXNwZWNpZmljYXRpb24KICAgICAgICAgICAgKHZhcmlhYmxlICJJTkZPUEFUSCIpCiAgICAg ICAgICAgIChmaWxlcyAnKCJzaGFyZS9pbmZvIikpKSkpCgogICAgKGhvbWUtcGFnZSAiaHR0cHM6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iKQogICAgKHN5bm9wc2lzICJUaGUgZXh0ZW5z aWJsZSwgY3VzdG9taXphYmxlLCBzZWxmLWRvY3VtZW50aW5nIHRleHQgZWRpdG9yIikKICAgIChk ZXNjcmlwdGlvbgogICAgICJHTlUgRW1hY3MgaXMgYW4gZXh0ZW5zaWJsZSBhbmQgaGlnaGx5IGN1 c3RvbWl6YWJsZSB0ZXh0IGVkaXRvci4gIEl0IGlzCmJhc2VkIG9uIGFuIEVtYWNzIExpc3AgaW50 ZXJwcmV0ZXIgd2l0aCBleHRlbnNpb25zIGZvciB0ZXh0IGVkaXRpbmcuICBFbWFjcwpoYXMgYmVl biBleHRlbmRlZCBpbiBlc3NlbnRpYWxseSBhbGwgYXJlYXMgb2YgY29tcHV0aW5nLCBnaXZpbmcg cmlzZSB0byBhCnZhc3QgYXJyYXkgb2YgcGFja2FnZXMgc3VwcG9ydGluZywgZS5nLiwgZW1haWws IElSQyBhbmQgWE1QUCBtZXNzYWdpbmcsCnNwcmVhZHNoZWV0cywgcmVtb3RlIHNlcnZlciBlZGl0 aW5nLCBhbmQgbXVjaCBtb3JlLiAgRW1hY3MgaW5jbHVkZXMgZXh0ZW5zaXZlCmRvY3VtZW50YXRp b24gb24gYWxsIGFzcGVjdHMgb2YgdGhlIHN5c3RlbSwgZnJvbSBiYXNpYyBlZGl0aW5nIHRvIHdy aXRpbmcKbGFyZ2UgTGlzcCBwcm9ncmFtcy4gIEl0IGhhcyBmdWxsIFVuaWNvZGUgc3VwcG9ydCBm b3IgbmVhcmx5IGFsbCBodW1hbgpsYW5ndWFnZXMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3Bs MyspKSkK --=-TDzpsblMF56g7ay5Mvxt--