Bonjour,
Très intéressé par l'authentification de spip sur un annuaire Ldap, j'ai donc
installé la version 1.5pr2 du CVS.
J'observe un problème :
Si l'utilisateur saisie un mauvais mot de passe, l'authentification échoue
par contre si il laisse le champ mot de passe vide, l'authentification
réussie :-/
Avez vous observé cela de votre coté ?
Cordialement
Jean-Luc
From cclem@club-internet.fr Tue Dec 10 18:13:40 2002
Return-Path: <cclem@club-internet.fr>
Received: from relay-2v.club-internet.fr (relay-2v.club-internet.fr
[194.158.96.113])
by miel.brainstorm.fr (Postfix) with ESMTP id 0DAB61D2B8
for <spip-dev@rezo.net>; Tue, 10 Dec 2002 18:13:40 +0100 (CET)
Received: from diablo (lns14v-7-71.w.club-internet.fr [212.195.190.71])
by relay-2v.club-internet.fr (Postfix) with SMTP id 82C021B4E
for <spip-dev@rezo.net>; Tue, 10 Dec 2002 18:12:46 +0100 (CET)
X-mailer: Foxmail 4.2 [-fr-]
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="=====000_Dragon763533570206_====="
Message-Id: <20021210171246.82C021B4E@relay-2v.club-internet.fr>
X-BeenThere: spip-dev@rezo.net
X-Mailman-Version: 2.1b5+
Precedence: list
List-Id: SPIP : developpement <spip-dev.rezo.net>
List-Help: <mailto:spip-dev-request@rezo.net?subject=help>
List-Post: <mailto:spip-dev@rezo.net>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev>,
<mailto:spip-dev-request@rezo.net?subject=subscribe>
List-Archive: <http://listes.rezo.net/archives/spip-dev>
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev>,
<mailto:spip-dev-request@rezo.net?subject=unsubscribe>
X-List-Received-Date: Tue, 10 Dec 2002 17:13:40 -0000
Status: O
Content-Length: 29929
Lines: 402
This is a multi-part message in MIME format.
--=====000_Dragon763533570206_=====
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
j'ai corrig=E9 les erreurs...en pj
--=====000_Dragon763533570206_=====
Content-Type: application/octet-stream;
name="configuration.php3"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="configuration.php3"
PD9waHAKCmluY2x1ZGUgKCJpbmMucGhwMyIpOwoKaW5jbHVkZV9lY3JpcmUgKCJpbmNfY29uZmln
LnBocDMiKTsKCmZ1bmN0aW9uIG15U2VsKCR2YXJhdXQsJHZhcmlhYmxlKXsKCQkkcmV0b3VyPSAi
IFZBTFVFPVwiJHZhcmF1dFwiIjsKCglpZiAoJHZhcmlhYmxlPT0kdmFyYXV0KXsKCQkkcmV0b3Vy
Lj0gIiBTRUxFQ1RFRCI7Cgl9CgoJcmV0dXJuICRyZXRvdXI7Cn0KCgpkZWJ1dF9wYWdlKCJDb25m
aWd1cmF0aW9uIGR1IHNpdGUiLCAiYWRtaW5pc3RyYXRpb24iLCAiY29uZmlndXJhdGlvbiIpOwoK
ZWNobyAiPGJyPjxicj48YnI+IjsKZ3Jvc190aXRyZSgiQ29uZmlndXJhdGlvbiBkdSBzaXRlIik7
CmJhcnJlX29uZ2xldHMoImNvbmZpZ3VyYXRpb24iLCAiY29udGVudSIpOwoKCmRlYnV0X2dhdWNo
ZSgpOwoKZGVidXRfZHJvaXRlKCk7CgppZiAoJGNvbm5lY3Rfc3RhdHV0ICE9ICcwbWluaXJlem8n
IE9SICEkY29ubmVjdF90b3V0ZXNfcnVicmlxdWVzKSB7CgllY2hvICJWb3VzIG4nYXZleiBwYXMg
YWNjJmVncmF2ZTtzICZhZ3JhdmU7IGNldHRlIHBhZ2UuIjsKCWZpbl9wYWdlKCk7CglleGl0Owp9
CgovLwovLyBNb2RpZmljYXRpb25zCi8vCgppbml0X2NvbmZpZygpOwppZiAoJGNoYW5nZXJfY29u
ZmlnID09ICdvdWknKSB7CglhcHBsaXF1ZXJfbW9kaWZzX2NvbmZpZygpOwp9CmVsc2UgewoJJGZv
cnVtc19wdWJsaWNzID0gbGlyZV9tZXRhKCJmb3J1bXNfcHVibGljcyIpOwoJaWYgKCEkZm9ydW1z
X3B1YmxpY3MpIHsKCQllY3JpcmVfbWV0YSgiZm9ydW1zX3B1YmxpY3MiLCAicG9zdGVyaW9yaSIp
OwoJCWVjcmlyZV9tZXRhcygpOwoJfQp9CgpsaXJlX21ldGFzKCk7CgphdmVydGlzc2VtZW50X2Nv
bmZpZygpOwoKLy8KLy8gQWZmaWNoZXIgbGVzIG9wdGlvbnMgZGUgY29uZmlnCi8vCgplY2hvICI8
Zm9ybSBhY3Rpb249J2NvbmZpZ3VyYXRpb24ucGhwMycgbWV0aG9kPSdwb3N0Jz4iOwplY2hvICI8
aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdjaGFuZ2VyX2NvbmZpZycgdmFsdWU9J291aSc+IjsK
ZGVidXRfY2FkcmVfcmVsaWVmKCJyYWNpbmUtMjQuZ2lmIik7CgoJJG5vbV9zaXRlID0gZW50aXRl
c19odG1sKGxpcmVfbWV0YSgibm9tX3NpdGUiKSk7CgkkYWRyZXNzZV9zaXRlID0gZW50aXRlc19o
dG1sKGxpcmVfbWV0YSgiYWRyZXNzZV9zaXRlIikpOwoJJGVtYWlsX3dlYm1hc3RlciA9IGVudGl0
ZXNfaHRtbChsaXJlX21ldGEoImVtYWlsX3dlYm1hc3RlciIpKTsKCgllY2hvICI8VEFCTEUgQk9S
REVSPTAgQ0VMTFNQQUNJTkc9MSBDRUxMUEFERElORz0zIFdJRFRIPVwiMTAwJVwiPiI7CgllY2hv
ICI8VFI+PFREIEJHQ09MT1I9JyRjb3VsZXVyX2ZvbmNlZScgQkFDS0dST1VORD0naW1nX3BhY2sv
cmllbi5naWYnPjxCPjxGT05UIEZBQ0U9J1ZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2Vy
aWYnIFNJWkU9MyBDT0xPUj0nI0ZGRkZGRic+IjsKCWVjaG8gIk5vbSBkZSB2b3RyZSBzaXRlPC9G
T05UPjwvQj4gIi5haWRlICgiY29uZm5vbSIpLiI8L1REPjwvVFI+IjsKCgllY2hvICI8VFI+PFRE
IEJBQ0tHUk9VTkQ9J2ltZ19wYWNrL3JpZW4uZ2lmJyBjbGFzcz0ndmVyZGFuYTInPiI7CgllY2hv
ICI8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nbm9tX3NpdGUnIHZhbHVlPVwiJG5vbV9zaXRlXCIg
c2l6ZT0nNDAnIENMQVNTPSdmb3Jtbyc+IjsKCWVjaG8gIjwvVEQ+PC9UUj4iOwoKCWVjaG8gIjxU
Uj48VEQgQkdDT0xPUj0nI0VFRUVDQycgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5naWYnPjxC
PjxGT05UIEZBQ0U9J1ZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYnIFNJWkU9MyBD
T0xPUj0nIzAwMDAwMCc+IjsKCWVjaG8gIkFkcmVzc2UgKFVSTCkgZHUgc2l0ZSBwdWJsaWM8L0ZP
TlQ+PC9CPjwvVEQ+PC9UUj4iOwoKCWVjaG8gIjxUUj48VEQgQkFDS0dST1VORD0naW1nX3BhY2sv
cmllbi5naWYnIGNsYXNzPSd2ZXJkYW5hMic+IjsKCWVjaG8gIjxpbnB1dCB0eXBlPSd0ZXh0JyBu
YW1lPSdhZHJlc3NlX3NpdGUnIHZhbHVlPVwiJGFkcmVzc2Vfc2l0ZS9cIiBzaXplPSc0MCcgQ0xB
U1M9J2Zvcm1vJz48cD4mbmJzcDsiOwoJZWNobyAiPC9URD48L1RSPiI7CgoJZWNobyAiPFRSPjxU
RCBCR0NPTE9SPScjRUVFRUNDJyBCQUNLR1JPVU5EPSdpbWdfcGFjay9yaWVuLmdpZic+PEI+PEZP
TlQgRkFDRT0nVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZicgU0laRT0zIENPTE9S
PScjMDAwMDAwJz4iOwoJZWNobyAiQWRyZXNzZSBlLW1haWwgZHUgd2VibWVzdHJlIChvcHRpb25u
ZWwpPC9GT05UPjwvQj48L1REPjwvVFI+IjsKCgllY2hvICI8VFI+PFREIEJBQ0tHUk9VTkQ9J2lt
Z19wYWNrL3JpZW4uZ2lmJyBjbGFzcz0ndmVyZGFuYTInPiI7CgllY2hvICI8aW5wdXQgdHlwZT0n
dGV4dCcgbmFtZT0nZW1haWxfd2VibWFzdGVyJyB2YWx1ZT1cIiRlbWFpbF93ZWJtYXN0ZXJcIiBz
aXplPSc0MCcgQ0xBU1M9J2Zvcm1sJz4iOwoJZWNobyAiPC9URD48L1RSPiI7CgoJZWNobyAiPFRS
PjxURCBBTElHTj0ncmlnaHQnPiI7CgllY2hvICI8SU5QVVQgVFlQRT0nc3VibWl0JyBOQU1FPSdW
YWxpZGVyJyBWQUxVRT0nVmFsaWRlcicgQ0xBU1M9J2ZvbmRvJz4iOwoJZWNobyAiPC9URD48L1RS
PiI7CgllY2hvICI8L1RBQkxFPiI7CgpmaW5fY2FkcmVfcmVsaWVmKCk7CgplY2hvICI8cD4mbmJz
cDs8cD4iOwoKCi8vCi8vIE9wdGlvbnMgZGVzIGFydGljbGVzCi8vCgppZiAoJG9wdGlvbnMgPT0g
J2F2YW5jZWVzJykgewoJZGVidXRfY2FkcmVfZW5mb25jZSgiYXJ0aWNsZS0yNC5naWYiKTsKCgll
Y2hvICI8VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MSBDRUxMUEFERElORz0zIFdJRFRIPVwi
MTAwJVwiPiI7CgllY2hvICI8VFI+PFREIEJHQ09MT1I9JyRjb3VsZXVyX2ZvbmNlZScgQkFDS0dS
T1VORD0naW1nX3BhY2svcmllbi5naWYnIENPTFNQQU49Mj48Qj48Rk9OVCBGQUNFPSdWZXJkYW5h
LEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJyBTSVpFPTMgQ09MT1I9JyNGRkZGRkYnPkxFUyBB
UlRJQ0xFUzwvRk9OVD48L0I+PC9URD48L1RSPiI7CgllY2hvICI8L3RhYmxlPiI7CgoJLy8KCS8v
IENoYW1wcyBvcHRpb25uZWxzIGRlcyBhcnRpY2xlcwoJLy8KCglkZWJ1dF9jYWRyZV9yZWxpZWYo
KTsKCgkkYXJ0aWNsZXNfc3VydGl0cmUgPSBsaXJlX21ldGEoImFydGljbGVzX3N1cnRpdHJlIik7
CgkkYXJ0aWNsZXNfc291c3RpdHJlID0gbGlyZV9tZXRhKCJhcnRpY2xlc19zb3VzdGl0cmUiKTsK
CSRhcnRpY2xlc19kZXNjcmlwdGlmID0gbGlyZV9tZXRhKCJhcnRpY2xlc19kZXNjcmlwdGlmIik7
CgkkYXJ0aWNsZXNfY2hhcGVhdSA9IGxpcmVfbWV0YSgiYXJ0aWNsZXNfY2hhcGVhdSIpOwoJJGFy
dGljbGVzX3BzID0gbGlyZV9tZXRhKCJhcnRpY2xlc19wcyIpOwoJJGFydGljbGVzX3JlZGFjID0g
bGlyZV9tZXRhKCJhcnRpY2xlc19yZWRhYyIpOwoKCWVjaG8gIjxUQUJMRSBCT1JERVI9MCBDRUxM
U1BBQ0lORz0xIENFTExQQURESU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsKCWVjaG8gIjxUUj48VEQg
QkdDT0xPUj0nI0VFRUVDQycgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5naWYnIENPTFNQQU49
Mj48Qj48Rk9OVCBGQUNFPSdWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJyBTSVpF
PTMgQ09MT1I9J2JsYWNrJz5Db250ZW51IGRlcyBhcnRpY2xlczwvRk9OVD48L0I+Ii5haWRlICgi
Y29uZmFydCIpLiI8L1REPjwvVFI+IjsKCgllY2hvICI8VFI+PFREIEJBQ0tHUk9VTkQ9J2ltZ19w
YWNrL3JpZW4uZ2lmJyBDT0xTUEFOPScyJyBjbGFzcz0ndmVyZGFuYTInPiI7CgllY2hvICJTZWxv
biBsYSBtYXF1ZXR0ZSBhZG9wdCZlYWN1dGU7ZSBwb3VyIHZvdHJlIHNpdGUsIHZvdXMgcG91dmV6
IGQmZWFjdXRlO2NpZGVyCgkJcXVlIGNlcnRhaW5zICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgZGVz
IGFydGljbGVzIG5lIHNvbnQgcGFzIHV0aWxpcyZlYWN1dGU7cy4KCQlVdGlsaXNleiBsYSBsaXN0
ZSBjaS1kZXNzb3VzIHBvdXIgaW5kaXF1ZXIgcXVlbHMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBz
b250IGRpc3BvbmlibGVzLiI7CgllY2hvICI8L1REPjwvVFI+IjsKCgllY2hvICI8VFI+IjsKCWVj
aG8gIjxURCBBTElHTj0nbGVmdCcgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJZWNobyAiU3VydGl0cmUg
OiI7CgllY2hvICI8L1REPiI7CgllY2hvICI8VEQgQUxJR049J2xlZnQnIGNsYXNzPSd2ZXJkYW5h
Mic+IjsKCWFmZmljaGVyX2Nob2l4KCdhcnRpY2xlc19zdXJ0aXRyZScsICRhcnRpY2xlc19zdXJ0
aXRyZSwKCQlhcnJheSgnb3VpJyA9PiAnT3VpJywgJ25vbicgPT4gJ05vbicpLCAiICZuYnNwOyAi
KTsKCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPFRSPiI7CgllY2hvICI8VEQgQUxJR049
J2xlZnQnIGNsYXNzPSd2ZXJkYW5hMic+IjsKCWVjaG8gIlNvdXN0aXRyZSA6IjsKCWVjaG8gIjwv
VEQ+IjsKCWVjaG8gIjxURCBBTElHTj0nbGVmdCcgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJYWZmaWNo
ZXJfY2hvaXgoJ2FydGljbGVzX3NvdXN0aXRyZScsICRhcnRpY2xlc19zb3VzdGl0cmUsCgkJYXJy
YXkoJ291aScgPT4gJ091aScsICdub24nID0+ICdOb24nKSwgIiAmbmJzcDsgIik7CgllY2hvICI8
L1REPjwvVFI+XG4iOwoKCWVjaG8gIjxUUj4iOwoJZWNobyAiPFREIEFMSUdOPSdsZWZ0JyBjbGFz
cz0ndmVyZGFuYTInPiI7CgllY2hvICJEZXNjcmlwdGlmIDoiOwoJZWNobyAiPC9URD4iOwoJZWNo
byAiPFREIEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CglhZmZpY2hlcl9jaG9peCgn
YXJ0aWNsZXNfZGVzY3JpcHRpZicsICRhcnRpY2xlc19kZXNjcmlwdGlmLAoJCWFycmF5KCdvdWkn
ID0+ICdPdWknLCAnbm9uJyA9PiAnTm9uJyksICIgJm5ic3A7ICIpOwoJZWNobyAiPC9URD48L1RS
PlxuIjsKCgllY2hvICI8VFI+IjsKCWVjaG8gIjxURCBBTElHTj0nbGVmdCcgY2xhc3M9J3ZlcmRh
bmEyJz4iOwoJZWNobyAiQ2hhcGVhdSA6IjsKCWVjaG8gIjwvVEQ+IjsKCWVjaG8gIjxURCBBTElH
Tj0nbGVmdCcgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJYWZmaWNoZXJfY2hvaXgoJ2FydGljbGVzX2No
YXBlYXUnLCAkYXJ0aWNsZXNfY2hhcGVhdSwKCQlhcnJheSgnb3VpJyA9PiAnT3VpJywgJ25vbicg
PT4gJ05vbicpLCAiICZuYnNwOyAiKTsKCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPFRS
PiI7CgllY2hvICI8VEQgQUxJR049J2xlZnQnIGNsYXNzPSd2ZXJkYW5hMic+IjsKCWVjaG8gIlBv
c3Qtc2NyaXB0dW0gOiI7CgllY2hvICI8L1REPiI7CgllY2hvICI8VEQgQUxJR049J2xlZnQnIGNs
YXNzPSd2ZXJkYW5hMic+IjsKCWFmZmljaGVyX2Nob2l4KCdhcnRpY2xlc19wcycsICRhcnRpY2xl
c19wcywKCQlhcnJheSgnb3VpJyA9PiAnT3VpJywgJ25vbicgPT4gJ05vbicpLCAiICZuYnNwOyAi
KTsKCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPFRSPiI7CgllY2hvICI8VEQgQUxJR049
J2xlZnQnIGNsYXNzPSd2ZXJkYW5hMic+IjsKCWVjaG8gIkRhdGUgZGUgcHVibGljYXRpb24gYW50
JmVhY3V0ZTtyaWV1cmUgOiI7CgllY2hvICI8L1REPiI7CgllY2hvICI8VEQgQUxJR049J2xlZnQn
IGNsYXNzPSd2ZXJkYW5hMic+IjsKCWFmZmljaGVyX2Nob2l4KCdhcnRpY2xlc19yZWRhYycsICRh
cnRpY2xlc19yZWRhYywKCQlhcnJheSgnb3VpJyA9PiAnT3VpJywgJ25vbicgPT4gJ05vbicpLCAi
ICZuYnNwOyAiKTsKCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPFRSPjxURCBBTElHTj0n
cmlnaHQnIENPTFNQQU49Mj4iOwoJZWNobyAiPElOUFVUIFRZUEU9J3N1Ym1pdCcgTkFNRT0nVmFs
aWRlcicgVkFMVUU9J1ZhbGlkZXInIENMQVNTPSdmb25kbyc+IjsKCWVjaG8gIjwvVEQ+PC9UUj4i
OwoJZWNobyAiPC9UQUJMRT4iOwoKCWZpbl9jYWRyZV9yZWxpZWYoKTsKCgkvLwoJLy8gQXJ0aWNs
ZXMgcG9zdC1kYXRlcwoJLy8KCglkZWJ1dF9jYWRyZV9yZWxpZWYoKTsKCgkkcG9zdF9kYXRlcyA9
IGxpcmVfbWV0YSgicG9zdF9kYXRlcyIpOwoKCWVjaG8gIjxUQUJMRSBCT1JERVI9MCBDRUxMU1BB
Q0lORz0xIENFTExQQURESU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsKCWVjaG8gIjxUUj48VEQgQkdD
T0xPUj0nI0VFRUVDQycgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5naWYnPjxCPjxGT05UIEZB
Q0U9J1ZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYnIFNJWkU9MyBDT0xPUj0nYmxh
Y2snPlB1YmxpY2F0aW9uIGRlcyBhcnRpY2xlcyBwb3N0LWRhdCZlYWN1dGU7czwvRk9OVD48L0I+
ICIuYWlkZSAoImNvbmZkYXRlcyIpLiI8L1REPjwvVFI+IjsKCgllY2hvICI8VFI+PFREIGNsYXNz
PSd2ZXJkYW5hMic+IjsKCWVjaG8gIlF1ZWwgY29tcG9ydGVtZW50IFNQSVAgZG9pdC1pbCBhZG9w
dGVyIGZhY2UgYXV4IGFydGljbGVzIGRvbnQgbGEKCQlkYXRlIGRlIHB1YmxpY2F0aW9uIGEgJmVh
Y3V0ZTt0JmVhY3V0ZTsgZml4JmVhY3V0ZTtlICZhZ3JhdmU7IHVuZQoJCSZlYWN1dGU7Y2gmZWFj
dXRlO2FuY2UgZnV0dXJlJm5ic3A7PyI7CgllY2hvICI8L1REPjwvVFI+IjsKCgllY2hvICI8VFI+
PFREIEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CglhZmZpY2hlcl9jaG9peCgncG9z
dF9kYXRlcycsICRwb3N0X2RhdGVzLAoJCWFycmF5KCdvdWknID0+ICdQdWJsaWVyIGxlcyBhcnRp
Y2xlcywgcXVlbGxlIHF1ZSBzb2l0IGxldXIgZGF0ZSBkZSBwdWJsaWNhdGlvbi4nLAoJCQknbm9u
JyA9PiAnTmUgcGFzIHB1YmxpZXIgbGVzIGFydGljbGVzIGF2YW50IGxhIGRhdGUgZGUgcHVibGlj
YXRpb24gZml4JmVhY3V0ZTtlLicpKTsKCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPFRS
PjxURCBBTElHTj0ncmlnaHQnPiI7CgllY2hvICI8SU5QVVQgVFlQRT0nc3VibWl0JyBOQU1FPSdW
YWxpZGVyJyBWQUxVRT0nVmFsaWRlcicgQ0xBU1M9J2ZvbmRvJz4iOwoJZWNobyAiPC9URD48L1RS
PiI7CgllY2hvICI8L1RBQkxFPlxuIjsKCglmaW5fY2FkcmVfcmVsaWVmKCk7Cn0KCgppZiAoJG9w
dGlvbnMgPT0gImF2YW5jZWVzIikgZmluX2NhZHJlX2VuZm9uY2UoKTsKCmVjaG8gIjxwPiI7CgoK
Ly8KLy8gQWN0aXZlcy9kZXNhY3RpdmVyIGxlcyBicmV2ZXMKLy8KCmRlYnV0X2NhZHJlX3JlbGll
ZigiYnJldmUtMjQuZ2lmIik7CgokYWN0aXZlcl9icmV2ZXMgPSBsaXJlX21ldGEoImFjdGl2ZXJf
YnJldmVzIik7CgplY2hvICI8VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MSBDRUxMUEFERElO
Rz0zIFdJRFRIPVwiMTAwJVwiPiI7CmVjaG8gIjxUUj48VEQgQkdDT0xPUj0nJGNvdWxldXJfZm9u
Y2VlJyBCQUNLR1JPVU5EPSdpbWdfcGFjay9yaWVuLmdpZic+PEI+PEZPTlQgRkFDRT0nVmVyZGFu
YSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZicgU0laRT0zIENPTE9SPScjRkZGRkZGJz4iOwpl
Y2hvICJMZXMgYnImZWdyYXZlO3ZlczwvRk9OVD48L0I+ICIuYWlkZSAoImNvbmZicmV2ZXMiKS4i
PC9URD48L1RSPiI7CgplY2hvICI8VFI+PFREIGNsYXNzPSd2ZXJkYW5hMic+IjsKZWNobyAiTGVz
IGJyJmVncmF2ZTt2ZXMgc29udCBkZXMgdGV4dGVzIGNvdXJ0cyBldCBzaW1wbGVzIHBlcm1ldHRh
bnQgZGUKCW1ldHRyZSBlbiBsaWduZSByYXBpZGVtZW50IGRlcyBpbmZvcm1hdGlvbnMgY29uY2lz
ZXMsIGRlIGcmZWFjdXRlO3JlcgoJdW5lIHJldnVlIGRlIHByZXNzZSwgdW4gY2FsZW5kcmllciBk
JyZlYWN1dGU7diZlYWN1dGU7bmVtZW50cy4uLjxwPiI7CmVjaG8gIlZvdHJlIHNpdGUgdXRpbGlz
ZS10LWlsIGxlIHN5c3QmZWdyYXZlO21lIGRlIGJyJmVncmF2ZTt2ZXMmbmJzcDs/IjsKZWNobyAi
PC9URD48L1RSPiI7CgplY2hvICI8VFI+PFREIGFsaWduPSdjZW50ZXInIGNsYXNzPSd2ZXJkYW5h
Mic+IjsKYWZmaWNoZXJfY2hvaXgoJ2FjdGl2ZXJfYnJldmVzJywgJGFjdGl2ZXJfYnJldmVzLAoJ
YXJyYXkoJ291aScgPT4gJ1V0aWxpc2VyIGxlcyBiciZlZ3JhdmU7dmVzJywKCQknbm9uJyA9PiAn
TmUgcGFzIHV0aWxpc2VyIGxlcyBiciZlZ3JhdmU7dmVzJyksICIgJm5ic3A7ICIpOwplY2hvICI8
L0ZPTlQ+IjsKZWNobyAiPC9URD48L1RSPlxuIjsKCmVjaG8gIjxUUj48VEQgQUxJR049J3JpZ2h0
Jz4iOwplY2hvICI8SU5QVVQgVFlQRT0nc3VibWl0JyBOQU1FPSdWYWxpZGVyJyBWQUxVRT0nVmFs
aWRlcicgQ0xBU1M9J2ZvbmRvJz4iOwplY2hvICI8L1REPjwvVFI+IjsKZWNobyAiPC9UQUJMRT5c
biI7CgpmaW5fY2FkcmVfcmVsaWVmKCk7CgplY2hvICI8cD4iOwoKCi8vCi8vIEdlc3Rpb24gZGVz
IG1vdHMtY2xlcwovLwoKaWYgKCRvcHRpb25zID09ICJhdmFuY2VlcyIpIHsKCglkZWJ1dF9jYWRy
ZV9yZWxpZWYoIm1vdC1jbGUtMjQuZ2lmIik7CgoJJGFydGljbGVzX21vdHMgPSBsaXJlX21ldGEo
ImFydGljbGVzX21vdHMiKTsKCSRjb25maWdfcHJlY2lzZV9ncm91cGVzID0gbGlyZV9tZXRhKCJj
b25maWdfcHJlY2lzZV9ncm91cGVzIik7CgkkbW90c19jbGVzX2ZvcnVtcyA9IGxpcmVfbWV0YSgi
bW90c19jbGVzX2ZvcnVtcyIpOwoJJGZvcnVtc19wdWJsaWNzID0gbGlyZV9tZXRhKCJmb3J1bXNf
cHVibGljcyIpOwoKCWVjaG8gIjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0xIENFTExQQURE
SU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsKCWVjaG8gIjxUUj48VEQgQkdDT0xPUj0nJGNvdWxldXJf
Zm9uY2VlJyBCQUNLR1JPVU5EPSdpbWdfcGFjay9yaWVuLmdpZic+PEI+PEZPTlQgRkFDRT0nVmVy
ZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZicgU0laRT0zIENPTE9SPScjRkZGRkZGJz5M
ZXMgbW90cy1jbCZlYWN1dGU7czwvRk9OVD48L0I+IDwvVEQ+PC9UUj4iOwoKCWVjaG8gIjxUUj48
VEQgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJZWNobyAiTGVzIG1vdHMtY2wmZWFjdXRlO3MgcGVybWV0
dGVudCBkZSBjciZlYWN1dGU7ZXIgZGVzIGxpZW5zIHRoJmVhY3V0ZTttYXRpcXVlcyBlbnRyZSB2
b3MgYXJ0aWNsZXMKCQlpbmQmZWFjdXRlO3BlbmRhbW1lbnQgZGUgbGV1ciBwbGFjZW1lbnQgZGFu
cyBkZXMgcnVicmlxdWVzLiBWb3VzIHBvdXZleiBhaW5zaQoJCWVucmljaGlyIGxhIG5hdmlnYXRp
b24gZGUgdm90cmUgc2l0ZSwgdm9pcmUgdXRpbGlzZXIgY2VzIHByb3ByaSZlYWN1dGU7dCZlYWN1
dGU7cwoJCXBvdXIgcGVyc29ubmFsaXNlciBsYSBwciZlYWN1dGU7c2VudGF0aW9uIGRlcyBhcnRp
Y2xlcyBkYW5zIHZvcyBzcXVlbGV0dGVzLjxwPiI7CgllY2hvICJTb3VoYWl0ZXotdm91cyB1dGls
aXNlciBsZXMgbW90cy1jbCZlYWN1dGU7cyBzdXIgdm90cmUgc2l0ZSZuYnNwOz8iOwoJZWNobyAi
PC9URD48L1RSPiI7CgoJZWNobyAiPFRSPiI7CgllY2hvICI8VEQgYWxpZ249J2NlbnRlcicgY2xh
c3M9J3ZlcmRhbmEyJz4iOwoJYWZmaWNoZXJfY2hvaXgoJ2FydGljbGVzX21vdHMnLCAkYXJ0aWNs
ZXNfbW90cywKCQlhcnJheSgnb3VpJyA9PiAnVXRpbGlzZXIgbGVzIG1vdHMtY2wmZWFjdXRlO3Mn
LAoJCQknbm9uJyA9PiAnTmUgcGFzIHV0aWxpc2VyIGxlcyBtb3RzLWNsJmVhY3V0ZTtzJyksICIg
Jm5ic3A7ICIpOwoJZWNobyAiPC9GT05UPiI7CgllY2hvICI8L1REPjwvVFI+IjsKCglpZiAoJGFy
dGljbGVzX21vdHMgIT0gIm5vbiIpIHsKCgkJZWNobyAiPFRSPjxURD4mbmJzcDs8L1REPjwvVFI+
IjsKCQllY2hvICI8VFI+PFREIEJHQ09MT1I9JyNFRUVFQ0MnIEJBQ0tHUk9VTkQ9J2ltZ19wYWNr
L3JpZW4uZ2lmJz48Qj48Rk9OVCBGQUNFPSdWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNl
cmlmJyBTSVpFPTMgQ09MT1I9JyMwMDAwMDAnPkNvbmZpZ3VyYXRpb24gZGVzIGdyb3VwZXMgZGUg
bW90cy1jbCZlYWN1dGU7czwvRk9OVD48L0I+PC9URD48L1RSPiI7CgoJCWVjaG8gIjxUUj48VEQg
Y2xhc3M9J3ZlcmRhbmEyJz4iOwoJCWVjaG8gIlNvdWhhaXRlei12b3VzIGFjdGl2ZXIgbGEgY29u
ZmlndXJhdGlvbiBhdmFuYyZlYWN1dGU7ZSBkZXMgbW90cy1jbCZlYWN1dGU7cywKCQkJZW4gaW5k
aXF1YW50IHBhciBleGVtcGxlIHF1J29uIHBldXQgcyZlYWN1dGU7bGVjdGlvbm5lciB1biBtb3Qg
dW5pcXVlCgkJCXBhciBncm91cGUsIHF1J3VuIGdyb3VwZSBlc3QgaW1wb3J0YW50Li4uJm5ic3A/
IjsKCQllY2hvICI8L1REPjwvVFI+IjsKCgkJZWNobyAiPFRSPiI7CgkJZWNobyAiPFREIEFMSUdO
PSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CgkJYWZmaWNoZXJfY2hvaXgoJ2NvbmZpZ19wcmVj
aXNlX2dyb3VwZXMnLCAkY29uZmlnX3ByZWNpc2VfZ3JvdXBlcywKCQkJYXJyYXkoJ291aScgPT4g
J1V0aWxpc2VyIGxhIGNvbmZpZ3VyYXRpb24gYXZhbmMmZWFjdXRlO2UgZGVzIGdyb3VwZXMgZGUg
bW90cy1jbCZlYWN1dGU7cycsCgkJCQknbm9uJyA9PiAnTmUgcGFzIHV0aWxpc2VyIGxhIGNvbmZp
Z3VyYXRpb24gYXZhbmMmZWFjdXRlO2UgZGVzIGdyb3VwZXMgZGUgbW90cy1jbCZlYWN1dGU7cycp
KTsKCQllY2hvICI8L1REPjwvVFI+IjsKCgkJaWYgKCRmb3J1bXNfcHVibGljcyAhPSAibm9uIil7
CgkJCWVjaG8gIjxUUj48VEQ+Jm5ic3A7PC9URD48L1RSPiI7CgkJCWVjaG8gIjxUUj48VEQgQkdD
T0xPUj0nI0VFRUVDQycgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5naWYnPjxCPjxGT05UIEZB
Q0U9J1ZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYnIFNJWkU9MyBDT0xPUj0nIzAw
MDAwMCc+TW90cy1jbCZlYWN1dGU7cyBkYW5zIGxlcyBmb3J1bXMgZHUgc2l0ZSBwdWJsaWM8L0ZP
TlQ+PC9CPjwvVEQ+PC9UUj4iOwoKCQkJZWNobyAiPFRSPjxURCBjbGFzcz0ndmVyZGFuYTInPiI7
CgkJCWVjaG8gIlNvdWhhaXRlei12b3VzIHBlcm1ldHRyZSBkJ3V0aWxpc2F0aW9uIGRlcyBtb3Rz
LWNsJmVhY3V0ZTtzLCBzJmVhY3V0ZTtsZWN0aW9ubmFibGVzIHBhciBsZXMgdmlzaXRldXJzLCBk
YW5zIGxlcyBmb3J1bXMgZHUgc2l0ZSBwdWJsaWMmbmJzcDs/IChBdHRlbnRpb24mbmJzcDs6IGNl
dHRlIG9wdGlvbiBlc3QgcmVsYXRpdmVtZW50IGNvbXBsZXhlICZhZ3JhdmU7IHV0aWxpc2VyIGNv
cnJlY3RlbWVudC4pIjsKCQkJZWNobyAiPC9URD48L1RSPiI7CgoJCQllY2hvICI8VFI+IjsKCQkJ
ZWNobyAiPFREIEJBQ0tHUk9VTkQ9J2ltZ19wYWNrL3JpZW4uZ2lmJyBBTElHTj0nbGVmdCcgY2xh
c3M9J3ZlcmRhbmEyJz4iOwoJCQlhZmZpY2hlcl9jaG9peCgnbW90c19jbGVzX2ZvcnVtcycsICRt
b3RzX2NsZXNfZm9ydW1zLAoJCQkJYXJyYXkoJ291aScgPT4gIkF1dG9yaXNlciBsJ2Fqb3V0IGRl
IG1vdHMtY2wmZWFjdXRlO3MgYXV4IGZvcnVtcyIsCgkJCQkJJ25vbicgPT4gIkludGVyZGlyZSBs
J3V0aWxpc2F0aW9uIGRlcyBtb3RzLWNsJmVhY3V0ZTtzIGRhbnMgbGVzIGZvcnVtcyIpKTsKCQkJ
ZWNobyAiPC9GT05UPiI7CgkJCWVjaG8gIjwvVEQ+PC9UUj4iOwoJCX0KCX0KCgllY2hvICI8VFI+
PFREIEFMSUdOPSdyaWdodCc+IjsKCWVjaG8gIjxJTlBVVCBUWVBFPSdzdWJtaXQnIE5BTUU9J1Zh
bGlkZXInIFZBTFVFPSdWYWxpZGVyJyBDTEFTUz0nZm9uZG8nPiI7CgllY2hvICI8L1REPjwvVFI+
IjsKCWVjaG8gIjwvVEFCTEU+XG4iOwoKCWZpbl9jYWRyZV9yZWxpZWYoKTsKCgllY2hvICI8cD4i
Owp9CgoKLy8KLy8gQWN0aXZlcy9kZXNhY3RpdmVyIHN5c3RlbWUgZGUgc3luZGljYXRpb24KLy8K
CmRlYnV0X2NhZHJlX2VuZm9uY2UoInNpdGUtMjQuZ2lmIik7CgokYWN0aXZlcl9zaXRlcyA9IGxp
cmVfbWV0YSgnYWN0aXZlcl9zaXRlcycpOwokYWN0aXZlcl9zeW5kaWMgPSBsaXJlX21ldGEoImFj
dGl2ZXJfc3luZGljIik7CiRwcm9wb3Nlcl9zaXRlcyA9IGxpcmVfbWV0YSgicHJvcG9zZXJfc2l0
ZXMiKTsKJHZpc2l0ZXJfc2l0ZXMgPSBsaXJlX21ldGEoInZpc2l0ZXJfc2l0ZXMiKTsKJG1vZGVy
YXRpb25fc2l0ZXMgPSBsaXJlX21ldGEoIm1vZGVyYXRpb25fc2l0ZXMiKTsKCmVjaG8gIjxUQUJM
RSBCT1JERVI9MCBDRUxMU1BBQ0lORz0xIENFTExQQURESU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsK
ZWNobyAiPFRSPjxURCBCR0NPTE9SPSckY291bGV1cl9mb25jZWUnIEJBQ0tHUk9VTkQ9J2ltZ19w
YWNrL3JpZW4uZ2lmJz48Qj48Rk9OVCBGQUNFPSdWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5z
LXNlcmlmJyBTSVpFPTMgQ09MT1I9JyNGRkZGRkYnPlImZWFjdXRlO2YmZWFjdXRlO3JlbmNlbWVu
dCBkZSBzaXRlcyBldCBzeW5kaWNhdGlvbjwvRk9OVD48L0I+Ii5haWRlICgicmVmZXJlbmNlIiku
IjwvVEQ+PC9UUj4iOwoKCmVjaG8gIjxUUj48VEQgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5n
aWYnIEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CmFmZmljaGVyX2Nob2l4KCdhY3Rp
dmVyX3NpdGVzJywgJGFjdGl2ZXJfc2l0ZXMsCglhcnJheSgnb3VpJyA9PiAnRyZlYWN1dGU7cmVy
IHVuIGFubnVhaXJlIGRlIHNpdGVzIFdlYicsCgknbm9uJyA9PiAiRCZlYWN1dGU7c2FjdGl2ZXIg
bCdhbm51YWlyZSBkZSBzaXRlcyBXZWIiKSk7CmVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoKCmlmICgk
YWN0aXZlcl9zaXRlcyAhPSAnbm9uJykgewoJLy8KCS8vIFV0aWxpc2F0ZXVycyBhdXRvcmlzZXMg
YSBwcm9wb3NlciBkZXMgc2l0ZXMgcmVmZXJlbmNlcwoJLy8KCWlmICgkb3B0aW9ucyA9PSAiYXZh
bmNlZXMiKSB7CgkJZWNobyAiPFRSPjxURCBCQUNLR1JPVU5EPSdpbWdfcGFjay9yaWVuLmdpZic+
IjsKCQllY2hvICI8Rk9OVCBGQUNFPSdWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlm
JyBTSVpFPTIgQ09MT1I9JyMwMDAwMDAnPiI7CgkJZWNobyAiPGhyPjxwPlF1aSBwZXV0IHByb3Bv
c2VyIGRlcyBzaXRlcyByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jJmVhY3V0ZTtzJm5ic3A7PyI7CgkJ
CWVjaG8gIjxjZW50ZXI+PFNFTEVDVCBOQU1FPSdwcm9wb3Nlcl9zaXRlcycgQ0xBU1M9J2ZvbmRv
JyBTSVpFPTE+XG4iOwoJCQkJZWNobyAiPE9QVElPTiIubXlTZWwoJzAnLCRwcm9wb3Nlcl9zaXRl
cykuIj5sZXMgYWRtaW5pc3RyYXRldXJzXG4iOwoJCQkJZWNobyAiPE9QVElPTiIubXlTZWwoJzEn
LCRwcm9wb3Nlcl9zaXRlcykuIj5sZXMgciZlYWN1dGU7ZGFjdGV1cnNcbiI7CgkJCQllY2hvICI8
T1BUSU9OIi5teVNlbCgnMicsJHByb3Bvc2VyX3NpdGVzKS4iPmxlcyB2aXNpdGV1cnMgZHUgc2l0
ZSBwdWJsaWNcbiI7CgkJCWVjaG8gIjwvU0VMRUNUPjwvY2VudGVyPjxQPlxuIjsKCQllY2hvICI8
L0ZPTlQ+IjsKCQllY2hvICI8L1REPjwvVFI+IjsKCX0KCgllY2hvICI8L1RBQkxFPlxuIjsKCglk
ZWJ1dF9jYWRyZV9yZWxpZWYoKTsKCgllY2hvICI8VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9
MSBDRUxMUEFERElORz0zIFdJRFRIPVwiMTAwJVwiPiI7CgoJZWNobyAiPFRSPjxURCBCR0NPTE9S
PSdFRUVFQ0MnIEJBQ0tHUk9VTkQ9J2ltZ19wYWNrL3JpZW4uZ2lmJz48Qj48Rk9OVCBGQUNFPSdW
ZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJyBTSVpFPTMgQ09MT1I9JyMwMDAwMDAn
PlN5bmRpY2F0aW9uIGRlIHNpdGVzPC9GT05UPjwvQj4gIi5haWRlICgicnVic3luIikuIjwvVEQ+
PC9UUj4iOwoKCS8vCgkvLyBSZWdsYWdlIGRlIGxhIHN5bmRpY2F0aW9uCgkvLwoJZWNobyAiPFRS
PjxURCBCQUNLR1JPVU5EPSdpbWdfcGFjay9yaWVuLmdpZicgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJ
ZWNobyAiSWwgZXN0IHBvc3NpYmxlIGRlIHImZWFjdXRlO2N1cCZlYWN1dGU7cmVyIGF1dG9tYXRp
cXVlbWVudCwgbG9yc3F1J3VuIHNpdGUgV2ViIGxlIHBlcm1ldCwgCgkJbGEgbGlzdGUgZGUgc2Vz
IG5vdXZlYXV0JmVhY3V0ZTtzLiBQb3VyIGNlbGEsIHZvdXMgZGV2ZXogYWN0aXZlciBsYSBzeW5k
aWNhdGlvbi4gCgkJPGJsb2NrcXVvdGU+PGk+Q2VydGFpbnMgaCZlYWN1dGU7YmVyZ2V1cnMgZCZl
YWN1dGU7c2FjdGl2ZW50IGNldHRlIGZvbmN0aW9ubmFsaXQmZWFjdXRlOyZuYnNwOzsgCgkJZGFu
cyBjZSBjYXMsIHZvdXMgbmUgcG91cnJleiBwYXMgdXRpbGlzZXIgbGEgc3luZGljYXRpb24gZGUg
Y29udGVudQoJCWRlcHVpcyB2b3RyZSBzaXRlLjwvaT48L2Jsb2NrcXVvdGU+IjsKCWVjaG8gIjwv
VEQ+PC9UUj4iOwoKCWVjaG8gIjxUUj48VEQgQkFDS0dST1VORD0naW1nX3BhY2svcmllbi5naWYn
IEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CglhZmZpY2hlcl9jaG9peCgnYWN0aXZl
cl9zeW5kaWMnLCAkYWN0aXZlcl9zeW5kaWMsCgkJYXJyYXkoJ291aScgPT4gJ1V0aWxpc2VyIGxh
IHN5bmRpY2F0aW9uIGF1dG9tYXRpcXVlJywKCQknbm9uJyA9PiAiTmUgcGFzIHV0aWxpc2VyIGxh
IHN5bmRpY2F0aW9uIGF1dG9tYXRpcXVlIikpOwoKCWlmICgkYWN0aXZlcl9zeW5kaWMgIT0gIm5v
biIgQU5EICRvcHRpb25zID09ICJhdmFuY2VlcyIpIHsKCQkvLyBNb2RlcmF0aW9uIHBhciBkZWZh
dXQgZGVzIHNpdGVzIHN5bmRpcXVlcwoJCWVjaG8gIjxwPjxocj48cCBhbGlnbj0nbGVmdCc+IjsK
CQllY2hvIHByb3ByZSgiTGVzIGxpZW5zIGlzc3VzIGRlcyBzaXRlcyBzeW5kaXF1JmVhY3V0ZTtz
IHBldXZlbnQKCQkJJmVjaXJjO3RyZSBibG9xdSZlYWN1dGU7cyBhIHByaW9yaSA7IGxlIHImZWFj
dXRlO2dsYWdlCgkJCWNpLWRlc3NvdXMgaW5kaXF1ZSBsZSByJmVhY3V0ZTtnbGFnZSBwYXIgZCZl
YWN1dGU7ZmF1dCBkZXMKCQkJc2l0ZXMgc3luZGlxdSZlYWN1dGU7cyBhcHImZWdyYXZlO3MgbGV1
ciBjciZlYWN1dGU7YXRpb24uIElsCgkJCWVzdCBlbnN1aXRlIHBvc3NpYmxlLCBkZSB0b3V0ZXMg
ZmEmY2NlZGlsO29ucywgZGUKCQkJZCZlYWN1dGU7YmxvcXVlciBjaGFxdWUgbGllbiBpbmRpdmlk
dWVsbGVtZW50LCBvdSBkZQoJCQljaG9pc2lyLCBzaXRlIHBhciBzaXRlLCBkZSBibG9xdWVyIGxl
cyBsaWVucyAmYWdyYXZlOyB2ZW5pcgoJCQlkZSB0ZWwgb3UgdGVsIHNpdGUuIikuIjxwPiI7CgoJ
CWFmZmljaGVyX2Nob2l4KCdtb2RlcmF0aW9uX3NpdGVzJywgJG1vZGVyYXRpb25fc2l0ZXMsCgkJ
CWFycmF5KCdvdWknID0+ICdCbG9xdWVyIGxlcyBsaWVucyBzeW5kaXF1JmVhY3V0ZTtzIHBvdXIg
dmFsaWRhdGlvbicsCgkJCSdub24nID0+ICJOZSBwYXMgYmxvcXVlciBsZXMgbGllbnMgaXNzdXMg
ZGUgbGEgc3luZGljYXRpb24iKSk7CgoJCS8vIFNpIGluZGV4YXRpb24sIGFjdGl2ZXIvZGVzYWN0
aXZlciBwYWdlcyByZWN1cGVyZWVzCgoJCSRhY3RpdmVyX21vdGV1ciA9IGxpcmVfbWV0YSgiYWN0
aXZlcl9tb3RldXIiKTsKCQlpZiAoJGFjdGl2ZXJfbW90ZXVyID09ICJvdWkiKSB7CgkJCWVjaG8g
IjxwPjxocj48cCBhbGlnbj0nbGVmdCc+IjsKCQkJZWNobyAiTG9yc3F1ZSB2b3VzIHV0aWxpc2V6
IGxlIG1vdGV1ciBkZSByZWNoZXJjaGUgaW50JmVhY3V0ZTtnciZlYWN1dGU7IAoJCQkJJmFncmF2
ZTsgU1BJUCwgdm91cyBwb3V2ZXogZWZmZWN0dWVyIGxlcyByZWNoZXJjaGVzIHN1ciBsZXMgc2l0
ZXMgZXQKCQkJCWxlcyBhcnRpY2xlcyBzeW5kaXF1JmVhY3V0ZTtzIGRlIGRldXggbWFuaSZlZ3Jh
dmU7cmVzCgkJCQlkaWZmJmVhY3V0ZTtyZW50ZXMuIDxicj48aW1nIHNyYz0ncHVjZS5naWYnPiBM
YSBwbHVzCgkJCQlzaW1wbGUgY29uc2lzdGUgJmFncmF2ZTsgcmVjaGVyY2hlciB1bmlxdWVtZW50
IGRhbnMgbGVzCgkJCQl0aXRyZXMgZXQgbGVzIGRlc2NyaXB0aWZzIGRlcyBhcnRpY2xlcy4gPGJy
PjxpbWcgc3JjPSdwdWNlLmdpZic+CgkJCQlVbmUgc2Vjb25kZSBtJmVhY3V0ZTt0aG9kZSwgYmVh
dWNvdXAgcGx1cyBwdWlzc2FudGUsIHBlcm1ldAoJCQkJJmFncmF2ZTsgU1BJUCBkZSByZWNoZXJj
aGVyICZlYWN1dGU7Z2FsZW1lbnQgZGFucyBsZSB0ZXh0ZSBkZXMKCQkJCXNpdGVzIHImZWFjdXRl
O2YmZWFjdXRlO3JlbmMmZWFjdXRlO3MmbmJzcDsuIFNpIHZvdXMKCQkJCXImZWFjdXRlO2YmZWFj
dXRlO3JlbmNleiB1biBzaXRlLCBTUElQIHZhIGFsb3JzIGVmZmVjdHVlciBsYQoJCQkJcmVjaGVy
Y2hlIGRhbnMgbGUgdGV4dGUgZHUgc2l0ZSBsdWktbSZlY2lyYzttZS4gIjsKCQkJZWNobyAiPGJs
b2NrcXVvdGU+PGk+Q2V0dGUgbSZlYWN1dGU7dGhvZGUgb2JsaWdlIFNQSVAgJmFncmF2ZTsgdmlz
aXRlcgoJCQkJciZlYWN1dGU7Z3VsaSZlZ3JhdmU7cmVtZW50IGxlcyBzaXRlcyByJmVhY3V0ZTtm
JmVhY3V0ZTtyZW5jJmVhY3V0ZTtzLAoJCQkJY2UgcXVpIHBldXQgcHJvdm9xdWVyIHVuIGwmZWFj
dXRlO2dlciByYWxlbnRpc3NlbWVudCBkZSB2b3RyZSBwcm9wcmUKCQkJCXNpdGUuPC9pPjwvYmxv
Y2txdW90ZT48cD4iOwoKCQkJYWZmaWNoZXJfY2hvaXgoJ3Zpc2l0ZXJfc2l0ZXMnLCAkdmlzaXRl
cl9zaXRlcywKCQkJCWFycmF5KCdub24nID0+ICdMaW1pdGVyIGxhIHJlY2hlcmNoZSBhdXggaW5m
b3JtYXRpb25zIGNvbnRlbnVlcyBkYW5zIHZvdHJlIHNpdGUnLAoJCQkJCSdvdWknID0+ICJFdGVu
ZHJlIGxhIHJlY2hlcmNoZSBhdSBjb250ZW51IGRlcyBzaXRlcyByJmVhY3V0ZTtmJmVhY3V0ZTty
ZW5jJmVhY3V0ZTtzIikpOwoJCX0KCX0KCWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoJZWNobyAiPC9U
QUJMRT5cbiI7CgoJZmluX2NhZHJlX3JlbGllZigpOwoKCWVjaG8gIjxUQUJMRSBCT1JERVI9MCBD
RUxMU1BBQ0lORz0xIENFTExQQURESU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsKfQoKZWNobyAiPFRS
PjxURCBBTElHTj0ncmlnaHQnPiI7CmVjaG8gIjxJTlBVVCBUWVBFPSdzdWJtaXQnIE5BTUU9J1Zh
bGlkZXInIFZBTFVFPSdWYWxpZGVyJyBDTEFTUz0nZm9uZG8nPiI7CmVjaG8gIjwvVEQ+PC9UUj4i
OwplY2hvICI8L1RBQkxFPlxuIjsKCmZpbl9jYWRyZV9lbmZvbmNlKCk7CgplY2hvICI8cD4iOwoK
Ci8vCi8vIEdlc3Rpb24gZGVzIGRvY3VtZW50cyBqb2ludHMKLy8KCmRlYnV0X2NhZHJlX3JlbGll
ZigiZG9jLTI0LmdpZiIpOwoKJGRvY3VtZW50c19ydWJyaXF1ZSA9IGxpcmVfbWV0YSgiZG9jdW1l
bnRzX3J1YnJpcXVlIik7CiRkb2N1bWVudHNfYXJ0aWNsZSA9IGxpcmVfbWV0YSgiZG9jdW1lbnRz
X2FydGljbGUiKTsKCmVjaG8gIjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0xIENFTExQQURE
SU5HPTMgV0lEVEg9XCIxMDAlXCI+IjsKZWNobyAiPFRSPjxURCBCR0NPTE9SPSckY291bGV1cl9m
b25jZWUnIEJBQ0tHUk9VTkQ9J2ltZ19wYWNrL3JpZW4uZ2lmJz48Qj48Rk9OVCBGQUNFPSdWZXJk
YW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJyBTSVpFPTMgQ09MT1I9JyNGRkZGRkYnPkRv
Y3VtZW50cyBqb2ludHM8L0ZPTlQ+PC9CPiA8L1REPjwvVFI+IjsKCmVjaG8gIjxUUj48VEQgY2xh
c3M9J3ZlcmRhbmEyJz4iOwplY2hvICJWb3VzIHBvdXZleiBhdXRvcmlzZXIgbCdham91dCBkZSBk
b2N1bWVudHMgKGZpY2hpZXJzIGJ1cmVhdXRpcXVlcywgaW1hZ2VzLAoJbXVsdGltJmVhY3V0ZTtk
aWEsIGV0Yy4pIGF1eCBhcnRpY2xlcyBldC9vdSBhdXggcnVicmlxdWVzLiBDZXMgZmljaGllcnMK
CXBldXZlbnQgZW5zdWl0ZSAmZWNpcmM7dHJlIHImZWFjdXRlO2YmZWFjdXRlO3JlbmMmZWFjdXRl
O3MgZGFucwoJbCdhcnRpY2xlLCBvdSBhZmZpY2gmZWFjdXRlO3MgcyZlYWN1dGU7cGFyJmVhY3V0
ZTttZW50LjxwPiI7CmVjaG8gIkNlIHImZWFjdXRlO2dsYWdlIG4nZW1wJmVjaXJjO2NoZSBwYXMg
bCdpbnNlcnRpb24gZCdpbWFnZXMgZGlyZWN0ZW1lbnQgZGFucyBsZXMgYXJ0aWNsZXMuIjsKZWNo
byAiPC9URD48L1RSPiI7CgplY2hvICI8VFI+IjsKZWNobyAiPFREIGFsaWduPSdsZWZ0JyBjbGFz
cz0ndmVyZGFuYTInPiI7CmFmZmljaGVyX2Nob2l4KCdkb2N1bWVudHNfYXJ0aWNsZScsICRkb2N1
bWVudHNfYXJ0aWNsZSwKCWFycmF5KCdvdWknID0+ICdBdXRvcmlzZXIgbGVzIGRvY3VtZW50cyBq
b2ludHMgYXV4IGFydGljbGVzJywKCQknbm9uJyA9PiAnTmUgcGFzIGF1dG9yaXNlciBsZXMgZG9j
dW1lbnRzIGRhbnMgbGVzIGFydGljbGVzJyksICI8YnI+Iik7CmVjaG8gIjxicj48YnI+XG4iOwph
ZmZpY2hlcl9jaG9peCgnZG9jdW1lbnRzX3J1YnJpcXVlJywgJGRvY3VtZW50c19ydWJyaXF1ZSwK
CWFycmF5KCdvdWknID0+ICdBdXRvcmlzZXIgbGVzIGRvY3VtZW50cyBkYW5zIGxlcyBydWJyaXF1
ZXMnLAoJCSdub24nID0+ICdOZSBwYXMgYXV0b3Jpc2VyIGxlcyBkb2N1bWVudHMgZGFucyBsZXMg
cnVicmlxdWVzJyksICI8YnI+Iik7CmVjaG8gIjwvRk9OVD4iOwplY2hvICI8L1REPjwvVFI+IjsK
CmVjaG8gIjxUUj48VEQgQUxJR049J3JpZ2h0Jz4iOwplY2hvICI8SU5QVVQgVFlQRT0nc3VibWl0
JyBOQU1FPSdWYWxpZGVyJyBWQUxVRT0nVmFsaWRlcicgQ0xBU1M9J2ZvbmRvJz4iOwplY2hvICI8
L1REPjwvVFI+IjsKZWNobyAiPC9UQUJMRT5cbiI7CgpmaW5fY2FkcmVfcmVsaWVmKCk7CgplY2hv
ICI8cD4iOwoKCgoKLy8KLy8gR2VzdGlvbiBkZXMgZG9jdW1lbnRzIGpvaW50cwovLwoKZGVidXRf
Y2FkcmVfcmVsaWVmKCJkb2MtMjQuZ2lmIik7CgokbGllbl9vdXZyYW50X2luID0gbGlyZV9tZXRh
KCJsaWVuX291dnJhbnRfaW4iKTsKJGxpZW5fb3V2cmFudF9vdXQgPSBsaXJlX21ldGEoImxpZW5f
b3V2cmFudF9vdXQiKTsKJGxpZW5fb3V2cmFudF9kb2MgPSBsaXJlX21ldGEoImxpZW5fb3V2cmFu
dF9kb2MiKTsKJGxpZW5fb3V2cmFudF9tYW51ZWwgPSBsaXJlX21ldGEoImxpZW5fb3V2cmFudF9t
YW51ZWwiKTsKCmVjaG8gIjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0xIENFTExQQURESU5H
PTMgV0lEVEg9XCIxMDAlXCI+IjsKZWNobyAiPFRSPjxURCBCR0NPTE9SPSckY291bGV1cl9mb25j
ZWUnY29sc3Bhbj0yIEJBQ0tHUk9VTkQ9J2ltZ19wYWNrL3JpZW4uZ2lmJz48Qj48Rk9OVCBGQUNF
PSdWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJyBTSVpFPTMgQ09MT1I9JyNGRkZG
RkYnPkxpZW5zIGh5cGVydGV4dGVzIG91dnJhbnRzPC9GT05UPjwvQj4gPC9URD48L1RSPiI7Cgpl
Y2hvICI8VFI+PFREIGNsYXNzPSd2ZXJkYW5hMicgY29sc3Bhbj0yPiI7CmVjaG8gIlZvdXMgcG91
dmV6IGQmZWFjdXRlO2NpZGVyIGRlIGZvcmNlciBsJ291dmVydHVyZSBkJ3VuZSBub3V2ZWxsZSBm
ZW4mZWNpcmM7dHJlICZhZ3JhdmU7IGwnJmVhY3V0ZTtjcmFuIGxvcnNxdWUgbGVzIHZpc2l0ZXVy
cyBkZSB2b3RyZSBzaXRlIHN1aXZlbnQgbGVzIGxpZW5zIGh5cGVydGV4dGVzIChjZSBxdWkgY29y
cmVzcG9uZCAmYWdyYXZlOyBlZmZlY3R1ZXIgc3lzdCZlYWN1dGU7bWF0aXF1ZW1lbnQgbCdvcCZl
YWN1dGU7cmF0aW9uICZsYXF1bztPdXZyaXIgZGFucyB1bmUgbm91dmVsbGUgZmVuJmVjaXJjO3Ry
ZS4uLiZyYXF1bzsgcG91ciB0b3VzIGxlcyBsaWVucykuPHA+IjsKZWNobyAiPGk+Ti5CLjwvaT4g
VW5lIHRlbGxlIHByYXRpcXVlIGVzdCB2aXZlbWVudCBkJmVhY3V0ZTtjb25zZWlsbCZlYWN1dGU7
ZSwgY2FyIGNvbnRyYWlyZSAmYWdyYXZlOyBsYSBuJmVhY3V0ZTt0aXF1ZXR0ZSZuYnNwOzogYydl
c3QgYXV4IHZpc2l0ZXVycyBkZSBkJmVhY3V0ZTtjaWRlciBxdWFuZCBldCBwb3VycXVvaSBpbHMg
dmV1bGVudCBvdXZyaXIgZGVzIGZlbiZlY2lyYzt0cmUgZGFucyBsZXVyIGJ1dGluZXVyLCBldCBu
b24gYXV4IHdlYm1lc3RyZXMgZGVzIHNpdGVzLiBOb3VzIHJlY29tbWFuZG9ucyBkb25jIGRlIGxh
aXNzZXIgbGVzIHMmZWFjdXRlO2xlY3Rpb25zIHN1aXZhbnRlcyBzdXIgJmxhcXVvO05vbiZyYXF1
bzsuPHA+IjsKZWNobyAiT3V2cmlyIHVuZSBub3V2ZWxsZSBmZW4mZWNpcmM7dHJlJm5ic3A7OiI7
CmVjaG8gIjwvVEQ+PC9UUj4iOwoKCWVjaG8gIjxUUj4iOwoJZWNobyAiPFREIEFMSUdOPSdsZWZ0
JyBjbGFzcz0ndmVyZGFuYTInPiI7CgllY2hvICJwb3VyIGxlcyBsaWVucyAmYWdyYXZlOyBsJ2lu
dCZlYWN1dGU7cmlldXIgZHUgc2l0ZSA6IjsKCWVjaG8gIjwvVEQ+IjsKCWVjaG8gIjxURCBBTElH
Tj0nbGVmdCcgY2xhc3M9J3ZlcmRhbmEyJz4iOwoJYWZmaWNoZXJfY2hvaXgoJ2xpZW5fb3V2cmFu
dF9pbicsICRsaWVuX291dnJhbnRfaW4sCgkJYXJyYXkoJ291aScgPT4gJ091aScsICdub24nID0+
ICdOb24nKSwgIiAmbmJzcDsgIik7CgllY2hvICI8L1REPjwvVFI+XG4iOwoKCWVjaG8gIjxUUj4i
OwoJZWNobyAiPFREIEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CgllY2hvICJwb3Vy
IGxlcyBsaWVucyB2ZXJzIGwnZXh0JmVhY3V0ZTtyaWV1ciBkdSBzaXRlIDoiOwoJZWNobyAiPC9U
RD4iOwoJZWNobyAiPFREIEFMSUdOPSdsZWZ0JyBjbGFzcz0ndmVyZGFuYTInPiI7CglhZmZpY2hl
cl9jaG9peCgnbGllbl9vdXZyYW50X291dCcsICRsaWVuX291dnJhbnRfb3V0LAoJCWFycmF5KCdv
dWknID0+ICdPdWknLCAnbm9uJyA9PiAnTm9uJyksICIgJm5ic3A7ICIpOwoJZWNobyAiPC9URD48
L1RSPlxuIjsKCgllY2hvICI8VFI+IjsKCWVjaG8gIjxURCBBTElHTj0nbGVmdCcgY2xhc3M9J3Zl
cmRhbmEyJz4iOwoJZWNobyAicG91ciBsJ291dmVydHVyZSBkZXMgZG9jdW1lbnRzIGpvaW50cyA6
IjsKCWVjaG8gIjwvVEQ+IjsKCWVjaG8gIjxURCBBTElHTj0nbGVmdCcgY2xhc3M9J3ZlcmRhbmEy
Jz4iOwoJYWZmaWNoZXJfY2hvaXgoJ2xpZW5fb3V2cmFudF9kb2MnLCAkbGllbl9vdXZyYW50X2Rv
YywKCQlhcnJheSgnb3VpJyA9PiAnT3VpJywgJ25vbicgPT4gJ05vbicpLCAiICZuYnNwOyAiKTsK
CWVjaG8gIjwvVEQ+PC9UUj5cbiI7CgoKCmVjaG8gIjxUUj4iOwplY2hvICI8VEQgYWxpZ249J2xl
ZnQnIGNsYXNzPSd2ZXJkYW5hMicgY29sc3Bhbj0yPiI7CgllY2hvICI8cD48aHI+PHA+IjsKCWVj
aG8gIkxlIHJhY2NvdXJjaSA8dHQ+Wy4uLi0+Pi4uLl08L3R0PiBwZXJtZXQgZGUgY3ImZWFjdXRl
O2VyIGRlcyBsaWVucyBoeXBlcnRleHRlcyBxdWkgcHJvdm9xdWVudCBsJ291dmVydHVyZSBkJ3Vu
ZSBub3V2ZWxsZSBmZW4mZWNpcmM7dHJlLCBzZWxvbiBsZSBjaG9peCBkdSByJmVhY3V0ZTtkYWN0
ZXVyLiBWb3VzIHBvdXZleiBhY2NlcHRlciBvdSBpbnRlcmRpcmUgbCd1dGlsaXNhdGlvbiBkZSBj
ZSByYWNjb3VyY2kgcGFyIGxlcyByJmVhY3V0ZTtkYWN0ZXVycyBkdSBzaXRlLjxwPiI7CgllY2hv
ICI8aT5OLkIuPC9pPiBVbmUgdGVsbGUgcHJhdGlxdWUgZXN0IGQmZWFjdXRlO2NvbnNlaWxsJmVh
Y3V0ZTtlOiB2b3VzIGRldnJpZXogYWxvcnMgdiZlYWN1dGU7cmlmaWVyIGxlIGNvbXBvcnRlbWVu
dCBkZSBjaGFxdWUgbGllbiBoeXBlcnRleHRlIGRhbnMgY2hhcXVlIGFydGljbGUsIHNhdWYgJmFn
cmF2ZTsgcGVyZHJlIGxhIGNvaCZlYWN1dGU7cmVuY2UgZGUgdm90cmUgaW50ZXJmYWNlIGRlIG5h
dmlnYXRpb24uIFNpIHZvdXMgY29uc2VydmV6IGwnb3B0aW9uICZsYXF1bztJbnRlcmRpcmUgbGEg
cyZlYWN1dGU7bGVjdGlvbiBtYW51ZWxsZSZyYXF1bzssIGNlIHJhY2NvdXJjaSBmb25jdGlvbm5l
cmEgbm9ybWFsZW1lbnQsIG1haXMgc2FucyBwcm92b3F1ZXIgbCdvdXZlcnR1cmUgZCd1bmUgZmVu
JmVjaXJjO3RyZS48cD4iOwoKCWFmZmljaGVyX2Nob2l4KCdsaWVuX291dnJhbnRfbWFudWVsJywg
JGxpZW5fb3V2cmFudF9tYW51ZWwsCglhcnJheSgnb3VpJyA9PiAnQXV0b3Jpc2VyIGxlcyBsaWVu
cyBvdXZyYW50cyBtYW51ZWxzJywKCQknbm9uJyA9PiAnSW50ZXJkaXJlIGxlcyBsaWVucyBvdXZy
YW50cyBtYW51ZWxzJyksICI8YnI+Iik7CmVjaG8gIjwvVEQ+PC9UUj4iOwoKZWNobyAiPFRSPjxU
RCBBTElHTj0ncmlnaHQnPiI7CmVjaG8gIjxJTlBVVCBUWVBFPSdzdWJtaXQnIE5BTUU9J1ZhbGlk
ZXInIFZBTFVFPSdWYWxpZGVyJyBDTEFTUz0nZm9uZG8nPiI7CmVjaG8gIjwvVEQ+PC9UUj4iOwpl
Y2hvICI8L1RBQkxFPlxuIjsKCmZpbl9jYWRyZV9yZWxpZWYoKTsKCmVjaG8gIjxwPiI7CgoKCgoK
ZWNobyAiPC9mb3JtPiI7CgoKZmluX3BhZ2UoKTsKCj8+Cg==
--=====000_Dragon763533570206_=====--