Message-ID: <000b01be6553$1b412e20$2f8230d4@main.medtech.ru> From: "Eugene M. Indenbom" To: 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 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0008_01BE656C.10BABF20" 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--