<?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>172325</bug_id>
          
          <creation_ts>2007-03-26 18:30 0000</creation_ts>
          <short_desc>dev-java/swt-3.2.2 - build of Mozilla component fails on amd64</short_desc>
          <delta_ts>2007-05-28 21:56:00 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>Ebuilds</component>
          <version>2006.1</version>
          <rep_platform>AMD64</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>
          
          <blocked>179815</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>pierre@levosgien.net</reporter>
          <assigned_to>java@gentoo.org</assigned_to>
          <cc>amd64@gentoo.org</cc>
    
    <cc>anm.mlist01@limuru.com</cc>
    
    <cc>jdaluz@gmail.com</cc>
    
    <cc>tetromino@gmail.com</cc>
    
    <cc>vgivanovic@comcast.net</cc>

      

      
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-03-26 18:30:49 0000</bug_when>
            <thetext>* Building the Mozilla component
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom.cpp
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom_custom.cpp
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom_structs.cpp
Dans le fichier inclus à partir de xpcom_structs.h:29Dans le fichier inclus à partir de xpcom_structs.h:29,
          à partir de xpcom_structs.cpp:30:
xpcom.h:18:25: erreur: nsEmbedAPI.h : Aucun fichier ou répertoire de ce type
,
          à partir de xpcom.cpp:30:
xpcom.h:18:25: erreur: nsEmbedAPI.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de xpcom_structs.h:29,
          à partir de xpcom_custom.cpp:13:
xpcom.h:18:25: erreur: nsEmbedAPI.h : Aucun fichier ou répertoire de ce type
make: *** [xpcom_structs.o] Erreur 1
make: *** Attente des tâches non terminées....
xpcom.cpp: In function ‘jint Java_org_eclipse_swt_internal_mozilla_XPCOM_NS_1InitEmbedding(JNIEnv*, _jclass*, jlong, jlong)’:
xpcom.cpp:94: erreur: ‘NS_InitEmbedding’ was not declared in this scope
xpcom.cpp: In function ‘jint Java_org_eclipse_swt_internal_mozilla_XPCOM_NS_1TermEmbedding(JNIEnv*, _jclass*)’:
xpcom.cpp:122: erreur: ‘NS_TermEmbedding’ was not declared in this scope
make: *** [xpcom_custom.o] Erreur 1
make: *** [xpcom.o] Erreur 1

!!! ERROR: dev-java/swt-3.2.2 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_compile
  ebuild.sh, line 971:   Called qa_call &apos;src_compile&apos;
  environment, line 4749:   Called src_compile
  swt-3.2.2.ebuild, line 161:   Called die

!!! Failed to build Mozilla support
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at &apos;/var/tmp/portage/dev-java/swt-3.2.2/temp/build.log&apos;.

!!! When you file a bug report, please include the following information:
GENTOO_VM=blackdown-jdk-1.4.2  CLASSPATH=&quot;&quot; JAVA_HOME=&quot;/opt/blackdown-jdk-1.4.2.03&quot;
JAVACFLAGS=&quot;-source 1.4 -target 1.4&quot; COMPILER=&quot;&quot;
and of course, the output of emerge --info</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-03-26 18:31:28 0000</bug_when>
            <thetext># emerge --info
Portage 2.1.2.2 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r1, 2.6.20-gentoo-r3 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r3 x86_64 Intel(R) Pentium(R) D CPU 3.00GHz
Gentoo Base System version 1.12.9
Timestamp of tree: Mon, 26 Mar 2007 17:50:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r2
ACCEPT_KEYWORDS=&quot;amd64 x86 ~amd64 ~x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;x86_64-pc-linux-gnu&quot;
CFLAGS=&quot;-march=nocona -O2 -pipe&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo&quot;
CXXFLAGS=&quot;-march=nocona -O2 -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig distlocks metadata-transfer sandbox sfperms strict&quot;
GENTOO_MIRRORS=&quot;http://ftp.club-internet.fr/pub/mirrors/gentoo http://distfiles.gentoo.org&quot;
LANG=&quot;fr_FR.UTF-8&quot;
LC_ALL=&quot;fr_FR.UTF-8&quot;
LINGUAS=&quot;fr en us&quot;
MAKEOPTS=&quot;-j3&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/portage/local/layman/sunrise /usr/portage/local/layman/java-experimental&quot;
SYNC=&quot;rsync://rsync.europe.gentoo.org/gentoo-portage&quot;
USE=&quot;X alsa amd64 apache2 arts avi bash-completion berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dlloader dri dvd dvdr eds emboss encode esd exif fam firefox flac fortran galago gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog java jpeg kde ldap libg++ mad midi mikmod mono mp3 mpeg musepack mysql mysqli ncurses nls nptl nptlonly nsplugin ogg opengl oss pam pcre pdflib perl png ppds pppd python qt3 qt4 quicktime readline reflection ruby samba sdl seamonkey session spell spl ssl svg tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xine xinetd xml xorg xv xvid zlib&quot; ALSA_CARDS=&quot;ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol&quot; CAMERAS=&quot;canon ptp2&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse evdev&quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; LINGUAS=&quot;fr en us&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;nvidia nv vesa fbdev&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-03-26 18:54:08 0000</bug_when>
            <thetext>Reopen with error messages in English; set your locales to C when reporting bugs.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-03-26 19:07:27 0000</bug_when>
            <thetext>I hope I&apos;m right now.

# export LC_ALL=C

# emerge --update swt

...

 * Building the Mozilla component
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom.cpp
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom_custom.cpp
g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom_structs.cpp
In file included from xpcom_structs.h:29,
                 from xpcom.cpp:30:
xpcom.h:18:25: error: nsEmbedAPI.h: No such file or directory
In file included from xpcom_structs.h:29,
                 from xpcom_custom.cpp:13:
xpcom.h:18:25: error: nsEmbedAPI.h: No such file or directory
xpcom.cpp: In function &apos;jint Java_org_eclipse_swt_internal_mozilla_XPCOM_NS_1InitEmbedding(JNIEnv*, _jclass*, jlong, jlong)&apos;:
xpcom.cpp:94: error: &apos;NS_InitEmbedding&apos; was not declared in this scope
xpcom.cpp: In function &apos;jint Java_org_eclipse_swt_internal_mozilla_XPCOM_NS_1TermEmbedding(JNIEnv*, _jclass*)&apos;:
xpcom.cpp:122: error: &apos;NS_TermEmbedding&apos; was not declared in this scope
In file included from xpcom_structs.h:29,
                 from xpcom_structs.cpp:30:
xpcom.h:18:25: error: nsEmbedAPI.h: No such file or directory
make: *** [xpcom.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [xpcom_custom.o] Error 1
make: *** [xpcom_structs.o] Error 1

!!! ERROR: dev-java/swt-3.2.2 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_compile
  ebuild.sh, line 971:   Called qa_call &apos;src_compile&apos;
  environment, line 4749:   Called src_compile
  swt-3.2.2.ebuild, line 161:   Called die

!!! Failed to build Mozilla support
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at &apos;/var/tmp/portage/dev-java/swt-3.2.2/temp/build.log&apos;.

!!! When you file a bug report, please include the following information:
GENTOO_VM=blackdown-jdk-1.4.2  CLASSPATH=&quot;&quot; JAVA_HOME=&quot;/opt/blackdown-jdk-1.4.2.03&quot;
JAVACFLAGS=&quot;-source 1.4 -target 1.4&quot; COMPILER=&quot;&quot;
and of course, the output of emerge --info
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-03-26 19:22:38 0000</bug_when>
            <thetext># find /usr -iname &quot;nsEmbedAPI.h&quot;
/usr/lib64/mozilla-firefox/include/embed_base/nsEmbedAPI.h
/usr/lib64/mozilla-thunderbird/include/embed_base/nsEmbedAPI.h
/usr/lib64/seamonkey/include/embed_base/nsEmbedAPI.h

Givent the error message, it seems that the gcc command line miss one of these mozilla include :

g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c xpcom_structs.cpp

FYI I have these Java VM installed :

# eselect java-vm list
Available Java Virtual Machines:
  [1]   blackdown-jdk-1.4.2 
  [2]   sun-jdk-1.5 
  [3]   sun-jdk-1.6  system-vm

Hope this helps.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>betelgeuse@gentoo.org</who>
            <bug_when>2007-03-26 20:17:17 0000</bug_when>
            <thetext>(In reply to comment #4)
&gt; 
&gt; g++ -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1
&gt; -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor
&gt; -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include
&gt; -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64
&gt; -I/usr/lib64/seamonkey/include -I/usr/lib64/seamonkey/include/xpcom
&gt; -I/usr/lib64/seamonkey/include/string -I/usr/include/nspr   -c
&gt; xpcom_structs.cpp
&gt; 

What version of seamonkey do you have installed? If it&apos;s not the latest, does updating to the latest version fix the issue for you.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-03-27 06:24:16 0000</bug_when>
            <thetext>&gt; What version of seamonkey do you have installed? If it&apos;s not the latest, does
&gt; updating to the latest version fix the issue for you.

I think I already have the latest seamonkey.

$ eix seamonkey
[I] www-client/seamonkey
     Available versions:  1.0.7 (~)1.0.8 1.1.1
     Installed versions:  1.1.1(11:01:00 02.03.2007)(crypt -debug gnome ipv6 java ldap -mozdevelop -moznocompose -moznoirc -moznomail -moznopango -moznoroaming -postgres -xforms -xinerama -xprint)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tetromino@gmail.com</who>
            <bug_when>2007-04-12 03:24:14 0000</bug_when>
            <thetext>I am getting the exact same error with USE=&quot;seamonkey -xulrunner&quot;.

On the other hand, with USE=&quot;xulrunner -seamonkey&quot;, the error becomes slightly different:
[...]
g++ -o xpcom17_profile.o -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64  -c xpcom_profile.cpp
g++ -o xpcom18_profile.o -march=nocona -O2 -pipe -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/blackdown-jdk-1.4.2.03/include -I/opt/blackdown-jdk-1.4.2.03/include/linux -DSWT_PTR_SIZE_64  -c xpcom_profile.cpp
In file included from xpcom_profile_structs.h:29,
                 from xpcom_profile.cpp:30:
xpcom_profile.h:17:22: error: nsCOMPtr.h: No such file or directory
xpcom_profile.h:18:41: error: nsProfileDirServiceProvider.h: No such file or directory
[...]

This is on an ~amd64 system, seamonkey-1.1.1, xulrunner-1.8.0.4</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tetromino@gmail.com</who>
            <bug_when>2007-04-12 04:41:25 0000</bug_when>
            <thetext>Created an attachment (id=116026)
swt-3.2.2.ebuild

OK, so here is why the build failures is happening.

Problem 1: have a look at make_linux.mak; you will see that GECKO_CFLAGS are not applied when building xpcom_profile.cpp, which causes failure.

Problem 2: xpcom_profile.h #includes nsProfileDirServiceProvider.h, which is not in pkgconfig cflags for *any* xulrunner or seamonkey package. It&apos;s there in the gecko include tree though; so we need to add it manually, or the build fails.

Problem 3: xpcom.h #includes nsEmbedAPI.h; nsEmbedAPI.h is not in the pkgconfig cflags for *any* seamonkey-1.1 package.  So again we need to add it manually or the seamonkey build fails. (Note that current xulrunner&apos;s pkgconfig handles this fine, but adding the extra include won&apos;t hurt, especially since future of xulrunner might become like seamonkey and firefox.)

I am attaching an ebuild that fixes these problems.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pierre@levosgien.net</who>
            <bug_when>2007-04-12 06:58:54 0000</bug_when>
            <thetext>&gt; I am attaching an ebuild that fixes these problems.

Tested here on my ~amd64/~x86 box. Works nicely ;-)

MANY THANKS !</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-04-12 08:50:43 0000</bug_when>
            <thetext>not fixed until in tree</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vgivanovic@comcast.net</who>
            <bug_when>2007-04-22 23:23:43 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; &gt; I am attaching an ebuild that fixes these problems.
&gt; 
&gt; Tested here on my ~amd64/~x86 box. Works nicely ;-)
&gt; 
&gt; MANY THANKS !
&gt; 

Works for me as well on ~amd64.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>betelgeuse@gentoo.org</who>
            <bug_when>2007-04-27 21:55:52 0000</bug_when>
            <thetext>welp:
https://bugs.gentoo.org/show_bug.cgi?id=169456#c2

