From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id oJn5JsqQUGG4kQAAgWs5BA (envelope-from ) for ; Sun, 26 Sep 2021 17:24:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id SCWOIsqQUGFrcQAA1q6Kng (envelope-from ) for ; Sun, 26 Sep 2021 15:24:58 +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 6F68E32F9B for ; Sun, 26 Sep 2021 17:24:57 +0200 (CEST) Received: from localhost ([::1]:47892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mUW1Q-00005i-KW for larch@yhetil.org; Sun, 26 Sep 2021 11:24:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35394) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mUVgz-0003lq-3s for emacs-orgmode@gnu.org; Sun, 26 Sep 2021 11:03:49 -0400 Received: from mail-qv1-f53.google.com ([209.85.219.53]:36675) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mUVgx-0007JP-A1 for emacs-orgmode@gnu.org; Sun, 26 Sep 2021 11:03:48 -0400 Received: by mail-qv1-f53.google.com with SMTP id jo30so9601137qvb.3 for ; Sun, 26 Sep 2021 08:03:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=KWc8L/SWS34nfjXQ66DTgw1DlAhHE9UHgPfDUxhet2Q=; b=4bG6MiadEaKgixIFdpBbeCIxK3d19bP1ld3ul8vx5ZS7dfsrOez+GF3xRPBA/8hX/+ sl8m/sdFc5bPp+vgfEtslN7sdM50lLpntxygiSjZ1b1u21T8XXxiwvz7rt13pFHk9ETa aGt9P8yEVzs5MD6EQesfrsqypYr0YiK52O1V0NPxiIrGwzbE+/AXpLbuBaVVu9R0WhZ+ TC7NGIjcckTlyr7QR6PsC1MVZcYcePS8DkLCcLQXe4SppR9uY1PVcTxs8HH6BpDlN3IR 9L5U0qDqLXcuFmRxEsn2j5zbmEj96b0T065IQKEJDWr0MGPD9QEtC/cBQSbgsHLrTXCd rrgA== X-Gm-Message-State: AOAM532yyrg9M9XyNv0vDFZjjkt4oCVc3l4hMF570q1UaTvJmd35Qz2O iu8KkmmTaEwWsCpUztbrT/O1nA0cVSI= X-Google-Smtp-Source: ABdhPJzPeSimT2src3MdgQzGBbVW/ecbpkaCPX6O1asQRxXjo3EjHRMNOimqEn9e/9FEMvE/zBdgAQ== X-Received: by 2002:ad4:5508:: with SMTP id az8mr19667943qvb.10.1632668625005; Sun, 26 Sep 2021 08:03:45 -0700 (PDT) Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com. [209.85.219.173]) by smtp.gmail.com with ESMTPSA id k17sm8987187qtx.67.2021.09.26.08.03.44 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 26 Sep 2021 08:03:44 -0700 (PDT) Received: by mail-yb1-f173.google.com with SMTP id s18so3226336ybc.0 for ; Sun, 26 Sep 2021 08:03:44 -0700 (PDT) X-Received: by 2002:a05:6902:1005:: with SMTP id w5mr25315418ybt.17.1632668624351; Sun, 26 Sep 2021 08:03:44 -0700 (PDT) MIME-Version: 1.0 From: Steven vanZyl Date: Sun, 26 Sep 2021 11:03:32 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: [PATCH] ob-svgbob: New babel backend for SVGBob To: emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="0000000000006426ce05cce749dc" Received-SPF: pass client-ip=209.85.219.53; envelope-from=rushsteve12@gmail.com; helo=mail-qv1-f53.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 26 Sep 2021 11:24:28 -0400 X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tec@tecosaur.com Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1632669897; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=KWc8L/SWS34nfjXQ66DTgw1DlAhHE9UHgPfDUxhet2Q=; b=EnLnZfnl3WL8LcUlRr+yeFGUaXXoE9tcyJfN+g3qvN/wd+T2vDnb/0LZYylEqgBu+Yp1Oi s6dsKp7m6rV0RPdsRIuoku8O/5bdBs58o7M1LEfmiCyMo1jjOAmQYUm2CaNdO5DtK9OV3q HZaXLzkWjuCqUqukevmNXo9Yi4n6DK4vxW+0uIHIgoBm/r1He1lUn0PFxUr5zbejFAXUr/ pEuOudXyNYghb0/KZJUb+s6tqGqoTPszHPUcM0s0ONq2i3ieP1BpiGCUyM0RqNwwKW1g/b y0p89qt4YXxXH/kw51QrFFWB99o9CCRTi3qnf7OMWNbQH/oDU4xzWS9nhj/HUA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1632669897; a=rsa-sha256; cv=none; b=tf8YTTolxP7mCqjJMtxBdn2j+OhN2WrqgjBy/B7nP2pwn/+lsN7+cEtOpEiPmaoLTJxdK7 mXAz4YOmGe5AijT5vDUX3fP+4KZ60yZaEQe9UF2rT6Ipc259C21cYdWNWoUkdFW7Nob0k4 FvKo7QAMNgglqgyRdiXyz3Vw3qQn2BxBOz3gNtQECLLrYdLTiGI3X1aUkf4GBw4BeV2GUS fO3iVknQaL/2SX0ec0CQCfftUAAoxbK0Mybm23UHZNSFaHUMpb0EZaJZ+/eOmtQrrWJPyN Rc8BgJTlDU+2EDtNMeZAwwMrHkAwMj8/UDFic1/muoqDNf0I9Y38Vea9vn3y0Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -2.79 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 6F68E32F9B X-Spam-Score: -2.79 X-Migadu-Scanner: scn1.migadu.com X-TUID: JDxr36DaPanV --0000000000006426ce05cce749dc Content-Type: text/plain; charset="UTF-8" Hello everyone, Attached is a patch adding Babel support for SVGBob [1] to Org-Mode. SVGBob is a popular CLI tool for transforming freeform ASCII art (like what you can make with artist-mode) into SVG vector images. Unlike dot it does not have a text syntax and is not specifically intended for creating graph diagrams. Examples can be seen here [1]. I consider it suitable for inclusion in Org-mode since it's a fairly small patch which provides support for a fairly popular tool, and is in a niche that's currently not covered by anything else, like ob-dot. This patch was co-developed by Timothy/TEC (as reflected in the commit) and he has volunteered to maintain it. I have also filled out the FSF paperwork for copyright assignment. Feedback and comments are greatly appreciated! Thank you, Steven vanZyl [1]: https://ivanceras.github.io/svgbob-editor/ --0000000000006426ce05cce749dc Content-Type: application/octet-stream; name="0001-ob-svgbob-Babel-support-for-SVGBob.patch" Content-Disposition: attachment; filename="0001-ob-svgbob-Babel-support-for-SVGBob.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ku1coey30 RnJvbSA5NWE5OGM1NzFiZjM2NWY4YTgzZDA0ZjYxZjI2NWNhMDRhZDg1MWQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGV2ZW4gdmFuWnlsIDxydXNoc3RldmUxQHJ1c2hzdGV2ZTEu dXM+CkRhdGU6IFN1biwgMjYgU2VwIDIwMjEgMTA6MzU6MjQgLTA0MDAKU3ViamVjdDogW1BBVENI XSBvYi1zdmdib2I6IE5ldyBiYWJlbCBiYWNrZW5kIGZvciBTVkdCb2IKCiogbGlzcC9vYi1zdmdi b2IuZWw6IEEgbmV3IGJhYmVsIGJhY2tlbmQgZm9yIHRoZSBTVkdCb2IgdG9vbCwKd2hpY2ggY2Fu IGNvbnZlcnQgQVNDSUkgYXJ0IGFwcHJveGltYXRpb25zIGludG8gbXVjaCBuaWNlcgpTVkcgZHJh d2luZ3MuCgpDby1hdXRob3JlZC1ieTogQXV0aG9yOiBURUMgPHRlY0B0ZWNvc2F1ci5jb20+Ci0t LQogbGlzcC9vYi1zdmdib2IuZWwgfCAxMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgbGlzcC9vYi1zdmdib2IuZWwKCmRpZmYgLS1naXQgYS9saXNwL29iLXN2 Z2JvYi5lbCBiL2xpc3Avb2Itc3ZnYm9iLmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uNzUyODQxNTZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9vYi1zdmdib2IuZWwK QEAgLTAsMCArMSwxMTAgQEAKKzs7OyBvYi1zdmdib2IuZWwgLS0tIEJhYmVsIEZ1bmN0aW9ucyBm b3IgU1ZHQm9iIC0qLSBsZXhpY2FsLWJpbmRpbmc6IHQ7IC0qLQorCis7OyBDb3B5cmlnaHQgKEMp IDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKzs7IEF1dGhvcjogU3RldmVu IHZhblp5bCA8cnVzaHN0ZXZlMUBydXNoc3RldmUxLnVzPgorOzsgICAgICAgICBURUMgPHRlY0B0 ZWNvc2F1ci5jb20+Cis7OyBNYWludGFpbmVyOiBUaW1vdGh5IDx0ZWNAdGVjb3NhdXIuY29tPgor OzsgS2V5d29yZHM6IGxpdGVyYXRlIHByb2dyYW1taW5nLCByZXByb2R1Y2libGUgcmVzZWFyY2gK Kzs7IEhvbWVwYWdlOiBodHRwczovL29yZ21vZGUub3JnCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdOVSBFbWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNz IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKworOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBz ZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6CisK Kzs7IE9yZy1CYWJlbCBzdXBwb3J0IGZvciBldmFsdWF0aW5nIGFuZCBTVkdCb2IgZGlhZ3JhbXMu Cis7OyBodHRwczovL2dpdGh1Yi5jb20vaXZhbmNlcmFzL3N2Z2JvYgorCis7OyBUaGlzIGlzIHZl cnkgc2ltaWxhciB0byBvYi1kb3QuZWwgd2l0aCBhIHNpbWlsYXIgbGlzdCBvZiBjYXZlYXRzOgor Cis7OyAqIFRoZXJlIGFyZSBubyBzZXNzaW9ucworOzsgKiBXZSBhcmUgZ2VuZXJhbGx5IG9ubHkg Z29pbmcgdG8gcmV0dXJuIHJlc3VsdHMgb2YgdHlwZSAiZmlsZSBncmFwaGljcyIKKzs7ICogVGhl ICJmaWxlIiBoZWFkZXIgYXJndW1lbnQgaXMgcmVxdWlyZWQKKzs7ICogU1ZHQm9iIGhhcyBubyBk ZWZpbml0ZSBzeW50YXgKKworOzsgVGhpcyBmaWxlIGFsc28gaW5jbHVkZXMgc29tZSBhZGRpdGlv bmFsIHV0aWxpdHkgZnVuY3Rpb25zIGFuZCBhIHNpbXBsZQorOzsgZGVyaXZlZCBtYWpvci1tb2Rl IGZvciBTVkdCb2IKKworOzs7IENvZGU6CisocmVxdWlyZSAnb2IpCisKKyhkZWZjdXN0b20gc3Zn Ym9iLWV4ZWN1dGFibGUgInN2Z2JvYiIKKyAgIlRoZSBwYXRoIHRvIHRoZSBTVkdCb2IgYmluYXJ5 LgorVGhpcyBjYW4gYmUgaW5zdGFsbGVkIGZyb20gc291cmNlIHVzaW5nIGBjYXJnbyBpbnN0YWxs IHN2Z2JvYl9jbGknIgorICA6Z3JvdXAgJ3N2Z2JvYgorICA6dHlwZSAnZmlsZSkKKworKGRlZmN1 c3RvbSBzdmdib2ItYnVmZmVyLW5hbWUgIipzdmdib2Itb3V0cHV0KiIKKyAgIlRoZSBuYW1lIG9m IHRoZSBidWZmZXIgdGhhdCBTVkdCb2Igd2lsbCBvdXRwdXQgdG8iCisgIDpncm91cCAnc3ZnYm9i CisgIDp0eXBlICdzdHJpbmcpCisKKyhkZWZjdXN0b20gb3JnLWJhYmVsLXN2Z2JvYi1vcHRpb25z CisgICcoKGJhY2tncm91bmQgLiAidHJhbnNwYXJlbnQiKSkKKyAgIk9wdGlvbnMgcGFzc2VkIHRv IHRoZSBTVkdCb2IgZXhlY3V0YWJsZSIKKyAgOmdyb3VwICdzdmdib2IKKyAgOnR5cGUgJyhhbGlz dCA6dmFsdWUtdHlwZSAoc3ltYm9sIHN0cmluZykpKQorCis7OyBTbyBgb3JnLWVkaXQtc3BlY2lh bCcgd29ya3MuCis7OyBTaW5jZSBTVkdCb2IgaXMgYmFzZWQgb24gc2ltcGxlIEFTQ0lJIGRpYWdy YW1zIHdpdGhvdXQgYSBkZWZpbml0ZSwgdGhpcyBtb2RlCis7OyBpcyBkZXJpdmVkIGZyb20gYGFy dGlzdC1tb2RlJy4KKyh1bmxlc3MgKGZib3VuZHAgJ3N2Z2JvYi1tb2RlKQorICAoZGVmaW5lLWRl cml2ZWQtbW9kZSBzdmdib2ItbW9kZSBhcnRpc3QtbW9kZSAic3ZnYm9iIikpCisKKyhkZWZ1biBv Yi1zdmdib2Itc3RyaW5nLXRvLXN2ZyAoc3RyKQorICAiQ29udmVydHMgYSBzdHJpbmcgdG8gU1ZH IHRleHQgYW5kIHJldHVybnMgYSBzdHJpbmcgb2YgdGhhdCIKKyAgKG9yZy1iYWJlbC1ldmFsCisg ICAoY29uY2F0IHN2Z2JvYi1leGVjdXRhYmxlICIgIgorICAgICAgICAgICAobWFwY29uY2F0IChs YW1iZGEgKG9wdCkgKGZvcm1hdCAiLS0lcyAlcyAiIChzeW1ib2wtbmFtZSAoY2FyIG9wdCkpIChj ZHIgb3B0KSkpCisgICAgICAgICAgICAgICAgICAgICAgb3JnLWJhYmVsLXN2Z2JvYi1vcHRpb25z CisgICAgICAgICAgICAgICAgICAgICAgIiAiKSkKKyAgIHN0cikpCisKKyhkZWZ1biBvYi1zdmdi b2ItcmVnaW9uLXRvLXN2ZyAoc3RhcnQgZW5kKQorICAiQ29udmVydHMgYSByZWdpb24gdG8gU1ZH IHRleHQgaW4gYSBuZXcgYnVmZmVyIgorICAoaW50ZXJhY3RpdmUgInIiKQorICAobGV0ICgoc3Ry IChvYi1zdmdib2Itc3RyaW5nLXRvLXN2ZyAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVz IHN0YXJ0IGVuZCkpKSkKKyAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0LWJ1ZmZlci1jcmVh dGUgc3ZnYm9iLWJ1ZmZlci1uYW1lKQorICAgICAgKHJlYWQtb25seS1tb2RlIDApIDsgRGlzYWJs ZSByZWFkLW9ubHkKKyAgICAgIChmdW5kYW1lbnRhbC1tb2RlKSA7IFJlcXVpcmVkIHRvIGVyYXNl IHRoZSBidWZmZXIKKyAgICAgIChlcmFzZS1idWZmZXIpCisgICAgICAoaW5zZXJ0IHN0cikKKyAg ICAgIChpbWFnZS1tb2RlKQorICAgICAgKHJlYWQtb25seS1tb2RlKQorICAgICAgKGRpc3BsYXkt YnVmZmVyLWluLXNpZGUtd2luZG93IChjdXJyZW50LWJ1ZmZlcikgJygoc2lkZSAuIHJpZ2h0KSkp KSkpCisKKyhkZWZ1biBvYi1zdmdib2ItYnVmZmVyLXRvLXN2ZyAoKQorICAiQ29udmVydHMgYSBi dWZmZXIgdG8gU1ZHIHRleHQgaW4gYSBuZXcgYnVmZmVyLgorU2VlIGBzdmdib2ItcmVnaW9uLXRv LXN2ZycgZm9yIG1vcmUiCisgIChpbnRlcmFjdGl2ZSkKKyAgKG9iLXN2Z2JvYi1yZWdpb24tdG8t c3ZnIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkKKworKGRlZnZhciBvcmctYmFiZWwtZGVmYXVs dC1oZWFkZXItYXJnczpzdmdib2IKKyAgJygoOnJlc3VsdHMgLiAiZmlsZSBncmFwaGljcyIpICg6 ZXhwb3J0cyAuICJyZXN1bHRzIikpCisgICJEZWZhdWx0IGFyZ3VtZW50cyB0byB1c2Ugd2hlbiBl dmFsdWF0aW5nIGEgZG90IHNvdXJjZSBibG9jay4iKQorCisoZGVmdW4gb3JnLWJhYmVsLWV4ZWN1 dGU6c3ZnYm9iIChib2R5IHBhcmFtcykKKyAgKGlmIChhbGlzdC1nZXQgOmZpbGUgcGFyYW1zKQor ICAgICAgKG9iLXN2Z2JvYi1zdHJpbmctdG8tc3ZnIGJvZHkpCisgICAgKHVzZXItZXJyb3IgIllv dSBuZWVkIHRvIHNwZWNpZnkgYSA6ZmlsZSBwYXJhbWV0ZXIiKSkpCisKKyhkZWZ1biBvcmctYmFi ZWwtcHJlcC1zZXNzaW9uOnN2Z2JvYiAoX3Nlc3Npb24gX3BhcmFtcykKKyAgIlJldHVybiBhbiBl cnJvciBiZWNhdXNlIFNWR0JvYiBkb2VzIG5vdCBzdXBwb3J0IHNlc3Npb25zLiIKKyAgKHVzZXIt ZXJyb3IgIlNWR0JvYiBkb2VzIG5vdCBzdXBwb3J0IHNlc3Npb25zIikpCisKKyhwcm92aWRlICdv Yi1zdmdib2IpCisKKzs7OyBvYi1zdmdib2IuZWwgZW5kcyBoZXJlCi0tIAoyLjMzLjAKCg== --0000000000006426ce05cce749dc--