From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nicholas Strauss Newsgroups: gmane.emacs.bugs Subject: bug#20583: calendar-absolute-from-gregorian Date: Fri, 22 May 2015 08:36:43 -0700 Message-ID: References: <577fs9xryr.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e0115fe245a8e960516ad6d19 X-Trace: ger.gmane.org 1432309297 1236 80.91.229.3 (22 May 2015 15:41:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 22 May 2015 15:41:37 +0000 (UTC) Cc: 20583@debbugs.gnu.org, gjs@ai.mit.edu To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 22 17:41:30 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Yvp4Y-0007CL-E3 for geb-bug-gnu-emacs@m.gmane.org; Fri, 22 May 2015 17:41:18 +0200 Original-Received: from localhost ([::1]:34697 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvp4X-0003Pt-Tq for geb-bug-gnu-emacs@m.gmane.org; Fri, 22 May 2015 11:41:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvp0U-0004zc-KY for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 11:37:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yvp0Q-0002dK-JC for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 11:37:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43098) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvp0Q-0002bs-EZ for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 11:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Yvp0P-0002ft-Sq for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 11:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nicholas Strauss Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 May 2015 15:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20583 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: notabug wontfix Original-Received: via spool by 20583-submit@debbugs.gnu.org id=B20583.143230901210264 (code B ref 20583); Fri, 22 May 2015 15:37:01 +0000 Original-Received: (at 20583) by debbugs.gnu.org; 22 May 2015 15:36:52 +0000 Original-Received: from localhost ([127.0.0.1]:53073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yvp0F-0002fT-Ma for submit@debbugs.gnu.org; Fri, 22 May 2015 11:36:52 -0400 Original-Received: from mail-wi0-f177.google.com ([209.85.212.177]:36868) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yvp0D-0002fD-0Z for 20583@debbugs.gnu.org; Fri, 22 May 2015 11:36:49 -0400 Original-Received: by wibt6 with SMTP id t6so51279536wib.0 for <20583@debbugs.gnu.org>; Fri, 22 May 2015 08:36:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=gnfVe7DZ8hstlSvgODaa79Bo+YKcF4tAItRM5foIqKE=; b=wR1w/MJF7bfArw9G7OEJE4nKiN5EwkW62gt1T91IiTYhwkuKxlXQjBVdYkQskU5GSD s7zB4JXT8a45i32PfUdQNQFD+PW40JxtGgmTQsDf2yyqmvBR5cOacItGa9ddBfrwE0H8 kH3xQoaQ9T9aQJ8rB9r6YUw+JSxEAxuXcV3lt5eW+ONxLeW4Hqfekub1FTHFiN7KlYGg ez04Gw75XFz7yz5zbi4/kDc+P1JcIxlQxpbA36PwTCZMEBUI557dfwFo01Y02p3kDSiP FpGIoFMvAi7mmHyDIdmJ6naRnwB/SKIPNuHuz4szNMzIcUDTPLnze5BO7czDKj7fSQcV i8sA== X-Received: by 10.194.120.230 with SMTP id lf6mr16542836wjb.41.1432309003282; Fri, 22 May 2015 08:36:43 -0700 (PDT) Original-Received: by 10.27.100.3 with HTTP; Fri, 22 May 2015 08:36:43 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:103037 Archived-At: --089e0115fe245a8e960516ad6d19 Content-Type: text/plain; charset=UTF-8 There are other day number systems more common than the emacs "absolute" day number -- the "astro" or Julian day number and the proleptic Gregorian system used by sqlite3 e.g. select julianday("-4713-11-24"). cal-julian.el:alendar-astro-to-absolute refers to "astro". Proleptic Gregorian day 0 = November 24, 4714 BC while "astro" day 0 = January 1, 4713 BC. I'm attaching julian.lisp which has calendar-correlate-from-date and calendar-correlate-from-julianday may help with days before 1582. These are based on Peter Duffett-Smiths calculations. --089e0115fe245a8e960516ad6d19 Content-Type: application/octet-stream; name="julian.lisp" Content-Disposition: attachment; filename="julian.lisp" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9zrnoh30 IDs7IGp1bGlhbi5saXNwIENvcHlyaWdodCAyMDE1IE5pY2hvbGFzIEMuIFN0cmF1c3MgKG5jc0Bh bHVtLm1pdC5lZHUpCiA7OwogOzsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogOzsgICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogOzsg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgogOzsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogOzsK IDs7ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCiA7OyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiA7OyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIDs7ICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIDs7CiA7OyAgIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiA7OyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+Cgo7OzsjIyNjYWwtYXV0b2xvYWQKKGRlZnVuIGNhbGVuZGFyLWp1bGlhbmRheS1m cm9tLWdyZWdvcmlhbiAoZGF0ZSkKICAiQ29tcHV0ZSB0aGUgSnVsaWFuIGRheSBjb3JyZXNwb25k aW5nIHRvIHRoZSBkYXRlCiAgIGNhbGN1bGF0ZWQgZnJvbSBNb25kYXksIEphbiAxLCA0NzEzIEJD RSB1c2luZyAKICAgdGhlIEp1bGlhbiBjYWxlbmRhciB1bnRpbCBPY3RvYmVyIDUsIDE1ODIgdGhl bmNlIHRoZQogICAgR3JlZ29yaWFuIGNhbGVuZGFyIGZyb20gT2N0b2JlciAxNSwgMTU4MiIKICAo bGV0ICgoZGF5IChjYWxlbmRhci1leHRyYWN0LWRheSBkYXRlKSkKCShtb250aCAoY2FsZW5kYXIt ZXh0cmFjdC1tb250aCBkYXRlKSkKCSh5ZWFyIChjYWxlbmRhci1leHRyYWN0LXllYXIgZGF0ZSkp KQogICAgOzsgYj1ncmVnb3JpYW4gY29ycmVjdGlvbgogICAgOzsgYz1lbGFwc2VkIHllYXJzCiAg ICA7OyBkPWVsYXBzZWQgbW9udGhzIHRoaXMgeWVhcgogICAgKGlmIChhbmQgKD0geWVhciAxNTgy KSAoPSBtb250aCAxMCkKCSAgICAgKD49IGRheSA1KQoJICAgICAoPCBkYXkgMTUpKQoJMC4wZStO YU4gICAgICAKICAgICAgKHByb2duCgkoaWYgKDwgeWVhciAxKSAoc2V0cSB5ZWFyICgrIHllYXIg MSkpKQoJKGlmICg8IG1vbnRoIDMpCShwcm9nbgoJCQkgIChzZXRxIHllYXIgKCsgeWVhciAtMSkp CgkJCSAgKHNldHEgbW9udGggKCsgbW9udGggMTIpKSkKCSAgKQoJKHNldHEgYSAoZmZsb29yICgv IHllYXIgMTAwKSkpCgkoaWYgKG9yICg8IHllYXIgMTU4MikKCQkoYW5kICg9IHllYXIgMTU4Mikg KDwgbW9udGggMTApKQoJCShhbmQgKD0geWVhciAxNTgyKSAoPSBtb250aCAxMCkgKDwgZGF5IDUp KSkKCSAgICAoc2V0cSBiIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7 IGp1bGlhbgoJICAoc2V0cSBiICgrIDIgKC0gYSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgZ3JlZ29yaWFuCgkJICAgICAoZmZsb29yICgvIGEgNCkpKSkpICAgICAgICAgICAgICAg ICAgIAoJKGlmICg8IHllYXIgMCkKCSAgICAoc2V0cSBjICgrIChmdHJ1bmNhdGUgKCsgKCogMzY1 LjI1IHllYXIpIC0wLjc1KSkKCQkgICAgICAgLTY5NDAyNSkpCgkgIChzZXRxIGMgKCsgKGZmbG9v ciAoKiAzNjUuMjUgeWVhcikpCgkJICAgICAtNjk0MDI1KSkpCgkoc2V0cSBkIChmZmxvb3IgKCog MzAuNjAwMSAoKyBtb250aCAxKSkpKQoJKCsgZGF5IGIgYyBkIC0wLjUgMjQxNTAyMCkKCSkKICAg ICAgKQogKQopCgo7OzsjIyNjYWwtYXV0b2xvYWQKKGRlZnVuIGNhbGVuZGFyLWdyZWdvcmlhbi1m cm9tLWp1bGlhbmRheSAoanVsaWFuZGF5KQogICJDb21wdXRlIHRoZSBkYXRlIGNvcnJlc3BvbmRp bmcgdG8gdGhlIEp1bGlhbiBkYXkKICAgY2FsY3VsYXRlZCBmcm9tIE1vbmRheSwgSmFuIDEsIDQ3 MTMgQkNFIHVzaW5nIAogICB0aGUgSnVsaWFuIGNhbGVuZGFyIHVudGlsIE9jdG9iZXIgNSwgMTU4 MiB0aGVuY2UgdGhlCiAgICBHcmVnb3JpYW4gY2FsZW5kYXIgZnJvbSBPY3RvYmVyIDE1LCAxNTgy IgogIChjb25kCiAgICgoaXNuYW4ganVsaWFuZGF5KQoJIGp1bGlhbmRheSkKICAgKHQgCiAgICAg ICAocHJvZ24KCShzZXRxIGp1bGlhbmRheSAoKyBqdWxpYW5kYXkgLTI0MTUwMjApKQoJKHNldHEg ZCAoKyBqdWxpYW5kYXkgMC41KSkKCShzZXRxIGkgKGZmbG9vciBkKSkKCShzZXRxIGZkICgrIGQg KC0gaSkpKQoJKGlmICg8IChhYnMgKCsgZmQgLTEuMCkpCgkgICAgICAgMS4wZS0xMCkKCSAgICAo cHJvZ24KCSAgICAgIChzZXRxIGZkIDAuMCkKCSAgICAgIChzZXRxIGkgKCsgaSAxKSkpCgkgICkK CShpZiAoPiBpIC0xMTU4NjApCgkgICAgKHByb2duCgkgICAgICAoc2V0cSBhICgrIChmZmxvb3Ig KCsgKC8gaSAzNjUyNC4yNSkgMC45OTgzNTcyNikpCgkJCQkgMTQpKQoJICAgICAgKHNldHEgaSAo KyBpIDEgYQoJCQkgKC0gKGZmbG9vciAoLyBhIDQuMCkpKSkpCgkgICAgICApCgkgICkKCShzZXRx IGIgKGZmbG9vciAoKyAoLyBpIDM2NS4yNSkgMC44MDI2MDEpKSkKCShzZXRxIGMgKCsgaSAoLSAo ZmZsb29yICgrICgqIDM2NS4yNSBiKQoJCQkJICAwLjc1MDAwMSkpKQoJCSAgIDQxNikpCgkoc2V0 cSBnIChmZmxvb3IgKC8gYyAzMC42MDAxKSkpCgkoc2V0cSBkYXkgKGZmbG9vciAoKyBjCgkJCSAg ICAoLSAoZmZsb29yICgqIDMwLjYwMDEgZykpKQoJCQkgICAgZmQpKSkKCShpZiAoPiBnIDEzLjUp CgkgICAgKHNldHEgbW9udGggKCsgZyAtMTMpKQoJICAoc2V0cSBtb250aCAoKyBnIC0xKSkpCgko aWYgKD4gbW9udGggMi41KQoJICAgIChzZXRxIHllYXIgKCsgYiAxODk5KSkKCSAgKHNldHEgeWVh ciAoKyBiIDE5MDApKSkKCShpZiAoPCB5ZWFyIDApCgkgICAgKHNldHEgeWVhciAoKyB5ZWFyIC0x KSkpCgkoc2V0cSBqdWxpYW5kYXkgKCsganVsaWFuZGF5IDI0MTUwMjApKQoJKHNldHEgYiAoKiAo ZnRydW5jYXRlICgvICgrIGp1bGlhbmRheSAxLjUpIDcpKQoJCSAgIDcpKQoJKHNldHEgZGF5b2Z3 ZWVrICgrIDEKCQkJICAgKGZ0cnVuY2F0ZSAoKyBqdWxpYW5kYXkgMS41ICgtIGIpKSkKCQkJICAg KSkKOzsJKGxpc3QgZGF5b2Z3ZWVrCjs7CSAgICAgICgqIGZkIDI0KSAKOzsJICAgICAgbW9udGgg Cjs7CSAgICAgIGRheSAKOzsJICAgICAgeWVhcikpCgkobGlzdCBtb250aCAKCSAgICAgIGRheSAK CSAgICAgIHllYXIpKQogICAgICAgKQogICApCikKOzs7IyMjY2FsLWF1dG9sb2FkCihkZWZ1biBj YWxlbmRhci1qdWxpYW5kYXktZnJvbS1wcm9sZXB0aWMtZ3JlZ29yaWFuIChkYXRlKQogICJDb21w dXRlIHRoZSBKdWxpYW4gZGF5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGRhdGUKICAgY2FsY3VsYXRl ZCBmcm9tIE1vbmRheSwgSmFuIDEsIDQ3MTMgQkNFIHVzaW5nIAogICB0aGUgSnVsaWFuIGNhbGVu ZGFyIHVudGlsIE9jdG9iZXIgNSwgMTU4MiB0aGVuY2UgdGhlCiAgICBHcmVnb3JpYW4gY2FsZW5k YXIgZnJvbSBPY3RvYmVyIDE1LCAxNTgyIgogIChsZXQgKChkYXkgKGNhbGVuZGFyLWV4dHJhY3Qt ZGF5IGRhdGUpKQoJKG1vbnRoIChjYWxlbmRhci1leHRyYWN0LW1vbnRoIGRhdGUpKQoJKHllYXIg KGNhbGVuZGFyLWV4dHJhY3QteWVhciBkYXRlKSkpCiAgICA7OyBiPWdyZWdvcmlhbiBjb3JyZWN0 aW9uCiAgICA7OyBjPWVsYXBzZWQgeWVhcnMKICAgIDs7IGQ9ZWxhcHNlZCBtb250aHMgdGhpcyB5 ZWFyCiAgICAoaWYgKGFuZCAoPSB5ZWFyIDE1ODIpICg9IG1vbnRoIDEwKQoJICAgICAoPj0gZGF5 IDUpCgkgICAgICg8IGRheSAxNSkpCgkwLjBlK05hTiAgICAgIAogICAgICAocHJvZ24KCShpZiAo PCBtb250aCAzKQkocHJvZ24KCQkJICAoc2V0cSB5ZWFyICgrIHllYXIgLTEpKQoJCQkgIChzZXRx IG1vbnRoICgrIG1vbnRoIDEyKSkpCgkgICkKCShzZXRxIGEgKGZmbG9vciAoLyB5ZWFyIDEwMCkp KQoJKHNldHEgYiAoKyAyIAoJCSAgICgtIGEpCgkJICAgKGZmbG9vciAoLyBhIDQpKSkpCgkoaWYg KDwgeWVhciAwKQoJICAgIChzZXRxIGMgKCsgKGZ0cnVuY2F0ZSAoKyAoKiAzNjUuMjUgeWVhcikg LTAuNzUpKQoJCSAgICAgICAtNjk0MDI1KSkKCSAgKHNldHEgYyAoKyAoZmZsb29yICgqIDM2NS4y NSB5ZWFyKSkKCQkgICAgIC02OTQwMjUpKSkKCShzZXRxIGQgKGZmbG9vciAoKiAzMC42MDAxICgr IG1vbnRoIDEpKSkpCgkoKyBkYXkgYiBjIGQgLTAuNSAyNDE1MDIwKQoJKQogICAgICApCiApCikK Cjs7OyMjI2NhbC1hdXRvbG9hZAooZGVmdW4gY2FsZW5kYXItcHJvbGVwdGljLWdyZWdvcmlhbi1m cm9tLWp1bGlhbmRheSAoanVsaWFuZGF5KQogICJDb21wdXRlIHRoZSBkYXRlIGNvcnJlc3BvbmRp bmcgdG8gdGhlIEp1bGlhbiBkYXkKICAgY2FsY3VsYXRlZCBmcm9tIE1vbmRheSwgTm92ZW1iZXIg MjQsIDQ3MTMgQkNFIHVzaW5nIAogICB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyLiIKICAoY29uZAog ICAoKGlzbmFuIGp1bGlhbmRheSkKCSBqdWxpYW5kYXkpCiAgICh0IAogICAgICAgKHByb2duCgko c2V0cSBqdWxpYW5kYXkgKCsganVsaWFuZGF5IC0yNDE1MDIwKSkKCShzZXRxIGQgKCsganVsaWFu ZGF5IDAuNSkpCgkoc2V0cSBpIChmZmxvb3IgZCkpCgkoc2V0cSBmZCAoKyBkICgtIGkpKSkKCShp ZiAoPCAoYWJzICgrIGZkIC0xLjApKQoJICAgICAgIDEuMGUtMTApCgkgICAgKHByb2duCgkgICAg ICAoc2V0cSBmZCAwLjApCgkgICAgICAoc2V0cSBpICgrIGkgMSkpKQoJICApCgkoc2V0cSBhICgr IChmZmxvb3IgKCsgKC8gaSAzNjUyNC4yNSkgMC45OTgzNTcyNikpCgkJICAgMTQpKQoJKHNldHEg aSAoKyBpIDEgYQoJCSAgICgtIChmZmxvb3IgKC8gYSA0LjApKSkpKQoJKHNldHEgYiAoZmZsb29y ICgrICgvIGkgMzY1LjI1KSAwLjgwMjYwMSkpKQoJKHNldHEgYyAoKyBpICgtIChmZmxvb3IgKCsg KCogMzY1LjI1IGIpCgkJCQkgIDAuNzUwMDAxKSkpCgkJICAgNDE2KSkKCShzZXRxIGcgKGZmbG9v ciAoLyBjIDMwLjYwMDEpKSkKCShzZXRxIGRheSAoZmZsb29yICgrIGMKCQkJICAgICgtIChmZmxv b3IgKCogMzAuNjAwMSBnKSkpCgkJCSAgICBmZCkpKQoJKGlmICg+IGcgMTMuNSkKCSAgICAoc2V0 cSBtb250aCAoKyBnIC0xMykpCgkgIChzZXRxIG1vbnRoICgrIGcgLTEpKSkKCShpZiAoPiBtb250 aCAyLjUpCgkgICAgKHNldHEgeWVhciAoKyBiIDE4OTkpKQoJICAoc2V0cSB5ZWFyICgrIGIgMTkw MCkpKQoJKHNldHEganVsaWFuZGF5ICgrIGp1bGlhbmRheSAyNDE1MDIwKSkKCShzZXRxIGIgKCog KGZ0cnVuY2F0ZSAoLyAoKyBqdWxpYW5kYXkgMS41KSA3KSkKCQkgICA3KSkKCShzZXRxIGRheW9m d2VlayAoKyAxCgkJCSAgIChmdHJ1bmNhdGUgKCsganVsaWFuZGF5IDEuNSAoLSBiKSkpCgkJCSAg ICkpCjs7CShsaXN0IGRheW9md2Vlawo7OwkgICAgICAoKiBmZCAyNCkgCjs7CSAgICAgIG1vbnRo IAo7OwkgICAgICBkYXkgCjs7CSAgICAgIHllYXIpKQoJKGxpc3QgbW9udGggCgkgICAgICBkYXkg CgkgICAgICB5ZWFyKSkKICAgICAgICkKICAgKQopCgooZGVmdW4gY2FsZW5kYXItY29ycmVsYXRl LWZyb20tanVsaWFuZGF5IChqdWxpYW5kYXkpCiAgKGxldCAoKGRhdGUtcHJvbGVwdGljIChjYWxl bmRhci1wcm9sZXB0aWMtZ3JlZ29yaWFuLWZyb20tanVsaWFuZGF5IGp1bGlhbmRheSkpCgkoZGF0 ZS1ncmVnb3JpYW4gKGNhbGVuZGFyLWdyZWdvcmlhbi1mcm9tLWp1bGlhbmRheSBqdWxpYW5kYXkp KSkKICAgIChsaXN0IGRhdGUtcHJvbGVwdGljIGRhdGUtZ3JlZ29yaWFuKSkKKQoKKGRlZnVuIGNh bGVuZGFyLWNvcnJlbGF0ZS1mcm9tLWRhdGUgKGRhdGUpCiAgKGxldCAoKGpkLXByb2xlcHRpYyAo Y2FsZW5kYXItanVsaWFuZGF5LWZyb20tcHJvbGVwdGljLWdyZWdvcmlhbiBkYXRlKSkKCShqZC1n cmVnb3JpYW4gKGNhbGVuZGFyLWp1bGlhbmRheS1mcm9tLWdyZWdvcmlhbiBkYXRlKSkpCiAgICAo bGlzdCBqZC1wcm9sZXB0aWMgamQtZ3JlZ29yaWFuKSkKKQoK --089e0115fe245a8e960516ad6d19--