Did you just keyword without testing or is this something caused by recent version bumps in mozilla based browsers?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>betelgeuse@gentoo.org</who>
            <bug_when>2007-04-27 22:43:21 0000</bug_when>
            <thetext>(In reply to comment #8)
&gt; Created an attachment (id=116026) [edit]
&gt; swt-3.2.2.ebuild
&gt; 

The other way to solve this is to fix the firefox patch that we are using to apply on amd64. As you can see here:
http://overlays.gentoo.org/proj/java/browser/other/swt-patches/swt-3.2.2-gentoo-patches
The patch is not applied on amd64. I asked for testing on amd64 in bug 169456 and there they said it works fine.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tetromino@gmail.com</who>
            <bug_when>2007-04-27 23:53:23 0000</bug_when>
            <thetext>(In reply to comment #13)
&gt; The other way to solve this is to fix the firefox patch that we are using to
&gt; apply on amd64. As you can see here:

So there is a patch...

I have no idea about the java part, but make_linux.mak, xpcom_profile.h, and the nsEmbedAPI stuff need to be fixed on every architecture. (However, adding /usr/$(get_libdir)/${gecko}/include/embed_base to the includes may be easier than patching away all usage of the nsEmbedAPI api.)

Otherwise there is no way swt mozilla component can possibly compile.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>betelgeuse@gentoo.org</who>
            <bug_when>2007-04-28 08:51:49 0000</bug_when>
            <thetext>(In reply to comment #14)
&gt; 
&gt; I have no idea about the java part, but make_linux.mak, xpcom_profile.h, and
&gt; the nsEmbedAPI stuff need to be fixed on every architecture. (However, adding
&gt; /usr/$(get_libdir)/${gecko}/include/embed_base to the includes may be easier
&gt; than patching away all usage of the nsEmbedAPI api.)
&gt; 

Actually I think the patch changes the code so that it doesn&apos;t need the headers that are not reachable.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-26 07:00:27 0000</bug_when>
            <thetext>Created an attachment (id=120346)
updated x86 firefox patch

This is a blindly updated x86 patch for amd64 sources. Can anyone test it? (no changes to ebuild as proposed by the previous attachment). I have no amd64.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ali_bush@gentoo.org</who>
            <bug_when>2007-05-27 04:04:37 0000</bug_when>
            <thetext>Sadly doesn&apos;t seem to work

 * Building the Mozilla component
g++ -march=k8 -pipe -O2 -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/sun-jdk-1.6.0.02_alpha02/include -I/opt/sun-jdk-1.6.0.02_alpha02/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/xulrunner/include -I/usr/lib64/xulrunner/include/xpcom -I/usr/lib64/xulrunner/include/string -I/usr/include/nspr   -c xpcom.cpp
g++ -march=k8 -pipe -O2 -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/sun-jdk-1.6.0.02_alpha02/include -I/opt/sun-jdk-1.6.0.02_alpha02/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/xulrunner/include -I/usr/lib64/xulrunner/include/xpcom -I/usr/lib64/xulrunner/include/string -I/usr/include/nspr   -c xpcom_custom.cpp
xpcom.cpp: In function &apos;jint Java_org_eclipse_swt_internal_mozilla_XPCOM_NS_1InitEmbedding(JNIEnv*, _jclass*, jlong, jlong)&apos;:
xpcom.cpp:94: error: &apos;NS_InitEmbedding&apos; was not declared in this scope
g++ -march=k8 -pipe -O2 -DSWT_VERSION=3236  -DXPCOM_GLUE=1 -DMOZILLA_STRICT_API=1 -fno-rtti -fno-exceptions -Wall -Wno-non-virtual-dtor -fPIC -I. -I/opt/sun-jdk-1.6.0.02_alpha02/include -I/opt/sun-jdk-1.6.0.02_alpha02/include/linux -DSWT_PTR_SIZE_64 -I/usr/lib64/xulrunner/include -I/usr/lib64/xulrunner/include/xpcom -I/usr/lib64/xulrunner/include/string -I/usr/include/nspr   -c xpcom_structs.cpp
make: *** [xpcom.o] Error 1



</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-05-27 07:29:28 0000</bug_when>
            <thetext>*** Bug 179915 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-27 09:51:09 0000</bug_when>
            <thetext>Created an attachment (id=120424)
amd64 firefox patch converted from x86

Looks like I forgot to repair one rejected hunk, let&apos;s try this one :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vgivanovic@comcast.net</who>
            <bug_when>2007-05-27 16:36:45 0000</bug_when>
            <thetext>(In reply to comment #19)
&gt; Created an attachment (id=120424) [edit]
&gt; amd64 firefox patch converted from x86
&gt; 
&gt; Looks like I forgot to repair one rejected hunk, let&apos;s try this one :)
&gt; 

Thanks. This worked for me.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>muczyjoe@gmail.com</who>
            <bug_when>2007-05-27 18:09:46 0000</bug_when>
            <thetext>Works for me on ~amd64 with xulrunner -seamonkey.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-27 18:40:08 0000</bug_when>
            <thetext>Thanks for the testing. But did you test only compiling or running it too? I want to be sure before I add this patch to the ebuild in portage and proceed with stabilization. 
The simple testcase is here: https://overlays.gentoo.org/svn/proj/java/testcases/dev-java/swt/
test with both USE=&quot;seamonkey -xulrunner&quot; and USE=&quot;xulrunner -seamonkey&quot; (if you set both, xulrunner is used)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vgivanovic@comcast.net</who>
            <bug_when>2007-05-28 03:42:47 0000</bug_when>
            <thetext>(In reply to comment #22)
&gt; Thanks for the testing. But did you test only compiling or running it too? I
&gt; want to be sure before I add this patch to the ebuild in portage and proceed
&gt; with stabilization. 
&gt; The simple testcase is here:
&gt; https://overlays.gentoo.org/svn/proj/java/testcases/dev-java/swt/
&gt; test with both USE=&quot;seamonkey -xulrunner&quot; and USE=&quot;xulrunner -seamonkey&quot; (if
&gt; you set both, xulrunner is used)
&gt; 

Here&apos;s what I did (let me know if I&apos;d done something wrong):

with USE=&quot;seamonkey -xulrunner&quot;:
1. ebuild `equery which =dev-java/swt-3.2.2-r1` unpack
2. patch -p1 &lt;/tmp/patch-from-comment-#19&gt;
3. ebuild `equery which =dev-java/swt-3.2.2-r1` merge
4. sh runtest.sh seamonkey ==&gt;
&lt;8 errors in the terminal window like: &quot;ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.&quot;&gt;
and then a bare browser window came up (without the ususal seamonkey buttons) that was visiting http://www.eclipse.org/.

with USE=&quot;xulrunner -seamonkey&quot;
(I had to emerge xulrunner first)
Steps 1,2 3 as above
4. sh runtest.sh/sh runtest.sh seamonkey/sh runstest.sh xulrunner =&gt;
scarlatti tmp # sh runtest.sh 
Exception in thread &quot;main&quot; java.lang.InternalError
        at java.util.zip.Inflater.init(Native Method)
        at java.util.zip.Inflater.&lt;init&gt;(Inflater.java:75)
        at java.util.zip.ZipFile.getInflater(ZipFile.java:375)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:320)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:286)
        at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:467)
        at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:15)
        at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:809)
        at sun.misc.URLClassPath.getLoader(URLClassPath.java:293)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:160)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
scarlatti tmp # sh runtest.sh seamonkey
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.
Exception in thread &quot;main&quot; org.eclipse.swt.SWTError: XPCOM error -1041039359
        at org.eclipse.swt.browser.Browser.error(Unknown Source)
        at org.eclipse.swt.browser.Browser.&lt;init&gt;(Unknown Source)
        at Snippet128.main(Snippet128.java:58)
scarlatti tmp # sh runtest.sh xulrunner
Exception in thread &quot;main&quot; java.lang.InternalError
        at java.util.zip.Inflater.init(Native Method)
        at java.util.zip.Inflater.&lt;init&gt;(Inflater.java:75)
        at java.util.zip.ZipFile.getInflater(ZipFile.java:375)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:320)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:286)
        at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:467)
        at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:15)
        at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:809)
        at sun.misc.URLClassPath.getLoader(URLClassPath.java:293)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:160)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-28 19:45:04 0000</bug_when>
            <thetext>(In reply to comment #23)
&gt; 4. sh runtest.sh seamonkey ==&gt;
&gt; &lt;8 errors in the terminal window like: &quot;ERROR: ld.so: object
&gt; &apos;/usr/lib/seamonkey/libxul.so&apos; from LD_PRELOAD cannot be preloaded: ignored.&quot;&gt;
&gt; and then a bare browser window came up (without the ususal seamonkey buttons)
&gt; that was visiting http://www.eclipse.org/.

Suppose the errors come from using preload, but at least it worked in the end huh.
 
&gt; scarlatti tmp # sh runtest.sh xulrunner
&gt; Exception in thread &quot;main&quot; java.lang.InternalError
&gt;         at java.util.zip.Inflater.init(Native Method)
&gt;         at java.util.zip.Inflater.&lt;init&gt;(Inflater.java:75)
&gt;         at java.util.zip.ZipFile.getInflater(ZipFile.java:375)
&gt;         at java.util.zip.ZipFile.getInputStream(ZipFile.java:320)
&gt;         at java.util.zip.ZipFile.getInputStream(ZipFile.java:286)
&gt;         at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:467)
&gt;         at
&gt; java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:15)
&gt;         at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:809)
&gt;         at sun.misc.URLClassPath.getLoader(URLClassPath.java:293)
&gt;         at sun.misc.URLClassPath.getResource(URLClassPath.java:160)
&gt;         at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
&gt;         at java.security.AccessController.doPrivileged(Native Method)
&gt;         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
&gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
&gt;         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
&gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
&gt;         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
&gt; 

Weird, this looks like if the swt.jar file is corrupted. Can you check it (it&apos;s just renamed zip file). Did you run out of disk space or what?

