shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fw: [Dicas-L]SED HOWTO


From: Eriberto
Subject: Fw: [Dicas-L]SED HOWTO
Date: Wed, 13 Sep 2000 06:14:22 -0300

----- Original Message -----
From: "Rubens Queiroz de Almeida #200503# " <address@hidden>
To: <address@hidden>
Sent: Wednesday, September 13, 2000 1:30 AM
Subject: [Dicas-L]SED HOWTO


> SED HOWTO
> ---------------------------------------------------------------------
> Colaboração: Aurelio Marinho Jargas <address@hidden>
>
> Para quem se interessa em conhecer melhor o comando "sed"
> de ambientes Unix e derivados, uma boa sugestão é o
> sed-HOWTO, um misto de tutorial e guia de referência, com
> exemplos práticos. Este documento foi escrito por
> Aurélio Marinho Jargas.
>
> A idéia é que sirva tanto aos principiantes
> quanto aos iniciados, abrangendo conceitos básicos e complexos.
> e já usando o conversor txt2sgml.sed, temos a versão TXT,
> SGML e HTML. A versão HTML está disponível em:
>
> http://www.conectiva.com.br/~aurelio/sed/sed-HOWTO
>
> O conversor txt2sgml.sed encontra-se em
>
> http://www.conectiva.com.br/ãurelio/sed/programas/txt2sgml-sed
>
> Este documento ainda é a primeira versão e com certeza MUITA
> coisa dá pra melhorar/acrescentar. Qualquer sugestão é bem-vinda,
> basta enviar para o autor.
> ---------------------------------------------------------------
> As mensagens da lista Dicas-L são veiculadas diariamente
> para 10392 assinantes.
>
> Para sair ou assinar a lista Dicas-L, consulte o documento que
> se encontra em http://www.Dicas-L.unicamp.br/FAQ.html.
>
> A redistribuição desta e outras mensagens da lista Dicas-L pode
> ser feita livremente, deste que o conteúdo, inclusive esta nota,
> não sejam modificados.
> ---------------------------------------------------------------


From (no email address) Thu Sep 14 20:52:40 2000
Return-Path: <address@hidden>
Received: (qmail 22493 invoked from network); 15 Sep 2000 03:52:39 -0000
Received: from unknown (10.1.10.27) by m1.onelist.org with QMQP; 15 Sep 2000 
03:52:39 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156) by 
mta2 with SMTP; 15 Sep 2000 03:52:27 -0000
Received: from verde.distro.conectiva (verde.distro.conectiva [10.0.17.77]) by 
perninha.conectiva.com.br (8.9.3/8.9.3) with ESMTP id AAA22297 for 
<address@hidden>; Fri, 15 Sep 2000 00:55:46 -0300
Date: Fri, 15 Sep 2000 00:55:27 -0300 (BRT)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: =?iso-8859-1?Q?=5BANUNCIO=5D_fun=E7=F5es_ZZ?=
Message-ID: <Pine.LNX.4.21.0009150030550.1026-200000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="675089-1713502241-968990127=:1026"
From: # aurelio marinho jargas <address@hidden>

--675089-1713502241-968990127=:1026
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT


olás.

com o passar do tempo, fui criando uma coleção de pequenos
programinhas pra fazer coisinhas simples e economizar tempo.
acho que geralmente todo usuário de modo texto tem sua coleção
particular de robozinhos...

o que fiz foi transformar todos em funções do bash, enxugando ao
máximo, e os deixando genéricos.

toda função usa apenas variáveis locais, possui amostra de
sintaxe em caso de chamada errada e possui no nome o prefixo zz,
bem como descrição e exemplo de uso.

as variáveis globais do arquivo também têm o prefixo ZZ

assim, as funções ZZ não atrapalharão seu ambiente atual e não
sobreescreverão eventuais funções ou variáveis de mesmo nome.

incluído o arquivo na sua shell atual (com o comando source
ou .), basta:

  prompt$ zz<TAB><TAB>

para ver todas as funções disponíveis. são 22 ao todo.
algumas fazem busca na internet então necessitam de conexão.



o arquivo .bashzz com as funções segue em anexo e também tem uma
cópia em:
http://www.conectiva.com.br/~aurelio/programas/bash/funcoesZZ
mais instruções estão no seu cabeçalho.

este é um primeiro anúncio público, embora estas funções já
estejam em uso interno aqui na conectiva a cerca de 6 meses.

críticas e sugestões de melhoria ou de funções novas são
EXTREMAMENTE bem-vindas.

é isso.


