[nycphp-talk] Getting array in $_POST
Jeff Siegel
jsiegel1 at optonline.net
Sat Feb 28 00:23:55 EST 2004
Doing it this way you've got the problem, no doubt, where the Post var
"Skill" is an array that starts with zero and has no relation to the
skill itself.
> echo "<input name=\"Skill[]\" type=\"checkbox\"
> value=\"$skill_data[skillID] \" \n ";
However, nothing stops you from altering the "index" of the Skill
array...so...instead of leaving it as <input name=\"Skill[]\"
you could do something along the lines of
<input name=\"Skill[$skillID]\"
For an obviously different programming project, I needed check box
corresponding to different car models. Look at the item below. You'll
see that the index of the model_array is identical to the value. So...if
the user clicks on the checkbox...I know that they have selected the
model 3.2CL (an Integra, btw).
<input name="model_array[3.2CL]" type="checkbox" value="3.2CL">3.2CL
Jeff
leam wrote:
> Okay, I'll try to make this understandable before I fall asleep. I'm
> setting a bunch of check boxes where each is a member of an array. So
> the first line is:
>
> echo "<input name=\"Skill[]\" type=\"checkbox\"
> value=\"$skill_data[skillID] \" \n ";
>
> $skill_data[skillID] was previously pulled from the database and is a
> unique identifier for each skill. Each checkbox has the skill name
> beside it so the user can check what skills they have and then submit
> the form.
>
> However, php script calls another to load the database and I'm not sure
> how to get the data from a $_POST[] variable. Can I? I don't want to
> have to manually name each variable because there's a couple hundred of
> them all told.
>
> Hope that's enough info to make sense. If not I can just post my code,
> though it is so ugly most sensible people avoid it. :)
>
> ciao!
>
> leam
>
> _______________________________________________
> talk mailing list
> talk at lists.nyphp.org
> http://lists.nyphp.org/mailman/listinfo/talk
>
>From hans not junk at nyphp.com Sat Feb 28 00:33:31 2004
Return-Path: <hans not junk at nyphp.com>
Received: from ehost011-1.exch011.intermedia.net (unknown [64.78.21.3])
by virtu.nyphp.org (Postfix) with ESMTP id BCEEEA85F0
for <talk at lists.nyphp.org>; Sat, 28 Feb 2004 00:33:30 -0500 (EST)
X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [nycphp-talk] Java problems from Sun themselves ...
Date: Fri, 27 Feb 2004 21:33:24 -0800
Message-ID: <41EE526EC2D3C74286415780D3BA9F87AA66F4 at ehost011-1.exch011.intermedia.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [nycphp-talk] Java problems from Sun themselves ...
Thread-Index: AcP7xcoxDoZ0U/sAThCEJ9bszJJ+pgB9mg4Q
From: "Hans Zaunere" <hans not junk at nyphp.com>
To: "NYPHP Talk" <talk at lists.nyphp.org>
X-BeenThere: talk at lists.nyphp.org
X-Mailman-Version: 2.1.2
Precedence: list
Reply-To: NYPHP Talk <talk at lists.nyphp.org>
List-Id: NYPHP Talk <talk.lists.nyphp.org>
List-Unsubscribe: <http://lists.nyphp.org/mailman/listinfo/talk>,
<mailto:talk-request at lists.nyphp.org?subject=unsubscribe>
List-Archive: <http://lists.nyphp.org/pipermail/talk>
List-Post: <mailto:talk at lists.nyphp.org>
List-Help: <mailto:talk-request at lists.nyphp.org?subject=help>
List-Subscribe: <http://lists.nyphp.org/mailman/listinfo/talk>,
<mailto:talk-request at lists.nyphp.org?subject=subscribe>
X-List-Received-Date: Sat, 28 Feb 2004 05:33:31 -0000
> > is this memo very old? i can't seem to tell, i just found it ... =
its
> > a good read anyways ...
> >=20
> > http://www.internalmemos.com/memos/memodetails.php?memo_id=3D1321
> >=20
> I belive this was slashdoted last year. There was debate=20
> weather this is even real.=20
Hmm... good question.
> > the "HelloWorld" problem is pretty funny (im sure the same applies =
to
> > PHP as it does to Python).
"2. The JRE is very large."
...
"Hello World 9M"
Now *that* is OOP :)
H
>From hans not junk at nyphp.com Sat Feb 28 00:39:03 2004
Return-Path: <hans not junk at nyphp.com>
Received: from ehost011-1.exch011.intermedia.net (unknown [64.78.21.3])
by virtu.nyphp.org (Postfix) with ESMTP id 99A58A85F0
for <talk at lists.nyphp.org>; Sat, 28 Feb 2004 00:39:03 -0500 (EST)
X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C3FDBD.2C2D23A9"
Subject: RE: [nycphp-talk] Recommend Email POP3 Class or code snippet
Date: Fri, 27 Feb 2004 21:39:00 -0800
Message-ID: <41EE526EC2D3C74286415780D3BA9F87AA66F5 at ehost011-1.exch011.intermedia.net>
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
Thread-Topic: [nycphp-talk] Recommend Email POP3 Class or code snippet
Thread-Index: AcP7IZUS+F3LBqvtT9KX4ajlyC1kQgAgzqOgAIXtwtA=
From: "Hans Zaunere" <hans not junk at nyphp.com>
To: "NYPHP Talk" <talk at lists.nyphp.org>
X-BeenThere: talk at lists.nyphp.org
X-Mailman-Version: 2.1.2
Precedence: list
Reply-To: NYPHP Talk <talk at lists.nyphp.org>
List-Id: NYPHP Talk <talk.lists.nyphp.org>
List-Unsubscribe: <http://lists.nyphp.org/mailman/listinfo/talk>,
<mailto:talk-request at lists.nyphp.org?subject=unsubscribe>
List-Archive: <http://lists.nyphp.org/pipermail/talk>
List-Post: <mailto:talk at lists.nyphp.org>
List-Help: <mailto:talk-request at lists.nyphp.org?subject=help>
List-Subscribe: <http://lists.nyphp.org/mailman/listinfo/talk>,
<mailto:talk-request at lists.nyphp.org?subject=subscribe>
X-List-Received-Date: Sat, 28 Feb 2004 05:39:04 -0000
This is a multi-part message in MIME format.
------_=_NextPart_001_01C3FDBD.2C2D23A9
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hey Tom,
> Looking for a recommendation for an email class to handle polling a =
POP3
> box. In the past, I've used the POP3 class on phpclasses.org without =
issue,
> but I don't believe it handles attachments (I could be wrong, just =
getting
Speaking POP (or any email protocol) isn't really related to =
attachments. You could, for example, send HTTP packets over email if =
you really wanted to. In fact, you could send IP packets if you have =
nothing to do.
> into this now), which is a definite requirement. I found another =
class
> there called 'clsImap.php', which I quickly installed and tried the =
test
> script with no luck (it handles POP3 in addition to IMAP, despite the =
name).
> This one looks promising however, so I will research it further.
>=20
> However, what I am after is a recommendation from someone who has =
actually
> done this (with attachments) and can recommend a reliable class (or =
code
> sample) that I should go with.
For IMAP there's of course: http://us2.php.net/imap
And for pop, phpclasses.org probably has you covered. I haven't had to =
speak POP myself, so I'm lucky.
I have, however, had to parse email messages a lot, and this means MIME. =
So much so, I wrote my own parser, which is actually generic to MIME =
(http/email/etc). It's attached and I'd be happy for any feedback. I'm =
using it in production and all has been happy, but I'm always ready for =
patches, etc.
H
------_=_NextPart_001_01C3FDBD.2C2D23A9
Content-Type: application/octet-stream;
name="pmime.inc"
Content-Transfer-Encoding: base64
Content-Description: pmime.inc
Content-Disposition: attachment;
filename="pmime.inc"
PD9waHAKLyoKCiAgIHBNSU1FCiAgIENvcHlyaWdodCAoYykgMjAwMyBOZXcgWW9yayBQSFAuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICBUaGlzIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgbGljZW5z
ZSBmb3VuZCBhdCBodHRwOi8vbnlwaHAub3JnL2xpY2Vuc2UudHh0CiAgIG9yIHVwb24gcmVxdWVz
dCBieSBjb250YWN0aW5nIGNvbnRhY3RAbnlwaHAub3JnCgoqLwoKCi8qKioKCiAgIHBNSU1FCiAg
IHBNSU1FLmluYyB2MC42CgoqKiovCgoKLyoqKgoKICAgTm90ZSB0aGF0IHNvbWUgb2YgdGhlIGZ1
bmN0aW9ucyBhbmQgZnVuY3Rpb25hbGl0eSBoZXJlIGlzIG5vdCByZWxhdGVkIHN0cmljdGx5IHRv
CiAgIE1JTUUuICBTb21lIHRoaW5nIHNob3VsZCBwcm9iYWJseSBiZSBwdWxsZWQgaW50byBhIG1h
aWwtb25seSBwYWNrYWdlLgoKICAgUkZDMjgyMl8qIGZ1bmN0aW9ucyBzaG91bGQgYmUgZnVsbHkg
Y29tcGxpYW50IHdpdGggUkZDMjgyMiBwZWRhbnRpY3MgQUZBSUsgCiAgIFNvbWUgc3RyaW5nIGZ1
bmN0aW9ucywgbGlrZSBzdHJpcG9zIHdpdGggYSByYW5nZSBvZiBzdGFydC9zdG9wLCBjb3VsZCBw
cm9iYWJseSBzcGVlZCB1cAogICBhbmQgc21vb3RoIG91dCBzb21lIG9mIHRoZSBSRkMyODIyXyBm
dW5jdGlvbnMuCgogICBGTEFXUzoKICAgICAgcE1JTUUtPkluY29taW5nKCkgb25seSBleHBlY3Rz
IHRoZSBsYXN0IGZvdW5kIGJvdW5kYXJ5CiAgICAgIGV4dHJhY3RfZW1haWwoKSBpcyB3ZWFrIGFu
ZCBub3QgbmVhcmx5IFJGQzI4MjIgY29tcGxpYW50CiAgICAgIHBhcnNlRmllbGQgbG9va3MgYnJv
a2VuCgoqKiovCgoKZGVmaW5lKCdCT0RZJywgMCk7CmRlZmluZSgnRklMRScsIDEpOwoKZGVmaW5l
KCdMT0NBTCcsICAgIDApOwpkZWZpbmUoJ0RPTUFJTicsICAgMSk7CmRlZmluZSgnRElTUE5BTUUn
LCAyKTsKCmRlZmluZSgnSEVBREVSJywgICAwKTsKZGVmaW5lKCdQUkVBTUJMRScsIDEpOwpkZWZp
bmUoJ0VOVElUWScsICAgMik7CmRlZmluZSgnRVBJTE9HVUUnLCAzKTsKCmRlZmluZSgnVFlQRScs
IDApOwpkZWZpbmUoJ1NQT1NJJywgMSk7CmRlZmluZSgnRVBPU0knLCAyKTsKCgogICAvLyBpbnRl
cmltIHNvbHV0aW9uIGZvciBhIHJlYWwgc3RyaXBvcygpICh3aGljaCBhcHBlYXJzIGluIFBIUCA1
KQppZiggIWZ1bmN0aW9uX2V4aXN0cygnc3RyaXBvcycpICkgewoKICAgZnVuY3Rpb24gc3RyaXBv
cyggJGhheXN0YWNrLCRuZWVkbGUsJG9mZnNldCA9IDAgKSB7CiAgICAgIHJldHVybiBzdHJwb3Mo
c3RydG9sb3dlcigkaGF5c3RhY2spLHN0cnRvbG93ZXIoJG5lZWRsZSksJG9mZnNldCk7CiAgIH0K
fQoKCiAgIC8vIHRoaXMgaXMgdGhlIHNhbWUgcmFuZ2Ugb2YgY2hhcnMgZG90YXRvbSB1c2VzCmZ1
bmN0aW9uIFJGQzI4MjJfaXNhdG9tY2hhciggJGMgKSB7CgogICBpZiggc3RybGVuKCRjKSAhPT0g
MSApCiAgICAgIHJldHVybiBGQUxTRTsKCiAgICRvcmQgPSBvcmQoJGMpOwoKICAgaWYoICRvcmQg
PD0gMzIgKQogICAgICByZXR1cm4gRkFMU0U7CgogICBzd2l0Y2goICRvcmQgKSB7CiAgICAgIGNh
c2UgMzQ6ICAgICAgY2FzZSA0MDogICAgICBjYXNlIDQxOiAgICAgIGNhc2UgNDQ6ICAgICAgY2Fz
ZSA1ODoKICAgICAgY2FzZSA1OTogICAgICBjYXNlIDYwOiAgICAgIGNhc2UgNjE6ICAgICAgY2Fz
ZSA2MjogICAgICBjYXNlIDY0OgogICAgICBjYXNlIDkxOiAgICAgIGNhc2UgOTI6ICAgICAgY2Fz
ZSA5MzoKICAgICAgICAgcmV0dXJuIEZBTFNFOwogICB9CgogICByZXR1cm4gVFJVRTsKfQoKCiAg
IC8vIHF1b3RlZC1zdHJpbmcgaW5jbHVkaW5nIHF1b3RlZC1wYWlyCmZ1bmN0aW9uIFJGQzI4MjJf
cXN0cmluZyggJGJ1Ziwkb2Zmc2V0ID0gMCApIHsKCiAgICRsZW4gPSBzdHJsZW4oJGJ1Zik7CiAg
IGZvciggJGkgPSAkb2Zmc2V0OyAoJGkgPCAkbGVuKSAmJiAoJGJ1ZnskaX0gIT09ICciJyk7ICsr
JGkgKTsKICAgaWYoICRpID09PSAkbGVuICkKICAgICAgcmV0dXJuIE5VTEw7CgogICArKyRpOwog
ICAkc3RyID0gTlVMTDsKCiAgIHdoaWxlKCAkaSA8IHN0cmxlbigkYnVmKSApIHsKICAgICAgaWYo
ICgkYnVmeyRpfSA9PT0gIlxuIikgfHwgKCRidWZ7JGl9ID09PSAiXHIiKSApCiAgICAgICAgIHJl
dHVybiAkc3RyOwoKICAgICAgaWYoICRidWZ7JGl9ID09PSAnXFwnICkgewogICAgICAgICBpZigg
KCRidWZ7KyskaX0gPT09ICJcdCIpIHx8ICgkYnVmeyRpfSA9PT0gJyAnKSB8fCAoJGJ1ZnskaX0g
PT09ICciJykgKQogICAgICAgICAgICAkc3RyIC49ICRidWZ7JGkrK307CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgJHN0ciAuPSAnXFwnOwogICAgICB9IGVsc2UgaWYoICgkYnVmeyRpfSA9PT0g
Ilx0IikgfHwgKCRidWZ7JGl9ID09PSAnICcpIHx8ICgkYnVmeyRpfSA9PT0gJyInKSApIHsKICAg
ICAgICAgcmV0dXJuICRzdHI7CiAgICAgIH0gZWxzZQogICAgICAgICAkc3RyIC49ICRidWZ7JGkr
K307CiAgIH0KCiAgIHJldHVybiAkc3RyOwp9CgoKICAgLy8gcXVvdGVkLXN0cmluZyBpbmNsdWRp
bmcgcXVvdGVkLXBhaXIgaW4gcmV2ZXJzZQpmdW5jdGlvbiBSRkMyODIyX3Jxc3RyaW5nKCAkYnVm
LCRvZmZzZXQgPSAwICkgewoKICAgZm9yKCAkaSA9ICRvZmZzZXQ7ICRpICYmICgkYnVmeyRpfSAh
PT0gJyInKTsgLS0kaSApOwogICBpZiggISRpICkKICAgICAgcmV0dXJuIE5VTEw7CgogICAtLSRp
OwoKICAgZm9yKCAkc3RyID0gTlVMTDsgJGkgPj0gMDsgLS0kaSApIHsKICAgICAgaWYoICgkYnVm
eyRpfSA9PT0gIlxuIikgfHwgKCRidWZ7JGl9ID09PSAiXHIiKSApCiAgICAgICAgIHJldHVybiBz
dHJyZXYoJHN0cik7CgogICAgICBpZiggKCRidWZ7JGl9ID09PSAiXHQiKSB8fCAoJGJ1ZnskaX0g
PT09ICcgJykgfHwgKCRidWZ7JGl9ID09PSAnIicpICkgewogICAgICAgICBpZiggJGJ1ZnstLSRp
fSA9PT0gJ1xcJyApICAvLyB0aGlzIHRocm93cyAtMSBzb21ldGltZXM/CiAgICAgICAgICAgICRz
dHIgLj0gJGJ1ZnskaSsxfTsKICAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gc3RycmV2
KCRzdHIpOwogICAgICB9IGVsc2UKICAgICAgICAgJHN0ciAuPSAkYnVmeyRpfTsKICAgfQoKICAg
cmV0dXJuIHN0cnJldigkc3RyKTsKfQoKCiAgIC8vIGRvdC1hdG9tICh1c2VkIGZvciBhdG9tIGFz
IHdlbGwsIGJ1dCBhbGxvd3MgJy4nOyBhbHNvIHVzZWQgZm9yICJ0b2tlbnMiKQpmdW5jdGlvbiBS
RkMyODIyX2RvdGF0b20oICRidWYsJG9mZnNldCA9IDAgKSB7CgogICBmb3IoICRpID0gJG9mZnNl
dCwkc3RyID0gTlVMTDsgJGkgPCBzdHJsZW4oJGJ1Zik7ICsrJGkgKSB7CiAgICAgICRvcmQgPSBv
cmQoJGJ1ZnskaX0pOwoKICAgICAgaWYoICAoJG9yZCA8PSAzMikgfHwgKCRvcmQgPT09IDM0KSB8
fCAoJG9yZCA9PT0gNDApIHx8ICgkb3JkID09PSA0MSkgfHwgKCRvcmQgPT09IDQ0KSB8fAogICAg
ICAgICAgKCRvcmQgPT09IDU4KSB8fCAoJG9yZCA9PT0gNTkpIHx8ICgkb3JkID09PSA2MCkgfHwg
KCRvcmQgPT09IDYxKSB8fCAoJG9yZCA9PT0gNjIpIHx8CiAgICAgICAgICAoJG9yZCA9PT0gNjQp
IHx8ICgkb3JkID09PSA5MSkgfHwgKCRvcmQgPT09IDkyKSB8fCAoJG9yZCA9PT0gOTMpICkKICAg
ICAgICAgcmV0dXJuICRzdHI7CgogICAgICAkc3RyIC49ICRidWZ7JGl9OwogICB9CgogICByZXR1
cm4gJHN0cjsKfQoKCiAgIC8vIGRvdC1hdG9tIGluIHJldmVyc2UgKHVzZWQgZm9yIGF0b20gYXMg
d2VsbCwgYnV0IGFsbG93cyAnLic7IGFsc28gdXNlZCBmb3IgInRva2VucyIpCmZ1bmN0aW9uIFJG
QzI4MjJfcmRvdGF0b20oICRidWYsJG9mZnNldCA9IDAgKSB7CgogICBmb3IoICRpID0gJG9mZnNl
dCwkc3RyID0gTlVMTDsgJGkgPj0gMDsgLS0kaSApIHsKICAgICAgJG9yZCA9IG9yZCgkYnVmeyRp
fSk7CgogICAgICBpZiggICgkb3JkIDw9IDMyKSB8fCAoJG9yZCA9PT0gMzQpIHx8ICgkb3JkID09
PSA0MCkgfHwgKCRvcmQgPT09IDQxKSB8fCAoJG9yZCA9PT0gNDQpIHx8CiAgICAgICAgICAoJG9y
ZCA9PT0gNTgpIHx8ICgkb3JkID09PSA1OSkgfHwgKCRvcmQgPT09IDYwKSB8fCAoJG9yZCA9PT0g
NjEpIHx8ICgkb3JkID09PSA2MikgfHwKICAgICAgICAgICgkb3JkID09PSA2NCkgfHwgKCRvcmQg
PT09IDkxKSB8fCAoJG9yZCA9PT0gOTIpIHx8ICgkb3JkID09PSA5MykgKQogICAgICAgICByZXR1
cm4gc3RycmV2KCRzdHIpOwoKICAgICAgJHN0ciAuPSAkYnVmeyRpfTsKICAgfQoKICAgcmV0dXJu
IHN0cnJldigkc3RyKTsKfQoKCgogICAvKioqCiAgICAgIGV4dHJhY3QgZmlyc3QgZW1haWwgYWRk
cmVzcyB3ZSBmaW5kIGluIHBhc3NlZCAkYnVmLgogICAgICB3ZSBkb24ndCBoYW5kbGUgbXVsdGlw
bGUgYWRkcmVzc2VzLCBjb21tYSBzZXBlcmF0aW9uLCBldGMKICAgICAgYW5kIERJU1BOQU1FIGlz
bid0IDEwMCUKICAgICAgVGhpcyBOZWVkcyBXb3JrcyAoYW5kIHNob3VsZCBiZSBhbiBSRkMyODIy
XyBmYW1pbHkgZnVuY3Rpb24pCiAgICoqKi8KCmZ1bmN0aW9uIGV4dHJhY3RfZW1haWwoICRidWYg
KSB7CgogICAkZW1haWwgPSBhcnJheShOVUxMLE5VTEwsTlVMTCk7CgogICBpZiggISgkcG9zaSA9
IHN0cnBvcygkYnVmLCdAJykpICkKICAgICAgcmV0dXJuIE5VTEw7CgogICBpZiggJGJ1ZnskcG9z
aS0xfSA9PT0gJyInICkKICAgICAgJGVtYWlsW0xPQ0FMXSA9IFJGQzI4MjJfcnFzdHJpbmcoJGJ1
ZiwkcG9zaS0xKTsKICAgZWxzZQogICAgICAkZW1haWxbTE9DQUxdID0gUkZDMjgyMl9yZG90YXRv
bSgkYnVmLCRwb3NpLTEpOwoKICAgICAgLy8gY2xvc2UgZW5vdWdoIGZvciBkb21haW4tbGl0ZXJh
bCBidWxsc2hpdAogICBpZiggJGJ1ZnskcG9zaSsxfSA9PT0gJyInICkKICAgICAgJGVtYWlsW0RP
TUFJTl0gPSBSRkMyODIyX3FzdHJpbmcoJGJ1ZiwkcG9zaSsxKTsKICAgZWxzZQogICAgICAkZW1h
aWxbRE9NQUlOXSA9IFJGQzI4MjJfZG90YXRvbSgkYnVmLCRwb3NpKzEpOwoKICAgJHBvc2kgPSAk
cG9zaSAtIHN0cmxlbigkZW1haWxbTE9DQUxdKSAtIDE7CgogICBpZiggKCRwb3NpID4gMCkgJiYg
KCRidWZbJHBvc2ldID09PSAnPCcpICkKICAgICAgJGVtYWlsW0RJU1BOQU1FXSA9IHN1YnN0cigk
YnVmLDAsJHBvc2ktMSk7CgogICByZXR1cm4gJGVtYWlsOwp9CgoKCgpjbGFzcyBwTUlNRQp7CiAg
IHZhciAkbUJ1ZiAgICAgICAgICAgICAgICAgICAgID0gTlVMTDsKICAgdmFyICRtU3RydWN0ICAg
ICAgICAgICAgICAgICAgPSBOVUxMOwogICB2YXIgJG1TdHJ1Y3RMZW4gICAgICAgICAgICAgICA9
IDA7CgogICB2YXIgJEhlYWRlclBhcnQgICAgICAgICAgICAgICA9IE5VTEw7CiAgIHZhciAkSGVh
ZGVyUGFydExlbiAgICAgICAgICAgID0gMDsKCiAgIHZhciAkQm9keVBhcnQgICAgICAgICAgICAg
ICAgID0gTlVMTDsKICAgdmFyICRCb2R5UGFydExlbiAgICAgICAgICAgICAgPSAwOwoKICAgdmFy
ICRGaWVsZCAgICAgICAgICAgICAgICAgICAgPSBOVUxMOwogICB2YXIgJEZpZWxkTGVuICAgICAg
ICAgICAgICAgICA9IDA7CgoKICAgZnVuY3Rpb24gcE1JTUUoKSB7CgogICAgICBpZiggKChmbG9h
dCkgUEhQX1ZFUlNJT04pIDwgNC4zICkKICAgICAgICAgdHJpZ2dlcl9lcnJvcigncE1JTUUgUmVx
dWlyZXMgUEhQIFZlcnNpb24gNC4zIG9yIGdyZWF0ZXIgLSBzb21lIHRoaW5ncyBtYXkgbm90IHdv
cmsuJyk7CgogICAgICBpbmlfc2V0KCdhdXRvX2RldGVjdF9saW5lX2VuZGluZ3MnLCBUUlVFKTsK
ICAgfQoKICAgZnVuY3Rpb24gX2ltcGx5aGVhZGVycGFydCggJHBhcnQsJGZ1bmMgKSB7CgogICAg
ICBpZiggJHBhcnQgIT09IE5VTEwgKSB7CiAgICAgICAgIGlmKCAhJHRoaXMtPnNldEhlYWRlclBh
cnQoJHBhcnQsJGZ1bmMpICkKICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICB9IGVsc2Ug
aWYoICEkdGhpcy0+SGVhZGVyUGFydCApCiAgICAgICAgIHJldHVybiBGQUxTRTsKCiAgICAgIHJl
dHVybiBUUlVFOwogICB9CgogICAgICAvLyB1c2VkIGluICR0aGlzLT5tRHVtcCBvbmx5IGZvciBk
ZWJ1Z2dpbmcKICAgZnVuY3Rpb24gX3R5cGUydGV4dCggJHR5cGUgKSB7CgogICAgICBpZiggJHR5
cGUgPT09IEhFQURFUiApCiAgICAgICAgIHJldHVybiAnSEVBREVSJzsKICAgICAgZWxzZSBpZigg
JHR5cGUgPT09IFBSRUFNQkxFICkKICAgICAgICAgcmV0dXJuICdQUkVBTUJMRSc7CiAgICAgIGVs
c2UgaWYoICR0eXBlID09PSBFTlRJVFkgKQogICAgICAgICByZXR1cm4gJ0VOVElUWSc7CiAgICAg
IGVsc2UgaWYoICR0eXBlID09PSBFUElMT0dVRSApCiAgICAgICAgIHJldHVybiAnRVBJTE9HVUUn
OwogICAgICBlbHNlCiAgICAgICAgIHJldHVybiAnVU5LTk9XTic7CiAgIH0KCgogICBmdW5jdGlv
biBJbmNvbWluZyggJGluY29taW5nID0gTlVMTCApIHsKCiAgICAgICR0aGlzLT5tQnVmID0gTlVM
TDsKCiAgICAgICRQQVJUID0gMDsKICAgICAgJHRoaXMtPm1TdHJ1Y3QgPSBhcnJheSgkUEFSVD0+
YXJyYXkoVFlQRT0+SEVBREVSLFNQT1NJPT4wLEVQT1NJPT4wKSk7CgogICAgICAkQk9VTkRBUlkg
PSAwOwogICAgICAkYm91bmRhcmllcyA9IGFycmF5KCRCT1VOREFSWT0+TlVMTCk7CgogICAgICAk
TkVYVFRZUEUgPSBFTlRJVFk7CgogICAgICAkdG1wX2J1ZiA9IE5VTEw7CiAgICAgICR0bXBfYnVm
X2xlbiA9IDA7CiAgICAgICR0bXBfYnVmMSA9IE5VTEw7CiAgICAgICR0bXBfYnVmMV9sZW4gPSAw
OwoKICAgICAgJHNvbF9wb3NpID0gMDsKICAgICAgJGVvbF9wb3NpID0gMDsKCiAgICAgICRwYXJ0
X3Nwb3NpID0gMDsKICAgICAgJHBhcnRfZXBvc2kgPSAwOwoKICAgICAgICAgLy8gdGhlIGFiaWxp
dHkgdG8gcHJvY2VzcyBhIHN0cmluZywgYW5kIHNvbWUgYmV0dGVyIGNoZWNraW5nLCBzaG91bGQg
YmUgYWRkZWQKICAgICAgICAgLy8gd2UgYWxzbyB3b3VsZCBuZWVkIHRvIGhhbmRsZSBhIHN0cmlu
ZyBiZWNhdXNlIG9mIHJlY3Vyc2l2ZSBiZWhhdmlvcgogICAgICBpZiggIWlzX3Jlc291cmNlKCRp
bmNvbWluZykgKQogICAgICAgICBpZiggISgkaW5jb21pbmcgPSBmb3BlbigncGhwOi8vc3RkaW4n
LCAncicpKSApCiAgICAgICAgICAgIGV4aXQoJ1VuYWJsZSB0byBvcGVuIHN0ZGluJyk7CgogICAg
ICB3aGlsZSggMSApIHsKCiAgICAgICAgICR0bXBfYnVmID0gZmdldHMoJGluY29taW5nKTsKCiAg
ICAgICAgIGlmKCAkdGhpcy0+bVN0cnVjdFskUEFSVF1bVFlQRV0gPT09IEhFQURFUiApIHsKCiAg
ICAgICAgICAgIGlmKCAoJHRtcF9idWZ7MH0gPT09ICcgJykgfHwgKCR0bXBfYnVmezB9ID09PSAi
XHQiKSApIHsKCiAgICAgICAgICAgICAgICR0bXBfYnVmMSA9IHJ0cmltKCR0bXBfYnVmMSkuJyAn
Lmx0cmltKCR0bXBfYnVmKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAk
dG1wX2J1ZjFfbGVuID0gc3RybGVuKCR0bXBfYnVmMSk7CiAgICAgICAgICAgICAgICRzb2xfcG9z
aSA9ICRlb2xfcG9zaTsKICAgICAgICAgICAgICAgJGVvbF9wb3NpID0gJHNvbF9wb3NpICsgJHRt
cF9idWYxX2xlbjsKCiAgICAgICAgICAgICAgICR0aGlzLT5tQnVmIC49ICR0bXBfYnVmMTsKCiAg
ICAgICAgICAgICAgIGlmKCAoJHBvc2kgPSBzdHJpcG9zKCR0bXBfYnVmMSwnYm91bmRhcnknKSkg
JiYgKCRwb3NpID0gc3RycG9zKCR0bXBfYnVmMSwnPScsJHBvc2kpKSApIHsKCiAgICAgICAgICAg
ICAgICAgICsrJHBvc2k7CgogICAgICAgICAgICAgICAgICBpZiggUkZDMjgyMl9pc2F0b21jaGFy
KCR0bXBfYnVmMXskcG9zaX0pICkKICAgICAgICAgICAgICAgICAgICAgJGJvdW5kYXJpZXNbKysk
Qk9VTkRBUlldID0gUkZDMjgyMl9kb3RhdG9tKCR0bXBfYnVmMSwkcG9zaSk7CiAgICAgICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgJGJvdW5kYXJpZXNbKyskQk9VTkRBUlld
ID0gUkZDMjgyMl9xc3RyaW5nKCR0bXBfYnVmMSwkcG9zaSk7CgogICAgICAgICAgICAgICAgICBp
ZiggJGJvdW5kYXJpZXNbJEJPVU5EQVJZXSApCiAgICAgICAgICAgICAgICAgICAgICRORVhUVFlQ
RSA9IFBSRUFNQkxFOwogICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAg
IHRyaWdnZXJfZXJyb3IoIkVtcHR5IG9yIGludmFsaWQgYm91bmRhcnk6ICckdG1wX2J1ZjEnIik7
CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmKCAoJHRtcF9idWZ7MH0gPT09ICJc
ciIpIHx8ICgkdG1wX2J1ZnswfSA9PT0gIlxuIikgKSB7CgogICAgICAgICAgICAgICAgICAkdG1w
X2J1Zl9sZW4gPSBzdHJsZW4oJHRtcF9idWYpOwogICAgICAgICAgICAgICAgICAkc29sX3Bvc2kg
PSAkZW9sX3Bvc2k7CiAgICAgICAgICAgICAgICAgICRlb2xfcG9zaSA9ICRzb2xfcG9zaSArICR0
bXBfYnVmX2xlbjsKCiAgICAgICAgICAgICAgICAgICR0aGlzLT5tQnVmIC49ICR0bXBfYnVmOwoK
ICAgICAgICAgICAgICAgICAgJHRoaXMtPm1TdHJ1Y3RbJFBBUlRdW0VQT1NJXSA9ICRzb2xfcG9z
aTsKCiAgICAgICAgICAgICAgICAgICR0aGlzLT5tU3RydWN0WysrJFBBUlRdID0gYXJyYXkoVFlQ
RT0+JE5FWFRUWVBFLFNQT1NJPT4kZW9sX3Bvc2ksRVBPU0k9PiRlb2xfcG9zaSk7CgogICAgICAg
ICAgICAgICAgICAkTkVYVFRZUEUgPSBFTlRJVFk7CgogICAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICAgJHRtcF9idWYxID0gJHRtcF9idWY7CiAgICAgICAgICAgIH0KCiAgICAg
ICAgIH0gZWxzZSB7CgogICAgICAgICAgICAkdG1wX2J1Zl9sZW4gPSBzdHJsZW4oJHRtcF9idWYp
OwogICAgICAgICAgICAkc29sX3Bvc2kgPSAkZW9sX3Bvc2k7CiAgICAgICAgICAgICRlb2xfcG9z
aSA9ICRzb2xfcG9zaSArICR0bXBfYnVmX2xlbjsKCiAgICAgICAgICAgICR0aGlzLT5tQnVmIC49
ICR0bXBfYnVmOwoKICAgICAgICAgICAgaWYoICRCT1VOREFSWSAmJiAoc3RycG9zKCR0bXBfYnVm
LCItLXskYm91bmRhcmllc1skQk9VTkRBUlldfSIpID09PSAwKSApIHsKCiAgICAgICAgICAgICAg
IGlmKCAkdG1wX2J1ZnskdG1wX2J1Zl9sZW4tMn0gPT09ICJcciIgKQogICAgICAgICAgICAgICAg
ICAkc29sX3Bvc2kgLT0gMjsKICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAt
LSRzb2xfcG9zaTsKCiAgICAgICAgICAgICAgICR0aGlzLT5tU3RydWN0WyRQQVJUXVtFUE9TSV0g
PSAkc29sX3Bvc2k7CgogICAgICAgICAgICAgICBpZiggc3RycG9zKCR0bXBfYnVmLCctLScsc3Ry
bGVuKCRib3VuZGFyaWVzWyRCT1VOREFSWV0pKzIpICE9PSBGQUxTRSApIHsKICAgICAgICAgICAg
ICAgICAgJHRoaXMtPm1TdHJ1Y3RbKyskUEFSVF0gPSBhcnJheShUWVBFPT5FUElMT0dVRSxTUE9T
ST0+JGVvbF9wb3NpLEVQT1NJPT4kZW9sX3Bvc2kpOwogICAgICAgICAgICAgICAgICAtLSRCT1VO
REFSWTsKICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgJHRoaXMtPm1T
dHJ1Y3RbKyskUEFSVF0gPSBhcnJheShUWVBFPT5IRUFERVIsU1BPU0k9PiRlb2xfcG9zaSxFUE9T
ST0+JGVvbF9wb3NpKTsKICAgICAgICAgICAgICAgICAgJHRtcF9idWYxID0gTlVMTDsKICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0KCiAgICAgICAgIGlmKCBmZW9mKCRp
bmNvbWluZykgKSB7CiAgICAgICAgICAgICR0aGlzLT5tU3RydWN0WyRQQVJUXVtFUE9TSV0gPSAk
c29sX3Bvc2k7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZj
bG9zZSgkaW5jb21pbmcpOwoKICAgICAgJHRoaXMtPm1TdHJ1Y3RMZW4gPSBjb3VudCgkdGhpcy0+
bVN0cnVjdCk7CiAgIH0KCgogICBmdW5jdGlvbiBtRHVtcCggJHNlbmR0byA9IE5VTEwgKSB7Cgog
ICAgICBvYl9zdGFydCgpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCAkdGhpcy0+bVN0cnVjdExl
bjsgKyskaSApIHsKICAgICAgICAgJGxlbiA9ICR0aGlzLT5tU3RydWN0WyRpXVtFUE9TSV0gLSAk
dGhpcy0+bVN0cnVjdFskaV1bU1BPU0ldOwogICAgICAgICBlY2hvICJcblxuWyRpXSIuJHRoaXMt
Pl90eXBlMnRleHQoJHRoaXMtPm1TdHJ1Y3RbJGldW1RZUEVdKS4iIFt7JHRoaXMtPm1TdHJ1Y3Rb
JGldW1RZUEVdfV1beyR0aGlzLT5tU3RydWN0WyRpXVtTUE9TSV19XVt7JHRoaXMtPm1TdHJ1Y3Rb
JGldW0VQT1NJXX1dW3skbGVufV0iOwogICAgICAgICBlY2hvICJcbj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0+XG4iOwogICAgICAgICBlY2hvICR0aGlzLT5nZXRQYXJ0KCRp
KTsKICAgICAgICAgZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT5c
biI7CiAgICAgIH0KCiAgICAgIGlmKCAkc2VuZHRvICkgewogICAgICAgICAkbm93dHMgPSB0aW1l
KCk7CiAgICAgICAgIG1haWwoJHNlbmR0bywibUR1bXAgbVN0cnVjdCgkbm93dHMpIixvYl9nZXRf
Y2xlYW4oKSk7CiAgICAgICAgIG1haWwoJHNlbmR0bywibUR1bXAgbUJ1Zigkbm93dHMpIiwkdGhp
cy0+bUJ1Zik7CiAgICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gb2JfZ2V0X2NsZWFuKCk7CiAg
IH0KCiAgIGZ1bmN0aW9uIGlzUGFydCggJHBhcnQsJHR5cGUgPSBOVUxMICkgewoKICAgICAgaWYo
IGlzc2V0KCR0aGlzLT5tU3RydWN0WyRwYXJ0XSkgKSB7CiAgICAgICAgIGlmKCAoJHR5cGUgPT09
IE5VTEwpIHx8ICgkdGhpcy0+bVN0cnVjdFskcGFydF1bVFlQRV0gPT09ICR0eXBlKSApCiAgICAg
ICAgICAgIHJldHVybiAkdGhpcy0+bVN0cnVjdFskcGFydF1bU1BPU0ldOwogICAgICB9CgogICAg
ICByZXR1cm4gTlVMTDsKICAgfQoKICAgZnVuY3Rpb24gZ2V0UGFydCggJHBhcnQsJGZ1bmMgPSBO
VUxMICkgewoKICAgICAgaWYoICRmdW5jICYmIGlzX2Z1bmN0aW9uKCRmdW5jKSApCiAgICAgICAg
IHJldHVybiAkZnVuYyhzdWJzdHIoJHRoaXMtPm1CdWYsJHRoaXMtPm1TdHJ1Y3RbJHBhcnRdW1NQ
T1NJXSwkdGhpcy0+bVN0cnVjdFskcGFydF1bRVBPU0ldLSR0aGlzLT5tU3RydWN0WyRwYXJ0XVtT
UE9TSV0pKTsKICAgICAgZWxzZQogICAgICAgICByZXR1cm4gc3Vic3RyKCR0aGlzLT5tQnVmLCR0
aGlzLT5tU3RydWN0WyRwYXJ0XVtTUE9TSV0sJHRoaXMtPm1TdHJ1Y3RbJHBhcnRdW0VQT1NJXS0k
dGhpcy0+bVN0cnVjdFskcGFydF1bU1BPU0ldKTsKICAgfQoKICAgZnVuY3Rpb24gc2V0SGVhZGVy
UGFydCggJHBhcnQsJGZ1bmMgPSBOVUxMICkgewoKICAgICAgaWYoICR0aGlzLT5pc1BhcnQoJHBh
cnQsSEVBREVSKSA9PT0gTlVMTCApCiAgICAgICAgIHJldHVybiBGQUxTRTsKCiAgICAgIGlmKCAh
KCR0aGlzLT5IZWFkZXJQYXJ0ID0gJHRoaXMtPmdldFBhcnQoJHBhcnQsJGZ1bmMpKSApCiAgICAg
ICAgIHJldHVybiBGQUxTRTsKCiAgICAgICR0aGlzLT5IZWFkZXJQYXJ0TGVuID0gc3RybGVuKCR0
aGlzLT5IZWFkZXJQYXJ0KTsKCiAgICAgIHJldHVybiBUUlVFOwogICB9CgogICBmdW5jdGlvbiBz
ZXRCb2R5UGFydCggJHBhcnQsJGZ1bmMgPSBOVUxMICkgewoKICAgICAgaWYoICR0aGlzLT5pc1Bh
cnQoJHBhcnQsRU5USVRZKSA9PT0gTlVMTCApCiAgICAgICAgIHJldHVybiBGQUxTRTsKCiAgICAg
IGlmKCAhKCR0aGlzLT5Cb2R5UGFydCA9ICR0aGlzLT5nZXRQYXJ0KCRwYXJ0LCRmdW5jKSkgKQog
ICAgICAgICByZXR1cm4gRkFMU0U7CgogICAgICAkdGhpcy0+Qm9keVBhcnRMZW4gPSBzdHJsZW4o
JHRoaXMtPkJvZHlQYXJ0KTsKCiAgICAgIHJldHVybiBUUlVFOwogICB9CgogICBmdW5jdGlvbiBp
c0ZpZWxkKCAkZmllbGQsJHBhcnQgPSBOVUxMLCRmdW5jID0gTlVMTCApIHsKCiAgICAgIGlmKCAh
JHRoaXMtPl9pbXBseWhlYWRlcnBhcnQoJHBhcnQsJGZ1bmMpICkKICAgICAgICAgcmV0dXJuIE5V
TEw7CgogICAgICBmb3IoICRwb3NpID0gMDsgKCRwb3NpID0gc3RyaXBvcygkdGhpcy0+SGVhZGVy
UGFydCwiJGZpZWxkOiIsJHBvc2kpKSAhPT0gRkFMU0U7ICsrJHBvc2kgKQogICAgICAgICBpZigg
KCR0aGlzLT5IZWFkZXJQYXJ0eyRwb3NpLTF9ID09PSAiXG4iKSB8fCAoJHRoaXMtPkhlYWRlclBh
cnR7JHBvc2ktMX0gPT09ICJcciIpICkKICAgICAgICAgICAgcmV0dXJuICRwb3NpOwoKICAgICAg
cmV0dXJuIE5VTEw7CiAgIH0KCiAgIGZ1bmN0aW9uIGdldEZpZWxkKCAkZmllbGQsJHBhcnQgPSBO
VUxMLCRmdW5jID0gTlVMTCApIHsKCiAgICAgIGlmKCAoJHN0YXJ0X3Bvc2kgPSAkdGhpcy0+aXNG
aWVsZCgkZmllbGQsJHBhcnQsJGZ1bmMpKSA9PT0gTlVMTCApCiAgICAgICAgIHJldHVybiBOVUxM
OwoKICAgICAgJHN0YXJ0X3Bvc2kgKz0gc3RybGVuKCRmaWVsZCkgKyAxOwogICAgICBpZiggISgk
ZW5kX3Bvc2kgPSBzdHJwb3MoJHRoaXMtPkhlYWRlclBhcnQsIlxyIiwkc3RhcnRfcG9zaSkpICYm
ICEoJGVuZF9wb3NpID0gc3RycG9zKCR0aGlzLT5IZWFkZXJQYXJ0LCJcbiIsJHN0YXJ0X3Bvc2kp
KSApCiAgICAgICAgIHJldHVybiBOVUxMOwoKICAgICAgcmV0dXJuIHRyaW0oc3Vic3RyKCR0aGlz
LT5IZWFkZXJQYXJ0LCRzdGFydF9wb3NpLCRlbmRfcG9zaS0kc3RhcnRfcG9zaSkpOwogICB9Cgog
ICBmdW5jdGlvbiBfaW1wbHlmaWVsZCggJGZpZWxkLCRwYXJ0LCRmdW5jICkgewoKICAgICAgaWYo
ICRmaWVsZCAhPT0gTlVMTCApIHsKICAgICAgICAgaWYoICEkdGhpcy0+c2V0RmllbGQoJGZpZWxk
LCRwYXJ0LCRmdW5jKSApCiAgICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgfSBlbHNlIGlm
KCAhJHRoaXMtPkZpZWxkICkKICAgICAgICAgcmV0dXJuIEZBTFNFOwoKICAgICAgcmV0dXJuIFRS
VUU7CiAgIH0KCiAgIGZ1bmN0aW9uIHNldEZpZWxkKCAkZmllbGQsJHBhcnQgPSBOVUxMLCRmdW5j
ID0gTlVMTCApIHsKCiAgICAgIGlmKCAkdGhpcy0+RmllbGQgPSAkdGhpcy0+Z2V0RmllbGQoJGZp
ZWxkLCRwYXJ0LCRmdW5jKSApCiAgICAgICAgIHJldHVybiBUUlVFOwoKICAgICAgcmV0dXJuIFRS
VUU7CiAgIH0KLyoKICAgZnVuY3Rpb24gcGFyc2VGaWVsZCggJGZpZWxkLCRwYXJ0ID0gTlVMTCwk
ZnVuYyApIHsKCiAgICAgIGlmKCAhJHRoaXMtPl9pbXBseWZpZWxkKCRmaWVsZCwkcGFydCwkZnVu
YykgKQogICAgICAgICByZXR1cm4gRkFMU0U7CgogICAgICBpZiggKCRzZW1pcG9zaSA9IHN0cnBv
cygkdGhpcy0+RmllbGQsJzsnKSkgPT09IEZBTFNFICkKICAgICAgICAgcmV0dXJuIE5VTEw7Cgog
ICAgICAkZmllbGRfYnVmID0gJHRoaXMtPkZpZWxkOwogICAgICAkdGhpcy0+RmllbGQgPSBhcnJh
eSgpOwoKICAgICAgIGFycmF5KHN1YnN0cigkZmllbGRfYnVmLDAsJHBvc2kpKTsKCgoKCiAgICAg
ICAgIGlmKCAhKCRwb3NpID0gc3RycG9zKCR0aGlzLT5GaWVsZCwnPScsJHBvc2kpKSApIHsKICAg
ICAgICAgICAgJHRoaXMtPkZpZWxkID0gJHRtcDsKICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwog
ICAgICAgICB9CgogICAgICAgICBkbyB7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+RmllbGR7JHBv
c2krMX0gPT09ICciJyApCiAgICAgICAgICAgICAgICR0bXBbUkZDMjgyMl9yZG90YXRvbSgkdGhp
cy0+RmllbGQsJHBvc2ktMSldID0gUkZDMjgyMl9xc3RyaW5nKCR0aGlzLT5GaWVsZCwkcG9zaSsx
KTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAkdG1wW1JGQzI4MjJfcmRvdGF0b20o
JHRoaXMtPkZpZWxkLCRwb3NpLTEpXSA9IFJGQzI4MjJfZG90YXRvbSgkdGhpcy0+RmllbGQsJHBv
c2krMSk7CiAgICAgICAgIH0gd2hpbGUoICgkcG9zaSA9IHN0cnBvcygkdGhpcy0+RmllbGQsJz0n
LCRwb3NpK3N0cmxlbihlbmQoJHRtcCkpKSkgKTsKCiAgICAgICAgICR0aGlzLT5GaWVsZCA9ICR0
bXA7CgogICAgICAgICByZXR1cm4gVFJVRTsKICAgICAgfQogICB9CiovCgp9CgoK
------_=_NextPart_001_01C3FDBD.2C2D23A9--
More information about the talk
mailing list