Anyway, ali_bush tested it and worked for him on amd64, so I&apos;ve put the amd64 patch in patchset and used it in swt-3.2.2 and 3.2.2-r1. Should be fixed in few hours as it hits your mirrors.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vgivanovic@comcast.net</who>
            <bug_when>2007-05-28 21:56:00 0000</bug_when>
            <thetext>(In reply to comment #24)

OK, I&apos;ll give the it a whirl. I&apos;ll reopen if I have a problem.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116026</attachid>
            <date>2007-04-12 04:41 0000</date>
            <desc>swt-3.2.2.ebuild</desc>
            <filename>swt-3.2.2.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA3IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL3N3dC9zd3QtMy4yLjIuZWJ1aWxk
LHYgMS4zIDIwMDcvMDQvMDkgMTk6MTc6NDAgd2VscCBFeHAgJAoKaW5oZXJpdCBldXRpbHMgamF2
YS1wa2ctMiBqYXZhLWFudC0yIHRvb2xjaGFpbi1mdW5jcwoKTVlfRE1GPSJSLSR7UFZ9LTIwMDcw
MjEyMTMzMCIKIyBodHRwczovL292ZXJsYXlzLmdlbnRvby5vcmcvc3ZuL3Byb2ovamF2YS9vdGhl
ci9zd3QtcGF0Y2hlcwpQQVRDSFNFVD0iJHtQTn0tMy4yLjItZ2VudG9vLXBhdGNoZXMiCkRFU0NS
SVBUSU9OPSJHVEsgYmFzZWQgU1dUIExpYnJhcnkiCkhPTUVQQUdFPSJodHRwOi8vd3d3LmVjbGlw
c2Uub3JnLyIKU1JDX1VSST0ieDg2PyAoCgkJCWh0dHA6Ly9kb3dubG9hZC5lY2xpcHNlLm9yZy9k
b3dubG9hZHMvZHJvcHMvJHtNWV9ETUZ9LyR7UH0tZ3RrLWxpbnV4LXg4Ni56aXAKCQkpCgkJeDg2
LWZic2Q/ICgKCQkJaHR0cDovL2Rvd25sb2FkLmVjbGlwc2Uub3JnL2Rvd25sb2Fkcy9kcm9wcy8k
e01ZX0RNRn0vJHtQfS1ndGstbGludXgteDg2LnppcAoJCSkKCQlhbWQ2ND8gKAoJCQlodHRwOi8v
ZG93bmxvYWQuZWNsaXBzZS5vcmcvZG93bmxvYWRzL2Ryb3BzLyR7TVlfRE1GfS8ke1B9LWd0ay1s
aW51eC14ODZfNjQuemlwCgkJKQoJCXBwYz8gKAoJCQlodHRwOi8vZG93bmxvYWQuZWNsaXBzZS5v
cmcvZG93bmxvYWRzL2Ryb3BzLyR7TVlfRE1GfS8ke1B9LWd0ay1saW51eC1wcGMuemlwCgkJKQoJ
CW1pcnJvcjovL2dlbnRvby8ke1BBVENIU0VUfS50YXIuYnoyIgoKU0xPVD0iMyIKTElDRU5TRT0i
Q1BMLTEuMCBMR1BMLTIuMSBNUEwtMS4xIgpLRVlXT1JEUz0ifmFtZDY0IH54ODYgfng4Ni1mYnNk
IgoKSVVTRT0iY2Fpcm8gZ25vbWUgc2VhbW9ua2V5IG9wZW5nbCB4dWxydW5uZXIiCkNPTU1PTj0i
Pj1kZXYtbGlicy9nbGliLTIuNgoJCT49eDExLWxpYnMvZ3RrKy0yLjYuOAoJCT49ZGV2LWxpYnMv
YXRrLTEuMTAuMgoJCWNhaXJvPyAoID49eDExLWxpYnMvY2Fpcm8tMS4wLjIgKQoJCWdub21lPwko
CgkJCQkJPWdub21lLWJhc2UvbGliZ25vbWUtMioKCQkJCQk9Z25vbWUtYmFzZS9nbm9tZS12ZnMt
MioKCQkJCQk9Z25vbWUtYmFzZS9saWJnbm9tZXVpLTIqCgkJCQkpCgkJc2VhbW9ua2V5PyAoCgkJ
CQkJPj13d3ctY2xpZW50L3NlYW1vbmtleS0xLjAuMgoJCQkJCT49ZGV2LWxpYnMvbnNwci00LjYu
MgoJCQkJKQoJCXh1bHJ1bm5lcj8gKAoJCQkJCW5ldC1saWJzL3h1bHJ1bm5lcgoJCQkJKQoJCW9w
ZW5nbD8JKAoJCQkJCXZpcnR1YWwvb3BlbmdsCgkJCQkJdmlydHVhbC9nbHUKCQkJCSkiCkRFUEVO
RD0iPj12aXJ0dWFsL2pkay0xLjQKCQkke0NPTU1PTn0KCQlkZXYtamF2YS9hbnQtY29yZQoJCWFw
cC1hcmNoL3VuemlwCgkJeDExLWxpYnMvbGliWDExCgkJeDExLWxpYnMvbGliWHJlbmRlcgoJCXgx
MS1saWJzL2xpYlh0CgkJeDExLXByb3RvL3hleHRwcm90byIKClJERVBFTkQ9Ij49dmlydHVhbC9q
cmUtMS40CgkJeDExLWxpYnMvbGliWHRzdAoJCSR7Q09NTU9OfSIKClM9IiR7V09SS0RJUn0iCgpz
cmNfdW5wYWNrKCkgewoJIyBkZXRlcm1pbmUgdGhlIHJpZ2h0IGZpbGUgdG8gdW5wYWNrIGZyb20g
JEEKCWxvY2FsIERJU1RGSUxFPSR7QS8ke1BBVENIU0VUfS50YXIuYnoyL30KCSMganVzdCBpbiBj
YXNlIHBhdGNoc2V0IGlzIG9yZGVyZWQgYmVmb3JlIGRpc3RmaWxlCglESVNURklMRT0ke0RJU1RG
SUxFIyMgfQoJdW56aXAgLWpxICIke0RJU1RESVJ9Ii8ke0RJU1RGSUxFfSAiKnNyYy56aXAiIHx8
IGRpZSAidW5hYmxlIHRvIGV4dHJhY3QgZGlzdGZpbGUiCgl1bnBhY2sgLi9zcmMuemlwCgoJdW5w
YWNrICIke1BBVENIU0VUfS50YXIuYnoyIgoKCSMgQ2xlYW51cCB0aGUgcmVkaXJ0aWVkIGRpcmVj
dG9yeSBzdHJ1Y3R1cmUKCXJtIC1yZiBhYm91dF9maWxlcy8KCXJtIC1mIC5jbGFzc3BhdGggLnBy
b2plY3QKCgkjIFJlcGxhY2UgdGhlIGJ1aWxkLnhtbCB0byBhbGxvdyBjb21waWxhdGlvbiB3aXRo
b3V0IEVjbGlwc2UgdGFza3MKCWNwICIke0ZJTEVTRElSfSIvYnVpbGQueG1sICR7U30vYnVpbGQu
eG1sIHx8IGRpZSAiVW5hYmxlIHRvIHVwZGF0ZSBidWlsZC54bWwiCglta2RpciAke1N9L3NyYyAm
JiBtdiAke1N9L29yZyAke1N9L3NyYyB8fCBkaWUgIlVuYWJsZSB0byByZXN0cnVjdHVyZSBTV1Qg
c291cmNlcyIKCgkjIGFwcGx5IGFsbCB0aGUgcGF0Y2hlcywgaW5jbHVkaW5nIGFyY2gtc3BlY2lm
aWMKCUVQQVRDSF9TT1VSQ0U9IiR7V09SS0RJUn0vJHtQQVRDSFNFVH0iIEVQQVRDSF9TVUZGSVg9
InBhdGNoIiBlcGF0Y2gKCglzZWQgLWkgInMvQ0ZMQUdTID0gLU8gLVdhbGwvQ0ZMQUdTID0gJHtD
RkxBR1N9IC1XYWxsLyIgXAoJCW1ha2VfbGludXgubWFrIFwKCQl8fCBkaWUgIkZhaWxlZCB0byB0
d2VhayBtYWtlX2xpbnV4Lm1hayIKCglzZWQgLWkgInMvTU9aSUxMQUNGTEFHUyA9IC1PL01PWklM
TEFDRkxBR1MgPSAke0NYWEZMQUdTfS8iIFwKCQltYWtlX2xpbnV4Lm1hayBcCgkJfHwgZGllICJG
YWlsZWQgdG8gdHdlYWsgbWFrZV9saW51eC5tYWsiCgoJc2VkIC1pICdzOlwoJHtQUk9GSUxFLipf
SU5DTFVERVN9XCk6XDEgXCR7R0VDS09fSU5DTFVERVN9OicgXAoJCW1ha2VfbGludXgubWFrIFwK
CQl8fCBkaWUgIkZhaWxlZCB0byB0d2VhayBtYWtlX2xpbnV4Lm1hayIKCgljcCBtYWtlX2xpbnV4
Lm1hayBtYWtlX2ZyZWVic2QubWFrCgoJIyAgaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mv
c2hvd19idWcuY2dpP2lkPTE2NzE3MwoJZXBhdGNoICIke0ZJTEVTRElSfS8ke1BOfS0zLjIuMS1m
YnNkLnBhdGNoIgp9CgpzcmNfY29tcGlsZSgpIHsKCSMgRHJvcCBqaWtlcyBzdXBwb3J0IGFzIGl0
IHNlZW1zIHRvIGJlIHVuZnJpZW5kbHkgd2l0aCBTV1QKCWphdmEtcGtnX2ZpbHRlci1jb21waWxl
ciBqaWtlcwoKCSMgSWRlbnRpZnkgdGhlIEFXVCBwYXRoCgkjIFRoZSBJQk0gVk1zIGFuZCB0aGUg
R05VIEdDQyBpbXBsZW1lbnRhdGlvbnMgZG8gbm90IHN0b3JlIHRoZSBBV1QgbGlicmFyaWVzCgkj
IGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIHRoZSByZXN0IG9mIHRoZSBiaW5hcnkgVk1zLgoJaWYg
W1sgISAteiAiJChqYXZhLWNvbmZpZyAtLWphdmEtdmVyc2lvbiB8IGdyZXAgJ0lCTScpIiBdXSA7
IHRoZW4KCQlleHBvcnQgQVdUX0xJQl9QQVRIPSRKQVZBX0hPTUUvanJlL2JpbgoJZWxpZiBbWyAh
IC16ICIkKGphdmEtY29uZmlnIC0tamF2YS12ZXJzaW9uIHwgZ3JlcCAnR05VIGxpYmdjaicpIiBd
XSA7IHRoZW4KCQlleHBvcnQgQVdUX0xJQl9QQVRIPSRKQVZBX0hPTUUvJChnZXRfbGliZGlyKQoJ
ZWxzZQoJCWlmIFtbICQodGMtYXJjaCkgPT0gJ3g4NicgXV0gOyB0aGVuCgkJCWV4cG9ydCBBV1Rf
TElCX1BBVEg9JEpBVkFfSE9NRS9qcmUvbGliL2kzODYKCQllbGlmIFtbICQodGMtYXJjaCkgPT0g
J3BwYycgXV0gOyB0aGVuCgkJCWV4cG9ydCBBV1RfTElCX1BBVEg9JEpBVkFfSE9NRS9qcmUvbGli
L3BwYwoJCWVsc2UKCQkJZXhwb3J0IEFXVF9MSUJfUEFUSD0kSkFWQV9IT01FL2pyZS9saWIvYW1k
NjQKCQlmaQoJZmkKCgkjIEZpeCB0aGUgR1RLKyBMaWJyYXJ5IHBhdGgKCWV4cG9ydCBHVEtMSUJT
PSIkKHBrZy1jb25maWcgLS1saWJzLW9ubHktTCBndGsrLTIuMCBndGhyZWFkLTIuMCkgXAoJCS1s
Z3RrLXgxMS0yLjAgLWxndGhyZWFkLTIuMCAtTC91c3IvJChnZXRfbGliZGlyKS9YMTEgLWxYdHN0
IgoKCSMgRml4IHRoZSBwb2ludGVyIHNpemUgZm9yIEFNRDY0CglbWyAke0FSQ0h9ID09ICdhbWQ2
NCcgXV0gJiYgZXhwb3J0IFNXVF9QVFJfQ0ZMQUdTPS1EU1dUX1BUUl9TSVpFXzY0CgoJbG9jYWwg
cGxhdGZvcm09ImxpbnV4IgoKCXVzZSBlbGliY19GcmVlQlNEICYmIHBsYXRmb3JtPSJmcmVlYnNk
IgoKCWxvY2FsIG1ha2U9ImVtYWtlIC1mIG1ha2VfJHtwbGF0Zm9ybX0ubWFrIE5PX1NUUklQPXki
CgoJZWluZm8gIkJ1aWxkaW5nIEFXVCBsaWJyYXJ5IgoJJHttYWtlfSBtYWtlX2F3dCB8fCBkaWUg
IkZhaWxlZCB0byBidWlsZCBBV1Qgc3VwcG9ydCIKCgllaW5mbyAiQnVpbGRpbmcgU1dUIGxpYnJh
cnkiCgkke21ha2V9IG1ha2Vfc3d0IHx8IGRpZSAiRmFpbGVkIHRvIGJ1aWxkIFNXVCBzdXBwb3J0
IgoKCWVpbmZvICJCdWlsZGluZyBKQVZBLUFULVNQSSBicmlkZ2UiCgkke21ha2V9IG1ha2VfYXRr
IHx8IGRpZSAiRmFpbGVkIHRvIGJ1aWxkIEFUSyBzdXBwb3J0IgoKCWlmIHVzZSBnbm9tZSA7IHRo
ZW4KCQllaW5mbyAiQnVpbGRpbmcgR05PTUUgVkZTIHN1cHBvcnQiCgkJJHttYWtlfSBtYWtlX2du
b21lIHx8IGRpZSAiRmFpbGVkIHRvIGJ1aWxkIEdOT01FIFZGUyBzdXBwb3J0IgoJZmkKCgkjIFdh
c24ndCBhYmxlIHRvIHN1Y2Nlc2Z1bGx5IHJ1biB0ZXN0IHdpdGggdGhpcwoJIyBodHRwOi8vb3Zl
cmxheXMuZ2VudG9vLm9yZy9wcm9qL2phdmEvYnJvd3Nlci90ZXN0Y2FzZXMvZGV2LWphdmEvc3d0
CgkjdXNlIGZpcmVmb3ggJiYgbG9jYWwgZ2Vja289ImZpcmVmb3giCgl1c2Ugc2VhbW9ua2V5ICYm
IGxvY2FsIGdlY2tvPSJzZWFtb25rZXkiCgl1c2UgeHVscnVubmVyICYmIGxvY2FsIGdlY2tvPSJ4
dWxydW5uZXIiCgoJaWYgW1sgJHtnZWNrb30gXV07IHRoZW4KCQllaW5mbyAiQnVpbGRpbmcgdGhl
IE1vemlsbGEgY29tcG9uZW50IgoJCSNsb2NhbCBpZGlyPSIkKHBrZy1jb25maWcgJHtnZWNrb30t
eHBjb20gLS12YXJpYWJsZT1pbmNsdWRlZGlyKSIKCQlsb2NhbCBpbmM9IiQocGtnLWNvbmZpZyAk
e2dlY2tvfS14cGNvbSAtLWNmbGFncykiCgkJIyBuZWVkZWQgZm9yIHhwY29tX3Byb2ZpbGUuaAoJ
CWluYz0iJHtpbmN9IC1JL3Vzci8kKGdldF9saWJkaXIpLyR7Z2Vja299L2luY2x1ZGUvcHJvZmRp
cnNlcnZpY2Vwcm92aWRlciIKCQkjIG5lZWRlZCBmb3IgeHBjb20uaCBvbiBzZWFtb25rZXkgYW5k
IGZpcmVmb3gKCQlpbmM9IiR7aW5jfSAtSS91c3IvJChnZXRfbGliZGlyKS8ke2dlY2tvfS9pbmNs
dWRlL2VtYmVkX2Jhc2UiCgkJR0VDS09fSU5DTFVERVM9IiR7aW5jfSIgXAoJCUdFQ0tPX0xJQlM9
IiQocGtnLWNvbmZpZyAke2dlY2tvfS14cGNvbSAtLWxpYnMpIiBcCgkJCSR7bWFrZX0gbWFrZV9t
b3ppbGxhIHx8IGRpZSAiRmFpbGVkIHRvIGJ1aWxkIE1vemlsbGEgc3VwcG9ydCIKCWZpCgoJaWYg
dXNlIGNhaXJvIDsgdGhlbgoJCWVpbmZvICJCdWlsZGluZyBDQUlSTyBzdXBwb3J0IgoJCSR7bWFr
ZX0gbWFrZV9jYWlybyB8fCBkaWUgIlVuYWJsZSB0byBidWlsZCBDQUlSTyBzdXBwb3J0IgoJZmkK
CglpZiB1c2Ugb3BlbmdsIDsgdGhlbgoJCWVpbmZvICJCdWlsZGluZyBPcGVuR0wgY29tcG9uZW50
IgoJCSR7bWFrZX0gbWFrZV9nbHggfHwgZGllICJVbmFibGUgdG8gYnVpbGQgT3BlbkdMIGNvbXBv
bmVudCIKCWZpCgoJZWluZm8gIkJ1aWxkaW5nIEpOSSBsaWJyYXJpZXMiCgllYW50IGNvbXBpbGUK
CgllaW5mbyAiQ29weWluZyBtaXNzaW5nIGZpbGVzIgoJY3AgLWkgIiR7U30vdmVyc2lvbi50eHQi
ICIke1N9L2J1aWxkL3ZlcnNpb24udHh0IgoJY3AgLWkgIiR7U30vc3JjL29yZy9lY2xpcHNlL3N3
dC9pbnRlcm5hbC9TV1RNZXNzYWdlcy5wcm9wZXJ0aWVzIiBcCgkJIiR7U30vYnVpbGQvb3JnL2Vj
bGlwc2Uvc3d0L2ludGVybmFsLyIKCgllaW5mbyAiUGFja2luZyBKTkkgbGlicmFyaWVzIgoJZWFu
dCBqYXIKfQoKc3JjX2luc3RhbGwoKSB7CglqYXZhLXBrZ19kb2phciBzd3QuamFyCgoJamF2YS1w
a2dfc29pbnRvIC91c3IvJChnZXRfbGliZGlyKQoJamF2YS1wa2dfZG9zbyAqLnNvCgoJZG9odG1s
IGFib3V0Lmh0bWwgfHwgZGllCn0KCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120346</attachid>
            <date>2007-05-26 07:00 0000</date>
            <desc>converted x86 firefox patch for amd64</desc>
            <filename>11_amd64_firefox.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtLWdpdCBhL2J1aWxkLnNoIGIvYnVpbGQuc2gKaW5kZXggNmQyZmZhZi4uZWE0YTcwZiAx
MDA2NDQKLS0tIGEvYnVpbGQuc2gKKysrIGIvYnVpbGQuc2gKQEAgLTg3LDkgKzg3LDkgQEAgZWxz
ZQogZmkKIAogaWYgWyAteiAiJHtHRUNLT19JTkNMVURFU30iIC1hIC16ICIke0dFQ0tPX0xJQlN9
IiBdOyB0aGVuCi0JaWYgWyB4YHBrZy1jb25maWcgLS1leGlzdHMgbW96aWxsYS14cGNvbSAmJiBl
Y2hvIFlFU2AgPSAieFlFUyIgXTsgdGhlbgotCQlHRUNLT19JTkNMVURFUz1gcGtnLWNvbmZpZyAt
LWNmbGFncyBtb3ppbGxhLXhwY29tYAotCQlHRUNLT19MSUJTPWBwa2ctY29uZmlnIC0tbGlicyBt
b3ppbGxhLXhwY29tYAorCWlmIFsgeGBwa2ctY29uZmlnIC0tZXhpc3RzIGZpcmVmb3gteHBjb20g
JiYgZWNobyBZRVNgID0gInhZRVMiIF07IHRoZW4KKwkJR0VDS09fSU5DTFVERVM9YHBrZy1jb25m
aWcgLS1jZmxhZ3MgZmlyZWZveC14cGNvbWAKKwkJR0VDS09fTElCUz1gcGtnLWNvbmZpZyAtLWxp
YnMgZmlyZWZveC14cGNvbWAKIAkJZXhwb3J0IEdFQ0tPX0lOQ0xVREVTCiAJCWV4cG9ydCBHRUNL
T19MSUJTCiAJCU1BS0VfTU9aSUxMQT1tYWtlX21vemlsbGEKZGlmZiAtLWdpdCBhL21ha2VfbGlu
dXgubWFrIGIvbWFrZV9saW51eC5tYWsKaW5kZXggODJkMWRiZC4uMDU0ZTFhYiAxMDA2NDQKLS0t
IGEvbWFrZV9saW51eC5tYWsKKysrIGIvbWFrZV9saW51eC5tYWsKQEAgLTIwMiw3ICsyMDIsNyBA
QCBnbm9tZV9zdGF0cy5vOiBnbm9tZV9zdGF0cy5jIGdub21lX3N0YXRzLmgKICMKICMgTW96aWxs
YSBsaWIKICMKLW1ha2VfbW96aWxsYTokKE1PWklMTEFfTElCKSAkKFBST0ZJTEUxNF9MSUIpICQo
UFJPRklMRTE3X0xJQikgJChQUk9GSUxFMThfTElCKQorbWFrZV9tb3ppbGxhOiQoTU9aSUxMQV9M
SUIpCiAKICQoTU9aSUxMQV9MSUIpOiAkKE1PWklMTEFfT0JKRUNUUykKIAkkKENYWCkgLW8gJChN
T1pJTExBX0xJQikgJChNT1pJTExBX09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7R0VDS09fTElC
U30KQEAgLTIyMCwyMiArMjIwLDIyIEBAIHhwY29tX3N0YXRzLm86IHhwY29tX3N0YXRzLmNwcAog
CSQoQ1hYKSAkKE1PWklMTEFDRkxBR1MpICR7R0VDS09fSU5DTFVERVN9IC1jIHhwY29tX3N0YXRz
LmNwcAkKIAogJChQUk9GSUxFMTRfT0JKRUNUUyk6IHhwY29tX3Byb2ZpbGUuY3BwCi0JJChDWFgp
IC1vICQoUFJPRklMRTE0X09CSkVDVFMpICQoTU9aSUxMQUNGTEFHUykgJHtQUk9GSUxFMTRfSU5D
TFVERVN9IC1jIHhwY29tX3Byb2ZpbGUuY3BwCQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxNF9PQkpF
Q1RTKSAkKE1PWklMTEFDRkxBR1MpICR7UFJPRklMRTE0X0lOQ0xVREVTfSAke0dFQ0tPX0lOQ0xV
REVTfSAtYyB4cGNvbV9wcm9maWxlLmNwcAkKIAogJChQUk9GSUxFMTdfT0JKRUNUUyk6IHhwY29t
X3Byb2ZpbGUuY3BwCi0JJChDWFgpIC1vICQoUFJPRklMRTE3X09CSkVDVFMpICQoTU9aSUxMQUNG
TEFHUykgJHtQUk9GSUxFMTdfSU5DTFVERVN9IC1jIHhwY29tX3Byb2ZpbGUuY3BwCQorCSQoQ1hY
KSAtbyAkKFBST0ZJTEUxN19PQkpFQ1RTKSAkKE1PWklMTEFDRkxBR1MpICR7UFJPRklMRTE3X0lO
Q0xVREVTfSAke0dFQ0tPX0lOQ0xVREVTfSAtYyB4cGNvbV9wcm9maWxlLmNwcAkKIAogJChQUk9G
SUxFMThfT0JKRUNUUyk6IHhwY29tX3Byb2ZpbGUuY3BwCi0JJChDWFgpIC1vICQoUFJPRklMRTE4
X09CSkVDVFMpICQoTU9aSUxMQUNGTEFHUykgJHtQUk9GSUxFMThfSU5DTFVERVN9IC1jIHhwY29t
X3Byb2ZpbGUuY3BwCQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxOF9PQkpFQ1RTKSAkKE1PWklMTEFD
RkxBR1MpICR7UFJPRklMRTE4X0lOQ0xVREVTfSAke0dFQ0tPX0lOQ0xVREVTfSAtYyB4cGNvbV9w
cm9maWxlLmNwcAkKIAogJChQUk9GSUxFMTRfTElCKTogJChQUk9GSUxFMTRfT0JKRUNUUykKLQkk
KENYWCkgLW8gJChQUk9GSUxFMTRfTElCKSAkKFBST0ZJTEUxNF9PQkpFQ1RTKSAkKE1PWklMTEFM
SUJTKSAke1BST0ZJTEUxNF9MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxNF9MSUIpICQoUFJP
RklMRTE0X09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE0X0xJQlN9ICR7R0VDS09f
TElCU30KIAogJChQUk9GSUxFMTdfTElCKTogJChQUk9GSUxFMTdfT0JKRUNUUykKLQkkKENYWCkg
LW8gJChQUk9GSUxFMTdfTElCKSAkKFBST0ZJTEUxN19PQkpFQ1RTKSAkKE1PWklMTEFMSUJTKSAk
e1BST0ZJTEUxN19MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxN19MSUIpICQoUFJPRklMRTE3
X09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE3X0xJQlN9ICR7R0VDS09fTElCU30K
IAogJChQUk9GSUxFMThfTElCKTogJChQUk9GSUxFMThfT0JKRUNUUykKLQkkKENYWCkgLW8gJChQ
Uk9GSUxFMThfTElCKSAkKFBST0ZJTEUxOF9PQkpFQ1RTKSAkKE1PWklMTEFMSUJTKSAke1BST0ZJ
TEUxOF9MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxOF9MSUIpICQoUFJPRklMRTE4X09CSkVD
VFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE4X0xJQlN9ICR7R0VDS09fTElCU30KIAogIwog
IyBHTFggbGliCkBAIC0yNjQsNCArMjY0LDQgQEAgaW5zdGFsbDogYWxsCiAjIENsZWFuCiAjCiBj
bGVhbjoKLQlybSAtZiAqLm8gKi5zbworCXJtIC1mICoubyAqLnNvClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL29yZy9lY2xpcHNlL3N3dC9icm93c2VyL0Jyb3dz
ZXIuamF2YSBiL3NyYy9vcmcvZWNsaXBzZS9zd3QvYnJvd3Nlci9Ccm93c2VyLmphdmEKaW5kZXgg
M2Q3MDBjMS4uZjM3MzBlNiAxMDA2NDQKLS0tIGEvc3JjL29yZy9lY2xpcHNlL3N3dC9icm93c2Vy
L0Jyb3dzZXIuamF2YQorKysgYi9zcmMvb3JnL2VjbGlwc2Uvc3d0L2Jyb3dzZXIvQnJvd3Nlci5q
YXZhCkBAIC0xMCwxNSArMTAsNzUgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogcGFja2Fn
ZSBvcmcuZWNsaXBzZS5zd3QuYnJvd3NlcjsKIAotaW1wb3J0IGphdmEuaW8uKjsKLWltcG9ydCBq
YXZhLnV0aWwuKjsKLWltcG9ydCBvcmcuZWNsaXBzZS5zd3QuKjsKLWltcG9ydCBvcmcuZWNsaXBz
ZS5zd3Qud2lkZ2V0cy4qOwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5ncmFwaGljcy4qOwotaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC4qOwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5p
bnRlcm5hbC5ndGsuKjsKLWltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS4q
OwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5sYXlvdXQuKjsKK2ltcG9ydCBqYXZhLmlvLkZpbGU7
CitpbXBvcnQgamF2YS5pby5VbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uOworaW1wb3J0IGph
dmEudXRpbC5Mb2NhbGU7CitpbXBvcnQgamF2YS51dGlsLlN0cmluZ1Rva2VuaXplcjsKKworaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5TV1Q7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LlNXVEVycm9y
OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5TV1RFeGNlcHRpb247CitpbXBvcnQgb3JnLmVjbGlw
c2Uuc3d0LmdyYXBoaWNzLlBvaW50OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5ncmFwaGljcy5S
ZWN0YW5nbGU7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLkNhbGxiYWNrOworaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5Db252ZXJ0ZXI7CitpbXBvcnQgb3JnLmVjbGlw
c2Uuc3d0LmludGVybmFsLkxpYnJhcnk7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFs
Lmd0ay5HZGtFdmVudDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwuZ3RrLkxPTkc7
CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLmd0ay5PUzsKK2ltcG9ydCBvcmcuZWNs
aXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5YUENPTTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5YUENPTU9iamVjdDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50
ZXJuYWwubW96aWxsYS5uc0VtYmVkU3RyaW5nOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSUFwcFNoZWxsOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5h
bC5tb3ppbGxhLm5zSUJhc2VXaW5kb3c7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFs
Lm1vemlsbGEubnNJQ2F0ZWdvcnlNYW5hZ2VyOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSUNvbXBvbmVudE1hbmFnZXI7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LmludGVybmFsLm1vemlsbGEubnNJQ29tcG9uZW50UmVnaXN0cmFyOworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUNvbnRleHRNZW51TGlzdGVuZXI7CitpbXBvcnQg
b3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJQ29va2llOworaW1wb3J0IG9yZy5l
Y2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUNvb2tpZU1hbmFnZXI7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJRDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5z
d3QuaW50ZXJuYWwubW96aWxsYS5uc0lET01FdmVudDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5uc0lET01Nb3VzZUV2ZW50OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3
dC5pbnRlcm5hbC5tb3ppbGxhLm5zSURPTVdpbmRvdzsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5uc0lEaXJlY3RvcnlTZXJ2aWNlOworaW1wb3J0IG9yZy5lY2xpcHNl
LnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSURvY1NoZWxsOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3
dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUVtYmVkZGluZ1NpdGVXaW5kb3c7CitpbXBvcnQgb3JnLmVj
bGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJRmlsZTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5z
d3QuaW50ZXJuYWwubW96aWxsYS5uc0lJT1NlcnZpY2U7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LmludGVybmFsLm1vemlsbGEubnNJSW50ZXJmYWNlUmVxdWVzdG9yOworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUxvY2FsRmlsZTsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lQcmVmQnJhbmNoOworaW1wb3J0IG9yZy5lY2xpcHNl
LnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVByZWZMb2NhbGl6ZWRTdHJpbmc7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJUHJlZlNlcnZpY2U7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJUHJvcGVydGllczsKK2ltcG9ydCBvcmcu
ZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lSZXF1ZXN0OworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVNlcnZpY2VNYW5hZ2VyOworaW1wb3J0IG9yZy5l
Y2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVNpbXBsZUVudW1lcmF0b3I7CitpbXBvcnQg
b3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJU3VwcG9ydHM7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJU3VwcG9ydHNXZWFrUmVmZXJlbmNlOwor
aW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVRvb2x0aXBMaXN0ZW5l
cjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lVUkk7CitpbXBv
cnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJVVJJQ29udGVudExpc3RlbmVy
OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVdlYWtSZWZlcmVu
Y2U7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJV2ViQnJvd3Nl
cjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lXZWJCcm93c2Vy
Q2hyb21lOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVdlYkJy
b3dzZXJDaHJvbWVGb2N1czsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxs
YS5uc0lXZWJCcm93c2VyRm9jdXM7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1v
emlsbGEubnNJV2ViQnJvd3NlclN0cmVhbTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJu
YWwubW96aWxsYS5uc0lXZWJOYXZpZ2F0aW9uOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSVdlYlByb2dyZXNzOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSVdlYlByb2dyZXNzTGlzdGVuZXI7CitpbXBvcnQgb3JnLmVjbGlwc2Uu
c3d0LmludGVybmFsLm1vemlsbGEubnNJV2luZG93V2F0Y2hlcjsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3QubGF5b3V0LkZpbGxMYXlvdXQ7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMu
Q29tcG9zaXRlOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkRpc3BsYXk7CitpbXBv
cnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuRXZlbnQ7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LndpZGdldHMuTGFiZWw7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuTGlzdGVuZXI7
CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuTWVudTsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3Qud2lkZ2V0cy5TaGVsbDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5XaWRn
ZXQ7CiAKIC8qKgogICogSW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgaW1wbGVtZW50IHRoZSBicm93
c2VyIHVzZXIgaW50ZXJmYWNlCkBAIC0xNzUsNDAgKzIzNSw0MyBAQCBwdWJsaWMgQnJvd3NlcihD
b21wb3NpdGUgcGFyZW50LCBpbnQgc3R5bGUpIHsKIAkJICogLSBtb3ppbGxhMTdwcm9maWxlL21v
emlsbGExN3Byb2ZpbGUtZ2NjIHNob3VsZCBzdWNjZWVkIGZvciBtb3ppbGxhIDEuNy54IGFuZCBm
aXJlZm94CiAJCSAqIC0gbW96aWxsYTE4cHJvZmlsZS9tb3ppbGxhMThwcm9maWxlLWdjYyBzaG91
bGQgc3VjY2VlZCBmb3IgbW96aWxsYSAxLjgueCAoc2VhbW9ua2V5KQogCQkgKi8KLQkJdHJ5IHsK
LQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE0LXByb2ZpbGUiKTsgLy8kTk9O
LU5MUy0xJAotCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKLQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRM
aW5rRXJyb3IgZTEpIHsKLQkJCXRyeSB7Ci0JCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1t
b3ppbGxhMTctcHJvZmlsZSIpOyAvLyROT04tTkxTLTEkCi0JCQkJdXNpbmdQcm9maWxlID0gdHJ1
ZTsKLQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGUyKSB7Ci0JCQkJdHJ5IHsKLQkJ
CQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1tb3ppbGxhMTQtcHJvZmlsZS1nY2MzIik7IC8v
JE5PTi1OTFMtMSQKLQkJCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKLQkJCQl9IGNhdGNoIChVbnNh
dGlzZmllZExpbmtFcnJvciBlMykgewotCQkJCQl0cnkgewotCQkJCQkJTGlicmFyeS5sb2FkTGli
cmFyeSAoInN3dC1tb3ppbGxhMTctcHJvZmlsZS1nY2MzIik7IC8vJE5PTi1OTFMtMSQKLQkJCQkJ
CXVzaW5nUHJvZmlsZSA9IHRydWU7Ci0JCQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9y
IGU0KSB7Ci0JCQkJCQl0cnkgewotCQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96
aWxsYTE4LXByb2ZpbGUiKTsgLy8kTk9OLU5MUy0xJAotCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRy
dWU7Ci0JCQkJCQl9IGNhdGNoIChVbnNhdGlzZmllZExpbmtFcnJvciBlNSkgewotCQkJCQkJCXRy
eSB7Ci0JCQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE4LXByb2ZpbGUt
Z2NjMyIpOyAvLyROT04tTkxTLTEkCi0JCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRydWU7Ci0JCQkJ
CQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTYpIHsKLQkJCQkJCQkJLyogCi0JCQkJ
CQkJCSogZmFpbCBzaWxlbnRseSwgdGhlIEJyb3dzZXIgd2lsbCBzdGlsbCB3b3JrIHdpdGhvdXQg
cHJvZmlsZSBzdXBwb3J0Ci0JCQkJCQkJCSogYnV0IHdpbGwgYWJvcnQgYW55IGF0dGVtcHRzIHRv
IG5hdmlnYXRlIHRvIEhUVFBTIHBhZ2VzCi0JCQkJCQkJCSovCi0JCQkJCQkJfQotCQkJCQkJfQot
CQkJCQl9Ci0JCQkJfQotCQkJfQotCQl9CisvLwkJTGlicmFyeS5sb2FkTGlicmFyeSgic3d0LW1v
emlsbGExNy1wcm9maWxlIik7CisJCS8vIFdlIGJ1aWxkIHRoZSBwcm9maWxlIHN0dWZmIHdpdGhv
dXQgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgRFNPCisJCXVzaW5nUHJvZmlsZSA9IHRydWU7Cisv
LwkJdHJ5IHsKKy8vCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1tb3ppbGxhMTQtcHJvZmls
ZSIpOyAvLyROT04tTkxTLTEkCisvLwkJCXVzaW5nUHJvZmlsZSA9IHRydWU7CisvLwkJfSBjYXRj
aCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTEpIHsKKy8vCQkJdHJ5IHsKKy8vCQkJCUxpYnJhcnku
bG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE3LXByb2ZpbGUiKTsgLy8kTk9OLU5MUy0xJAorLy8J
CQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKKy8vCQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJy
b3IgZTIpIHsKKy8vCQkJCXRyeSB7CisvLwkJCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1t
b3ppbGxhMTQtcHJvZmlsZS1nY2MzIik7IC8vJE5PTi1OTFMtMSQKKy8vCQkJCQl1c2luZ1Byb2Zp
bGUgPSB0cnVlOworLy8JCQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTMpIHsKKy8v
CQkJCQl0cnkgeworLy8JCQkJCQlMaWJyYXJ5LmxvYWRMaWJyYXJ5ICgic3d0LW1vemlsbGExNy1w
cm9maWxlLWdjYzMiKTsgLy8kTk9OLU5MUy0xJAorLy8JCQkJCQl1c2luZ1Byb2ZpbGUgPSB0cnVl
OworLy8JCQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU0KSB7CisvLwkJCQkJCXRy
eSB7CisvLwkJCQkJCQlMaWJyYXJ5LmxvYWRMaWJyYXJ5ICgic3d0LW1vemlsbGExOC1wcm9maWxl
Iik7IC8vJE5PTi1OTFMtMSQKKy8vCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRydWU7CisvLwkJCQkJ
CX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU1KSB7CisvLwkJCQkJCQl0cnkgeworLy8J
CQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE4LXByb2ZpbGUtZ2NjMyIp
OyAvLyROT04tTkxTLTEkCisvLwkJCQkJCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKKy8vCQkJCQkJ
CX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU2KSB7CisvLwkJCQkJCQkJLyogCisvLwkJ
CQkJCQkJKiBmYWlsIHNpbGVudGx5LCB0aGUgQnJvd3NlciB3aWxsIHN0aWxsIHdvcmsgd2l0aG91
dCBwcm9maWxlIHN1cHBvcnQKKy8vCQkJCQkJCQkqIGJ1dCB3aWxsIGFib3J0IGFueSBhdHRlbXB0
cyB0byBuYXZpZ2F0ZSB0byBIVFRQUyBwYWdlcworLy8JCQkJCQkJCSovCisvLwkJCQkJCQl9Cisv
LwkJCQkJCX0KKy8vCQkJCQl9CisvLwkJCQl9CisvLwkJCX0KKy8vCQl9CiAKIAkJbG9uZyAvKmlu
dCovW10gcmV0VmFsID0gbmV3IGxvbmcgLyppbnQqL1sxXTsKIAkJbnNFbWJlZFN0cmluZyBwYXRo
U3RyaW5nID0gbmV3IG5zRW1iZWRTdHJpbmcobW96aWxsYVBhdGgpOwpAQCAtMjE4LDExICsyODEs
MTEgQEAgcHVibGljIEJyb3dzZXIoQ29tcG9zaXRlIHBhcmVudCwgaW50IHN0eWxlKSB7CiAJCWlm
IChyZXRWYWxbMF0gPT0gMCkgZXJyb3IoWFBDT00uTlNfRVJST1JfTlVMTF9QT0lOVEVSKTsKIAkJ
CiAJCW5zSUxvY2FsRmlsZSBsb2NhbEZpbGUgPSBuZXcgbnNJTG9jYWxGaWxlKHJldFZhbFswXSk7
Ci0JCXJjID0gWFBDT00uTlNfSW5pdEVtYmVkZGluZyhsb2NhbEZpbGUuZ2V0QWRkcmVzcygpLCAw
KTsKKwkJcmMgPSBYUENPTS5OU19Jbml0WFBDT00zKDAsIGxvY2FsRmlsZS5nZXRBZGRyZXNzKCks
IDAsIDAsIDApOwogCQlsb2NhbEZpbGUuUmVsZWFzZSgpOwogCQlpZiAocmMgIT0gWFBDT00uTlNf
T0spIHsKIAkJCWRpc3Bvc2UoKTsKLQkJCVNXVC5lcnJvcihTV1QuRVJST1JfTk9fSEFORExFUywg
bnVsbCwgIiBbTlNfSW5pdEVtYmVkZGluZyAiK21vemlsbGFQYXRoKyIgZXJyb3IgIityYysiXSIp
OyAvLyROT04tTkxTLTEkIC8vJE5PTi1OTFMtMiQgLy8kTk9OLU5MUy0zJAorCQkJU1dULmVycm9y
KFNXVC5FUlJPUl9OT19IQU5ETEVTLCBudWxsLCAiIFtOU19Jbml0WFBDT00zICIrbW96aWxsYVBh
dGgrIiBlcnJvciAiK3JjKyJdIik7IC8vJE5PTi1OTFMtMSQgLy8kTk9OLU5MUy0yJCAvLyROT04t
TkxTLTMkCiAJCX0KIAogCQlyYyA9IFhQQ09NLk5TX0dldENvbXBvbmVudE1hbmFnZXIocmVzdWx0
KTsKQEAgLTI4Myw3ICszNDYsNyBAQCBwdWJsaWMgQnJvd3NlcihDb21wb3NpdGUgcGFyZW50LCBp
bnQgc3R5bGUpIHsKIAkJCXJjID0gcHJvcGVydGllcy5HZXQoYnVmZmVyLCBuc0lGaWxlLk5TX0lG
SUxFX0lJRCwgcmVzdWx0KTsKIAkJCWlmIChyYyAhPSBYUENPTS5OU19PSykgZXJyb3IocmMpOwog
CQkJaWYgKHJlc3VsdFswXSA9PSAwKSBlcnJvcihYUENPTS5OU19OT0lOVEVSRkFDRSk7Ci0JCQlw
cm9wZXJ0aWVzLlJlbGVhc2UoKTsKKwkJCS8vIHByb3BlcnRpZXMuUmVsZWFzZSgpIGlzIG5vdyBh
ZnRlciB0aGUgU2V0IGJlbG93CiAKIAkJCW5zSUZpbGUgcHJvZmlsZURpciA9IG5ldyBuc0lGaWxl
KHJlc3VsdFswXSk7CiAJCQlyZXN1bHRbMF0gPSAwOwpAQCAtMzA1LDI0ICszNjgsMTUgQEAgcHVi
bGljIEJyb3dzZXIoQ29tcG9zaXRlIHBhcmVudCwgaW50IHN0eWxlKSB7CiAJCQlwYXRoU3RyaW5n
LmRpc3Bvc2UoKTsgLy8KIAogCQkJcHJvZmlsZURpciA9IG5ldyBuc0lGaWxlKHJlc3VsdFswXSk7
Ci0JCQlyZXN1bHRbMF0gPSAwOwogCi0JCQlyYyA9IFhQQ09NX1BST0ZJTEUuTlNfTmV3UHJvZmls
ZURpclNlcnZpY2VQcm92aWRlcih0cnVlLCByZXN1bHQpOworCQkJLy8gU2V0IHRoZSBwcm9maWxl
IGRpciBwcm9wZXJ0eSBzbyB0aGF0IGl0J3MgaW5pdGlhbGl6ZWQgZm9yCisJCQkvLyB0aGluZ3Mg
bGlrZSBwYXNzd29yZCBtYW5hZ2VyIGFuZCBodHRwcworCQkJYnVmZmVyID0gQ29udmVydGVyLndj
c1RvTWJjcyhudWxsLCBYUENPTS5OU19BUFBfVVNFUl9QUk9GSUxFXzUwX0RJUiwgdHJ1ZSk7CisJ
CQlyYyA9IHByb3BlcnRpZXMuU2V0KGJ1ZmZlciwgcHJvZmlsZURpci5nZXRBZGRyZXNzKCkpOwog
CQkJaWYgKHJjICE9IFhQQ09NLk5TX09LKSBlcnJvcihyYyk7Ci0JCQlpZiAocmVzdWx0WzBdID09
IDApIGVycm9yKFhQQ09NLk5TX05PSU5URVJGQUNFKTsKKwkJCXByb3BlcnRpZXMuUmVsZWFzZSgp
OwogCi0JCQlmaW5hbCBsb25nIC8qaW50Ki8gZGlyU2VydmljZVByb3ZpZGVyID0gcmVzdWx0WzBd
OwogCQkJcmVzdWx0WzBdID0gMDsKLQkJCXJjID0gWFBDT01fUFJPRklMRS5Qcm9maWxlRGlyU2Vy
dmljZVByb3ZpZGVyX1JlZ2lzdGVyKGRpclNlcnZpY2VQcm92aWRlcik7Ci0JCQlpZiAocmMgIT0g
WFBDT00uTlNfT0spIGVycm9yKHJjKTsKLQkJCXJjID0gWFBDT01fUFJPRklMRS5Qcm9maWxlRGly
U2VydmljZVByb3ZpZGVyX1NldFByb2ZpbGVEaXIoZGlyU2VydmljZVByb3ZpZGVyLCBwcm9maWxl
RGlyLmdldEFkZHJlc3MoKSk7Ci0JCQlpZiAocmMgIT0gWFBDT00uTlNfT0spIGVycm9yKHJjKTsK
LQotCQkJZ2V0RGlzcGxheSgpLmFkZExpc3RlbmVyKFNXVC5EaXNwb3NlLCBuZXcgTGlzdGVuZXIo
KSB7Ci0JCQkJcHVibGljIHZvaWQgaGFuZGxlRXZlbnQoRXZlbnQgZSkgewotCQkJCQlYUENPTV9Q
Uk9GSUxFLlByb2ZpbGVEaXJTZXJ2aWNlUHJvdmlkZXJfU2h1dGRvd24oZGlyU2VydmljZVByb3Zp
ZGVyKTsKLQkJCQl9Ci0JCQl9KTsKIAkJfQogCiAJCS8qCkBAIC0xMzU0LDI3ICsxNDA4LDYgQEAg
dm9pZCBvbkRpc3Bvc2UoRGlzcGxheSBkaXNwbGF5KSB7CiAJdGlwID0gbnVsbDsKIAogCUJyb3dz
ZXJDb3VudC0tOwotCS8qCi0JKiBUaGlzIGNvZGUgaXMgaW50ZW50aW9uYWxseSBjb21tZW50ZWQu
ICBJdCBpcyBub3QgcG9zc2libGUgdG8gcmVpbml0aWFsaXplCi0JKiBNb3ppbGxhIG9uY2UgaXQg
aGFzIGJlZW4gdGVybWluYXRlZC4gIE5TX0luaXRFbWJlZGRpbmcgYWx3YXlzIGZhaWxzIGFmdGVy
Ci0JKiBOU19UZXJtRW1iZWRkaW5nIGhhcyBiZWVuIGNhbGxlZC4gIFRoZSB3b3JrYXJvdW5kIGlz
IHRvIGNhbGwgTlNfSW5pdEVtYmVkZGluZwotCSogb25jZSBhbmQgbmV2ZXIgY2FsbCBOU19UZXJt
RW1iZWRkaW5nLgotCSovCi0vLwlpZiAoQnJvd3NlckNvdW50ID09IDApIHsKLS8vCQlpZiAoQXBw
U2hlbGwgIT0gbnVsbCkgewotLy8JCQkvLyBTaHV0ZG93biB0aGUgYXBwc2hlbGwgc2VydmljZS4K
LS8vCQkJcmMgPSBBcHBTaGVsbC5TcGluZG93bigpOwotLy8JCQlpZiAocmMgIT0gWFBDT00uTlNf
T0spIGVycm9yKHJjKTsKLS8vCQkJQXBwU2hlbGwuUmVsZWFzZSgpOwotLy8JCQlBcHBTaGVsbCA9
IG51bGw7Ci0vLwkJfQotLy8JCVdpbmRvd0NyZWF0b3IuUmVsZWFzZSgpOwotLy8JCVdpbmRvd0Ny
ZWF0b3IgPSBudWxsOwotLy8JCVByb21wdFNlcnZpY2UuUmVsZWFzZSgpOwotLy8JCVByb21wdFNl
cnZpY2UgPSBudWxsOwotLy8JCVhQQ09NLk5TX1Rlcm1FbWJlZGRpbmcoKTsKLS8vCQltb3ppbGxh
ID0gZmFsc2U7Ci0vLwl9CiB9CiAKIHZvaWQgQWN0aXZhdGUoKSB7CmRpZmYgLS1naXQgYS9zcmMv
b3JnL2VjbGlwc2Uvc3d0L2ludGVybmFsL21vemlsbGEvWFBDT00uamF2YSBiL3NyYy9vcmcvZWNs
aXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENPTS5qYXZhCmluZGV4IDdmZjQ1Y2IuLjYzM2Y1
NWUgMTAwNjQ0Ci0tLSBhL3NyYy9vcmcvZWNsaXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENP
TS5qYXZhCisrKyBiL3NyYy9vcmcvZWNsaXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENPTS5q
YXZhCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYyBjbGFzcyBYUENPTSBleHRlbmRzIFBsYXRmb3Jt
IHsKIAlwdWJsaWMgc3RhdGljIGZpbmFsIGludCBOU19FUlJPUl9IVE1MUEFSU0VSX1VOUkVTT0xW
RUREVEQgPSAweDgwNGUwM2YzOwogCXB1YmxpYyBzdGF0aWMgZmluYWwgaW50IE5TX0VSUk9SX0ZJ
TEVfTk9UX0ZPVU5EID0gMHg4MDUyMDAxMjsKIAlwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBO
U19BUFBfQVBQTElDQVRJT05fUkVHSVNUUllfRElSID0gIkFwcFJlZ0QiOyAvLyROT04tTkxTLTEk
CisJcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgTlNfQVBQX1VTRVJfUFJPRklMRV81MF9ESVIg
PSAiUHJvZkQiOyAvLyROT04tTkxTLTEkCiAKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZlIHZv
aWQgbWVtbW92ZShuc0lEIGRlc3QsIGxvbmcgLyppbnQqLyBzcmMsIGludCBuYnl0ZXMpOwogcHVi
bGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgdm9pZCBtZW1tb3ZlKGxvbmcgLyppbnQqLyBkZXN0LCBu
c0lEIHNyYywgaW50IG5ieXRlcyk7CkBAIC0xMDMsOSArMTA0LDggQEAgcHVibGljIHN0YXRpYyBm
aW5hbCBuYXRpdmUgdm9pZCBtZW1tb3ZlKGxvbmcgLyppbnQqLyBkZXN0LCBjaGFyW10gc3JjLCBp
bnQgbmJ5dGUKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZlIHZvaWQgbWVtbW92ZShieXRlW10g
ZGVzdCwgY2hhcltdIHNyYywgaW50IG5ieXRlcyk7CiBwdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2
ZSBpbnQgTlNfR2V0Q29tcG9uZW50TWFuYWdlcihsb25nIC8qaW50Ki9bXSByZXN1bHQpOwogcHVi
bGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IE5TX0dldFNlcnZpY2VNYW5hZ2VyKGxvbmcgLypp
bnQqL1tdIHJlc3VsdCk7Ci1wdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2ZSBpbnQgTlNfSW5pdEVt
YmVkZGluZyhsb25nIC8qaW50Ki8gYU1vekJpbkRpcmVjdG9yeSwgbG9uZyAvKmludCovIGFBcHBG
aWxlTG9jUHJvdmlkZXIpOworcHVibGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IE5TX0luaXRY
UENPTTMobG9uZyAvKmludCovIHJlc3VsdCwgbG9uZyAvKmludCovIGJpbkRpcmVjdG9yeSwgbG9u
ZyAvKmludCovIGFwcEZpbGVMb2NhdGlvblByb3ZpZGVyLCBsb25nIC8qaW50Ki8gc3RhdGljQ29t
cG9uZW50cywgaW50IGNvbXBvbmVudENvdW50KTsKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZl
IGludCBOU19OZXdMb2NhbEZpbGUobG9uZyAvKmludCovIHBhdGgsIGJvb2xlYW4gZm9sbG93TGlu
a3MsIGxvbmcgLyppbnQqL1tdIHJlc3VsdCk7Ci1wdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2ZSBp
bnQgTlNfVGVybUVtYmVkZGluZygpOwogcHVibGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IHN0
cmxlbl9QUlVuaWNoYXIobG9uZyAvKmludCovIHMpOwogcHVibGljIHN0YXRpYyBmaW5hbCBuYXRp
dmUgbG9uZyAvKmludCovIG5zRW1iZWRDU3RyaW5nX25ldygpOwogcHVibGljIHN0YXRpYyBmaW5h
bCBuYXRpdmUgbG9uZyAvKmludCovIG5zRW1iZWRDU3RyaW5nX25ldyhieXRlW10gYVN0cmluZywg
aW50IGxlbmd0aCk7CmRpZmYgLS1naXQgYS94cGNvbS5jcHAgYi94cGNvbS5jcHAKaW5kZXggMTQy
M2RhYi4uM2Y0MmQ5MCAxMDA2NDQKLS0tIGEveHBjb20uY3BwCisrKyBiL3hwY29tLmNwcApAQCAt
MTEzLDE4ICsxMTMsNiBAQCBmYWlsOgogfQogI2VuZGlmCiAKLSNpZm5kZWYgTk9fTlNfMVRlcm1F
bWJlZGRpbmcKLUpOSUVYUE9SVCBqaW50IEpOSUNBTEwgWFBDT01fTkFUSVZFKE5TXzFUZXJtRW1i
ZWRkaW5nKQotCShKTklFbnYgKmVudiwgamNsYXNzIHRoYXQpCi17Ci0JamludCByYyA9IDA7Ci0J
WFBDT01fTkFUSVZFX0VOVEVSKGVudiwgdGhhdCwgTlNfMVRlcm1FbWJlZGRpbmdfRlVOQyk7Ci0J
cmMgPSAoamludClOU19UZXJtRW1iZWRkaW5nKCk7Ci0JWFBDT01fTkFUSVZFX0VYSVQoZW52LCB0
aGF0LCBOU18xVGVybUVtYmVkZGluZ19GVU5DKTsKLQlyZXR1cm4gcmM7Ci19Ci0jZW5kaWYKLQog
I2lmbmRlZiBOT19QUl8xRnJlZQogSk5JRVhQT1JUIHZvaWQgSk5JQ0FMTCBYUENPTV9OQVRJVkUo
UFJfMUZyZWUpCiAJKEpOSUVudiAqZW52LCBqY2xhc3MgdGhhdCwgamxvbmcgYXJnMCkKZGlmZiAt
LWdpdCBhL3hwY29tLmggYi94cGNvbS5oCmluZGV4IDkzOGM4ZjguLmIzMjg2MTAgMTAwNjQ0Ci0t
LSBhL3hwY29tLmgKKysrIGIveHBjb20uaApAQCAtMTUsNyArMTUsNiBAQAogI2RlZmluZSBOREVC
VUcKIAogI2luY2x1ZGUgIm5zWFBDT00uaCIKLSNpbmNsdWRlICJuc0VtYmVkQVBJLmgiCQogI2lu
Y2x1ZGUgIm5zRW1iZWRTdHJpbmcuaCIKICNpbmNsdWRlICJuc0lJbnB1dFN0cmVhbS5oIgogI2lu
Y2x1ZGUgIm5zSVN1cHBvcnRzVXRpbHMuaCIKZGlmZiAtLWdpdCBhL3hwY29tX3Byb2ZpbGUuaCBi
L3hwY29tX3Byb2ZpbGUuaAppbmRleCBkNDVkOTVlLi43YWZlMWRkIDEwMDY0NAotLS0gYS94cGNv
bV9wcm9maWxlLmgKKysrIGIveHBjb21fcHJvZmlsZS5oCkBAIC0xNSw3ICsxNSw3IEBACiAjZGVm
aW5lIE5ERUJVRwogCiAjaW5jbHVkZSAibnNDT01QdHIuaCIKLSNpbmNsdWRlICJuc1Byb2ZpbGVE
aXJTZXJ2aWNlUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJwcm9mZGlyc2VydmljZXByb3ZpZGVyL25z
UHJvZmlsZURpclNlcnZpY2VQcm92aWRlci5oIgogI2luY2x1ZGUgInhwY29tX3N0YXRzLmgiCiAK
ICNlbmRpZiAvKiBJTkNfeHBjb21fcHJvZmlsZV9IICovCmRpZmYgLS1naXQgYS94cGNvbV9zdGF0
cy5jcHAgYi94cGNvbV9zdGF0cy5jcHAKaW5kZXggMmZjNmUxYS4uZjA2NTQxMiAxMDA2NDQKLS0t
IGEveHBjb21fc3RhdHMuY3BwCisrKyBiL3hwY29tX3N0YXRzLmNwcApAQCAtMzEsMTUgKzMxLDE0
IEBACiAKICNpZmRlZiBOQVRJVkVfU1RBVFMKIAotaW50IFhQQ09NX25hdGl2ZUZ1bmN0aW9uQ291
bnQgPSAxMzI7Ci1pbnQgWFBDT01fbmF0aXZlRnVuY3Rpb25DYWxsQ291bnRbMTMyXTsKK2ludCBY
UENPTV9uYXRpdmVGdW5jdGlvbkNvdW50ID0gMTMxOworaW50IFhQQ09NX25hdGl2ZUZ1bmN0aW9u
Q2FsbENvdW50WzEzMV07CiBjaGFyICogWFBDT01fbmF0aXZlRnVuY3Rpb25OYW1lc1tdID0gewog
CSJDYWxsIiwKIAkiTlNfMUdldENvbXBvbmVudE1hbmFnZXIiLAogCSJOU18xR2V0U2VydmljZU1h
bmFnZXIiLAotCSJOU18xSW5pdEVtYmVkZGluZyIsCisJIk5TXzFJbml0WFBDT00zX0ZVTkMiLAog
CSJOU18xTmV3TG9jYWxGaWxlIiwKLQkiTlNfMVRlcm1FbWJlZGRpbmciLAogCSJQUl8xRnJlZSIs
CiAJIlBSXzFNYWxsb2MiLAogCSJWdGJsQ2FsbF9fSUoiLApkaWZmIC0tZ2l0IGEveHBjb21fc3Rh
dHMuaCBiL3hwY29tX3N0YXRzLmgKaW5kZXggZDc3M2QyNS4uYzExODY5MSAxMDA2NDQKLS0tIGEv
eHBjb21fc3RhdHMuaAorKysgYi94cGNvbV9zdGF0cy5oCkBAIC00MSw5ICs0MSw4IEBAIHR5cGVk
ZWYgZW51bSB7CiAJQ2FsbF9GVU5DLAogCU5TXzFHZXRDb21wb25lbnRNYW5hZ2VyX0ZVTkMsCiAJ
TlNfMUdldFNlcnZpY2VNYW5hZ2VyX0ZVTkMsCi0JTlNfMUluaXRFbWJlZGRpbmdfRlVOQywKKwlO
U18xSW5pdFhQQ09NM19GVU5DLAogCU5TXzFOZXdMb2NhbEZpbGVfRlVOQywKLQlOU18xVGVybUVt
YmVkZGluZ19GVU5DLAogCVBSXzFGcmVlX0ZVTkMsCiAJUFJfMU1hbGxvY19GVU5DLAogCVZ0YmxD
YWxsX19JSl9GVU5DLAo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120424</attachid>
            <date>2007-05-27 09:51 0000</date>
            <desc>amd64 firefox patch converted from x86</desc>
            <filename>11_amd64_firefox.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtLWdpdCBhL2J1aWxkLnNoIGIvYnVpbGQuc2gKaW5kZXggNmQyZmZhZi4uZWE0YTcwZiAx
MDA2NDQKLS0tIGEvYnVpbGQuc2gKKysrIGIvYnVpbGQuc2gKQEAgLTg3LDkgKzg3LDkgQEAgZWxz
ZQogZmkKIAogaWYgWyAteiAiJHtHRUNLT19JTkNMVURFU30iIC1hIC16ICIke0dFQ0tPX0xJQlN9
IiBdOyB0aGVuCi0JaWYgWyB4YHBrZy1jb25maWcgLS1leGlzdHMgbW96aWxsYS14cGNvbSAmJiBl
Y2hvIFlFU2AgPSAieFlFUyIgXTsgdGhlbgotCQlHRUNLT19JTkNMVURFUz1gcGtnLWNvbmZpZyAt
LWNmbGFncyBtb3ppbGxhLXhwY29tYAotCQlHRUNLT19MSUJTPWBwa2ctY29uZmlnIC0tbGlicyBt
b3ppbGxhLXhwY29tYAorCWlmIFsgeGBwa2ctY29uZmlnIC0tZXhpc3RzIGZpcmVmb3gteHBjb20g
JiYgZWNobyBZRVNgID0gInhZRVMiIF07IHRoZW4KKwkJR0VDS09fSU5DTFVERVM9YHBrZy1jb25m
aWcgLS1jZmxhZ3MgZmlyZWZveC14cGNvbWAKKwkJR0VDS09fTElCUz1gcGtnLWNvbmZpZyAtLWxp
YnMgZmlyZWZveC14cGNvbWAKIAkJZXhwb3J0IEdFQ0tPX0lOQ0xVREVTCiAJCWV4cG9ydCBHRUNL
T19MSUJTCiAJCU1BS0VfTU9aSUxMQT1tYWtlX21vemlsbGEKZGlmZiAtLWdpdCBhL21ha2VfbGlu
dXgubWFrIGIvbWFrZV9saW51eC5tYWsKaW5kZXggODJkMWRiZC4uMDU0ZTFhYiAxMDA2NDQKLS0t
IGEvbWFrZV9saW51eC5tYWsKKysrIGIvbWFrZV9saW51eC5tYWsKQEAgLTIwMiw3ICsyMDIsNyBA
QCBnbm9tZV9zdGF0cy5vOiBnbm9tZV9zdGF0cy5jIGdub21lX3N0YXRzLmgKICMKICMgTW96aWxs
YSBsaWIKICMKLW1ha2VfbW96aWxsYTokKE1PWklMTEFfTElCKSAkKFBST0ZJTEUxNF9MSUIpICQo
UFJPRklMRTE3X0xJQikgJChQUk9GSUxFMThfTElCKQorbWFrZV9tb3ppbGxhOiQoTU9aSUxMQV9M
SUIpCiAKICQoTU9aSUxMQV9MSUIpOiAkKE1PWklMTEFfT0JKRUNUUykKIAkkKENYWCkgLW8gJChN
T1pJTExBX0xJQikgJChNT1pJTExBX09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7R0VDS09fTElC
U30KQEAgLTIyMCwyMiArMjIwLDIyIEBAIHhwY29tX3N0YXRzLm86IHhwY29tX3N0YXRzLmNwcAog
CSQoQ1hYKSAkKE1PWklMTEFDRkxBR1MpICR7R0VDS09fSU5DTFVERVN9IC1jIHhwY29tX3N0YXRz
LmNwcAkKIAogJChQUk9GSUxFMTRfT0JKRUNUUyk6IHhwY29tX3Byb2ZpbGUuY3BwCi0JJChDWFgp
IC1vICQoUFJPRklMRTE0X09CSkVDVFMpICQoTU9aSUxMQUNGTEFHUykgJHtQUk9GSUxFMTRfSU5D
TFVERVN9IC1jIHhwY29tX3Byb2ZpbGUuY3BwCQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxNF9PQkpF
Q1RTKSAkKE1PWklMTEFDRkxBR1MpICR7UFJPRklMRTE0X0lOQ0xVREVTfSAke0dFQ0tPX0lOQ0xV
REVTfSAtYyB4cGNvbV9wcm9maWxlLmNwcAkKIAogJChQUk9GSUxFMTdfT0JKRUNUUyk6IHhwY29t
X3Byb2ZpbGUuY3BwCi0JJChDWFgpIC1vICQoUFJPRklMRTE3X09CSkVDVFMpICQoTU9aSUxMQUNG
TEFHUykgJHtQUk9GSUxFMTdfSU5DTFVERVN9IC1jIHhwY29tX3Byb2ZpbGUuY3BwCQorCSQoQ1hY
KSAtbyAkKFBST0ZJTEUxN19PQkpFQ1RTKSAkKE1PWklMTEFDRkxBR1MpICR7UFJPRklMRTE3X0lO
Q0xVREVTfSAke0dFQ0tPX0lOQ0xVREVTfSAtYyB4cGNvbV9wcm9maWxlLmNwcAkKIAogJChQUk9G
SUxFMThfT0JKRUNUUyk6IHhwY29tX3Byb2ZpbGUuY3BwCi0JJChDWFgpIC1vICQoUFJPRklMRTE4
X09CSkVDVFMpICQoTU9aSUxMQUNGTEFHUykgJHtQUk9GSUxFMThfSU5DTFVERVN9IC1jIHhwY29t
X3Byb2ZpbGUuY3BwCQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxOF9PQkpFQ1RTKSAkKE1PWklMTEFD
RkxBR1MpICR7UFJPRklMRTE4X0lOQ0xVREVTfSAke0dFQ0tPX0lOQ0xVREVTfSAtYyB4cGNvbV9w
cm9maWxlLmNwcAkKIAogJChQUk9GSUxFMTRfTElCKTogJChQUk9GSUxFMTRfT0JKRUNUUykKLQkk
KENYWCkgLW8gJChQUk9GSUxFMTRfTElCKSAkKFBST0ZJTEUxNF9PQkpFQ1RTKSAkKE1PWklMTEFM
SUJTKSAke1BST0ZJTEUxNF9MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxNF9MSUIpICQoUFJP
RklMRTE0X09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE0X0xJQlN9ICR7R0VDS09f
TElCU30KIAogJChQUk9GSUxFMTdfTElCKTogJChQUk9GSUxFMTdfT0JKRUNUUykKLQkkKENYWCkg
LW8gJChQUk9GSUxFMTdfTElCKSAkKFBST0ZJTEUxN19PQkpFQ1RTKSAkKE1PWklMTEFMSUJTKSAk
e1BST0ZJTEUxN19MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxN19MSUIpICQoUFJPRklMRTE3
X09CSkVDVFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE3X0xJQlN9ICR7R0VDS09fTElCU30K
IAogJChQUk9GSUxFMThfTElCKTogJChQUk9GSUxFMThfT0JKRUNUUykKLQkkKENYWCkgLW8gJChQ
Uk9GSUxFMThfTElCKSAkKFBST0ZJTEUxOF9PQkpFQ1RTKSAkKE1PWklMTEFMSUJTKSAke1BST0ZJ
TEUxOF9MSUJTfQorCSQoQ1hYKSAtbyAkKFBST0ZJTEUxOF9MSUIpICQoUFJPRklMRTE4X09CSkVD
VFMpICQoTU9aSUxMQUxJQlMpICR7UFJPRklMRTE4X0xJQlN9ICR7R0VDS09fTElCU30KIAogIwog
IyBHTFggbGliCkBAIC0yNjQsNCArMjY0LDQgQEAgaW5zdGFsbDogYWxsCiAjIENsZWFuCiAjCiBj
bGVhbjoKLQlybSAtZiAqLm8gKi5zbworCXJtIC1mICoubyAqLnNvClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL29yZy9lY2xpcHNlL3N3dC9icm93c2VyL0Jyb3dz
ZXIuamF2YSBiL3NyYy9vcmcvZWNsaXBzZS9zd3QvYnJvd3Nlci9Ccm93c2VyLmphdmEKaW5kZXgg
M2Q3MDBjMS4uZjM3MzBlNiAxMDA2NDQKLS0tIGEvc3JjL29yZy9lY2xpcHNlL3N3dC9icm93c2Vy
L0Jyb3dzZXIuamF2YQorKysgYi9zcmMvb3JnL2VjbGlwc2Uvc3d0L2Jyb3dzZXIvQnJvd3Nlci5q
YXZhCkBAIC0xMCwxNSArMTAsNzUgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogcGFja2Fn
ZSBvcmcuZWNsaXBzZS5zd3QuYnJvd3NlcjsKIAotaW1wb3J0IGphdmEuaW8uKjsKLWltcG9ydCBq
YXZhLnV0aWwuKjsKLWltcG9ydCBvcmcuZWNsaXBzZS5zd3QuKjsKLWltcG9ydCBvcmcuZWNsaXBz
ZS5zd3Qud2lkZ2V0cy4qOwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5ncmFwaGljcy4qOwotaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC4qOwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5p
bnRlcm5hbC5ndGsuKjsKLWltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS4q
OwotaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5sYXlvdXQuKjsKK2ltcG9ydCBqYXZhLmlvLkZpbGU7
CitpbXBvcnQgamF2YS5pby5VbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uOworaW1wb3J0IGph
dmEudXRpbC5Mb2NhbGU7CitpbXBvcnQgamF2YS51dGlsLlN0cmluZ1Rva2VuaXplcjsKKworaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5TV1Q7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LlNXVEVycm9y
OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5TV1RFeGNlcHRpb247CitpbXBvcnQgb3JnLmVjbGlw
c2Uuc3d0LmdyYXBoaWNzLlBvaW50OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5ncmFwaGljcy5S
ZWN0YW5nbGU7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLkNhbGxiYWNrOworaW1w
b3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5Db252ZXJ0ZXI7CitpbXBvcnQgb3JnLmVjbGlw
c2Uuc3d0LmludGVybmFsLkxpYnJhcnk7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFs
Lmd0ay5HZGtFdmVudDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwuZ3RrLkxPTkc7
CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLmd0ay5PUzsKK2ltcG9ydCBvcmcuZWNs
aXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5YUENPTTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5YUENPTU9iamVjdDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50
ZXJuYWwubW96aWxsYS5uc0VtYmVkU3RyaW5nOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSUFwcFNoZWxsOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5h
bC5tb3ppbGxhLm5zSUJhc2VXaW5kb3c7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFs
Lm1vemlsbGEubnNJQ2F0ZWdvcnlNYW5hZ2VyOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSUNvbXBvbmVudE1hbmFnZXI7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LmludGVybmFsLm1vemlsbGEubnNJQ29tcG9uZW50UmVnaXN0cmFyOworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUNvbnRleHRNZW51TGlzdGVuZXI7CitpbXBvcnQg
b3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJQ29va2llOworaW1wb3J0IG9yZy5l
Y2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUNvb2tpZU1hbmFnZXI7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJRDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5z
d3QuaW50ZXJuYWwubW96aWxsYS5uc0lET01FdmVudDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5uc0lET01Nb3VzZUV2ZW50OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3
dC5pbnRlcm5hbC5tb3ppbGxhLm5zSURPTVdpbmRvdzsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qu
aW50ZXJuYWwubW96aWxsYS5uc0lEaXJlY3RvcnlTZXJ2aWNlOworaW1wb3J0IG9yZy5lY2xpcHNl
LnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSURvY1NoZWxsOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3
dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUVtYmVkZGluZ1NpdGVXaW5kb3c7CitpbXBvcnQgb3JnLmVj
bGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJRmlsZTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5z
d3QuaW50ZXJuYWwubW96aWxsYS5uc0lJT1NlcnZpY2U7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LmludGVybmFsLm1vemlsbGEubnNJSW50ZXJmYWNlUmVxdWVzdG9yOworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSUxvY2FsRmlsZTsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lQcmVmQnJhbmNoOworaW1wb3J0IG9yZy5lY2xpcHNl
LnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVByZWZMb2NhbGl6ZWRTdHJpbmc7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJUHJlZlNlcnZpY2U7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJUHJvcGVydGllczsKK2ltcG9ydCBvcmcu
ZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lSZXF1ZXN0OworaW1wb3J0IG9yZy5lY2xp
cHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVNlcnZpY2VNYW5hZ2VyOworaW1wb3J0IG9yZy5l
Y2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVNpbXBsZUVudW1lcmF0b3I7CitpbXBvcnQg
b3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJU3VwcG9ydHM7CitpbXBvcnQgb3Jn
LmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJU3VwcG9ydHNXZWFrUmVmZXJlbmNlOwor
aW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVRvb2x0aXBMaXN0ZW5l
cjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lVUkk7CitpbXBv
cnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJVVJJQ29udGVudExpc3RlbmVy
OworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVdlYWtSZWZlcmVu
Y2U7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1vemlsbGEubnNJV2ViQnJvd3Nl
cjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxsYS5uc0lXZWJCcm93c2Vy
Q2hyb21lOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5tb3ppbGxhLm5zSVdlYkJy
b3dzZXJDaHJvbWVGb2N1czsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwubW96aWxs
YS5uc0lXZWJCcm93c2VyRm9jdXM7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LmludGVybmFsLm1v
emlsbGEubnNJV2ViQnJvd3NlclN0cmVhbTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3QuaW50ZXJu
YWwubW96aWxsYS5uc0lXZWJOYXZpZ2F0aW9uOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSVdlYlByb2dyZXNzOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5pbnRl
cm5hbC5tb3ppbGxhLm5zSVdlYlByb2dyZXNzTGlzdGVuZXI7CitpbXBvcnQgb3JnLmVjbGlwc2Uu
c3d0LmludGVybmFsLm1vemlsbGEubnNJV2luZG93V2F0Y2hlcjsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3QubGF5b3V0LkZpbGxMYXlvdXQ7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMu
Q29tcG9zaXRlOworaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkRpc3BsYXk7CitpbXBv
cnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuRXZlbnQ7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0
LndpZGdldHMuTGFiZWw7CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuTGlzdGVuZXI7
CitpbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuTWVudTsKK2ltcG9ydCBvcmcuZWNsaXBz
ZS5zd3Qud2lkZ2V0cy5TaGVsbDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5XaWRn
ZXQ7CiAKIC8qKgogICogSW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgaW1wbGVtZW50IHRoZSBicm93
c2VyIHVzZXIgaW50ZXJmYWNlCkBAIC0xNzUsNDAgKzIzNSw0MyBAQCBwdWJsaWMgQnJvd3NlcihD
b21wb3NpdGUgcGFyZW50LCBpbnQgc3R5bGUpIHsKIAkJICogLSBtb3ppbGxhMTdwcm9maWxlL21v
emlsbGExN3Byb2ZpbGUtZ2NjIHNob3VsZCBzdWNjZWVkIGZvciBtb3ppbGxhIDEuNy54IGFuZCBm
aXJlZm94CiAJCSAqIC0gbW96aWxsYTE4cHJvZmlsZS9tb3ppbGxhMThwcm9maWxlLWdjYyBzaG91
bGQgc3VjY2VlZCBmb3IgbW96aWxsYSAxLjgueCAoc2VhbW9ua2V5KQogCQkgKi8KLQkJdHJ5IHsK
LQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE0LXByb2ZpbGUiKTsgLy8kTk9O
LU5MUy0xJAotCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKLQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRM
aW5rRXJyb3IgZTEpIHsKLQkJCXRyeSB7Ci0JCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1t
b3ppbGxhMTctcHJvZmlsZSIpOyAvLyROT04tTkxTLTEkCi0JCQkJdXNpbmdQcm9maWxlID0gdHJ1
ZTsKLQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGUyKSB7Ci0JCQkJdHJ5IHsKLQkJ
CQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1tb3ppbGxhMTQtcHJvZmlsZS1nY2MzIik7IC8v
JE5PTi1OTFMtMSQKLQkJCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKLQkJCQl9IGNhdGNoIChVbnNh
dGlzZmllZExpbmtFcnJvciBlMykgewotCQkJCQl0cnkgewotCQkJCQkJTGlicmFyeS5sb2FkTGli
cmFyeSAoInN3dC1tb3ppbGxhMTctcHJvZmlsZS1nY2MzIik7IC8vJE5PTi1OTFMtMSQKLQkJCQkJ
CXVzaW5nUHJvZmlsZSA9IHRydWU7Ci0JCQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9y
IGU0KSB7Ci0JCQkJCQl0cnkgewotCQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96
aWxsYTE4LXByb2ZpbGUiKTsgLy8kTk9OLU5MUy0xJAotCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRy
dWU7Ci0JCQkJCQl9IGNhdGNoIChVbnNhdGlzZmllZExpbmtFcnJvciBlNSkgewotCQkJCQkJCXRy
eSB7Ci0JCQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE4LXByb2ZpbGUt
Z2NjMyIpOyAvLyROT04tTkxTLTEkCi0JCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRydWU7Ci0JCQkJ
CQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTYpIHsKLQkJCQkJCQkJLyogCi0JCQkJ
CQkJCSogZmFpbCBzaWxlbnRseSwgdGhlIEJyb3dzZXIgd2lsbCBzdGlsbCB3b3JrIHdpdGhvdXQg
cHJvZmlsZSBzdXBwb3J0Ci0JCQkJCQkJCSogYnV0IHdpbGwgYWJvcnQgYW55IGF0dGVtcHRzIHRv
IG5hdmlnYXRlIHRvIEhUVFBTIHBhZ2VzCi0JCQkJCQkJCSovCi0JCQkJCQkJfQotCQkJCQkJfQot
CQkJCQl9Ci0JCQkJfQotCQkJfQotCQl9CisvLwkJTGlicmFyeS5sb2FkTGlicmFyeSgic3d0LW1v
emlsbGExNy1wcm9maWxlIik7CisJCS8vIFdlIGJ1aWxkIHRoZSBwcm9maWxlIHN0dWZmIHdpdGhv
dXQgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgRFNPCisJCXVzaW5nUHJvZmlsZSA9IHRydWU7Cisv
LwkJdHJ5IHsKKy8vCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1tb3ppbGxhMTQtcHJvZmls
ZSIpOyAvLyROT04tTkxTLTEkCisvLwkJCXVzaW5nUHJvZmlsZSA9IHRydWU7CisvLwkJfSBjYXRj
aCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTEpIHsKKy8vCQkJdHJ5IHsKKy8vCQkJCUxpYnJhcnku
bG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE3LXByb2ZpbGUiKTsgLy8kTk9OLU5MUy0xJAorLy8J
CQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKKy8vCQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJy
b3IgZTIpIHsKKy8vCQkJCXRyeSB7CisvLwkJCQkJTGlicmFyeS5sb2FkTGlicmFyeSAoInN3dC1t
b3ppbGxhMTQtcHJvZmlsZS1nY2MzIik7IC8vJE5PTi1OTFMtMSQKKy8vCQkJCQl1c2luZ1Byb2Zp
bGUgPSB0cnVlOworLy8JCQkJfSBjYXRjaCAoVW5zYXRpc2ZpZWRMaW5rRXJyb3IgZTMpIHsKKy8v
CQkJCQl0cnkgeworLy8JCQkJCQlMaWJyYXJ5LmxvYWRMaWJyYXJ5ICgic3d0LW1vemlsbGExNy1w
cm9maWxlLWdjYzMiKTsgLy8kTk9OLU5MUy0xJAorLy8JCQkJCQl1c2luZ1Byb2ZpbGUgPSB0cnVl
OworLy8JCQkJCX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU0KSB7CisvLwkJCQkJCXRy
eSB7CisvLwkJCQkJCQlMaWJyYXJ5LmxvYWRMaWJyYXJ5ICgic3d0LW1vemlsbGExOC1wcm9maWxl
Iik7IC8vJE5PTi1OTFMtMSQKKy8vCQkJCQkJCXVzaW5nUHJvZmlsZSA9IHRydWU7CisvLwkJCQkJ
CX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU1KSB7CisvLwkJCQkJCQl0cnkgeworLy8J
CQkJCQkJCUxpYnJhcnkubG9hZExpYnJhcnkgKCJzd3QtbW96aWxsYTE4LXByb2ZpbGUtZ2NjMyIp
OyAvLyROT04tTkxTLTEkCisvLwkJCQkJCQkJdXNpbmdQcm9maWxlID0gdHJ1ZTsKKy8vCQkJCQkJ
CX0gY2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGU2KSB7CisvLwkJCQkJCQkJLyogCisvLwkJ
CQkJCQkJKiBmYWlsIHNpbGVudGx5LCB0aGUgQnJvd3NlciB3aWxsIHN0aWxsIHdvcmsgd2l0aG91
dCBwcm9maWxlIHN1cHBvcnQKKy8vCQkJCQkJCQkqIGJ1dCB3aWxsIGFib3J0IGFueSBhdHRlbXB0
cyB0byBuYXZpZ2F0ZSB0byBIVFRQUyBwYWdlcworLy8JCQkJCQkJCSovCisvLwkJCQkJCQl9Cisv
LwkJCQkJCX0KKy8vCQkJCQl9CisvLwkJCQl9CisvLwkJCX0KKy8vCQl9CiAKIAkJbG9uZyAvKmlu
dCovW10gcmV0VmFsID0gbmV3IGxvbmcgLyppbnQqL1sxXTsKIAkJbnNFbWJlZFN0cmluZyBwYXRo
U3RyaW5nID0gbmV3IG5zRW1iZWRTdHJpbmcobW96aWxsYVBhdGgpOwpAQCAtMjE4LDExICsyODEs
MTEgQEAgcHVibGljIEJyb3dzZXIoQ29tcG9zaXRlIHBhcmVudCwgaW50IHN0eWxlKSB7CiAJCWlm
IChyZXRWYWxbMF0gPT0gMCkgZXJyb3IoWFBDT00uTlNfRVJST1JfTlVMTF9QT0lOVEVSKTsKIAkJ
CiAJCW5zSUxvY2FsRmlsZSBsb2NhbEZpbGUgPSBuZXcgbnNJTG9jYWxGaWxlKHJldFZhbFswXSk7
Ci0JCXJjID0gWFBDT00uTlNfSW5pdEVtYmVkZGluZyhsb2NhbEZpbGUuZ2V0QWRkcmVzcygpLCAw
KTsKKwkJcmMgPSBYUENPTS5OU19Jbml0WFBDT00zKDAsIGxvY2FsRmlsZS5nZXRBZGRyZXNzKCks
IDAsIDAsIDApOwogCQlsb2NhbEZpbGUuUmVsZWFzZSgpOwogCQlpZiAocmMgIT0gWFBDT00uTlNf
T0spIHsKIAkJCWRpc3Bvc2UoKTsKLQkJCVNXVC5lcnJvcihTV1QuRVJST1JfTk9fSEFORExFUywg
bnVsbCwgIiBbTlNfSW5pdEVtYmVkZGluZyAiK21vemlsbGFQYXRoKyIgZXJyb3IgIityYysiXSIp
OyAvLyROT04tTkxTLTEkIC8vJE5PTi1OTFMtMiQgLy8kTk9OLU5MUy0zJAorCQkJU1dULmVycm9y
KFNXVC5FUlJPUl9OT19IQU5ETEVTLCBudWxsLCAiIFtOU19Jbml0WFBDT00zICIrbW96aWxsYVBh
dGgrIiBlcnJvciAiK3JjKyJdIik7IC8vJE5PTi1OTFMtMSQgLy8kTk9OLU5MUy0yJCAvLyROT04t
TkxTLTMkCiAJCX0KIAogCQlyYyA9IFhQQ09NLk5TX0dldENvbXBvbmVudE1hbmFnZXIocmVzdWx0
KTsKQEAgLTI4Myw3ICszNDYsNyBAQCBwdWJsaWMgQnJvd3NlcihDb21wb3NpdGUgcGFyZW50LCBp
bnQgc3R5bGUpIHsKIAkJCXJjID0gcHJvcGVydGllcy5HZXQoYnVmZmVyLCBuc0lGaWxlLk5TX0lG
SUxFX0lJRCwgcmVzdWx0KTsKIAkJCWlmIChyYyAhPSBYUENPTS5OU19PSykgZXJyb3IocmMpOwog
CQkJaWYgKHJlc3VsdFswXSA9PSAwKSBlcnJvcihYUENPTS5OU19OT0lOVEVSRkFDRSk7Ci0JCQlw
cm9wZXJ0aWVzLlJlbGVhc2UoKTsKKwkJCS8vIHByb3BlcnRpZXMuUmVsZWFzZSgpIGlzIG5vdyBh
ZnRlciB0aGUgU2V0IGJlbG93CiAKIAkJCW5zSUZpbGUgcHJvZmlsZURpciA9IG5ldyBuc0lGaWxl
KHJlc3VsdFswXSk7CiAJCQlyZXN1bHRbMF0gPSAwOwpAQCAtMzA1LDI0ICszNjgsMTUgQEAgcHVi
bGljIEJyb3dzZXIoQ29tcG9zaXRlIHBhcmVudCwgaW50IHN0eWxlKSB7CiAJCQlwYXRoU3RyaW5n
LmRpc3Bvc2UoKTsgLy8KIAogCQkJcHJvZmlsZURpciA9IG5ldyBuc0lGaWxlKHJlc3VsdFswXSk7
Ci0JCQlyZXN1bHRbMF0gPSAwOwogCi0JCQlyYyA9IFhQQ09NX1BST0ZJTEUuTlNfTmV3UHJvZmls
ZURpclNlcnZpY2VQcm92aWRlcih0cnVlLCByZXN1bHQpOworCQkJLy8gU2V0IHRoZSBwcm9maWxl
IGRpciBwcm9wZXJ0eSBzbyB0aGF0IGl0J3MgaW5pdGlhbGl6ZWQgZm9yCisJCQkvLyB0aGluZ3Mg
bGlrZSBwYXNzd29yZCBtYW5hZ2VyIGFuZCBodHRwcworCQkJYnVmZmVyID0gQ29udmVydGVyLndj
c1RvTWJjcyhudWxsLCBYUENPTS5OU19BUFBfVVNFUl9QUk9GSUxFXzUwX0RJUiwgdHJ1ZSk7CisJ
CQlyYyA9IHByb3BlcnRpZXMuU2V0KGJ1ZmZlciwgcHJvZmlsZURpci5nZXRBZGRyZXNzKCkpOwog
CQkJaWYgKHJjICE9IFhQQ09NLk5TX09LKSBlcnJvcihyYyk7Ci0JCQlpZiAocmVzdWx0WzBdID09
IDApIGVycm9yKFhQQ09NLk5TX05PSU5URVJGQUNFKTsKKwkJCXByb3BlcnRpZXMuUmVsZWFzZSgp
OwogCi0JCQlmaW5hbCBsb25nIC8qaW50Ki8gZGlyU2VydmljZVByb3ZpZGVyID0gcmVzdWx0WzBd
OwogCQkJcmVzdWx0WzBdID0gMDsKLQkJCXJjID0gWFBDT01fUFJPRklMRS5Qcm9maWxlRGlyU2Vy
dmljZVByb3ZpZGVyX1JlZ2lzdGVyKGRpclNlcnZpY2VQcm92aWRlcik7Ci0JCQlpZiAocmMgIT0g
WFBDT00uTlNfT0spIGVycm9yKHJjKTsKLQkJCXJjID0gWFBDT01fUFJPRklMRS5Qcm9maWxlRGly
U2VydmljZVByb3ZpZGVyX1NldFByb2ZpbGVEaXIoZGlyU2VydmljZVByb3ZpZGVyLCBwcm9maWxl
RGlyLmdldEFkZHJlc3MoKSk7Ci0JCQlpZiAocmMgIT0gWFBDT00uTlNfT0spIGVycm9yKHJjKTsK
LQotCQkJZ2V0RGlzcGxheSgpLmFkZExpc3RlbmVyKFNXVC5EaXNwb3NlLCBuZXcgTGlzdGVuZXIo
KSB7Ci0JCQkJcHVibGljIHZvaWQgaGFuZGxlRXZlbnQoRXZlbnQgZSkgewotCQkJCQlYUENPTV9Q
Uk9GSUxFLlByb2ZpbGVEaXJTZXJ2aWNlUHJvdmlkZXJfU2h1dGRvd24oZGlyU2VydmljZVByb3Zp
ZGVyKTsKLQkJCQl9Ci0JCQl9KTsKIAkJfQogCiAJCS8qCkBAIC0xMzU0LDI3ICsxNDA4LDYgQEAg
dm9pZCBvbkRpc3Bvc2UoRGlzcGxheSBkaXNwbGF5KSB7CiAJdGlwID0gbnVsbDsKIAogCUJyb3dz
ZXJDb3VudC0tOwotCS8qCi0JKiBUaGlzIGNvZGUgaXMgaW50ZW50aW9uYWxseSBjb21tZW50ZWQu
ICBJdCBpcyBub3QgcG9zc2libGUgdG8gcmVpbml0aWFsaXplCi0JKiBNb3ppbGxhIG9uY2UgaXQg
aGFzIGJlZW4gdGVybWluYXRlZC4gIE5TX0luaXRFbWJlZGRpbmcgYWx3YXlzIGZhaWxzIGFmdGVy
Ci0JKiBOU19UZXJtRW1iZWRkaW5nIGhhcyBiZWVuIGNhbGxlZC4gIFRoZSB3b3JrYXJvdW5kIGlz
IHRvIGNhbGwgTlNfSW5pdEVtYmVkZGluZwotCSogb25jZSBhbmQgbmV2ZXIgY2FsbCBOU19UZXJt
RW1iZWRkaW5nLgotCSovCi0vLwlpZiAoQnJvd3NlckNvdW50ID09IDApIHsKLS8vCQlpZiAoQXBw
U2hlbGwgIT0gbnVsbCkgewotLy8JCQkvLyBTaHV0ZG93biB0aGUgYXBwc2hlbGwgc2VydmljZS4K
LS8vCQkJcmMgPSBBcHBTaGVsbC5TcGluZG93bigpOwotLy8JCQlpZiAocmMgIT0gWFBDT00uTlNf
T0spIGVycm9yKHJjKTsKLS8vCQkJQXBwU2hlbGwuUmVsZWFzZSgpOwotLy8JCQlBcHBTaGVsbCA9
IG51bGw7Ci0vLwkJfQotLy8JCVdpbmRvd0NyZWF0b3IuUmVsZWFzZSgpOwotLy8JCVdpbmRvd0Ny
ZWF0b3IgPSBudWxsOwotLy8JCVByb21wdFNlcnZpY2UuUmVsZWFzZSgpOwotLy8JCVByb21wdFNl
cnZpY2UgPSBudWxsOwotLy8JCVhQQ09NLk5TX1Rlcm1FbWJlZGRpbmcoKTsKLS8vCQltb3ppbGxh
ID0gZmFsc2U7Ci0vLwl9CiB9CiAKIHZvaWQgQWN0aXZhdGUoKSB7CmRpZmYgLS1naXQgYS9zcmMv
b3JnL2VjbGlwc2Uvc3d0L2ludGVybmFsL21vemlsbGEvWFBDT00uamF2YSBiL3NyYy9vcmcvZWNs
aXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENPTS5qYXZhCmluZGV4IDdmZjQ1Y2IuLjYzM2Y1
NWUgMTAwNjQ0Ci0tLSBhL3NyYy9vcmcvZWNsaXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENP
TS5qYXZhCisrKyBiL3NyYy9vcmcvZWNsaXBzZS9zd3QvaW50ZXJuYWwvbW96aWxsYS9YUENPTS5q
YXZhCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYyBjbGFzcyBYUENPTSBleHRlbmRzIFBsYXRmb3Jt
IHsKIAlwdWJsaWMgc3RhdGljIGZpbmFsIGludCBOU19FUlJPUl9IVE1MUEFSU0VSX1VOUkVTT0xW
RUREVEQgPSAweDgwNGUwM2YzOwogCXB1YmxpYyBzdGF0aWMgZmluYWwgaW50IE5TX0VSUk9SX0ZJ
TEVfTk9UX0ZPVU5EID0gMHg4MDUyMDAxMjsKIAlwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBO
U19BUFBfQVBQTElDQVRJT05fUkVHSVNUUllfRElSID0gIkFwcFJlZ0QiOyAvLyROT04tTkxTLTEk
CisJcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgTlNfQVBQX1VTRVJfUFJPRklMRV81MF9ESVIg
PSAiUHJvZkQiOyAvLyROT04tTkxTLTEkCiAKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZlIHZv
aWQgbWVtbW92ZShuc0lEIGRlc3QsIGxvbmcgLyppbnQqLyBzcmMsIGludCBuYnl0ZXMpOwogcHVi
bGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgdm9pZCBtZW1tb3ZlKGxvbmcgLyppbnQqLyBkZXN0LCBu
c0lEIHNyYywgaW50IG5ieXRlcyk7CkBAIC0xMDMsOSArMTA0LDggQEAgcHVibGljIHN0YXRpYyBm
aW5hbCBuYXRpdmUgdm9pZCBtZW1tb3ZlKGxvbmcgLyppbnQqLyBkZXN0LCBjaGFyW10gc3JjLCBp
bnQgbmJ5dGUKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZlIHZvaWQgbWVtbW92ZShieXRlW10g
ZGVzdCwgY2hhcltdIHNyYywgaW50IG5ieXRlcyk7CiBwdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2
ZSBpbnQgTlNfR2V0Q29tcG9uZW50TWFuYWdlcihsb25nIC8qaW50Ki9bXSByZXN1bHQpOwogcHVi
bGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IE5TX0dldFNlcnZpY2VNYW5hZ2VyKGxvbmcgLypp
bnQqL1tdIHJlc3VsdCk7Ci1wdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2ZSBpbnQgTlNfSW5pdEVt
YmVkZGluZyhsb25nIC8qaW50Ki8gYU1vekJpbkRpcmVjdG9yeSwgbG9uZyAvKmludCovIGFBcHBG
aWxlTG9jUHJvdmlkZXIpOworcHVibGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IE5TX0luaXRY
UENPTTMobG9uZyAvKmludCovIHJlc3VsdCwgbG9uZyAvKmludCovIGJpbkRpcmVjdG9yeSwgbG9u
ZyAvKmludCovIGFwcEZpbGVMb2NhdGlvblByb3ZpZGVyLCBsb25nIC8qaW50Ki8gc3RhdGljQ29t
cG9uZW50cywgaW50IGNvbXBvbmVudENvdW50KTsKIHB1YmxpYyBzdGF0aWMgZmluYWwgbmF0aXZl
IGludCBOU19OZXdMb2NhbEZpbGUobG9uZyAvKmludCovIHBhdGgsIGJvb2xlYW4gZm9sbG93TGlu
a3MsIGxvbmcgLyppbnQqL1tdIHJlc3VsdCk7Ci1wdWJsaWMgc3RhdGljIGZpbmFsIG5hdGl2ZSBp
bnQgTlNfVGVybUVtYmVkZGluZygpOwogcHVibGljIHN0YXRpYyBmaW5hbCBuYXRpdmUgaW50IHN0
cmxlbl9QUlVuaWNoYXIobG9uZyAvKmludCovIHMpOwogcHVibGljIHN0YXRpYyBmaW5hbCBuYXRp
dmUgbG9uZyAvKmludCovIG5zRW1iZWRDU3RyaW5nX25ldygpOwogcHVibGljIHN0YXRpYyBmaW5h
bCBuYXRpdmUgbG9uZyAvKmludCovIG5zRW1iZWRDU3RyaW5nX25ldyhieXRlW10gYVN0cmluZywg
aW50IGxlbmd0aCk7CmRpZmYgLS1naXQgYS94cGNvbS5jcHAgYi94cGNvbS5jcHAKaW5kZXggMTQy
M2RhYi4uMDg5YzE1NCAxMDA2NDQKLS0tIGEveHBjb20uY3BwCisrKyBiL3hwY29tLmNwcApAQCAt
ODUsMTQgKzg1LDE2IEBAIGZhaWw6CiB9CiAjZW5kaWYKIAotI2lmbmRlZiBOT19OU18xSW5pdEVt
YmVkZGluZwotSk5JRVhQT1JUIGppbnQgSk5JQ0FMTCBYUENPTV9OQVRJVkUoTlNfMUluaXRFbWJl
ZGRpbmcpCi0JKEpOSUVudiAqZW52LCBqY2xhc3MgdGhhdCwgamxvbmcgYXJnMCwgamxvbmcgYXJn
MSkKKyNpZm5kZWYgTk9fTlNfMUluaXRYUENPTTMKK0pOSUVYUE9SVCBqaW50IEpOSUNBTEwgWFBD
T01fTkFUSVZFKE5TXzFJbml0WFBDT00zKQorCShKTklFbnYgKmVudiwgamNsYXNzIHRoYXQsIGps
b25nIGFyZzAsIGpsb25nIGFyZzEsIGpsb25nIGFyZzIsIGpsb25nIGFyZzMsIGppbnQgYXJnNCkK
IHsKIAlqaW50IHJjID0gMDsKLQlYUENPTV9OQVRJVkVfRU5URVIoZW52LCB0aGF0LCBOU18xSW5p
dEVtYmVkZGluZ19GVU5DKTsKLQlyYyA9IChqaW50KU5TX0luaXRFbWJlZGRpbmcoKG5zSUxvY2Fs
RmlsZSAqKWFyZzAsIChuc0lEaXJlY3RvcnlTZXJ2aWNlUHJvdmlkZXIgKilhcmcxKTsKLQlYUENP
TV9OQVRJVkVfRVhJVChlbnYsIHRoYXQsIE5TXzFJbml0RW1iZWRkaW5nX0ZVTkMpOworCVhQQ09N
X05BVElWRV9FTlRFUihlbnYsIHRoYXQsIE5TXzFHZXRDb21wb25lbnRSZWdpc3RyYXJfRlVOQyk7
CisJcmMgPSAoamludClOU19Jbml0WFBDT00zKChuc0lTZXJ2aWNlTWFuYWdlciAqKilhcmcwLCAo
bnNJRmlsZSAqKWFyZzEsCisJCShuc0lEaXJlY3RvcnlTZXJ2aWNlUHJvdmlkZXIgKilhcmcyLCAo
bnNTdGF0aWNNb2R1bGVJbmZvICopYXJnMywKKwkJKFBSVWludDMyKSBhcmc0KTsKKwlYUENPTV9O
QVRJVkVfRVhJVChlbnYsIHRoYXQsIE5TXzFHZXRDb21wb25lbnRSZWdpc3RyYXJfRlVOQyk7CiAJ
cmV0dXJuIHJjOwogfQogI2VuZGlmCkBAIC0xMTMsMTggKzExNSw2IEBAIGZhaWw6CiB9CiAjZW5k
aWYKIAotI2lmbmRlZiBOT19OU18xVGVybUVtYmVkZGluZwotSk5JRVhQT1JUIGppbnQgSk5JQ0FM
TCBYUENPTV9OQVRJVkUoTlNfMVRlcm1FbWJlZGRpbmcpCi0JKEpOSUVudiAqZW52LCBqY2xhc3Mg
dGhhdCkKLXsKLQlqaW50IHJjID0gMDsKLQlYUENPTV9OQVRJVkVfRU5URVIoZW52LCB0aGF0LCBO
U18xVGVybUVtYmVkZGluZ19GVU5DKTsKLQlyYyA9IChqaW50KU5TX1Rlcm1FbWJlZGRpbmcoKTsK
LQlYUENPTV9OQVRJVkVfRVhJVChlbnYsIHRoYXQsIE5TXzFUZXJtRW1iZWRkaW5nX0ZVTkMpOwot
CXJldHVybiByYzsKLX0KLSNlbmRpZgotCiAjaWZuZGVmIE5PX1BSXzFGcmVlCiBKTklFWFBPUlQg
dm9pZCBKTklDQUxMIFhQQ09NX05BVElWRShQUl8xRnJlZSkKIAkoSk5JRW52ICplbnYsIGpjbGFz
cyB0aGF0LCBqbG9uZyBhcmcwKQpkaWZmIC0tZ2l0IGEveHBjb20uaCBiL3hwY29tLmgKaW5kZXgg
OTM4YzhmOC4uYjMyODYxMCAxMDA2NDQKLS0tIGEveHBjb20uaAorKysgYi94cGNvbS5oCkBAIC0x
NSw3ICsxNSw2IEBACiAjZGVmaW5lIE5ERUJVRwogCiAjaW5jbHVkZSAibnNYUENPTS5oIgotI2lu
Y2x1ZGUgIm5zRW1iZWRBUEkuaCIJCiAjaW5jbHVkZSAibnNFbWJlZFN0cmluZy5oIgogI2luY2x1
ZGUgIm5zSUlucHV0U3RyZWFtLmgiCiAjaW5jbHVkZSAibnNJU3VwcG9ydHNVdGlscy5oIgpkaWZm
IC0tZ2l0IGEveHBjb21fcHJvZmlsZS5oIGIveHBjb21fcHJvZmlsZS5oCmluZGV4IGQ0NWQ5NWUu
LjdhZmUxZGQgMTAwNjQ0Ci0tLSBhL3hwY29tX3Byb2ZpbGUuaAorKysgYi94cGNvbV9wcm9maWxl
LmgKQEAgLTE1LDcgKzE1LDcgQEAKICNkZWZpbmUgTkRFQlVHCiAKICNpbmNsdWRlICJuc0NPTVB0
ci5oIgotI2luY2x1ZGUgIm5zUHJvZmlsZURpclNlcnZpY2VQcm92aWRlci5oIgorI2luY2x1ZGUg
InByb2ZkaXJzZXJ2aWNlcHJvdmlkZXIvbnNQcm9maWxlRGlyU2VydmljZVByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAieHBjb21fc3RhdHMuaCIKIAogI2VuZGlmIC8qIElOQ194cGNvbV9wcm9maWxlX0gg
Ki8KZGlmZiAtLWdpdCBhL3hwY29tX3N0YXRzLmNwcCBiL3hwY29tX3N0YXRzLmNwcAppbmRleCAy
ZmM2ZTFhLi5mMDY1NDEyIDEwMDY0NAotLS0gYS94cGNvbV9zdGF0cy5jcHAKKysrIGIveHBjb21f
c3RhdHMuY3BwCkBAIC0zMSwxNSArMzEsMTQgQEAKIAogI2lmZGVmIE5BVElWRV9TVEFUUwogCi1p
bnQgWFBDT01fbmF0aXZlRnVuY3Rpb25Db3VudCA9IDEzMjsKLWludCBYUENPTV9uYXRpdmVGdW5j
dGlvbkNhbGxDb3VudFsxMzJdOworaW50IFhQQ09NX25hdGl2ZUZ1bmN0aW9uQ291bnQgPSAxMzE7
CitpbnQgWFBDT01fbmF0aXZlRnVuY3Rpb25DYWxsQ291bnRbMTMxXTsKIGNoYXIgKiBYUENPTV9u
YXRpdmVGdW5jdGlvbk5hbWVzW10gPSB7CiAJIkNhbGwiLAogCSJOU18xR2V0Q29tcG9uZW50TWFu
YWdlciIsCiAJIk5TXzFHZXRTZXJ2aWNlTWFuYWdlciIsCi0JIk5TXzFJbml0RW1iZWRkaW5nIiwK
KwkiTlNfMUluaXRYUENPTTNfRlVOQyIsCiAJIk5TXzFOZXdMb2NhbEZpbGUiLAotCSJOU18xVGVy
bUVtYmVkZGluZyIsCiAJIlBSXzFGcmVlIiwKIAkiUFJfMU1hbGxvYyIsCiAJIlZ0YmxDYWxsX19J
SiIsCmRpZmYgLS1naXQgYS94cGNvbV9zdGF0cy5oIGIveHBjb21fc3RhdHMuaAppbmRleCBkNzcz
ZDI1Li5jMTE4NjkxIDEwMDY0NAotLS0gYS94cGNvbV9zdGF0cy5oCisrKyBiL3hwY29tX3N0YXRz
LmgKQEAgLTQxLDkgKzQxLDggQEAgdHlwZWRlZiBlbnVtIHsKIAlDYWxsX0ZVTkMsCiAJTlNfMUdl
dENvbXBvbmVudE1hbmFnZXJfRlVOQywKIAlOU18xR2V0U2VydmljZU1hbmFnZXJfRlVOQywKLQlO
U18xSW5pdEVtYmVkZGluZ19GVU5DLAorCU5TXzFJbml0WFBDT00zX0ZVTkMsCiAJTlNfMU5ld0xv
Y2FsRmlsZV9GVU5DLAotCU5TXzFUZXJtRW1iZWRkaW5nX0ZVTkMsCiAJUFJfMUZyZWVfRlVOQywK
IAlQUl8xTWFsbG9jX0ZVTkMsCiAJVnRibENhbGxfX0lKX0ZVTkMsCg==
</data>        

          </attachment>
    </bug>

</bugzilla>