Mail Archives: pgcc/1999/03/03/03:58:41
Message-ID: | <000b01be6553$1b412e20$2f8230d4@main.medtech.ru>
|
From: | "Eugene M. Indenbom" <bom AT classic DOT iki DOT rssi DOT ru>
|
To: | <pgcc AT delorie DOT com>
|
Subject: | gcc-2.7.2.3 optimizes gzip better than pgcc-1.1.1
|
Date: | Wed, 3 Mar 1999 11:50:42 +0300
|
MIME-Version: | 1.0
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Mailer: | Microsoft Outlook Express 4.72.3155.0
|
X-MimeOLE: | Produced By Microsoft MimeOLE V4.72.3155.0
|
Reply-To: | pgcc AT delorie DOT com
|
This is a multi-part message in MIME format.
------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: 7bit
I finally find the version of gcc that generates better gzip code than pgcc.
This is gcc-2.7.2.3. Here goes comparision (gzip-1.2.4a)
$ make
CC="/home/ddict/glibc/pgcc-1.1.1/gcc/xgcc -B/home/ddict/glibc/pgcc-1.1.1/gcc
/" \
CFLAGS="-O6 -mpentiumpro"
$ time ./gzip -cd egcs-1.1.1.tar.gz > tmp.gz
real 0m10.693s
user 0m7.720s
sys 0m2.050s
As I already wrote the best optimization is -Os. Is it surprise?
After attempt to use CFLAGS+=-pg I got a seg fault. BUG!!!!!
Here goes gprof output (I do not use gcov as there is no gcov in 2.7.2.3):
(CFLAGS=-O2 -mpentiumpro -pg, full output attached to this message as
gprof.pgcc):
% cumulative self self total
time seconds seconds calls ms/call ms/call name
55.87 3.90 3.90 1602 2.43 2.43 updcrc
43.41 6.93 3.03 239 12.68 29.01 inflate_codes
0.57 6.97 0.04 717 0.06 0.06 huft_build
0.14 6.98 0.01 1600 0.01 0.01 write_buf
Now gcc-2.7.2.3:
$ make CC="usr/bin/gcc -Busr/lib/gcc-lib/i586-unknown-linux-gnu/2.7.2.3/"
CFLAGS="-O6"
$ time ./gzip -cd egcs-1.1.1.tar.gz > tmp.gz
real 0m8.756s
user 0m6.110s
sys 0m2.310s
gprof output, CFLAGS=-O6 -pg, , full output attached to this message as
gprof.ogcc:
% cumulative self self total
time seconds seconds calls ms/call ms/call name
50.29 2.63 2.63 239 11.00 21.50 inflate_codes
47.80 5.13 2.50 1600 1.56 1.57 flush_window
1.34 5.20 0.07 717 0.10 0.10 huft_build
0.38 5.22 0.02 239 0.08 21.88 inflate_dynamic
0.19 5.23 0.01 1600 0.01 0.01 write_buf
Note that updcrc and flush_window are the same thing:
flush_window is effectively a wrapper for updcrc that was not
inlined for some reason by pgcc in -O2 compilation.
gcc-2.7.2.3 -S output for flush_window goes here:
.align 16
.globl flush_window
.type flush_window,@function
flush_window:
pushl %ebp
movl %esp,%ebp
pushl %edi
pushl %esi
pushl %ebx
movl outcnt,%eax
testl %eax,%eax
je .L242
movl $window,%ebx
movl %eax,%esi
testl %ebx,%ebx
jne .L245
movl $-1,%ecx
jmp .L246
.align 16
.L245:
movl crc.78,%ecx
.align 4
.L248:
movb %cl,%al
xorb (%ebx),%al
movzbl %al,%edx
movl %ecx,%eax
shrl $8,%eax
movl crc_32_tab(,%edx,4),%ecx
xorl %eax,%ecx
incl %ebx
decl %esi
jne .L248
.L246:
movl %ecx,crc.78
cmpl $0,test
jne .L252
movl outcnt,%eax
pushl %eax
pushl $window
movl ofd,%eax
pushl %eax
call write_buf
.L252:
movl outcnt,%edi
addl %edi,bytes_out
movl $0,outcnt
.L242:
leal -12(%ebp),%esp
popl %ebx
popl %esi
popl %edi
movl %ebp,%esp
popl %ebp
ret
.Lfe6:
.size flush_window,.Lfe6-flush_window
Happy hacking!!! Sincerely Yours, Eugene.
P.S If you do not believe me just try gzip from RedHat 5.2.
It is gcc-2.7.2.3 compiled and glibc based.
------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: application/octet-stream;
name="gprof.ogcc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="gprof.ogcc"
RmxhdCBwcm9maWxlOgoKRWFjaCBzYW1wbGUgY291bnRzIGFzIDAuMDEgc2Vjb25kcy4KICAlICAg
Y3VtdWxhdGl2ZSAgIHNlbGYgICAgICAgICAgICAgIHNlbGYgICAgIHRvdGFsICAgICAgICAgICAK
IHRpbWUgICBzZWNvbmRzICAgc2Vjb25kcyAgICBjYWxscyAgbXMvY2FsbCAgbXMvY2FsbCAgbmFt
ZSAgICAKIDUwLjI5ICAgICAgMi42MyAgICAgMi42MyAgICAgIDIzOSAgICAxMS4wMCAgICAyMS41
MCAgaW5mbGF0ZV9jb2RlcwogNDcuODAgICAgICA1LjEzICAgICAyLjUwICAgICAxNjAwICAgICAx
LjU2ICAgICAxLjU3ICBmbHVzaF93aW5kb3cKICAxLjM0ICAgICAgNS4yMCAgICAgMC4wNyAgICAg
IDcxNyAgICAgMC4xMCAgICAgMC4xMCAgaHVmdF9idWlsZAogIDAuMzggICAgICA1LjIyICAgICAw
LjAyICAgICAgMjM5ICAgICAwLjA4ICAgIDIxLjg4ICBpbmZsYXRlX2R5bmFtaWMKICAwLjE5ICAg
ICAgNS4yMyAgICAgMC4wMSAgICAgMTYwMCAgICAgMC4wMSAgICAgMC4wMSAgd3JpdGVfYnVmCiAg
MC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAzNTUgICAgIDAuMDAgICAgIDAuMDAgIGZpbGxf
aW5idWYKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgIDIzOSAgICAgMC4wMCAgICAyMS44
OCAgaW5mbGF0ZV9ibG9jawogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAgICAgICAyICAgICAw
LjAwICAgICAwLjAwICB1cGRjcmMKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAg
ICAgMC4wMCAgICAgMC4wMCAgYWRkX2Vudm9wdAogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAg
ICAgICAxICAgICAwLjAwICAgICAwLjAwICBiYXNlbmFtZQogIDAuMDAgICAgICA1LjIzICAgICAw
LjAwICAgICAgICAxICAgICAwLjAwICAgICAwLjAwICBjbGVhcl9idWZzCiAgMC4wMCAgICAgIDUu
MjMgICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGRvX2V4aXQKICAwLjAwICAg
ICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgZ2V0X2lzdGF0CiAg
MC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGdldF9t
ZXRob2QKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgNTIzMC4w
MCAgaW5mbGF0ZQogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAgICAgICAxICAgICAwLjAwICA1
MjMwLjAwICB0cmVhdF9maWxlCiAgMC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAgIDEgICAg
IDAuMDAgIDUyMzAuMDAgIHVuemlwCgogJSAgICAgICAgIHRoZSBwZXJjZW50YWdlIG9mIHRoZSB0
b3RhbCBydW5uaW5nIHRpbWUgb2YgdGhlCnRpbWUgICAgICAgcHJvZ3JhbSB1c2VkIGJ5IHRoaXMg
ZnVuY3Rpb24uCgpjdW11bGF0aXZlIGEgcnVubmluZyBzdW0gb2YgdGhlIG51bWJlciBvZiBzZWNv
bmRzIGFjY291bnRlZAogc2Vjb25kcyAgIGZvciBieSB0aGlzIGZ1bmN0aW9uIGFuZCB0aG9zZSBs
aXN0ZWQgYWJvdmUgaXQuCgogc2VsZiAgICAgIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhY2NvdW50
ZWQgZm9yIGJ5IHRoaXMKc2Vjb25kcyAgICBmdW5jdGlvbiBhbG9uZS4gIFRoaXMgaXMgdGhlIG1h
am9yIHNvcnQgZm9yIHRoaXMKICAgICAgICAgICBsaXN0aW5nLgoKY2FsbHMgICAgICB0aGUgbnVt
YmVyIG9mIHRpbWVzIHRoaXMgZnVuY3Rpb24gd2FzIGludm9rZWQsIGlmCiAgICAgICAgICAgdGhp
cyBmdW5jdGlvbiBpcyBwcm9maWxlZCwgZWxzZSBibGFuay4KIAogc2VsZiAgICAgIHRoZSBhdmVy
YWdlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc3BlbnQgaW4gdGhpcwptcy9jYWxsICAgIGZ1bmN0
aW9uIHBlciBjYWxsLCBpZiB0aGlzIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLAoJICAgZWxzZSBibGFu
ay4KCiB0b3RhbCAgICAgdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBzcGVudCBp
biB0aGlzCm1zL2NhbGwgICAgZnVuY3Rpb24gYW5kIGl0cyBkZXNjZW5kZW50cyBwZXIgY2FsbCwg
aWYgdGhpcyAKCSAgIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLCBlbHNlIGJsYW5rLgoKbmFtZSAgICAg
ICB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24uICBUaGlzIGlzIHRoZSBtaW5vciBzb3J0CiAgICAg
ICAgICAgZm9yIHRoaXMgbGlzdGluZy4gVGhlIGluZGV4IHNob3dzIHRoZSBsb2NhdGlvbiBvZgoJ
ICAgdGhlIGZ1bmN0aW9uIGluIHRoZSBncHJvZiBsaXN0aW5nLiBJZiB0aGUgaW5kZXggaXMKCSAg
IGluIHBhcmVudGhlc2lzIGl0IHNob3dzIHdoZXJlIGl0IHdvdWxkIGFwcGVhciBpbgoJICAgdGhl
IGdwcm9mIGxpc3RpbmcgaWYgaXQgd2VyZSB0byBiZSBwcmludGVkLgoMCgkJICAgICBDYWxsIGdy
YXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKQoKCmdyYW51bGFyaXR5OiBlYWNoIHNhbXBsZSBoaXQg
Y292ZXJzIDQgYnl0ZShzKSBmb3IgMC4xOSUgb2YgNS4yMyBzZWNvbmRzCgppbmRleCAlIHRpbWUg
ICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDUuMjMgICAgICAgMS8xICAgICAgICAgICB1bnppcCBbM10KWzFdICAgIDEwMC4wICAgIDAu
MDAgICAgNS4yMyAgICAgICAxICAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAgICAgICAgIDAu
MDAgICAgNS4yMyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGVfYmxvY2sgWzVdCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xNjAwICAgICAgICBmbHVzaF93aW5kb3cgWzhd
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDUuMjMgICAgICAgMS8xICAgICAgICAgICBtYWluIFs0XQpbMl0gICAg
MTAwLjAgICAgMC4wMCAgICA1LjIzICAgICAgIDEgICAgICAgICB0cmVhdF9maWxlIFsyXQogICAg
ICAgICAgICAgICAgMC4wMCAgICA1LjIzICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzNdCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBnZXRfaXN0YXQg
WzE3XQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgY2xl
YXJfYnVmcyBbMTVdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAg
ICAgICBnZXRfbWV0aG9kIFsxOF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNS4yMyAgICAgICAxLzEgICAgICAg
ICAgIHRyZWF0X2ZpbGUgWzJdClszXSAgICAxMDAuMCAgICAwLjAwICAgIDUuMjMgICAgICAgMSAg
ICAgICAgIHVuemlwIFszXQogICAgICAgICAgICAgICAgMC4wMCAgICA1LjIzICAgICAgIDEvMSAg
ICAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAy
LzIgICAgICAgICAgIHVwZGNyYyBbMTJdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8c3BvbnRhbmVvdXM+Cls0XSAgICAxMDAuMCAgICAwLjAwICAgIDUuMjMgICAgICAg
ICAgICAgICAgIG1haW4gWzRdCiAgICAgICAgICAgICAgICAwLjAwICAgIDUuMjMgICAgICAgMS8x
ICAgICAgICAgICB0cmVhdF9maWxlIFsyXQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDEvMSAgICAgICAgICAgYmFzZW5hbWUgWzE0XQogICAgICAgICAgICAgICAgMC4wMCAgICAw
LjAwICAgICAgIDEvMSAgICAgICAgICAgYWRkX2Vudm9wdCBbMTNdCiAgICAgICAgICAgICAgICAw
LjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBkb19leGl0IFsxNl0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAg
ICAgNS4yMyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGUgWzFdCls1XSAgICAxMDAuMCAgICAw
LjAwICAgIDUuMjMgICAgIDIzOSAgICAgICAgIGluZmxhdGVfYmxvY2sgWzVdCiAgICAgICAgICAg
ICAgICAwLjAyICAgIDUuMjEgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZd
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg
ICAgICAgICAwLjAyICAgIDUuMjEgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2Jsb2NrIFs1
XQpbNl0gICAgMTAwLjAgICAgMC4wMiAgICA1LjIxICAgICAyMzkgICAgICAgICBpbmZsYXRlX2R5
bmFtaWMgWzZdCiAgICAgICAgICAgICAgICAyLjYzICAgIDIuNTEgICAgIDIzOS8yMzkgICAgICAg
ICBpbmZsYXRlX2NvZGVzIFs3XQogICAgICAgICAgICAgICAgMC4wNyAgICAwLjAwICAgICA3MTcv
NzE3ICAgICAgICAgaHVmdF9idWlsZCBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDIuNjMgICAgMi41MSAgICAgMjM5LzIz
OSAgICAgICAgIGluZmxhdGVfZHluYW1pYyBbNl0KWzddICAgICA5OC4yICAgIDIuNjMgICAgMi41
MSAgICAgMjM5ICAgICAgICAgaW5mbGF0ZV9jb2RlcyBbN10KICAgICAgICAgICAgICAgIDIuNTAg
ICAgMC4wMSAgICAxNTk5LzE2MDAgICAgICAgIGZsdXNoX3dpbmRvdyBbOF0KICAgICAgICAgICAg
ICAgIDAuMDAgICAgMC4wMCAgICAgMzU0LzM1NSAgICAgICAgIGZpbGxfaW5idWYgWzExXQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAg
ICAgMC4wMCAgICAwLjAwICAgICAgIDEvMTYwMCAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAg
ICAgICAgIDIuNTAgICAgMC4wMSAgICAxNTk5LzE2MDAgICAgICAgIGluZmxhdGVfY29kZXMgWzdd
Cls4XSAgICAgNDguMCAgICAyLjUwICAgIDAuMDEgICAgMTYwMCAgICAgICAgIGZsdXNoX3dpbmRv
dyBbOF0KICAgICAgICAgICAgICAgIDAuMDEgICAgMC4wMCAgICAxNjAwLzE2MDAgICAgICAgIHdy
aXRlX2J1ZiBbMTBdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgICAgICAgICAgICAwLjA3ICAgIDAuMDAgICAgIDcxNy83MTcgICAgICAgICBpbmZs
YXRlX2R5bmFtaWMgWzZdCls5XSAgICAgIDEuMyAgICAwLjA3ICAgIDAuMDAgICAgIDcxNyAgICAg
ICAgIGh1ZnRfYnVpbGQgWzldCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAxICAgIDAuMDAgICAgMTYwMC8xNjAwICAgICAg
ICBmbHVzaF93aW5kb3cgWzhdClsxMF0gICAgIDAuMiAgICAwLjAxICAgIDAuMDAgICAgMTYwMCAg
ICAgICAgIHdyaXRlX2J1ZiBbMTBdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUgICAg
ICAgICBnZXRfbWV0aG9kIFsxOF0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgMzU0
LzM1NSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddClsxMV0gICAgIDAuMCAgICAwLjAwICAgIDAu
MDAgICAgIDM1NSAgICAgICAgIGZpbGxfaW5idWYgWzExXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDIvMiAgICAgICAgICAgdW56aXAgWzNdClsxMl0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAg
ICAgICAgMiAgICAgICAgIHVwZGNyYyBbMTJdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8x
ICAgICAgICAgICBtYWluIFs0XQpbMTNdICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEg
ICAgICAgICBhZGRfZW52b3B0IFsxM10KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAg
ICAgICAgIG1haW4gWzRdClsxNF0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAg
ICAgIGJhc2VuYW1lIFsxNF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAg
IHRyZWF0X2ZpbGUgWzJdClsxNV0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAg
ICAgIGNsZWFyX2J1ZnMgWzE1XQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAg
ICAgbWFpbiBbNF0KWzE2XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAg
ZG9fZXhpdCBbMTZdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVh
dF9maWxlIFsyXQpbMTddICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBn
ZXRfaXN0YXQgWzE3XQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgdHJl
YXRfZmlsZSBbMl0KWzE4XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAg
Z2V0X21ldGhvZCBbMThdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUg
ICAgICAgICBmaWxsX2luYnVmIFsxMV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KCiBUaGlzIHRhYmxlIGRlc2NyaWJlcyB0aGUgY2FsbCB0cmVlIG9mIHRo
ZSBwcm9ncmFtLCBhbmQgd2FzIHNvcnRlZCBieQogdGhlIHRvdGFsIGFtb3VudCBvZiB0aW1lIHNw
ZW50IGluIGVhY2ggZnVuY3Rpb24gYW5kIGl0cyBjaGlsZHJlbi4KCiBFYWNoIGVudHJ5IGluIHRo
aXMgdGFibGUgY29uc2lzdHMgb2Ygc2V2ZXJhbCBsaW5lcy4gIFRoZSBsaW5lIHdpdGggdGhlCiBp
bmRleCBudW1iZXIgYXQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gbGlzdHMgdGhlIGN1cnJlbnQgZnVu
Y3Rpb24uCiBUaGUgbGluZXMgYWJvdmUgaXQgbGlzdCB0aGUgZnVuY3Rpb25zIHRoYXQgY2FsbGVk
IHRoaXMgZnVuY3Rpb24sCiBhbmQgdGhlIGxpbmVzIGJlbG93IGl0IGxpc3QgdGhlIGZ1bmN0aW9u
cyB0aGlzIG9uZSBjYWxsZWQuCiBUaGlzIGxpbmUgbGlzdHM6CiAgICAgaW5kZXgJQSB1bmlxdWUg
bnVtYmVyIGdpdmVuIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgdGFibGUuCgkJSW5kZXggbnVtYmVy
cyBhcmUgc29ydGVkIG51bWVyaWNhbGx5LgoJCVRoZSBpbmRleCBudW1iZXIgaXMgcHJpbnRlZCBu
ZXh0IHRvIGV2ZXJ5IGZ1bmN0aW9uIG5hbWUgc28KCQlpdCBpcyBlYXNpZXIgdG8gbG9vayB1cCB3
aGVyZSB0aGUgZnVuY3Rpb24gaW4gdGhlIHRhYmxlLgoKICAgICAlIHRpbWUJVGhpcyBpcyB0aGUg
cGVyY2VudGFnZSBvZiB0aGUgYHRvdGFsJyB0aW1lIHRoYXQgd2FzIHNwZW50CgkJaW4gdGhpcyBm
dW5jdGlvbiBhbmQgaXRzIGNoaWxkcmVuLiAgTm90ZSB0aGF0IGR1ZSB0bwoJCWRpZmZlcmVudCB2
aWV3cG9pbnRzLCBmdW5jdGlvbnMgZXhjbHVkZWQgYnkgb3B0aW9ucywgZXRjLAoJCXRoZXNlIG51
bWJlcnMgd2lsbCBOT1QgYWRkIHVwIHRvIDEwMCUuCgogICAgIHNlbGYJVGhpcyBpcyB0aGUgdG90
YWwgYW1vdW50IG9mIHRpbWUgc3BlbnQgaW4gdGhpcyBmdW5jdGlvbi4KCiAgICAgY2hpbGRyZW4J
VGhpcyBpcyB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUgcHJvcGFnYXRlZCBpbnRvIHRoaXMKCQlm
dW5jdGlvbiBieSBpdHMgY2hpbGRyZW4uCgogICAgIGNhbGxlZAlUaGlzIGlzIHRoZSBudW1iZXIg
b2YgdGltZXMgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQuCgkJSWYgdGhlIGZ1bmN0aW9uIGNhbGxl
ZCBpdHNlbGYgcmVjdXJzaXZlbHksIHRoZSBudW1iZXIKCQlvbmx5IGluY2x1ZGVzIG5vbi1yZWN1
cnNpdmUgY2FsbHMsIGFuZCBpcyBmb2xsb3dlZCBieQoJCWEgYCsnIGFuZCB0aGUgbnVtYmVyIG9m
IHJlY3Vyc2l2ZSBjYWxscy4KCiAgICAgbmFtZQlUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmdW5j
dGlvbi4gIFRoZSBpbmRleCBudW1iZXIgaXMKCQlwcmludGVkIGFmdGVyIGl0LiAgSWYgdGhlIGZ1
bmN0aW9uIGlzIGEgbWVtYmVyIG9mIGEKCQljeWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmlu
dGVkIGJldHdlZW4gdGhlCgkJZnVuY3Rpb24ncyBuYW1lIGFuZCB0aGUgaW5kZXggbnVtYmVyLgoK
CiBGb3IgdGhlIGZ1bmN0aW9uJ3MgcGFyZW50cywgdGhlIGZpZWxkcyBoYXZlIHRoZSBmb2xsb3dp
bmcgbWVhbmluZ3M6CgogICAgIHNlbGYJVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3
YXMgcHJvcGFnYXRlZCBkaXJlY3RseQoJCWZyb20gdGhlIGZ1bmN0aW9uIGludG8gdGhpcyBwYXJl
bnQuCgogICAgIGNoaWxkcmVuCVRoaXMgaXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgd2FzIHBy
b3BhZ2F0ZWQgZnJvbQoJCXRoZSBmdW5jdGlvbidzIGNoaWxkcmVuIGludG8gdGhpcyBwYXJlbnQu
CgogICAgIGNhbGxlZAlUaGlzIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhpcyBwYXJlbnQgY2Fs
bGVkIHRoZQoJCWZ1bmN0aW9uIGAvJyB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBmdW5j
dGlvbgoJCXdhcyBjYWxsZWQuICBSZWN1cnNpdmUgY2FsbHMgdG8gdGhlIGZ1bmN0aW9uIGFyZSBu
b3QKCQlpbmNsdWRlZCBpbiB0aGUgbnVtYmVyIGFmdGVyIHRoZSBgLycuCgogICAgIG5hbWUJVGhp
cyBpcyB0aGUgbmFtZSBvZiB0aGUgcGFyZW50LiAgVGhlIHBhcmVudCdzIGluZGV4CgkJbnVtYmVy
IGlzIHByaW50ZWQgYWZ0ZXIgaXQuICBJZiB0aGUgcGFyZW50IGlzIGEKCQltZW1iZXIgb2YgYSBj
eWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmludGVkIGJldHdlZW4KCQl0aGUgbmFtZSBhbmQg
dGhlIGluZGV4IG51bWJlci4KCiBJZiB0aGUgcGFyZW50cyBvZiB0aGUgZnVuY3Rpb24gY2Fubm90
IGJlIGRldGVybWluZWQsIHRoZSB3b3JkCiBgPHNwb250YW5lb3VzPicgaXMgcHJpbnRlZCBpbiB0
aGUgYG5hbWUnIGZpZWxkLCBhbmQgYWxsIHRoZSBvdGhlcgogZmllbGRzIGFyZSBibGFuay4KCiBG
b3IgdGhlIGZ1bmN0aW9uJ3MgY2hpbGRyZW4sIHRoZSBmaWVsZHMgaGF2ZSB0aGUgZm9sbG93aW5n
IG1lYW5pbmdzOgoKICAgICBzZWxmCVRoaXMgaXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgd2Fz
IHByb3BhZ2F0ZWQgZGlyZWN0bHkKCQlmcm9tIHRoZSBjaGlsZCBpbnRvIHRoZSBmdW5jdGlvbi4K
CiAgICAgY2hpbGRyZW4JVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFn
YXRlZCBmcm9tIHRoZQoJCWNoaWxkJ3MgY2hpbGRyZW4gdG8gdGhlIGZ1bmN0aW9uLgoKICAgICBj
YWxsZWQJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBmdW5jdGlvbiBjYWxsZWQKCQl0
aGlzIGNoaWxkIGAvJyB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBjaGlsZAoJCXdhcyBj
YWxsZWQuICBSZWN1cnNpdmUgY2FsbHMgYnkgdGhlIGNoaWxkIGFyZSBub3QKCQlsaXN0ZWQgaW4g
dGhlIG51bWJlciBhZnRlciB0aGUgYC8nLgoKICAgICBuYW1lCVRoaXMgaXMgdGhlIG5hbWUgb2Yg
dGhlIGNoaWxkLiAgVGhlIGNoaWxkJ3MgaW5kZXgKCQludW1iZXIgaXMgcHJpbnRlZCBhZnRlciBp
dC4gIElmIHRoZSBjaGlsZCBpcyBhCgkJbWVtYmVyIG9mIGEgY3ljbGUsIHRoZSBjeWNsZSBudW1i
ZXIgaXMgcHJpbnRlZAoJCWJldHdlZW4gdGhlIG5hbWUgYW5kIHRoZSBpbmRleCBudW1iZXIuCgog
SWYgdGhlcmUgYXJlIGFueSBjeWNsZXMgKGNpcmNsZXMpIGluIHRoZSBjYWxsIGdyYXBoLCB0aGVy
ZSBpcyBhbgogZW50cnkgZm9yIHRoZSBjeWNsZS1hcy1hLXdob2xlLiAgVGhpcyBlbnRyeSBzaG93
cyB3aG8gY2FsbGVkIHRoZQogY3ljbGUgKGFzIHBhcmVudHMpIGFuZCB0aGUgbWVtYmVycyBvZiB0
aGUgY3ljbGUgKGFzIGNoaWxkcmVuLikKIFRoZSBgKycgcmVjdXJzaXZlIGNhbGxzIGVudHJ5IHNo
b3dzIHRoZSBudW1iZXIgb2YgZnVuY3Rpb24gY2FsbHMgdGhhdAogd2VyZSBpbnRlcm5hbCB0byB0
aGUgY3ljbGUsIGFuZCB0aGUgY2FsbHMgZW50cnkgZm9yIGVhY2ggbWVtYmVyIHNob3dzLAogZm9y
IHRoYXQgbWVtYmVyLCBob3cgbWFueSB0aW1lcyBpdCB3YXMgY2FsbGVkIGZyb20gb3RoZXIgbWVt
YmVycyBvZgogdGhlIGN5Y2xlLgoKDApJbmRleCBieSBmdW5jdGlvbiBuYW1lCgogIFsxM10gYWRk
X2Vudm9wdCAgICAgICAgICAgICBbMTddIGdldF9pc3RhdCAgICAgICAgICAgICAgIFs2XSBpbmZs
YXRlX2R5bmFtaWMKICBbMTRdIGJhc2VuYW1lICAgICAgICAgICAgICAgWzE4XSBnZXRfbWV0aG9k
ICAgICAgICAgICAgICBbMl0gdHJlYXRfZmlsZQogIFsxNV0gY2xlYXJfYnVmcyAgICAgICAgICAg
ICAgWzldIGh1ZnRfYnVpbGQgICAgICAgICAgICAgIFszXSB1bnppcAogIFsxNl0gZG9fZXhpdCAg
ICAgICAgICAgICAgICAgWzFdIGluZmxhdGUgICAgICAgICAgICAgICAgWzEyXSB1cGRjcmMKICBb
MTFdIGZpbGxfaW5idWYgICAgICAgICAgICAgIFs1XSBpbmZsYXRlX2Jsb2NrICAgICAgICAgIFsx
MF0gd3JpdGVfYnVmCiAgIFs4XSBmbHVzaF93aW5kb3cgICAgICAgICAgICBbN10gaW5mbGF0ZV9j
b2Rlcwo=
------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: application/octet-stream;
name="gprof.pgcc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="gprof.pgcc"
RmxhdCBwcm9maWxlOgoKRWFjaCBzYW1wbGUgY291bnRzIGFzIDAuMDEgc2Vjb25kcy4KICAlICAg
Y3VtdWxhdGl2ZSAgIHNlbGYgICAgICAgICAgICAgIHNlbGYgICAgIHRvdGFsICAgICAgICAgICAK
IHRpbWUgICBzZWNvbmRzICAgc2Vjb25kcyAgICBjYWxscyAgbXMvY2FsbCAgbXMvY2FsbCAgbmFt
ZSAgICAKIDU1Ljg3ICAgICAgMy45MCAgICAgMy45MCAgICAgMTYwMiAgICAgMi40MyAgICAgMi40
MyAgdXBkY3JjCiA0My40MSAgICAgIDYuOTMgICAgIDMuMDMgICAgICAyMzkgICAgMTIuNjggICAg
MjkuMDEgIGluZmxhdGVfY29kZXMKICAwLjU3ICAgICAgNi45NyAgICAgMC4wNCAgICAgIDcxNyAg
ICAgMC4wNiAgICAgMC4wNiAgaHVmdF9idWlsZAogIDAuMTQgICAgICA2Ljk4ICAgICAwLjAxICAg
ICAxNjAwICAgICAwLjAxICAgICAwLjAxICB3cml0ZV9idWYKICAwLjAwICAgICAgNi45OCAgICAg
MC4wMCAgICAgMTYwMCAgICAgMC4wMCAgICAgMi40NCAgZmx1c2hfd2luZG93CiAgMC4wMCAgICAg
IDYuOTggICAgIDAuMDAgICAgICA3MTcgICAgIDAuMDAgICAgIDAuMDAgIGh1ZnRfZnJlZQogIDAu
MDAgICAgICA2Ljk4ICAgICAwLjAwICAgICAgMzU1ICAgICAwLjAwICAgICAwLjAwICBmaWxsX2lu
YnVmCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAyMzkgICAgIDAuMDAgICAgMjkuMTcg
IGluZmxhdGVfYmxvY2sKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgIDIzOSAgICAgMC4w
MCAgICAyOS4xNyAgaW5mbGF0ZV9keW5hbWljCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAg
ICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGFkZF9lbnZvcHQKICAwLjAwICAgICAgNi45OCAgICAg
MC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgYmFzZW5hbWUKICAwLjAwICAgICAgNi45
OCAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgY2xlYXJfYnVmcwogIDAuMDAg
ICAgICA2Ljk4ICAgICAwLjAwICAgICAgICAxICAgICAwLjAwICAgICAwLjAwICBkb19leGl0CiAg
MC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGRvX3N0
YXQKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAg
Z2V0X2lzdGF0CiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAg
IDAuMDAgIGdldF9tZXRob2QKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgICAgMSAgICAg
MC4wMCAgNjk3NS4xMyAgaW5mbGF0ZQogIDAuMDAgICAgICA2Ljk4ICAgICAwLjAwICAgICAgICAx
ICAgICAwLjAwICA2OTgwLjAwICB0cmVhdF9maWxlCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAg
ICAgICAgIDEgICAgIDAuMDAgIDY5ODAuMDAgIHVuemlwCgogJSAgICAgICAgIHRoZSBwZXJjZW50
YWdlIG9mIHRoZSB0b3RhbCBydW5uaW5nIHRpbWUgb2YgdGhlCnRpbWUgICAgICAgcHJvZ3JhbSB1
c2VkIGJ5IHRoaXMgZnVuY3Rpb24uCgpjdW11bGF0aXZlIGEgcnVubmluZyBzdW0gb2YgdGhlIG51
bWJlciBvZiBzZWNvbmRzIGFjY291bnRlZAogc2Vjb25kcyAgIGZvciBieSB0aGlzIGZ1bmN0aW9u
IGFuZCB0aG9zZSBsaXN0ZWQgYWJvdmUgaXQuCgogc2VsZiAgICAgIHRoZSBudW1iZXIgb2Ygc2Vj
b25kcyBhY2NvdW50ZWQgZm9yIGJ5IHRoaXMKc2Vjb25kcyAgICBmdW5jdGlvbiBhbG9uZS4gIFRo
aXMgaXMgdGhlIG1ham9yIHNvcnQgZm9yIHRoaXMKICAgICAgICAgICBsaXN0aW5nLgoKY2FsbHMg
ICAgICB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoaXMgZnVuY3Rpb24gd2FzIGludm9rZWQsIGlmCiAg
ICAgICAgICAgdGhpcyBmdW5jdGlvbiBpcyBwcm9maWxlZCwgZWxzZSBibGFuay4KIAogc2VsZiAg
ICAgIHRoZSBhdmVyYWdlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc3BlbnQgaW4gdGhpcwptcy9j
YWxsICAgIGZ1bmN0aW9uIHBlciBjYWxsLCBpZiB0aGlzIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLAoJ
ICAgZWxzZSBibGFuay4KCiB0b3RhbCAgICAgdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIG1pbGxpc2Vj
b25kcyBzcGVudCBpbiB0aGlzCm1zL2NhbGwgICAgZnVuY3Rpb24gYW5kIGl0cyBkZXNjZW5kZW50
cyBwZXIgY2FsbCwgaWYgdGhpcyAKCSAgIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLCBlbHNlIGJsYW5r
LgoKbmFtZSAgICAgICB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24uICBUaGlzIGlzIHRoZSBtaW5v
ciBzb3J0CiAgICAgICAgICAgZm9yIHRoaXMgbGlzdGluZy4gVGhlIGluZGV4IHNob3dzIHRoZSBs
b2NhdGlvbiBvZgoJICAgdGhlIGZ1bmN0aW9uIGluIHRoZSBncHJvZiBsaXN0aW5nLiBJZiB0aGUg
aW5kZXggaXMKCSAgIGluIHBhcmVudGhlc2lzIGl0IHNob3dzIHdoZXJlIGl0IHdvdWxkIGFwcGVh
ciBpbgoJICAgdGhlIGdwcm9mIGxpc3RpbmcgaWYgaXQgd2VyZSB0byBiZSBwcmludGVkLgoMCgkJ
ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKQoKCmdyYW51bGFyaXR5OiBlYWNo
IHNhbXBsZSBoaXQgY292ZXJzIDQgYnl0ZShzKSBmb3IgMC4xNCUgb2YgNi45OCBzZWNvbmRzCgpp
bmRleCAlIHRpbWUgICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDYuOTggICAgICAgMS8xICAgICAgICAgICBtYWluIFszXQpbMV0gICAg
MTAwLjAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEgICAgICAgICB0cmVhdF9maWxlIFsxXQogICAg
ICAgICAgICAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzJdCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBnZXRfaXN0YXQg
WzE5XQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgY2xl
YXJfYnVmcyBbMTZdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAg
ICAgICBnZXRfbWV0aG9kIFsyMF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45OCAgICAgICAxLzEgICAgICAg
ICAgIHRyZWF0X2ZpbGUgWzFdClsyXSAgICAxMDAuMCAgICAwLjAwICAgIDYuOTggICAgICAgMSAg
ICAgICAgIHVuemlwIFsyXQogICAgICAgICAgICAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEvMSAg
ICAgICAgICAgaW5mbGF0ZSBbNF0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAy
LzE2MDIgICAgICAgIHVwZGNyYyBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxzcG9udGFuZW91cz4KWzNdICAgIDEwMC4wICAgIDAuMDAgICAgNi45OCAgICAgICAg
ICAgICAgICAgbWFpbiBbM10KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45OCAgICAgICAxLzEg
ICAgICAgICAgIHRyZWF0X2ZpbGUgWzFdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAg
ICAgMS8xICAgICAgICAgICBiYXNlbmFtZSBbMTVdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAu
MDAgICAgICAgMS8xICAgICAgICAgICBhZGRfZW52b3B0IFsxNF0KICAgICAgICAgICAgICAgIDAu
MDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAgIGRvX2V4aXQgWzE3XQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAg
ICA2Ljk4ICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzJdCls0XSAgICAgOTkuOSAgICAwLjAw
ICAgIDYuOTggICAgICAgMSAgICAgICAgIGluZmxhdGUgWzRdCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDYuOTcgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2Jsb2NrIFs1XQogICAgICAgICAg
ICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMTYwMCAgICAgICAgZmx1c2hfd2luZG93IFs4XQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAg
ICAgICAgMC4wMCAgICA2Ljk3ICAgICAyMzkvMjM5ICAgICAgICAgaW5mbGF0ZSBbNF0KWzVdICAg
ICA5OS45ICAgIDAuMDAgICAgNi45NyAgICAgMjM5ICAgICAgICAgaW5mbGF0ZV9ibG9jayBbNV0K
ICAgICAgICAgICAgICAgIDAuMDAgICAgNi45NyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGVf
ZHluYW1pYyBbNl0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45NyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxh
dGVfYmxvY2sgWzVdCls2XSAgICAgOTkuOSAgICAwLjAwICAgIDYuOTcgICAgIDIzOSAgICAgICAg
IGluZmxhdGVfZHluYW1pYyBbNl0KICAgICAgICAgICAgICAgIDMuMDMgICAgMy45MCAgICAgMjM5
LzIzOSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddCiAgICAgICAgICAgICAgICAwLjA0ICAgIDAu
MDAgICAgIDcxNy83MTcgICAgICAgICBodWZ0X2J1aWxkIFsxMF0KICAgICAgICAgICAgICAgIDAu
MDAgICAgMC4wMCAgICAgNzE3LzcxNyAgICAgICAgIGh1ZnRfZnJlZSBbMTJdCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAzLjAz
ICAgIDMuOTAgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZdCls3XSAgICAg
OTkuMyAgICAzLjAzICAgIDMuOTAgICAgIDIzOSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDMuOTAgICAgMTU5OS8xNjAwICAgICAgICBmbHVzaF93aW5k
b3cgWzhdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgIDM1NC8zNTUgICAgICAgICBm
aWxsX2luYnVmIFsxM10KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzE2MDAgICAgICAgIGlu
ZmxhdGUgWzRdCiAgICAgICAgICAgICAgICAwLjAwICAgIDMuOTAgICAgMTU5OS8xNjAwICAgICAg
ICBpbmZsYXRlX2NvZGVzIFs3XQpbOF0gICAgIDU1LjkgICAgMC4wMCAgICAzLjkxICAgIDE2MDAg
ICAgICAgICBmbHVzaF93aW5kb3cgWzhdCiAgICAgICAgICAgICAgICAzLjkwICAgIDAuMDAgICAg
MTYwMC8xNjAyICAgICAgICB1cGRjcmMgWzldCiAgICAgICAgICAgICAgICAwLjAxICAgIDAuMDAg
ICAgMTYwMC8xNjAwICAgICAgICB3cml0ZV9idWYgWzExXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDIvMTYwMiAgICAgICAgdW56aXAgWzJdCiAgICAgICAgICAgICAgICAzLjkwICAgIDAuMDAg
ICAgMTYwMC8xNjAyICAgICAgICBmbHVzaF93aW5kb3cgWzhdCls5XSAgICAgNTUuOSAgICAzLjkw
ICAgIDAuMDAgICAgMTYwMiAgICAgICAgIHVwZGNyYyBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDQgICAgMC4wMCAg
ICAgNzE3LzcxNyAgICAgICAgIGluZmxhdGVfZHluYW1pYyBbNl0KWzEwXSAgICAgMC42ICAgIDAu
MDQgICAgMC4wMCAgICAgNzE3ICAgICAgICAgaHVmdF9idWlsZCBbMTBdCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAxICAg
IDAuMDAgICAgMTYwMC8xNjAwICAgICAgICBmbHVzaF93aW5kb3cgWzhdClsxMV0gICAgIDAuMSAg
ICAwLjAxICAgIDAuMDAgICAgMTYwMCAgICAgICAgIHdyaXRlX2J1ZiBbMTFdCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDAuMDAgICAgIDcxNy83MTcgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZdClsxMl0gICAg
IDAuMCAgICAwLjAwICAgIDAuMDAgICAgIDcxNyAgICAgICAgIGh1ZnRfZnJlZSBbMTJdCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAg
ICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUgICAgICAgICBnZXRfbWV0aG9kIFsyMF0KICAgICAg
ICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgMzU0LzM1NSAgICAgICAgIGluZmxhdGVfY29kZXMg
WzddClsxM10gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgIDM1NSAgICAgICAgIGZpbGxfaW5i
dWYgWzEzXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgbWFpbiBbM10K
WzE0XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAgYWRkX2Vudm9wdCBb
MTRdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAg
ICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBtYWluIFszXQpbMTVd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBiYXNlbmFtZSBbMTVdCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAg
ICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMTZd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBjbGVhcl9idWZzIFsxNl0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAg
ICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAgIG1haW4gWzNdClsxN10gICAg
IDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAgICAgIGRvX2V4aXQgWzE3XQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAg
MC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgZ2V0X2lzdGF0IFsxOV0KWzE4XSAgICAg
MC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAgZG9fc3RhdCBbMThdCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAw
LjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMTldICAgICAw
LjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBnZXRfaXN0YXQgWzE5XQogICAgICAg
ICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgZG9fc3RhdCBbMThdCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAg
ICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMjBd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBnZXRfbWV0aG9kIFsyMF0K
ICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzM1NSAgICAgICAgIGZpbGxfaW5i
dWYgWzEzXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK
IFRoaXMgdGFibGUgZGVzY3JpYmVzIHRoZSBjYWxsIHRyZWUgb2YgdGhlIHByb2dyYW0sIGFuZCB3
YXMgc29ydGVkIGJ5CiB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUgc3BlbnQgaW4gZWFjaCBmdW5j
dGlvbiBhbmQgaXRzIGNoaWxkcmVuLgoKIEVhY2ggZW50cnkgaW4gdGhpcyB0YWJsZSBjb25zaXN0
cyBvZiBzZXZlcmFsIGxpbmVzLiAgVGhlIGxpbmUgd2l0aCB0aGUKIGluZGV4IG51bWJlciBhdCB0
aGUgbGVmdCBoYW5kIG1hcmdpbiBsaXN0cyB0aGUgY3VycmVudCBmdW5jdGlvbi4KIFRoZSBsaW5l
cyBhYm92ZSBpdCBsaXN0IHRoZSBmdW5jdGlvbnMgdGhhdCBjYWxsZWQgdGhpcyBmdW5jdGlvbiwK
IGFuZCB0aGUgbGluZXMgYmVsb3cgaXQgbGlzdCB0aGUgZnVuY3Rpb25zIHRoaXMgb25lIGNhbGxl
ZC4KIFRoaXMgbGluZSBsaXN0czoKICAgICBpbmRleAlBIHVuaXF1ZSBudW1iZXIgZ2l2ZW4gdG8g
ZWFjaCBlbGVtZW50IG9mIHRoZSB0YWJsZS4KCQlJbmRleCBudW1iZXJzIGFyZSBzb3J0ZWQgbnVt
ZXJpY2FsbHkuCgkJVGhlIGluZGV4IG51bWJlciBpcyBwcmludGVkIG5leHQgdG8gZXZlcnkgZnVu
Y3Rpb24gbmFtZSBzbwoJCWl0IGlzIGVhc2llciB0byBsb29rIHVwIHdoZXJlIHRoZSBmdW5jdGlv
biBpbiB0aGUgdGFibGUuCgogICAgICUgdGltZQlUaGlzIGlzIHRoZSBwZXJjZW50YWdlIG9mIHRo
ZSBgdG90YWwnIHRpbWUgdGhhdCB3YXMgc3BlbnQKCQlpbiB0aGlzIGZ1bmN0aW9uIGFuZCBpdHMg
Y2hpbGRyZW4uICBOb3RlIHRoYXQgZHVlIHRvCgkJZGlmZmVyZW50IHZpZXdwb2ludHMsIGZ1bmN0
aW9ucyBleGNsdWRlZCBieSBvcHRpb25zLCBldGMsCgkJdGhlc2UgbnVtYmVycyB3aWxsIE5PVCBh
ZGQgdXAgdG8gMTAwJS4KCiAgICAgc2VsZglUaGlzIGlzIHRoZSB0b3RhbCBhbW91bnQgb2YgdGlt
ZSBzcGVudCBpbiB0aGlzIGZ1bmN0aW9uLgoKICAgICBjaGlsZHJlbglUaGlzIGlzIHRoZSB0b3Rh
bCBhbW91bnQgb2YgdGltZSBwcm9wYWdhdGVkIGludG8gdGhpcwoJCWZ1bmN0aW9uIGJ5IGl0cyBj
aGlsZHJlbi4KCiAgICAgY2FsbGVkCVRoaXMgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgZnVu
Y3Rpb24gd2FzIGNhbGxlZC4KCQlJZiB0aGUgZnVuY3Rpb24gY2FsbGVkIGl0c2VsZiByZWN1cnNp
dmVseSwgdGhlIG51bWJlcgoJCW9ubHkgaW5jbHVkZXMgbm9uLXJlY3Vyc2l2ZSBjYWxscywgYW5k
IGlzIGZvbGxvd2VkIGJ5CgkJYSBgKycgYW5kIHRoZSBudW1iZXIgb2YgcmVjdXJzaXZlIGNhbGxz
LgoKICAgICBuYW1lCVRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZ1bmN0aW9uLiAgVGhlIGluZGV4
IG51bWJlciBpcwoJCXByaW50ZWQgYWZ0ZXIgaXQuICBJZiB0aGUgZnVuY3Rpb24gaXMgYSBtZW1i
ZXIgb2YgYQoJCWN5Y2xlLCB0aGUgY3ljbGUgbnVtYmVyIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUK
CQlmdW5jdGlvbidzIG5hbWUgYW5kIHRoZSBpbmRleCBudW1iZXIuCgoKIEZvciB0aGUgZnVuY3Rp
b24ncyBwYXJlbnRzLCB0aGUgZmllbGRzIGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5nczoKCiAg
ICAgc2VsZglUaGlzIGlzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IHdhcyBwcm9wYWdhdGVkIGRp
cmVjdGx5CgkJZnJvbSB0aGUgZnVuY3Rpb24gaW50byB0aGlzIHBhcmVudC4KCiAgICAgY2hpbGRy
ZW4JVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFnYXRlZCBmcm9tCgkJ
dGhlIGZ1bmN0aW9uJ3MgY2hpbGRyZW4gaW50byB0aGlzIHBhcmVudC4KCiAgICAgY2FsbGVkCVRo
aXMgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGlzIHBhcmVudCBjYWxsZWQgdGhlCgkJZnVuY3Rp
b24gYC8nIHRoZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGZ1bmN0aW9uCgkJd2FzIGNhbGxl
ZC4gIFJlY3Vyc2l2ZSBjYWxscyB0byB0aGUgZnVuY3Rpb24gYXJlIG5vdAoJCWluY2x1ZGVkIGlu
IHRoZSBudW1iZXIgYWZ0ZXIgdGhlIGAvJy4KCiAgICAgbmFtZQlUaGlzIGlzIHRoZSBuYW1lIG9m
IHRoZSBwYXJlbnQuICBUaGUgcGFyZW50J3MgaW5kZXgKCQludW1iZXIgaXMgcHJpbnRlZCBhZnRl
ciBpdC4gIElmIHRoZSBwYXJlbnQgaXMgYQoJCW1lbWJlciBvZiBhIGN5Y2xlLCB0aGUgY3ljbGUg
bnVtYmVyIGlzIHByaW50ZWQgYmV0d2VlbgoJCXRoZSBuYW1lIGFuZCB0aGUgaW5kZXggbnVtYmVy
LgoKIElmIHRoZSBwYXJlbnRzIG9mIHRoZSBmdW5jdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwg
dGhlIHdvcmQKIGA8c3BvbnRhbmVvdXM+JyBpcyBwcmludGVkIGluIHRoZSBgbmFtZScgZmllbGQs
IGFuZCBhbGwgdGhlIG90aGVyCiBmaWVsZHMgYXJlIGJsYW5rLgoKIEZvciB0aGUgZnVuY3Rpb24n
cyBjaGlsZHJlbiwgdGhlIGZpZWxkcyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CgogICAg
IHNlbGYJVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFnYXRlZCBkaXJl
Y3RseQoJCWZyb20gdGhlIGNoaWxkIGludG8gdGhlIGZ1bmN0aW9uLgoKICAgICBjaGlsZHJlbglU
aGlzIGlzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IHdhcyBwcm9wYWdhdGVkIGZyb20gdGhlCgkJ
Y2hpbGQncyBjaGlsZHJlbiB0byB0aGUgZnVuY3Rpb24uCgogICAgIGNhbGxlZAlUaGlzIGlzIHRo
ZSBudW1iZXIgb2YgdGltZXMgdGhlIGZ1bmN0aW9uIGNhbGxlZAoJCXRoaXMgY2hpbGQgYC8nIHRo
ZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGNoaWxkCgkJd2FzIGNhbGxlZC4gIFJlY3Vyc2l2
ZSBjYWxscyBieSB0aGUgY2hpbGQgYXJlIG5vdAoJCWxpc3RlZCBpbiB0aGUgbnVtYmVyIGFmdGVy
IHRoZSBgLycuCgogICAgIG5hbWUJVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgY2hpbGQuICBUaGUg
Y2hpbGQncyBpbmRleAoJCW51bWJlciBpcyBwcmludGVkIGFmdGVyIGl0LiAgSWYgdGhlIGNoaWxk
IGlzIGEKCQltZW1iZXIgb2YgYSBjeWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmludGVkCgkJ
YmV0d2VlbiB0aGUgbmFtZSBhbmQgdGhlIGluZGV4IG51bWJlci4KCiBJZiB0aGVyZSBhcmUgYW55
IGN5Y2xlcyAoY2lyY2xlcykgaW4gdGhlIGNhbGwgZ3JhcGgsIHRoZXJlIGlzIGFuCiBlbnRyeSBm
b3IgdGhlIGN5Y2xlLWFzLWEtd2hvbGUuICBUaGlzIGVudHJ5IHNob3dzIHdobyBjYWxsZWQgdGhl
CiBjeWNsZSAoYXMgcGFyZW50cykgYW5kIHRoZSBtZW1iZXJzIG9mIHRoZSBjeWNsZSAoYXMgY2hp
bGRyZW4uKQogVGhlIGArJyByZWN1cnNpdmUgY2FsbHMgZW50cnkgc2hvd3MgdGhlIG51bWJlciBv
ZiBmdW5jdGlvbiBjYWxscyB0aGF0CiB3ZXJlIGludGVybmFsIHRvIHRoZSBjeWNsZSwgYW5kIHRo
ZSBjYWxscyBlbnRyeSBmb3IgZWFjaCBtZW1iZXIgc2hvd3MsCiBmb3IgdGhhdCBtZW1iZXIsIGhv
dyBtYW55IHRpbWVzIGl0IHdhcyBjYWxsZWQgZnJvbSBvdGhlciBtZW1iZXJzIG9mCiB0aGUgY3lj
bGUuCgoMCkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWUKCiAgWzE0XSBhZGRfZW52b3B0ICAgICAgICAg
ICAgIFsxOV0gZ2V0X2lzdGF0ICAgICAgICAgICAgICAgWzZdIGluZmxhdGVfZHluYW1pYwogIFsx
NV0gYmFzZW5hbWUgICAgICAgICAgICAgICBbMjBdIGdldF9tZXRob2QgICAgICAgICAgICAgIFsx
XSB0cmVhdF9maWxlCiAgWzE2XSBjbGVhcl9idWZzICAgICAgICAgICAgIFsxMF0gaHVmdF9idWls
ZCAgICAgICAgICAgICAgWzJdIHVuemlwCiAgWzE3XSBkb19leGl0ICAgICAgICAgICAgICAgIFsx
Ml0gaHVmdF9mcmVlICAgICAgICAgICAgICAgWzldIHVwZGNyYwogIFsxOF0gZG9fc3RhdCAgICAg
ICAgICAgICAgICAgWzRdIGluZmxhdGUgICAgICAgICAgICAgICAgWzExXSB3cml0ZV9idWYKICBb
MTNdIGZpbGxfaW5idWYgICAgICAgICAgICAgIFs1XSBpbmZsYXRlX2Jsb2NrCiAgIFs4XSBmbHVz
aF93aW5kb3cgICAgICAgICAgICBbN10gaW5mbGF0ZV9jb2Rlcwo=
------=_NextPart_000_0008_01BE656C.10BABF20--
- Raw text -