Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Aug 2010 16:31:28 -0400
From:      Paul Lambert <eb30750@gmail.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: misc/149335: shell script runs on Linux but not on freebsd
Message-ID:  <AANLkTimRjxG6NC3PLxybkGnHfFXe5CW=oKGcqRROOUZu@mail.gmail.com>
In-Reply-To: <201008061735.o76HZEal051334@lurza.secnetix.de>
References:  <B8BD4CE1-01CB-4C03-8D3E-2A8E29750A1D@gmail.com> <201008061735.o76HZEal051334@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
--0015175741102e46b5048d2d8dba
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Oliver,

Thanks for the reply.  I am attaching the bash output from the shell
script.  This script implements RPMs so I am sure that I need the linux
module.  I had previously found a guide on how to install RPMs on FreeBSD.
I have  a printer that has an RPM that allows it to work on Linus.  So I
would think that I will need the Linux module in the future.

I previously had made the "stat" change to the shell script and that part
works.  But, the bash shell is reporting an 'od" error.

Finally, how much performance do you lose with the linux module emulator?
Do you believe I only need the emulator to get VMware installed or will it
make other linux calls that are not part of FreeBSD?

Thanks

Paul

On Fri, Aug 6, 2010 at 1:35 PM, Oliver Fromme <olli@lurza.secnetix.de>wrote=
:

> Redirected to the -questions.
>
> Paul <eb30750@gmail.com> wrote:
>  > What about matching the ' marks in this section?  I get a command erro=
r.
>  >
>  > > >   # XXX: put extraction in its own function
>  > > >   MAGIC_NUMBER=3D`od -An -t u4 -N 4 -j $MAGIC_OFFSET "$file" | tr =
-d '
> '`
>
> That command works fine for me:
>
> $ MAGIC_OFFSET=3D42
> $ file=3D/etc/motd
> $ MAGIC_NUMBER=3D`od -An -t u4 -N 4 -j $MAGIC_OFFSET "$file" | tr -d ' '`
> $ echo $MAGIC_NUMBER
> 540684323
>
> What's the exact error message that you get, and what are
> the values of the variables involved?
>
> By the way, when debugging shell scripts it is very helpful
> to run the shell with -vx.  Then it prints the script as it
> is being parsed, and additionally each command is printed
> after expansion.
>
> Best regards
>   Oliver
>
> --
> Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
> Handelsregister: Registergericht Muenchen, HRA 74606,  Gesch=E4ftsfuehrun=
g:
> secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M=FC=
n-
> chen, HRB 125758,  Gesch=E4ftsf=FChrer: Maik Bachmann, Olaf Erb, Ralf Geb=
hart
>
> FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
>
> "I invented Ctrl-Alt-Delete, but Bill Gates made it famous."
>        -- David Bradley, original IBM PC design team
>

--0015175741102e46b5048d2d8dba
Content-Type: text/plain; charset=US-ASCII; name="bashexecoutput.txt"
Content-Disposition: attachment; filename="bashexecoutput.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gcjq9p7v0