-- 
s·:(·>(·×^a]×http://www.verde666.org×^[:wq

--675089-1713502241-968990127=:1026
Content-Type: TEXT/PLAIN; charset=iso-8859-1; name=".bashzz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0009150055270.1026@verde.distro.conectiva>
Content-Description: 
Content-Disposition: attachment; filename=".bashzz"

IyEvYmluL3NoDQojIC5iYXNoenoNCiMgdGFtYultIGRpc3Bvbu12ZWwgZW06DQojIGh0dHA6
Ly93d3cuY29uZWN0aXZhLmNvbS5ici9+YXVyZWxpby9wcm9ncmFtYXMvYmFzaC9mdW5jb2Vz
WloNCiMNCiMgREVTQ1JJx8NPOg0KIyBmdW7n9WVzIGRlIHVzbyBnZXJhbCBwYXJhIGJhc2hb
MTJdLCBxdWUgYnVzY2FtIGluZm9ybWHn9WVzIGVtDQojIGFycXVpdm9zIGxvY2FpcyBlIGRp
Y2lvbuFyaW9zL3RyYWR1dG9yZXMgbmEgaW50ZXJuZXQNCiMNCiMgSU5TVEFMQcfDTzoNCiMg
Y29waWUgZXN0ZSBhcnF1aXZvIHBhcmEgc2V1IGRpcmV083JpbyAiaG9tZSIgZSBpbmNsdWEt
byBuYSBzdWEgc2hlbGwNCiMgICBbcHJvbXB0XSQgY3AgLmJhc2h6eiB+DQojICAgW3Byb21w
dF0kIGVjaG8gLiB+Ly5iYXNoenogPj4gfi8uYmFzaHJjDQojDQojIEFTIEZVTsfVRVM6DQoj
ICAgW3Byb21wdF0kIHp6PFRBQj48VEFCPg0KIyAgIHp6YWp1ZGEgICAgICAgICAgenpkaWNk
aWN0ICAgICAgICB6emtpbGwgICAgICAgICB6enNvbWFob3JhDQojICAgenpiZWVwICAgICAg
ICAgICB6emRpY2phcmcgICAgICAgIHp6bGltcGFsaXhvICAgIHp6dHJvY2FhcnF1aXZvcw0K
IyAgIHp6Y2FsY3VsYSAgICAgICAgenpkaWN0b2RvcyAgICAgICB6emxpbnV4MmRvcyAgICB6
enRyb2NhZXh0ZW5zYW8NCiMgICB6emRpY2FibCAgICAgICAgIHp6ZG9sYXIgICAgICAgICAg
enpyYW1hbCAgICAgICAgenp0cm9jYXBhbGF2cmENCiMgICB6emRpY2JhYmVsICAgICAgIHp6
ZG9taW5pb3BhaXMgICAgenpycG1kaXNjbw0KIyAgIHp6ZGljYmFiaSAgICAgICAgenpkb3My
bGludXggICAgICB6enJwbWRvbm8NCiMNCiMgREVNT05TVFJBx8NPOg0KIyAgIFtwcm9tcHRd
JCB6emRpY2FibCBlc3RvcnZvDQojICAgICBlc3RvcnZvICj0KSBzLm0uIGNmLiBlc3RvcnZv
LCBkbyB2LiBlc3RvcnZhcg0KIyAgICAgZXN0b3J2b3IgKPQpIHMubS4NCiMgICBbcHJvbXB0
XSQgenpkb2xhcg0KIyAgICAgICAgICAgIGNvbXByYSB2ZW5kYQ0KIyAgIExJVlJFICAgIDEs
ODM2MCAxLDgzODANCiMgICBQQVJBTEVMTyAxLDg3MDAgMSw5NDAwDQojICAgVFVSSVNNTyAg
MSw3ODAwIDEsODYwMA0KIyAgIEVVUk8gICAgIDEsNTgyNyAxLDU4NjgNCiMgICBbcHJvbXB0
XSQgenpkb21pbmlvcGFpcyBjeA0KIyAgICAgQ1ggQ2hyaXN0bWFzIElzbGFuZA0KIyAgIFtw
cm9tcHRdJCB6enJwbWRpc2NvIC9tbnQvY2Ryb20vY29uZWN0aXZhL1JQTVMvdmltLSoNCiMg
ICA3TWINCiMgICBbcHJvbXB0XSQgenpzb21haG9yYSAxMjo1NiAwMzozMQ0KIyAgIDE2OjI3
DQojICAgW3Byb21wdF0kIHp6Y2FsY3VsYSAnMTEqKDJeOCtzcXJ0KDE2KSkrMC4zNCcNCiMg
ICAyODYwLjM0DQojDQojIE9CU0VSVkHH1UVTOg0KIyAtIGZ1buf1ZXMgcXVlIGZhemVtIGJ1
c2NhIG5hIGludGVybmV0IG5lY2Vzc2l0YW0gcXVlIG8gcGFjb3RlICdseW54Jw0KIyAgIGVz
dGVqYSBpbnN0YWxhZG8sIG91IHJlZGVmaW5hIG8gJFpaRFVNUA0KIyAtIG7jbyBjb3BpZSBl
IGNvbGUgYXMgZnVu5/VlcyBjb20gbyBtb3VzZSwgcG9pcyBhbGd1bnMgY2FyYWN0ZXJlcw0K
IyAgIGRlIGNvbnRyb2xlIGRlaXhhcuNvIGRlIGZ1bmNpb25hcg0KIw0KIyBBR1JBREVDSU1F
TlRPUzoNCiMgYXJuYWxkbyBjLiBkZSBtZWxvLCB3YW5kZXJsZWkgY2F2YXNzaW4sIGFkZW1h
ciByZWlzIGpyLiwgZWxpcGhhcyBsZXZ5LA0KIyBmZXJuYW5kbyByb3hvLCBvc3ZhbGRvIHNh
bnRhbmEgbmV0bywgcm9kcmlnbyBtaXNzaWFnZ2lhLCByYXVsIGRpYXMNCiMNCiMgUkVHSVNU
Uk8gREUgTVVEQU7HQVM6DQojIDIwMDAwMjIyIDxhdXJlbGlvQGNvbmVjdGl2YS5jb20uYnI+
ICoqIDGqIHZlcnPjbw0KIyAyMDAwMDQyNCA8YXVyZWxpb0Bjb25lY3RpdmEuY29tLmJyPiAr
KyBjb3JlcywgYmVlcCwgbGltcGFsaXhvLCBycG12ZXJkb25vDQojIDIwMDAwNTA0IDxhdXJl
bGlvQGNvbmVjdGl2YS5jb20uYnI+ICsrIGNhbGN1bGEsIGpwZ2ksIGdpZmksIHRyb2NhcGFs
YXZyYQ0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArKyBhanVkYSwg
ZWNob3p6LCBmb3J6eg0KIyAyMDAwMDUxNSA8YXVyZWxpb0Bjb25lY3RpdmEuY29tLmJyPiAr
KyBkb21pbmlvcGFpcywgdHJvY2FleHRlbnNhbywga2lsbA0KIyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLSBqcGdpLCBnaWZpOiBvIGlkZW50aWZ5IGrhIGZheg0K
IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PiAkKiA+ICIkQCINCiMg
MjAwMDA1MTcgPGF1cmVsaW9AY29uZWN0aXZhLmNvbS5icj4gPD4gdHJvY2FwYWxhdnJhIC0+
IGJhc2VuYW1lIG5vICRUDQojIDIwMDAwNjAxIDxhdXJlbGlvQGNvbmVjdGl2YS5jb20uYnI+
IC0tIGRpY2JhYmVsOiBhZ29yYSBjb20gc2Vzc2lvbiAmOigNCiMgMjAwMDA2MTIgPGF1cmVs
aW9AY29uZWN0aXZhLmNvbS5icj4gKysgY2VsdWxhcnRpbSwgdHJvY2FhcnF1aXZvDQojIDIw
MDAwODIzIDxhdXJlbGlvQGNvbmVjdGl2YS5jb20uYnI+IDw+IGRpY2phcmc6ICsgcGFsYXZy
YXMgY29tDQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGHn
b3MgKHZhbGV1IHdhbmRlcmxlaSkNCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0gY2VsdWxhcnRpbQ0KIyAyMDAwMDkxNCA8YXVyZWxpb0Bjb25lY3RpdmEuY29t
LmJyPiArKyBkaWNhYmwsIGRpY2RpY3QsIGRpY2JhYmVsDQojICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDw+IG5vbWUgb2ZpY2lhbCBwYXJhIC5iYXNoenoNCiMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gZGljZGljOiBw4WdpbmEgZm9y
YSBkbyBhcg0KIyAyMDAwMDkxNSA8YXVyZWxpb0Bjb25lY3RpdmEuY29tLmJyPiArKyBtaW5p
LW1hbnVhbCBubyBjYWJl52FsaG8NCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKiogMbogYW76bmNpbyBleHRlcm5vDQoNCg0KWlpDPTEgICAgICAgICAjIGNvbG9y
aXIgbWVuc2FnZW5zPyAxIGxpZ2EsIDAgZGVzbGlnYQ0KDQpaWkRVTVA9J2x5bnggLWR1bXAg
LW5vbGlzdCcNClpaU0VEVVJMPSdzfCB8K3xnO3N8JnwlMjZ8ZycNCmVjaG96eigpeyBbICIk
WlpDIiA9IDEgXSAmJiBlY2hvIC1uZSAnXDAzM1sxbScgOyBlY2hvIC1lICIkKlwwMzNbbSIg
OyB9DQoNCg0KDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgbW9zdHJhIHVtYSB0ZWxh
IGRlIGFqdWRhIGNvbSBleHBsaWNh5+NvIGUgc2ludGF4ZSBkZSB0b2RhcyBhcyBmdW7n9WVz
DQojIG9icy46IHThdOF04Swg6SB4dW54by4gc291IHByZWd1aedvc28gc2ltLCBlIGRh7SAm
OikNCiMgICAgICAgbuNvIHNlIGVzcXVl52EgZGUgbXVkYXIgbyB2YWxvciBkYSB2YXJp4XZl
bCAkWlpBUlEgY2FzbyBk6iBwYXUNCiMgdXNvOiB6emFqdWRhDQojIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCg0KenphanVkYSgpew0KbG9jYWwgWlpBUlE9JEhPTUUvLmJhc2h6eiAgIyBh
IHJvdGEgY29tcGxldGEgZSBub21lIGRlc3RlIGFycXVpdm8NCnNlZCAtbiAnMXMvLiovKioq
IGFqdWRhIGRhcyBmdW7n9WVzIFpaIHBhcmEgYmFzaCAoUSBzYWkpL3A7MnMvLiovIC9wOy9e
JC8sJHsNCnNfXChcPHp6W2Etel8yXSpcPlwpXxtbMW1cMRtbbV87cy9eIyAvL3A7fScgJFpa
QVJRIHwgdW5pcSB8IGxlc3MgLXINCn0NCg0KDQoNCiMgIyMjIyBVIE0gQSAgIEwgSSBOIEgg
QSAgIC8gICBEIEkgViBFIFIgUyBPIFMNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoj
IHByb2N1cmEgdW0gcmFtYWwgbnVtIGFycXVpdm8gbG9jYWwNCiMgdHJvcXVlIG8gL3diL3Jh
bWFpcy50eHQgcGVsbyBhcnF1aXZvIGRlc2VqYWRvDQojIHVzbzogenpyYW1hbCBub21lLWRv
LWNhcmENCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQp6enJhbWFsKCl7IFsgIiQxIiBd
ICYmIGdyZXAgLWkgIiQqIiAvd2IvcmFtYWlzLnR4dCA7IH0NCg0KDQojIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCiMgcmVzdGF1cmEgbyAnYmVlcCcgZGEgbeFxdWluYQ0KIyBzZSBwb3Ig
YWxndW0gbW90aXZvIG8gJ2JlZXAnIGRhIHN1YSBt4XF1aW5hIHBhcm91IGRlIGZ1bmNpb25h
ciBvdSBtdWRvdSBhDQojIGZyZXH86m5jaWEgb3UgZHVyYefjbywgZXNzYSBmdW7n428gbyBy
ZXRvcm5hIGEgc2V1IGVzdGFkbyBvcmlnaW5hbA0KIyB1c286IHp6YmVlcA0KIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQoNCnp6YmVlcCgpeyBlY2hvIC1uZSAnXDAzM1sxMDs3NTBdXDAz
M1sxMTsxMDBdJyA7IH0NCg0KDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgcmV0aXJh
IGxpbmhhcyBlbSBicmFuY28gZSBjb21lbnThcmlvcw0KIyBwYXJhIHZlciByYXBpZGFtZW50
ZSBxdWFpcyBvcOf1ZXMgZXN0428gYXRpdmFzIG51bSBhcnF1aXZvIGRlIGNvbmZpZ3VyYefj
bw0KIyBleC46IGNhdCAvZXRjL2luaXR0YWIgfCB6emxpbXBhbGl4bw0KIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQoNCnp6bGltcGFsaXhvKCl7IHNlZCAnXKdeWyAJXSpcKCNcfCRcKadk
JyB8IHVuaXEgOyB9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIG1hdGEgb3Mg
cHJvY2Vzc29zIHF1ZSB0ZW5oYW0gbyhzKSBwYWRy428o9WVzKSBlc3BlY2lmaWNhZG8ocykg
bm8gbm9tZSBkbw0KIyBjb21hbmRvIGV4ZWN1dGFkbyBxdWUgbGhlIGRldSBvcmlnZW0NCiMg
b2JzLjogc2UgcXVpc2VyIGFzc2Fzc2luYXIgbWVzbW8gbyBwcm9jZXNzbywgY29sb3F1ZSBh
IG9w5+NvIC05IG5vIGtpbGwNCiMgdXNvOiB6emtpbGwgcGFkcuNvIFtwYWRy428yIC4uLl0N
CiMgZXguOiB6emtpbGwgbmV0c2NhcGUNCiMgICAgICB6emtpbGwgbmV0c2Mgc29mZmljZSBz
dGFydHgNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KenpraWxsKCl7IGxvY2FsIEMgUCA7
IGZvciBDIGluICIkQCIgOyBkbw0KZm9yIFAgaW4gYHBzIHggLS1mb3JtYXQgcGlkLGNvbW0g
fCBzZWQgLW4gInMvXiAqXChbMC05XVwrXCkgW14gXSokQy4qL1wxL3AiYA0KZG8ga2lsbCAk
UCA7IGRvbmUgOyBkb25lDQp9DQoNCg0KDQojICMjIyMgQSBSIFEgVSBJIFYgTyBTICAgKHVz
ZSBwb3Igc2V1IHBy83ByaW8gcmlzY28pDQoNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
IyBlbmNvbnRyYSBvIHBhY290ZSBxdWUgdGVtIHVtIGFycXVpdm8gb3UgYmlsaW90ZWNhIHF1
YWxxdWVyIChkZW1vcmEpDQojIHVzbzogenpycG1kb25vIGFycXVpdm8gW2Rpci1ycG1zXQ0K
IyBleC46IHp6cnBtZG9ubyBsaWJnZA0KIyAgICAgIHp6cnBtZG9ubyBsaWxvLmNvbmYgL3Rt
cC9tZXVzLXBhY290ZXMvDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KenpycG1kb25v
KCl7DQpbICIkMSIgXSB8fCB7IGVjaG8gJ3VzbzogenpycG1kb25vIGFycXVpdm8gW2Rpci1y
cG1zXSc7IHJldHVybjsgfQ0KbG9jYWwgRD0vbW50L2Nkcm9tL2NvbmVjdGl2YS9SUE1TIDsg
WyAiJDIiIF0gJiYgRD0iJDIiDQpmb3IgQSBpbiAkRC8qLnJwbSA7IGRvIHJwbSAtcWxwICRB
IHwgZ3JlcCAiJDEiICYmIGVjaG96eiAiQCAkQSIgOyBkb25lDQp9DQoNCg0KIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQojIGNvbnZlcnPjbyBkZSBhcnF1aXZvcyB0ZXh0byBlbnRyZSBE
T1MgZSBsaW51eA0KIyBvYnMuOiBvIGFycXVpdm8gb3JpZ2luYWwg6SBncmF2YWRvIGNvbW8g
YXJxdWl2by57ZG9zLGxpbnV4fQ0KIyB1c286IHp6ZG9zMmxpbnV4IGFycXVpdm8ocykNCiMg
ICAgICB6emxpbnV4MmRvcyBhcnF1aXZvKHMpDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
Cg0Kenpkb3MybGludXgoKXsgbG9jYWwgQSA7IGZvciBBIGluICIkQCIgOyBkbyBjcCAiJEEi
ICIkQS5kb3MiICYmIGNobW9kIC14ICRBICYmDQpzZWQgJ3MvDSQvLycgIiRBLmRvcyIgICA+
ICIkQSIgJiYgZWNobyAiY29udmVydGlkbyAkQSIgOyBkb25lIDsgfQ0KenpsaW51eDJkb3Mo
KXsgbG9jYWwgQSA7IGZvciBBIGluICIkQCIgOyBkbyBjcCAiJEEiICIkQS5saW51eCIgJiYN
CnNlZCAncy8kLw0vJyAiJEEubGludXgiID4gIiRBIiAmJiBlY2hvICJjb252ZXJ0aWRvICRB
IiA7IGRvbmUgOyB9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIHRyb2NhIGEg
ZXh0ZW5z428gZGUgdW0gKG91IHbhcmlvcykgYXJxdWl2byBlc3BlY2lmaWNhZG8NCiMgdXNv
OiB6enRyb2NhZXh0ZW5zYW8gYW50aWdhIG5vdmEgYXJxdWl2byhzKQ0KIyBleC46IHp6dHJv
Y2FleHRlbnNhbyAuZG9jIC50eHQgKg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCnp6
dHJvY2FleHRlbnNhbygpew0KWyAiJDMiIF0gfHwgeyBlY2hvICd1c286IHp6dHJvY2FleHRl
bnNhbyBhbnRpZ2Egbm92YSBhcnF1aXZvKHMpJzsgcmV0dXJuOyB9DQpsb2NhbCBBIHAxPSIk
MSIgcDI9IiQyIiA7IHNoaWZ0IDsgc2hpZnQgOyBmb3IgQSBpbiAiJEAiIDsgZG8gDQpbICIk
QSIgIT0gIiR7QSUkcDF9IiBdICYmIG12IC12ICIkQSIgIiR7QSUkcDF9JHAyIiA7IGRvbmUN
Cn0NCg0KDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgdHJvY2EgbyBjb250ZfpkbyBk
ZSBkb2lzIGFycXVpdm9zLCBtYW50ZW5kbyBzdWFzIHBlcm1pc3P1ZXMgb3JpZ2luYWlzDQoj
IHVzbzogenp0cm9jYWFycXVpdm9zIGFycXVpdm8xIGFycXVpdm8yDQojIGV4Ljogenp0cm9j
YWFycXVpdm9zIC9ldGMvZnN0YWIuYmFrIC9ldGMvZnN0YWINCiMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KDQp6enRyb2NhYXJxdWl2b3MoKXsNClsgIiQyIiBdIHx8IHsgZWNobyAndXNv
OiB6enRyb2NhYXJxdWl2b3MgYXJxdWl2bzEgYXJxdWl2bzInOyByZXR1cm47IH0NCmxvY2Fs
IGF0PSIkSE9NRS8uenp0bXAiOyBjYXQgIiQyIiA+ICRhdDsgY2F0ICIkMSIgPiAiJDIiOyBj
YXQgIiRhdCIgPiAiJDEiOw0Kcm0gJGF0OyBlY2hvICJmZWl0bzogJDEgPC0+ICQyIg0KfQ0K
DQoNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyB0cm9jYSB1bWEgcGFsYXZyYSBwb3Ig
b3V0cmEgZW0gdW0gKG91IHbhcmlvcykgYXJxdWl2byBlc3BlY2lmaWNhZG8NCiMgb2JzLjog
c2UgcXVpc2VyIHF1ZSBzZWphIGluc2Vuc+12ZWwgYSBtYWn6c2N1bGFzL21pbvpzY3VsYXMs
IGFwZW5hcw0KIyAgICAgICBjb2xvcXVlIG8gbW9kaWZpY2Fkb3IgJ2knIGxvZ28gYXDzcyBv
IG1vZGlmaWNhZG9yICdnJyBubyBjb21hbmRvIHNlZA0KIyAgICAgICBkZXNsaWdhZG8gcG9y
IHBhZHLjbw0KIyB1c286IHp6dHJvY2FwYWxhdnJhIGFudGlnYSBub3ZhIGFycXVpdm8ocykN
CiMgZXguOiB6enRyb2NhcGFsYXZyYSBleGNlc3PjbyBleGNl5+NvICoudHh0DQojIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCg0Kenp0cm9jYXBhbGF2cmEoKXsNClsgIiQzIiBdIHx8IHsg
ZWNobyAndXNvOiB6enRyb2NhcGFsYXZyYSBhbnRpZ2Egbm92YSBhcnF1aXZvKHMpJzsgcmV0
dXJuOyB9DQpsb2NhbCBBIFQgcDE9IiQxIiBwMj0iJDIiIDsgc2hpZnQgOyBzaGlmdCA7IGZv
ciBBIGluICIkQCIgOyBkbyBUPS90bXAvJHtBIyMqL30NCmNwICRBICRUICYmIHNlZCAic6ck
cDGnJHAyp2ciICRUID4gJEEgJiYgcm0gLWYgJFQgOyBlY2hvICJmZWl0byAkQSIgOyBkb25l
DQp9DQoNCg0KDQojICMjIyMgQyDBIEwgQyBVIEwgTw0KDQojIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCiMgY2FsY3VsYWRvcmE6ICsgLSAvICogXiAlICAgICMgbWFpcyBvcGVyYWRvcmVz
LCB2ZXIgYG1hbiBiY2ANCiMgdXNvOiB6emNhbGN1bGEgbvptZXJvIG9wZXJh5+NvIG76bWVy
bw0KIyBleC46IHp6Y2FsY3VsYSAyIC8gMw0KIyAgICAgIHp6Y2FsY3VsYSAnMl4yKig0LTEp
JyAgIyAyIGFvIHF1YWRyYWRvIHZlemVzIDQgbWVub3MgMQ0KIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQoNCnp6Y2FsY3VsYSgpeyBbICIkMSIgXSAmJiBlY2hvICJzY2FsZT0yOyQqIiB8
IGJjIDsgfQ0KDQoNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBzb21hIG8gZXNwYedv
IGVtIGRpc2NvIHF1ZSB1bSAob3UgbWFpcykgcGFjb3RlIG9jdXBhcuEgcXVhbmRvIGluc3Rh
bGFkbw0KIyB1c286IHp6cnBtZGlzY28gcGFjb3RlKHMpDQojIGV4LjogenpycG1kaXNjbyAv
bW50L2Nkcm9tL2NvbmVjdGl2YS9SUE1TL3ZpbS0qDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCg0KenpycG1kaXNjbygpew0KWyAiJDEiIF0gfHwgeyBlY2hvICd1c286IHp6cnBtZGlz
Y28gcGFjb3Rlcyc7IHJldHVybjsgfSA7IGxvY2FsIFQgQiByDQpUPTA7IGZvciByIGluICQq
OyBkbyBCPWBycG0gLXFwIC0tcXVlcnlmb3JtYXQgJXtTSVpFfSAkcmA7IFQ9JCgoVCtCKSkg
OyBkb25lDQpUPSQoKFQvMTAyNCkpOyBbICRUIC1nZSAxMDAwIF0gJiYgZWNobyAiJCgoJFQv
MTAyNCkpTWIiIHx8IGVjaG8gJHtUfUtiDQp9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQojIHNvbWEgZG9pcyBob3Lhcmlvcw0KIyB1c286IHp6c29tYWhvcmEgaG9y4XJpbzEg
aG9y4XJpbzINCiMgZXguOiB6enNvbWFob3JhIDEyOjM3IDA4OjQ1DQojIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCg0Kenpzb21haG9yYSgpew0KWyAiJDEiIF0gfHwgeyBlY2hvICJ1c286
IHp6c29tYWhvcmEgMTI6MzcgMDg6NDUiOyByZXR1cm47IH0NCmxvY2FsIGgxIGgyIG0xIG0y
IEggTQ0KaDE9JHsxJToqfTsgbTE9JHsxIyo6fTsgaDI9JHsyJToqfTsgbTI9JHsyIyo6fSAj
ICRoMTokbTEgJGgyOiRtMg0KaDE9JHtoMSMwfTsgbTE9JHttMSMwfTsgaDI9JHtoMiMwfTsg
bTI9JHttMiMwfSAjIHMvXjAvLw0KTT0kKChtMSttMikpOyBIPSQoKGgxK2gyK00vNjApKTsg
TT0kKChNJTYwKSkgICAjIG1pbiwgaHJzLCBtaW5fc29icmENCnByaW50ZiAiJTAyZDolMDJk
XG4iICRIICRNDQp9DQoNCg0KDQojLS0tLS0tLS0tLS04PC0tLS0tLS0tLS0tLWRhcXVpIHBy
YSBiYWl4bzogRlVOx9VFUyBRVUUgRkFaRU0gQlVTQ0EgTkEgSU5URVJORVQNCiMtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tcG9kZW0gcGFyYXIgZGUgZnVuY2lvbmFyIHNlIG11ZGFyZW0g
bmFzIHDhZ2luYXMNCg0KDQojICMjIyMgQyBPIFQgQSDHIMMgTyAgIChpbnRlcm5ldCkNCg0K
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0dHA6Ly93d3cuYWdydXJhbC5jb20uYnIN
CiMgYnVzY2EgYSBjb3Rh5+NvIGRvIGRpYSBkbyBk82xhciBlIGRvIGV1cm8NCiMgdXNvOiB6
emRvbGFyDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0Kenpkb2xhcigpew0KbG9jYWwg
VVJMPWh0dHA6Ly93d3cuYWdydXJhbC5jb20uYnIvaW5kaWNhZG9yZXMvZG9sYXIuaHRtDQpl
Y2hvenogIiAgICAgICAgIGNvbXByYSB2ZW5kYSIgOyAkWlpEVU1QICRVUkwgfA0Kc2VkIC1u
ICdzLy4qXDxcKFswMV0sWzAtOV1cezRcfVwpXD4uKi9cMS9wJyB8IHNlZCAnTjtzL1xuLyAv
JyB8DQpzZWQgJzFzL14vTElWUkUgICAgLzsycy9eL1BBUkFMRUxPIC87M3MvXi9UVVJJU01P
ICAvOzRzL14vRVVSTyAgICAgLycNCn0NCg0KDQoNCiMgIyMjIyBEIE8gTSDNIE4gSSBPIFMg
ICAoaW50ZXJuZXQpDQoNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBodHRwOi8vd3d3
LnByb2Zlc3Npb25hbC5vcmcvdXNlci1jZ2kvcHNlL2RvbWFpbi5wbA0KIyBidXNjYSBhIGRl
c2NyaefjbyBkZSB1bSBj82RpZ28gZGUgcGHtcyBkYSBpbnRlcm5ldCAoLmJyLCAuY2EgZXRj
KQ0KIyB1c286IHp6ZG9taW5pb3BhaXMgY/NkaWdvDQojIGV4Ljogenpkb21pbmlvcGFpcyAu
YnINCiMgICAgICB6emRvbWluaW9wYWlzIG9yZw0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
DQoNCnp6ZG9taW5pb3BhaXMoKXsNClsgIiQxIiBdIHx8IHsgZWNobyAndXNvOiB6emRvbWlu
aW9wYWlzIFsuXWPzZGlnbyc7IHJldHVybjsgfQ0KbG9jYWwgVVJMPWh0dHA6Ly93d3cucHJv
ZmVzc2lvbmFsLm9yZy91c2VyLWNnaS9wc2UvZG9tYWluLnBsDQpsb2NhbCBJTkk9J1RoZSBk
b21haW4gJyA7ICRaWkRVTVAgIiRVUkw/ZG9tYWluPSR7MSMufSIgfA0Kc2VkIC1uICIvJElO
SS8sJCB7LyRJTklcfF4gKiQvZDtzL14gKi8gIC9wO30iDQp9DQoNCg0KDQoNCiMgIyMjIyBU
IFIgQSBEIFUgVCBPIFIgRSBTICAgZSAgIEQgSSBDIEkgTyBOIMEgUiBJIE8gUyAgIChpbnRl
cm5ldCkNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0dHA6Ly9iYWJlbGZpc2gu
YWx0YXZpc3RhLmRpZ2l0YWwuY29tDQojIGZheiB0cmFkdef1ZXMgZGUgcGFsYXZyYXMvZnJh
c2VzL3RleHRvcyBlbSBwb3J0dWd16nMgZSBpbmds6nMNCiMgdXNvOiB6emRpY2JhYmVsIFtp
XSB0ZXh0bw0KIyBleC46IHp6ZGljYmFiZWwgbXkgZG9nIGlzIGdyZWVuDQojICAgICAgenpk
aWNiYWJlbCBpIGZhbGPjbyBkZXRvbmEhDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K
enpkaWNiYWJlbCgpew0KWyAiJDEiIF0gfHwgeyBlY2hvICd1c286IHp6ZGljYmFiZWwgW2ld
IHBhbGF2cmEocyknOyByZXR1cm47IH0NCmxvY2FsIFVSTD0naHR0cDovL2JhYmVsZmlzaC5h
bHRhdmlzdGEuZGlnaXRhbC5jb20vcmFnaW5nL3RyYW5zbGF0ZS5keW4nDQpsb2NhbCBMPWVu
X3B0IElOST0nXjx0ZXh0YXJlYSAuKiBuYW1lPXE+JCcgRklNPSdePFwvdGV4dGFyZWE+Jm5i
c3A7JCcNClsgIiQxIiA9ICdpJyBdICYmIHsgc2hpZnQ7IEw9cHRfZW47IElOST0nXiAqPHRl
eHRhcmVhIC4qIG5hbWU9cT4kJzsgfQ0KbG9jYWwgVFhUPWBlY2hvICIkKiJ8IHNlZCAiJFpa
U0VEVVJMImANCmx5bnggLXNvdXJjZSAiJFVSTD91cmx0ZXh0PSRUWFQmbHA9JEwiIHwNCnNl
ZCAtbiAiLyRJTkkvLC8kRklNL3svJElOSVx8JEZJTVx8XiQvZDtzL14gKi8gIC9wO30iDQp9
DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0dHA6Ly93d3cuYmFieWxvbi5j
b20NCiMgdHJhZHXn428gZGUgcGFsYXZyYXMgZW0gaW5nbOpzIHBhcmEgdW0gbW9udGUgZGUg
aWRpb21hczoNCiMgZnJuY+pzLCBhbGVt428sIGphcG9u6nMsIGl0YWxpYW5vLCBoZWJyZXUs
IGVzcGFuaG9sLCBob2xhbmTqcyBlDQojIHBvcnR1Z3Xqcy4gbyBwYWRy428g6SBvIHBvcnR1
Z3Xqcywg6SBjbGFyby4NCiMgdXNvOiB6emRpY2JhYmkgW2lkaW9tYV0gcGFsYXZyYQ0KIyBl
eC46IHp6ZGljYmFiaSBoYXJkY29yZQ0KIyAgICAgIHp6ZGljYmFiaSBqYXAgdHJlZQ0KIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCnp6ZGljYmFiaSgpew0KWyAiJDEiIF0gfHwgeyBl
Y2hvIC1lICJ6emRpY2JhYmkgW2lkaW9tYV0gcGFsYXZyYQ0KICBpZGlvbWEgPSBmcmUgZ2Vy
IGphcCBpdGEgaGViIHNwYSBkdXQgcHRnIiAmJiByZXR1cm47IH0NCmxvY2FsIEw9cHRnIDsg
WyAiJDIiIF0gJiYgTD0kMSAmJiBzaGlmdA0KJFpaRFVNUCAiaHR0cDovL3d3dy5iYWJ5bG9u
LmNvbS90cmFucy9id3QuY2dpPyRMJDEiIHwNCnNlZCAnMSw0ZDtzL14gKi8vOy9eXCgkXHxf
XCtcKS9kO3MvXi8gIC8nDQp9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0
dHA6Ly93d3cuZGljdGlvbmFyeS5jb20NCiMgZGVmaW5p5/VlcyBkZSBwYWxhdnJhcyBlbSBp
bmds6nMsIGNvbSBwZXNxdWlzYSBlbSAqduFyaW9zKiBiYW5jb3MgZGUgZGFkb3MNCiMgdXNv
OiB6emRpY2RpY3QgcGFsYXZyYQ0KIyBleC46IHp6ZGljZGljdCBoYXJkY29yZQ0KIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tDQoNCnp6ZGljZGljdCgpew0KWyAiJDEiIF0gfHwgeyBlY2hv
ICJ6emRpY2RpY3QgcGFsYXZyYSIgJiYgcmV0dXJuOyB9DQpsb2NhbCBVUkw9J2h0dHA6Ly93
d3cuZGljdGlvbmFyeS5jb20vY2dpLWJpbi9kaWN0LnBsJw0KbG9jYWwgSU5JPSdeICpbMC05
XVwrIGVudHJcKHlcfGllc1wpIGZvdW5kLiQnIEZJTT0nXiAqVHJ5IHlvdXIgc2VhcmNoJyAN
CiRaWkRVTVAgIiRVUkw/ZGI9KiZ0ZXJtPSQqIiB8IHNlZCAtbiAiLyRJTkkvLC8kRklNL3sv
JElOSVx8JEZJTS9kO3A7fSINCn0NCg0KDQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoj
IyBodHRwOi8vd3d3LmRpY2lvbmFyaW8uY29tLmJyDQojIyBkaWNpb27hcmlvL3RyYWR1dG9y
IGRlIHRlcm1vcyB06WNuaWNvcyBkZSBpbmZvcm3hdGljYSBlbSBpbmds6nMNCiMjIHVzbzog
enpkaWNkaWMgcGFsYXZyYShzKQ0KIyMgZXguOiB6emRpY2RpYyB2aWRlbyBjYXJkDQojIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojenpkaWNkaWMoKXsNCiNbICIkMSIgXSB8fCB7
IGVjaG8gJ3VzbzogenpkaWNkaWMgcGFsYXZyYSc7IHJldHVybjsgfQ0KI2xvY2FsIFVSTD0n
aHR0cDovL3d3dy5kaWNpb25hcmlvLmNvbS5icicgSU5JPSdFbmNvbnRyYWQnDQojbG9jYWwg
RklNPSdDb3B5cmlnaHQnIFRYVD1gZWNobyAiJCoifCBzZWQgIiRaWlNFRFVSTCJgOw0KIyRa
WkRVTVAgIiRVUkwvY2dpLWJpbi9kaWMucGw/Yz0kVFhUJnA9UGVzcXVpc2EmbT1jaGF2ZSIg
I3wNCiNzZWQgLW4gIi8kSU5JLywvJEZJTS97LyRJTklcfCRGSU0vZDtzL14gKi8gIC9wO30i
IHwgc2VkICcxZDskZCcNCiN9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0
dHA6Ly93d3cuYWNhZGVtaWEub3JnLmJyL3ZvY2FidWxhLmh0bQ0KIyBkaWNpb27hcmlvIGRh
IEFCTCAtIGFjYWRlbWlhIGJyYXNpbGVpcmEgZGUgbGV0cmFzDQojIHVzbzogenpkaWNhYmwg
cGFsYXZyYQ0KIyBleC46IHp6ZGljYWJsIGNhYmXnYS1kZS0NCiMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KDQp6emRpY2FibCgpew0KWyAiJDEiIF0gfHwgeyBlY2hvICd1c286IHp6ZGlj
YWJsIHBhbGF2cmEnOyByZXR1cm47IH0NCmxvY2FsIFVSTD0naHR0cDovL3d3dy5tdGVjLmNv
bS5ici9jZ2ktYmluL2FibC92b2x0YV9hYmxfb3JnLmFzcCcNCmVjaG8gInBhbGF2cmE9JCoi
IHwgJFpaRFVNUCAtcG9zdC1kYXRhICRVUkwgfCBzZWQgJzEsNWQ7L14gKlwuLywkZDtzL14g
Ki8gIC8nDQp9DQoNCg0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGh0dHA6Ly93d3cu
dGVjaGZhay51bmktYmllbGVmZWxkLmRlL35qb2Vybi9qYXJnb24NCiMgZGljaW9u4XJpb3Mg
ZGUgamFyZ/VlcyBkZSBpbmZvcm3hdGljYSwgZW0gaW5nbOpzDQojIHVzbzogenpkaWNqYXJn
IHBhbGF2cmENCiMgZXguOiB6emRpY2phcmcgdmkNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KDQp6emRpY2phcmcoKXsNClsgIiQxIiBdIHx8IHsgZWNobyAndXNvOiB6emRpY2phcmcg
cGFsYXZyYSc7IHJldHVybjsgfQ0KbG9jYWwgVFhUPWBlY2hvICIkKiIgfCBzZWQgJ3MvIC8t
L2cnYA0KJFpaRFVNUCBodHRwOi8vd3d3LnR1eGVkby5vcmcvfmVzci9qYXJnb24vaHRtbC9l
bnRyeS8kVFhULmh0bWwgfA0Kc2VkICcxLDNkOy8gXHs1XH1fXCsvLCRkO3MvXiAqLyAgLycN
Cn0NCg0KDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgdXNhIHRvZGFzIGFzIGZ1buf1
ZXMgZGUgZGljaW9u4XJpbyBlIHRyYWR15+NvIGRlIHVtYSB2ZXoNCiMgdXNvOiB6emRpY3Rv
ZG9zIHBhbGF2cmENCiMgZXguOiB6emRpY3RvZG9zIExpbnV4DQojIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCnp6ZGljdG9kb3MoKXsNClsgIiQxIiBdIHx8IHsgZWNobyAndXNvOiB6emRp
Y3RvZG9zIHBhbGF2cmEnOyByZXR1cm47IH0gOyBsb2NhbCBEDQpmb3IgRCBpbiBiYWJlbCBi
YWJpIGphcmcgYWJsIGRpY3QgOyBkbyBlY2hvenogInp6ZGljJEQ6IiA7IHp6ZGljJEQgJDEg
OyBkb25lDQp9DQo=

--675089-1713502241-968990127=:1026--


reply via email to

[Prev in Thread] Current Thread [Next in Thread]