From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id EFdnLKfar2GIUAEAgWs5BA (envelope-from ) for ; Tue, 07 Dec 2021 23:05:27 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id QDwaKKfar2FtTgAA1q6Kng (envelope-from ) for ; Tue, 07 Dec 2021 22:05:27 +0000 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 0BFB6D81E for ; Tue, 7 Dec 2021 23:05:26 +0100 (CET) Received: from localhost ([::1]:54864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1muiaS-0001Dz-LI for larch@yhetil.org; Tue, 07 Dec 2021 17:05:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1muia7-0001DW-Gu for guix-patches@gnu.org; Tue, 07 Dec 2021 17:05:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1muia5-0000v3-QS for guix-patches@gnu.org; Tue, 07 Dec 2021 17:05:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1muia5-0000or-LW for guix-patches@gnu.org; Tue, 07 Dec 2021 17:05:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#49898] [PATCH v5] gnu: Add spectre-meltdown-checker. Resent-From: phodina Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 07 Dec 2021 22:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49898 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler Cc: 49898@debbugs.gnu.org Received: via spool by 49898-submit@debbugs.gnu.org id=B49898.16389146863116 (code B ref 49898); Tue, 07 Dec 2021 22:05:01 +0000 Received: (at 49898) by debbugs.gnu.org; 7 Dec 2021 22:04:46 +0000 Received: from localhost ([127.0.0.1]:38893 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1muiZp-0000oB-9P for submit@debbugs.gnu.org; Tue, 07 Dec 2021 17:04:45 -0500 Received: from mail-4316.protonmail.ch ([185.70.43.16]:23103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1muiZm-0000nt-Rj for 49898@debbugs.gnu.org; Tue, 07 Dec 2021 17:04:44 -0500 Date: Tue, 07 Dec 2021 22:04:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail2; t=1638914675; bh=ZESTbqhiemllbwUkafnrNDnbF6nBFu62WLpOWBeybX8=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc; b=rD+uRNn5CBEt0nQXP0W/Re7H21OI9hHHdR5AVCP8BeYp2jldhX8lXNSElru1uQYsp lWxCJxrNJxSd7ID1I7E9N4IaJJGGALPZcyBqHAkTvJTsfNhfV6PAv8LYoE3G31RL2m QcIb4ogw5iADBbNcSj7XbzqaswD/o2YcI5Z+wTsQVW6/o+um9Bw/4H9H9+tsUdUE1E U5Jm9mdlC0UbGnaKFx4g4q9I9alTODMAWmCbjw7S2P5D0ZGT9RGBmHKvTPlp0jgtaB jmoGyCo7oBGEJtRTjz6tWCaACT9A72mSGLAnRY+EmhyRGWwsRdKU7SEp4Rt+WDmzPz YYaC2/22gEe9A== Message-ID: In-Reply-To: <0611f164235f06ffdfaa3eb4fa5a7915210df134.camel@gmail.com> References: <0611f164235f06ffdfaa3eb4fa5a7915210df134.camel@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_AgWNADw025ZnXtX8B20vPabwD4z0FogIraOGY8QDs" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" Reply-to: phodina X-ACL-Warn: , phodina via Guix-patches From: phodina via Guix-patches via X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638914726; h=from:from:sender:sender:reply-to: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=ZESTbqhiemllbwUkafnrNDnbF6nBFu62WLpOWBeybX8=; b=uyVjvsnfGW7/Wn2JKz21bg5QsWOAr5NSJO1hMZqmeU/GgxkrqM5tHWv8HuAOZD7bYcfQVV w6juL+nACnbPHrOmvj0IdUIeKESuWfit/9pRqQEwG7S6QGCi6fyGUItf8b3XTLcfp77vbj 1/AS+WrUrBemVeV1T0DbTHdP4UGs0IdPs/s5+LhfOagn8AXss5LC745AwClf53oV7Huf/J HRjby/eXvzSUXz+6alWXntB/cVpVG2+Asm4hr6z63GGB6KzasIRD35T8x805lH3c8w7gKE D1n5PCvO0mTiMnXTKOpcoCYYRHkiycFbHzewQe/zYGBKvTq4oLlSIj+I+s3Kag== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638914726; a=rsa-sha256; cv=none; b=s/Au1yMRHAatXjFkacJY/ytzUO6moCDuPYli2heL/HvTQPNYUDb/yW1m0MsXlUfNvGMFUP fvTGnszINNsHpvSuvntUofhIOx18j+LxfpLSZuVxiLJLmgm0f27kdsgDLVWZwnjhotVlxX 4jHa5/9LzL/neTU/ql+Zbvj3qg1u3s21E2AA/vYGvlTkcaxWjbpOKWw1dtPsbRYSsxIz67 SkUFfiEwzUgc8Krsysee3i/InJtcePdva0Tfdttr+5gc8SZwCu7CfxlJ6Bu0CmLlo7AwCr ykGmcg3rL/yb+7OytwzgpnmibDmgdHSrY12w1CcjSh51MKdZNKLT9IJ1anANMA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail2 header.b=rD+uRNn5; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.65 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail2 header.b=rD+uRNn5; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 0BFB6D81E X-Spam-Score: -4.65 X-Migadu-Scanner: scn0.migadu.com X-TUID: +as5Ef8U7Ibv This is a multi-part message in MIME format. --b1_AgWNADw025ZnXtX8B20vPabwD4z0FogIraOGY8QDs Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Liliana, > Hi Petr, > > Am Samstag, den 18.09.2021, 15:25 +0000 schrieb phodina: > > > [...] > > > - (add-after 'unpack 'fix-relative-locations > > > > > > - (lambda* (#:key outputs #:allow-other-keys) > > > > > > - (let ((icoreutils (assoc-ref %build-inputs > > > > > > > > "coreutils")) > > > > - (igrep (assoc-ref %build-inputs "grep")) > > > > > > - (iutil-linux (assoc-ref %build-inputs "util- > > > > > > > > linux")) > > > > - (iutil-linux-with-udev > > > > > > - (assoc-ref %build-inputs "util-linux-with- > > > > > > > > udev")) > > > > - (igawk (assoc-ref %build-inputs "gawk")) > > > > > > - (igzip (assoc-ref %build-inputs "gzip")) > > > > > > - (iunzip (assoc-ref %build-inputs "unzip")) > > > > > > - (ilzop (assoc-ref %build-inputs "lzop")) > > > > > > - (iperl (assoc-ref %build-inputs "perl")) > > > > > > - (iprocps (assoc-ref %build-inputs "procps")) > > > > > > - (isqlite (assoc-ref %build-inputs "sqlite")) > > > > > > - (iwget (assoc-ref %build-inputs "wget")) > > > > > > - (iwhich (assoc-ref %build-inputs "which")) > > > > > > - (ixz (assoc-ref %build-inputs "xz")) > > > > > > - (izstd (assoc-ref %build-inputs "zstd"))) > > > > > > I don't think Hungarian notation is very helpful here. > > > - (substitute* "spectre-meltdown-checker.sh" > > > > > > - ; TODO: Find regexp what will work > > > > > > - ;(("echo") (string-append icoreutils "/bin/echo")) > > > > > > - ;(("printf") (string-append icoreutils > > > > > > > > "/bin/printf")) > > There are multiple ways of handling this, but I thing the best one > > would be to substitute both `command -v printf' and` which echo' with > > the path to false, then match the line > > [ -z "$echo_cmd" ] && echo_cmd=3D'echo' > > and instead put there > > echo_cmd_type=3D'printf' > > echo_cmd=3D(path-to "/bin/printf") > > > - (("dirname") (string-append icoreutils > > > > > > > > "/bin/dirname")) > > > > - (("cat") (string-append icoreutils "/bin/cat")) > > > > > > - (("grep[ ]+") (string-append igrep "/bin/grep ")) > > > > > > - (("cut") (string-append icoreutils "/bin/cut")) > > > > > > - (("mktemp") (string-append icoreutils > > > > > > > > "/bin/mktemp")) > > > > - (("stat[ ]+") (string-append icoreutils "/bin/stat > > > > > > > > " )) > > > > - (("tail[ ]+") (string-append icoreutils "/bin/tail > > > > > > > > " )) > > > > - (("head[ ]+") (string-append icoreutils "/bin/head > > > > > > > > " )) > > > > - (("mount[ ]+") "/run/setuid-programs/mount ") > > > > > > - (("modprobe") (string-append iutil-linux > > > > > > > > "/bin/modprobe")) > > > > - (("dd") (string-append icoreutils "/bin/dd")) > > > > > > - (("dmesg[ ]+") (string-append iutil-linux-with-udev > > > > > > > > "/bin/dmesg ")) > > > > - (("awk") (string-append igawk "/bin/awk")) > > > > > > - (("gzip") (string-append igzip "/bin/gzip")) > > > > > > - (("unzip") (string-append iunzip "/bin/unzip")) > > > > > > - (("lzop") (string-append ilzop "/bin/lzop")) > > > > > > - (("perl") (string-append iperl "/bin/perl")) > > > > > > - (("ps[ ]+") (string-append iprocps "/bin/ps ")) > > > > > > - (("sqlite3") (string-append isqlite > > > > > > > > "/bin/sqlite3")) > > > > - (("wget") (string-append iwget "/bin/wget")) > > > > > > - (("which") (string-append iwhich "/bin/which")) > > > > > > - (("xz") (string-append ixz "/bin/xz")) > > > > > > - (("zstd") (string-append izstd "/bin/zstd"))))))))) > > > > > > Group those that need spaces and those that don't together, with an > > explanation as to why those two groups exist. > > > - (inputs `(("binutils" ,binutils) > > - ("coreutils",coreutils) > > > > > > - ("gawk" ,gawk) > > > > > > - ("grep" ,grep) > > > > > > - ("gzip" ,gzip) > > > > > > - ("unzip" ,unzip) > > > > > > - ("lzop" ,lzop) > > > > > > - ("perl" ,perl) > > > > > > - ("procps" ,procps) > > > > > > - ("sqlite" ,sqlite) > > > > > > - ("util-linux" ,util-linux) > > > > > > - ("util-linux-with-udev" ,util-linux+udev) > > > > > > Why both? > > > - ("wget" ,wget) > > > > > > - ("which" ,which) > > > > > > - ("xz" ,xz) > > > > > > - ("zstd" ,zstd))) > > > > > > - (synopsis "Spectre, Meltdown ... vulnerability/mitigation > > > > checker") > > - (description "A shell script to assess your system's resilience > > > > against > > > > +the several transient execution CVEs that were published since ear= ly > > > > 2018, > > > > +and give you guidance as to how to mitigate them.") > > - (home-page "https://github.com/speed47/spectre-meltdown-checker" > > > > ) > > - (license license:gpl3))) > > > > (define-public snapscreenshot > > > > (package > > > > (name "snapscreenshot") > > ---------------------------------------------------------------- > > > > 2.32.0 I've used the wrap-program as an alternative to the your suggested solution= . Going through the program there is a function update_fwdb [1] that download= s and updates database files when the script is executed with the --update-= fwdb argument. I've added both files [2][3] in question to the lists of inputs. However, since they are supposed to be updated at runtime (stored in $HOME)= I don't know to represent this in the package definition. Could you please suggest how to proceed? ---- Petr [1] https://github.com/speed47/spectre-meltdown-checker/blob/master/spectre= -meltdown-checker.sh#L838 [2] https://github.com/platomav/MCExtractor/raw/master/MCE.db [3] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/arc= hive/main.zip --b1_AgWNADw025ZnXtX8B20vPabwD4z0FogIraOGY8QDs Content-Type: text/x-patch; name=v5-0001-gnu-Add-spectre-meltdown-checker.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0001-gnu-Add-spectre-meltdown-checker.patch RnJvbSA4M2E5M2JlZmZiOWU0NDkzYzM2MWQxMjZmZGI3NTY0YzY2MjUyNWM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIEhvZGluYSA8cGhvZGluYUBwcm90b25tYWlsLmNvbT4K RGF0ZTogVGh1LCA1IEF1ZyAyMDIxIDE4OjIzOjQ3ICswMjAwClN1YmplY3Q6IFtQQVRDSCB2NV0g Z251OiBBZGQgc3BlY3RyZS1tZWx0ZG93bi1jaGVja2VyLgoKKiBnbnUvcGFja2FnZXMvbGludXgu c2NtIChzcGVjdHJlLW1lbHRkb3duLWNoZWNrZXIpOiBOZXcgdmFyaWFibGUuCgpkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL2xpbnV4LnNjbSBiL2dudS9wYWNrYWdlcy9saW51eC5zY20KaW5kZXgg MDNlODRhMGE3OS4uMTk5OTllZjhlMCAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2xpbnV4LnNj bQorKysgYi9nbnUvcGFja2FnZXMvbGludXguc2NtCkBAIC01Myw2ICs1Myw3IEBACiA7OzsgQ29w eXJpZ2h0IMKpIDIwMjEgQi4gV2lsc29uIDxlbGFleHVvdGVlQHdpbHNvbmIuY29tPgogOzs7IENv cHlyaWdodCDCqSAyMDIxIEl2YW4gR2Fua2V2aWNoIDxpLmdhbmtldmljaEBzcGJ1LnJ1PgogOzs7 IENvcHlyaWdodCDCqSAyMDIxIE9saXZpZXIgRGlvbiA8b2xpdmllci5kaW9uQHBvbHltdGwuY2E+ Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgUGV0ciBIb2RpbmEgPHBob2RpbmFAcHJvdG9ubWFpbC5j b20+CiA7OzsKIDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtMTM5 LDYgKzE0MCw3IEBAIChkZWZpbmUtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIHZpZGVvKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyB2dWxrYW4pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYikKKyAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgd2dldCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGlw aCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeG1sKQogICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyB4ZGlzb3JnKQpAQCAtMTUwLDYgKzE1Miw3IEBAIChkZWZpbmUtbW9kdWxlIChn bnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gY21h a2UpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ251KQogICAjOnVzZS1tb2R1 bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdvKQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lz dGVtIGNvcHkpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gbWVzb24pCiAgICM6 dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gcHl0aG9uKQogICAjOnVzZS1tb2R1bGUgKGd1 aXggYnVpbGQtc3lzdGVtIHRyaXZpYWwpCkBAIC03MzI1LDYgKzczMjgsODEgQEAgKGRlZmluZS1w dWJsaWMgcHNtCiAgICAgKHN1cHBvcnRlZC1zeXN0ZW1zICcoImk2ODYtbGludXgiICJ4ODZfNjQt bGludXgiKSkKICAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmJzZC0yIGxpY2Vuc2U6Z3BsMikp KSkgO2R1YWwKIAorKGRlZmluZS1wdWJsaWMgc3BlY3RyZS1tZWx0ZG93bi1jaGVja2VyCisgIChw YWNrYWdlCisgICAgKG5hbWUgInNwZWN0cmUtbWVsdGRvd24tY2hlY2tlciIpCisgICAgKHZlcnNp b24gIjAuNDQiKQorICAgIChzb3VyY2UgCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdp dC1mZXRjaCkKKyAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAgICAgKHVybCAi aHR0cHM6Ly9naXRodWIuY29tL3NwZWVkNDcvc3BlY3RyZS1tZWx0ZG93bi1jaGVja2VyIikKKyAg ICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQorICAgICAg IChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAoc2hhMjU2 CisgICAgICAgIChiYXNlMzIKKyAgICAgICAgICIxYjQ3d2xjNTJqbnAyZDVjN2ticW54bWxtNGcz Y2ZidjI1cTMwbGx2NW1sbXpzNmQ3YmFtIikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGNvcHktYnVp bGQtc3lzdGVtKQorICAgIChhcmd1bWVudHMKKyAgICAgYCgjOmluc3RhbGwtcGxhbiAnKCgic3Bl Y3RyZS1tZWx0ZG93bi1jaGVja2VyLnNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICJiaW4v c3BlY3RyZS1tZWx0ZG93bi1jaGVja2VyLnNoIikpCisgICAgICAgIzpwaGFzZXMKKyAgICAgICAo bW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBh Y2sgJ3VuemlwLWludGVsZncKKyAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFs bG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKGludm9rZSAidW56aXAiIChhc3NvYy1yZWYg aW5wdXRzICJpbnRlbGZ3IikpKSkKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ3BhdGNo LXBhdGhzCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1r ZXlzKQorICAgICAgICAgICAgIChsZXQgKChvdXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0Iikp CisgICAgICAgICAgICAgICAgICAgKHBhdGhzIChtYXAKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIChsYW1iZGEgKGlucHV0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n LWFwcGVuZCAoYXNzb2MtcmVmIGlucHV0cyBpbnB1dCkgIi9iaW4iKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICcoImNvcmV1dGlscyIgImdyZXAiICJ1dGlsLWxpbnV4IiAiaXVjb2RlLXRv b2wiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1dGlsLWxpbnV4LXdpdGgtdWRldiIg Imdhd2siICJnemlwIiAibHpvcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImx6b3Ai ICJwZXJsIiAicHJvY3BzIiAic3FsaXRlIiAid2dldCIgIndoaWNoIiAieHoiICJ6c3RkIikpKSkK KyAgICAgICAgICAgICAgIChmb3ItZWFjaAorICAgICAgICAgICAgICAgIChsYW1iZGEgKHByb2dy YW0pCisgICAgICAgICAgICAgICAgICAod3JhcC1wcm9ncmFtCisgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgb3V0ICIvIiBwcm9ncmFtKQorICAgICAgICAgICAgICAgICAgICBg KCJQQVRIIiBwcmVmaXggLHBhdGhzKSkpCisgICAgICAgICAgICAgICAgJygiYmluL3NwZWN0cmUt bWVsdGRvd24tY2hlY2tlci5zaCIpKSkpKSkpKQorICAgIChpbnB1dHMgYCgoImJpbnV0aWxzIiAs YmludXRpbHMpCisgICAgICAgICAgICAgICgiY29yZXV0aWxzIixjb3JldXRpbHMpCisgICAgICAg ICAgICAgICgiZ2F3ayIgLGdhd2spCisgICAgICAgICAgICAgICgiZ3JlcCIgLGdyZXApCisgICAg ICAgICAgICAgICgiZ3ppcCIgLGd6aXApCisgICAgICAgICAgICAgICgiaW50ZWxmdyIsIChvcmln aW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAodXJpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvSW50ZWwtTGludXgtUHJvY2Vzc29yLU1pY3JvY29k ZS1EYXRhLUZpbGVzL2FyY2hpdmUvbWFpbi56aXAiKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzaGEyNTYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2UzMgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIjF6cGYxaDg2NGY5bHFkamY4Njd4ZzVjdzN4cHE0bDMz NWc3ZHFweWwyemhiMTNrazBkaHkiKSkpKQorICAgICAgICAgICAgICAoIml1Y29kZS10b29sIiAs aXVjb2RlLXRvb2wpCisgICAgICAgICAgICAgICgibHpvcCIgLGx6b3ApCisgICAgICAgICAgICAg ICgibWNlZGIiLCAob3JpZ2luCisgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXRob2QgdXJs LWZldGNoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAodXJpICJodHRwczovL2dpdGh1Yi5j b20vcGxhdG9tYXYvTUNFeHRyYWN0b3IvcmF3L21hc3Rlci9NQ0UuZGIiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAoc2hhMjU2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFzZTMy CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFsbXM0cTZnMTdqejdwcXZsOGZjYnBic3h4 ejg0bmF4MTh6aG45YjUzMnN2bGR4ZzdnaDIiKSkpKQorICAgICAgICAgICAgICAoInBlcmwiICxw ZXJsKQorICAgICAgICAgICAgICAoInByb2NwcyIgLHByb2NwcykKKyAgICAgICAgICAgICAgKCJz cWxpdGUiICxzcWxpdGUpCisgICAgICAgICAgICAgICgidW56aXAiICx1bnppcCkKKyAgICAgICAg ICAgICAgKCJ1dGlsLWxpbnV4IiAsdXRpbC1saW51eCkKKyAgICAgICAgICAgICAgKCJ1dGlsLWxp bnV4LXdpdGgtdWRldiIgLHV0aWwtbGludXgrdWRldikKKyAgICAgICAgICAgICAgKCJ3Z2V0IiAs d2dldCkKKyAgICAgICAgICAgICAgKCJ3aGljaCIgLHdoaWNoKQorICAgICAgICAgICAgICAoInh6 IiAseHopCisgICAgICAgICAgICAgICgienN0ZCIgLHpzdGQpKSkKKyAgICAoc3lub3BzaXMgIlNw ZWN0cmUsIE1lbHRkb3duIC4uLiB2dWxuZXJhYmlsaXR5L21pdGlnYXRpb24gY2hlY2tlciIpCisg ICAgKGRlc2NyaXB0aW9uICJBIHNoZWxsIHNjcmlwdCB0byBhc3Nlc3MgeW91ciBzeXN0ZW0ncyBy ZXNpbGllbmNlIGFnYWluc3QKK3RoZSBzZXZlcmFsIHRyYW5zaWVudCBleGVjdXRpb24gQ1ZFcyB0 aGF0IHdlcmUgcHVibGlzaGVkIHNpbmNlIGVhcmx5IDIwMTgsCithbmQgZ2l2ZSB5b3UgZ3VpZGFu Y2UgYXMgdG8gaG93IHRvIG1pdGlnYXRlIHRoZW0uIikKKyAgICAoaG9tZS1wYWdlICJodHRwczov L2dpdGh1Yi5jb20vc3BlZWQ0Ny9zcGVjdHJlLW1lbHRkb3duLWNoZWNrZXIiKQorICAgIChsaWNl bnNlIGxpY2Vuc2U6Z3BsMykpKQorCiAoZGVmaW5lLXB1YmxpYyBzbmFwc2NyZWVuc2hvdAogICAo cGFja2FnZQogICAgIChuYW1lICJzbmFwc2NyZWVuc2hvdCIpCi0tIAoyLjM0LjAKCg== --b1_AgWNADw025ZnXtX8B20vPabwD4z0FogIraOGY8QDs--