QlJTSU5DLVZNMDIjIGtsZHN0YXQKSWQgUmVmcyBBZGRyZXNzICAgICAgICAgICAgU2l6ZSAgICAg
TmFtZQogMSAgICA3IDB4ZmZmZmZmZmY4MDEwMDAwMCBkNmFhOTggICBrZXJuZWwKIDIgICAgMSAw
eGZmZmZmZmZmODEwMjIwMDAgNWFkNGEgICAgcmFkZW9uLmtvCiAzICAgIDEgMHhmZmZmZmZmZjgx
MDdkMDAwIDExNWRjICAgIGRybS5rbwoKCgoKCkJSU0lOQy1WTTAyIyBiYXNoIC12eCBWTXdhcmUt
UGxheWVyLTMuMS4wLTI2MTAyNC54ODZfNjQuYnVuZGxlCiMhL3Vzci9iaW4vZW52IGJhc2gKIwoj
IFZNd2FyZSBJbnN0YWxsZXIgTGF1bmNoZXIKIwojIFRoaXMgaXMgdGhlIGV4ZWN1dGFibGUgc3R1
YiB0byBjaGVjayBpZiB0aGUgVk13YXJlIEluc3RhbGxlciBTZXJ2aWNlCiMgaXMgaW5zdGFsbGVk
IGFuZCBpZiBzbywgbGF1bmNoIGl0LiAgSWYgaXQgaXMgbm90IGluc3RhbGxlZCwgdGhlCiMgYXR0
YWNoZWQgcGF5bG9hZCBpcyBleHRyYWN0ZWQsIHRoZSBWTUlTIGlzIGluc3RhbGxlZCwgYW5kIHRo
ZSBWTUlTCiMgaXMgbGF1bmNoZWQgdG8gaW5zdGFsbCB0aGUgYnVuZGxlIGFzIG5vcm1hbC4KCiMg
QXJjaGl0ZWN0dXJlIHRoaXMgYnVuZGxlIHdhcyBidWlsdCBmb3IgKHg4NiBvciB4NjQpCkFSQ0g9
eDY0CisgQVJDSD14NjQKCmlmIFsgLXogIiRCQVNIIiBdOyB0aGVuCiAgICMgJC0gZXhwYW5kcyB0
byB0aGUgY3VycmVudCBvcHRpb25zIHNvIHRoaW5ncyBsaWtlIC14IGdldCBwYXNzZWQgdGhyb3Vn
aAogICBpZiBbICEgLXogIiQtIiBdOyB0aGVuCiAgICAgIG9wdHM9Ii0kLSIKICAgZmkKCiAgICMg
ZGFzaCBmbGlwcyBvdXQgb2YgJG9wdHMgaXMgcXVvdGVkLCBzbyBkb24ndC4KICAgZXhlYyAvdXNy
L2Jpbi9lbnYgYmFzaCAkb3B0cyAiJDAiICIkQCIKICAgZWNobyAiVW5hYmxlIHRvIHJlc3RhcnQg
d2l0aCBiYXNoIHNoZWxsIgogICBleGl0IDEKZmkKKyAnWycgLXogL3Vzci9sb2NhbC9iaW4vYmFz
aCAnXScKCnNldCAtZQorIHNldCAtZQoKRVRDRElSPS9ldGMvdm13YXJlLWluc3RhbGxlcgorIEVU
Q0RJUj0vZXRjL3Ztd2FyZS1pbnN0YWxsZXIKT0xERVRDRElSPSIvZXRjL3Ztd2FyZSIKKyBPTERF
VENESVI9L2V0Yy92bXdhcmUKCiMjIyBPZmZzZXRzICMjIwojIFRoZXNlIGFyZSBvZmZzZXRzIHRo
YXQgYXJlIGxhdGVyIHVzZWQgcmVsYXRpdmUgdG8gRU9GLgpGT09URVJfU0laRT01MgorIEZPT1RF
Ul9TSVpFPTUyCgojIFRoaXMgd29uJ3Qgd29yayB3aXRoIG5vbi1HTlUgc3RhdC4KRklMRV9TSVpF
PWBzdGF0IC1mICIleiIgIiQwImAKc3RhdCAtZiAiJXoiICIkMCIKKysgc3RhdCAtZiAleiBWTXdh
cmUtUGxheWVyLTMuMS4wLTI2MTAyNC54ODZfNjQuYnVuZGxlCisgRklMRV9TSVpFPTEwMjQ2NzYz
NwpvZmZzZXQ9JCgoJEZJTEVfU0laRSAtIDQpKQorIG9mZnNldD0xMDI0Njc2MzMKCk1BR0lDX09G
RlNFVD0kb2Zmc2V0CisgTUFHSUNfT0ZGU0VUPTEwMjQ2NzYzMwpvZmZzZXQ9JCgoJG9mZnNldCAt
IDQpKQorIG9mZnNldD0xMDI0Njc2MjkKCkNIRUNLU1VNX09GRlNFVD0kb2Zmc2V0CisgQ0hFQ0tT
VU1fT0ZGU0VUPTEwMjQ2NzYyOQpvZmZzZXQ9JCgoJG9mZnNldCAtIDQpKQorIG9mZnNldD0xMDI0
Njc2MjUKClZFUlNJT05fT0ZGU0VUPSRvZmZzZXQKKyBWRVJTSU9OX09GRlNFVD0xMDI0Njc2MjUK
b2Zmc2V0PSQoKCRvZmZzZXQgLSA0KSkKKyBvZmZzZXQ9MTAyNDY3NjIxCgpQUkVQQVlMT0FEX09G
RlNFVD0kb2Zmc2V0CisgUFJFUEFZTE9BRF9PRkZTRVQ9MTAyNDY3NjIxCm9mZnNldD0kKCgkb2Zm
c2V0IC0gNCkpCisgb2Zmc2V0PTEwMjQ2NzYxNwoKUFJFUEFZTE9BRF9TSVpFX09GRlNFVD0kb2Zm
c2V0CisgUFJFUEFZTE9BRF9TSVpFX09GRlNFVD0xMDI0Njc2MTcKb2Zmc2V0PSQoKCRvZmZzZXQg
LSA0KSkKKyBvZmZzZXQ9MTAyNDY3NjEzCgpMQVVOQ0hFUl9TSVpFX09GRlNFVD0kb2Zmc2V0Cisg
TEFVTkNIRVJfU0laRV9PRkZTRVQ9MTAyNDY3NjEzCm9mZnNldD0kKCgkb2Zmc2V0IC0gNCkpCisg
b2Zmc2V0PTEwMjQ2NzYwOQoKUEFZTE9BRF9PRkZTRVQ9JG9mZnNldAorIFBBWUxPQURfT0ZGU0VU
PTEwMjQ2NzYwOQpvZmZzZXQ9JCgoJG9mZnNldCAtIDQpKQorIG9mZnNldD0xMDI0Njc2MDUKClBB
WUxPQURfU0laRV9PRkZTRVQ9JG9mZnNldAorIFBBWUxPQURfU0laRV9PRkZTRVQ9MTAyNDY3NjA1
Cm9mZnNldD0kKCgkb2Zmc2V0IC0gNCkpCisgb2Zmc2V0PTEwMjQ2NzYwMQoKIyBSZXN0IG9mIHRo
ZSBvZmZzZXRzIG9tbWl0dGVkCgojIyMgRW5kIG9mZnNldHMgIyMjCgojIFNob3J0IG5hbWUgKGll
LCB2bXdhcmUtd29ya3N0YXRpb24pLiAgVGhpcyBpc24ndCB0ZWNobmljYWxseSBjb3JyZWN0CiMg
c2luY2UgdGhlcmUgY291bGQgYmUgbXVsdGlwbGUgcHJvZHVjdCBjb21wb25lbnRzIGluIGEgYnVu
ZGxlLgpQUk9EVUNUX05BTUU9dm13YXJlLXBsYXllcgorIFBST0RVQ1RfTkFNRT12bXdhcmUtcGxh
eWVyCgojIENhbGxlZCB3aGVuIHRoZSBzY3JpcHQgZXhpdHMKIwojIEFyZ3VtZW50czoKIyAgICBO
b25lCiMKIyBTaWRlIGVmZmVjdHM6CiMgICAgLSBWTUlTX1RFTVAgYW5kIFBSRVBBWUxPQUQgaXMg
cmVtb3ZlZCB1bmxlc3MgVk1JU19LRUVQX1RFTVAgaXMgc2V0Cm9uX2V4aXQoKSB7CiAgIGlmIFsg
LWUgIiRWTUlTX1RFTVAiIC1hIC16ICIkVk1JU19LRUVQX1RFTVAiIF07IHRoZW4KICAgICAgcm0g
LXJmICIkVk1JU19URU1QIgogICBmaQoKICAgaWYgWyAtZSAiJFBSRVBBWUxPQUQiIC1hIC16ICIk
Vk1JU19LRUVQX1RFTVAiIF07IHRoZW4KICAgICAgcm0gLXJmICIkUFJFUEFZTE9BRCIKICAgZmkK
fQoKdHJhcCBvbl9leGl0IEVYSVQKKyB0cmFwIG9uX2V4aXQgRVhJVAp0cmFwICIiIFVTUjEKKyB0
cmFwICcnIFVTUjEKCiMgUmV0cml2ZXMgYW5kIHNldHMgdGhlIHZhcmlvdXMgbGVuZ3RocyB0aGF0
IGFyZSBleHRyYWN0ZWQgZnJvbSB0aGUKIyBmb290ZXIgb2YgdGhlIGZpbGUuCiMKIyBBcmd1bWVu
dHM6CiMgICAgJDEgPT4gYnVuZGxlIHRvIGdldCB0aGUgbGVuZ3RocyBmcm9tCiMKIyBTaWRlIGVm
ZmVjdHM6CiMgICAgLSBNQUdJQ19OVU1CRVIsIExBVU5DSEVSX1NJWkUsIGFuZCBQQVlMT0FEX1NJ
WkUgYXJlIHNldC4KIwojIFJldHVybnM6CiMgICAgMCBpZiBzdWNjZXNzZnVsLCBlbHNlIDEKc2V0
X2xlbmd0aHMoKSB7CiAgIGxvY2FsIGZpbGU9IiQxIgogICBpZiBbICEgLXMgIiRmaWxlIiBdOyB0
aGVuCiAgICAgIGVjaG8gIiRmaWxlIGRvZXMgbm90IGV4aXN0IgogICAgICBleGl0IDEKICAgZmkK
CiAgICMgWFhYOiBwdXQgZXh0cmFjdGlvbiBpbiBpdHMgb3duIGZ1bmN0aW9uCiAgIE1BR0lDX05V
TUJFUj1gb2QgLUFuIC10IHU0IC1OIDQgLWFqIAogICAkTUFHSUNfT0ZGU0VUICIkZmlsZSIgfCB0
ciAtZCAnICdgCgogICBpZiBbICIkTUFHSUNfTlVNQkVSIiAhPSAiOTA3MzgwMjQxIiBdOyB0aGVu
CiAgICAgIGVjaG8gIm1hZ2ljIG51bWJlciBkb2VzIG5vdCBtYXRjaCIKICAgICAgZXhpdCAxCiAg
IGZpCgogICBMQVVOQ0hFUl9TSVpFPWBvZCAtQW4gLXQgdTQgLU4gNCAtaiAkTEFVTkNIRVJfU0la
RV9PRkZTRVQgIiRmaWxlIiB8IHRyIC1kICcgJ2AKICAgUEFZTE9BRF9TSVpFPWBvZCAtQW4gLXQg
dTQgLU4gNCAtaiAkUEFZTE9BRF9TSVpFX09GRlNFVCAiJGZpbGUiIHwgdHIgLWQgJyAnYAogICBQ
UkVQQVlMT0FEX1NJWkU9YG9kIC1BbiAtdCB1NCAtTiA0IC1qICRQUkVQQVlMT0FEX1NJWkVfT0ZG
U0VUICIkZmlsZSIgfCB0ciAtZCAnICdgCgogICBTS0lQX0JZVEVTPSQoKCRQUkVQQVlMT0FEX1NJ
WkUgKyAkTEFVTkNIRVJfU0laRSkpCgogICByZXR1cm4gMAp9CgojIERldGVybWluZXMgd2hldGhl
ciB0aGUgdXNlciBsYW5kIGlzIDMyIG9yIDY0LWJpdC4KIwojIFNpZGUgZWZmZWN0czoKIyAgICBO
b25lLgojCiMgUmV0dXJuczoKIyAgICAieDg2IiBvciAieDY0IiBvbiBzdWNjZXNzIHdpdGggZXJy
b3IgY29kZSAwLiAgRXhpdHMgd2l0aCBub24temVybwojICAgIHN0YXR1cyBhbmQgdW5kZWZpbmVk
IHRleHQgb24gZmFpbHVyZS4KZ2V0X2FyY2goKSB7CiAgICMgRmlyc3QgYnl0ZSBpcyB0aGUgRUxG
IG1hZ2ljIG51bWJlci4gIFRoZSA1dGggYnl0ZSBpcyB3aGV0aGVyIGl0J3MKICAgIyBhIDMyIG9y
IDY0LWJpdCBtYWNoaW5lICgxIG9yIDIsIHJlc3BlY3RpdmVseSkuICBTZWUgYG1hbiBlbGZgIGZv
cgogICAjIGRldGFpbHMuCiAgIGxvY2FsIEVMRl9NQUdJQz03ZgoKICAgaWYgWyAiYG9kIC1OMSAt
QW4gLXQgeDEgPCAvYmluL3NoIHwgdHIgLWQgJyAnYCIgIT0gIiRFTEZfTUFHSUMiIF07IHRoZW4K
ICAgICAgZXhpdCAxCiAgIGZpCgogICBsb2NhbCBhcmNoPWBvZCAtajQgLU4xIC1BbiAtdCB1MSA8
IC9iaW4vc2ggfCB0ciAtZCAnICdgCgogICBjYXNlICRhcmNoIGluCiAgICAgIDEpCiAgICAgICAg
IGVjaG8gIng4NiIKCSBleGl0IDAKCSA7OwogICAgICAyKQogICAgICAgICBlY2hvICJ4NjQiCiAg
ICAgICAgIGV4aXQgMAoJIDs7CiAgICAgICopCiAgICAgICAgIGV4aXQgMQogICAgICAgICA7Owog
ICBlc2FjCn0KCiMgRGV0ZXJtaW5lcyBpZiBwYXRoIGlzIHJlbGF0aXZlLgojCiMgU2lkZSBlZmZl
Y3RzOgojICAgIE5vbmUuCiMKIyBSZXR1cm5zOgojICAgIDAgaWYgcmVsYXRpdmUsIG90aGVyd2lz
ZSAxLgppc19yZWxhdGl2ZSgpIHsKICAgIGxvY2FsIHBhdGg9IiQxIgogICAgc2hpZnQKCiAgICBb
ICIke3BhdGg6MDoxfSIgIT0gIi8iIF0KICAgIHJldHVybgp9CgojIEV4dHJhY3RzIHRoZSBwYXls
b2FkIGRhdGEgaW50byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkuCiMKIyBTaWRlIGVmZmVjdHM6CiMg
ICAgLSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGlzIGNyZWF0ZWQKIyAgICAtIFZNSVNfVEVNUCBpcyBz
ZXQgdG8gdGVtcG9yYXJ5IGRpcmVjdG9yeQojCiMgUmV0dXJuczoKIyAgICBOb25lCmV4dHJhY3Rf
c2VsZigpIHsKICAgVk1JU19URU1QPWBta3RlbXAgLWQgL3RtcC92bWlzLlhYWFhYWGAKICAgbG9j
YWwgZmlsZT0iJDAiCiAgIGxvY2FsIGZpbHRlcj0iIgogICBsb2NhbCBib290c3RyYXBwZXI9IiRQ
UkVQQVlMT0FEIi9ib290c3RyYXBwZXItZ3RrCgogICBpZiBbICEgLWQgIiRWTUlTX1RFTVAiIF07
IHRoZW4KICAgICAgZWNobyAiVW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LiIK
ICAgICAgZXhpdCAxCiAgIGZpCgogICBpZiBpc19yZWxhdGl2ZSAiJGZpbGUiOyB0aGVuCiAgICAg
IGZpbGU9IiRQV0QvJGZpbGUiCiAgIGZpCgogICBpZiBbIC1lICIkYm9vdHN0cmFwcGVyIiBdICYm
ICIkYm9vdHN0cmFwcGVyIiAtLXZhbGlkYXRlIDI+IC9kZXYvbnVsbDsgdGhlbgogICAgICBmaWx0
ZXI9JyB8ICIkUFJFUEFZTE9BRCIvYm9vdHN0cmFwcGVyLWd0ayAtLXRpdGxlICJWTXdhcmUgSW5z
dGFsbGVyIiBcCiAgICAgICAgICAgICAgICAtLW1lc3NhZ2UgIlBsZWFzZSB3YWl0IHdoaWxlIGV4
dHJhY3RpbmcgdGhlIFZNd2FyZSBJbnN0YWxsZXIuLi4iIFwKICAgICAgICAgICAgICAgIC0tdG90
YWwgJFBBWUxPQURfU0laRSInCiAgIGVsc2UKICAgICAgZWNobyAtbiAiRXh0cmFjdGluZyBWTXdh
cmUgSW5zdGFsbGVyLi4uIgogICBmaQoKICAgKGNkICRWTUlTX1RFTVAgJiYgZGQgaWY9IiRmaWxl
IiBpYnM9JFNLSVBfQllURVMgb2JzPTEwMjQgc2tpcD0xIDI+IC9kZXYvbnVsbCBcCiAgICAgICRm
aWx0ZXIgfCBndW56aXAgLWMgMj4gL2Rldi9udWxsIHwgdGFyIC14ZiAtIDI+IC9kZXYvbnVsbCkK
CiAgIGlmIFsgISAtZSAiJGJvb3RzdHJhcHBlciIgXTsgdGhlbgogICAgICBlY2hvICJkb25lLiIK
ICAgZmkKfQoKZXh0cmFjdF9wcmVwYXlsb2FkKCkgewogICBQUkVQQVlMT0FEPWBta3RlbXAgLWQg
L3RtcC92bWlzLlhYWFhYWGAKICAgbG9jYWwgZmlsZT0iJDAiCgogICBpZiBbICEgLWQgIiRQUkVQ
QVlMT0FEIiBdOyB0aGVuCiAgICAgIGVjaG8gIlVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGRp
cmVjdG9yeS4iCiAgICAgIGV4aXQgMQogICBmaQoKICAgaWYgaXNfcmVsYXRpdmUgIiRmaWxlIjsg
dGhlbgogICAgICBmaWxlPSIkUFdELyRmaWxlIgogICBmaQoKICAgKGNkICRQUkVQQVlMT0FEICYm
IGRkIGlmPSIkZmlsZSIgaWJzPSRMQVVOQ0hFUl9TSVpFIG9icz0xMDI0IHNraXA9MSAyPiAvZGV2
L251bGwgfCBcCiAgICAgIGd1bnppcCAtYyAyPiAvZGV2L251bGwgfCB0YXIgLXhmIC0gMj4gL2Rl
di9udWxsKQp9CgojIERldGVybWluZXMgaWYgYSBwcm9ncmFtIGlzIGluIHRoZSB1c2VyJ3MgUEFU
SC4gIFRoaXMgaXMgdXNlZCBpbnN0ZWFkCiMgb2YgdGhlIGV4dGVybmFsIHdoaWNoIGJlY2F1c2Ug
U29sYXJpcycgdmVyc2lvbiBkb2VzIG5vdCB3b3JrIGFzCiMgZXhwZWN0ZWQuCiMKIyBTaWRlIGVm
ZmVjdHM6CiMgICAgTm9uZQojCiMgQXJndW1lbnRzOgojICAgICQxID0+IHByb2dyYW0gdG8gY2hl
Y2sKIwojIFJldHVybnM6CiMgICAgMCBpZiBmb3VuZCwgZWxzZSAxCmludGVybmFsX3doaWNoKCkg
ewogICBsb2NhbCBiaW5hcnk9IiQxIgoKICAgZm9yIGRpciBpbiBgZWNobyAkUEFUSCB8IHRyICI6
IiAiXG4iYDsgZG8KICAgICAgaWYgWyAtcyAiJGRpci8kYmluYXJ5IiAtYSAteCAiJGRpci8kYmlu
YXJ5IiBdOyB0aGVuCiAgICAgICAgIHJldHVybiAwCiAgICAgIGZpCiAgIGRvbmUKCiAgIHJldHVy
biAxCn0KCgojIEluc3RhbGxzIHRoZSBpbnN0YWxsZXIgYW5kIHRoZSBjdXJyZW50IGJ1bmRsZS4K
IwojIEFyZ3VtZW50czoKIyAgICAkMSA9PiBmaWxlIHNvdXJjZQojICAgICQyID0+IHRydWUgaWYg
c2hvdyBoZWxwCiMgICAgJDMgPT4gcGF0aCB0byBidW5kbGUKIwojIFJldHVybnM6CiMgICAgTm9u
ZQppbnN0YWxsKCkgewogICBsb2NhbCBzb3VyY2U9IiQxIi9pbnN0YWxsCiAgIHNoaWZ0CiAgIGxv
Y2FsIGhlbHA9IiQxIgogICBzaGlmdAogICBsb2NhbCBidW5kbGU9IiQxIgogICBzaGlmdAoKICAg
aWYgWyAhIC1kICIkc291cmNlIiBdOyB0aGVuCiAgICAgIGVjaG8gIiRzb3VyY2UgZG9lcyBub3Qg
ZXhpc3QiID4mMgogICAgICBleGl0IDEKICAgZmkKCiAgIGV4cG9ydCBWTVdBUkVfQk9PVFNUUkFQ
PSIkVk1JU19URU1QIi9ib290c3RyYXAKCiAgIGNwIC1mICIkc291cmNlIi92bXdhcmUtaW5zdGFs
bGVyL2Jvb3RzdHJhcCAiJFZNV0FSRV9CT09UU1RSQVAiCiAgIHNlZCAtaSAtZSAicyxAQExJQkRJ
UkBALCRzb3VyY2UsZyIgIiRWTVdBUkVfQk9PVFNUUkFQIgogICBzZWQgLWkgLWUgInMsQEBWTVdB
UkVfSU5TVEFMTEVSQEAsJHNvdXJjZS92bXdhcmUtaW5zdGFsbGVyLGciICIkVk1XQVJFX0JPT1RT
VFJBUCIKCiAgIC4gIiRWTVdBUkVfQk9PVFNUUkFQIgoKICAgbG9jYWwgaW5zdGFsbGVyPSIkVk1X
QVJFX0lOU1RBTExFUiIvdm13YXJlLWluc3RhbGxlcgoKICAgaWYgWyAtbiAiJGhlbHAiIF07IHRo
ZW4KICAgICAgIiRpbnN0YWxsZXIiIC0taGVscAogICAgICBleGl0IDAKICAgZmkKCiAgICMgV2Ug
bXVzdCBmaXh1cCB0aGUgcGF0aHMgaW4gUGFuZ28gb3IgdGhlIGZvbnRzIHdpbGwgYmUgYWxsIG1l
c3NlZCB1cAogICBsb2NhbCBsaWJjb25mPSIkc291cmNlIi92bXdhcmUtaW5zdGFsbGVyL2xpYi9s
aWJjb25mCiAgIGZvciBmaWxlIGluIGV0Yy9wYW5nby9wYW5nb3JjIGV0Yy9wYW5nby9wYW5nby5t
b2R1bGVzIGV0Yy9wYW5nby9wYW5nb3guYWxpYXNlcyBcCiAgICAgICAgICAgICAgIGV0Yy9ndGst
Mi4wL2dkay1waXhidWYubG9hZGVycyBldGMvZ3RrLTIuMC9ndGsuaW1tb2R1bGVzOyBkbwogICAg
ICAgc2VkIC1pIC1lICJzLEBATElCQ09ORl9ESVJAQCwkbGliY29uZixnIiAiJGxpYmNvbmYvJGZp
bGUiCiAgIGRvbmUKCiAgICMgUGFzcyBhbGwgb3B0aW9ucyB0aGUgdXNlciBwYXNzZWQgaW4gc28g
dGhhdCB0aGUgY29ycmVjdCBVSSB0eXBlCiAgICMgZ2V0cyBzZXQuCiAgICIkaW5zdGFsbGVyIiAt
LXNldC1zZXR0aW5nIHZtd2FyZS1pbnN0YWxsZXIgbGliY29uZiAiJGxpYmNvbmYiICAgXAogICAg
ICAgICAgICAgICAgLS1pbnN0YWxsLWNvbXBvbmVudCAiJHNvdXJjZSIvdm13YXJlLWluc3RhbGxl
ciAgICAgIFwKICAgICAgICAgICAgICAgIC0taW5zdGFsbC1idW5kbGUgIiRidW5kbGUiICIkQCIK
ICAgcmV0PSQ/CiAgIGlmIFsgJHJldCAhPSAwIF07IHRoZW4KICAgICAgZXhpdCAkcmV0CiAgIGZp
CgogICByZXR1cm4gMAp9CgoKIyBVbmluc3RhbGwgZXhpc3RpbmcgYnVuZGxlIGluc3RhbGxhdGlv
bi4KIwojIEFyZ3VtZW50czoKIyAgICAkMSA9PiBldGNkaXIKIyAgICAkMiA9PiBzdWZmaXggdG8g
YWRkIHRvIHZtd2FyZS11bmluc3RhbGwgKGllIC12aXgpCiMKIyBSZXR1cm5zOgojICAgIDAgb24g
c3VjY2Vzcwp1bmluc3RhbGxfYnVuZGxlKCkgewogICBldGNkaXI9IiQxIgogICBzaGlmdAogICBz
dWZmaXg9IiQxIgogICBzaGlmdAoKICAgbG9jYWwgYm9vdHN0cmFwPSIkZXRjZGlyIi9ib290c3Ry
YXAKCiAgICMgSWYgdGhlIGJvb3RzdHJhcCBmaWxlIGV4aXN0cywgd2UgYXJlIGRlYWxpbmcgd2l0
aCBhIFZNSVMKICAgIyBpbnN0YWxsZXIuCiAgIGlmIFsgLWUgIiRib290c3RyYXAiIF07IHRoZW4K
ICAgICAgbG9jYWwgYmluZGlyPSJgLiAkZXRjZGlyL2Jvb3RzdHJhcCAmJiBlY2hvICRCSU5ESVJg
IgogICAgICBsb2NhbCBpbnN0YWxsZXI9IiRiaW5kaXIiL3Ztd2FyZS11bmluc3RhbGwkc3VmZml4
CiAgICAgICMgQ2hlY2sgaWYgdGhpcyBpcyBhbiBvbGQgc3R5bGUgZmlsZSBieSBjaGVja2luZyB0
aGUgdmVyc2lvbgogICAgICAjIGxpbmUgZm9yICdWRVJTSU9OPSIxLjAiJyAgSWYgaXQncyBmb3Vu
ZCwgcnVuIHRoZSBibGFua2V0CiAgICAgICMgdW5pbnN0YWxsLgogICAgICBpZiBncmVwIC1xICdW
RVJTSU9OPSIxLjAiJyAiJGJvb3RzdHJhcCI7IHRoZW4KICAgICAgICAgaWYgWyAtZSAiJGluc3Rh
bGxlciIgXTsgdGhlbgogICAgICAgICAgICBpZiAhICIkaW5zdGFsbGVyIiAiJEAiOyB0aGVuCiAg
ICAgICAgICAgICAgIGVjaG8gIkluc3RhbGxlciBkaWQgbm90IHVuaW5zdGFsbCBzdWNjZXNzZnVs
bHkuIgogICAgICAgICAgICBmaQogICAgICAgICBmaQogICAgICBmaQogICBmaQoKICAgcmV0dXJu
IDAKfQoKCiMgVW5pbnN0YWxsIGEgdGFyIGluc3RhbGxhdGlvbi4KIwojIEFyZ3VtZW50czoKIyAg
ICAkMSA9PiBldGNkaXIKIyAgICAkMiA9PiBzdWZmaXggdG8gYWRkIHRvIHZtd2FyZS11bmluc3Rh
bGwgKGllIC12aXgpCiMKIyBSZXR1cm5zOgojICAgIDAgb24gc3VjY2Vzcwp1bmluc3RhbGxfdGFy
KCkgewogICBldGNkaXI9IiQxIgogICBzaGlmdAogICBzdWZmaXg9IiQxIgogICBzaGlmdAoKICAg
bG9jYXRpb25zPSIkZXRjZGlyIi9sb2NhdGlvbnMKCiAgIGlmIFsgLWUgJGxvY2F0aW9ucyBdOyB0
aGVuCiAgICAgIGxvY2FsIGJpbmRpcj1gZ3JlcCAiXmFuc3dlciBCSU5ESVIgIiAkbG9jYXRpb25z
IHwgdGFpbCAtbiAxIHwgc2VkICdzLGFuc3dlciBCSU5ESVIgLCxnJ2AKICAgICAgbG9jYWwgaW5z
dGFsbGVyPSIkYmluZGlyIi92bXdhcmUtdW5pbnN0YWxsJHN1ZmZpeC5wbAoKICAgICAgaWYgWyAt
ZSAiJGluc3RhbGxlciIgXTsgdGhlbgogICAgICAgICBlY2hvICJVbmluc3RhbGxpbmcgbGVnYWN5
IGluc3RhbGxhdGlvbi4uLiIKICAgICAgICAgIiRpbnN0YWxsZXIiIC1kCiAgICAgIGVsc2UJCQkj
IE5vIHVuaW5zdGFsbGVyIHByZXNlbnQsIGdldCByaWQgb2YgbG9jYXRpb25zIGRiLgogICAgICAg
ICBybSAtZiAkbG9jYXRpb25zCiAgICAgIGZpCiAgIGZpCn0KCnJlbW92ZV9ycG0oKSB7CiAgIGxv
Y2FsIHBrZz0iJDEiCiAgIHNoaWZ0CgogICAjIElmIG5vcm1hbCB1bmluc3RhbGxhdGlvbiBmYWls
cywgd2Ugd2FudCB0byBmb3JjZSBpdCBvdXQuICBUaGlzCiAgICMgaXMgbGlrZWx5IGJlY2F1c2Ug
dGhlIHByZXVuIHNjcmlwdCBmYWlsZWQuICB0cnkgYWdhaW4gd2l0aAogICAjIC0tbm9zY3JpcHRz
CiAgIGlmICEgcnBtIC1lICRwa2c7IHRoZW4KICAgICAgZWNobyAiVW5pbnN0YWxsYXRpb24gb2Yg
JHBrZyBmYWlsZWQuICBGb3JjaW5nIHVuaW5zdGFsbGF0aW9uLiIKICAgICAgcnBtIC1lICRwa2cg
LS1ub3NjcmlwdHMKICAgZmkKfQoKIyBVbmluc3RhbGxzIGxlZ2FjeSBQbGF5ZXIvV29ya3N0YXRp
b24uCiMKIyBBcmd1bWVudHM6CiMgICAgTm9uZQojCiMgUmV0dXJuczoKIyAgICAwIG9uIHN1Y2Nl
c3MuCnVuaW5zdGFsbF9sZWdhY3koKSB7CiAgIGxvY2FsIGV0Y2Rpcj0iJDEiCiAgIHNoaWZ0Cgog
ICBsb2NhbCBob3N0ZWQ9YGVjaG8gIiRQUk9EVUNUX05BTUUiIHwgZ3JlcCAiXCh2bXdhcmUtd29y
a3N0YXRpb25cfHZtd2FyZS1wbGF5ZXJcfHZtd2FyZS1zZXJ2ZXJcfHZtd2FyZS12aXhcKSJgCgog
ICBpZiBbIC1uICIkaG9zdGVkIiBdOyB0aGVuICMgQ2hlY2sgdG8gc2VlIGlmIHJwbSBpcyBpbnN0
YWxsZWQKICAgICAgZm9yIHBrZyBpbiBWTXdhcmVXb3Jrc3RhdGlvbiBWTXdhcmVQbGF5ZXI7IGRv
CiAgICAgICAgIGlmIHJwbSAtcSAkcGtnID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICAgICAg
ICAgcmVtb3ZlX3JwbSAkcGtnCiAgICAgICAgIGZpCiAgICAgIGRvbmUKICAgICAgIyBOb3cgaGFu
ZGxlIHRoZSBzZXJ2ZXIgY2FzZS4gIFRoZSBpbnN0YWxsZXIgaXMgbm9ybWFsbHkgcmVwbGFjaW5n
CiAgICAgICMgUGxheWVyIGFuZC9vciBXb3Jrc3RhdGlvbiwgc28gdGhlcmUgaXMgbm8gbmVlZCB0
byBleHBsaWNpdGx5IGxldAogICAgICAjIHRoZSB1c2VyIGtub3cgdGhhdCB3ZSdyZSByZXBsYWNp
bmcgdGhlbS4gIFNpbGVudGx5IHJlcGxhY2luZwogICAgICAjIHNlcnZlciBvbiB0aGUgb3RoZXIg
aGFuZCBpcyBub3QgYSBnb29kIGlkZWEuCiAgICAgIGlmIHJwbSAtcSBWTXdhcmUtc2VydmVyID4g
L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICAgICAgZWNobyAiVk13YXJlIFNlcnZlciBtdXN0IGJl
IHJlbW92ZWQgYmVmb3JlIGluc3RhbGxhdGlvbiBjYW4gY29udGludWUuIgogICAgICAgICBlY2hv
ICJJdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgdW5pbnN0YWxsZWQgYnkgdGhpcyBpbnN0YWxsZXIu
ICBQcmVzcyIKICAgICAgICAgZWNobyAiY3RybC1DIG5vdyBpZiB5b3UgZG8gbm90IHdpc2ggdG8g
Y29udGludWUgb3IgaWYgeW91IGhhdmUgcnVubmluZyIKICAgICAgICAgZWNobyAidmlydHVhbCBt
YWNoaW5lcyB0aGF0IG11c3QgYmUgY2xvc2VkLiIKICAgICAgICAgZWNobyAiIgogICAgICAgICBl
Y2hvICJPdGhlcndpc2UgcHJlc3MgPGVudGVyPiB0byBjb250aW51ZSBhbmQgYXV0b21hdGljYWxs
eSB1bmluc3RhbGwgVk13YXJlIFNlcnZlci4iCiAgICAgICAgIHJlYWQgLWUgTk9WQVIKICAgICAg
ICAgcnBtIC1lIC0tbm9zY3JpcHRzIFZNd2FyZS1zZXJ2ZXIKICAgICAgZmkKICAgZmkKCiAgIHVu
aW5zdGFsbF90YXIgIiRldGNkaXIiICIiCgogICAjIGNvbmZpZyB3YXMgYSBtZXNzIHVuZGVyIHRo
ZSB0YXIvcnBtLiAgSXQgYWx3YXlzIGdvdCByZW5hbWVkIGFuZAogICAjIGNyYXp5IHRoaW5ncy4g
IENsZWFuIHRoZW0gdXAuCiAgIHJtIC1mICIkZXRjZGlyIi9jb25maWcuWzAtOV0qCgogICAjIE5l
dHdvcmtpbmcgaXMgc29tZXRpbWVzIHN0aWxsIHJ1bm5pbmcgYWZ0ZXIgc3RvcHBpbmcgc2Vydmlj
ZXMgc28KICAgIyBmb3JjZWFibHkga2lsbCBpdC4gIElmIGl0J3Mgc3RpbGwgcnVubmluZyB0aGVu
IHZtbmV0IGNhbid0IGJlCiAgICMgcmVtb3ZlZCBhbmQgbmV0d29yayBzZXR0aW5ncyBhcmVuJ3Qg
bWlncmF0ZWQgcHJvcGVybHkgZWl0aGVyLgogICBraWxsYWxsIC0td2FpdCAtOSB2bW5ldC1uZXRp
ZnVwIHZtbmV0LWRoY3BkIHZtbmV0LW5hdGQgdm1uZXQtYnJpZGdlIFwKICAgICAgICAgICAgICAg
ICAgICAgdm1uZXQtZGV0ZWN0IHZtbmV0LXNuaWZmZXIgMj4gL2Rldi9udWxsIHx8IHRydWUKICAg
L3NiaW4vcm1tb2Qgdm1uZXQgMj4gL2Rldi9udWxsIHx8IHRydWUKCiAgIHJldHVybiAwCn0KCgoj
IFVuaW5zdGFsbHMgYnVuZGxlIHJwbSBmb3IgUGxheWVyL1dvcmtzdGF0aW9uLgojCiMgQXJndW1l
bnRzOgojICAgIE5vbmUKIwojIFJldHVybnM6CiMgICAgTm9uZS4KdW5pbnN0YWxsX3JwbSgpIHsK
ICAgbG9jYWwgaG9zdGVkPWBlY2hvICIkUFJPRFVDVF9OQU1FIiB8IGdyZXAgIlwodm13YXJlLXdv
cmtzdGF0aW9uXHx2bXdhcmUtcGxheWVyXHx2bXdhcmUtc2VydmVyXHx2bXdhcmUtdml4XCkiYAoK
ICAgaWYgWyAtbiAiJGhvc3RlZCIgXTsgdGhlbiAjIENoZWNrIHRvIHNlZSBpZiBycG0gaXMgaW5z
dGFsbGVkCiAgICAgIGZvciBwa2cgaW4gVk13YXJlLVdvcmtzdGF0aW9uIFZNd2FyZS1QbGF5ZXI7
IGRvCiAgICAgICAgIGlmIHJwbSAtcSAkcGtnID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICAg
ICAgICAgcmVtb3ZlX3JwbSAkcGtnCiAgICAgICAgIGZpCiAgICAgIGRvbmUKICAgZmkKfQoKCiMg
TWlncmF0ZXMgbmV0d29ya2luZyBzZXR0aW5ncyBmb3IgUGxheWVyL1dvcmtzdGF0aW9uLgojIElm
IGNhbGxlZCBvbiBhbiBJcm9uIGluc3RhbGwgb2YgV29ya3N0YXRpb24sIGl0IHdpbGwKIyBkbyBu
b3RoaW5nLiAgVGhlIGxvY2F0aW9ucyBhbmQgbmV0d29ya2luZyBmaWxlcyB3ZXJlCiMgbG9jYXRl
ZCBieSBkZWZhdWx0IGluIC9ldGMvdm13YXJlLCBoZW5jZSBPTERFVENESVIuCiMgSWYgdGhleSB3
ZXJlIGluc3RhbGxlZCBlbHNld2hlcmUsIHdlIGhhdmUgbm8gd2F5IHRvCiMgZmluZCB0aGVtLgoj
CiMgVGhpcyBvbmx5IHdvcmtzIGZvciBwcmUtSXJvbi4gIElyb24gbmV0d29yayBzZXR0aW5ncwoj
IGFyZSBzdG9yZWQgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5IGFuZCB1cGdyYWRlcyBoYW5kbGVk
CiMgYnkgVk1JUy4KIwojIEFyZ3VtZW50czoKIyAgICBOb25lCiMKIyBSZXR1cm5zOgojICAgIE5v
bmUuCm1pZ3JhdGVfbmV0d29ya3MoKSB7CiAgIGxvY2FsIGxvY2F0aW9ucz0iJE9MREVUQ0RJUiIv
bG9jYXRpb25zCiAgIGxvY2FsIG5ldHdvcmtpbmc9IiRPTERFVENESVIiL25ldHdvcmtpbmcKCiAg
IGlmIFsgLWUgIiRuZXR3b3JraW5nIiBdOyB0aGVuCiAgICAgIGxvY2FsIHRlbXBOZXR3b3JraW5n
PWBta3RlbXAgL3RtcC92bXdhcmVOZXR3b3JraW5nLlhYWFhYWGAKICAgICAgY3AgLWYgIiRuZXR3
b3JraW5nIiAkdGVtcE5ldHdvcmtpbmcKICAgICAgZXhwb3J0IFZNV0FSRV9SRVNUT1JFX05FVFdP
UktJTkc9JHRlbXBOZXR3b3JraW5nCiAgIGVsaWYgWyAtZSAiJGxvY2F0aW9ucyIgXTsgdGhlbgog
ICAgICBsb2NhbCB0ZW1wTG9jYXRpb25zPWBta3RlbXAgL3RtcC92bXdhcmVMb2NhdGlvbnMuWFhY
WFhYYAogICAgICBjcCAtZiAiJGxvY2F0aW9ucyIgJHRlbXBMb2NhdGlvbnMKICAgICAgZXhwb3J0
IFZNV0FSRV9NSUdSQVRFX05FVFdPUktJTkc9JHRlbXBMb2NhdGlvbnMKICAgZmkKCiAgIHJldHVy
biAwCn0KCnVuaW5zdGFsbF9vbGRfdml4KCkgewogICAjIFZJWCB1c2VkIHRvIGxpdmUgdW5kZXIg
dm13YXJlLXZpeCwgc28gd2UgbmVlZCB0bwogICAjIGNoZWNrIGZvciBhbiBvbGRlciBWSVggdGhl
cmUuCiAgIHVuaW5zdGFsbF9idW5kbGUgL2V0Yy92bXdhcmUtdml4ICItdml4IiAiJEAiCgogICAj
IFVuaW5zdGFsbCBvbGQgVklYIHZlcnNpb25zIGlmIG5lY2Vzc2FyeS4KICAgdW5pbnN0YWxsX3Rh
ciAvZXRjL3Ztd2FyZS12aXggIi12aXgiCn0KCnVuaW5zdGFsbF9vbGQoKSB7CiAgICMgVW5pbnN0
YWxsIHRoZSBvbGRlciAuYnVuZGxlcwogICB1bmluc3RhbGxfYnVuZGxlICIkT0xERVRDRElSIiAi
IiAiJEAiCgogICAjIFZNV0FSRV9TS0lQX1JQTV9VTklOU1RBTEwgd2lsbCBiZSBzZXQgaWYgd2Un
cmUgaW5zdGFsbGluZwogICAjIGluIGFuIHJwbSBjb250ZXh0LiBJbiB0aGF0IGNhc2UsIHdlIGRv
bid0IHdhbnQgdG8gcnVuIGFueQogICAjIHJwbSBjb21tYW5kcyB0byBwcmV2ZW50IHJwbSBkZWFk
bG9jay4KICAgaWYgWyAteiAiJFZNV0FSRV9TS0lQX1JQTV9VTklOU1RBTEwiIF07IHRoZW4KICAg
ICAgdW5pbnN0YWxsX3JwbQogICBmaQoKICAgIyBDaGVjayBpZiB3ZSBuZWVkIHRvIHJ1biB0aGUg
dW5pbnN0YWxsIHBvcnRpb25zIG9mIHRoaXMgc2NyaXB0IGZvciBlYXJsaWVyCiAgICMgaW5zdGFs
bGVycy4gIExvb2sgZm9yIHRoZSBsb2NhdGlvbnMgZGF0YWJhc2UgaW4gL2V0Yy92bXdhcmUuICBU
aGlzIGZpbGUKICAgIyB3aWxsIG9ubHkgZXhpc3QgZm9yIHByZS1Jcm9uIGluc3RhbGxzLgogICBp
ZiBbIC1lICIkT0xERVRDRElSIi9sb2NhdGlvbnMgXTsgdGhlbgogICAgICAjIFRoaXMgd2lsbCB1
bmluc3RhbGwgbGVnYWN5IHRhci9ycG0gaW5zdGFsbGF0aW9ucy4gTm90ZSB0aGF0CiAgICAgICMg
d2UgZG8gbm90IG5lZWQgdG8gYmUgY29uY2VybmVkIGFib3V0IGNoZWNraW5nIGZvcgogICAgICAj
IFZNV0FSRV9TS0lQX1JQTV9VTklOU1RBTEwgc2luY2UgdGhlIGJ1bmRsZSBycG1zIGFyZSBtYXJr
ZWQKICAgICAgIyB0byBjb25mbGljdCB3aXRoIGxlZ2FjeSBycG1zLgogICAgICB1bmluc3RhbGxf
bGVnYWN5ICRPTERFVENESVIKCiAgICAgICMgQ2hlY2sgaWYgd2UgbmVlZCB0byB1bmluc3RhbGwg
Y29tcG9uZW50cwogICAgICB1bmluc3RhbGxfdGFyICRPTERFVENESVIgIiIKCiAgICAgIHVuaW5z
dGFsbF9vbGRfdml4ICIkQCIKICAgZmkKfQoKCiMgTWFpbiBlbnRyeSBwb2ludC4gIENoZWNrcyB3
aGV0aGVyIHRoZSBWTUlTIGlzIGluc3RhbGxlZCBhbmQgaWYgc28gbGF1bmNoZXMgaXQuCiMgT3Ro
ZXJ3aXNlIGV4dHJhY3RzIGl0c2VsZiB0aGVuIGluc3RhbGxzIHRoZSBWTUlTLgptYWluKCkgewog
ICBsb2NhbCBmdWxscGF0aD0iJDAiCiAgIGxvY2FsIGhlbHAKICAgbG9jYWwgZXh0cmFjdAoKICAg
aWYgWyAiYGdldF9hcmNoYCIgIT0gIiRBUkNIIiBdOyB0aGVuCiAgICAgIGVjaG8gIlRoaXMgaXMg
YSAkQVJDSCBidW5kbGUgYW5kIGRvZXMgbm90IG1hdGNoIHRoYXQgb2YgdGhlIGN1cnJlbnQgIgog
ICAgICBlY2hvICJhcmNoaXRlY3R1cmUuICBQbGVhc2UgZG93bmxvYWQgdGhlIGBnZXRfYXJjaGAg
YnVuZGxlLiIKICAgICAgZXhpdCAxCiAgIGZpCgogICBpZiBbICIkMSIgPSAiLWgiIC1vICIkMSIg
PSAiLS1oZWxwIiBdOyB0aGVuCiAgICAgIGhlbHA9JDEKICAgICAgc2hpZnQKICAgZmkKCiAgIGlm
IFsgIiQxIiA9ICIteCIgLW8gIiQxIiA9ICItLWV4dHJhY3QiIF07IHRoZW4KICAgICAgZXh0cmFj
dD0kMQogICAgICBzaGlmdAogICBmaQoKICAgaWYgaXNfcmVsYXRpdmUgIiRmdWxscGF0aCI7IHRo
ZW4KICAgICAgZnVsbHBhdGg9IiRQV0QvJGZ1bGxwYXRoIgogICBmaQoKICAgaWYgWyAkVUlEIC1l
cSAwIF0gJiYgWyAteiAiJGhlbHAiIF0gJiYgWyAteiAiJGV4dHJhY3QiIF07IHRoZW4KICAgICAg
Y2FzZSAiJFBST0RVQ1RfTkFNRSIgaW4KICAgICAgICAgIHZtd2FyZS13b3Jrc3RhdGlvbikKICAg
ICAgICAgICAgICBtaWdyYXRlX25ldHdvcmtzCiAgICAgICAgICAgICAgdW5pbnN0YWxsX29sZF92
aXggIiRAIgogICAgICAgICAgICAgIHVuaW5zdGFsbF9vbGQgIiRAIgogICAgICAgICAgICAgIDs7
CiAgICAgICAgICB2bXdhcmUtcGxheWVyKQogICAgICAgICAgICAgIG1pZ3JhdGVfbmV0d29ya3MK
ICAgICAgICAgICAgICB1bmluc3RhbGxfb2xkICIkQCIKICAgICAgICAgICAgICA7OwogICAgICAg
ICAgdm13YXJlLXNlcnZlcikKICAgICAgICAgICAgICBtaWdyYXRlX25ldHdvcmtzCiAgICAgICAg
ICAgICAgdW5pbnN0YWxsX29sZCAiJEAiCiAgICAgICAgICAgICAgOzsKICAgICAgICAgIHZtd2Fy
ZS12aXgpCiAgICAgICAgICAgICAgdW5pbnN0YWxsX29sZF92aXggIiRAIgogICAgICAgICAgICAg
IDs7CiAgICAgICAgICB0ZXN0LWNvbXBvbmVudCkKICAgICAgICAgICAgICB1bmluc3RhbGxfYnVu
ZGxlIC9ldGMvdm13YXJlLXRlc3QgLXRlc3QgIiRAIgogICAgICBlc2FjCiAgIGZpCgogICBpZiAh
IHNldF9sZW5ndGhzICIkMCI7IHRoZW4KICAgICAgZWNobyAiVW5hYmxlIHRvIGV4dHJhY3QgbGVu
Z3RocyBmcm9tIGJ1bmRsZS4iCiAgICAgIGV4aXQgMQogICBmaQoKICAgZXh0cmFjdF9wcmVwYXls
b2FkCiAgIGV4dHJhY3Rfc2VsZgoKICAgaW5zdGFsbCAiJFZNSVNfVEVNUCIgIiRoZWxwIiAiJGZ1
bGxwYXRoIiAiJGV4dHJhY3QiICIkQCIKfQoKbWFpbiAiJEAiCisgbWFpbgorIGxvY2FsIGZ1bGxw
YXRoPVZNd2FyZS1QbGF5ZXItMy4xLjAtMjYxMDI0Lng4Nl82NC5idW5kbGUKKyBsb2NhbCBoZWxw
CisgbG9jYWwgZXh0cmFjdApnZXRfYXJjaAorKyBnZXRfYXJjaAorKyBsb2NhbCBFTEZfTUFHSUM9
N2YKb2QgLU4xIC1BbiAtdCB4MSA8IC9iaW4vc2ggfCB0ciAtZCAnICcKKysrIG9kIC1OMSAtQW4g
LXQgeDEKKysrIHRyIC1kICcgJworKyAnWycgN2YgJyE9JyA3ZiAnXScKb2QgLWo0IC1OMSAtQW4g
LXQgdTEgPCAvYmluL3NoIHwgdHIgLWQgJyAnCisrKyBvZCAtajQgLU4xIC1BbiAtdCB1MQorKysg
dHIgLWQgJyAnCisrIGxvY2FsIGFyY2g9MgorKyBjYXNlICRhcmNoIGluCisrIGVjaG8geDY0Cisr
IGV4aXQgMAorICdbJyB4NjQgJyE9JyB4NjQgJ10nCisgJ1snICcnID0gLWggLW8gJycgPSAtLWhl
bHAgJ10nCisgJ1snICcnID0gLXggLW8gJycgPSAtLWV4dHJhY3QgJ10nCisgaXNfcmVsYXRpdmUg
Vk13YXJlLVBsYXllci0zLjEuMC0yNjEwMjQueDg2XzY0LmJ1bmRsZQorIGxvY2FsIHBhdGg9Vk13
YXJlLVBsYXllci0zLjEuMC0yNjEwMjQueDg2XzY0LmJ1bmRsZQorIHNoaWZ0CisgJ1snIFYgJyE9
JyAvICddJworIHJldHVybgorIGZ1bGxwYXRoPS9ob21lL1ZpcnR1YWxNYWNoaW5lcy9WTXdhcmUt
UGxheWVyLTMuMS4wLTI2MTAyNC54ODZfNjQuYnVuZGxlCisgJ1snIDAgLWVxIDAgJ10nCisgJ1sn
IC16ICcnICddJworICdbJyAteiAnJyAnXScKKyBjYXNlICIkUFJPRFVDVF9OQU1FIiBpbgorIG1p
Z3JhdGVfbmV0d29ya3MKKyBsb2NhbCBsb2NhdGlvbnM9L2V0Yy92bXdhcmUvbG9jYXRpb25zCisg
bG9jYWwgbmV0d29ya2luZz0vZXRjL3Ztd2FyZS9uZXR3b3JraW5nCisgJ1snIC1lIC9ldGMvdm13
YXJlL25ldHdvcmtpbmcgJ10nCisgJ1snIC1lIC9ldGMvdm13YXJlL2xvY2F0aW9ucyAnXScKKyBy
ZXR1cm4gMAorIHVuaW5zdGFsbF9vbGQKKyB1bmluc3RhbGxfYnVuZGxlIC9ldGMvdm13YXJlICcn
CisgZXRjZGlyPS9ldGMvdm13YXJlCisgc2hpZnQKKyBzdWZmaXg9Cisgc2hpZnQKKyBsb2NhbCBi
b290c3RyYXA9L2V0Yy92bXdhcmUvYm9vdHN0cmFwCisgJ1snIC1lIC9ldGMvdm13YXJlL2Jvb3Rz
dHJhcCAnXScKKyByZXR1cm4gMAorICdbJyAteiAnJyAnXScKKyB1bmluc3RhbGxfcnBtCmVjaG8g
IiRQUk9EVUNUX05BTUUiIHwgZ3JlcCAiXCh2bXdhcmUtd29ya3N0YXRpb25cfHZtd2FyZS1wbGF5
ZXJcfHZtd2FyZS1zZXJ2ZXJcfHZtd2FyZS12aXhcKSIKKysgZWNobyB2bXdhcmUtcGxheWVyCisr
IGdyZXAgJ1wodm13YXJlLXdvcmtzdGF0aW9uXHx2bXdhcmUtcGxheWVyXHx2bXdhcmUtc2VydmVy
XHx2bXdhcmUtdml4XCknCisgbG9jYWwgaG9zdGVkPXZtd2FyZS1wbGF5ZXIKKyAnWycgLW4gdm13
YXJlLXBsYXllciAnXScKKyBmb3IgcGtnIGluIFZNd2FyZS1Xb3Jrc3RhdGlvbiBWTXdhcmUtUGxh
eWVyCisgcnBtIC1xIFZNd2FyZS1Xb3Jrc3RhdGlvbgorIGZvciBwa2cgaW4gVk13YXJlLVdvcmtz
dGF0aW9uIFZNd2FyZS1QbGF5ZXIKKyBycG0gLXEgVk13YXJlLVBsYXllcgorICdbJyAtZSAvZXRj
L3Ztd2FyZS9sb2NhdGlvbnMgJ10nCisgc2V0X2xlbmd0aHMgVk13YXJlLVBsYXllci0zLjEuMC0y
NjEwMjQueDg2XzY0LmJ1bmRsZQorIGxvY2FsIGZpbGU9Vk13YXJlLVBsYXllci0zLjEuMC0yNjEw
MjQueDg2XzY0LmJ1bmRsZQorICdbJyAnIScgLXMgVk13YXJlLVBsYXllci0zLjEuMC0yNjEwMjQu
eDg2XzY0LmJ1bmRsZSAnXScKb2QgLUFuIC10IHU0IC1OIDQgLWFqIAorKyBvZCAtQW4gLXQgdTQg
LU4gNCAtYWoKb2Q6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSBqCnVzYWdlOiBvZCBb
LWFCYmNEZGVGZkhoSWlMbE9vc3ZYeF0gWy1BIGJhc2VdIFstaiBza2lwXSBbLU4gbGVuZ3RoXSBb
LXQgdHlwZV0KICAgICAgICAgIFtbK11vZmZzZXRbLl1bQmJdXSBbZmlsZSAuLi5dCiAgICRNQUdJ
Q19PRkZTRVQgIiRmaWxlIiB8IHRyIC1kICcgJworKyAxMDI0Njc2MzMgVk13YXJlLVBsYXllci0z
LjEuMC0yNjEwMjQueDg2XzY0LmJ1bmRsZQpWTXdhcmUtUGxheWVyLTMuMS4wLTI2MTAyNC54ODZf
NjQuYnVuZGxlOiBsaW5lIDExMTogMTAyNDY3NjMzOiBjb21tYW5kIG5vdCBmb3VuZAorKyB0ciAt
ZCAnICcKKyBNQUdJQ19OVU1CRVI9CisgJ1snICcnICchPScgOTA3MzgwMjQxICddJworIGVjaG8g
J21hZ2ljIG51bWJlciBkb2VzIG5vdCBtYXRjaCcKbWFnaWMgbnVtYmVyIGRvZXMgbm90IG1hdGNo
CisgZXhpdCAxCm9uX2V4aXQKKyBvbl9leGl0CisgJ1snIC1lICcnIC1hIC16ICcnICddJworICdb
JyAtZSAnJyAtYSAteiAnJyAnXScKCg==
--0015175741102e46b5048d2d8dba--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimRjxG6NC3PLxybkGnHfFXe5CW=oKGcqRROOUZu>