From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: What's missing in ELisp that makes people want to use cl-lib? Date: Tue, 21 Nov 2023 04:22:55 +0200 Message-ID: References: <9ab5d2bd-a648-cae0-a4a7-ae86be10af0f@gutov.dev> <87r0kuqxbf.fsf@gmail.com> <54e115a2-fc36-3056-a030-0dbf32416ddb@gutov.dev> <43f290b0-4119-597b-c89a-0fb4c7db1665@gutov.dev> <1e7fe1ef-af7d-3222-7b9e-b569b3c97ccf@gutov.dev> <22e4cb4d-a8f3-1530-881d-b8c59c5d969b@gutov.dev> <339b58d6-5a44-8393-c2cd-4c935147dde3@gutov.dev> <877cmhrcsf.fsf@gmail.com> <3341d985-ec82-7702-53c0-9b083c63f18b@gutov.dev> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------PlLNyLPCpSIQ7H59Wo90Kpqa" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35958"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: =?UTF-8?Q?Gerd_M=c3=b6llmann?= , Eli Zaretskii , michael_heerdegen@web.de, emacs-devel@gnu.org To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 21 03:24:06 2023 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 1r5GQm-00096q-FT for ged-emacs-devel@m.gmane-mx.org; Tue, 21 Nov 2023 03:24:05 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r5GPz-0000Lq-JD; Mon, 20 Nov 2023 21:23:15 -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 1r5GPy-0000Li-Nx for emacs-devel@gnu.org; Mon, 20 Nov 2023 21:23:14 -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 1r5GPm-0001KA-O7; Mon, 20 Nov 2023 21:23:14 -0500 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 1C43F3200E06; Mon, 20 Nov 2023 21:23:00 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 20 Nov 2023 21:23:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1700533379; x=1700619779; bh=ts SJr0PLcAZcTtCrvXmsBPI30lMmdqIzmxx+1hd0BQ4=; b=boAE1QXUfvJ8L+sRw6 y81jdp7q5WHresrs/wItjHMVZIb0DYtO2eP6TLGBzQFFkvWIA84Hiio8zAWN9pEM jUzgj5Fg1PXmMkPFc5coO81SC9QNVnnc9i8F3Gc2wYYWT4+YNJDd5OiQkAWbauGQ ZcUhJkghszaoobl2TkFGQzFEUSEPOg2DwoQyqO1uECnNGoltdOV/35R5XQv2oACn drEjbgWGqJDCq5KsN99pbiM3UnJ3luZVBqUo7sCfpkKNpTThlhkR5f4+3jYO4XYw boDFrwipndexwxrkU6KqsrG3xkqMXAFqdgR7NAXx0L2R+yPmw4YiDK3ktfVEx0fa heEQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1700533379; x=1700619779; bh=tsSJr0PLcAZcT tCrvXmsBPI30lMmdqIzmxx+1hd0BQ4=; b=eFSqoNbgLvizI/qtot6BqBTiqOrlM TYy65tC9gMLyAMUWUx6O7zUyWrerpcYIhLbU0MZUzjDAwz7dHDIfQkPbIw7IQKq1 7zCmeuMb0Np9WKORQClLHY5yv3b3kw8ijK43KiswXsRWkexLtfyemaWxCHhvTg/O n/FRrgc9GDfjgF6we9r2bCYlJzpHHd4cncPkewJ3XS9p3ZqoL7W5/uIypUy5EFqC dCR5w+ZSgV75EI4ABrZ4/EncPHGBq9HaahLeBdf3OLHjBgfv9qgvnxpNCTwS90xe OCffAppsJFKQGUXKNxM/9G5LyeFjFxkFXzveS6piXZRI1eHGi/OSdMp9w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudegkedggeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuhffvvehfjgesmhdtreertdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeeiheegkeetgffghefhgeeiveeuudegvdeuteffhfettdelleehkeffledvuddt leenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 20 Nov 2023 21:22:57 -0500 (EST) Content-Language: en-US In-Reply-To: <3341d985-ec82-7702-53c0-9b083c63f18b@gutov.dev> Received-SPF: pass client-ip=64.147.123.19; envelope-from=dmitry@gutov.dev; helo=wout3-smtp.messagingengine.com X-Spam_score_int: -67 X-Spam_score: -6.8 X-Spam_bar: ------ X-Spam_report: (-6.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-4.009, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-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:313080 Archived-At: This is a multi-part message in MIME format. --------------PlLNyLPCpSIQ7H59Wo90Kpqa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 17/11/2023 04:09, Dmitry Gutov wrote: > I can evaluate individual joaot/with-benchmark-group forms, and they > print -- how'd you call it -- minified Lisp data to messages, but it's > not formatted the same way as in your results.txt, nor is it easy to get > out of the -nw session because the clipboard is naturally not shared. Is > -nw needed? I expected it'd be used to print something to stdout. OK, I used just that, as well as 'benchmark-run-compiled' inside 'joaot/bench' instead of the complex expression which chose whether to compile a form. Here are some results. 0) "mine" - just running the tests on your branch. 1) "mine-proper" - is me splitting of the typecheck into a separate method. Not an optimization, just better code. 2) "mine-proper+astoff" - including Augusto's optimization as well. Notably, seq-some gets ahead on big lists by about 1.2x. Not sure how reliable this number is, though. 3) "astoff" - just Augusto's patch. In some cases it's faster than 2 because of no extra dispatch (or multimorphic methods, I guess), but the order-of-magnitude difference is still there in many set-difference examples. Loading m6sparse.el (using (load (expand-file-name "../m6sparse.el" load-file-name)) at the top) didn't seem to affect the results of (2) too much, though it brought -- predictably -- the performance of seq-difference (the original version) further down. Though the results fluctuate a lot, so I might have missed some. --------------PlLNyLPCpSIQ7H59Wo90Kpqa Content-Type: text/plain; charset=UTF-8; name="results-astoff.txt" Content-Disposition: attachment; filename="results-astoff.txt" Content-Transfer-Encoding: base64 KCgiZGVzdHJ1Y3R1cmluZyIKICAoY2wtZGVzdHJ1Y3R1cmluZy1iaW5kICJGQVNURVNUIiAw LjAwODcxNjEzMzAwMDAwMDAwMSAwIDAuMCkKICAocGNhc2UtbGV0ICIxLjJ4IFNMT1dFUiIg MC4wMTAyNDM0ODYgMCAwLjApCiAgKHNlcS1sZXQgIjMuMXggKHJlbCAyLjd4KSBTTE9XRVIi IDAuMDI3MjE0MjQzIDAgMC4wKSkKICgiXCJzb21lXCIgb3BlcmF0aW9uLCBzbWFsbCBsaXN0 cyIKICAoc2VxLXNvbWUgIkZBU1RFU1QiIDAuMDI0MjgxNzQgMCAwLjApCiAgKGNsLXNvbWUg IjEuMHggU0xPV0VSIiAwLjAyNDQyMzEgMCAwLjApKQogKCJcInNvbWVcIiBvcGVyYXRpb24s IGJpZyBsaXN0cyIKICAoc2VxLXNvbWUgIkZBU1RFU1QiIDAuMTkxNjcyMDIzIDAgMC4wKQog IChjbC1zb21lICIxLjB4IFNMT1dFUiIgMC4xOTc1Nzk2MzIgMCAwLjApKQogKCJzZXQgZGlm ZmVyZW5jZSwgc21hbGwgbGlzdHMsIGN1c3RvbSBwcmVkIgogIChjbC1uc2V0LWRpZmZlcmVu Y2UgIkZBU1RFU1QiIDAuMTAyOTU0Nzc0IDUgMC4wMzQyMjI5OTcwMDAwMDAwMykKICAoY2wt c2V0LWRpZmZlcmVuY2UgIjYuM3ggU0xPV0VSIiAwLjY1MDMxNDg3MiAxNCAwLjA4OTQxMTUy NDk5OTk5OTk0KQogIChzZXEtZGlmZmVyZW5jZSAiNy45eCAocmVsIDEuMngpIFNMT1dFUiIg MC44MTI2MDE0MjI5OTk5OTk5IDIyIDAuMTM4MzM1OTA5MDAwMDAwMDMpKQogKCJzZXQgZGlm ZmVyZW5jZSwgYmlnIGxpc3RzLCBjdXN0b20gcHJlZCIKICAoY2wtbnNldC1kaWZmZXJlbmNl ICJGQVNURVNUIiAwLjAwOTEwNTAxNyAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjQu OXggU0xPV0VSIiAwLjA0NDgwODU3Njk5OTk5OTk5NSAwIDAuMCkKICAoc2VxLWRpZmZlcmVu Y2UgIjYuM3ggKHJlbCAxLjN4KSBTTE9XRVIiIDAuMDU3NDQ0ODc5MDAwMDAwMDA0IDEgMC4w MDY0MTk2MjAwMDAwMDAwMTUpKQogKCJzZXQgZGlmZmVyZW5jZSwgc21hbGwgbGlzdHMsICMn ZXFsIHByZWQiCiAgKGNsLW5zZXQtZGlmZmVyZW5jZSAiRkFTVEVTVCIgMC4wMTk4MjcyMjIg MCAwLjApCiAgKGNsLXNldC1kaWZmZXJlbmNlICI2LjR4IFNMT1dFUiIgMC4xMjcxNDcyNTc5 OTk5OTk5OSA5IDAuMDU0MDUxOTU0MDAwMDAwMDEpCiAgKHNlcS1kaWZmZXJlbmNlICIzMS43 eCAocmVsIDQuOXgpIFNMT1dFUiIgMC42Mjg5NjkyMSAyMSAwLjEzMDMxMDQyNykpCiAoInNl dCBkaWZmZXJlbmNlLCBiaWcgbGlzdHMsICMnZXFsIHByZWQiCiAgKGNsLW5zZXQtZGlmZmVy ZW5jZSAiRkFTVEVTVCIgMC4wMDA4MjYzMDMgMCAwLjApCiAgKGNsLXNldC1kaWZmZXJlbmNl ICIxOC44eCBTTE9XRVIiIDAuMDE1NTU5NjE4OTk5OTk5OTk4IDEgMC4wMDY0NjY2MDAwMDAw MDAwNDQ1KQogIChzZXEtZGlmZmVyZW5jZSAiOTguMXggKHJlbCA1LjJ4KSBTTE9XRVIiIDAu MDgxMDYyMTIyIDEgMC4wMDc0ODIzMzE5OTk5OTk5ODA0KSkKICgic2V0IGRpZmZlcmVuY2Us IHNtYWxsIGxpc3RzLCAjJ2VxdWFsIHByZWQiCiAgKGpvYW90L2hhbmRyb2xsZWQtbnNldC1k aWZmZXJlbmNlICJGQVNURVNUIiAwLjAxMTg0Mzk0OCAwIDAuMCkKICAoY2wtbnNldC1kaWZm ZXJlbmNlICIzLjN4IFNMT1dFUiIgMC4wMzk2MDQxNzYgMiAwLjAxMzMwNjUwNDk5OTk5OTk5 NikKICAoZG1pdHJ5L3NldC1kaWZmZXJlbmNlLW5vY29ucyAiOC4weCAocmVsIDIuNHgpIFNM T1dFUiIgMC4wOTUxOTI3NjYwMDAwMDAwMSAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVuY2Ug IjE1LjR4IChyZWwgMS45eCkgU0xPV0VSIiAwLjE4MjkzNzYyNSAxMCAwLjA2MTUzOTUyOTk5 OTk5OTk5NSkKICAoc2VxLWRpZmZlcmVuY2UgIjU3LjF4IChyZWwgMy43eCkgU0xPV0VSIiAw LjY3NjA5NTk4MiAyMSAwLjEyOTUyNTE5MikpCiAoInNldCBkaWZmZXJlbmNlLCBiaWcgbGlz dHMsICMnZXF1YWwgcHJlZCIKICAoY2wtbnNldC1kaWZmZXJlbmNlICJGQVNURVNUIiAwLjAw MzA5NTU4ODk5OTk5OTk5OTcgMCAwLjApCiAgKGpvYW90L2hhbmRyb2xsZWQtbnNldC1kaWZm ZXJlbmNlICIyLjF4IFNMT1dFUiIgMC4wMDY1NTAwMTggMCAwLjApCiAgKGRtaXRyeS9zZXQt ZGlmZmVyZW5jZS1ub2NvbnMgIjQuOXggKHJlbCAyLjN4KSBTTE9XRVIiIDAuMDE1MDIzMDI3 MDAwMDAwMDAxIDAgMC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiOC4yeCAocmVsIDEuN3gp IFNMT1dFUiIgMC4wMjU0MzUzNTUgMSAwLjAwNzA0OTkzMTk5OTk5OTk5NSkKICAoc2VxLWRp ZmZlcmVuY2UgIjI4LjJ4IChyZWwgMy40eCkgU0xPV0VSIiAwLjA4NzI3NjM2OCAxIDAuMDA2 NjIzMDczKSkpCg== --------------PlLNyLPCpSIQ7H59Wo90Kpqa Content-Type: text/plain; charset=UTF-8; name="results-mine.txt" Content-Disposition: attachment; filename="results-mine.txt" Content-Transfer-Encoding: base64 KCgiZGVzdHJ1Y3R1cmluZyIgKGNsLWRlc3RydWN0dXJpbmctYmluZCAiRkFTVEVTVCIgMC4w MDc1MDg1NDggMCAwLjApCiAgKHBjYXNlLWxldCAiMS4zeCBTTE9XRVIiIDAuMDEwMDQwMjY0 IDAgMC4wKQogIChzZXEtbGV0ICIzLjN4IChyZWwgMi41eCkgU0xPV0VSIiAwLjAyNTA2NTI5 NDAwMDAwMDAwMiAwIDAuMCkKICgiXCJzb21lXCIgb3BlcmF0aW9uLCBzbWFsbCBsaXN0cyIK ICAoY2wtc29tZSAiRkFTVEVTVCIgMC4wMjM2MzMwMjkgMCAwLjApCiAgKHNlcS1zb21lICIy LjJ4IFNMT1dFUiIgMC4wNTI0NjU1OTYgMSAwLjAwNzY3NDU1MTAwMDAwMDAyOSkKICgiXCJz b21lXCIgb3BlcmF0aW9uLCBiaWcgbGlzdHMiCiAgKGNsLXNvbWUgIkZBU1RFU1QiIDAuMTk1 OTkzOTI1IDAgMC4wKQogIChzZXEtc29tZSAiMS42eCBTTE9XRVIiIDAuMzE1ODQxNTA4IDAg MC4wKQogKCJzZXQgZGlmZmVyZW5jZSwgc21hbGwgbGlzdHMsIGN1c3RvbSBwcmVkIgogIChj bC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMTAwOTA5NTAyIDUgMC4wMzQ0MTc3NjQw MDAwMDAwNykKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjYuNHggU0xPV0VSIiAwLjY0NzM5Mjgw NTk5OTk5OTkgMTQgMC4wOTAxNzYxMjMpCiAgKHNlcS1kaWZmZXJlbmNlLTMgIjEzLjZ4IChy ZWwgMi4xeCkgU0xPV0VSIiAxLjM3MDQ4ODkzNzAwMDAwMDIgNjggMC40Mjk1OTY0MDU5OTk5 OTk5MykKICAoc2VxLWRpZmZlcmVuY2UgIjE0LjF4IChyZWwgMS4weCkgU0xPV0VSIiAxLjQy NDY0MjI3IDc1IDAuNDYxMzU0NjE4MDAwMDAwMSkpCiAoInNldCBkaWZmZXJlbmNlLCBiaWcg bGlzdHMsIGN1c3RvbSBwcmVkIgogIChjbC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAu MDA4NTgzOTYzIDAgMC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiNi43eCBTTE9XRVIiIDAu MDU3MTM3NTE3IDEgMC4wMDcyODY1NjYwMDAwMDAxMDUpCiAgKHNlcS1kaWZmZXJlbmNlLTMg IjEwLjN4IChyZWwgMS42eCkgU0xPV0VSIiAwLjA4ODgxMTEwOCAzIDAuMDIwMjczODc2OTk5 OTk5OTQpCiAgKHNlcS1kaWZmZXJlbmNlICIxMC45eCAocmVsIDEuMXgpIFNMT1dFUiIgMC4w OTM2MzkzNTEwMDAwMDAwMSAzIDAuMDIwNjQyODk3MDAwMDAwMTA0KSkKICgic2V0IGRpZmZl cmVuY2UsIHNtYWxsIGxpc3RzLCAjJ2VxbCBwcmVkIgogIChjbC1uc2V0LWRpZmZlcmVuY2Ug IkZBU1RFU1QiIDAuMDE5NzMzOTkxIDAgMC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiNi4y eCBTTE9XRVIiIDAuMTIyMDU5NjA3IDggMC4wNDg2MjIzNjgwMDAwMDAwMykKICAoc2VxLWRp ZmZlcmVuY2UtMyAiMTEuNXggKHJlbCAxLjl4KSBTTE9XRVIiIDAuMjI2MTU3NjcgMTcgMC4x MDQxNDA4NTA5OTk5OTk5MikKICAoc2VxLWRpZmZlcmVuY2UgIjYzLjF4IChyZWwgNS41eCkg U0xPV0VSIiAxLjI0NDY5MTQ4MDk5OTk5OTggNzUgMC40NDcxNjIxOTM5OTk5OTk5NikpCiAo InNldCBkaWZmZXJlbmNlLCBiaWcgbGlzdHMsICMnZXFsIHByZWQiCiAgKGNsLW5zZXQtZGlm ZmVyZW5jZSAiRkFTVEVTVCIgMC4wMDA4Mjc1ODQgMCAwLjApCiAgKGNsLXNldC1kaWZmZXJl bmNlICIxOC44eCBTTE9XRVIiIDAuMDE1NTE3MjQ5IDEgMC4wMDY4OTQxNTEwMDAwMDAwMTUp CiAgKHNlcS1kaWZmZXJlbmNlLTMgIjIzLjl4IChyZWwgMS4zeCkgU0xPV0VSIiAwLjAxOTc1 NjYxNiAxIDAuMDA2NzQ1MDYwOTk5OTk5OTk3KQogIChzZXEtZGlmZmVyZW5jZSAiMjAwLjh4 IChyZWwgOC40eCkgU0xPV0VSIiAwLjE2NjIxNjE1MTk5OTk5OTk4IDcgMC4wNDg0MDEzOTE5 OTk5OTk5OSkpCiAoInNldCBkaWZmZXJlbmNlLCBzbWFsbCBsaXN0cywgIydlcXVhbCBwcmVk IgogIChqb2FvdC9oYW5kcm9sbGVkLW5zZXQtZGlmZmVyZW5jZSAiRkFTVEVTVCIgMC4wMTE3 OTA0MiAwIDAuMCkKICAoY2wtbnNldC1kaWZmZXJlbmNlICIyLjh4IFNMT1dFUiIgMC4wMzI5 NzAzODQgMSAwLjAwNjUxNzkxMykKICAoZG1pdHJ5L3NldC1kaWZmZXJlbmNlLW5vY29ucyAi Ny45eCAocmVsIDIuOHgpIFNMT1dFUiIgMC4wOTMzMjM5MDkwMDAwMDAwMSAwIDAuMCkKICAo Y2wtc2V0LWRpZmZlcmVuY2UgIjE1Ljh4IChyZWwgMi4weCkgU0xPV0VSIiAwLjE4NjEyODg4 MTAwMDAwMDAyIDEwIDAuMDYxODc0MTYxKQogIChzZXEtZGlmZmVyZW5jZS0zICIyMy41eCAo cmVsIDEuNXgpIFNMT1dFUiIgMC4yNzY5ODc2MjYgMTcgMC4xMDgxMTM1MzQ5OTk5OTk5OCkK ICAoc2VxLWRpZmZlcmVuY2UgIjMyLjB4IChyZWwgMS40eCkgU0xPV0VSIiAwLjM3Njc1Mjkw MiAyNSAwLjE1MjQ4OTg2OSkpCiAoInNldCBkaWZmZXJlbmNlLCBiaWcgbGlzdHMsICMnZXF1 YWwgcHJlZCIKICAoam9hb3QvaGFuZHJvbGxlZC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1Qi IDAuMDAzMTMyNzYxIDAgMC4wKQogIChjbC1uc2V0LWRpZmZlcmVuY2UgIjEuMnggU0xPV0VS IiAwLjAwMzgzMyAwIDAuMCkKICAoZG1pdHJ5L3NldC1kaWZmZXJlbmNlLW5vY29ucyAiNS42 eCAocmVsIDQuNngpIFNMT1dFUiIgMC4wMTc0NTExMzQgMCAwLjApCiAgKGNsLXNldC1kaWZm ZXJlbmNlICI4LjN4IChyZWwgMS41eCkgU0xPV0VSIiAwLjAyNTg4OTYyNiAxIDAuMDA2NzA2 Mjc0OTk5OTk5OTk4KQogIChzZXEtZGlmZmVyZW5jZS0zICI5LjJ4IChyZWwgMS4xeCkgU0xP V0VSIiAwLjAyODkzNTg4OCAxIDAuMDA2NDc5Mzc4MDAwMDAwMDAxKQogIChzZXEtZGlmZmVy ZW5jZSAiMTEuNHggKHJlbCAxLjJ4KSBTTE9XRVIiIDAuMDM1NzIyNTUxIDEgMC4wMDcwNTQx MDU5OTk5OTk5OTc1KSkKICkK --------------PlLNyLPCpSIQ7H59Wo90Kpqa Content-Type: text/plain; charset=UTF-8; name="results-mine-proper.txt" Content-Disposition: attachment; filename="results-mine-proper.txt" Content-Transfer-Encoding: base64 KCgiZGVzdHJ1Y3R1cmluZyIKICAoY2wtZGVzdHJ1Y3R1cmluZy1iaW5kICJGQVNURVNUIiAw LjAwODM3NDM5MSAwIDAuMCkKICAocGNhc2UtbGV0ICIxLjN4IFNMT1dFUiIgMC4wMTA0NzUy IDAgMC4wKQogIChzZXEtbGV0ICIzLjF4IChyZWwgMi41eCkgU0xPV0VSIiAwLjAyNjExNDMz NSAwIDAuMCkpCiAoIlwic29tZVwiIG9wZXJhdGlvbiwgc21hbGwgbGlzdHMiCiAgKGNsLXNv bWUgIkZBU1RFU1QiIDAuMDIzOTk0NDc5IDAgMC4wKQogIChzZXEtc29tZSAiMi45eCBTTE9X RVIiIDAuMDcwMDc5OTE1OTk5OTk5OTkgMyAwLjAyMTIxNzU4NTAwMDAwMDA0KSkKICgiXCJz b21lXCIgb3BlcmF0aW9uLCBiaWcgbGlzdHMiCiAgKGNsLXNvbWUgIkZBU1RFU1QiIDAuMjAx Mjk2MTcxMDAwMDAwMDIgMCAwLjApCiAgKHNlcS1zb21lICIxLjd4IFNMT1dFUiIgMC4zNTAx MDc0MDggMCAwLjApKQogKCJzZXQgZGlmZmVyZW5jZSwgc21hbGwgbGlzdHMsIGN1c3RvbSBw cmVkIgogIChjbC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMTAzNDIwNTcyIDUgMC4w MzQzODA5MjAwMDAwMDAyNikKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjYuNnggU0xPV0VSIiAw LjY3NzYzOTcyMyAxNyAwLjExMzMzMzE4OTk5OTk5OTg2KQogIChzZXEtZGlmZmVyZW5jZSAi MTUuNXggKHJlbCAyLjR4KSBTTE9XRVIiIDEuNjAzNDg3MDY4OTk5OTk5OCA5MSAwLjYwMjkx NTgyNDAwMDAwMDEpCiAgKHNlcS1kaWZmZXJlbmNlLTMgIjE1LjZ4IChyZWwgMS4weCkgU0xP V0VSIiAxLjYxMDQxNjYyNSA4OCAwLjY0MDg0ODU2ODk5OTk5OTkpKQogKCJzZXQgZGlmZmVy ZW5jZSwgYmlnIGxpc3RzLCBjdXN0b20gcHJlZCIKICAoY2wtbnNldC1kaWZmZXJlbmNlICJG QVNURVNUIiAwLjAwODU4NjUxODk5OTk5OTk5OSAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVu Y2UgIjUuN3ggU0xPV0VSIiAwLjA0OTAxMDQxMTk5OTk5OTk5NiAwIDAuMCkKICAoc2VxLWRp ZmZlcmVuY2UtMyAiMTIuMHggKHJlbCAyLjF4KSBTTE9XRVIiIDAuMTAzMTE2OTQ4IDQgMC4w Mjg3MjA3MzI5OTk5OTk4ODcpCiAgKHNlcS1kaWZmZXJlbmNlICIxMi40eCAocmVsIDEuMHgp IFNMT1dFUiIgMC4xMDYyNjEyNTkgNCAwLjAyOTQzNzQ2NDk5OTk5OTk5NikpCiAoInNldCBk aWZmZXJlbmNlLCBzbWFsbCBsaXN0cywgIydlcWwgcHJlZCIKICAoY2wtbnNldC1kaWZmZXJl bmNlICJGQVNURVNUIiAwLjAxOTIyOTY2MiAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVuY2Ug IjcuNnggU0xPV0VSIiAwLjE0NTk0MzI5OCAxMSAwLjA3MTM0MjEwNDAwMDAwMDA3KQogIChz ZXEtZGlmZmVyZW5jZS0zICIxNi45eCAocmVsIDIuMngpIFNMT1dFUiIgMC4zMjQwOTMwOTM5 OTk5OTk5NyAyNyAwLjE3MzY2Njg3ODk5OTk5OTc3KQogIChzZXEtZGlmZmVyZW5jZSAiNzQu NHggKHJlbCA0LjR4KSBTTE9XRVIiIDEuNDMwOTYzNDg3IDkwIDAuNjEwNTE3NTA0KSkKICgi c2V0IGRpZmZlcmVuY2UsIGJpZyBsaXN0cywgIydlcWwgcHJlZCIKICAoY2wtbnNldC1kaWZm ZXJlbmNlICJGQVNURVNUIiAwLjAwMDgxNzU4MjAwMDAwMDAwMDEgMCAwLjApCiAgKGNsLXNl dC1kaWZmZXJlbmNlICIxOC43eCBTTE9XRVIiIDAuMDE1Mjg3NzIgMSAwLjAwNjA4MTU3NDAw MDAwMDA4OTUpCiAgKHNlcS1kaWZmZXJlbmNlLTMgIjI0LjR4IChyZWwgMS4zeCkgU0xPV0VS IiAwLjAxOTk0NjY3NiAxIDAuMDA2ODM2MDE0MDAwMDAwMDAxKQogIChzZXEtZGlmZmVyZW5j ZSAiMjA4Ljd4IChyZWwgOC42eCkgU0xPV0VSIiAwLjE3MDY1MTg5MiA3IDAuMDUxNTAyNzQ5 OTk5OTk5OTMpKQogKCJzZXQgZGlmZmVyZW5jZSwgc21hbGwgbGlzdHMsICMnZXF1YWwgcHJl ZCIKICAoam9hb3QvaGFuZHJvbGxlZC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMDEz MTg4NDQwOTk5OTk5OTk5IDAgMC4wKQogIChjbC1uc2V0LWRpZmZlcmVuY2UgIjMuMHggU0xP V0VSIiAwLjAzOTc5MzUxMyAyIDAuMDEzNDM1MDg1OTk5OTk5OTk5KQogIChkbWl0cnkvc2V0 LWRpZmZlcmVuY2Utbm9jb25zICI3LjJ4IChyZWwgMi40eCkgU0xPV0VSIiAwLjA5NDQzNjk1 MTk5OTk5OTk5IDAgMC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiMTYuMXggKHJlbCAyLjJ4 KSBTTE9XRVIiIDAuMjEyMTEzMTc3OTk5OTk5OTkgMTIgMC4wODA5NzI3NykKICAoc2VxLWRp ZmZlcmVuY2UtMyAiMjkuNHggKHJlbCAxLjh4KSBTTE9XRVIiIDAuMzg3MzU4MDM1OTk5OTk5 OTYgMjggMC4xODQ3MzgyMjg5OTk5OTk5OCkKICAoc2VxLWRpZmZlcmVuY2UgIjMyLjN4IChy ZWwgMS4xeCkgU0xPV0VSIiAwLjQyNjE4MDg4MSAyOSAwLjE5NTYxOTU1Njk5OTk5OTk3KSkK ICgic2V0IGRpZmZlcmVuY2UsIGJpZyBsaXN0cywgIydlcXVhbCBwcmVkIgogIChjbC1uc2V0 LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMDAyNzI4NTc2IDAgMC4wKQogIChqb2FvdC9oYW5k cm9sbGVkLW5zZXQtZGlmZmVyZW5jZSAiNS4weCBTTE9XRVIiIDAuMDEzNTE3MjQxIDEgMC4w MDg5Mzc0NTYpCiAgKGRtaXRyeS9zZXQtZGlmZmVyZW5jZS1ub2NvbnMgIjguN3ggKHJlbCAx Ljh4KSBTTE9XRVIiIDAuMDIzNzIzNTQ1OTk5OTk5OTk4IDAgMC4wKQogIChzZXEtZGlmZmVy ZW5jZS0zICIxMC40eCAocmVsIDEuMngpIFNMT1dFUiIgMC4wMjgzMDQ5NTcgMSAwLjAwNjE0 NDUwMTAwMDAwMDAwNCkKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjEwLjR4IChyZWwgMS4weCkg U0xPV0VSIiAwLjAyODQ4MzM4OSAxIDAuMDA3NzI4ODY1KQogIChzZXEtZGlmZmVyZW5jZSAi MTUuOXggKHJlbCAxLjV4KSBTTE9XRVIiIDAuMDQzNTA4MzM3OTk5OTk5OTk0IDIgMC4wMTQ0 Mjk1ODEpKSkK --------------PlLNyLPCpSIQ7H59Wo90Kpqa Content-Type: text/plain; charset=UTF-8; name="results-mine-proper+astoff.txt" Content-Disposition: attachment; filename="results-mine-proper+astoff.txt" Content-Transfer-Encoding: base64 KCgiZGVzdHJ1Y3R1cmluZyIKICAoY2wtZGVzdHJ1Y3R1cmluZy1iaW5kICJGQVNURVNUIiAw LjAwODgwNTE5MyAwIDAuMCkKICAocGNhc2UtbGV0ICIxLjJ4IFNMT1dFUiIgMC4wMTA1Mjg1 NjcgMCAwLjApCiAgKHNlcS1sZXQgIjMuMHggKHJlbCAyLjV4KSBTTE9XRVIiIDAuMDI2MjEy MTc1IDAgMC4wKSkKICgiXCJzb21lXCIgb3BlcmF0aW9uLCBzbWFsbCBsaXN0cyIKICAoY2wt c29tZSAiRkFTVEVTVCIgMC4wMjQyODIyMzY5OTk5OTk5OTggMCAwLjApCiAgKHNlcS1zb21l ICIxLjF4IFNMT1dFUiIgMC4wMjU1NzMwNjIgMCAwLjApKQogKCJcInNvbWVcIiBvcGVyYXRp b24sIGJpZyBsaXN0cyIKICAoc2VxLXNvbWUgIkZBU1RFU1QiIDAuMTk3MjY1MjUzIDAgMC4w KQogIChjbC1zb21lICIxLjJ4IFNMT1dFUiIgMC4yMzc3NzQ4NDc5OTk5OTk5OCAwIDAuMCkp CiAoInNldCBkaWZmZXJlbmNlLCBzbWFsbCBsaXN0cywgY3VzdG9tIHByZWQiCiAgKGNsLW5z ZXQtZGlmZmVyZW5jZSAiRkFTVEVTVCIgMC4xMDg0MTUwOTggNSAwLjAzODg4NDQ3NTAwMDAw MDAzKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiNi4zeCBTTE9XRVIiIDAuNjgxOTUzMjgzIDE3 IDAuMTA4ODI1ODY2OTk5OTk5OTcpCiAgKHNlcS1kaWZmZXJlbmNlICI4LjJ4IChyZWwgMS4z eCkgU0xPV0VSIiAwLjg4OTMxMTU2NCAyNiAwLjE3NzQyMjIxMzk5OTk5OTkpCiAgKHNlcS1k aWZmZXJlbmNlLTMgIjguOHggKHJlbCAxLjF4KSBTTE9XRVIiIDAuOTU4NTY4NjM4IDMzIDAu MjI2MjEzMjk5MDAwMDAwMSkpCiAoInNldCBkaWZmZXJlbmNlLCBiaWcgbGlzdHMsIGN1c3Rv bSBwcmVkIgogIChjbC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMDA4NDg1MzIyIDAg MC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiNi44eCBTTE9XRVIiIDAuMDU3ODQzOTA2IDEg MC4wMDgwMzI4ODA5OTk5OTk5OTIpCiAgKHNlcS1kaWZmZXJlbmNlLTMgIjcuMHggKHJlbCAx LjB4KSBTTE9XRVIiIDAuMDU5NTU4MTIzIDEgMC4wMDY1OTc1ODcwMDAwMDAwMTYpCiAgKHNl cS1kaWZmZXJlbmNlICI3LjN4IChyZWwgMS4weCkgU0xPV0VSIiAwLjA2MTg2NzkzNiAxIDAu MDA3MjgzNTIyMDAwMDAwMDQyKSkKICgic2V0IGRpZmZlcmVuY2UsIHNtYWxsIGxpc3RzLCAj J2VxbCBwcmVkIgogIChjbC1uc2V0LWRpZmZlcmVuY2UgIkZBU1RFU1QiIDAuMDE5MDY3NTc4 OTk5OTk5OTk4IDAgMC4wKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiNi45eCBTTE9XRVIiIDAu MTMxNjk5MDAzIDEwIDAuMDU4MjUzMTA1MDAwMDAwMDMpCiAgKHNlcS1kaWZmZXJlbmNlLTMg IjE2LjJ4IChyZWwgMi4zeCkgU0xPV0VSIiAwLjMwODAyNDI2OCAyNyAwLjE1OTc4MTIxMDk5 OTk5OTk4KQogIChzZXEtZGlmZmVyZW5jZSAiMzUuNHggKHJlbCAyLjJ4KSBTTE9XRVIiIDAu Njc1MDYwMDQ0OTk5OTk5OSAyNiAwLjE1NTkyOTA0Mzk5OTk5OTk2KSkKICgic2V0IGRpZmZl cmVuY2UsIGJpZyBsaXN0cywgIydlcWwgcHJlZCIKICAoY2wtbnNldC1kaWZmZXJlbmNlICJG QVNURVNUIiAwLjAwMDgyOTM5MSAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjE3Ljl4 IFNMT1dFUiIgMC4wMTQ4NjEyMTcgMSAwLjAwNjAzNjUzNzk5OTk5OTk4KQogIChzZXEtZGlm ZmVyZW5jZS0zICIyMy42eCAocmVsIDEuM3gpIFNMT1dFUiIgMC4wMTk1NjQ2MTM5OTk5OTk5 OTggMSAwLjAwNjU4NTUyMjAwMDAwMDAxKQogIChzZXEtZGlmZmVyZW5jZSAiMTA2LjB4IChy ZWwgNC41eCkgU0xPV0VSIiAwLjA4NzkyNTU2NyAyIDAuMDEyODU5ODMwOTk5OTk5OTg4KSkK ICgic2V0IGRpZmZlcmVuY2UsIHNtYWxsIGxpc3RzLCAjJ2VxdWFsIHByZWQiCiAgKGpvYW90 L2hhbmRyb2xsZWQtbnNldC1kaWZmZXJlbmNlICJGQVNURVNUIiAwLjAxMjA1MjcyMzAwMDAw MDAwMSAwIDAuMCkKICAoY2wtbnNldC1kaWZmZXJlbmNlICIzLjJ4IFNMT1dFUiIgMC4wMzg1 OTcyMTIwMDAwMDAwMDYgMiAwLjAxMjM1NDQxODk5OTk5OTk5OCkKICAoZG1pdHJ5L3NldC1k aWZmZXJlbmNlLW5vY29ucyAiNy43eCAocmVsIDIuNHgpIFNMT1dFUiIgMC4wOTMzMDcxNjYw MDAwMDAwMSAwIDAuMCkKICAoY2wtc2V0LWRpZmZlcmVuY2UgIjE2LjB4IChyZWwgMi4xeCkg U0xPV0VSIiAwLjE5MjQ3ODAxMyAxMiAwLjA2OTMyNTI2NykKICAoc2VxLWRpZmZlcmVuY2Ug IjI4LjZ4IChyZWwgMS44eCkgU0xPV0VSIiAwLjM0NDMyMzczNCAyNiAwLjE1MjExNTkwNikK ICAoc2VxLWRpZmZlcmVuY2UtMyAiMzAuNnggKHJlbCAxLjF4KSBTTE9XRVIiIDAuMzY5MDYz NTExIDI3IDAuMTY5NDAzNzc3MDAwMDAwMDMpKQogKCJzZXQgZGlmZmVyZW5jZSwgYmlnIGxp c3RzLCAjJ2VxdWFsIHByZWQiCiAgKGNsLW5zZXQtZGlmZmVyZW5jZSAiRkFTVEVTVCIgMC4w MDI3Mjk1MDgwMDAwMDAwMDAzIDAgMC4wKQogIChkbWl0cnkvc2V0LWRpZmZlcmVuY2Utbm9j b25zICI1LjJ4IFNMT1dFUiIgMC4wMTQzMTUzNzIgMCAwLjApCiAgKGpvYW90L2hhbmRyb2xs ZWQtbnNldC1kaWZmZXJlbmNlICI2LjF4IChyZWwgMS4yeCkgU0xPV0VSIiAwLjAxNjU5NzQw MDAwMDAwMDAwMiAxIDAuMDEwNjcxNzkxKQogIChjbC1zZXQtZGlmZmVyZW5jZSAiOC44eCAo cmVsIDEuNXgpIFNMT1dFUiIgMC4wMjQxNDExOTQ5OTk5OTk5OTcgMSAwLjAwNjM0MzExMjAw MDAwMDAwMTQpCiAgKHNlcS1kaWZmZXJlbmNlLTMgIjEwLjJ4IChyZWwgMS4xeCkgU0xPV0VS IiAwLjAyNzc2MDg5MiAxIDAuMDA2MTk5MTQ2MDAwMDAwMDAzKQogIChzZXEtZGlmZmVyZW5j ZSAiMTQuMHggKHJlbCAxLjR4KSBTTE9XRVIiIDAuMDM4MjYzMjE0MDAwMDAwMDA0IDIgMC4w MTI4Nzc1Mjk5OTk5OTk5OTgpKSkK --------------PlLNyLPCpSIQ7H59Wo90Kpqa--