Re: Suggestions about detail file

Jason Marshall (marshalj@spots.ab.ca)
Tue, 29 Oct 1996 21:00:22 -0700 (MST)

This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1077146414-2118437503-846648022=:16903
Content-Type: TEXT/PLAIN; charset=US-ASCII

> I use a dumb little c program to strip off the "useful info":
> Ie: Who, When, Where, How long, How many Bytes.
>
> This compacts the file tremendously, and makes a searchable (1 line per
> transaction) file which is LOTS smaller than the original.

Here's an extraordinarily dumb C program to do the one-line thing to a log
file. I believe I made it seperate the field with commas so it would be
legible by humans.

I've not used this script for MONTHS -- it was used to convert my old logs
once I got radiusd patched up to only write one-line logs. Needless to
say, give it a look before you run anything against it.

<After giving the code a quick glance> Well I'll be damned, I actually
COMMENTED the thing!! Note that it doesn't take into account any of the
"newer" fields; like I said, it's an ancient program. Cool Thing: It
SEEMS to wend its way through ALL the logfile directories created by a
stock radiusd (pm1.blah.blah.com, pm2.blah.blah.com, or
111.222.333.444 if your DNS is down for any time). Simply create the file
like it tells you to in the source, and you're off to the races (so it
seems). I am quite certain it managed to find its way through at least 2
directories for me, so cross your fingers before you run it *8-). Oh, the
other cool thing is that it keeps a running total of all the time that was
used in the logs, and prints that out at the end. Just one total, because
it was SO simple to do.

PS. Knock it off with the comments about bad coding practices *8-)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| Jason Marshall, marshalj@spots.ab.ca. Spots InterConnect, Inc. Calgary, AB |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

---1077146414-2118437503-846648022=:16903
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="detailglommer.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.961029210022.16903W@cheetah.spots.ab.ca>
Content-Description: For You Guys And Gals On The Livingston List

