From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.bugs Subject: bug#57800: TRAMP insert-file-contents now fails for regions Date: Fri, 30 Sep 2022 10:49:27 +0200 Message-ID: References: <87fsgt4ynq.fsf@gnus.org> <875yhp4xyf.fsf@gnus.org> <87h719j5g6.fsf@gmx.de> <87sfkry80u.fsf@gnus.org> <87o7uyihq6.fsf@gnus.org> <87v8p6hyg4.fsf@gmx.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000076de005e9e11335" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22758"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Lars Ingebrigtsen , 57800@debbugs.gnu.org To: Michael Albinus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Sep 30 10:50:48 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1oeBjL-0005oP-E5 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Sep 2022 10:50:47 +0200 Original-Received: from localhost ([::1]:54518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeBjJ-0008R8-SH for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Sep 2022 04:50:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeBid-0008PS-2J for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 04:50:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41400) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oeBic-0000Bp-LR for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 04:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oeBic-0001eK-9E for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 04:50:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Pogonyshev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 30 Sep 2022 08:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57800 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 57800-submit@debbugs.gnu.org id=B57800.16645277896316 (code B ref 57800); Fri, 30 Sep 2022 08:50:02 +0000 Original-Received: (at 57800) by debbugs.gnu.org; 30 Sep 2022 08:49:49 +0000 Original-Received: from localhost ([127.0.0.1]:40478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oeBiO-0001do-JK for submit@debbugs.gnu.org; Fri, 30 Sep 2022 04:49:49 -0400 Original-Received: from mail-ej1-f43.google.com ([209.85.218.43]:44654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oeBiL-0001dZ-Rn for 57800@debbugs.gnu.org; Fri, 30 Sep 2022 04:49:46 -0400 Original-Received: by mail-ej1-f43.google.com with SMTP id r18so7599986eja.11 for <57800@debbugs.gnu.org>; Fri, 30 Sep 2022 01:49:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=Tr04D+AoLoHZJdRdjU7fTOF9JuouuzxwlUVwEIG+wMM=; b=ESpCDDcBBPbyWxg8ih75LgD30ug2LwiA61tO9M62AygveN94QuEwcd2gs7U4iKos7I NntOpXA+7W0CWJ34QkO6JLQHDO8Y2+8j7o6WU+1s23n1jYu/A3hrcK+0hoCXz27DMw9D CsaPWoj1nLfDS/Rbef28pMBcf6rmD+mULuhDxuDiFHVtmqCStgvrpBu43JyeQm+p5zMA iG711okX4EXOc0JFW2JghHWM9VozcSDU1DC/vdkAyLktNFYc5fMThmR04egi9f/D9Mw3 TRjvulc+aQ5wsDz+jTCEX6m/WlqAjD2J4iFUNWU8trI6O4g1JDhrwyXYWwpN2aM2JnHy bUSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=Tr04D+AoLoHZJdRdjU7fTOF9JuouuzxwlUVwEIG+wMM=; b=XnEBff9J5k2MLkH1agkyqwraOsMna1399OeM+Itv4Kglq3IVECFacrMqgL31FJ/gyZ yxlrBIqMkXveqpIhd8SKbaSvS0A61O8T4Ka+60LjRwpgVN606nY8nb7igsp+LxjBet93 mBcMFT190BnBD0TppFMmuVVnjQOXFJn+DI20TntZ84GkW5+nzDC+fE5jk/CCeCgXehRc FCakbuumr2XQHCmqkPgTDmZfy7coKe9sa3Nuv23SXnTFK2sxYVo7bUbEdWplED+FpfLw aPto6T3aqyOI/5k7B9VTTptB+wr5lXL7kQs0P6uwud/wIORe/v5ko3Rgpfq3Gmbh8G3P 79HQ== X-Gm-Message-State: ACrzQf3ubMyscmMeEY+QI1O4eqRerQGzQteth5UYZrvbKEXMynEtTrLY CsmZ2bFQrBe3U8l7zX9wP/zPehYYWKcPUwLpHg== X-Google-Smtp-Source: AMsMyM5nMrSGT/hSJyRIvJEg9zu1g65gHtQ8/AU7uNB/RNKTB7Wb25ruVycDQz92p2jMNt69giPSyVv3L6Ui8xU7rdk= X-Received: by 2002:a17:907:b09:b0:76f:99cc:81cd with SMTP id h9-20020a1709070b0900b0076f99cc81cdmr5510857ejl.530.1664527779700; Fri, 30 Sep 2022 01:49:39 -0700 (PDT) In-Reply-To: <87v8p6hyg4.fsf@gmx.de> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:243982 Archived-At: --000000000000076de005e9e11335 Content-Type: multipart/alternative; boundary="000000000000076dde05e9e11333" --000000000000076dde05e9e11333 Content-Type: text/plain; charset="UTF-8" Happened again. See attached `BACKTRACE' and `TRAMP-LOG' generated after evalling `(setf tramp-verbose 10)'. Note this suspicious entry in the log: 10:26:36.864700 tramp-get-remote-tmpdir (1) # File error: Directory /ssh:USER@HOST#22222:/ssh:USER@HOST#22222:/tmp not accessible Mentioned Git commit cannot be found, because I build Emacs with a few minor local changes. I can assure you they have nothing to do with TRAMP. The build is from 14th of September, so upstream commit number should be around 997284d2a5 or so. I will keep this Emacs instance around in case you have questions. Paul On Thu, 29 Sept 2022 at 19:39, Michael Albinus wrote: > Paul Pogonyshev writes: > > Hi Paul, > > > No, the bug is not reproducible all the time. I have switched to Emacs > > 28 since then, as this breaks functionality important for me. Now > > tried to run 29 again, but it doesn't happen anymore, neither with > > `-Q' nor without. Also cannot find a backtrace for the same reason > > now. > > > > From the reproducing early today I remember that restarting Emacs > > doesn't help - or is at least random, since now a newly started Emacs > > doesn't exhibit this problem. It feels like the problem is in some > > cache and the cache appears to be persistent (cross-Emacs), if TRAMP > > uses something like that at all. > > > > The files I have noticed this on have names like > > "/ssh:USER@HOST#22222:/...", i.e. using SSH backend and a non-standard > > port, if that matters. > > Thanks, this might make a difference when caching files. Ports are used > for creating a file name index in the cache, but I'm not certain they > are always taken into account, in all dark corners of Tramp. Will analyze. > > However, it would be great if you could reproduce the bug somehow in an > Emacs instance started with > > --8<---------------cut here---------------start------------->8--- > emacs -Q --eval '(setq tramp-verbose 10)' > --8<---------------cut here---------------end--------------->8--- > > If the problem happens, pls show the recipe to provoke, and the Tramp > debug buffer. > > > Paul > > Best regards, Michael. > --000000000000076dde05e9e11333 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Happened again. See attached `BACKTRACE' and `TRAMP-LO= G' generated after evalling `(setf tramp-verbose 10)'.

Note this suspicious entry in the log:
10:26:36.864700 tra= mp-get-remote-tmpdir (1) # File error: Directory /ssh:USER@HOST#22222:/ssh:= USER@HOST#22222:/tmp not accessible

Mentioned = Git commit cannot be found, because I build Emacs with a few minor local ch= anges. I can assure you they have nothing to do with TRAMP. The build is fr= om 14th of September, so upstream commit number should be around 997284d2a5= or so.

I will keep this Emacs instance around in = case you have questions.

Paul

On Thu, 29 Sept= 2022 at 19:39, Michael Albinus <michael.albinus@gmx.de> wrote:
Paul Pogonyshev <pogonyshev@gmail.com> writes:

Hi Paul,

