<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>70154</bug_id>
          
          <creation_ts>2004-11-05 05:22 0000</creation_ts>
          <short_desc>net-analyzer/ns-2.27-r1 build error</short_desc>
          <delta_ts>2005-01-23 02:31:56 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>gentoo@kenzelmann.dyndns.info</reporter>
          <assigned_to>netmon@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>gentoo@kenzelmann.dyndns.info</who>
            <bug_when>2004-11-05 05:22:19 0000</bug_when>
            <thetext>on emerge i get this error:

i686-pc-linux-gnu-g++ -c -O5 -march=athlon-tbird -funroll-loops -fomit-frame-pointer -pipe -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_8 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -o apps/sctp_app1.o apps/sctp_app1.cc
sctp/sctp.cc: In destructor `virtual SctpAgent::~SctpAgent()&apos;:
sctp/sctp.cc:154: error: ISO C++ forbids cast to non-reference type used as lvalue
i686-pc-linux-gnu-g++ -c -O5 -march=athlon-tbird -funroll-loops -fomit-frame-pointer -pipe -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_8 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -o sctp/sctp-timestamp.o sctp/sctp-timestamp.cc
make: *** [sctp/sctp.o] Error 1
make: *** Waiting for unfinished jobs....

!!! ERROR: net-analyzer/ns-2.27-r1 failed.
!!! Function src_compile, Line 46, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


Reproducible: Always
Steps to Reproduce:




Portage 2.0.51-r2 (default-linux/x86/2004.2, gcc-3.4.2, glibc-2.3.4.20041021-r0,
2.6.9 i686)
=================================================================
System uname: 2.6.9 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.6.5
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS=&quot;x86 ~x86&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-O5 -march=athlon-tbird -funroll-loops -fomit-frame-pointer -pipe&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
COMPILER=&quot;&quot;
CONFIG_PROTECT=&quot;/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control&quot;CONFIG_PROTECT_MASK=&quot;/etc/gconf
/etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O5 -march=athlon-tbird -funroll-loops -fomit-frame-pointer -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs ccache distlocks sandbox sfperms&quot;
GENTOO_MIRRORS=&quot;http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/
ftp://ftp.tu-clausthal.de/pub/linux/gentoo/&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;3dnow X acl alsa apm avi berkdb bitmap-fonts cdr cjk crypt cups eds encode
f77 faad fam flac foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 guile hal
imagemagick imlib ipv6 java jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg
ncurses nls oggvorbis opengl pam pda pdflib perl png python quicktime readline
samba sdl slang speex spell ssl svga tcltk tcpd tetex tiff truetype unicode x86
xinerama xml2 xv xvid zlib&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-12 13:46:46 0000</bug_when>
            <thetext>Created an attachment (id=43827)
Fixes sctp error, but there are others...

This should fix correctly that bug, even if epatch doesn&apos;t use it...maybe an
error on the patch file (it&apos;s the first i write by myself lol).
However there are other errors during building that still remains.
Precisely in the file: webcache/webtraf.cc, line 415. Take a look please.
I NEED NS! :</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-12 13:46:46 0000</bug_when>
            <thetext>Created an attachment (id=43827)
Fixes sctp error, but there are others...

This should fix correctly that bug, even if epatch doesn&apos;t use it...maybe an
error on the patch file (it&apos;s the first i write by myself lol).
However there are other errors during building that still remains.
Precisely in the file: webcache/webtraf.cc, line 415. Take a look please.
I NEED NS! :°</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-12 13:52:48 0000</bug_when>
            <thetext>i686-pc-linux-gnu-g++ -c  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_8 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -o webcache/webtraf.o webcache/webtraf.cc
webcache/webtraf.cc: In member function `virtual int WebTrafPool::command(int, const char* const*)&apos;:
webcache/webtraf.cc:415: error: ISO C++ forbids initialization in array new
make: *** [webcache/webtraf.o] Error 1

This is the bug that still remains...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-13 06:45:55 0000</bug_when>
            <thetext>FINALLY I DID IT!!!!
on webcache/webtraf.cc:

#include &quot;config.h&quot;
#include &lt;tclcl.h&gt;
#include &lt;iostream&gt;
+ #include &lt;vector&gt;   &lt;- including this