LyogRGV0YWlsR2xvbW1lciwgZ2xvbXMgYWxsIHRoZSBkZXRhaWwgcmVjb3Jk
cyBpbnRvIGEgc2luZ2xlLWxpbmUsIGNvbW1hIChhbmQNCiAgIHNwYWNlKSBk
ZWxpbWl0ZWQgZm9ybS4NCg0KICAgdjAuMDAwMDAwMDAwMDAwMDEgICAqLw0K
DQojaW5jbHVkZSA8c3RkaW8uaD4NCg0KI2RlZmluZSBERVRBSUxfRklMRU5B
TUUgImRldGFpbCINCiNkZWZpbmUgREVUQUlMX1BBVEggIi9zeXNtZ3IvbG9n
Lzk2MDMvIg0KI2RlZmluZSBQTU5BTUVTX0ZJTEVOQU1FICJwbW5hbWVzIg0K
I2RlZmluZSBQTU5BTUVTX1BBVEggIi9ldGMvIg0KI2RlZmluZSBEQVlTX09G
X1dFRUsgIlN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCINCg0KLyogcG1u
YW1lcyBzaG91bGQgYmUgaW4gZm9ybToNCg0KcG0xLnlvdXIuZG9tLmFpbg0K
MTExLjIyMi4zMzMuNDQ0DQpwbTIueW91ci5jb20uYWluDQo1NTUuNjY2Ljc3
Ny44ODgNCiANCiovDQoNCnN0cnVjdCBSZWNvcmQNCnsNCiAgY2hhciBkYXlf
b2Zfd2Vla1s0XTsNCiAgY2hhciBtb250aFs0XTsNCiAgY2hhciBkYXlbM107
DQogIGNoYXIgdGltZVsxNV07IA0KICBjaGFyIHllYXJbNV07DQogIGNoYXIg
c2Vzc2lvbl9pZFs5XTsgICAgICAgLyogdW5pcXVlIHNlc3Npb24gaWRlbnRp
ZmllciAqLw0KICBjaGFyIHVzZXJuYW1lWzEwMF07ICAgICAgIC8qIGxvZ2lu
IHVzZXJuYW1lICovDQogIGNoYXIgY2xpZW50X2lkWzE2XTsgICAgICAgLyog
SVAgYWRkcmVzcyBvZiBwb3J0bWFzdGVyICovDQogIGludCBjbGllbnRfcG9y
dF9pZDsgICAgICAgLyogUG9ydCBudW1iZXIgb24gcG9ydG1hc3RlciAqLw0K
ICBpbnQgYWNjdF9zdGF0dXNfdHlwZTsgICAgIC8qIDAgPSBTdG9wOyAxID0g
U3RhcnQgKi8NCiAgaW50IGFjY3RfYXV0aGVudGljOyAgICAgICAvKiAxID0g
UkFESVVTOyAwID0gTm90IFJBRElVUyAqLw0KICBpbnQgdXNlcl9zZXJ2aWNl
X3R5cGU7ICAgIC8qIDEgPSBGcmFtZWQtVXNlcjsgMiA9IExvZ2luLVVzZXI7
IDAgPSBPdGhlciAqLw0KICBpbnQgZnJhbWVkX3Byb3RvY29sOyAgICAgIC8q
IDEgPSBQUFA7IDAgPSBPdGhlciAqLw0KICBjaGFyIGZyYW1lZF9hZGRyZXNz
WzE2XTsgIC8qIElQIGFkZHJlc3MgKi8NCiAgaW50IGFjY3RfZGVsYXlfdGlt
ZTsgICAgICAvKiBpbiAxMDB0aHMgb2Ygc2Vjb25kcz8/ICovDQogIGludCBh
Y2N0X3Nlc3Npb25fdGltZTsgICAgLyogaW4gc2Vjb25kcyAqLw0KICBpbnQg
bG9naW5fc2VydmljZTsgICAgICAgIC8qIDEgPSBSbG9naW47IDAgPSBPdGhl
ciAqLyANCiAgY2hhciBsb2dpbl9ob3N0WzE2XTsgICAgICAvKiBJUCBhZGRy
ZXNzICovDQp9Ow0KDQp2b2lkIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2
KQ0Kew0KICBGSUxFICppbmZpbGU7ICAgLyogUE1OQU1FUyAqLw0KICBGSUxF
ICppbmZpbGUyOyAgLyogREVUQUlMICovDQogIEZJTEUgKm91dGZpbGU7ICAv
KiBPVVRQVVQgKi8NCiAgc3RydWN0IFJlY29yZCBpbnJlY29yZDsNCiAgY2hh
ciBmaWxlbmFtZVsxMDI0XTsNCiAgY2hhciBmaWxlbmFtZTJbMTAyNF07DQog
IGNoYXIgb3V0ZmlsZW5hbWVbMTAyNF07DQogIGNoYXIgbGluZVsyMDBdOw0K
ICBjaGFyIGxpbmUyWzIwMF07DQogIGNoYXIgdGVtcHN0cmluZ1syMDBdOw0K
ICBjaGFyIHRlbXBzdHJpbmcyWzIwMF07DQogIGNoYXIgdGVtcHN0cmluZzNb
MTBdOw0KICBjaGFyIGZpcnN0d29yZFsyMDBdOw0KICBjaGFyIHVzZXJuYW1l
WzIwMF07DQogIGludCBkYXRlbGluZSA9IDA7DQogIGludCB4Ow0KICBpbnQg
eTsNCiAgaW50IHRvdGFsc2VjcyA9IDA7DQoNCiAgaWYgKGFyZ2MgPCAyKQ0K
ICB7DQogICAgcHJpbnRmKCJcblVzYWdlOlxuXG4gICAuL2RldGFpbGdsb21t
ZXIgPG91dHB1dCBmaWxlbmFtZT5cblxuIik7DQogICAgZXhpdCgxMDApOw0K
ICB9DQoNCiAgc3RyY3B5KG91dGZpbGVuYW1lLGFyZ3ZbMV0pOw0KDQogIHNw
cmludGYoZmlsZW5hbWUsIiVzJXMiLFBNTkFNRVNfUEFUSCwgUE1OQU1FU19G
SUxFTkFNRSk7DQoNCiAgaWYgKCEoaW5maWxlID0gZm9wZW4oZmlsZW5hbWUs
ICJyIikpKQ0KICB7DQogICAgcHJpbnRmKCJcbkVycm9yIG9wZW5pbmcgJXMg
Zm9yIHJlYWQgb3BlcmF0aW9ucy5cblxuIixmaWxlbmFtZSk7DQogICAgZXhp
dCgxMDEpOw0KICB9DQogIGVsc2UNCiAgew0KICAgIHdoaWxlIChmZ2V0cyhs
aW5lLDE5OSxpbmZpbGUpKQ0KICAgIHsNCiAgICAgIC8qIG51a2UgdGhlIFxu
IGF0IHRoZSBlbmQgb2YgZWFjaCBsaW5lICovDQoNCiAgICAgIGxpbmVbc3Ry
bGVuKGxpbmUpLTFdID0gJ1wwJzsNCg0KICAgICAgLyogZ2xvbSBzdHVmZiB0
b2dldGhlciB0byBnZXQgZmlsZW5hbWVzIHdpdGggcGF0aCBpbiBmcm9udCAq
Lw0KDQogICAgICBzcHJpbnRmKGZpbGVuYW1lMiwiJXMlcyVjJXMiLERFVEFJ
TF9QQVRILGxpbmUsJy8nLERFVEFJTF9GSUxFTkFNRSk7DQoNCiAgICAgIGlm
IChpbmZpbGUyID0gZm9wZW4oZmlsZW5hbWUyLCAiciIpKQ0KICAgICAgew0K
ICAgICAgICB3aGlsZSAoZmdldHMobGluZTIsMTk5LGluZmlsZTIpKQ0KICAg
ICAgICB7DQogICAgICAgICAgLyogc2VlIGlmIGxpbmUgaXMgYSBkYXRlIGxp
bmUgKi8NCg0KICAgICAgICAgIHN0cmNweSh0ZW1wc3RyaW5nMixsaW5lMik7
DQogICAgICAgICAgc3ByaW50ZihmaXJzdHdvcmQsIiVzIixzdHJ0b2sodGVt
cHN0cmluZzIsIiAiKSk7DQogICAgICAgICAgaWYgKHN0cnN0cihEQVlTX09G
X1dFRUssZmlyc3R3b3JkKSkNCiAgICAgICAgICB7DQogICAgICAgICAgICBz
dHJjcHkodGVtcHN0cmluZzIsbGluZTIpOw0KDQogICAgICAgICAgICAvKiBp
dCBpcyBhIGRhdGUgbGluZSwgc28gZmlsbCB0aGUgZGF0ZSBwYXJ0IG9mIHRo
ZSBzdHJ1Y3QgKi8NCg0KICAgICAgICAgICAgc3ByaW50ZihpbnJlY29yZC5k
YXlfb2Zfd2VlaywiJXMiLHN0cnRvayh0ZW1wc3RyaW5nMiwiICIpKTsNCiAg
ICAgICAgICAgIHNwcmludGYoaW5yZWNvcmQubW9udGgsIiVzIixzdHJ0b2so
TlVMTCwiICIpKTsNCiAgICAgICAgICAgIHNwcmludGYoaW5yZWNvcmQuZGF5
LCIlcyIsc3RydG9rKE5VTEwsIiAiKSk7DQogICAgICAgICAgICBzcHJpbnRm
KGlucmVjb3JkLnRpbWUsIiVzIixzdHJ0b2soTlVMTCwiICIpKTsgICAgICAg
ICAgICANCiAgICAgICAgICAgIHNwcmludGYoaW5yZWNvcmQueWVhciwiJXMi
LHN0cnRvayhOVUxMLCIgIikpOw0KICAgICAgICAgICAgaW5yZWNvcmQueWVh
cls0XSA9ICdcMCc7IA0KDQogICAgICAgICAgICAvKiBTaW5jZSB3ZSBTSE9V
TEQgYmUgYXQgdGhlIHRvcCBvZiBhbiBhY2NvdW50aW5nIHJlY29yZCwNCiAg
ICAgICAgICAgICAgIHJlYWQgbGluZXMgdW50aWwgd2UgaGl0IGFuIGVtcHR5
IG9uZS4uLiAqLw0KDQogICAgICAgICAgICB3aGlsZSAoZmdldHMobGluZTIs
MTk5LGluZmlsZTIpICYmIHN0cmNtcChsaW5lMiwiXG4iKSkNCiAgICAgICAg
ICAgIHsNCiAgICAgICAgICAgICAgLyogYmFjayB1cCB0aGUgbGluZSdzIGNv
bnRlbnRzICovDQogICAgICAgICAgICAgIHN0cmNweSh0ZW1wc3RyaW5nMixs
aW5lMik7ICAgICAgICAgIA0KICAgICAgICAgICAgICBzcHJpbnRmKGZpcnN0
d29yZCwiJXMiLHN0cnRvayh0ZW1wc3RyaW5nMiwiICIpKTsgDQoNCiAgICAg
ICAgICAgICAgaWYgKCFzdHJjbXAoZmlyc3R3b3JkLCIJQWNjdC1TZXNzaW9u
LUlkIikpDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBzdHJ0
b2sgKE5VTEwsICIgIik7DQogICAgICAgICAgICAgICAgc3ByaW50ZiAoaW5y
ZWNvcmQuc2Vzc2lvbl9pZCwiJXMiLHN0cnRvayhOVUxMLCJcIiIpKTsNCiAg
ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgIGlmICghc3RyY21wKGZp
cnN0d29yZCwiCVVzZXItTmFtZSIpKQ0KICAgICAgICAgICAgICB7DQogICAg
ICAgICAgICAgICAgc3RydG9rIChOVUxMLCAiICIpOw0KICAgICAgICAgICAg
ICAgIHNwcmludGYgKHRlbXBzdHJpbmcyLCIlcyIsc3RydG9rKE5VTEwsIlwi
IikpOw0KICAgICAgICAgICAgICAgIHNwcmludGYgKGlucmVjb3JkLnVzZXJu
YW1lLCIlcyIsc3RydG9rKHRlbXBzdHJpbmcyLCIuIikpOw0KICAgICAgICAg
ICAgICAgIGlmIChpbnJlY29yZC51c2VybmFtZSA9PSAiXDAiKQ0KICAgICAg
ICAgICAgICAgICAgc3RyY3B5KGlucmVjb3JkLnVzZXJuYW1lLHRlbXBzdHJp
bmcyKTsNCiAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgIGlmICgh
c3RyY21wKGZpcnN0d29yZCwiCUNsaWVudC1JZCIpKQ0KICAgICAgICAgICAg
ICB7DQogICAgICAgICAgICAgICAgc3RydG9rIChOVUxMLCAiICIpOw0KICAg
ICAgICAgICAgICAgIHNwcmludGYoaW5yZWNvcmQuY2xpZW50X2lkLCIlcyIs
c3RydG9rKE5VTEwsICJcbiIpKTsNCiAgICAgICAgICAgICAgfQ0KDQogICAg
ICAgICAgICAgIGlmICghc3RyY21wKGZpcnN0d29yZCwiCUNsaWVudC1Qb3J0
LUlkIikpDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBzdHJ0
b2sgKE5VTEwsICIgIik7DQogICAgICAgICAgICAgICAgc3ByaW50Zih0ZW1w
c3RyaW5nMiwiJXMiLCBzdHJ0b2soTlVMTCwiXG4iKSk7DQogICAgICAgICAg
ICAgICAgaW5yZWNvcmQuY2xpZW50X3BvcnRfaWQgPSBhdG9pKHRlbXBzdHJp
bmcyKTsNCiAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgIGlmICgh
c3RyY21wKGZpcnN0d29yZCwiCUFjY3QtU3RhdHVzLVR5cGUiKSkNCiAgICAg
ICAgICAgICAgew0KICAgICAgICAgICAgICAgIHN0cnRvayAoTlVMTCwgIiAi
KTsNCiAgICAgICAgICAgICAgICBzcHJpbnRmKHRlbXBzdHJpbmcyLCAiJXMi
LCBzdHJ0b2soTlVMTCwiXG4iKSk7DQogICAgICAgICAgICAgICAgaWYgKHN0
cmNtcCh0ZW1wc3RyaW5nMiwiU3RhcnQiKSkNCiAgICAgICAgICAgICAgICAg
IGlucmVjb3JkLmFjY3Rfc3RhdHVzX3R5cGUgPSAwOw0KICAgICAgICAgICAg
ICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgIGlucmVjb3JkLmFjY3Rfc3Rh
dHVzX3R5cGUgPSAxOw0KICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg
ICAgaWYgKCFzdHJjbXAoZmlyc3R3b3JkLCIJQWNjdC1BdXRoZW50aWMiKSkN
CiAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHN0cnRvayAoTlVM
TCwgIiAiKTsNCiAgICAgICAgICAgICAgICBzcHJpbnRmKHRlbXBzdHJpbmcy
LCAiJXMiLCBzdHJ0b2soTlVMTCwiXG4iKSk7DQogICAgICAgICAgICAgICAg
aWYgKCFzdHJjbXAodGVtcHN0cmluZzIsIlJBRElVUyIpKQ0KICAgICAgICAg
ICAgICAgICAgaW5yZWNvcmQuYWNjdF9hdXRoZW50aWMgPSAxOw0KICAgICAg
ICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgIGlucmVjb3JkLmFj
Y3RfYXV0aGVudGljID0gMDsNCiAgICAgICAgICAgICAgfQ0KDQogICAgICAg
ICAgICAgIGlmICghc3RyY21wKGZpcnN0d29yZCwiCVVzZXItU2VydmljZS1U
eXBlIikpDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBzdHJ0
b2sgKE5VTEwsICIgIik7DQogICAgICAgICAgICAgICAgc3ByaW50Zih0ZW1w
c3RyaW5nMiwgIiVzIiwgc3RydG9rKE5VTEwsIlxuIikpOw0KICAgICAgICAg
ICAgICAgIGlmICghc3RyY21wKHRlbXBzdHJpbmcyLCJGcmFtZWQtVXNlciIp
KQ0KICAgICAgICAgICAgICAgICAgaW5yZWNvcmQudXNlcl9zZXJ2aWNlX3R5
cGUgPSAxOw0KICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAg
ICAgIGlmICghc3RyY21wKHRlbXBzdHJpbmcyLCJMb2dpbi1Vc2VyIikpDQog
ICAgICAgICAgICAgICAgICAgIGlucmVjb3JkLnVzZXJfc2VydmljZV90eXBl
ID0gMjsNCiAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAg
ICAgICAgaW5yZWNvcmQudXNlcl9zZXJ2aWNlX3R5cGUgPSAwOw0KICAgICAg
ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgaWYgKCFzdHJjbXAoZmlyc3R3
b3JkLCIJRnJhbWVkLVByb3RvY29sIikpDQogICAgICAgICAgICAgIHsNCiAg
ICAgICAgICAgICAgICBzdHJ0b2sgKE5VTEwsICIgIik7DQogICAgICAgICAg
ICAgICAgc3ByaW50Zih0ZW1wc3RyaW5nMiwgIiVzIiwgc3RydG9rKE5VTEws
IlxuIikpOw0KICAgICAgICAgICAgICAgIGlmICghc3RyY21wKHRlbXBzdHJp
bmcyLCJQUFAiKSkNCiAgICAgICAgICAgICAgICAgIGlucmVjb3JkLmZyYW1l
ZF9wcm90b2NvbCA9IDE7DQogICAgICAgICAgICAgICAgZWxzZQ0KICAgICAg
ICAgICAgICAgICAgaW5yZWNvcmQuZnJhbWVkX3Byb3RvY29sID0gMDsNCiAg
ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgIGlmICghc3RyY21wKGZp
cnN0d29yZCwiCUZyYW1lZC1BZGRyZXNzIikpDQogICAgICAgICAgICAgIHsN
CiAgICAgICAgICAgICAgICBzdHJ0b2sgKE5VTEwsICIgIik7DQogICAgICAg
ICAgICAgICAgc3ByaW50ZihpbnJlY29yZC5mcmFtZWRfYWRkcmVzcywgIiVz
Iiwgc3RydG9rKE5VTEwsIlxuIikpOw0KICAgICAgICAgICAgICB9DQoNCiAg
ICAgICAgICAgICAgaWYgKCFzdHJjbXAoZmlyc3R3b3JkLCIJQWNjdC1EZWxh
eS1UaW1lIikpDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBz
dHJ0b2sgKE5VTEwsICIgIik7DQogICAgICAgICAgICAgICAgc3ByaW50ZiAo
dGVtcHN0cmluZzIsICIlcyIsIHN0cnRvayAoTlVMTCwgIlxuIikpOw0KICAg
ICAgICAgICAgICAgIGlucmVjb3JkLmFjY3RfZGVsYXlfdGltZSA9IGF0b2ko
dGVtcHN0cmluZzIpOw0KICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg
ICAgaWYgKCFzdHJjbXAoZmlyc3R3b3JkLCIJQWNjdC1TZXNzaW9uLVRpbWUi
KSkNCiAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHN0cnRvayAo
TlVMTCwgIiAiKTsNCiAgICAgICAgICAgICAgICBzcHJpbnRmKHRlbXBzdHJp
bmcyLCAiJXMiLCBzdHJ0b2soTlVMTCwgIlxuIikpOw0KICAgICAgICAgICAg
ICAgIGlucmVjb3JkLmFjY3Rfc2Vzc2lvbl90aW1lID0gYXRvaSh0ZW1wc3Ry
aW5nMik7DQogICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICBpZiAo
IXN0cmNtcChmaXJzdHdvcmQsIglMb2dpbi1Ib3N0IikpDQogICAgICAgICAg
ICAgIHsNCiAgICAgICAgICAgICAgICBzdHJ0b2sgKE5VTEwsICIgIik7DQog
ICAgICAgICAgICAgICAgc3ByaW50ZihpbnJlY29yZC5sb2dpbl9ob3N0LCAi
JXMiLCBzdHJ0b2soTlVMTCwgIlxuIikpOw0KICAgICAgICAgICAgICB9DQoN
CiAgICAgICAgICAgICAgaWYgKCFzdHJjbXAoZmlyc3R3b3JkLCIJTG9naW4t
U2VydmljZSIpKQ0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg
c3RydG9rIChOVUxMLCAiICIpOw0KICAgICAgICAgICAgICAgIHNwcmludGYo
dGVtcHN0cmluZzIsICIlcyIsIHN0cnRvayhOVUxMLCJcbiIpKTsgICAgICAg
ICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAodGVtcHN0
cmluZzIsIlJsb2dpbiIpKQ0KICAgICAgICAgICAgICAgICAgaW5yZWNvcmQu
bG9naW5fc2VydmljZSA9IDE7DQogICAgICAgICAgICAgICAgZWxzZQ0KICAg
ICAgICAgICAgICAgICAgaW5yZWNvcmQubG9naW5fc2VydmljZSA9IDA7DQog
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg
aWYgKCghc3RyY21wKHVzZXJuYW1lLGlucmVjb3JkLnVzZXJuYW1lKSkgJiYg
aW5yZWNvcmQuYWNjdF9zdGF0dXNfdHlwZSA9PSAwKQ0KICAgICAgICAgICAg
ew0KICAgICAgICAgICAgICB0b3RhbHNlY3MgKz0gaW5yZWNvcmQuYWNjdF9z
ZXNzaW9uX3RpbWU7DQogICAgICAgICAgICAgIHByaW50ZigiT24gJXMgJXMg
JXMsICVzLCBhdCAlcywgJXMgbG9nZ2VkIG9mZiBhZnRlciAlZCBzZWNvbmRz
IG9mIHVzZS5cbiIsaW5yZWNvcmQuZGF5X29mX3dlZWssIGlucmVjb3JkLm1v
bnRoLCBpbnJlY29yZC5kYXksIGlucmVjb3JkLnllYXIsIGlucmVjb3JkLnRp
bWUsIHVzZXJuYW1lLCBpbnJlY29yZC5hY2N0X3Nlc3Npb25fdGltZSk7IA0K
ICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAg
fSANCiAgICB9DQogICAgcHJpbnRmKCJUb3RhbCBUaW1lOiAgJWQgc2Vjb25k
cyAoJTEuMWYgaG91cnMpXG4iLHRvdGFsc2VjcywoZmxvYXQpdG90YWxzZWNz
LzM2MDAuMCk7DQogIH0NCn0NCg0K
---1077146414-2118437503-846648022=:16903--