> No, the bug is not reproducible all the time. I have switched to Emacs=
> 28 since then, as this breaks functionality important for me. Now
> tried to run 29 again, but it doesn't happen anymore, neither with=
> `-Q' nor without. Also cannot find a backtrace for the same reason=
> now.
>
> From the reproducing early today I remember that restarting Emacs
> doesn't help - or is at least random, since now a newly started Em= acs
> doesn't exhibit this problem. It feels like the problem is in some=
> cache and the cache appears to be persistent (cross-Emacs), if TRAMP > uses something like that at all.
>
> The files I have noticed this on have names like
> "/ssh:USER@HOST#22222:/...", i.e. using SSH backend and a no= n-standard
> port, if that matters.

Thanks, this might make a difference when caching files. Ports are used
for creating a file name index in the cache, but I'm not certain they are always taken into account, in all dark corners of Tramp. Will analyze.<= br>
However, it would be great if you could reproduce the bug somehow in an
Emacs instance started with

--8<---------------cut here---------------start------------->8---
emacs -Q --eval '(setq tramp-verbose 10)'
--8<---------------cut here---------------end--------------->8---

If the problem happens, pls show the recipe to provoke, and the Tramp
debug buffer.

> Paul

Best regards, Michael.
--000000000000076dde05e9e11333-- --000000000000076de005e9e11335 Content-Type: application/octet-stream; name=BACKTRACE Content-Disposition: attachment; filename=BACKTRACE Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l8o8rsk70 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKGZpbGUtbWlzc2luZyAiL3NzaDpVU0VSQEhP U1QjMjIyMjI6L1BBVEgiKQogIHNpZ25hbChmaWxlLW1pc3NpbmcgKCIvc3NoOlVTRVJASE9TVCMy MjIyMjovUEFUSCIpKQogIHRyYW1wLWVycm9yKCh0cmFtcC1maWxlLW5hbWUgInNzaCIgIlVTRVIi IG5pbCAiSE9TVCIgIjIyMjIyIiAiL1BBVEgiIG5pbCkgZmlsZS1taXNzaW5nICIvc3NoOlVTRVJA SE9TVCMyMjIyMjovUEFUSCIpCiAgdHJhbXAtaGFuZGxlLWluc2VydC1maWxlLWNvbnRlbnRzKCIv c3NoOlVTRVJASE9TVCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmlsKQogIGFwcGx5KHRyYW1wLWhh bmRsZS1pbnNlcnQtZmlsZS1jb250ZW50cyAoIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBu aWwgMSAxMCBuaWwpKQogIHRyYW1wLXNoLWZpbGUtbmFtZS1oYW5kbGVyKGluc2VydC1maWxlLWNv bnRlbnRzICIvc3NoOlVTRVJASE9TVCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmlsKQogIGFwcGx5 KHRyYW1wLXNoLWZpbGUtbmFtZS1oYW5kbGVyIGluc2VydC1maWxlLWNvbnRlbnRzICgiL3NzaDpV U0VSQEhPU1QjMjIyMjI6L1BBVEgiIG5pbCAxIDEwIG5pbCkpCiAgdHJhbXAtZmlsZS1uYW1lLWhh bmRsZXIoaW5zZXJ0LWZpbGUtY29udGVudHMgIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBu aWwgMSAxMCBuaWwpCiAgaW5zZXJ0LWZpbGUtY29udGVudHMoIi9zc2g6VVNFUkBIT1NUIzIyMjIy Oi9QQVRIIiBuaWwgMSAxMCkKICAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmls IDEgMTApKQogICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZp bGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVmZmVy IHRlbXAtYnVmZmVyKSkpCiAgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgdGVtcC1i dWZmZXIpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUg bmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVmZmVyIHRl bXAtYnVmZmVyKSkpKQogIChsZXQgKCh0ZW1wLWJ1ZmZlciAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAi ICp0ZW1wKiIgdCkpKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAoc2V0LWJ1ZmZlciB0ZW1wLWJ1ZmZl cikgKHVud2luZC1wcm90ZWN0IChwcm9nbiAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwg MSAxMCkpIChhbmQgKGJ1ZmZlci1uYW1lIHRlbXAtYnVmZmVyKSAoa2lsbC1idWZmZXIgdGVtcC1i dWZmZXIpKSkpKQogIChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAobGV0ICgodGVtcC1i dWZmZXIgKGdlbmVyYXRlLW5ldy1idWZmZXIgIiAqdGVtcCoiIHQpKSkgKHNhdmUtY3VycmVudC1i dWZmZXIgKHNldC1idWZmZXIgdGVtcC1idWZmZXIpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGlu c2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1w LWJ1ZmZlcikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpKSkpCiAgZXZhbCgobGV0ICgoZmls ZSBidWZmZXItZmlsZS1uYW1lKSkgKGxldCAoKHRlbXAtYnVmZmVyIChnZW5lcmF0ZS1uZXctYnVm ZmVyICIgKnRlbXAqIiB0KSkpIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIHRlbXAt YnVmZmVyKSAodW53aW5kLXByb3RlY3QgKHByb2duIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxl IG5pbCAxIDEwKSkgKGFuZCAoYnVmZmVyLW5hbWUgdGVtcC1idWZmZXIpIChraWxsLWJ1ZmZlciB0 ZW1wLWJ1ZmZlcikpKSkpKSB0KQogICNmKGNvbXBpbGVkLWZ1bmN0aW9uIChleHAgJm9wdGlvbmFs IGluc2VydC12YWx1ZSBuby10cnVuY2F0ZSBjaGFyLXByaW50LWxpbWl0KSAiRXZhbHVhdGUgRVhQ IGFuZCBwcmludCB2YWx1ZSBpbiB0aGUgZWNobyBhcmVhLlxuV2hlbiBjYWxsZWQgaW50ZXJhY3Rp dmVseSwgcmVhZCBhbiBFbWFjcyBMaXNwIGV4cHJlc3Npb24gYW5kXG5ldmFsdWF0ZSBpdC4gIFZh bHVlIGlzIGFsc28gY29uc2VkIG9uIHRvIGZyb250IG9mIHRoZSB2YXJpYWJsZVxuYHZhbHVlcycu ICBPcHRpb25hbCBhcmd1bWVudCBJTlNFUlQtVkFMVUUgbm9uLW5pbCAoaW50ZXJhY3RpdmVseSxc bndpdGggYSBub24gYC0nIHByZWZpeCBhcmd1bWVudCkgbWVhbnMgaW5zZXJ0IHRoZSByZXN1bHQg aW50byB0aGVcbmN1cnJlbnQgYnVmZmVyIGluc3RlYWQgb2YgcHJpbnRpbmcgaXQgaW4gdGhlIGVj aG8gYXJlYS5cblxuTm9ybWFsbHksIHRoaXMgZnVuY3Rpb24gdHJ1bmNhdGVzIGxvbmcgb3V0cHV0 IGFjY29yZGluZyB0byB0aGVcbnZhbHVlIG9mIHRoZSB2YXJpYWJsZXMgYGV2YWwtZXhwcmVzc2lv bi1wcmludC1sZW5ndGgnIGFuZFxuYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZXZlbCcuICBXaGVu IE5PLVRSVU5DQVRFIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB3aXRoIGEgcHJlZml4IGFy Z3VtZW50IG9mIHplcm8pLCBob3dldmVyLFxudGhlcmUgaXMgbm8gc3VjaCB0cnVuY2F0aW9uLlxu XG5JZiB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIGFuIGludGVnZXIsIGFuZCBDSEFSLVBSSU5ULUxJ TUlUIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB1bmxlc3MgZ2l2ZW4gYSBub24temVybyBw cmVmaXggYXJndW1lbnQpXG5pdCB3aWxsIGJlIHByaW50ZWQgaW4gc2V2ZXJhbCBhZGRpdGlvbmFs IGZvcm1hdHMgKG9jdGFsLFxuaGV4YWRlY2ltYWwsIGFuZCBjaGFyYWN0ZXIpLiAgVGhlIGNoYXJh Y3RlciBmb3JtYXQgaXMgdXNlZCBvbmx5XG5pZiB0aGUgdmFsdWUgaXMgYmVsb3cgQ0hBUi1QUklO VC1MSU1JVCAoaW50ZXJhY3RpdmVseSwgaWYgdGhlXG5wcmVmaXggYXJndW1lbnQgaXMgLTEgb3Ig dGhlIHZhbHVlIGRvZXNuJ3QgZXhjZWVkXG5gZXZhbC1leHByZXNzaW9uLXByaW50LW1heGltdW0t Y2hhcmFjdGVyJykuXG5cblJ1bnMgdGhlIGhvb2sgYGV2YWwtZXhwcmVzc2lvbi1taW5pYnVmZmVy LXNldHVwLWhvb2snIG9uIGVudGVyaW5nIHRoZVxubWluaWJ1ZmZlci5cblxuSWYgYGV2YWwtZXhw cmVzc2lvbi1kZWJ1Zy1vbi1lcnJvcicgaXMgbm9uLW5pbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQs XG50aGlzIGNvbW1hbmQgYXJyYW5nZXMgZm9yIGFsbCBlcnJvcnMgdG8gZW50ZXIgdGhlIGRlYnVn Z2VyLiIgKGludGVyYWN0aXZlICNmKGNvbXBpbGVkLWZ1bmN0aW9uICgpICM8Ynl0ZWNvZGUgLTB4 NDU2ZjM3YjY0ODhkMmNkPikpICM8Ynl0ZWNvZGUgMHgxZWI3OWRhN2ZjMWIwMjEyPikoKGxldCAo KGZpbGUgYnVmZmVyLWZpbGUtbmFtZSkpICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQtZmlsZS1j b250ZW50cyBmaWxlIG5pbCAxIDEwKSkpIG5pbCBuaWwgMTI3KQogIGFwcGx5KCNmKGNvbXBpbGVk LWZ1bmN0aW9uIChleHAgJm9wdGlvbmFsIGluc2VydC12YWx1ZSBuby10cnVuY2F0ZSBjaGFyLXBy aW50LWxpbWl0KSAiRXZhbHVhdGUgRVhQIGFuZCBwcmludCB2YWx1ZSBpbiB0aGUgZWNobyBhcmVh LlxuV2hlbiBjYWxsZWQgaW50ZXJhY3RpdmVseSwgcmVhZCBhbiBFbWFjcyBMaXNwIGV4cHJlc3Np b24gYW5kXG5ldmFsdWF0ZSBpdC4gIFZhbHVlIGlzIGFsc28gY29uc2VkIG9uIHRvIGZyb250IG9m IHRoZSB2YXJpYWJsZVxuYHZhbHVlcycuICBPcHRpb25hbCBhcmd1bWVudCBJTlNFUlQtVkFMVUUg bm9uLW5pbCAoaW50ZXJhY3RpdmVseSxcbndpdGggYSBub24gYC0nIHByZWZpeCBhcmd1bWVudCkg bWVhbnMgaW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGVcbmN1cnJlbnQgYnVmZmVyIGluc3RlYWQg b2YgcHJpbnRpbmcgaXQgaW4gdGhlIGVjaG8gYXJlYS5cblxuTm9ybWFsbHksIHRoaXMgZnVuY3Rp b24gdHJ1bmNhdGVzIGxvbmcgb3V0cHV0IGFjY29yZGluZyB0byB0aGVcbnZhbHVlIG9mIHRoZSB2 YXJpYWJsZXMgYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZW5ndGgnIGFuZFxuYGV2YWwtZXhwcmVz c2lvbi1wcmludC1sZXZlbCcuICBXaGVuIE5PLVRSVU5DQVRFIGlzXG5ub24tbmlsIChpbnRlcmFj dGl2ZWx5LCB3aXRoIGEgcHJlZml4IGFyZ3VtZW50IG9mIHplcm8pLCBob3dldmVyLFxudGhlcmUg aXMgbm8gc3VjaCB0cnVuY2F0aW9uLlxuXG5JZiB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIGFuIGlu dGVnZXIsIGFuZCBDSEFSLVBSSU5ULUxJTUlUIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB1 bmxlc3MgZ2l2ZW4gYSBub24temVybyBwcmVmaXggYXJndW1lbnQpXG5pdCB3aWxsIGJlIHByaW50 ZWQgaW4gc2V2ZXJhbCBhZGRpdGlvbmFsIGZvcm1hdHMgKG9jdGFsLFxuaGV4YWRlY2ltYWwsIGFu ZCBjaGFyYWN0ZXIpLiAgVGhlIGNoYXJhY3RlciBmb3JtYXQgaXMgdXNlZCBvbmx5XG5pZiB0aGUg dmFsdWUgaXMgYmVsb3cgQ0hBUi1QUklOVC1MSU1JVCAoaW50ZXJhY3RpdmVseSwgaWYgdGhlXG5w cmVmaXggYXJndW1lbnQgaXMgLTEgb3IgdGhlIHZhbHVlIGRvZXNuJ3QgZXhjZWVkXG5gZXZhbC1l eHByZXNzaW9uLXByaW50LW1heGltdW0tY2hhcmFjdGVyJykuXG5cblJ1bnMgdGhlIGhvb2sgYGV2 YWwtZXhwcmVzc2lvbi1taW5pYnVmZmVyLXNldHVwLWhvb2snIG9uIGVudGVyaW5nIHRoZVxubWlu aWJ1ZmZlci5cblxuSWYgYGV2YWwtZXhwcmVzc2lvbi1kZWJ1Zy1vbi1lcnJvcicgaXMgbm9uLW5p bCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQsXG50aGlzIGNvbW1hbmQgYXJyYW5nZXMgZm9yIGFsbCBl cnJvcnMgdG8gZW50ZXIgdGhlIGRlYnVnZ2VyLiIgKGludGVyYWN0aXZlICNmKGNvbXBpbGVkLWZ1 bmN0aW9uICgpICM8Ynl0ZWNvZGUgLTB4NDU2ZjM3YjY0ODhkMmNkPikpICM8Ynl0ZWNvZGUgMHgx ZWI3OWRhN2ZjMWIwMjEyPikgKChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10 ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmls IDEyNykpCiAgZXZhbC1leHByZXNzaW9uKChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAo d2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBu aWwgbmlsIDEyNykKICBmdW5jYWxsLWludGVyYWN0aXZlbHkoZXZhbC1leHByZXNzaW9uIChsZXQg KChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUt Y29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykKICAjPHN1YnIgY2FsbC1pbnRl cmFjdGl2ZWx5PihldmFsLWV4cHJlc3Npb24gbmlsIG5pbCkKICBhcHBseSgjPHN1YnIgY2FsbC1p bnRlcmFjdGl2ZWx5PiBldmFsLWV4cHJlc3Npb24gKG5pbCBuaWwpKQogIGNhbGwtaW50ZXJhY3Rp dmVseUBpZG8tY3IrLXJlY29yZC1jdXJyZW50LWNvbW1hbmQoIzxzdWJyIGNhbGwtaW50ZXJhY3Rp dmVseT4gZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpCiAgYXBwbHkoY2FsbC1pbnRlcmFjdGl2ZWx5 QGlkby1jcistcmVjb3JkLWN1cnJlbnQtY29tbWFuZCAjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5 PiAoZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpKQogIGNhbGwtaW50ZXJhY3RpdmVseShldmFsLWV4 cHJlc3Npb24gbmlsIG5pbCkKICBjb21tYW5kLWV4ZWN1dGUoZXZhbC1leHByZXNzaW9uKQo= --000000000000076de005e9e11335 Content-Type: application/octet-stream; name=TRAMP-LOG Content-Disposition: attachment; filename=TRAMP-LOG Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l8o8s4en1 OzsgRW1hY3M6IDI5LjAuNTAgVHJhbXA6IDIuNi4wLXByZSAtKi0gbW9kZTogb3V0bGluZTsgY29k aW5nOiB1dGYtODsgLSotCjs7IExvY2F0aW9uOiAvdXNyL2xvY2FsL3NoYXJlL2VtYWNzLzI5LjAu NTAvbGlzcC9uZXQvdHJhbXAuZWxjIEdpdDogbWFzdGVyLzVmZDhlMWNjNDlkMmViZDU5MjE5ZGRm M2E2OTE5NDlhMjJiNjAxZjMKMTA6MjY6MzYuNjM4MDg2IHRyYW1wLWhhbmRsZS1pbnNlcnQtZmls ZS1jb250ZW50cyAoMykgIyBJbnNlcnRpbmcg4oCYL3NzaDpVU0VSQEhPU1QjMjIyMjI6L1BBVEji gJkuLi4KMTA6MjY6MzYuNjM5MDMzIHRyYW1wLWdldC1jb25uZWN0aW9uLXByb3BlcnR5ICg3KSAj IHJlbW90ZS10bXBkaXIgdW5kZWY7IGNhY2hlIHVzZWQ6IG5pbAoxMDoyNjozNi42MzkyMDAgdHJh bXAtZ2V0LWNvbm5lY3Rpb24tcHJvcGVydHkgKDcpICMgdG1wZGlyIC9zc2g6VVNFUkBIT1NUIzIy MjIyOi90bXA7IGNhY2hlIHVzZWQ6IHQKMTA6MjY6MzYuNjM5MzM1IHRyYW1wLWdldC1jb25uZWN0 aW9uLXByb3BlcnR5ICg3KSAjIHRtcGRpciAvc3NoOlVTRVJASE9TVCMyMjIyMjovdG1wOyBjYWNo ZSB1c2VkOiB0CjEwOjI2OjM2Ljc3MDQ2MyB0cmFtcC1nZXQtZmlsZS1wcm9wZXJ0eSAoOCkgIyAv c3NoOlVTRVJASE9TVCMyMjIyMjovdG1wIGZpbGUtZGlyZWN0b3J5LXAgbmlsOyBpbmhpYml0OiA2 MDA7IGNhY2hlIHVzZWQ6IHQ7IGNhY2hlZCBhdDogMTA6MjU6NTkKMTA6MjY6MzYuODY0NDk0IHRy YW1wLWdldC1yZW1vdGUtdG1wZGlyICgxMCkgIyAKICBiYWNrdHJhY2UoKQogIHRyYW1wLWVycm9y KCh0cmFtcC1maWxlLW5hbWUgInNzaCIgIlVTRVIiIG5pbCAiSE9TVCIgIjIyMjIyIiAiL1BBVEgi IG5pbCkgZmlsZS1lcnJvciAiRGlyZWN0b3J5ICVzIG5vdCBhY2Nlc3NpYmxlIiAiL3NzaDpVU0VS QEhPU1QjMjIyMjI6L3NzaDpVU0VSLi4uIikKICB0cmFtcC1nZXQtcmVtb3RlLXRtcGRpcigodHJh bXAtZmlsZS1uYW1lICJzc2giICJVU0VSIiBuaWwgIkhPU1QiICIyMjIyMiIgIi9QQVRIIiBuaWwp KQogIHRyYW1wLW1ha2UtdHJhbXAtdGVtcC1maWxlKCh0cmFtcC1maWxlLW5hbWUgInNzaCIgIlVT RVIiIG5pbCAiSE9TVCIgIjIyMjIyIiAiL1BBVEgiIG5pbCkpCiAgdHJhbXAtaGFuZGxlLWluc2Vy dC1maWxlLWNvbnRlbnRzKCIvc3NoOlVTRVJASE9TVCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmls KQogIGFwcGx5KHRyYW1wLWhhbmRsZS1pbnNlcnQtZmlsZS1jb250ZW50cyAoIi9zc2g6VVNFUkBI T1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCBuaWwpKQogIHRyYW1wLXNoLWZpbGUtbmFtZS1oYW5k bGVyKGluc2VydC1maWxlLWNvbnRlbnRzICIvc3NoOlVTRVJASE9TVCMyMjIyMjovUEFUSCIgbmls IDEgMTAgbmlsKQogIGFwcGx5KHRyYW1wLXNoLWZpbGUtbmFtZS1oYW5kbGVyIGluc2VydC1maWxl LWNvbnRlbnRzICgiL3NzaDpVU0VSQEhPU1QjMjIyMjI6L1BBVEgiIG5pbCAxIDEwIG5pbCkpCiAg dHJhbXAtZmlsZS1uYW1lLWhhbmRsZXIoaW5zZXJ0LWZpbGUtY29udGVudHMgIi9zc2g6VVNFUkBI T1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCBuaWwpCiAgaW5zZXJ0LWZpbGUtY29udGVudHMoIi9z c2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCkKICAocHJvZ24gKGluc2VydC1maWxl LWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKQogICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2Vy dC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1 ZmZlcikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpCiAgKHNhdmUtY3VycmVudC1idWZmZXIg KHNldC1idWZmZXIgdGVtcC1idWZmZXIpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2VydC1m aWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZl cikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpKQogIChsZXQgKCh0ZW1wLWJ1ZmZlciAoZ2Vu ZXJhdGUtbmV3LWJ1ZmZlciAiICp0ZW1wKiIgdCkpKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAoc2V0 LWJ1ZmZlciB0ZW1wLWJ1ZmZlcikgKHVud2luZC1wcm90ZWN0IChwcm9nbiAoaW5zZXJ0LWZpbGUt Y29udGVudHMgZmlsZSBuaWwgMSAxMCkpIChhbmQgKGJ1ZmZlci1uYW1lIHRlbXAtYnVmZmVyKSAo a2lsbC1idWZmZXIgdGVtcC1idWZmZXIpKSkpKQogIChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5h bWUpKSAobGV0ICgodGVtcC1idWZmZXIgKGdlbmVyYXRlLW5ldy1idWZmZXIgIiAqdGVtcCoiIHQp KSkgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgdGVtcC1idWZmZXIpICh1bndpbmQt cHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5k IChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpKSkp CiAgZXZhbCgobGV0ICgoZmlsZSBidWZmZXItZmlsZS1uYW1lKSkgKGxldCAoKHRlbXAtYnVmZmVy IChnZW5lcmF0ZS1uZXctYnVmZmVyICIgKnRlbXAqIiB0KSkpIChzYXZlLWN1cnJlbnQtYnVmZmVy IChzZXQtYnVmZmVyIHRlbXAtYnVmZmVyKSAodW53aW5kLXByb3RlY3QgKHByb2duIChpbnNlcnQt ZmlsZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkgKGFuZCAoYnVmZmVyLW5hbWUgdGVtcC1idWZm ZXIpIChraWxsLWJ1ZmZlciB0ZW1wLWJ1ZmZlcikpKSkpKSB0KQogICNmKGNvbXBpbGVkLWZ1bmN0 aW9uIChleHAgJm9wdGlvbmFsIGluc2VydC12YWx1ZSBuby10cnVuY2F0ZSBjaGFyLXByaW50LWxp bWl0KSAiRXZhbHVhdGUgRVhQIGFuZCBwcmludCB2YWx1ZSBpbiB0aGUgZWNobyBhcmVhLlxuV2hl biBjYWxsZWQgaW50ZXJhY3RpdmVseSwgcmVhZCBhbiBFbWFjcyBMaXNwIGV4cHJlc3Npb24gYW5k XG5ldmFsdWF0ZSBpdC4gIFZhbHVlIGlzIGFsc28gY29uc2VkIG9uIHRvIGZyb250IG9mIHRoZSB2 YXJpYWJsZVxuYHZhbHVlcycuICBPcHRpb25hbCBhcmd1bWVudCBJTlNFUlQtVkFMVUUgbm9uLW5p bCAoaW50ZXJhY3RpdmVseSxcbndpdGggYSBub24gYC0nIHByZWZpeCBhcmd1bWVudCkgbWVhbnMg aW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGVcbmN1cnJlbnQgYnVmZmVyIGluc3RlYWQgb2YgcHJp bnRpbmcgaXQgaW4gdGhlIGVjaG8gYXJlYS5cblxuTm9ybWFsbHksIHRoaXMgZnVuY3Rpb24gdHJ1 bmNhdGVzIGxvbmcgb3V0cHV0IGFjY29yZGluZyB0byB0aGVcbnZhbHVlIG9mIHRoZSB2YXJpYWJs ZXMgYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZW5ndGgnIGFuZFxuYGV2YWwtZXhwcmVzc2lvbi1w cmludC1sZXZlbCcuICBXaGVuIE5PLVRSVU5DQVRFIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5 LCB3aXRoIGEgcHJlZml4IGFyZ3VtZW50IG9mIHplcm8pLCBob3dldmVyLFxudGhlcmUgaXMgbm8g c3VjaCB0cnVuY2F0aW9uLlxuXG5JZiB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIGFuIGludGVnZXIs IGFuZCBDSEFSLVBSSU5ULUxJTUlUIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB1bmxlc3Mg Z2l2ZW4gYSBub24temVybyBwcmVmaXggYXJndW1lbnQpXG5pdCB3aWxsIGJlIHByaW50ZWQgaW4g c2V2ZXJhbCBhZGRpdGlvbmFsIGZvcm1hdHMgKG9jdGFsLFxuaGV4YWRlY2ltYWwsIGFuZCBjaGFy YWN0ZXIpLiAgVGhlIGNoYXJhY3RlciBmb3JtYXQgaXMgdXNlZCBvbmx5XG5pZiB0aGUgdmFsdWUg aXMgYmVsb3cgQ0hBUi1QUklOVC1MSU1JVCAoaW50ZXJhY3RpdmVseSwgaWYgdGhlXG5wcmVmaXgg YXJndW1lbnQgaXMgLTEgb3IgdGhlIHZhbHVlIGRvZXNuJ3QgZXhjZWVkXG5gZXZhbC1leHByZXNz aW9uLXByaW50LW1heGltdW0tY2hhcmFjdGVyJykuXG5cblJ1bnMgdGhlIGhvb2sgYGV2YWwtZXhw cmVzc2lvbi1taW5pYnVmZmVyLXNldHVwLWhvb2snIG9uIGVudGVyaW5nIHRoZVxubWluaWJ1ZmZl ci5cblxuSWYgYGV2YWwtZXhwcmVzc2lvbi1kZWJ1Zy1vbi1lcnJvcicgaXMgbm9uLW5pbCwgd2hp Y2ggaXMgdGhlIGRlZmF1bHQsXG50aGlzIGNvbW1hbmQgYXJyYW5nZXMgZm9yIGFsbCBlcnJvcnMg dG8gZW50ZXIgdGhlIGRlYnVnZ2VyLiIgKGludGVyYWN0aXZlICNmKGNvbXBpbGVkLWZ1bmN0aW9u ICgpICM8Ynl0ZWNvZGUgLTB4NDU2ZjM3YjY0ODhkMmNkPikpICM8Ynl0ZWNvZGUgMHgxZWI3OWRh N2ZjMWIwMjEyPikoKGxldCAoKGZpbGUgYnVmZmVyLWZpbGUtbmFtZSkpICh3aXRoLXRlbXAtYnVm ZmVyIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkpIG5pbCBuaWwgMTI3KQog IGFwcGx5KCNmKGNvbXBpbGVkLWZ1bmN0aW9uIChleHAgJm9wdGlvbmFsIGluc2VydC12YWx1ZSBu by10cnVuY2F0ZSBjaGFyLXByaW50LWxpbWl0KSAiRXZhbHVhdGUgRVhQIGFuZCBwcmludCB2YWx1 ZSBpbiB0aGUgZWNobyBhcmVhLlxuV2hlbiBjYWxsZWQgaW50ZXJhY3RpdmVseSwgcmVhZCBhbiBF bWFjcyBMaXNwIGV4cHJlc3Npb24gYW5kXG5ldmFsdWF0ZSBpdC4gIFZhbHVlIGlzIGFsc28gY29u c2VkIG9uIHRvIGZyb250IG9mIHRoZSB2YXJpYWJsZVxuYHZhbHVlcycuICBPcHRpb25hbCBhcmd1 bWVudCBJTlNFUlQtVkFMVUUgbm9uLW5pbCAoaW50ZXJhY3RpdmVseSxcbndpdGggYSBub24gYC0n IHByZWZpeCBhcmd1bWVudCkgbWVhbnMgaW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGVcbmN1cnJl bnQgYnVmZmVyIGluc3RlYWQgb2YgcHJpbnRpbmcgaXQgaW4gdGhlIGVjaG8gYXJlYS5cblxuTm9y bWFsbHksIHRoaXMgZnVuY3Rpb24gdHJ1bmNhdGVzIGxvbmcgb3V0cHV0IGFjY29yZGluZyB0byB0 aGVcbnZhbHVlIG9mIHRoZSB2YXJpYWJsZXMgYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZW5ndGgn IGFuZFxuYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZXZlbCcuICBXaGVuIE5PLVRSVU5DQVRFIGlz XG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB3aXRoIGEgcHJlZml4IGFyZ3VtZW50IG9mIHplcm8p LCBob3dldmVyLFxudGhlcmUgaXMgbm8gc3VjaCB0cnVuY2F0aW9uLlxuXG5JZiB0aGUgcmVzdWx0 aW5nIHZhbHVlIGlzIGFuIGludGVnZXIsIGFuZCBDSEFSLVBSSU5ULUxJTUlUIGlzXG5ub24tbmls IChpbnRlcmFjdGl2ZWx5LCB1bmxlc3MgZ2l2ZW4gYSBub24temVybyBwcmVmaXggYXJndW1lbnQp XG5pdCB3aWxsIGJlIHByaW50ZWQgaW4gc2V2ZXJhbCBhZGRpdGlvbmFsIGZvcm1hdHMgKG9jdGFs LFxuaGV4YWRlY2ltYWwsIGFuZCBjaGFyYWN0ZXIpLiAgVGhlIGNoYXJhY3RlciBmb3JtYXQgaXMg dXNlZCBvbmx5XG5pZiB0aGUgdmFsdWUgaXMgYmVsb3cgQ0hBUi1QUklOVC1MSU1JVCAoaW50ZXJh Y3RpdmVseSwgaWYgdGhlXG5wcmVmaXggYXJndW1lbnQgaXMgLTEgb3IgdGhlIHZhbHVlIGRvZXNu J3QgZXhjZWVkXG5gZXZhbC1leHByZXNzaW9uLXByaW50LW1heGltdW0tY2hhcmFjdGVyJykuXG5c blJ1bnMgdGhlIGhvb2sgYGV2YWwtZXhwcmVzc2lvbi1taW5pYnVmZmVyLXNldHVwLWhvb2snIG9u IGVudGVyaW5nIHRoZVxubWluaWJ1ZmZlci5cblxuSWYgYGV2YWwtZXhwcmVzc2lvbi1kZWJ1Zy1v bi1lcnJvcicgaXMgbm9uLW5pbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQsXG50aGlzIGNvbW1hbmQg YXJyYW5nZXMgZm9yIGFsbCBlcnJvcnMgdG8gZW50ZXIgdGhlIGRlYnVnZ2VyLiIgKGludGVyYWN0 aXZlICNmKGNvbXBpbGVkLWZ1bmN0aW9uICgpICM8Ynl0ZWNvZGUgLTB4NDU2ZjM3YjY0ODhkMmNk PikpICM8Ynl0ZWNvZGUgMHgxZWI3OWRhN2ZjMWIwMjEyPikgKChsZXQgKChmaWxlIGJ1ZmZlci1m aWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBu aWwgMSAxMCkpKSBuaWwgbmlsIDEyNykpCiAgZXZhbC1leHByZXNzaW9uKChsZXQgKChmaWxlIGJ1 ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMg ZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykKICBmdW5jYWxsLWludGVyYWN0aXZlbHkoZXZh bC1leHByZXNzaW9uIChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1 ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykK ICAjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5PihldmFsLWV4cHJlc3Npb24gbmlsIG5pbCkKICBh cHBseSgjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5PiBldmFsLWV4cHJlc3Npb24gKG5pbCBuaWwp KQogIGNhbGwtaW50ZXJhY3RpdmVseUBpZG8tY3IrLXJlY29yZC1jdXJyZW50LWNvbW1hbmQoIzxz dWJyIGNhbGwtaW50ZXJhY3RpdmVseT4gZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpCiAgYXBwbHko Y2FsbC1pbnRlcmFjdGl2ZWx5QGlkby1jcistcmVjb3JkLWN1cnJlbnQtY29tbWFuZCAjPHN1YnIg Y2FsbC1pbnRlcmFjdGl2ZWx5PiAoZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpKQogIGNhbGwtaW50 ZXJhY3RpdmVseShldmFsLWV4cHJlc3Npb24gbmlsIG5pbCkKICBjb21tYW5kLWV4ZWN1dGUoZXZh bC1leHByZXNzaW9uKQoxMDoyNjozNi44NjQ3MDAgdHJhbXAtZ2V0LXJlbW90ZS10bXBkaXIgKDEp ICMgRmlsZSBlcnJvcjogRGlyZWN0b3J5IC9zc2g6VVNFUkBIT1NUIzIyMjIyOi9zc2g6VVNFUkBI T1NUIzIyMjIyOi90bXAgbm90IGFjY2Vzc2libGUKMTA6MjY6MzYuODY1MDkzIHRyYW1wLWhhbmRs ZS1pbnNlcnQtZmlsZS1jb250ZW50cyAoMykgIyBJbnNlcnRpbmcg4oCYL3NzaDpVU0VSQEhPU1Qj MjIyMjI6L1BBVEjigJkuLi5mYWlsZWQKMTA6MjY6MzYuODY1ODk0IHRyYW1wLWdldC1maWxlLXBy b3BlcnR5ICg4KSAjIC9QQVRIIGZpbGUtZXhpc3RzLXAgdDsgaW5oaWJpdDogNjAwOyBjYWNoZSB1 c2VkOiB0OyBjYWNoZWQgYXQ6IDEwOjI1OjU5CjEwOjI2OjM2LjkzNzQ0NSB0cmFtcC1oYW5kbGUt aW5zZXJ0LWZpbGUtY29udGVudHMgKDEwKSAjIAogIGJhY2t0cmFjZSgpCiAgdHJhbXAtZXJyb3Io KHRyYW1wLWZpbGUtbmFtZSAic3NoIiAiVVNFUiIgbmlsICJIT1NUIiAiMjIyMjIiICIvUEFUSCIg bmlsKSBmaWxlLWVycm9yICJEaXJlY3RvcnkgL3NzaDpVU0VSQEhPU1QjMjIyMjI6L3NzaC4uLiIp CiAgdHJhbXAtc2lnbmFsLWhvb2stZnVuY3Rpb24oZmlsZS1lcnJvciAoIkRpcmVjdG9yeSAvc3No OlVTRVJASE9TVCMyMjIyMjovc3NoLi4uIikpCiAgc2lnbmFsKGZpbGUtZXJyb3IgKCJEaXJlY3Rv cnkgL3NzaDpVU0VSQEhPU1QjMjIyMjI6L3NzaC4uLiIpKQogIHRyYW1wLWhhbmRsZS1pbnNlcnQt ZmlsZS1jb250ZW50cygiL3NzaDpVU0VSQEhPU1QjMjIyMjI6L1BBVEgiIG5pbCAxIDEwIG5pbCkK ICBhcHBseSh0cmFtcC1oYW5kbGUtaW5zZXJ0LWZpbGUtY29udGVudHMgKCIvc3NoOlVTRVJASE9T VCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmlsKSkKICB0cmFtcC1zaC1maWxlLW5hbWUtaGFuZGxl cihpbnNlcnQtZmlsZS1jb250ZW50cyAiL3NzaDpVU0VSQEhPU1QjMjIyMjI6L1BBVEgiIG5pbCAx IDEwIG5pbCkKICBhcHBseSh0cmFtcC1zaC1maWxlLW5hbWUtaGFuZGxlciBpbnNlcnQtZmlsZS1j b250ZW50cyAoIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCBuaWwpKQogIHRy YW1wLWZpbGUtbmFtZS1oYW5kbGVyKGluc2VydC1maWxlLWNvbnRlbnRzICIvc3NoOlVTRVJASE9T VCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmlsKQogIGluc2VydC1maWxlLWNvbnRlbnRzKCIvc3No OlVTRVJASE9TVCMyMjIyMjovUEFUSCIgbmlsIDEgMTApCiAgKHByb2duIChpbnNlcnQtZmlsZS1j b250ZW50cyBmaWxlIG5pbCAxIDEwKSkKICAodW53aW5kLXByb3RlY3QgKHByb2duIChpbnNlcnQt ZmlsZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkgKGFuZCAoYnVmZmVyLW5hbWUgdGVtcC1idWZm ZXIpIChraWxsLWJ1ZmZlciB0ZW1wLWJ1ZmZlcikpKQogIChzYXZlLWN1cnJlbnQtYnVmZmVyIChz ZXQtYnVmZmVyIHRlbXAtYnVmZmVyKSAodW53aW5kLXByb3RlY3QgKHByb2duIChpbnNlcnQtZmls ZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkgKGFuZCAoYnVmZmVyLW5hbWUgdGVtcC1idWZmZXIp IChraWxsLWJ1ZmZlciB0ZW1wLWJ1ZmZlcikpKSkKICAobGV0ICgodGVtcC1idWZmZXIgKGdlbmVy YXRlLW5ldy1idWZmZXIgIiAqdGVtcCoiIHQpKSkgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1i dWZmZXIgdGVtcC1idWZmZXIpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNv bnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtp bGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpKSkKICAobGV0ICgoZmlsZSBidWZmZXItZmlsZS1uYW1l KSkgKGxldCAoKHRlbXAtYnVmZmVyIChnZW5lcmF0ZS1uZXctYnVmZmVyICIgKnRlbXAqIiB0KSkp IChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIHRlbXAtYnVmZmVyKSAodW53aW5kLXBy b3RlY3QgKHByb2duIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkgKGFuZCAo YnVmZmVyLW5hbWUgdGVtcC1idWZmZXIpIChraWxsLWJ1ZmZlciB0ZW1wLWJ1ZmZlcikpKSkpKQog IGV2YWwoKGxldCAoKGZpbGUgYnVmZmVyLWZpbGUtbmFtZSkpIChsZXQgKCh0ZW1wLWJ1ZmZlciAo Z2VuZXJhdGUtbmV3LWJ1ZmZlciAiICp0ZW1wKiIgdCkpKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAo c2V0LWJ1ZmZlciB0ZW1wLWJ1ZmZlcikgKHVud2luZC1wcm90ZWN0IChwcm9nbiAoaW5zZXJ0LWZp bGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpIChhbmQgKGJ1ZmZlci1uYW1lIHRlbXAtYnVmZmVy KSAoa2lsbC1idWZmZXIgdGVtcC1idWZmZXIpKSkpKSkgdCkKICAjZihjb21waWxlZC1mdW5jdGlv biAoZXhwICZvcHRpb25hbCBpbnNlcnQtdmFsdWUgbm8tdHJ1bmNhdGUgY2hhci1wcmludC1saW1p dCkgIkV2YWx1YXRlIEVYUCBhbmQgcHJpbnQgdmFsdWUgaW4gdGhlIGVjaG8gYXJlYS5cbldoZW4g Y2FsbGVkIGludGVyYWN0aXZlbHksIHJlYWQgYW4gRW1hY3MgTGlzcCBleHByZXNzaW9uIGFuZFxu ZXZhbHVhdGUgaXQuICBWYWx1ZSBpcyBhbHNvIGNvbnNlZCBvbiB0byBmcm9udCBvZiB0aGUgdmFy aWFibGVcbmB2YWx1ZXMnLiAgT3B0aW9uYWwgYXJndW1lbnQgSU5TRVJULVZBTFVFIG5vbi1uaWwg KGludGVyYWN0aXZlbHksXG53aXRoIGEgbm9uIGAtJyBwcmVmaXggYXJndW1lbnQpIG1lYW5zIGlu c2VydCB0aGUgcmVzdWx0IGludG8gdGhlXG5jdXJyZW50IGJ1ZmZlciBpbnN0ZWFkIG9mIHByaW50 aW5nIGl0IGluIHRoZSBlY2hvIGFyZWEuXG5cbk5vcm1hbGx5LCB0aGlzIGZ1bmN0aW9uIHRydW5j YXRlcyBsb25nIG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlXG52YWx1ZSBvZiB0aGUgdmFyaWFibGVz IGBldmFsLWV4cHJlc3Npb24tcHJpbnQtbGVuZ3RoJyBhbmRcbmBldmFsLWV4cHJlc3Npb24tcHJp bnQtbGV2ZWwnLiAgV2hlbiBOTy1UUlVOQ0FURSBpc1xubm9uLW5pbCAoaW50ZXJhY3RpdmVseSwg d2l0aCBhIHByZWZpeCBhcmd1bWVudCBvZiB6ZXJvKSwgaG93ZXZlcixcbnRoZXJlIGlzIG5vIHN1 Y2ggdHJ1bmNhdGlvbi5cblxuSWYgdGhlIHJlc3VsdGluZyB2YWx1ZSBpcyBhbiBpbnRlZ2VyLCBh bmQgQ0hBUi1QUklOVC1MSU1JVCBpc1xubm9uLW5pbCAoaW50ZXJhY3RpdmVseSwgdW5sZXNzIGdp dmVuIGEgbm9uLXplcm8gcHJlZml4IGFyZ3VtZW50KVxuaXQgd2lsbCBiZSBwcmludGVkIGluIHNl dmVyYWwgYWRkaXRpb25hbCBmb3JtYXRzIChvY3RhbCxcbmhleGFkZWNpbWFsLCBhbmQgY2hhcmFj dGVyKS4gIFRoZSBjaGFyYWN0ZXIgZm9ybWF0IGlzIHVzZWQgb25seVxuaWYgdGhlIHZhbHVlIGlz IGJlbG93IENIQVItUFJJTlQtTElNSVQgKGludGVyYWN0aXZlbHksIGlmIHRoZVxucHJlZml4IGFy Z3VtZW50IGlzIC0xIG9yIHRoZSB2YWx1ZSBkb2Vzbid0IGV4Y2VlZFxuYGV2YWwtZXhwcmVzc2lv bi1wcmludC1tYXhpbXVtLWNoYXJhY3RlcicpLlxuXG5SdW5zIHRoZSBob29rIGBldmFsLWV4cHJl c3Npb24tbWluaWJ1ZmZlci1zZXR1cC1ob29rJyBvbiBlbnRlcmluZyB0aGVcbm1pbmlidWZmZXIu XG5cbklmIGBldmFsLWV4cHJlc3Npb24tZGVidWctb24tZXJyb3InIGlzIG5vbi1uaWwsIHdoaWNo IGlzIHRoZSBkZWZhdWx0LFxudGhpcyBjb21tYW5kIGFycmFuZ2VzIGZvciBhbGwgZXJyb3JzIHRv IGVudGVyIHRoZSBkZWJ1Z2dlci4iIChpbnRlcmFjdGl2ZSAjZihjb21waWxlZC1mdW5jdGlvbiAo KSAjPGJ5dGVjb2RlIC0weDQ1NmYzN2I2NDg4ZDJjZD4pKSAjPGJ5dGVjb2RlIDB4MWViNzlkYTdm YzFiMDIxMj4pKChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZl ciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykKICBh cHBseSgjZihjb21waWxlZC1mdW5jdGlvbiAoZXhwICZvcHRpb25hbCBpbnNlcnQtdmFsdWUgbm8t dHJ1bmNhdGUgY2hhci1wcmludC1saW1pdCkgIkV2YWx1YXRlIEVYUCBhbmQgcHJpbnQgdmFsdWUg aW4gdGhlIGVjaG8gYXJlYS5cbldoZW4gY2FsbGVkIGludGVyYWN0aXZlbHksIHJlYWQgYW4gRW1h Y3MgTGlzcCBleHByZXNzaW9uIGFuZFxuZXZhbHVhdGUgaXQuICBWYWx1ZSBpcyBhbHNvIGNvbnNl ZCBvbiB0byBmcm9udCBvZiB0aGUgdmFyaWFibGVcbmB2YWx1ZXMnLiAgT3B0aW9uYWwgYXJndW1l bnQgSU5TRVJULVZBTFVFIG5vbi1uaWwgKGludGVyYWN0aXZlbHksXG53aXRoIGEgbm9uIGAtJyBw cmVmaXggYXJndW1lbnQpIG1lYW5zIGluc2VydCB0aGUgcmVzdWx0IGludG8gdGhlXG5jdXJyZW50 IGJ1ZmZlciBpbnN0ZWFkIG9mIHByaW50aW5nIGl0IGluIHRoZSBlY2hvIGFyZWEuXG5cbk5vcm1h bGx5LCB0aGlzIGZ1bmN0aW9uIHRydW5jYXRlcyBsb25nIG91dHB1dCBhY2NvcmRpbmcgdG8gdGhl XG52YWx1ZSBvZiB0aGUgdmFyaWFibGVzIGBldmFsLWV4cHJlc3Npb24tcHJpbnQtbGVuZ3RoJyBh bmRcbmBldmFsLWV4cHJlc3Npb24tcHJpbnQtbGV2ZWwnLiAgV2hlbiBOTy1UUlVOQ0FURSBpc1xu bm9uLW5pbCAoaW50ZXJhY3RpdmVseSwgd2l0aCBhIHByZWZpeCBhcmd1bWVudCBvZiB6ZXJvKSwg aG93ZXZlcixcbnRoZXJlIGlzIG5vIHN1Y2ggdHJ1bmNhdGlvbi5cblxuSWYgdGhlIHJlc3VsdGlu ZyB2YWx1ZSBpcyBhbiBpbnRlZ2VyLCBhbmQgQ0hBUi1QUklOVC1MSU1JVCBpc1xubm9uLW5pbCAo aW50ZXJhY3RpdmVseSwgdW5sZXNzIGdpdmVuIGEgbm9uLXplcm8gcHJlZml4IGFyZ3VtZW50KVxu aXQgd2lsbCBiZSBwcmludGVkIGluIHNldmVyYWwgYWRkaXRpb25hbCBmb3JtYXRzIChvY3RhbCxc bmhleGFkZWNpbWFsLCBhbmQgY2hhcmFjdGVyKS4gIFRoZSBjaGFyYWN0ZXIgZm9ybWF0IGlzIHVz ZWQgb25seVxuaWYgdGhlIHZhbHVlIGlzIGJlbG93IENIQVItUFJJTlQtTElNSVQgKGludGVyYWN0 aXZlbHksIGlmIHRoZVxucHJlZml4IGFyZ3VtZW50IGlzIC0xIG9yIHRoZSB2YWx1ZSBkb2Vzbid0 IGV4Y2VlZFxuYGV2YWwtZXhwcmVzc2lvbi1wcmludC1tYXhpbXVtLWNoYXJhY3RlcicpLlxuXG5S dW5zIHRoZSBob29rIGBldmFsLWV4cHJlc3Npb24tbWluaWJ1ZmZlci1zZXR1cC1ob29rJyBvbiBl bnRlcmluZyB0aGVcbm1pbmlidWZmZXIuXG5cbklmIGBldmFsLWV4cHJlc3Npb24tZGVidWctb24t ZXJyb3InIGlzIG5vbi1uaWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0LFxudGhpcyBjb21tYW5kIGFy cmFuZ2VzIGZvciBhbGwgZXJyb3JzIHRvIGVudGVyIHRoZSBkZWJ1Z2dlci4iIChpbnRlcmFjdGl2 ZSAjZihjb21waWxlZC1mdW5jdGlvbiAoKSAjPGJ5dGVjb2RlIC0weDQ1NmYzN2I2NDg4ZDJjZD4p KSAjPGJ5dGVjb2RlIDB4MWViNzlkYTdmYzFiMDIxMj4pICgobGV0ICgoZmlsZSBidWZmZXItZmls ZS1uYW1lKSkgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmls IDEgMTApKSkgbmlsIG5pbCAxMjcpKQogIGV2YWwtZXhwcmVzc2lvbigobGV0ICgoZmlsZSBidWZm ZXItZmlsZS1uYW1lKSkgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydC1maWxlLWNvbnRlbnRzIGZp bGUgbmlsIDEgMTApKSkgbmlsIG5pbCAxMjcpCiAgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5KGV2YWwt ZXhwcmVzc2lvbiAobGV0ICgoZmlsZSBidWZmZXItZmlsZS1uYW1lKSkgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSkgbmlsIG5pbCAxMjcpCiAg IzxzdWJyIGNhbGwtaW50ZXJhY3RpdmVseT4oZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpCiAgYXBw bHkoIzxzdWJyIGNhbGwtaW50ZXJhY3RpdmVseT4gZXZhbC1leHByZXNzaW9uIChuaWwgbmlsKSkK ICBjYWxsLWludGVyYWN0aXZlbHlAaWRvLWNyKy1yZWNvcmQtY3VycmVudC1jb21tYW5kKCM8c3Vi ciBjYWxsLWludGVyYWN0aXZlbHk+IGV2YWwtZXhwcmVzc2lvbiBuaWwgbmlsKQogIGFwcGx5KGNh bGwtaW50ZXJhY3RpdmVseUBpZG8tY3IrLXJlY29yZC1jdXJyZW50LWNvbW1hbmQgIzxzdWJyIGNh bGwtaW50ZXJhY3RpdmVseT4gKGV2YWwtZXhwcmVzc2lvbiBuaWwgbmlsKSkKICBjYWxsLWludGVy YWN0aXZlbHkoZXZhbC1leHByZXNzaW9uIG5pbCBuaWwpCiAgY29tbWFuZC1leGVjdXRlKGV2YWwt ZXhwcmVzc2lvbikKMTA6MjY6MzYuOTM3Njc0IHRyYW1wLWhhbmRsZS1pbnNlcnQtZmlsZS1jb250 ZW50cyAoMSkgIyBGaWxlIGVycm9yOiBEaXJlY3RvcnkgL3NzaDpVU0VSQEhPU1QjMjIyMjI6L3Nz aDpVU0VSQEhPU1QjMjIyMjI6L3RtcCBub3QgYWNjZXNzaWJsZQoxMDoyNjozNi45OTkzMTAgdHJh bXAtaGFuZGxlLWluc2VydC1maWxlLWNvbnRlbnRzICgxMCkgIyAKICBiYWNrdHJhY2UoKQogIHRy YW1wLWVycm9yKCh0cmFtcC1maWxlLW5hbWUgInNzaCIgIlVTRVIiIG5pbCAiSE9TVCIgIjIyMjIy IiAiL1BBVEgiIG5pbCkgZmlsZS1taXNzaW5nICIvc3NoOlVTRVJASE9TVCMyMjIyMjovUEFUSCIp CiAgdHJhbXAtaGFuZGxlLWluc2VydC1maWxlLWNvbnRlbnRzKCIvc3NoOlVTRVJASE9TVCMyMjIy MjovUEFUSCIgbmlsIDEgMTAgbmlsKQogIGFwcGx5KHRyYW1wLWhhbmRsZS1pbnNlcnQtZmlsZS1j b250ZW50cyAoIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCBuaWwpKQogIHRy YW1wLXNoLWZpbGUtbmFtZS1oYW5kbGVyKGluc2VydC1maWxlLWNvbnRlbnRzICIvc3NoOlVTRVJA SE9TVCMyMjIyMjovUEFUSCIgbmlsIDEgMTAgbmlsKQogIGFwcGx5KHRyYW1wLXNoLWZpbGUtbmFt ZS1oYW5kbGVyIGluc2VydC1maWxlLWNvbnRlbnRzICgiL3NzaDpVU0VSQEhPU1QjMjIyMjI6L1BB VEgiIG5pbCAxIDEwIG5pbCkpCiAgdHJhbXAtZmlsZS1uYW1lLWhhbmRsZXIoaW5zZXJ0LWZpbGUt Y29udGVudHMgIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCBuaWwpCiAgaW5z ZXJ0LWZpbGUtY29udGVudHMoIi9zc2g6VVNFUkBIT1NUIzIyMjIyOi9QQVRIIiBuaWwgMSAxMCkK ICAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKQogICh1bndpbmQt cHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5k IChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpCiAg KHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgdGVtcC1idWZmZXIpICh1bndpbmQtcHJv dGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUgbmlsIDEgMTApKSAoYW5kIChi dWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVmZmVyIHRlbXAtYnVmZmVyKSkpKQogIChs ZXQgKCh0ZW1wLWJ1ZmZlciAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAiICp0ZW1wKiIgdCkpKSAoc2F2 ZS1jdXJyZW50LWJ1ZmZlciAoc2V0LWJ1ZmZlciB0ZW1wLWJ1ZmZlcikgKHVud2luZC1wcm90ZWN0 IChwcm9nbiAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpIChhbmQgKGJ1ZmZl ci1uYW1lIHRlbXAtYnVmZmVyKSAoa2lsbC1idWZmZXIgdGVtcC1idWZmZXIpKSkpKQogIChsZXQg KChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAobGV0ICgodGVtcC1idWZmZXIgKGdlbmVyYXRlLW5l dy1idWZmZXIgIiAqdGVtcCoiIHQpKSkgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIg dGVtcC1idWZmZXIpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGluc2VydC1maWxlLWNvbnRlbnRz IGZpbGUgbmlsIDEgMTApKSAoYW5kIChidWZmZXItbmFtZSB0ZW1wLWJ1ZmZlcikgKGtpbGwtYnVm ZmVyIHRlbXAtYnVmZmVyKSkpKSkpCiAgZXZhbCgobGV0ICgoZmlsZSBidWZmZXItZmlsZS1uYW1l KSkgKGxldCAoKHRlbXAtYnVmZmVyIChnZW5lcmF0ZS1uZXctYnVmZmVyICIgKnRlbXAqIiB0KSkp IChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIHRlbXAtYnVmZmVyKSAodW53aW5kLXBy b3RlY3QgKHByb2duIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlIG5pbCAxIDEwKSkgKGFuZCAo YnVmZmVyLW5hbWUgdGVtcC1idWZmZXIpIChraWxsLWJ1ZmZlciB0ZW1wLWJ1ZmZlcikpKSkpKSB0 KQogICNmKGNvbXBpbGVkLWZ1bmN0aW9uIChleHAgJm9wdGlvbmFsIGluc2VydC12YWx1ZSBuby10 cnVuY2F0ZSBjaGFyLXByaW50LWxpbWl0KSAiRXZhbHVhdGUgRVhQIGFuZCBwcmludCB2YWx1ZSBp biB0aGUgZWNobyBhcmVhLlxuV2hlbiBjYWxsZWQgaW50ZXJhY3RpdmVseSwgcmVhZCBhbiBFbWFj cyBMaXNwIGV4cHJlc3Npb24gYW5kXG5ldmFsdWF0ZSBpdC4gIFZhbHVlIGlzIGFsc28gY29uc2Vk IG9uIHRvIGZyb250IG9mIHRoZSB2YXJpYWJsZVxuYHZhbHVlcycuICBPcHRpb25hbCBhcmd1bWVu dCBJTlNFUlQtVkFMVUUgbm9uLW5pbCAoaW50ZXJhY3RpdmVseSxcbndpdGggYSBub24gYC0nIHBy ZWZpeCBhcmd1bWVudCkgbWVhbnMgaW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGVcbmN1cnJlbnQg YnVmZmVyIGluc3RlYWQgb2YgcHJpbnRpbmcgaXQgaW4gdGhlIGVjaG8gYXJlYS5cblxuTm9ybWFs bHksIHRoaXMgZnVuY3Rpb24gdHJ1bmNhdGVzIGxvbmcgb3V0cHV0IGFjY29yZGluZyB0byB0aGVc bnZhbHVlIG9mIHRoZSB2YXJpYWJsZXMgYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZW5ndGgnIGFu ZFxuYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZXZlbCcuICBXaGVuIE5PLVRSVU5DQVRFIGlzXG5u b24tbmlsIChpbnRlcmFjdGl2ZWx5LCB3aXRoIGEgcHJlZml4IGFyZ3VtZW50IG9mIHplcm8pLCBo b3dldmVyLFxudGhlcmUgaXMgbm8gc3VjaCB0cnVuY2F0aW9uLlxuXG5JZiB0aGUgcmVzdWx0aW5n IHZhbHVlIGlzIGFuIGludGVnZXIsIGFuZCBDSEFSLVBSSU5ULUxJTUlUIGlzXG5ub24tbmlsIChp bnRlcmFjdGl2ZWx5LCB1bmxlc3MgZ2l2ZW4gYSBub24temVybyBwcmVmaXggYXJndW1lbnQpXG5p dCB3aWxsIGJlIHByaW50ZWQgaW4gc2V2ZXJhbCBhZGRpdGlvbmFsIGZvcm1hdHMgKG9jdGFsLFxu aGV4YWRlY2ltYWwsIGFuZCBjaGFyYWN0ZXIpLiAgVGhlIGNoYXJhY3RlciBmb3JtYXQgaXMgdXNl ZCBvbmx5XG5pZiB0aGUgdmFsdWUgaXMgYmVsb3cgQ0hBUi1QUklOVC1MSU1JVCAoaW50ZXJhY3Rp dmVseSwgaWYgdGhlXG5wcmVmaXggYXJndW1lbnQgaXMgLTEgb3IgdGhlIHZhbHVlIGRvZXNuJ3Qg ZXhjZWVkXG5gZXZhbC1leHByZXNzaW9uLXByaW50LW1heGltdW0tY2hhcmFjdGVyJykuXG5cblJ1 bnMgdGhlIGhvb2sgYGV2YWwtZXhwcmVzc2lvbi1taW5pYnVmZmVyLXNldHVwLWhvb2snIG9uIGVu dGVyaW5nIHRoZVxubWluaWJ1ZmZlci5cblxuSWYgYGV2YWwtZXhwcmVzc2lvbi1kZWJ1Zy1vbi1l cnJvcicgaXMgbm9uLW5pbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQsXG50aGlzIGNvbW1hbmQgYXJy YW5nZXMgZm9yIGFsbCBlcnJvcnMgdG8gZW50ZXIgdGhlIGRlYnVnZ2VyLiIgKGludGVyYWN0aXZl ICNmKGNvbXBpbGVkLWZ1bmN0aW9uICgpICM8Ynl0ZWNvZGUgLTB4NDU2ZjM3YjY0ODhkMmNkPikp ICM8Ynl0ZWNvZGUgMHgxZWI3OWRhN2ZjMWIwMjEyPikoKGxldCAoKGZpbGUgYnVmZmVyLWZpbGUt bmFtZSkpICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlIG5pbCAx IDEwKSkpIG5pbCBuaWwgMTI3KQogIGFwcGx5KCNmKGNvbXBpbGVkLWZ1bmN0aW9uIChleHAgJm9w dGlvbmFsIGluc2VydC12YWx1ZSBuby10cnVuY2F0ZSBjaGFyLXByaW50LWxpbWl0KSAiRXZhbHVh dGUgRVhQIGFuZCBwcmludCB2YWx1ZSBpbiB0aGUgZWNobyBhcmVhLlxuV2hlbiBjYWxsZWQgaW50 ZXJhY3RpdmVseSwgcmVhZCBhbiBFbWFjcyBMaXNwIGV4cHJlc3Npb24gYW5kXG5ldmFsdWF0ZSBp dC4gIFZhbHVlIGlzIGFsc28gY29uc2VkIG9uIHRvIGZyb250IG9mIHRoZSB2YXJpYWJsZVxuYHZh bHVlcycuICBPcHRpb25hbCBhcmd1bWVudCBJTlNFUlQtVkFMVUUgbm9uLW5pbCAoaW50ZXJhY3Rp dmVseSxcbndpdGggYSBub24gYC0nIHByZWZpeCBhcmd1bWVudCkgbWVhbnMgaW5zZXJ0IHRoZSBy ZXN1bHQgaW50byB0aGVcbmN1cnJlbnQgYnVmZmVyIGluc3RlYWQgb2YgcHJpbnRpbmcgaXQgaW4g dGhlIGVjaG8gYXJlYS5cblxuTm9ybWFsbHksIHRoaXMgZnVuY3Rpb24gdHJ1bmNhdGVzIGxvbmcg b3V0cHV0IGFjY29yZGluZyB0byB0aGVcbnZhbHVlIG9mIHRoZSB2YXJpYWJsZXMgYGV2YWwtZXhw cmVzc2lvbi1wcmludC1sZW5ndGgnIGFuZFxuYGV2YWwtZXhwcmVzc2lvbi1wcmludC1sZXZlbCcu ICBXaGVuIE5PLVRSVU5DQVRFIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB3aXRoIGEgcHJl Zml4IGFyZ3VtZW50IG9mIHplcm8pLCBob3dldmVyLFxudGhlcmUgaXMgbm8gc3VjaCB0cnVuY2F0 aW9uLlxuXG5JZiB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIGFuIGludGVnZXIsIGFuZCBDSEFSLVBS SU5ULUxJTUlUIGlzXG5ub24tbmlsIChpbnRlcmFjdGl2ZWx5LCB1bmxlc3MgZ2l2ZW4gYSBub24t emVybyBwcmVmaXggYXJndW1lbnQpXG5pdCB3aWxsIGJlIHByaW50ZWQgaW4gc2V2ZXJhbCBhZGRp dGlvbmFsIGZvcm1hdHMgKG9jdGFsLFxuaGV4YWRlY2ltYWwsIGFuZCBjaGFyYWN0ZXIpLiAgVGhl IGNoYXJhY3RlciBmb3JtYXQgaXMgdXNlZCBvbmx5XG5pZiB0aGUgdmFsdWUgaXMgYmVsb3cgQ0hB Ui1QUklOVC1MSU1JVCAoaW50ZXJhY3RpdmVseSwgaWYgdGhlXG5wcmVmaXggYXJndW1lbnQgaXMg LTEgb3IgdGhlIHZhbHVlIGRvZXNuJ3QgZXhjZWVkXG5gZXZhbC1leHByZXNzaW9uLXByaW50LW1h eGltdW0tY2hhcmFjdGVyJykuXG5cblJ1bnMgdGhlIGhvb2sgYGV2YWwtZXhwcmVzc2lvbi1taW5p YnVmZmVyLXNldHVwLWhvb2snIG9uIGVudGVyaW5nIHRoZVxubWluaWJ1ZmZlci5cblxuSWYgYGV2 YWwtZXhwcmVzc2lvbi1kZWJ1Zy1vbi1lcnJvcicgaXMgbm9uLW5pbCwgd2hpY2ggaXMgdGhlIGRl ZmF1bHQsXG50aGlzIGNvbW1hbmQgYXJyYW5nZXMgZm9yIGFsbCBlcnJvcnMgdG8gZW50ZXIgdGhl IGRlYnVnZ2VyLiIgKGludGVyYWN0aXZlICNmKGNvbXBpbGVkLWZ1bmN0aW9uICgpICM8Ynl0ZWNv ZGUgLTB4NDU2ZjM3YjY0ODhkMmNkPikpICM8Ynl0ZWNvZGUgMHgxZWI3OWRhN2ZjMWIwMjEyPikg KChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0 LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykpCiAgZXZhbC1leHBy ZXNzaW9uKChsZXQgKChmaWxlIGJ1ZmZlci1maWxlLW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAo aW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwgMSAxMCkpKSBuaWwgbmlsIDEyNykKICBmdW5j YWxsLWludGVyYWN0aXZlbHkoZXZhbC1leHByZXNzaW9uIChsZXQgKChmaWxlIGJ1ZmZlci1maWxl LW5hbWUpKSAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSBuaWwg MSAxMCkpKSBuaWwgbmlsIDEyNykKICAjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5PihldmFsLWV4 cHJlc3Npb24gbmlsIG5pbCkKICBhcHBseSgjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5PiBldmFs LWV4cHJlc3Npb24gKG5pbCBuaWwpKQogIGNhbGwtaW50ZXJhY3RpdmVseUBpZG8tY3IrLXJlY29y ZC1jdXJyZW50LWNvbW1hbmQoIzxzdWJyIGNhbGwtaW50ZXJhY3RpdmVseT4gZXZhbC1leHByZXNz aW9uIG5pbCBuaWwpCiAgYXBwbHkoY2FsbC1pbnRlcmFjdGl2ZWx5QGlkby1jcistcmVjb3JkLWN1 cnJlbnQtY29tbWFuZCAjPHN1YnIgY2FsbC1pbnRlcmFjdGl2ZWx5PiAoZXZhbC1leHByZXNzaW9u IG5pbCBuaWwpKQogIGNhbGwtaW50ZXJhY3RpdmVseShldmFsLWV4cHJlc3Npb24gbmlsIG5pbCkK ICBjb21tYW5kLWV4ZWN1dGUoZXZhbC1leHByZXNzaW9uKQoxMDoyNjozNi45OTk4OTAgdHJhbXAt aGFuZGxlLWluc2VydC1maWxlLWNvbnRlbnRzICgxKSAjIEZpbGUgaXMgbWlzc2luZzogL3NzaDpV U0VSQEhPU1QjMjIyMjI6L1BBVEgK --000000000000076de005e9e11335--