...

} else if (strcmp(argv[1], &quot;set-num-server&quot;) == 0) {
        nServer_ = atoi(argv[2]);
        if (server_ != NULL)
           delete []server_;
        std::vector&lt;WebServer&gt; server_(nServer_, this); // GCC 3.4.X COMPATIBLE    
        //server_ = new WebServer[nServer_] (this);     // ERROR
        return (TCL_OK);

I&apos;ll try to make the patch!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-13 07:21:17 0000</bug_when>
            <thetext>Created an attachment (id=43867)
this one fixes the second issue :D

I made patches, now could someone tell me why emerge gives this message?

&gt;&gt;&gt; Unpacking ns-src-2.27.tar.gz to /var/tmp/portage/ns-2.27-r2/work
/usr/local/portage/net-analyzer/ns/ns-2.27-r2.ebuild: line 27: epatch: command
not found
/usr/local/portage/net-analyzer/ns/ns-2.27-r2.ebuild: line 28: epatch: command
not found

However now ns builds...PLEASE add this fixed version to the portage tree</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-13 07:32:01 0000</bug_when>
            <thetext>Created an attachment (id=43868)
Fixes webtraf.cc error
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matti.cala@virgilio.it</who>
            <bug_when>2004-11-13 07:42:20 0000</bug_when>
            <thetext>ns-2.27 code it&apos;s TOTALLY uncompatible with gcc 3.4 branch!!!

New issue:

i686-pc-linux-gnu-g++ -c  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_8 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -o linkstate/ls.o linkstate/ls.cc
In file included from linkstate/ls.cc:42:
linkstate/ls.h: In member function `void LsList&lt;_Tp&gt;::eraseAll()&apos;:
linkstate/ls.h:89: error: there are no arguments to `begin&apos; that depend on a template parameter, so a declaration of `begin&apos; must be available
linkstate/ls.h:89: error: (if you use `-fpermissive&apos;, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
linkstate/ls.h:89: error: there are no arguments to `end&apos; that depend on a template parameter, so a declaration of `end&apos; must be available
linkstate/ls.h: In member function `void LsMap&lt;Key, T&gt;::eraseAll()&apos;:
linkstate/ls.h:112: error: there are no arguments to `begin&apos; that depend on a template parameter, so a declaration of `begin&apos; must be available
linkstate/ls.h:112: error: there are no arguments to `end&apos; that depend on a template parameter, so a declaration of `end&apos; must be available
make: *** [linkstate/ls.o] Error 1

I&apos;m going away for a week...please look at this. I need ns :(</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@kenzelmann.dyndns.info</who>
            <bug_when>2004-12-18 12:40:32 0000</bug_when>
            <thetext>Created an attachment (id=46293)
GCC-3.4 Patch for ns-2.27

Found this on ns mailing list.

From:	Qihe Wang &lt;qwang@ececs.uc.edu&gt;
To:	ns-users@ISI.EDU
Subject:	[ns] ns2.27-gcc34 patch
Date:	Thu, 16 Dec 2004 09:20:18 -0500 (EST)  (15:20 CET)


Hi,

This patch is mostly based on Mathieu Robin&apos;s post on Dec.8.  I corrected
something about WebTraffic and added a small patch to enable it to compile
under Solaris x86.  Just think it might be convenient for some people.

http://www.ececs.uc.edu/~cdmc/ucbt/src/ns227-gcc34.patch
md5sum ac94ed69a899ac45f56c4d4b21e547f4

How to apply,

1. get a fresh ns-allinone-2.27.tgz
2. tar zxvf ns-allinone-2.27.tgz
3. patch -p0 &lt; ns227-gcc34.patch
4. cd ns-allinone-2.27
5. ./install

These assume GNU versions of tar and patch.

Regards, Qihe</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2005-01-12 04:35:46 0000</bug_when>
            <thetext>Are you up to modifing the ebuild to achieve this?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>obmun.h@gmail.com</who>
            <bug_when>2005-01-15 07:40:14 0000</bug_when>
            <thetext>Created an attachment (id=48547)
Patch for compatibility with gcc 3.4
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>obmun.h@gmail.com</who>
            <bug_when>2005-01-15 07:47:08 0000</bug_when>
            <thetext>Created an attachment (id=48548)
Added patching of 2.27 source for gcc 3.4 compatibility to ebuild

This ebuild and the ns-2.27-gcc34.path allow compilation of ns 2.27 with gcc
3.4. The patch is based on the patch attached by
kenzelma@stud.uni-frankfurt.de, but had to modify it to remove code changes to
nam and tclcl also included

Buils correctly and works (apparently) correctly, but I experience problems
trying to build with USE doc.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ka0ttic@gentoo.org</who>
            <bug_when>2005-01-23 02:31:56 0000</bug_when>
            <thetext>Fixed. Thanks very much for the report.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43827</attachid>
            <date>2004-11-12 13:46 0000</date>
            <desc>Fixes sctp error</desc>
            <filename>ns-2.27-r2_sctp.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtcjEgbnMtMi4yNy1yMi9zY3RwL3NjdHAuY2MgbnMtMi4yNy1yMi9zY3RwL3NjdHAuY2Mu
bmV3Ci0tLSBucy0yLjI3LXIyL3NjdHAvc2N0cC5jYwkyMDA0LTAxLTEzIDAxOjU3OjM1LjAwMDAw
MDAwMCArMDEwMAorKysgbnMtMi4yNy1yMi9zY3RwL3NjdHAuY2MJMjAwNC0xMS0xMiAxNzo1Mzo0
NS4wMDAwMDAwMDAgKzAxMDAKQEAgLTE1MSw3ICsxNTEsNyBAQAogICAgICAgUGFja2V0OjpmcmVl
KHNwRGVzdC0+b3BSb3V0aW5nQXNzaXN0UGFja2V0KTsKICAgICAgIHNwRGVzdC0+b3BSb3V0aW5n
QXNzaXN0UGFja2V0ID0gTlVMTDsKICAgICAgIGRlbGV0ZSAoU2N0cERlc3RfUyAqKSBzcEN1cnJO
b2RlLT52cERhdGE7ICAvL3NwRGVzdAotICAgICAgKFNjdHBEZXN0X1MgKikgc3BDdXJyTm9kZS0+
dnBEYXRhID0gTlVMTDsKKyAgICAgIHNwQ3Vyck5vZGUtPnZwRGF0YSA9IE5VTEw7CiAgICAgfQog
CiAgIGlmKHNwU2N0cFRyYWNlICE9IE5VTEwpCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43867</attachid>
            <date>2004-11-13 07:21 0000</date>
            <desc>Fixes webtraf.cc error</desc>
            <filename>ns-2.27-r2_webtraf.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHdlYmNhY2hlL3dlYnRyYWYuY2MJMjAwNC0wMS0xMyAwMTo1Mzo1Mi4wMDAwMDAwMDAgKzAx
MDAKKysrIHdlYmNhY2hlL3dlYnRyYWYuY2MJMjAwNC0xMS0xMyAxNTo1Mzo1MC41MjY1NTk5ODQg
KzAxMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx0
Y2xjbC5oPgogI2luY2x1ZGUgPGlvc3RyZWFtPgorI2luY2x1ZGUgPHZlY3Rvcj4KIAogI2luY2x1
ZGUgIm5vZGUuaCIKICNpbmNsdWRlICJwYWdlcG9vbC5oIgpAQCAtNDEyLDggKzQxMyw3IEBACiAJ
CQluU2VydmVyXyA9IGF0b2koYXJndlsyXSk7CiAJCQlpZiAoc2VydmVyXyAhPSBOVUxMKSAKIAkJ
CQlkZWxldGUgW11zZXJ2ZXJfOwotCQkJc2VydmVyXyA9IG5ldyBXZWJTZXJ2ZXJbblNlcnZlcl9d
KHRoaXMpOworCQkJc3RkOjp2ZWN0b3I8V2ViU2VydmVyPiBzZXJ2ZXJfKG5TZXJ2ZXJfLCB0aGlz
KTsKCQkJCiAJCQlyZXR1cm4gKFRDTF9PSyk7CiAJCX0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0s
ICJzZXQtbnVtLWNsaWVudCIpID09IDApIHsKIAkJCW5DbGllbnRfID0gYXRvaShhcmd2WzJdKTsK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43868</attachid>
            <date>2004-11-13 07:32 0000</date>
            <desc>Fixes webtraf.cc error</desc>
            <filename>ns-2.27-r2_webtraf.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHdlYmNhY2hlL3dlYnRyYWYuY2MJMjAwNC0wMS0xMyAwMTo1Mzo1Mi4wMDAwMDAwMDAgKzAx
MDAKKysrIHdlYmNhY2hlL3dlYnRyYWYuY2MJMjAwNC0xMS0xMyAxNjoyNToyMy4yNzk4MTc3NTIg
KzAxMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx0
Y2xjbC5oPgogI2luY2x1ZGUgPGlvc3RyZWFtPgorI2luY2x1ZGUgPHZlY3Rvcj4KIAogI2luY2x1
ZGUgIm5vZGUuaCIKICNpbmNsdWRlICJwYWdlcG9vbC5oIgpAQCAtNDEyLDggKzQxMyw4IEBACiAJ
CQluU2VydmVyXyA9IGF0b2koYXJndlsyXSk7CiAJCQlpZiAoc2VydmVyXyAhPSBOVUxMKSAKIAkJ
CQlkZWxldGUgW11zZXJ2ZXJfOwotCQkJc2VydmVyXyA9IG5ldyBXZWJTZXJ2ZXJbblNlcnZlcl9d
KHRoaXMpOwotCisJCQlzdGQ6OnZlY3RvcjxXZWJTZXJ2ZXI+IHNlcnZlcl8oblNlcnZlcl8sIHRo
aXMpOworCQkJCiAJCQlyZXR1cm4gKFRDTF9PSyk7CiAJCX0gZWxzZSBpZiAoc3RyY21wKGFyZ3Zb
MV0sICJzZXQtbnVtLWNsaWVudCIpID09IDApIHsKIAkJCW5DbGllbnRfID0gYXRvaShhcmd2WzJd
KTsK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46293</attachid>
            <date>2004-12-18 12:40 0000</date>
            <desc>GCC-3.4 Patch for ns-2.27</desc>
            <filename>ns227-gcc34.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25hbS0xLjEwL2FnZW50LmggbnMtYWxsaW5v
bmUtMi4yNy9uYW0tMS4xMC9hZ2VudC5oCi0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbmFtLTEu
MTAvYWdlbnQuaAkyMDA0LTAxLTEyIDE5OjUzOjI5LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxs
aW5vbmUtMi4yNy9uYW0tMS4xMC9hZ2VudC5oCTIwMDQtMTItMTYgMDg6NDQ6MTcuMjY0MTUyOTc2
IC0wNTAwCkBAIC03MCw3ICs3MCw3IEBACiAgIGlubGluZSBkb3VibGUgd2lkdGgoKSAge3JldHVy
biB3aWR0aF87fQogICBpbmxpbmUgZG91YmxlIGhlaWdodCgpIHtyZXR1cm4gaGVpZ2h0Xzt9CiAg
IHZpcnR1YWwgdm9pZCBmaW5kQ2xvc2VzdENvcm5lcnRvUG9pbnQoZG91YmxlIHgsIGRvdWJsZSB5
LCAKLSAgICAgICAgICAgICAgIGRvdWJsZSAmY29ybmVyX3gsIGRvdWJsZSAmY29ybmVyX3kpIGNv
bnN0ID0gTlVMTDsgCisgICAgICAgICAgICAgICBkb3VibGUgJmNvcm5lcl94LCBkb3VibGUgJmNv
cm5lcl95KSBjb25zdCA9IDA7IAogICB2aXJ0dWFsIHZvaWQgcGxhY2UoZG91YmxlIHgsIGRvdWJs
ZSB5KTsKICAgdm9pZCBsYWJlbChjb25zdCBjaGFyKiBuYW1lLCBpbnQgYW5jaG9yKTsKICAgdm9p
ZCBjb2xvcihjb25zdCBjaGFyKiBuYW1lKTsKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmln
L25zLTIuMjcvZGlmZnVzaW9uL2RpZmZfcmF0ZS5jYyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcv
ZGlmZnVzaW9uL2RpZmZfcmF0ZS5jYwotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcv
ZGlmZnVzaW9uL2RpZmZfcmF0ZS5jYwkyMDA0LTAxLTEyIDE5OjU3OjU4LjAwMDAwMDAwMCAtMDUw
MAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L2RpZmZ1c2lvbi9kaWZmX3JhdGUuY2MJMjAw
NC0xMi0xNiAwODo0Mzo0NS41ODU5Njg3OTIgLTA1MDAKQEAgLTM3MCw3ICszNzAsNyBAQAogICAg
ICAgIElOVEZfSU5TRVJUKHJvdXRpbmdfdGFibGVbZHR5cGVdLmFjdGl2ZSwgT3V0UHRyKTsKICAg
ICAgICByb3V0aW5nX3RhYmxlW2R0eXBlXS5udW1fYWN0aXZlICsrOwkgIAogICAgICB9IGVsc2Ug
ewotICAgICAgR1JBRF9UTU9VVChSZXRWYWwuY3VyKSA9IG1heChHUkFEX1RNT1VUKFJldFZhbC5j
dXIpLAorICAgICAgR1JBRF9UTU9VVChSZXRWYWwuY3VyKSA9IE1BWChHUkFEX1RNT1VUKFJldFZh
bC5jdXIpLAogCQkJCSAgIGRmaC0+dHNfICsgSU5URVJFU1RfVElNRU9VVCk7CiAgICAgIH0KIApA
QCAtNzg5LDcgKzc4OSw3IEBACiAgIGlmIChSZXRWYWwuY3VyICE9IE5VTEwpIHsKICAgICBjdXJf
b3V0ID0gKE91dF9MaXN0ICopKFJldFZhbC5jdXIpOwogICAgIEdSQURJRU5UKGN1cl9vdXQpID0g
T1JJR0lOQUw7Ci0gICAgR1JBRF9UTU9VVChSZXRWYWwuY3VyKSA9IG1heChHUkFEX1RNT1VUKFJl
dFZhbC5jdXIpLAorICAgIEdSQURfVE1PVVQoUmV0VmFsLmN1cikgPSBNQVgoR1JBRF9UTU9VVChS
ZXRWYWwuY3VyKSwKIAkJCQkgICBkZmgtPnRzXyArIElOVEVSRVNUX1RJTUVPVVQpOwogICAgIE5V
TV9QT1NfUkVDVihjdXJfb3V0KSsrOwogICB9IGVsc2UgewpkaWZmIC11ciBucy1hbGxpbm9uZS0y
LjI3Lm9yaWcvbnMtMi4yNy9kaWZmdXNpb24vZGlmZnVzaW9uLmggbnMtYWxsaW5vbmUtMi4yNy9u
cy0yLjI3L2RpZmZ1c2lvbi9kaWZmdXNpb24uaAotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25z
LTIuMjcvZGlmZnVzaW9uL2RpZmZ1c2lvbi5oCTIwMDQtMDEtMTIgMTk6NTc6NTguMDAwMDAwMDAw
IC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvZGlmZnVzaW9uL2RpZmZ1c2lvbi5o
CTIwMDQtMTItMTYgMDg6NDM6NDUuNjA3OTY1NDQ4IC0wNTAwCkBAIC03NSw3ICs3NSw3IEBACiAK
IAogI2RlZmluZSBTRU5EX01FU1NBR0UoeCx5LHopICBzZW5kX3RvX2RtdXgocHJlcGFyZV9tZXNz
YWdlKHgseSx6KSwgMCkKLSNkZWZpbmUgbWF4KGEsYikgKCgoYSk8KGIpKT8oYik6KGEpKQorI2Rl
ZmluZSBNQVgoYSxiKSAoKChhKTwoYikpPyhiKTooYSkpCiAKIGNsYXNzIERpZmZ1c2lvbkFnZW50
OwogCmRpZmYgLXVyIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3L2RpZmZ1c2lvbi9yb3V0
aW5nX3RhYmxlLmNjIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9kaWZmdXNpb24vcm91dGluZ190
YWJsZS5jYwotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvZGlmZnVzaW9uL3JvdXRp
bmdfdGFibGUuY2MJMjAwNC0wMS0xMiAxOTo1Nzo1OS4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFs
bGlub25lLTIuMjcvbnMtMi4yNy9kaWZmdXNpb24vcm91dGluZ190YWJsZS5jYwkyMDA0LTEyLTE2
IDA4OjQzOjQ1LjYwODk2NTI5NiAtMDUwMApAQCAtMTI5LDcgKzEyOSw3IEBACiAgIGludCAgICAg
bW9zdCA9IDA7CiAKICAgZm9yIChjdXI9aWlmOyBjdXIhPU5VTEw7IGN1ciA9IElOX05FWFQoY3Vy
KSkgewotICAgICAgbW9zdCA9IG1heChtb3N0LE5FV19PUkdfUkVDVihjdXIpKTsKKyAgICAgIG1v
c3QgPSBNQVgobW9zdCxORVdfT1JHX1JFQ1YoY3VyKSk7CiAgIH0KICAgcmV0dXJuIG1vc3Q7CiB9
CmRpZmYgLXVyIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3L2RpZmZ1c2lvbjMvbGliL25y
L25yLmhoIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9kaWZmdXNpb24zL2xpYi9uci9uci5oaAot
LS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvZGlmZnVzaW9uMy9saWIvbnIvbnIuaGgJ
MjAwNC0wMS0xMiAxOTo1ODowNS4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlub25lLTIuMjcv
bnMtMi4yNy9kaWZmdXNpb24zL2xpYi9uci9uci5oaAkyMDA0LTEyLTE2IDA4OjQzOjQ1LjYzMTk2
MTgwMCAtMDUwMApAQCAtNDMsNyArNDMsOCBAQAogdHlwZWRlZiBzaWduZWQgaW50IGludDMyX3Q7
CiAjZW5kaWYKIHR5cGVkZWYgc2lnbmVkIHNob3J0IGludDE2X3Q7Ci0jaWYgZGVmaW5lZCAoc3Bh
cmMpCisvLyAjaWYgZGVmaW5lZCAoc3BhcmMpCisjaWYgZGVmaW5lZCAoX19TVlI0KSAmJiBkZWZp
bmVkIChfX3N1bikKIHR5cGVkZWYgY2hhciBpbnQ4X3Q7CiAjZWxzZQogLy8gQ29uZmxpY3RzIHdp
dGggc3lzdGVtIGRlY2xhcmF0aW9uIG9mIGludDhfdCBpbiBTb2xhcmlzCkBAIC0yMjEsNiArMjIy
LDcgQEAKIH07CiAKIC8vIHN0cmluZyBzcGVjaWFsaXphdGlvbgordGVtcGxhdGUgPD4KIGNsYXNz
IE5SU2ltcGxlQXR0cmlidXRlPGNoYXIgKj46IHB1YmxpYyBOUkF0dHJpYnV0ZSB7CiBwdWJsaWM6
CiAgIE5SU2ltcGxlQXR0cmlidXRlKGludCBrZXksIGludCB0eXBlLCBpbnQgb3AsIGNoYXIgKnZh
bCwgaW50IHNpemUgPSAwKTsKQEAgLTIzNiw2ICsyMzgsNyBAQAogfTsKIAogLy8gYmxvYiBzcGVj
aWFsaXphdGlvbgordGVtcGxhdGUgPD4KIGNsYXNzIE5SU2ltcGxlQXR0cmlidXRlPHZvaWQgKj46
IHB1YmxpYyBOUkF0dHJpYnV0ZSB7CiBwdWJsaWM6CiAgIE5SU2ltcGxlQXR0cmlidXRlKGludCBr
ZXksIGludCB0eXBlLCBpbnQgb3AsIHZvaWQgKnZhbCwgaW50IHNpemUpOwpkaWZmIC11ciBucy1h
bGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9pbmRlcC11dGlscy9jbXUtc2Nlbi1nZW4vc2V0ZGVz
dC9NYWtlZmlsZS5pbiBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvaW5kZXAtdXRpbHMvY211LXNj
ZW4tZ2VuL3NldGRlc3QvTWFrZWZpbGUuaW4KLS0tIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0y
LjI3L2luZGVwLXV0aWxzL2NtdS1zY2VuLWdlbi9zZXRkZXN0L01ha2VmaWxlLmluCTIwMDQtMDEt
MTIgMTk6NTg6MzkuMDAwMDAwMDAwIC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcv
aW5kZXAtdXRpbHMvY211LXNjZW4tZ2VuL3NldGRlc3QvTWFrZWZpbGUuaW4JMjAwNC0xMi0xNiAw
ODo0Mzo0NS42MzI5NjE2NDggLTA1MDAKQEAgLTM3LDcgKzM3LDcgQEAKIE1LREVQCT0gLi4vLi4v
Li4vY29uZi9ta2RlcAogCiAjIHdoZW4gaW5jbHVkaW5nIGZpbGVzIGZyb20gbnMsIHdlIG5lZWQg
dG8gdGFrZSBjYXJlIFNUTF9OQU1FU1BBQ0UKLURFRklORSA9IC1Ec3RhbmRfYWxvbmUgLURTVExf
TkFNRVNQQUNFPUBTVExfTkFNRVNQQUNFQAorREVGSU5FID0gLURzdGFuZF9hbG9uZSAtRFNUTF9O
QU1FU1BBQ0U9QFNUTF9OQU1FU1BBQ0VAIC1EQ1BQX05BTUVTUEFDRT1AQ1BQX05BTUVTUEFDRUAK
IENGTEFHUyA9IEBWX0NDT1BUQCAKIExERkxBR1MgPSBAVl9TVEFUSUNACiBMSUJTID0gQFZfTElC
QCAtbG0gQExJQlNACmRpZmYgLXVyIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3L2luZGVw
LXV0aWxzL3dlYnRyYWNlLWNvbnYvZGVjL01ha2VmaWxlLmluIG5zLWFsbGlub25lLTIuMjcvbnMt
Mi4yNy9pbmRlcC11dGlscy93ZWJ0cmFjZS1jb252L2RlYy9NYWtlZmlsZS5pbgotLS0gbnMtYWxs
aW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvaW5kZXAtdXRpbHMvd2VidHJhY2UtY29udi9kZWMvTWFr
ZWZpbGUuaW4JMjAwNC0wMS0xMiAxOTo1ODo0NC4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlu
b25lLTIuMjcvbnMtMi4yNy9pbmRlcC11dGlscy93ZWJ0cmFjZS1jb252L2RlYy9NYWtlZmlsZS5p
bgkyMDA0LTEyLTE2IDA4OjQzOjQ1LjY1Nzk1Nzg0OCAtMDUwMApAQCAtMzgsNyArMzgsNyBAQAog
IyB3aGVuIGluY2x1ZGluZyBmaWxlcyBmcm9tIG5zLCB3ZSBuZWVkIHRvIHRha2UgY2FyZSBTVExf
TkFNRVNQQUNFCiBDQyA9IEBDWFhACiBJTkNMVURFID0gLUkuIEBWX0lOQ0xVREVTQAotQ0ZMQUdT
ID0gQFZfQ0NPUFRAIC1EU1RMX05BTUVTUEFDRT1AU1RMX05BTUVTUEFDRUAKK0NGTEFHUyA9IEBW
X0NDT1BUQCAtRFNUTF9OQU1FU1BBQ0U9QFNUTF9OQU1FU1BBQ0VAIC1EQ1BQX05BTUVTUEFDRT1A
Q1BQX05BTUVTUEFDRUAKIExERkxBR1MgPSBAVl9TVEFUSUNACiBMSUJTID0gQFZfTElCX1RDTEAg
QFZfTElCQCBATElCU0AKIElOU1RBTEwgPSBASU5TVEFMTEAKZGlmZiAtdXIgbnMtYWxsaW5vbmUt
Mi4yNy5vcmlnL25zLTIuMjcvaW5kZXAtdXRpbHMvd2VidHJhY2UtY29udi9ubGFuci9NYWtlZmls
ZS5pbiBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvaW5kZXAtdXRpbHMvd2VidHJhY2UtY29udi9u
bGFuci9NYWtlZmlsZS5pbgotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvaW5kZXAt
dXRpbHMvd2VidHJhY2UtY29udi9ubGFuci9NYWtlZmlsZS5pbgkyMDA0LTAxLTEyIDE5OjU4OjQ4
LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L2luZGVwLXV0aWxz
L3dlYnRyYWNlLWNvbnYvbmxhbnIvTWFrZWZpbGUuaW4JMjAwNC0xMi0xNiAwODo0Mzo0NS42NTg5
NTc2OTYgLTA1MDAKQEAgLTM1LDcgKzM1LDcgQEAKICMgd2hlbiBpbmNsdWRpbmcgZmlsZXMgZnJv
bSBucywgd2UgbmVlZCB0byB0YWtlIGNhcmUgU1RMX05BTUVTUEFDRQogQ0MgPSBAQ1hYQAogSU5D
TFVERSA9IC1JLiAtSS4uLy4uLy4uIEBWX0lOQ0xVREVTQAotQ0ZMQUdTID0gQFZfQ0NPUFRAIC1E
U1RMX05BTUVTUEFDRT1AU1RMX05BTUVTUEFDRUAKK0NGTEFHUyA9IEBWX0NDT1BUQCAtRFNUTF9O
QU1FU1BBQ0U9QFNUTF9OQU1FU1BBQ0VAIC1EQ1BQX05BTUVTUEFDRT1AQ1BQX05BTUVTUEFDRUAK
IExERkxBR1MgPSBAVl9TVEFUSUNACiBMSUJTID0gQFZfTElCX1RDTEAgQFZfTElCQCBATElCU0AK
IElOU1RBTEwgPSBASU5TVEFMTEAKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIu
MjcvbGlua3N0YXRlL2xzLmggbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L2xpbmtzdGF0ZS9scy5o
Ci0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9saW5rc3RhdGUvbHMuaAkyMDA0LTAx
LTEyIDE5OjU5OjAwLjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3
L2xpbmtzdGF0ZS9scy5oCTIwMDQtMTItMTYgMDg6NDM6NDUuNjg1OTUzNTkyIC0wNTAwCkBAIC04
Niw3ICs4Niw3IEBACiAJTHNMaXN0KCkgOiBiYXNlTGlzdCgpIHt9CiAJTHNMaXN0KGNvbnN0IF9U
cCYgeCkgOiBiYXNlTGlzdCgxLCB4KSB7fQogCXZvaWQgZXJhc2VBbGwoKSB7IAotCQliYXNlTGlz
dDo6ZXJhc2UoYmVnaW4oKSwgZW5kKCkpOyAKKwkJYmFzZUxpc3Q6OmVyYXNlKGJhc2VMaXN0Ojpi
ZWdpbigpLCBiYXNlTGlzdDo6ZW5kKCkpOyAKIAl9CiAJTHNMaXN0PF9UcD4mIG9wZXJhdG9yPSAo
Y29uc3QgTHNMaXN0PF9UcD4gJiB4KSB7CiAJCXJldHVybiAoTHNMaXN0PF9UcD4gJiliYXNlTGlz
dDo6b3BlcmF0b3I9ICh4KTsKQEAgLTEwOSw3ICsxMDksNyBAQAogCQlyZXR1cm4gaWIuc2Vjb25k
ID8gaWIuZmlyc3QgOiBiYXNlTWFwOjplbmQoKTsKIAl9CiAKLQl2b2lkIGVyYXNlQWxsKCkgeyBl
cmFzZShiZWdpbigpLCBlbmQoKSk7IH0KKwl2b2lkIGVyYXNlQWxsKCkgeyBlcmFzZShiYXNlTWFw
OjpiZWdpbigpLCBiYXNlTWFwOjplbmQoKSk7IH0KIAlUKiBmaW5kUHRyKEtleSBrZXkpIHsKIAkJ
aXRlcmF0b3IgaXQgPSBiYXNlTWFwOjpmaW5kKGtleSk7CiAJCXJldHVybiAoaXQgPT0gYmFzZU1h
cDo6ZW5kKCkpID8gKFQgKilOVUxMIDogJigoKml0KS5zZWNvbmQpOwpkaWZmIC11ciBucy1hbGxp
bm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9tYWMvd2lyZWxlc3MtcGh5LmNjIG5zLWFsbGlub25lLTIu
MjcvbnMtMi4yNy9tYWMvd2lyZWxlc3MtcGh5LmNjCi0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcv
bnMtMi4yNy9tYWMvd2lyZWxlc3MtcGh5LmNjCTIwMDQtMDEtMTIgMTk6NTk6MTUuMDAwMDAwMDAw
IC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvbWFjL3dpcmVsZXNzLXBoeS5jYwky
MDA0LTEyLTE2IDA4OjQzOjQ1LjY4Nzk1MzI4OCAtMDUwMApAQCAtNTUsNyArNTUsNyBAQAogCiAj
aW5jbHVkZSAiZGlmZnVzaW9uL2RpZmZfaGVhZGVyLmgiCiAKLSNkZWZpbmUgbWF4KGEsYikgKCgo
YSk8KGIpKT8oYik6KGEpKQorI2RlZmluZSBNQVgoYSxiKSAoKChhKTwoYikpPyhiKTooYSkpCiAK
IHZvaWQgSWRsZV9UaW1lcjo6ZXhwaXJlKEV2ZW50ICopIHsKIAlhXy0+VXBkYXRlSWRsZUVuZXJn
eSgpOwpAQCAtMjAwLDggKzIwMCw4IEBACiAJCWlmIChlbSgpLT5lbmVyZ3koKSA+IDApIHsKIAkJ
CS8vZG91YmxlIHR4dGltZSA9ICg4LipoZHJfY21uOjphY2Nlc3MocCktPnNpemUoKSkvYmFuZHdp
ZHRoXzsKIAkJICAgIGRvdWJsZSB0eHRpbWUgPSBoZHJfY21uOjphY2Nlc3MocCktPnR4dGltZSgp
OwotCQkgICAgZG91YmxlIHN0YXJ0X3RpbWUgPSBtYXgoY2hhbm5lbF9pZGxlX3RpbWVfLCBOT1cp
OwotCQkgICAgZG91YmxlIGVuZF90aW1lID0gbWF4KGNoYW5uZWxfaWRsZV90aW1lXywgTk9XK3R4
dGltZSk7CisJCSAgICBkb3VibGUgc3RhcnRfdGltZSA9IE1BWChjaGFubmVsX2lkbGVfdGltZV8s
IE5PVyk7CisJCSAgICBkb3VibGUgZW5kX3RpbWUgPSBNQVgoY2hhbm5lbF9pZGxlX3RpbWVfLCBO
T1crdHh0aW1lKTsKIAkJICAgIGRvdWJsZSBhY3R1YWxfdHh0aW1lID0gZW5kX3RpbWUtc3RhcnRf
dGltZTsKIAogCQkgICAgaWYgKHN0YXJ0X3RpbWUgPiB1cGRhdGVfZW5lcmd5X3RpbWVfKSB7CkBA
IC0yMjAsNyArMjIwLDcgQEAKIAkJICAgICovCiAKIAkJICAgLy8gU2FuaXR5IGNoZWNrCi0JCSAg
IGRvdWJsZSB0ZW1wID0gbWF4KE5PVyxsYXN0X3NlbmRfdGltZV8pOworCQkgICBkb3VibGUgdGVt
cCA9IE1BWChOT1csbGFzdF9zZW5kX3RpbWVfKTsKIAogCQkgICAvKgogCQkgICBpZiAoTk9XIDwg
bGFzdF9zZW5kX3RpbWVfKSB7CkBAIC0yMjgsOCArMjI4LDggQEAKIAkJICAgfQogCQkgICAqLwog
CQkgICAKLQkJICAgZG91YmxlIGJlZ2luX2FkanVzdF90aW1lID0gbWluKGNoYW5uZWxfaWRsZV90
aW1lXywgdGVtcCk7Ci0JCSAgIGRvdWJsZSBmaW5pc2hfYWRqdXN0X3RpbWUgPSBtaW4oY2hhbm5l
bF9pZGxlX3RpbWVfLCBOT1crdHh0aW1lKTsKKwkJICAgZG91YmxlIGJlZ2luX2FkanVzdF90aW1l
ID0gTUlOKGNoYW5uZWxfaWRsZV90aW1lXywgdGVtcCk7CisJCSAgIGRvdWJsZSBmaW5pc2hfYWRq
dXN0X3RpbWUgPSBNSU4oY2hhbm5lbF9pZGxlX3RpbWVfLCBOT1crdHh0aW1lKTsKIAkJICAgZG91
YmxlIGdhcF9hZGp1c3RfdGltZSA9IGZpbmlzaF9hZGp1c3RfdGltZSAtIGJlZ2luX2FkanVzdF90
aW1lOwogCQkgICBpZiAoZ2FwX2FkanVzdF90aW1lIDwgMC4wKSB7CiAJCQkgICBmcHJpbnRmKHN0
ZGVyciwiV2hhdCB0aGUgaGVjayAhIG5lZ2F0aXZlIGdhcCB0aW1lLlxuIik7CkBAIC0zNTQsOCAr
MzU0LDggQEAKIAkJICBlbSgpLT5EZWNyUmN2RW5lcmd5KHJjdnRpbWUsUHJfY29uc3VtZV8pOwog
CQkqLwogCi0JCWRvdWJsZSBzdGFydF90aW1lID0gbWF4KGNoYW5uZWxfaWRsZV90aW1lXywgTk9X
KTsKLQkJZG91YmxlIGVuZF90aW1lID0gbWF4KGNoYW5uZWxfaWRsZV90aW1lXywgTk9XK3JjdnRp
bWUpOworCQlkb3VibGUgc3RhcnRfdGltZSA9IE1BWChjaGFubmVsX2lkbGVfdGltZV8sIE5PVyk7
CisJCWRvdWJsZSBlbmRfdGltZSA9IE1BWChjaGFubmVsX2lkbGVfdGltZV8sIE5PVytyY3Z0aW1l
KTsKIAkJZG91YmxlIGFjdHVhbF9yY3Z0aW1lID0gZW5kX3RpbWUtc3RhcnRfdGltZTsKIAogCQlp
ZiAoc3RhcnRfdGltZSA+IHVwZGF0ZV9lbmVyZ3lfdGltZV8pIHsKZGlmZiAtdXIgbnMtYWxsaW5v
bmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dvZC5jYyBucy1hbGxpbm9uZS0yLjI3L25zLTIu
MjcvbW9iaWxlL2dvZC5jYwotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxl
L2dvZC5jYwkyMDA0LTAxLTEyIDE5OjU5OjA2LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5v
bmUtMi4yNy9ucy0yLjI3L21vYmlsZS9nb2QuY2MJMjAwNC0xMi0xNiAwODo0Mzo0NS43NDI5NDQ5
MjggLTA1MDAKQEAgLTY0NSw3ICs2NDUsNyBAQAogICBmb3IoaSA9IDA7IGkgPCBudW1fbm9kZXM7
IGkrKykgewogICAgICBmb3IoaiA9IDA7IGogPCBudW1fbm9kZXM7IGorKykgewogCSBmb3IoayA9
IDA7IGsgPCBudW1fbm9kZXM7IGsrKykgewotCSAgICBNSU5fSE9QUyhqLGspID0gbWluKE1JTl9I
T1BTKGosayksIE1JTl9IT1BTKGosaSkgKyBNSU5fSE9QUyhpLGspKTsKKwkgICAgTUlOX0hPUFMo
aixrKSA9IE1JTihNSU5fSE9QUyhqLGspLCBNSU5fSE9QUyhqLGkpICsgTUlOX0hPUFMoaSxrKSk7
CiAJIH0KICAgICAgfQogICB9CmRpZmYgLXVyIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3
L21vYmlsZS9ncmlka2VlcGVyLmNjIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9tb2JpbGUvZ3Jp
ZGtlZXBlci5jYwotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dyaWRr
ZWVwZXIuY2MJMjAwNC0wMS0xMiAxOTo1OTowNi4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlu
b25lLTIuMjcvbnMtMi4yNy9tb2JpbGUvZ3JpZGtlZXBlci5jYwkyMDA0LTEyLTE2IDA4OjQzOjQ1
Ljc0Mzk0NDc3NiAtMDUwMApAQCAtMTMzLDcgKzEzMyw3IEBACiAgIGVuZHkgPSBtbi0+ZGVzdFko
KTsKIAogICBpZiAodnggPiAwKSB7Ci0gICAgZW5kaSA9IG1pbihkaW1feF8tMSwgKGludCllbmR4
KTsKKyAgICBlbmRpID0gTUlOKGRpbV94Xy0xLCAoaW50KWVuZHgpOwogICAgIGZvciAoaSA9IChp
bnQpeCsxOyBpIDw9IGVuZGk7IGkrKykgewogICAgICAgdG0gPSAoaS14KS92eDsKICAgICAgIHBv
dGhlciA9IHZ5KnRtICsgeTsKQEAgLTE4Miw3ICsxODIsNyBAQAogICAgIH0KICAgfQogICBpZiAo
dnkgPiAwKSB7Ci0gICAgZW5kaSA9IG1pbihkaW1feV8tMSwgKGludCllbmR5KTsKKyAgICBlbmRp
ID0gTUlOKGRpbV95Xy0xLCAoaW50KWVuZHkpOwogICAgIGZvciAoaiA9IChpbnQpeSsxOyBqIDw9
IGVuZGk7IGorKykgewogICAgICAgdG0gPSAoai15KS92eTsKICAgICAgIHBvdGhlciA9IHZ4KnRt
ICsgeDsKQEAgLTIzNywxMSArMjM3LDExIEBACiAKICAgYWRqID0gKGludCljZWlsKG1ucik7CiAK
LSAgdWx4ID0gbWluKGRpbV94Xy0xLCBncmlkX3ggKyBhZGopOwotICB1bHkgPSBtaW4oZGltX3lf
LTEsIGdyaWRfeSArIGFkaik7Ci0gIGxseSA9IG1heCgwLCBncmlkX3kgLSBhZGopOworICB1bHgg
PSBNSU4oZGltX3hfLTEsIGdyaWRfeCArIGFkaik7CisgIHVseSA9IE1JTihkaW1feV8tMSwgZ3Jp
ZF95ICsgYWRqKTsKKyAgbGx5ID0gTUFYKDAsIGdyaWRfeSAtIGFkaik7CiAKLSAgZm9yIChpID0g
bWF4KDAsIGdyaWRfeCAtIGFkaik7IGkgPD0gdWx4OyBpKyspIHsKKyAgZm9yIChpID0gTUFYKDAs
IGdyaWRfeCAtIGFkaik7IGkgPD0gdWx4OyBpKyspIHsKICAgICBmb3IgKGogPSBsbHk7IGogPD0g
dWx5OyBqKyspIHsKICAgICAgIGZvciAocGdkID0gZ3JpZF9baV1bal07IHBnZCAhPSAwOyBwZ2Qg
PSBwZ2QtPm5leHQoKSkgewogCWlmIChtbi0+YWRkcmVzcygpID09IHBnZC0+YWRkcmVzcygpKSAK
ZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dyaWRrZWVwZXIu
aCBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvbW9iaWxlL2dyaWRrZWVwZXIuaAotLS0gbnMtYWxs
aW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dyaWRrZWVwZXIuaAkyMDA0LTAxLTEyIDE5
OjU5OjA2LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L21vYmls
ZS9ncmlka2VlcGVyLmgJMjAwNC0xMi0xNiAwODo0Mzo0NS43NzI5NDAzNjggLTA1MDAKQEAgLTEz
LDggKzEzLDggQEAKIAogI2luY2x1ZGUgIm1vYmlsZW5vZGUuaCIKIAotI2RlZmluZSBtaW4oYSxi
KSAoKChhKT4oYikpPyhiKTooYSkpCi0jZGVmaW5lIG1heChhLGIpICgoKGEpPChiKSk/KGIpOihh
KSkKKyNkZWZpbmUgTUlOKGEsYikgKCgoYSk+KGIpKT8oYik6KGEpKQorI2RlZmluZSBNQVgoYSxi
KSAoKChhKTwoYikpPyhiKTooYSkpCiAjZGVmaW5lIGFsaWduZ3JpZChhLGIpICgoKGEpPT0oYikp
PygoYiktMSk6KChhKSkpCiAKIApkaWZmIC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4y
Ny9zY3RwL3NjdHAuY2MgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L3NjdHAvc2N0cC5jYwotLS0g
bnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvc2N0cC9zY3RwLmNjCTIwMDQtMDEtMTIgMTk6
NTc6MzUuMDAwMDAwMDAwIC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvc2N0cC9z
Y3RwLmNjCTIwMDQtMTItMTYgMDg6NDM6NDUuODA1OTM1MzUyIC0wNTAwCkBAIC0xNTEsNyArMTUx
LDcgQEAKICAgICAgIFBhY2tldDo6ZnJlZShzcERlc3QtPm9wUm91dGluZ0Fzc2lzdFBhY2tldCk7
CiAgICAgICBzcERlc3QtPm9wUm91dGluZ0Fzc2lzdFBhY2tldCA9IE5VTEw7CiAgICAgICBkZWxl
dGUgKFNjdHBEZXN0X1MgKikgc3BDdXJyTm9kZS0+dnBEYXRhOyAgLy9zcERlc3QKLSAgICAgIChT
Y3RwRGVzdF9TICopIHNwQ3Vyck5vZGUtPnZwRGF0YSA9IE5VTEw7CisgICAgICBzcEN1cnJOb2Rl
LT52cERhdGEgPSBOVUxMOwogICAgIH0KIAogICBpZihzcFNjdHBUcmFjZSAhPSBOVUxMKQpkaWZm
IC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy93ZWJjYWNoZS93ZWJ0cmFmLmNjIG5z
LWFsbGlub25lLTIuMjcvbnMtMi4yNy93ZWJjYWNoZS93ZWJ0cmFmLmNjCi0tLSBucy1hbGxpbm9u
ZS0yLjI3Lm9yaWcvbnMtMi4yNy93ZWJjYWNoZS93ZWJ0cmFmLmNjCTIwMDQtMDEtMTIgMTk6NTM6
NTIuMDAwMDAwMDAwIC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvd2ViY2FjaGUv
d2VidHJhZi5jYwkyMDA0LTEyLTE2IDA4OjQzOjQ1LjgwNzkzNTA0OCAtMDUwMApAQCAtNDEyLDgg
KzQxMiwxMSBAQAogCQkJblNlcnZlcl8gPSBhdG9pKGFyZ3ZbMl0pOwogCQkJaWYgKHNlcnZlcl8g
IT0gTlVMTCkgCiAJCQkJZGVsZXRlIFtdc2VydmVyXzsKLQkJCXNlcnZlcl8gPSBuZXcgV2ViU2Vy
dmVyW25TZXJ2ZXJfXSh0aGlzKTsKLQorCQkJc2VydmVyXyA9IChXZWJTZXJ2ZXIqKSBtYWxsb2Mo
blNlcnZlcl8gKiBzaXplb2YoV2ViU2VydmVyKSk7CisJCQlXZWJTZXJ2ZXIgdG1wKHRoaXMpOwor
CQkJZm9yIChpbnQgaSA9IDA7IGkgPCBuU2VydmVyXzsgaSsrKSB7CisJCQkJbWVtY3B5KCZzZXJ2
ZXJfW2ldLCAmdG1wLCBzaXplb2YoV2ViU2VydmVyKSk7CisJCQl9CiAJCQlyZXR1cm4gKFRDTF9P
Syk7CiAJCX0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJzZXQtbnVtLWNsaWVudCIpID09IDAp
IHsKIAkJCW5DbGllbnRfID0gYXRvaShhcmd2WzJdKTsKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4y
Ny5vcmlnL3RjbGNsLTEuMTUvdGNsY2wuaCBucy1hbGxpbm9uZS0yLjI3L3RjbGNsLTEuMTUvdGNs
Y2wuaAotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL3RjbGNsLTEuMTUvdGNsY2wuaAkyMDA0LTAx
LTEyIDE5OjUyOjA5LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy90Y2xjbC0x
LjE1L3RjbGNsLmgJMjAwNC0xMi0xNiAwODo0Mzo0NS44Mzg5MzAzMzYgLTA1MDAKQEAgLTQ1LDcg
KzQ1LDcgQEAKIH0KIAogI2luY2x1ZGUgInRjbGNsLWNvbmZpZy5oIgotI2luY2x1ZGUgInRjbGNs
LW1hcHBpbmdzLmgiCisvLyAjaW5jbHVkZSAidGNsY2wtbWFwcGluZ3MuaCIKICNpbmNsdWRlICJ0
cmFjZWR2YXIuaCIKIAogc3RydWN0IFRrX1dpbmRvd187CkBAIC0xNTgsNiArMTU4LDggQEAKIAlU
Y2xfSGFzaFRhYmxlIG9ianNfOwogfTsKIAorI2luY2x1ZGUgInRjbGNsLW1hcHBpbmdzLmgiCisK
IGNsYXNzIEluc3RWYXI7CiAKIGNsYXNzIFRjbE9iamVjdCB7Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48547</attachid>
            <date>2005-01-15 07:40 0000</date>
            <desc>Patch for compatibility with gcc 3.4</desc>
            <filename>ns-2.27-gcc34.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvZGlmZnVzaW9uL2RpZmZfcmF0
ZS5jYyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvZGlmZnVzaW9uL2RpZmZfcmF0ZS5jYwotLS0g
bnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvZGlmZnVzaW9uL2RpZmZfcmF0ZS5jYwkyMDA0
LTAxLTEyIDE5OjU3OjU4LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0y
LjI3L2RpZmZ1c2lvbi9kaWZmX3JhdGUuY2MJMjAwNC0xMi0xNiAwODo0Mzo0NS41ODU5Njg3OTIg
LTA1MDAKQEAgLTM3MCw3ICszNzAsNyBAQAogICAgICAgIElOVEZfSU5TRVJUKHJvdXRpbmdfdGFi
bGVbZHR5cGVdLmFjdGl2ZSwgT3V0UHRyKTsKICAgICAgICByb3V0aW5nX3RhYmxlW2R0eXBlXS5u
dW1fYWN0aXZlICsrOwkgIAogICAgICB9IGVsc2UgewotICAgICAgR1JBRF9UTU9VVChSZXRWYWwu
Y3VyKSA9IG1heChHUkFEX1RNT1VUKFJldFZhbC5jdXIpLAorICAgICAgR1JBRF9UTU9VVChSZXRW
YWwuY3VyKSA9IE1BWChHUkFEX1RNT1VUKFJldFZhbC5jdXIpLAogCQkJCSAgIGRmaC0+dHNfICsg
SU5URVJFU1RfVElNRU9VVCk7CiAgICAgIH0KIApAQCAtNzg5LDcgKzc4OSw3IEBACiAgIGlmIChS
ZXRWYWwuY3VyICE9IE5VTEwpIHsKICAgICBjdXJfb3V0ID0gKE91dF9MaXN0ICopKFJldFZhbC5j
dXIpOwogICAgIEdSQURJRU5UKGN1cl9vdXQpID0gT1JJR0lOQUw7Ci0gICAgR1JBRF9UTU9VVChS
ZXRWYWwuY3VyKSA9IG1heChHUkFEX1RNT1VUKFJldFZhbC5jdXIpLAorICAgIEdSQURfVE1PVVQo
UmV0VmFsLmN1cikgPSBNQVgoR1JBRF9UTU9VVChSZXRWYWwuY3VyKSwKIAkJCQkgICBkZmgtPnRz
XyArIElOVEVSRVNUX1RJTUVPVVQpOwogICAgIE5VTV9QT1NfUkVDVihjdXJfb3V0KSsrOwogICB9
IGVsc2UgewpkaWZmIC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9kaWZmdXNpb24v
ZGlmZnVzaW9uLmggbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L2RpZmZ1c2lvbi9kaWZmdXNpb24u
aAotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvZGlmZnVzaW9uL2RpZmZ1c2lvbi5o
CTIwMDQtMDEtMTIgMTk6NTc6NTguMDAwMDAwMDAwIC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3
L25zLTIuMjcvZGlmZnVzaW9uL2RpZmZ1c2lvbi5oCTIwMDQtMTItMTYgMDg6NDM6NDUuNjA3OTY1
NDQ4IC0wNTAwCkBAIC03NSw3ICs3NSw3IEBACiAKIAogI2RlZmluZSBTRU5EX01FU1NBR0UoeCx5
LHopICBzZW5kX3RvX2RtdXgocHJlcGFyZV9tZXNzYWdlKHgseSx6KSwgMCkKLSNkZWZpbmUgbWF4
KGEsYikgKCgoYSk8KGIpKT8oYik6KGEpKQorI2RlZmluZSBNQVgoYSxiKSAoKChhKTwoYikpPyhi
KTooYSkpCiAKIGNsYXNzIERpZmZ1c2lvbkFnZW50OwogCmRpZmYgLXVyIG5zLWFsbGlub25lLTIu
Mjcub3JpZy9ucy0yLjI3L2RpZmZ1c2lvbi9yb3V0aW5nX3RhYmxlLmNjIG5zLWFsbGlub25lLTIu
MjcvbnMtMi4yNy9kaWZmdXNpb24vcm91dGluZ190YWJsZS5jYwotLS0gbnMtYWxsaW5vbmUtMi4y
Ny5vcmlnL25zLTIuMjcvZGlmZnVzaW9uL3JvdXRpbmdfdGFibGUuY2MJMjAwNC0wMS0xMiAxOTo1
Nzo1OS4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9kaWZmdXNp
b24vcm91dGluZ190YWJsZS5jYwkyMDA0LTEyLTE2IDA4OjQzOjQ1LjYwODk2NTI5NiAtMDUwMApA
QCAtMTI5LDcgKzEyOSw3IEBACiAgIGludCAgICAgbW9zdCA9IDA7CiAKICAgZm9yIChjdXI9aWlm
OyBjdXIhPU5VTEw7IGN1ciA9IElOX05FWFQoY3VyKSkgewotICAgICAgbW9zdCA9IG1heChtb3N0
LE5FV19PUkdfUkVDVihjdXIpKTsKKyAgICAgIG1vc3QgPSBNQVgobW9zdCxORVdfT1JHX1JFQ1Yo
Y3VyKSk7CiAgIH0KICAgcmV0dXJuIG1vc3Q7CiB9CmRpZmYgLXVyIG5zLWFsbGlub25lLTIuMjcu
b3JpZy9ucy0yLjI3L2RpZmZ1c2lvbjMvbGliL25yL25yLmhoIG5zLWFsbGlub25lLTIuMjcvbnMt
Mi4yNy9kaWZmdXNpb24zL2xpYi9uci9uci5oaAotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25z
LTIuMjcvZGlmZnVzaW9uMy9saWIvbnIvbnIuaGgJMjAwNC0wMS0xMiAxOTo1ODowNS4wMDAwMDAw
MDAgLTA1MDAKKysrIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9kaWZmdXNpb24zL2xpYi9uci9u
ci5oaAkyMDA0LTEyLTE2IDA4OjQzOjQ1LjYzMTk2MTgwMCAtMDUwMApAQCAtNDMsNyArNDMsOCBA
QAogdHlwZWRlZiBzaWduZWQgaW50IGludDMyX3Q7CiAjZW5kaWYKIHR5cGVkZWYgc2lnbmVkIHNo
b3J0IGludDE2X3Q7Ci0jaWYgZGVmaW5lZCAoc3BhcmMpCisvLyAjaWYgZGVmaW5lZCAoc3BhcmMp
CisjaWYgZGVmaW5lZCAoX19TVlI0KSAmJiBkZWZpbmVkIChfX3N1bikKIHR5cGVkZWYgY2hhciBp
bnQ4X3Q7CiAjZWxzZQogLy8gQ29uZmxpY3RzIHdpdGggc3lzdGVtIGRlY2xhcmF0aW9uIG9mIGlu
dDhfdCBpbiBTb2xhcmlzCkBAIC0yMjEsNiArMjIyLDcgQEAKIH07CiAKIC8vIHN0cmluZyBzcGVj
aWFsaXphdGlvbgordGVtcGxhdGUgPD4KIGNsYXNzIE5SU2ltcGxlQXR0cmlidXRlPGNoYXIgKj46
IHB1YmxpYyBOUkF0dHJpYnV0ZSB7CiBwdWJsaWM6CiAgIE5SU2ltcGxlQXR0cmlidXRlKGludCBr
ZXksIGludCB0eXBlLCBpbnQgb3AsIGNoYXIgKnZhbCwgaW50IHNpemUgPSAwKTsKQEAgLTIzNiw2
ICsyMzgsNyBAQAogfTsKIAogLy8gYmxvYiBzcGVjaWFsaXphdGlvbgordGVtcGxhdGUgPD4KIGNs
YXNzIE5SU2ltcGxlQXR0cmlidXRlPHZvaWQgKj46IHB1YmxpYyBOUkF0dHJpYnV0ZSB7CiBwdWJs
aWM6CiAgIE5SU2ltcGxlQXR0cmlidXRlKGludCBrZXksIGludCB0eXBlLCBpbnQgb3AsIHZvaWQg
KnZhbCwgaW50IHNpemUpOwpkaWZmIC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9p
bmRlcC11dGlscy9jbXUtc2Nlbi1nZW4vc2V0ZGVzdC9NYWtlZmlsZS5pbiBucy1hbGxpbm9uZS0y
LjI3L25zLTIuMjcvaW5kZXAtdXRpbHMvY211LXNjZW4tZ2VuL3NldGRlc3QvTWFrZWZpbGUuaW4K
LS0tIG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3L2luZGVwLXV0aWxzL2NtdS1zY2VuLWdl
bi9zZXRkZXN0L01ha2VmaWxlLmluCTIwMDQtMDEtMTIgMTk6NTg6MzkuMDAwMDAwMDAwIC0wNTAw
CisrKyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvaW5kZXAtdXRpbHMvY211LXNjZW4tZ2VuL3Nl
dGRlc3QvTWFrZWZpbGUuaW4JMjAwNC0xMi0xNiAwODo0Mzo0NS42MzI5NjE2NDggLTA1MDAKQEAg
LTM3LDcgKzM3LDcgQEAKIE1LREVQCT0gLi4vLi4vLi4vY29uZi9ta2RlcAogCiAjIHdoZW4gaW5j
bHVkaW5nIGZpbGVzIGZyb20gbnMsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIFNUTF9OQU1FU1BBQ0UK
LURFRklORSA9IC1Ec3RhbmRfYWxvbmUgLURTVExfTkFNRVNQQUNFPUBTVExfTkFNRVNQQUNFQAor
REVGSU5FID0gLURzdGFuZF9hbG9uZSAtRFNUTF9OQU1FU1BBQ0U9QFNUTF9OQU1FU1BBQ0VAIC1E
Q1BQX05BTUVTUEFDRT1AQ1BQX05BTUVTUEFDRUAKIENGTEFHUyA9IEBWX0NDT1BUQCAKIExERkxB
R1MgPSBAVl9TVEFUSUNACiBMSUJTID0gQFZfTElCQCAtbG0gQExJQlNACmRpZmYgLXVyIG5zLWFs
bGlub25lLTIuMjcub3JpZy9ucy0yLjI3L2luZGVwLXV0aWxzL3dlYnRyYWNlLWNvbnYvZGVjL01h
a2VmaWxlLmluIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9pbmRlcC11dGlscy93ZWJ0cmFjZS1j
b252L2RlYy9NYWtlZmlsZS5pbgotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvaW5k
ZXAtdXRpbHMvd2VidHJhY2UtY29udi9kZWMvTWFrZWZpbGUuaW4JMjAwNC0wMS0xMiAxOTo1ODo0
NC4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9pbmRlcC11dGls
cy93ZWJ0cmFjZS1jb252L2RlYy9NYWtlZmlsZS5pbgkyMDA0LTEyLTE2IDA4OjQzOjQ1LjY1Nzk1
Nzg0OCAtMDUwMApAQCAtMzgsNyArMzgsNyBAQAogIyB3aGVuIGluY2x1ZGluZyBmaWxlcyBmcm9t
IG5zLCB3ZSBuZWVkIHRvIHRha2UgY2FyZSBTVExfTkFNRVNQQUNFCiBDQyA9IEBDWFhACiBJTkNM
VURFID0gLUkuIEBWX0lOQ0xVREVTQAotQ0ZMQUdTID0gQFZfQ0NPUFRAIC1EU1RMX05BTUVTUEFD
RT1AU1RMX05BTUVTUEFDRUAKK0NGTEFHUyA9IEBWX0NDT1BUQCAtRFNUTF9OQU1FU1BBQ0U9QFNU
TF9OQU1FU1BBQ0VAIC1EQ1BQX05BTUVTUEFDRT1AQ1BQX05BTUVTUEFDRUAKIExERkxBR1MgPSBA
Vl9TVEFUSUNACiBMSUJTID0gQFZfTElCX1RDTEAgQFZfTElCQCBATElCU0AKIElOU1RBTEwgPSBA
SU5TVEFMTEAKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvaW5kZXAtdXRp
bHMvd2VidHJhY2UtY29udi9ubGFuci9NYWtlZmlsZS5pbiBucy1hbGxpbm9uZS0yLjI3L25zLTIu
MjcvaW5kZXAtdXRpbHMvd2VidHJhY2UtY29udi9ubGFuci9NYWtlZmlsZS5pbgotLS0gbnMtYWxs
aW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvaW5kZXAtdXRpbHMvd2VidHJhY2UtY29udi9ubGFuci9N
YWtlZmlsZS5pbgkyMDA0LTAxLTEyIDE5OjU4OjQ4LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxs
aW5vbmUtMi4yNy9ucy0yLjI3L2luZGVwLXV0aWxzL3dlYnRyYWNlLWNvbnYvbmxhbnIvTWFrZWZp
bGUuaW4JMjAwNC0xMi0xNiAwODo0Mzo0NS42NTg5NTc2OTYgLTA1MDAKQEAgLTM1LDcgKzM1LDcg
QEAKICMgd2hlbiBpbmNsdWRpbmcgZmlsZXMgZnJvbSBucywgd2UgbmVlZCB0byB0YWtlIGNhcmUg
U1RMX05BTUVTUEFDRQogQ0MgPSBAQ1hYQAogSU5DTFVERSA9IC1JLiAtSS4uLy4uLy4uIEBWX0lO
Q0xVREVTQAotQ0ZMQUdTID0gQFZfQ0NPUFRAIC1EU1RMX05BTUVTUEFDRT1AU1RMX05BTUVTUEFD
RUAKK0NGTEFHUyA9IEBWX0NDT1BUQCAtRFNUTF9OQU1FU1BBQ0U9QFNUTF9OQU1FU1BBQ0VAIC1E
Q1BQX05BTUVTUEFDRT1AQ1BQX05BTUVTUEFDRUAKIExERkxBR1MgPSBAVl9TVEFUSUNACiBMSUJT
ID0gQFZfTElCX1RDTEAgQFZfTElCQCBATElCU0AKIElOU1RBTEwgPSBASU5TVEFMTEAKZGlmZiAt
dXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbGlua3N0YXRlL2xzLmggbnMtYWxsaW5v
bmUtMi4yNy9ucy0yLjI3L2xpbmtzdGF0ZS9scy5oCi0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcv
bnMtMi4yNy9saW5rc3RhdGUvbHMuaAkyMDA0LTAxLTEyIDE5OjU5OjAwLjAwMDAwMDAwMCAtMDUw
MAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L2xpbmtzdGF0ZS9scy5oCTIwMDQtMTItMTYg
MDg6NDM6NDUuNjg1OTUzNTkyIC0wNTAwCkBAIC04Niw3ICs4Niw3IEBACiAJTHNMaXN0KCkgOiBi
YXNlTGlzdCgpIHt9CiAJTHNMaXN0KGNvbnN0IF9UcCYgeCkgOiBiYXNlTGlzdCgxLCB4KSB7fQog
CXZvaWQgZXJhc2VBbGwoKSB7IAotCQliYXNlTGlzdDo6ZXJhc2UoYmVnaW4oKSwgZW5kKCkpOyAK
KwkJYmFzZUxpc3Q6OmVyYXNlKGJhc2VMaXN0OjpiZWdpbigpLCBiYXNlTGlzdDo6ZW5kKCkpOyAK
IAl9CiAJTHNMaXN0PF9UcD4mIG9wZXJhdG9yPSAoY29uc3QgTHNMaXN0PF9UcD4gJiB4KSB7CiAJ
CXJldHVybiAoTHNMaXN0PF9UcD4gJiliYXNlTGlzdDo6b3BlcmF0b3I9ICh4KTsKQEAgLTEwOSw3
ICsxMDksNyBAQAogCQlyZXR1cm4gaWIuc2Vjb25kID8gaWIuZmlyc3QgOiBiYXNlTWFwOjplbmQo
KTsKIAl9CiAKLQl2b2lkIGVyYXNlQWxsKCkgeyBlcmFzZShiZWdpbigpLCBlbmQoKSk7IH0KKwl2
b2lkIGVyYXNlQWxsKCkgeyBlcmFzZShiYXNlTWFwOjpiZWdpbigpLCBiYXNlTWFwOjplbmQoKSk7
IH0KIAlUKiBmaW5kUHRyKEtleSBrZXkpIHsKIAkJaXRlcmF0b3IgaXQgPSBiYXNlTWFwOjpmaW5k
KGtleSk7CiAJCXJldHVybiAoaXQgPT0gYmFzZU1hcDo6ZW5kKCkpID8gKFQgKilOVUxMIDogJigo
Kml0KS5zZWNvbmQpOwpkaWZmIC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9tYWMv
d2lyZWxlc3MtcGh5LmNjIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9tYWMvd2lyZWxlc3MtcGh5
LmNjCi0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9tYWMvd2lyZWxlc3MtcGh5LmNj
CTIwMDQtMDEtMTIgMTk6NTk6MTUuMDAwMDAwMDAwIC0wNTAwCisrKyBucy1hbGxpbm9uZS0yLjI3
L25zLTIuMjcvbWFjL3dpcmVsZXNzLXBoeS5jYwkyMDA0LTEyLTE2IDA4OjQzOjQ1LjY4Nzk1MzI4
OCAtMDUwMApAQCAtNTUsNyArNTUsNyBAQAogCiAjaW5jbHVkZSAiZGlmZnVzaW9uL2RpZmZfaGVh
ZGVyLmgiCiAKLSNkZWZpbmUgbWF4KGEsYikgKCgoYSk8KGIpKT8oYik6KGEpKQorI2RlZmluZSBN
QVgoYSxiKSAoKChhKTwoYikpPyhiKTooYSkpCiAKIHZvaWQgSWRsZV9UaW1lcjo6ZXhwaXJlKEV2
ZW50ICopIHsKIAlhXy0+VXBkYXRlSWRsZUVuZXJneSgpOwpAQCAtMjAwLDggKzIwMCw4IEBACiAJ
CWlmIChlbSgpLT5lbmVyZ3koKSA+IDApIHsKIAkJCS8vZG91YmxlIHR4dGltZSA9ICg4LipoZHJf
Y21uOjphY2Nlc3MocCktPnNpemUoKSkvYmFuZHdpZHRoXzsKIAkJICAgIGRvdWJsZSB0eHRpbWUg
PSBoZHJfY21uOjphY2Nlc3MocCktPnR4dGltZSgpOwotCQkgICAgZG91YmxlIHN0YXJ0X3RpbWUg
PSBtYXgoY2hhbm5lbF9pZGxlX3RpbWVfLCBOT1cpOwotCQkgICAgZG91YmxlIGVuZF90aW1lID0g
bWF4KGNoYW5uZWxfaWRsZV90aW1lXywgTk9XK3R4dGltZSk7CisJCSAgICBkb3VibGUgc3RhcnRf
dGltZSA9IE1BWChjaGFubmVsX2lkbGVfdGltZV8sIE5PVyk7CisJCSAgICBkb3VibGUgZW5kX3Rp
bWUgPSBNQVgoY2hhbm5lbF9pZGxlX3RpbWVfLCBOT1crdHh0aW1lKTsKIAkJICAgIGRvdWJsZSBh
Y3R1YWxfdHh0aW1lID0gZW5kX3RpbWUtc3RhcnRfdGltZTsKIAogCQkgICAgaWYgKHN0YXJ0X3Rp
bWUgPiB1cGRhdGVfZW5lcmd5X3RpbWVfKSB7CkBAIC0yMjAsNyArMjIwLDcgQEAKIAkJICAgICov
CiAKIAkJICAgLy8gU2FuaXR5IGNoZWNrCi0JCSAgIGRvdWJsZSB0ZW1wID0gbWF4KE5PVyxsYXN0
X3NlbmRfdGltZV8pOworCQkgICBkb3VibGUgdGVtcCA9IE1BWChOT1csbGFzdF9zZW5kX3RpbWVf
KTsKIAogCQkgICAvKgogCQkgICBpZiAoTk9XIDwgbGFzdF9zZW5kX3RpbWVfKSB7CkBAIC0yMjgs
OCArMjI4LDggQEAKIAkJICAgfQogCQkgICAqLwogCQkgICAKLQkJICAgZG91YmxlIGJlZ2luX2Fk
anVzdF90aW1lID0gbWluKGNoYW5uZWxfaWRsZV90aW1lXywgdGVtcCk7Ci0JCSAgIGRvdWJsZSBm
aW5pc2hfYWRqdXN0X3RpbWUgPSBtaW4oY2hhbm5lbF9pZGxlX3RpbWVfLCBOT1crdHh0aW1lKTsK
KwkJICAgZG91YmxlIGJlZ2luX2FkanVzdF90aW1lID0gTUlOKGNoYW5uZWxfaWRsZV90aW1lXywg
dGVtcCk7CisJCSAgIGRvdWJsZSBmaW5pc2hfYWRqdXN0X3RpbWUgPSBNSU4oY2hhbm5lbF9pZGxl
X3RpbWVfLCBOT1crdHh0aW1lKTsKIAkJICAgZG91YmxlIGdhcF9hZGp1c3RfdGltZSA9IGZpbmlz
aF9hZGp1c3RfdGltZSAtIGJlZ2luX2FkanVzdF90aW1lOwogCQkgICBpZiAoZ2FwX2FkanVzdF90
aW1lIDwgMC4wKSB7CiAJCQkgICBmcHJpbnRmKHN0ZGVyciwiV2hhdCB0aGUgaGVjayAhIG5lZ2F0
aXZlIGdhcCB0aW1lLlxuIik7CkBAIC0zNTQsOCArMzU0LDggQEAKIAkJICBlbSgpLT5EZWNyUmN2
RW5lcmd5KHJjdnRpbWUsUHJfY29uc3VtZV8pOwogCQkqLwogCi0JCWRvdWJsZSBzdGFydF90aW1l
ID0gbWF4KGNoYW5uZWxfaWRsZV90aW1lXywgTk9XKTsKLQkJZG91YmxlIGVuZF90aW1lID0gbWF4
KGNoYW5uZWxfaWRsZV90aW1lXywgTk9XK3JjdnRpbWUpOworCQlkb3VibGUgc3RhcnRfdGltZSA9
IE1BWChjaGFubmVsX2lkbGVfdGltZV8sIE5PVyk7CisJCWRvdWJsZSBlbmRfdGltZSA9IE1BWChj
aGFubmVsX2lkbGVfdGltZV8sIE5PVytyY3Z0aW1lKTsKIAkJZG91YmxlIGFjdHVhbF9yY3Z0aW1l
ID0gZW5kX3RpbWUtc3RhcnRfdGltZTsKIAogCQlpZiAoc3RhcnRfdGltZSA+IHVwZGF0ZV9lbmVy
Z3lfdGltZV8pIHsKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxl
L2dvZC5jYyBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvbW9iaWxlL2dvZC5jYwotLS0gbnMtYWxs
aW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dvZC5jYwkyMDA0LTAxLTEyIDE5OjU5OjA2
LjAwMDAwMDAwMCAtMDUwMAorKysgbnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L21vYmlsZS9nb2Qu
Y2MJMjAwNC0xMi0xNiAwODo0Mzo0NS43NDI5NDQ5MjggLTA1MDAKQEAgLTY0NSw3ICs2NDUsNyBA
QAogICBmb3IoaSA9IDA7IGkgPCBudW1fbm9kZXM7IGkrKykgewogICAgICBmb3IoaiA9IDA7IGog
PCBudW1fbm9kZXM7IGorKykgewogCSBmb3IoayA9IDA7IGsgPCBudW1fbm9kZXM7IGsrKykgewot
CSAgICBNSU5fSE9QUyhqLGspID0gbWluKE1JTl9IT1BTKGosayksIE1JTl9IT1BTKGosaSkgKyBN
SU5fSE9QUyhpLGspKTsKKwkgICAgTUlOX0hPUFMoaixrKSA9IE1JTihNSU5fSE9QUyhqLGspLCBN
SU5fSE9QUyhqLGkpICsgTUlOX0hPUFMoaSxrKSk7CiAJIH0KICAgICAgfQogICB9CmRpZmYgLXVy
IG5zLWFsbGlub25lLTIuMjcub3JpZy9ucy0yLjI3L21vYmlsZS9ncmlka2VlcGVyLmNjIG5zLWFs
bGlub25lLTIuMjcvbnMtMi4yNy9tb2JpbGUvZ3JpZGtlZXBlci5jYwotLS0gbnMtYWxsaW5vbmUt
Mi4yNy5vcmlnL25zLTIuMjcvbW9iaWxlL2dyaWRrZWVwZXIuY2MJMjAwNC0wMS0xMiAxOTo1OTow
Ni4wMDAwMDAwMDAgLTA1MDAKKysrIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy9tb2JpbGUvZ3Jp
ZGtlZXBlci5jYwkyMDA0LTEyLTE2IDA4OjQzOjQ1Ljc0Mzk0NDc3NiAtMDUwMApAQCAtMTMzLDcg
KzEzMyw3IEBACiAgIGVuZHkgPSBtbi0+ZGVzdFkoKTsKIAogICBpZiAodnggPiAwKSB7Ci0gICAg
ZW5kaSA9IG1pbihkaW1feF8tMSwgKGludCllbmR4KTsKKyAgICBlbmRpID0gTUlOKGRpbV94Xy0x
LCAoaW50KWVuZHgpOwogICAgIGZvciAoaSA9IChpbnQpeCsxOyBpIDw9IGVuZGk7IGkrKykgewog
ICAgICAgdG0gPSAoaS14KS92eDsKICAgICAgIHBvdGhlciA9IHZ5KnRtICsgeTsKQEAgLTE4Miw3
ICsxODIsNyBAQAogICAgIH0KICAgfQogICBpZiAodnkgPiAwKSB7Ci0gICAgZW5kaSA9IG1pbihk
aW1feV8tMSwgKGludCllbmR5KTsKKyAgICBlbmRpID0gTUlOKGRpbV95Xy0xLCAoaW50KWVuZHkp
OwogICAgIGZvciAoaiA9IChpbnQpeSsxOyBqIDw9IGVuZGk7IGorKykgewogICAgICAgdG0gPSAo
ai15KS92eTsKICAgICAgIHBvdGhlciA9IHZ4KnRtICsgeDsKQEAgLTIzNywxMSArMjM3LDExIEBA
CiAKICAgYWRqID0gKGludCljZWlsKG1ucik7CiAKLSAgdWx4ID0gbWluKGRpbV94Xy0xLCBncmlk
X3ggKyBhZGopOwotICB1bHkgPSBtaW4oZGltX3lfLTEsIGdyaWRfeSArIGFkaik7Ci0gIGxseSA9
IG1heCgwLCBncmlkX3kgLSBhZGopOworICB1bHggPSBNSU4oZGltX3hfLTEsIGdyaWRfeCArIGFk
aik7CisgIHVseSA9IE1JTihkaW1feV8tMSwgZ3JpZF95ICsgYWRqKTsKKyAgbGx5ID0gTUFYKDAs
IGdyaWRfeSAtIGFkaik7CiAKLSAgZm9yIChpID0gbWF4KDAsIGdyaWRfeCAtIGFkaik7IGkgPD0g
dWx4OyBpKyspIHsKKyAgZm9yIChpID0gTUFYKDAsIGdyaWRfeCAtIGFkaik7IGkgPD0gdWx4OyBp
KyspIHsKICAgICBmb3IgKGogPSBsbHk7IGogPD0gdWx5OyBqKyspIHsKICAgICAgIGZvciAocGdk
ID0gZ3JpZF9baV1bal07IHBnZCAhPSAwOyBwZ2QgPSBwZ2QtPm5leHQoKSkgewogCWlmIChtbi0+
YWRkcmVzcygpID09IHBnZC0+YWRkcmVzcygpKSAKZGlmZiAtdXIgbnMtYWxsaW5vbmUtMi4yNy5v
cmlnL25zLTIuMjcvbW9iaWxlL2dyaWRrZWVwZXIuaCBucy1hbGxpbm9uZS0yLjI3L25zLTIuMjcv
bW9iaWxlL2dyaWRrZWVwZXIuaAotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIuMjcvbW9i
aWxlL2dyaWRrZWVwZXIuaAkyMDA0LTAxLTEyIDE5OjU5OjA2LjAwMDAwMDAwMCAtMDUwMAorKysg
bnMtYWxsaW5vbmUtMi4yNy9ucy0yLjI3L21vYmlsZS9ncmlka2VlcGVyLmgJMjAwNC0xMi0xNiAw
ODo0Mzo0NS43NzI5NDAzNjggLTA1MDAKQEAgLTEzLDggKzEzLDggQEAKIAogI2luY2x1ZGUgIm1v
YmlsZW5vZGUuaCIKIAotI2RlZmluZSBtaW4oYSxiKSAoKChhKT4oYikpPyhiKTooYSkpCi0jZGVm
aW5lIG1heChhLGIpICgoKGEpPChiKSk/KGIpOihhKSkKKyNkZWZpbmUgTUlOKGEsYikgKCgoYSk+
KGIpKT8oYik6KGEpKQorI2RlZmluZSBNQVgoYSxiKSAoKChhKTwoYikpPyhiKTooYSkpCiAjZGVm
aW5lIGFsaWduZ3JpZChhLGIpICgoKGEpPT0oYikpPygoYiktMSk6KChhKSkpCiAKIApkaWZmIC11
ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy9zY3RwL3NjdHAuY2MgbnMtYWxsaW5vbmUt
Mi4yNy9ucy0yLjI3L3NjdHAvc2N0cC5jYwotLS0gbnMtYWxsaW5vbmUtMi4yNy5vcmlnL25zLTIu
Mjcvc2N0cC9zY3RwLmNjCTIwMDQtMDEtMTIgMTk6NTc6MzUuMDAwMDAwMDAwIC0wNTAwCisrKyBu
cy1hbGxpbm9uZS0yLjI3L25zLTIuMjcvc2N0cC9zY3RwLmNjCTIwMDQtMTItMTYgMDg6NDM6NDUu
ODA1OTM1MzUyIC0wNTAwCkBAIC0xNTEsNyArMTUxLDcgQEAKICAgICAgIFBhY2tldDo6ZnJlZShz
cERlc3QtPm9wUm91dGluZ0Fzc2lzdFBhY2tldCk7CiAgICAgICBzcERlc3QtPm9wUm91dGluZ0Fz
c2lzdFBhY2tldCA9IE5VTEw7CiAgICAgICBkZWxldGUgKFNjdHBEZXN0X1MgKikgc3BDdXJyTm9k
ZS0+dnBEYXRhOyAgLy9zcERlc3QKLSAgICAgIChTY3RwRGVzdF9TICopIHNwQ3Vyck5vZGUtPnZw
RGF0YSA9IE5VTEw7CisgICAgICBzcEN1cnJOb2RlLT52cERhdGEgPSBOVUxMOwogICAgIH0KIAog
ICBpZihzcFNjdHBUcmFjZSAhPSBOVUxMKQpkaWZmIC11ciBucy1hbGxpbm9uZS0yLjI3Lm9yaWcv
bnMtMi4yNy93ZWJjYWNoZS93ZWJ0cmFmLmNjIG5zLWFsbGlub25lLTIuMjcvbnMtMi4yNy93ZWJj
YWNoZS93ZWJ0cmFmLmNjCi0tLSBucy1hbGxpbm9uZS0yLjI3Lm9yaWcvbnMtMi4yNy93ZWJjYWNo
ZS93ZWJ0cmFmLmNjCTIwMDQtMDEtMTIgMTk6NTM6NTIuMDAwMDAwMDAwIC0wNTAwCisrKyBucy1h
bGxpbm9uZS0yLjI3L25zLTIuMjcvd2ViY2FjaGUvd2VidHJhZi5jYwkyMDA0LTEyLTE2IDA4OjQz
OjQ1LjgwNzkzNTA0OCAtMDUwMApAQCAtNDEyLDggKzQxMiwxMSBAQAogCQkJblNlcnZlcl8gPSBh
dG9pKGFyZ3ZbMl0pOwogCQkJaWYgKHNlcnZlcl8gIT0gTlVMTCkgCiAJCQkJZGVsZXRlIFtdc2Vy
dmVyXzsKLQkJCXNlcnZlcl8gPSBuZXcgV2ViU2VydmVyW25TZXJ2ZXJfXSh0aGlzKTsKLQorCQkJ
c2VydmVyXyA9IChXZWJTZXJ2ZXIqKSBtYWxsb2MoblNlcnZlcl8gKiBzaXplb2YoV2ViU2VydmVy
KSk7CisJCQlXZWJTZXJ2ZXIgdG1wKHRoaXMpOworCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBuU2Vy
dmVyXzsgaSsrKSB7CisJCQkJbWVtY3B5KCZzZXJ2ZXJfW2ldLCAmdG1wLCBzaXplb2YoV2ViU2Vy
dmVyKSk7CisJCQl9CiAJCQlyZXR1cm4gKFRDTF9PSyk7CiAJCX0gZWxzZSBpZiAoc3RyY21wKGFy
Z3ZbMV0sICJzZXQtbnVtLWNsaWVudCIpID09IDApIHsKIAkJCW5DbGllbnRfID0gYXRvaShhcmd2
WzJdKTsK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>48548</attachid>
            <date>2005-01-15 07:47 0000</date>
            <desc>Added patching of 2.27 source for gcc 3.4 compatibility to ebuild</desc>
            <filename>ns-2.27-r2.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA0IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L25ldC1hbmFseXplci9ucy9ucy0yLjI3LXIyLmVi
dWlsZCx2IDEuNSAyMDA0LzA2LzI0IDIyOjEzOjQ1IGFncmlmZmlzIEV4cCAkCgpERVNDUklQVElP
Tj0iTmV0d29yayBTaW11bGF0b3IiCkhPTUVQQUdFPSJodHRwOi8vd3d3LmlzaS5lZHUvbnNuYW0v
bnMvIgpTUkNfVVJJPSJodHRwOi8vd3d3LmlzaS5lZHUvbnNuYW0vZGlzdC8ke1BOfS1zcmMtJHtQ
Vn0udGFyLmd6IgoKTElDRU5TRT0iQlNEIGFzLWlzIgpTTE9UPSIwIgpLRVlXT1JEUz0ifng4NiB+
c3BhcmMiCklVU0U9ImRvYyBkZWJ1ZyIKCmluaGVyaXQgZXV0aWxzCgpERVBFTkRfQ09NTU9OPSI+
PWRldi1sYW5nL3RjbC04LjQuNAoJCT49ZGV2LWxhbmcvdGstOC40LjQKCQk+PWRldi10Y2x0ay9v
dGNsLTEuMC44YQoJCT49ZGV2LXRjbHRrL3RjbGNsLTEuMC4xM2IKCQluZXQtbGlicy9saWJwY2Fw
CgkJZGVidWc/ICggPWRldi1sYW5nL3BlcmwtNSogPj1tZWRpYS1nZngveGdyYXBoLTEyLjEgPj1k
ZXYtbGlicy9kbWFsbG9jLTQuOC4yID49ZGV2LXRjbHRrL3RjbC1kZWJ1Zy0yLjAgKSIKREVQRU5E
PSJkb2M/ICggdmlydHVhbC90ZXRleCB2aXJ0dWFsL2dob3N0c2NyaXB0IGRldi10ZXgvbGF0ZXgy
aHRtbCApICR7REVQRU5EX0NPTU1PTn0iClJERVBFTkQ9IiR7REVQRU5EX0NPTU1PTn0iCgpzcmNf
Y29tcGlsZSgpIHsKCWxvY2FsIG15Y29uZgoJbG9jYWwgbXl0Y2x2ZXI9IiIKCWxvY2FsIGkKCgll
cGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1nY2MzNC5wYXRjaAoKCXVzZSBkZWJ1ZyBcCgkJJiYgbXlj
b25mPSIke215Y29uZn0gLS13aXRoLXRjbGRlYnVnPS91c3IvbGliL3RjbGRiZzIuMCIgXAoJCXx8
IG15Y29uZj0iJHtteWNvbmZ9IC0td2l0aC10Y2xkZWJ1Zz1ubyIKCW15Y29uZj0iJHtteWNvbmZ9
ICQodXNlX3dpdGggZGVidWcgZG1hbGxvYykiCgoJZm9yIGkgaW4gOC40IDguMzsgZG8KCQllaW5m
byAiVGVzdGluZyBUQ0wgJHtpfSIKCQloYXNfdmVyc2lvbiAiPWRldi1sYW5nL3RjbC0ke2l9KiIg
JiYgbXl0Y2x2ZXI9JHtpfQoJCVsgIiR7I215dGNsdmVyfSIgLWd0IDIgXSAmJiBicmVhawoJZG9u
ZQoJZWluZm8gIlVzaW5nIFRDTCAke215dGNsdmVyfSIKCW15Y29uZj0iJHtteWNvbmZ9IC0td2l0
aC10Y2wtdmVyPSR7bXl0Y2x2ZXJ9IC0td2l0aC10ay12ZXI9JHtteXRjbHZlcn0iCgoJZWNvbmYg
XAoJCSR7bXljb25mfSBcCgkJLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gXAoJCS0tZW5hYmxlLXN0
bCBcCgkJLS1lbmFibGUtcmVsZWFzZSB8fCBkaWUgIi4vY29uZmlndXJlIGZhaWxlZCIKCWVtYWtl
IENDT1BUPSIke0NGTEFHU30iIHx8IGRpZQoKCWNkICR7U30vaW5kZXAtdXRpbHMvZG9zZGJlbGwK
CWVtYWtlIERGTEFHUz0iJHtDRkxBR1N9IiB8fCBkaWUKCWNkICR7U30vaW5kZXAtdXRpbHMvZG9z
cmVkdWNlCglnY2MgJHtDRkxBR1N9IGRvc3JlZHVjZS5jIC1vIGRvc3JlZHVjZQoJY2QgJHtTfS9p
bmRlcC11dGlscy9wcm9wYWdhdGlvbgoJZysrICR7Q1hYRkxBR1N9IHRocmVzaG9sZC5jYyAtbyB0
aHJlc2hvbGQKfQoKc3JjX2luc3RhbGwoKSB7Cglkb2RpciAvdXNyL2JpbiAvdXNyL3NoYXJlL21h
bi9tYW4xCgltYWtlIERFU1RESVI9IiR7RH0iIE1BTkRFU1Q9L3Vzci9zaGFyZS9tYW4gaW5zdGFs
bCBcCgkJfHwgZGllICJtYWtlIGluc3RhbGwgZmFpbGVkIgoJZG9iaW4gbnNlCgoJZG9kb2MgQkFT
RS1WRVJTSU9OIENPUFlSSUdIVFMgRklMRVMgSE9XVE8tQ09OVFJJQlVURSBSRUFETUUgVkVSU0lP
TgoJZG9odG1sIENIQU5HRVMuaHRtbCBUT0RPLmh0bWwKCgljcCAtcmEgIiR7U30vbnMtdHV0b3Jp
YWwiICIke0R9L3Vzci9zaGFyZS9kb2MvJHtQRn0iCgljcCAtcmEgIiR7U30vdGNsIiAiJHtEfS91
c3Ivc2hhcmUvbnMiCgoJY2QgIiR7U30vaW5kZXAtdXRpbHMvZG9zZGJlbGwiCglkb2JpbiBkb3Nk
YmVsbCBkb3NkYmVsbGFzaW0KCW5ld2RvYyBSRUFETUUgUkVBRE1FLmRvc2RiZWxsCgljZCAiJHtT
fS9pbmRlcC11dGlscy9kb3NyZWR1Y2UiCglkb2JpbiBkb3NyZWR1Y2UKCW5ld2RvYyBSRUFETUUg
UkVBRE1FLmRvc3JlZHVjZQoJY2QgIiR7U30vaW5kZXAtdXRpbHMvY211LXNjZW4tZ2VuIgoJZG9i
aW4gY2JyZ2VuLnRjbAoJbmV3ZG9jIFJFQURNRSBSRUFETUUuY2JyZ2VuCgljZCAiJHtTfS9pbmRl
cC11dGlscy9wcm9wYWdhdGlvbiIKCWRvYmluIHRocmVzaG9sZAoKCWlmIHVzZSBkb2M7IHRoZW4K
CQllaW5mbyAiR2VuZXJhdGluZyBleHRyYSBkb2NzIgoJCWNkICR7U30vZG9jCgkJZG9jaW50byBk
b2MKCQllbWFrZSBhbGwKCQlkb2RvYyBldmVyeXRoaW5nLmR2aSBldmVyeXRoaW5nLnBzLmd6IGV2
ZXJ5dGhpbmcuaHRtbCBldmVyeXRoaW5nLnBkZgoJZmkKfQo=
</data>        

          </attachment>
    </bug>

</bugzilla>