<?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>61528</bug_id>
          
          <creation_ts>2004-08-24 09:35 0000</creation_ts>
          <short_desc>media-libs/faad2-2.0-r2.ebuild marked stable, broken</short_desc>
          <delta_ts>2005-12-19 09:14:13 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>Library</component>
          <version>unspecified</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>tsm@accesscomm.ca</reporter>
          <assigned_to>amd64@gentoo.org</assigned_to>
          <cc>qa@gentoo.org</cc>
    
    <cc>sound@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2004-08-24 09:35:05 0000</bug_when>
            <thetext>This package is marked stable under amd64 despite the niggling little detail of it not actually working.  It compiles and installs but cannot decode m4a&apos;s.

Reproducible: Always
Steps to Reproduce:
1. emerge /usr/portage/media-libs/faad2/faad2-2.0-r2.ebuild
2. Try and play an m4a in xmms
3. &quot;!$^&amp;*, it doesn&apos;t work!&quot;

Actual Results:  
It cannot play m4a&apos;s, giving the error anyone who&apos;s ever tried faad2 under amd64
recognizes and loathes:  &quot;MP4:  Pulse coding not allowed in short blocks&quot;.

Expected Results:  
It ought to be able to understand m4a files.

Portage 2.0.50-r9 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.4.20040808-r0,
2.6.4-gentoo-r1)
=================================================================
System uname: 2.6.4-gentoo-r1 x86_64 5
Gentoo Base System version 1.5.1
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS=&quot;amd64 ~amd64&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-O2 -pipe&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
COMPILER=&quot;gcc3&quot;
CONFIG_PROTECT=&quot;/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs ccache&quot;
GENTOO_MIRRORS=&quot;http://mirrors.tds.net/gentoo ftp://mirrors.tds.net/gentoo
ftp://ftp.ndlug.nd.edu/pub/gentoo/&quot;
MAKEOPTS=&quot;-j3&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage/&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;X aalib alsa amd64 apm arts avi berkdb cdr crypt cups dvd encode esd
foomaticdb gdbm ggi gif gnome gpm gtk gtk2 guile imlib jpeg kde libg++ libwww
mikmod motif mozilla mpeg multilib mysql ncurses nls nogcj oggvorbis opengl oss
pam pdflib perl png ppds python qt quicktime readline scanner sdl slang spell
ssl tcltk tcpd truetype usb xml2 xmms xv zlib&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2004-09-23 11:06:27 0000</bug_when>
            <thetext>It&apos;s been a month, and faad2 is still broken.  Call me a purist, but I don&apos;t think well-known borked packages deserve to be flagged &apos;stable&apos; just because they compile.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jwl87@comcast.net</who>
            <bug_when>2005-01-03 16:47:57 0000</bug_when>
            <thetext>Yep..this problem still exists despite the patches
this is the original now closed bug
http://bugs.gentoo.org/show_bug.cgi?id=58780</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-01-04 08:04:01 0000</bug_when>
            <thetext>It&apos;s a whole new year, and this broken package is still marked as &quot;stable&quot;.  I admit it does not crash, but it is completely useless under amd64 for it&apos;s stated function of decoding MPEG-4 and MPEG-2 audio files.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>blubb@gentoo.org</who>
            <bug_when>2005-01-04 09:04:41 0000</bug_when>
            <thetext>well, it&apos;s also used to make mplayer play mpeg4 video files, and that works fine. could you provide an example m4a file so we can test it? i don&apos;t have such a file</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-01-04 16:53:44 0000</bug_when>
            <thetext>Here&apos;s a sample audio file that doesn&apos;t play properly:  http://burningsmell.org/crash_powermac_lc.m4a

mp4 video seemingly works, but mp4 audio is broken.  Most of the time they&apos;re rendered as pure silence, sometimes clicks, and once in a blue moon mplayer plays them properly, but xmms never works, and this audio file in particular doesn&apos;t work under either.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jwl87@comcast.net</who>
            <bug_when>2005-01-04 17:25:46 0000</bug_when>
            <thetext>I can confirm that the above file will decode properly with an x86 compiled version of faad2. 

It also will NOT decode properly with a amd64 compiled version of faad2. It will the produce the same 

&quot;Error: Pulse coding not allowed in short blocks
Error: Pulse coding not allowed in short blocks
Error: Pulse coding not allowed in short blocks
Segmentation fault&quot;
that has been refrenced before. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jwl87@comcast.net</who>
            <bug_when>2005-01-04 20:40:20 0000</bug_when>
            <thetext>just did some more scrounging....the latest CVS of faad2 is fixed and decodes perfectly for amd64 
the xmms plugin however does not build </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-01-31 20:41:17 0000</bug_when>
            <thetext>Finally got to the root of this obnoxious bug!

It seems faad2 has two different headers.  There&apos;s the ones it uses internally, which are strictly defined as 32-bit everything;  then there&apos;s the one it installs in the system which have longs all over the place, which of course become 64-bit under amd64.

So faad2 itself was working, but anything linking to faad2 would call these 32-bit functions with 64-bit types. This led to all kinds of miscellaneous hilarity, like the XMMS plugin failing with faad&apos;s &apos;pulse coding not allowed in short blocks&apos; error code when faad was actually returning success!  It also had some ugliness where it didn&apos;t define headers for some functions and didn&apos;t #include &lt;string.h&gt; -- which of course the linker can fix for the programmer under a 32-bit system, but breaks horribly under 64-bit.

After posting this I&apos;ll attach a patch that applies directly to faad2-2.0.tar.gz.  It allows faad2 to compile and work(as long as you fix the broken makefile ./bootstrap and ./configure produce, but I think that&apos;s covered by other patches).  It&apos;s been able to play every mp4 on my system flawlessly, and has been 100% stable so far.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-01-31 20:42:34 0000</bug_when>
            <thetext>Created an attachment (id=50096)
amd64 patch for faad2&apos;s inconsistent headers and misc nastiness
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jwl87@comcast.net</who>
            <bug_when>2005-03-13 11:06:22 0000</bug_when>
            <thetext>This patch works for me.
Thanks</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-03-25 15:54:10 0000</bug_when>
            <thetext>created a combined patch from the noext and your patch, otherwise it didn&apos;t work. i&apos;ve added this patch to the tree, -r5 applies it. thanks for your effort.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>simon@koala.ie</who>
            <bug_when>2005-04-06 06:33:44 0000</bug_when>
            <thetext>i&apos;m trying to use faad2 on x86 and these amd64 changes have changed the API in an incompatible way. mythmusic will not compile against it:

aacdecoder.cpp: In member function `bool aacDecoder::initializeMP4()&apos;:
aacdecoder.cpp:298: error: invalid conversion from `long unsigned int*&apos; to `
   unsigned int*&apos;

can these changes me made specific to the amd64?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2005-04-06 06:44:02 0000</bug_when>
            <thetext>They are legit also on x86, the changes needs to be done upstream and the apps which relies on the old behaviour should be fixed.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-05-05 04:39:55 0000</bug_when>
            <thetext>reopening, other programs which rely on the old behaviour dont like the patch. removing...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-06 08:39:18 0000</bug_when>
            <thetext>We NEED that patch, or something like it.  Things will not work without it under
amd64 because the old behavior is flagrantly wrong.  I&apos;ll try and make a less
bothersome patch but some breakage might be inevitable -- it was always broken,
the compiler just didn&apos;t know it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-05-06 10:14:56 0000</bug_when>
            <thetext>the problem is that upstream has to accept these changes, i&apos;ll keep bugging them. i&apos;ve send the patch upstream and commited it on the same day. other projects which rely up on the old (bad or broken) behaviour have to change their programs, too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-06 11:25:53 0000</bug_when>
            <thetext>Was there a change in policy recently?  It&apos;s a hell of a lot harder to get 
and keep fixes in portage than it used to be.  A *year* without any official
releases is more than enough justification for including our own patches imho.

Anyway I hope you&apos;ll like this one better, since it doesn&apos;t break compilation
of anything -- the installed header is not modified.  The patch and ebuild
(which I&apos;ll attach shortly) build a working xmms plugin etc, and apply all
the r4 patches as well as the amd64 one.  I&apos;ve tested it in my portage overlay.

Any linking on vanilla x86 wouldn&apos;t break since there&apos;s no effective difference
between an int and a long there.  Anyone that built r5 on amd64 would need to
rebuild things that linked to faad unfortunately.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-05-06 11:30:35 0000</bug_when>
            <thetext>it&apos;s wasnt taken out of the tree because of a policy. the problem is that the patch changes the api, even though this change is needed and sane. other programs, atleast 2 which are actually in the tree break due to this patch. I&apos;ve removed it temporaly until i get the change to talk to upstream. foser, or better another user who talked to foser, pointed me to this fact. it really seems that upstream is dead or inactive, something has to be done. i will try to get this issue fixed next week.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-06 11:30:52 0000</bug_when>
            <thetext>Created an attachment (id=58217)
improved amd64 faad2 patch

Modifies faad&apos;s internal headers instead of the external ones so as to not
break compilation of anything depending on faad.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-06 11:32:13 0000</bug_when>
            <thetext>Created an attachment (id=58218)
ebuild using amd64 patch
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2005-05-10 05:14:32 0000</bug_when>
            <thetext>That patch is bogus. The redefinition of uintX_t isn&apos;t working as the logic is wrong, and anyway stdint.h takes care of defining them correctly depeding on arch.

Removing references to standard ints is not good at all. They are used to avoid size misunderstanding.

That can&apos;t be applied, sorry.

The right way is to change the public api and fix the apps accordling. Avidemux is already fixed, both mplayer and xine-lib uses internal copies.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-10 09:34:26 0000</bug_when>
            <thetext>&gt; That patch is bogus. The redefinition of uintX_t isn&apos;t working as the logic
&gt; is wrong, and anyway stdint.h takes care of defining them correctly depeding
&gt; on arch.
If the logic is wrong, how about telling me *how* it&apos;s wrong so I don&apos;t make
that mistake again?  Works perfectly for me.  I know perfectly well those types
won&apos;t be used unless it can&apos;t find stdint.h but I put them there to be
thorough.  As for stdint.h &quot;properly defining the integer types&quot;, it sure does,
but faad2 fails to use them for the external library interface!  Lot of good
that does.

&gt; Removing references to standard ints is not good at all. They are used to
&gt; avoid size misunderstanding.
HAHAHAHAHAHA! XD  &apos;avoid size misunderstanding&apos;.  That&apos;s what you call a year+
of muddling around with &quot;Pulse coding not allowed in short blocks&quot; errors
when faad2 was actually returning SUCCESS but the interfaces were so mangled
we never knew it.  The actual bits that NEED specific integer sizes are all
internal, confusion is caused by USING those types internally because the
external header does NOT.  Anyway we already tried that solution with R5 and it
was summarily rejected.

Granted the way faad2 handles these interfaces is ugly -- why can&apos;t it just
use the same damn header for both? :( -- but unless you feel like completely
rewriting faad to unify the internal and external headers, we have to work with
what we have.

Let me suggest a compromise:

Bring back R5, or R7 now I guess, but *mask it* for anything but amd64 and
ppc64.  I&apos;ll submit a improved improved patch for it that uses the holy standard
integer types.  We can likewise mask fixes for for whatever R5 breaks,
additionally adding a &gt;=faad-2.0r7 dependency in them.  Then once we&apos;ve got
most everything working with R7, THEN we unmask all those for x86 and the like.
amd64ers get what we want, a working faad2.  x86ers get what they want, a
working faad2 and working libs with it.

We&apos;ll have to work quickly so we don&apos;t block new versions of things that use
faad, but I am completely willing to *personally* do all the patchwork fixes if
anyone will tell me what things R5 broke.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-05-10 10:20:04 0000</bug_when>
            <thetext>Created an attachment (id=58582)
improved improved amd64 faad2 patch

Uses standard integer types in faad.h to match faad&apos;s internal headers.
Replacement for previous patch, works properly with ebuild above</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tester@gentoo.org</who>
            <bug_when>2005-05-11 18:31:10 0000</bug_when>
            <thetext>This patch seems ok to me.. I tested it on amd64 and x86 .. but I think its only necessary to play around with the long... bug I guess the others can&apos;t hurt (until the next version).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tester@gentoo.org</who>
            <bug_when>2005-05-12 16:44:08 0000</bug_when>
            <thetext>alright, no one complains so I put it back in (into -r6)... blame me if it breaks again</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>foser@gentoo.org</who>
            <bug_when>2005-06-03 14:07:42 0000</bug_when>
            <thetext>this patch got removed in -r7 because it breaks (and putting the patch in -r6
without revbump caused even more headaches), fresh suggestions would be appreciated.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2005-06-03 14:19:33 0000</bug_when>
            <thetext>(removing myself from cc, I already receive this through amd64@g.o) 
 
The most of headaches is when the patch is added and then removed and then  
readded. 
I think the patch currently in -r7 (and added in -r6) is good enough, *but* we  
must stop adding and removing it and just fix the broken apps. I can fix the  
ones in video/sound, but we must find a stable API for the next versions. 
 
By the way, currently upstream seams quite dead or at least doesn&apos;t care too  
much from users; xine-lib devs seems also in trouble with its license. So 
whichever decision we&apos;ll make, should be quite safe for now that no new faad2 
version will come up. 
 </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tester@gentoo.org</who>
            <bug_when>2005-06-03 14:30:25 0000</bug_when>
            <thetext>Which apps does the current patch break? I&apos;ll see if I can fix them..</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ensonic@sonicpulse.de</who>
            <bug_when>2005-06-13 07:19:15 0000</bug_when>
            <thetext>it breaks the fadd plugin in gstreamer, I don&apos;t se how this can bee fixed
without a upstream release of fadd2. The gst-plugin can&apos;t be changed as then it
won&apos;t build elsewhere.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsm@accesscomm.ca</who>
            <bug_when>2005-06-14 08:31:01 0000</bug_when>
            <thetext>I&apos;m not following you.  Where won&apos;t it build if we don&apos;t leave it broken?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>joek@pckconsult.com</who>
            <bug_when>2005-06-20 22:32:14 0000</bug_when>
            <thetext>Chalk up media-video/vlc as another package that doesn&apos;t seem to like the 
patched faad2.  When playing an h264/aac mp4 file, the video plays properly, 
but the sound comes out sounding with a horrible static sound. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>swegener@gentoo.org</who>
            <bug_when>2005-07-12 17:15:08 0000</bug_when>
            <thetext>ok, this has been open for quite some time. faad2 is broken on amd64 and needs
fixing to work correctly. taking the patch in and out doesn&apos;t solve the issue.
upstream seems to be dead and we have devs willing to patch packages using faad2
to work with the changed api.

plan: put in a new package.mask&apos;ed revision of faad2 including the patch and
have all current ebuilds using the old faad2 api depend on below this new
revision. then our devs can start to patch packages and have them depend on at
least the fixed revision of faad2. if you commit them to the tree, they need
to be package.mask&apos;ed too to not cause broken deps. if you unmask the new faad2
ebuild please make sure that every package using it also gets unmasked and that
a new patched revision is available, else portage might do the upgrade and
downgrade thing because of dependencies not sharing common matches. add a
postinst message to the new faad2 ebuilds that the api has changed and that
users need to update all packages that use faad2.

how does that sound?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2005-12-19 01:59:19 0000</bug_when>
            <thetext>faad2 took over by sound herd, the patch is in place, I think the problem is solved now.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50096</attachid>
            <date>2005-01-31 20:42 0000</date>
            <desc>amd64 patch for faad2&apos;s inconsistent headers and misc nastiness</desc>
            <filename>faad2-amd64.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdSAtciBmYWFkMi9pbmNsdWRlL2ZhYWQuaCBmYWFkMi1maXgvaW5jbHVkZS9mYWFkLmgK
LS0tIGZhYWQyL2luY2x1ZGUvZmFhZC5oCTIwMDQtMDItMDYgMDQ6MjM6MjguMDAwMDAwMDAwIC0w
NjAwCisrKyBmYWFkMi1maXgvaW5jbHVkZS9mYWFkLmgJMjAwNS0wMS0zMSAyMjowOTo0Ny42Nzk5
MDQzMDQgLTA2MDAKQEAgLTExNCw3ICsxMTQsNyBAQAogICAgIC8qIEF1ZGlvIFNwZWNpZmljIElu
Zm8gKi8KICAgICB1bnNpZ25lZCBjaGFyIG9iamVjdFR5cGVJbmRleDsKICAgICB1bnNpZ25lZCBj
aGFyIHNhbXBsaW5nRnJlcXVlbmN5SW5kZXg7Ci0gICAgdW5zaWduZWQgbG9uZyBzYW1wbGluZ0Zy
ZXF1ZW5jeTsKKyAgICB1bnNpZ25lZCBpbnQgc2FtcGxpbmdGcmVxdWVuY3k7CiAgICAgdW5zaWdu
ZWQgY2hhciBjaGFubmVsc0NvbmZpZ3VyYXRpb247CiAKICAgICAvKiBHQSBTcGVjaWZpYyBJbmZv
ICovCkBAIC0xMzQsNyArMTM0LDcgQEAKIHR5cGVkZWYgc3RydWN0IGZhYWNEZWNDb25maWd1cmF0
aW9uCiB7CiAgICAgdW5zaWduZWQgY2hhciBkZWZPYmplY3RUeXBlOwotICAgIHVuc2lnbmVkIGxv
bmcgZGVmU2FtcGxlUmF0ZTsKKyAgICB1bnNpZ25lZCBpbnQgZGVmU2FtcGxlUmF0ZTsKICAgICB1
bnNpZ25lZCBjaGFyIG91dHB1dEZvcm1hdDsKICAgICB1bnNpZ25lZCBjaGFyIGRvd25NYXRyaXg7
CiAgICAgdW5zaWduZWQgY2hhciB1c2VPbGRBRFRTRm9ybWF0OwpAQCAtMTQzLDExICsxNDMsMTEg
QEAKIAogdHlwZWRlZiBzdHJ1Y3QgZmFhY0RlY0ZyYW1lSW5mbwogewotICAgIHVuc2lnbmVkIGxv
bmcgYnl0ZXNjb25zdW1lZDsKLSAgICB1bnNpZ25lZCBsb25nIHNhbXBsZXM7CisgICAgdW5zaWdu
ZWQgaW50IGJ5dGVzY29uc3VtZWQ7CisgICAgdW5zaWduZWQgaW50IHNhbXBsZXM7CiAgICAgdW5z
aWduZWQgY2hhciBjaGFubmVsczsKICAgICB1bnNpZ25lZCBjaGFyIGVycm9yOwotICAgIHVuc2ln
bmVkIGxvbmcgc2FtcGxlcmF0ZTsKKyAgICB1bnNpZ25lZCBpbnQgc2FtcGxlcmF0ZTsKIAogICAg
IC8qIFNCUjogMDogb2ZmLCAxOiBvbjsgdXBzYW1wbGUsIDI6IG9uOyBkb3duc2FtcGxlZCwgMzog
b2ZmOyB1cHNhbXBsZWQgKi8KICAgICB1bnNpZ25lZCBjaGFyIHNicjsKQEAgLTE2OCw3ICsxNjgs
NyBAQAogCiBjaGFyKiBGQUFEQVBJIGZhYWNEZWNHZXRFcnJvck1lc3NhZ2UodW5zaWduZWQgY2hh
ciBlcnJjb2RlKTsKIAotdW5zaWduZWQgbG9uZyBGQUFEQVBJIGZhYWNEZWNHZXRDYXBhYmlsaXRp
ZXModm9pZCk7Cit1bnNpZ25lZCBpbnQgRkFBREFQSSBmYWFjRGVjR2V0Q2FwYWJpbGl0aWVzKHZv
aWQpOwogCiBmYWFjRGVjSGFuZGxlIEZBQURBUEkgZmFhY0RlY09wZW4odm9pZCk7CiAKQEAgLTE3
OCwzMiArMTc4LDMyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWFj
RGVjQ29uZmlndXJhdGlvblB0ciBjb25maWcpOwogCiAvKiBJbml0IHRoZSBsaWJyYXJ5IGJhc2Vk
IG9uIGluZm8gZnJvbSB0aGUgQUFDIGZpbGUgKEFEVFMvQURJRikgKi8KLWxvbmcgRkFBREFQSSBm
YWFjRGVjSW5pdChmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLAoraW50IEZBQURBUEkgZmFhY0RlY0lu
aXQoZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg
YnVmZmVyX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpzYW1w
bGVyYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGJ1ZmZlcl9zaXpl
LAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpzYW1wbGVyYXRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqY2hhbm5lbHMpOwogCiAvKiBJbml0
IHRoZSBsaWJyYXJ5IHVzaW5nIGEgRGVjb2RlclNwZWNpZmljSW5mbyAqLwogY2hhciBGQUFEQVBJ
IGZhYWNEZWNJbml0MihmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLCB1bnNpZ25lZCBjaGFyICpwQnVm
ZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgU2l6ZU9mRGVjb2Rl
clNwZWNpZmljSW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpz
YW1wbGVyYXRlLCB1bnNpZ25lZCBjaGFyICpjaGFubmVscyk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IFNpemVPZkRlY29kZXJTcGVjaWZpY0luZm8sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpzYW1wbGVyYXRlLCB1bnNpZ25lZCBjaGFyICpj
aGFubmVscyk7CiAKIC8qIEluaXQgdGhlIGxpYnJhcnkgZm9yIERSTSAqLwotY2hhciBGQUFEQVBJ
IGZhYWNEZWNJbml0RFJNKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVuc2lnbmVkIGxvbmcgc2Ft
cGxlcmF0ZSwKK2NoYXIgRkFBREFQSSBmYWFjRGVjSW5pdERSTShmYWFjRGVjSGFuZGxlIGhEZWNv
ZGVyLCB1bnNpZ25lZCBpbnQgc2FtcGxlcmF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyIGNoYW5uZWxzKTsKIAotdm9pZCBGQUFEQVBJIGZhYWNEZWNQb3N0U2Vl
a1Jlc2V0KGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIGxvbmcgZnJhbWUpOwordm9pZCBGQUFEQVBJ
IGZhYWNEZWNQb3N0U2Vla1Jlc2V0KGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIGludCBmcmFtZSk7
CiAKIHZvaWQgRkFBREFQSSBmYWFjRGVjQ2xvc2UoZmFhY0RlY0hhbmRsZSBoRGVjb2Rlcik7CiAK
IHZvaWQqIEZBQURBUEkgZmFhY0RlY0RlY29kZShmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZhYWNEZWNGcmFtZUluZm8gKmhJbmZvLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnVmZmVyX3NpemUpOwogCiBjaGFyIEZBQURB
UEkgQXVkaW9TcGVjaWZpY0NvbmZpZyh1bnNpZ25lZCBjaGFyICpwQnVmZmVyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBidWZmZXJfc2l6ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBidWZmZXJfc2l6ZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1wNEF1ZGlvU3BlY2lmaWNDb25maWcgKm1w
NEFTQyk7CiAKICNpZmRlZiBfV0lOMzIKZGlmZiAtdSAtciBmYWFkMi9saWJmYWFkL2NvbW1vbi5o
IGZhYWQyLWZpeC9saWJmYWFkL2NvbW1vbi5oCi0tLSBmYWFkMi9saWJmYWFkL2NvbW1vbi5oCTIw
MDQtMDItMDYgMDY6NTU6MjQuMDAwMDAwMDAwIC0wNjAwCisrKyBmYWFkMi1maXgvbGliZmFhZC9j
b21tb24uaAkyMDA1LTAxLTMxIDIyOjI2OjM2Ljg5NTQ4MDIxNiAtMDYwMApAQCAtMTkzLDEyICsx
OTMsMjYgQEAKICMgaW5jbHVkZSA8c3RyaW5ncy5oPgogI2VuZGlmCiAjaWYgSEFWRV9JTlRUWVBF
U19ICisjd2FybmluZyAiVXNpbmcgSEFWRV9JTlRUWVBFU19IIgogIyBpbmNsdWRlIDxpbnR0eXBl
cy5oPgogI2Vsc2UKICMgaWYgSEFWRV9TVERJTlRfSAorI3dhcm5pbmcgIlVzaW5nIEhBVkVfU1RE
SU5UX0giCiAjICBpbmNsdWRlIDxzdGRpbnQuaD4KICMgZWxzZQogLyogd2UgbmVlZCB0aGVzZS4u
LiAqLworI2lmZGVmIF9feDg2XzY0X18KKyN3YXJuaW5nICJVc2luZyBBTUQ2NCBkZWZpbml0aW9u
cyIKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyB1aW50NjRfdDsKK3R5cGVkZWYgdW5zaWduZWQgaW50
ICB1aW50MzJfdDsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgdWludDE2X3Q7Cit0eXBlZGVmIHVu
c2lnbmVkIGNoYXIgdWludDhfdDsKK3R5cGVkZWYgbG9uZyBpbnQ2NF90OwordHlwZWRlZiBpbnQg
aW50MzJfdDsKK3R5cGVkZWYgc2hvcnQgaW50MTZfdDsKK3R5cGVkZWYgY2hhciBpbnQ4X3Q7Cisj
ZWxzZQorI3dhcm5pbmcgIlVzaW5nIDMyLWJpdCBkZWZpbml0aW9ucyIKIHR5cGVkZWYgdW5zaWdu
ZWQgbG9uZyBsb25nIHVpbnQ2NF90OwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIHVpbnQzMl90Owog
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1aW50MTZfdDsKQEAgLTIwNyw2ICsyMjEsNyBAQAogdHlw
ZWRlZiBsb25nIGludDMyX3Q7CiB0eXBlZGVmIHNob3J0IGludDE2X3Q7CiB0eXBlZGVmIGNoYXIg
aW50OF90OworI2VuZGlmCiAjIGVuZGlmCiAjZW5kaWYKICNpZiBIQVZFX1VOSVNURF9ICmRpZmYg
LXUgLXIgZmFhZDIvcGx1Z2lucy9tcGVnNGlwL2FhX2ZpbGUuY3BwIGZhYWQyLWZpeC9wbHVnaW5z
L21wZWc0aXAvYWFfZmlsZS5jcHAKLS0tIGZhYWQyL3BsdWdpbnMvbXBlZzRpcC9hYV9maWxlLmNw
cAkyMDA0LTAxLTA1IDA4OjA1OjEyLjAwMDAwMDAwMCAtMDYwMAorKysgZmFhZDItZml4L3BsdWdp
bnMvbXBlZzRpcC9hYV9maWxlLmNwcAkyMDA1LTAxLTMxIDIyOjEzOjU0LjgwNjMzNTM3NiAtMDYw
MApAQCAtMjIsNiArMjIsOCBAQAogICogYWFfZmlsZS5jcHAgLSBjcmVhdGUgbWVkaWEgc3RydWN0
dXJlIGZvciBhYWMgZmlsZXMKICAqLwogCisjZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKKyNp
bmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlICJmYWFkMi5oIgogY29kZWNfZGF0YV90ICphYWNf
ZmlsZV9jaGVjayAobGliX21lc3NhZ2VfZnVuY190IG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAg
ICBjb25zdCBjaGFyICpuYW1lLApAQCAtNTYsNyArNTgsNyBAQAogICAgICAgICAgICAgICAgICBh
YWMtPm1fYnVmZmVyX3NpemVfbWF4LAogICAgICAgICAgICAgICAgICBhYWMtPm1faWZpbGUpOwog
Ci0gIHVuc2lnbmVkIGxvbmcgZnJlcTsKKyAgdW5zaWduZWQgaW50IGZyZXE7CiAgIHVuc2lnbmVk
IGNoYXIgY2hhbnM7CiAKICAgZmFhY0RlY0luaXQoYWFjLT5tX2luZm8sICh1bnNpZ25lZCBjaGFy
ICopYWFjLT5tX2J1ZmZlciwKZGlmZiAtdSAtciBmYWFkMi9wbHVnaW5zL21wZWc0aXAvZmFhZDIu
Y3BwIGZhYWQyLWZpeC9wbHVnaW5zL21wZWc0aXAvZmFhZDIuY3BwCi0tLSBmYWFkMi9wbHVnaW5z
L21wZWc0aXAvZmFhZDIuY3BwCTIwMDQtMDEtMDUgMDg6MDU6MTIuMDAwMDAwMDAwIC0wNjAwCisr
KyBmYWFkMi1maXgvcGx1Z2lucy9tcGVnNGlwL2ZhYWQyLmNwcAkyMDA1LTAxLTMxIDIyOjEzOjQx
LjE2OTQwODUwNCAtMDYwMApAQCAtMTgsNiArMTgsMTMgQEAKICoqCiAqKiAkSWQ6IGZhYWQyLmNw
cCx2IDEuMiAyMDA0LzAxLzA1IDE0OjA1OjEyIG1lbm5vIEV4cCAkCiAqKi8KKyNkZWZpbmUgX19T
VERDX0xJTUlUX01BQ1JPUworI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZuZGVmIFVJTlQzMl9N
QVgKKyNlcnJvciAic3RkaW50LmggZGlkbid0IGRlZmluZSBVSU5UMzJfTUFYLCB3dGY/IgorI2Vu
ZGlmCisKICNpbmNsdWRlICJmYWFkMi5oIgogI2luY2x1ZGUgPG1wZWc0X2F1ZGlvX2NvbmZpZy5o
PgogI2luY2x1ZGUgPG1wZWc0X3NkcC5oPgpAQCAtNzYsNyArODMsNyBAQAogICB9CiAKICAgYWFj
LT5tX2luZm8gPSBmYWFjRGVjT3BlbigpOwotICB1bnNpZ25lZCBsb25nIHNyYXRlOworICB1bnNp
Z25lZCBpbnQgc3JhdGU7CiAgIHVuc2lnbmVkIGNoYXIgY2hhbjsKICAgaWYgKCh1c2VyZGF0YSA9
PSBOVUxMICYmIGZtdHAgPT0gTlVMTCkgfHwKICAgICAgIChmYWFjRGVjSW5pdDIoYWFjLT5tX2lu
Zm8sCkBAIC0xNTYsNyArMTYzLDcgQEAKICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJkYXRhKQog
ewogICBhYWNfY29kZWNfdCAqYWFjID0gKGFhY19jb2RlY190ICopcHRyOwotICB1bnNpZ25lZCBs
b25nIGJ5dGVzX2NvbnN1bW1lZDsKKyAgdW5zaWduZWQgaW50IGJ5dGVzX2NvbnN1bW1lZDsKICAg
aW50IGJpdHMgPSAtMTsKICAgLy8gIHN0cnVjdCB0aW1lem9uZSB0ejsKIApAQCAtMTg4LDcgKzE5
NSw3IEBACiAgICAgICogSWYgbm90IGluaXRpYWxpemVkLCBkbyBzby4KICAgICAgKi8KICAgICBh
Ym9ydCgpOwotICAgIHVuc2lnbmVkIGxvbmcgZnJlcTsKKyAgICB1bnNpZ25lZCBpbnQgZnJlcTsK
ICAgICB1bnNpZ25lZCBjaGFyIGNoYW5zOwogCiAgICAgZmFhY0RlY0luaXQoYWFjLT5tX2luZm8s
CkBAIC0yMDIsNyArMjA5LDcgQEAKICAgfQogCiAgIHVpbnQ4X3QgKmJ1ZmY7Ci0gIHVuc2lnbmVk
IGxvbmcgc2FtcGxlczsKKyAgdW5zaWduZWQgaW50IHNhbXBsZXM7CiAgIGJ5dGVzX2NvbnN1bW1l
ZCA9IGJ1ZmxlbjsKICAgLy9hYV9tZXNzYWdlKExPR19ERUJVRywgYWFjbGliLCAiZGVjb2Rpbmcg
JWQgYml0cyIsIGJ1ZmxlbiAqIDgpOwogICBmYWFjRGVjRnJhbWVJbmZvIGZyYW1lX2luZm87CkBA
IC0yMzcsNyArMjQ0LDcgQEAKICAgICAgIGFhYy0+bV92ZnQtPmF1ZGlvX2NvbmZpZ3VyZShhYWMt
Pm1faWZwdHIsCiAgICAgICAgICAgICAgICAgICBhYWMtPm1fZnJlcSwKICAgICAgICAgICAgICAg
ICAgIGFhYy0+bV9jaGFucywKLSAgICAgICAgICAgICAgICAgIEFVRElPX1MxNlNZUywKKyAgICAg
ICAgICAgICAgICAgIEFVRElPX0ZNVF9TMTYsCiAgICAgICAgICAgICAgICAgICBhYWMtPm1fb3V0
cHV0X2ZyYW1lX3NpemUpOwogICAgICAgdWludDhfdCAqbm93ID0gYWFjLT5tX3ZmdC0+YXVkaW9f
Z2V0X2J1ZmZlcihhYWMtPm1faWZwdHIpOwogICAgICAgYWFjLT5tX2F1ZGlvX2luaXRlZCA9IDE7
CmRpZmYgLXUgLXIgZmFhZDIvcGx1Z2lucy94bW1zL3NyYy9saWJtcDQuYyBmYWFkMi1maXgvcGx1
Z2lucy94bW1zL3NyYy9saWJtcDQuYwotLS0gZmFhZDIvcGx1Z2lucy94bW1zL3NyYy9saWJtcDQu
YwkyMDAzLTEyLTAzIDEyOjM3OjU2LjAwMDAwMDAwMCAtMDYwMAorKysgZmFhZDItZml4L3BsdWdp
bnMveG1tcy9zcmMvbGlibXA0LmMJMjAwNS0wMS0zMSAyMjowNDo0OS4wNTgzMDE2ODggLTA2MDAK
QEAgLTIyLDYgKzIyLDEwIEBACiAjZGVmaW5lIE1QNF9BQk9VVAkiV3JpdHRlbiBieSBjaWJlcmZy
ZWQiCiAjZGVmaW5lIEJVRkZFUl9TSVpFCUZBQURfTUlOX1NUUkVBTVNJWkUqNjQKIAordm9pZCBn
ZXRNUDRpbmZvKGNoYXIqIGZpbGUpOworaW50ICBnZXRBQUNUcmFjayhNUDRGaWxlSGFuZGxlIGZp
bGUpOworCisKIHN0YXRpYyB2b2lkCW1wNF9pbml0KHZvaWQpOwogc3RhdGljIHZvaWQJbXA0X2Fi
b3V0KHZvaWQpOwogc3RhdGljIHZvaWQJbXA0X3BsYXkoY2hhciAqKTsKQEAgLTExMiwxMSArMTE2
LDExIEBACiAgICAgZ2NoYXIqCWV4dGVudGlvbjsKIAogICAgIGV4dGVudGlvbiA9IHN0cnJjaHIo
ZmlsZW5hbWUsICcuJyk7Ci0gICAgaWYgKGV4dGVudGlvbiAmJgorICAgIGlmIChleHRlbnRpb24g
JiYoCiAJIXN0cmNhc2VjbXAoZXh0ZW50aW9uLCAiLm1wNCIpIHx8CS8vIG9mZmljaWFsIGV4dGVu
dGlvbgogCSFzdHJjYXNlY21wKGV4dGVudGlvbiwgIi5tNGEiKSB8fAkvLyBBcHBsZSBtcDQgZXh0
ZW50aW9uCiAJIXN0cmNhc2VjbXAoZXh0ZW50aW9uLCAiLmFhYyIpCQkvLyBvbGQgTVBFRzIvNC1B
QUMgZXh0ZW50aW9uCi0JKXsKKwkpKXsKICAgICAgIHJldHVybiAoMSk7CiAgICAgfQogICB9CkBA
IC0yMDIsMTEgKzIwNiwxMSBAQAogICAgICAgZmFhY0RlY0hhbmRsZQlkZWNvZGVyOwogICAgICAg
dW5zaWduZWQgY2hhcgkqYnVmZmVyCT0gTlVMTDsKICAgICAgIGd1aW50CQlidWZmZXJTaXplID0g
MDsKLSAgICAgIGd1bG9uZwkJc2FtcGxlcmF0ZTsKKyAgICAgIGd1aW50CQlzYW1wbGVyYXRlOwog
ICAgICAgZ3VjaGFyCQljaGFubmVsczsKICAgICAgIGd1aW50CQlhdmdCaXRyYXRlOwogICAgICAg
TVA0RHVyYXRpb24JZHVyYXRpb247Ci0gICAgICBndWxvbmcJCW1zRHVyYXRpb247CisgICAgICBn
dWludAkJbXNEdXJhdGlvbjsKICAgICAgIE1QNFNhbXBsZUlkCW51bVNhbXBsZXM7CiAgICAgICBN
UDRTYW1wbGVJZAlzYW1wbGVJRCA9IDE7CiAKQEAgLTMyOSwxMCArMzMzLDEwIEBACiAgICAgRklM
RQkJKmZpbGUgPSBOVUxMOwogICAgIGZhYWNEZWNIYW5kbGUJZGVjb2RlciA9IDA7CiAgICAgZ3Vj
aGFyCQkqYnVmZmVyID0gMDsKLSAgICBndWxvbmcJCWJ1ZmZlcmNvbnN1bWVkID0gMDsKLSAgICBn
dWxvbmcJCXNhbXBsZXJhdGUgPSAwOworICAgIGd1aW50CQlidWZmZXJjb25zdW1lZCA9IDA7Cisg
ICAgZ3VpbnQJCXNhbXBsZXJhdGUgPSAwOwogICAgIGd1Y2hhcgkJY2hhbm5lbHM7Ci0gICAgZ3Vs
b25nCQlidWZmZXJ2YWxpZCA9IDA7CisgICAgZ3VpbnQJCWJ1ZmZlcnZhbGlkID0gMDsKICAgICBU
aXRsZUlucHV0KgkJaW5wdXQ7CiAgICAgZ2NoYXIJCSp0ZW1wID0gZ19zdHJkdXAoYXJncyk7CiAg
ICAgZ2NoYXIJCSpleHQgID0gc3RycmNocih0ZW1wLCAnLicpOwpAQCAtNDI0LDcgKzQyOCw3IEBA
CiAKICAgICB3aGlsZShiUGxheWluZyAmJiBidWZmZXJ2YWxpZCA+IDApewogICAgICAgZmFhY0Rl
Y0ZyYW1lSW5mbwlmaW5mbzsKLSAgICAgIHVuc2lnbmVkIGxvbmcJc2FtcGxlc2RlY29kZWQ7Cisg
ICAgICB1bnNpZ25lZCBpbnQJc2FtcGxlc2RlY29kZWQ7CiAgICAgICBjaGFyKgkJc2FtcGxlX2J1
ZmZlciA9IE5VTEw7CiAgICAgICAvKgogCWlmKGJTZWVrICYmIHNlZWtQb3NpdGlvbiE9LTEpewo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58217</attachid>
            <date>2005-05-06 11:30 0000</date>
            <desc>improved amd64 faad2 patch</desc>
            <filename>faad2-2.0-amd64.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdSAtciAuL2xpYmZhYWQvY29tbW9uLmggLi4vZmFhZDItcGF0Y2gvbGliZmFhZC9jb21t
b24uaAotLS0gLi9saWJmYWFkL2NvbW1vbi5oCTIwMDQtMDItMDYgMDY6NTU6MjQuMDAwMDAwMDAw
IC0wNjAwCisrKyAuLi9mYWFkMi1wYXRjaC9saWJmYWFkL2NvbW1vbi5oCTIwMDUtMDUtMDYgMDk6
NTE6MzguMDAwMDAwMDAwIC0wNjAwCkBAIC0xOTcsNiArMTk3LDE1IEBACiAjZWxzZQogIyBpZiBI
QVZFX1NURElOVF9ICiAjICBpbmNsdWRlIDxzdGRpbnQuaD4KKyMgZWxzaWYgZGVmaW5lZChfX3g4
Nl82NF9fKSAvKiBsb25ncyBhcmUgNjQtYml0IGZvciBhbWQ2NCEgKi8KK3R5cGVkZWYgdW5zaWdu
ZWQgbG9uZyB1aW50NjRfdDsKK3R5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMl90OwordHlwZWRl
ZiB1bnNpZ25lZCBzaG9ydCB1aW50MTZfdDsKK3R5cGVkZWYgdW5zaWduZWQgY2hhciB1aW50OF90
OwordHlwZWRlZiBsb25nIGludDY0X3Q7Cit0eXBlZGVmIGludCBpbnQzMl90OwordHlwZWRlZiBz
aG9ydCBpbnQxNl90OwordHlwZWRlZiBjaGFyIGludDhfdDsKICMgZWxzZQogLyogd2UgbmVlZCB0
aGVzZS4uLiAqLwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgdWludDY0X3Q7CmRpZmYgLXUg
LXIgLi9saWJmYWFkL2RlY29kZXIuYyAuLi9mYWFkMi1wYXRjaC9saWJmYWFkL2RlY29kZXIuYwot
LS0gLi9saWJmYWFkL2RlY29kZXIuYwkyMDA0LTAyLTA0IDE0OjA3OjI0LjAwMDAwMDAwMCAtMDYw
MAorKysgLi4vZmFhZDItcGF0Y2gvbGliZmFhZC9kZWNvZGVyLmMJMjAwNS0wNS0wNiAxMDowODox
Mi4wMDAwMDAwMDAgLTA2MDAKQEAgLTU3LDkgKzU3LDkgQEAKICAgICByZXR1cm4gZXJyX21zZ1tl
cnJjb2RlXTsKIH0KIAotdWludDMyX3QgRkFBREFQSSBmYWFjRGVjR2V0Q2FwYWJpbGl0aWVzKHZv
aWQpCit1bnNpZ25lZCBsb25nIEZBQURBUEkgZmFhY0RlY0dldENhcGFiaWxpdGllcyh2b2lkKQog
ewotICAgIHVpbnQzMl90IGNhcCA9IDA7CisgICAgdW5zaWduZWQgbG9uZyBjYXAgPSAwOwogCiAg
ICAgLyogY2FuJ3QgZG8gd2l0aG91dCBpdCAqLwogICAgIGNhcCArPSBMQ19ERUNfQ0FQOwpAQCAt
MTkwLDkgKzE5MCw5IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludDMyX3QgRkFBREFQSSBmYWFj
RGVjSW5pdChmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLCB1aW50OF90ICpidWZmZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYnVmZmVyX3NpemUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgKnNhbXBsZXJhdGUsIHVpbnQ4X3QgKmNoYW5uZWxzKQor
bG9uZyBGQUFEQVBJIGZhYWNEZWNJbml0KGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVpbnQ4X3Qg
KmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJ1ZmZl
cl9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKnNhbXBs
ZXJhdGUsIHVpbnQ4X3QgKmNoYW5uZWxzKQogewogICAgIHVpbnQzMl90IGJpdHMgPSAwOwogICAg
IGJpdGZpbGUgbGQ7CkBAIC0yODUsOCArMjg1LDggQEAKIAogLyogSW5pdCB0aGUgbGlicmFyeSB1
c2luZyBhIERlY29kZXJTcGVjaWZpY0luZm8gKi8KIGludDhfdCBGQUFEQVBJIGZhYWNEZWNJbml0
MihmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLCB1aW50OF90ICpwQnVmZmVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IFNpemVPZkRlY29kZXJTcGVjaWZpY0luZm8sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNhbXBsZXJhdGUsIHVpbnQ4X3QgKmNo
YW5uZWxzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgU2l6ZU9m
RGVjb2RlclNwZWNpZmljSW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nICpzYW1wbGVyYXRlLCB1aW50OF90ICpjaGFubmVscykKIHsKICAgICBpbnQ4X3QgcmM7
CiAgICAgbXA0QXVkaW9TcGVjaWZpY0NvbmZpZyBtcDRBU0M7CkBAIC0zNjYsNyArMzY2LDcgQEAK
IH0KIAogI2lmZGVmIERSTQotaW50OF90IEZBQURBUEkgZmFhY0RlY0luaXREUk0oZmFhY0RlY0hh
bmRsZSBoRGVjb2RlciwgdWludDMyX3Qgc2FtcGxlcmF0ZSwKK2ludDhfdCBGQUFEQVBJIGZhYWNE
ZWNJbml0RFJNKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVuc2lnbmVkIGxvbmcgc2FtcGxlcmF0
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgY2hhbm5lbHMpCiB7CiAg
ICAgdWludDhfdCBpOwpAQCAtNTEyLDcgKzUxMiw3IEBACiAgICAgaWYgKGhEZWNvZGVyKSBmYWFk
X2ZyZWUoaERlY29kZXIpOwogfQogCi12b2lkIEZBQURBUEkgZmFhY0RlY1Bvc3RTZWVrUmVzZXQo
ZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwgaW50MzJfdCBmcmFtZSkKK3ZvaWQgRkFBREFQSSBmYWFj
RGVjUG9zdFNlZWtSZXNldChmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLCBsb25nIGZyYW1lKQogewog
ICAgIGlmIChoRGVjb2RlcikKICAgICB7CkBAIC03MzAsNyArNzMwLDcgQEAKIAogdm9pZCogRkFB
REFQSSBmYWFjRGVjRGVjb2RlKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmFhY0RlY0ZyYW1lSW5mbyAqaEluZm8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBidWZmZXJfc2l6ZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgYnVm
ZmVyX3NpemUpCiB7CiAgICAgdWludDhfdCBjaGFubmVscyA9IDA7CiAgICAgdWludDhfdCBvdXRw
dXRfY2hhbm5lbHMgPSAwOwpkaWZmIC11IC1yIC4vbGliZmFhZC9kZWNvZGVyLmggLi4vZmFhZDIt
cGF0Y2gvbGliZmFhZC9kZWNvZGVyLmgKLS0tIC4vbGliZmFhZC9kZWNvZGVyLmgJMjAwNC0wMS0w
NSAwODowNToxMS4wMDAwMDAwMDAgLTA2MDAKKysrIC4uL2ZhYWQyLXBhdGNoL2xpYmZhYWQvZGVj
b2Rlci5oCTIwMDUtMDUtMDYgMTA6MDM6MjcuMDAwMDAwMDAwIC0wNjAwCkBAIC03OCw3ICs3OCw3
IEBACiAKIGludDhfdCogRkFBREFQSSBmYWFjRGVjR2V0RXJyb3JNZXNzYWdlKHVpbnQ4X3QgZXJy
Y29kZSk7CiAKLXVpbnQzMl90IEZBQURBUEkgZmFhY0RlY0dldENhcGFiaWxpdGllcyh2b2lkKTsK
K3Vuc2lnbmVkIGxvbmcgRkFBREFQSSBmYWFjRGVjR2V0Q2FwYWJpbGl0aWVzKHZvaWQpOwogCiBm
YWFjRGVjSGFuZGxlIEZBQURBUEkgZmFhY0RlY09wZW4odm9pZCk7CiAKQEAgLTg4LDI5ICs4OCwy
OSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFhY0RlY0NvbmZpZ3Vy
YXRpb25QdHIgY29uZmlnKTsKIAogLyogSW5pdCB0aGUgbGlicmFyeSBiYXNlZCBvbiBpbmZvIGZy
b20gdGhlIEFBQyBmaWxlIChBRFRTL0FESUYpICovCi1pbnQzMl90IEZBQURBUEkgZmFhY0RlY0lu
aXQoZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwKK2xvbmcgRkFBREFQSSBmYWFjRGVjSW5pdChmYWFj
RGVjSGFuZGxlIGhEZWNvZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
KmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBidWZmZXJfc2l6
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc2FtcGxlcmF0ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJ1ZmZlcl9zaXplLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKnNhbXBsZXJhdGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqY2hhbm5lbHMpOwogCiAvKiBJbml0IHRo
ZSBsaWJyYXJ5IHVzaW5nIGEgRGVjb2RlclNwZWNpZmljSW5mbyAqLwogaW50OF90IEZBQURBUEkg
ZmFhY0RlY0luaXQyKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVpbnQ4X3QgKnBCdWZmZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgU2l6ZU9mRGVjb2RlclNwZWNpZmljSW5m
bywKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc2FtcGxlcmF0ZSwgdWludDhf
dCAqY2hhbm5lbHMpOworICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgU2l6
ZU9mRGVjb2RlclNwZWNpZmljSW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nICpzYW1wbGVyYXRlLCB1aW50OF90ICpjaGFubmVscyk7CiAKIC8qIEluaXQgdGhlIGxp
YnJhcnkgZm9yIERSTSAqLwotaW50OF90IEZBQURBUEkgZmFhY0RlY0luaXREUk0oZmFhY0RlY0hh
bmRsZSBoRGVjb2RlciwgdWludDMyX3Qgc2FtcGxlcmF0ZSwKK2ludDhfdCBGQUFEQVBJIGZhYWNE
ZWNJbml0RFJNKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVuc2lnbmVkIGxvbmcgc2FtcGxlcmF0
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgY2hhbm5lbHMpOwogCiB2
b2lkIEZBQURBUEkgZmFhY0RlY0Nsb3NlKGZhYWNEZWNIYW5kbGUgaERlY29kZXIpOwogCi12b2lk
IEZBQURBUEkgZmFhY0RlY1Bvc3RTZWVrUmVzZXQoZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwgaW50
MzJfdCBmcmFtZSk7Cit2b2lkIEZBQURBUEkgZmFhY0RlY1Bvc3RTZWVrUmVzZXQoZmFhY0RlY0hh
bmRsZSBoRGVjb2RlciwgbG9uZyBmcmFtZSk7CiAKIHZvaWQqIEZBQURBUEkgZmFhY0RlY0RlY29k
ZShmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh
YWNEZWNGcmFtZUluZm8gKmhJbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBidWZmZXJf
c2l6ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBidWZmZXJf
c2l6ZSk7CiAKICNpZmRlZiBfV0lOMzIKICAgI3ByYWdtYSBwYWNrKHBvcCkKZGlmZiAtdSAtciAu
L2xpYmZhYWQvc3RydWN0cy5oIC4uL2ZhYWQyLXBhdGNoL2xpYmZhYWQvc3RydWN0cy5oCi0tLSAu
L2xpYmZhYWQvc3RydWN0cy5oCTIwMDQtMDEtMjkgMDU6MzE6MTEuMDAwMDAwMDAwIC0wNjAwCisr
KyAuLi9mYWFkMi1wYXRjaC9saWJmYWFkL3N0cnVjdHMuaAkyMDA1LTA1LTA2IDA5OjQ2OjI0LjAw
MDAwMDAwMCAtMDYwMApAQCAtMzA3LDU4ICszMDcsNTggQEAKIHR5cGVkZWYgc3RydWN0IG1wNEF1
ZGlvU3BlY2lmaWNDb25maWcKIHsKICAgICAvKiBBdWRpbyBTcGVjaWZpYyBJbmZvICovCi0gICAg
dWludDhfdCBvYmplY3RUeXBlSW5kZXg7Ci0gICAgdWludDhfdCBzYW1wbGluZ0ZyZXF1ZW5jeUlu
ZGV4OwotICAgIHVpbnQzMl90IHNhbXBsaW5nRnJlcXVlbmN5OwotICAgIHVpbnQ4X3QgY2hhbm5l
bHNDb25maWd1cmF0aW9uOworICAgIHVuc2lnbmVkIGNoYXIgb2JqZWN0VHlwZUluZGV4OworICAg
IHVuc2lnbmVkIGNoYXIgc2FtcGxpbmdGcmVxdWVuY3lJbmRleDsKKyAgICB1bnNpZ25lZCBsb25n
IHNhbXBsaW5nRnJlcXVlbmN5OworICAgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbHNDb25maWd1cmF0
aW9uOwogCiAgICAgLyogR0EgU3BlY2lmaWMgSW5mbyAqLwotICAgIHVpbnQ4X3QgZnJhbWVMZW5n
dGhGbGFnOwotICAgIHVpbnQ4X3QgZGVwZW5kc09uQ29yZUNvZGVyOwotICAgIHVpbnQxNl90IGNv
cmVDb2RlckRlbGF5OwotICAgIHVpbnQ4X3QgZXh0ZW5zaW9uRmxhZzsKLSAgICB1aW50OF90IGFh
Y1NlY3Rpb25EYXRhUmVzaWxpZW5jZUZsYWc7Ci0gICAgdWludDhfdCBhYWNTY2FsZWZhY3RvckRh
dGFSZXNpbGllbmNlRmxhZzsKLSAgICB1aW50OF90IGFhY1NwZWN0cmFsRGF0YVJlc2lsaWVuY2VG
bGFnOwotICAgIHVpbnQ4X3QgZXBDb25maWc7CisgICAgdW5zaWduZWQgY2hhciBmcmFtZUxlbmd0
aEZsYWc7CisgICAgdW5zaWduZWQgY2hhciBkZXBlbmRzT25Db3JlQ29kZXI7CisgICAgdW5zaWdu
ZWQgc2hvcnQgY29yZUNvZGVyRGVsYXk7CisgICAgdW5zaWduZWQgY2hhciBleHRlbnNpb25GbGFn
OworICAgIHVuc2lnbmVkIGNoYXIgYWFjU2VjdGlvbkRhdGFSZXNpbGllbmNlRmxhZzsKKyAgICB1
bnNpZ25lZCBjaGFyIGFhY1NjYWxlZmFjdG9yRGF0YVJlc2lsaWVuY2VGbGFnOworICAgIHVuc2ln
bmVkIGNoYXIgYWFjU3BlY3RyYWxEYXRhUmVzaWxpZW5jZUZsYWc7CisgICAgdW5zaWduZWQgY2hh
ciBlcENvbmZpZzsKIAotICAgIGludDhfdCBzYnJfcHJlc2VudF9mbGFnOwotICAgIGludDhfdCBm
b3JjZVVwU2FtcGxpbmc7CisgICAgY2hhciBzYnJfcHJlc2VudF9mbGFnOworICAgIGNoYXIgZm9y
Y2VVcFNhbXBsaW5nOwogfSBtcDRBdWRpb1NwZWNpZmljQ29uZmlnOwogCiB0eXBlZGVmIHN0cnVj
dCBmYWFjRGVjQ29uZmlndXJhdGlvbgogewotICAgIHVpbnQ4X3QgZGVmT2JqZWN0VHlwZTsKLSAg
ICB1aW50MzJfdCBkZWZTYW1wbGVSYXRlOwotICAgIHVpbnQ4X3Qgb3V0cHV0Rm9ybWF0OwotICAg
IHVpbnQ4X3QgZG93bk1hdHJpeDsKLSAgICB1aW50OF90IHVzZU9sZEFEVFNGb3JtYXQ7Ci0gICAg
dWludDhfdCBkb250VXBTYW1wbGVJbXBsaWNpdFNCUjsKKyAgICB1bnNpZ25lZCBjaGFyIGRlZk9i
amVjdFR5cGU7CisgICAgdW5zaWduZWQgbG9uZyBkZWZTYW1wbGVSYXRlOworICAgIHVuc2lnbmVk
IGNoYXIgb3V0cHV0Rm9ybWF0OworICAgIHVuc2lnbmVkIGNoYXIgZG93bk1hdHJpeDsKKyAgICB1
bnNpZ25lZCBjaGFyIHVzZU9sZEFEVFNGb3JtYXQ7CisgICAgdW5zaWduZWQgY2hhciBkb250VXBT
YW1wbGVJbXBsaWNpdFNCUjsKIH0gZmFhY0RlY0NvbmZpZ3VyYXRpb24sICpmYWFjRGVjQ29uZmln
dXJhdGlvblB0cjsKIAogdHlwZWRlZiBzdHJ1Y3QgZmFhY0RlY0ZyYW1lSW5mbwogewotICAgIHVp
bnQzMl90IGJ5dGVzY29uc3VtZWQ7Ci0gICAgdWludDMyX3Qgc2FtcGxlczsKLSAgICB1aW50OF90
IGNoYW5uZWxzOwotICAgIHVpbnQ4X3QgZXJyb3I7Ci0gICAgdWludDMyX3Qgc2FtcGxlcmF0ZTsK
KyAgICB1bnNpZ25lZCBsb25nIGJ5dGVzY29uc3VtZWQ7CisgICAgdW5zaWduZWQgbG9uZyBzYW1w
bGVzOworICAgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbHM7CisgICAgdW5zaWduZWQgY2hhciBlcnJv
cjsKKyAgICB1bnNpZ25lZCBsb25nIHNhbXBsZXJhdGU7CiAKICAgICAvKiBTQlI6IDA6IG9mZiwg
MTogb247IG5vcm1hbCwgMjogb247IGRvd25zYW1wbGVkICovCi0gICAgdWludDhfdCBzYnI7Cisg
ICAgdW5zaWduZWQgY2hhciBzYnI7CiAKICAgICAvKiBNUEVHLTQgT2JqZWN0VHlwZSAqLwotICAg
IHVpbnQ4X3Qgb2JqZWN0X3R5cGU7CisgICAgdW5zaWduZWQgY2hhciBvYmplY3RfdHlwZTsKIAog
ICAgIC8qIEFBQyBoZWFkZXIgdHlwZTsgTVA0IHdpbGwgYmUgc2lnbmFsbGVkIGFzIFJBVyBhbHNv
ICovCi0gICAgdWludDhfdCBoZWFkZXJfdHlwZTsKKyAgICB1bnNpZ25lZCBjaGFyIGhlYWRlcl90
eXBlOwogCiAgICAgLyogbXVsdGljaGFubmVsIGNvbmZpZ3VyYXRpb24gKi8KLSAgICB1aW50OF90
IG51bV9mcm9udF9jaGFubmVsczsKLSAgICB1aW50OF90IG51bV9zaWRlX2NoYW5uZWxzOwotICAg
IHVpbnQ4X3QgbnVtX2JhY2tfY2hhbm5lbHM7Ci0gICAgdWludDhfdCBudW1fbGZlX2NoYW5uZWxz
OwotICAgIHVpbnQ4X3QgY2hhbm5lbF9wb3NpdGlvbltNQVhfQ0hBTk5FTFNdOworICAgIHVuc2ln
bmVkIGNoYXIgbnVtX2Zyb250X2NoYW5uZWxzOworICAgIHVuc2lnbmVkIGNoYXIgbnVtX3NpZGVf
Y2hhbm5lbHM7CisgICAgdW5zaWduZWQgY2hhciBudW1fYmFja19jaGFubmVsczsKKyAgICB1bnNp
Z25lZCBjaGFyIG51bV9sZmVfY2hhbm5lbHM7CisgICAgdW5zaWduZWQgY2hhciBjaGFubmVsX3Bv
c2l0aW9uW01BWF9DSEFOTkVMU107CiB9IGZhYWNEZWNGcmFtZUluZm87CiAKIHR5cGVkZWYgc3Ry
dWN0CmRpZmYgLXUgLXIgLi9wbHVnaW5zL3htbXMvc3JjL2xpYm1wNC5jIC4uL2ZhYWQyLXBhdGNo
L3BsdWdpbnMveG1tcy9zcmMvbGlibXA0LmMKLS0tIC4vcGx1Z2lucy94bW1zL3NyYy9saWJtcDQu
YwkyMDA1LTA1LTA2IDA5OjMyOjE2LjAwMDAwMDAwMCAtMDYwMAorKysgLi4vZmFhZDItcGF0Y2gv
cGx1Z2lucy94bW1zL3NyYy9saWJtcDQuYwkyMDA1LTA1LTA2IDA5OjU2OjMxLjAwMDAwMDAwMCAt
MDYwMApAQCAtMjIsNiArMjIsOSBAQAogI2RlZmluZSBNUDRfQUJPVVQJIldyaXR0ZW4gYnkgY2li
ZXJmcmVkIgogI2RlZmluZSBCVUZGRVJfU0laRQlGQUFEX01JTl9TVFJFQU1TSVpFKjY0CiAKK3Zv
aWQgZ2V0TVA0aW5mbyhjaGFyKiBmaWxlKTsKK2ludCAgZ2V0QUFDVHJhY2soTVA0RmlsZUhhbmRs
ZSBmaWxlKTsKKwogc3RhdGljIHZvaWQJbXA0X2luaXQodm9pZCk7CiBzdGF0aWMgdm9pZAltcDRf
YWJvdXQodm9pZCk7CiBzdGF0aWMgdm9pZAltcDRfcGxheShjaGFyICopOwpAQCAtMTE2LDExICsx
MTksMTEgQEAKIAogICAgIGV4dGVudGlvbiA9IHN0cnJjaHIoZmlsZW5hbWUsICcuJyk7CiAKLSAg
ICBpZiAoZXh0ZW50aW9uICYmCisgICAgaWYgKGV4dGVudGlvbiAmJiAoCiAgICAgICAgICghc3Ry
Y2FzZWNtcChleHRlbnRpb24sICIubXA0IikgfHwJLy8gb2ZmaWNpYWwgZXh0ZW50aW9uCiAgICAg
ICAgICAhc3RyY2FzZWNtcChleHRlbnRpb24sICIubTRhIikgfHwJLy8gQXBwbGUgbXA0IGV4dGVu
dGlvbgogICAgICAgICAgIXN0cmNhc2VjbXAoZXh0ZW50aW9uLCAiLmFhYyIpCQkgIC8vIG9sZCBN
UEVHMi80LUFBQyBleHRlbnRpb24KLSAgICAgICAgKSkKKyAgICAgICAgKSkpCiAgICAgewogICAg
ICAgcmV0dXJuICgxKTsKICAgICB9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>58218</attachid>
            <date>2005-05-06 11:32 0000</date>
            <desc>ebuild using amd64 patch</desc>
            <filename>faad2-2.0-r7.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L21lZGlhLWxpYnMvZmFhZDIvZmFhZDItMi4wLXI2
LmVidWlsZCx2IDEuMSAyMDA1LzA1LzA1IDExOjQ5OjI2IGx1Y2t5ZHVjayBFeHAgJAoKaW5oZXJp
dCBldXRpbHMgbGlidG9vbCBmbGFnLW8tbWF0aWMKCkRFU0NSSVBUSU9OPSJBQUMgYXVkaW8gZGVj
b2RpbmcgbGlicmFyeSIKSE9NRVBBR0U9Imh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tLyIKU1JD
X1VSST0ibWlycm9yOi8vc291cmNlZm9yZ2UvZmFhYy8ke1BOfS0ke1BWL18vLX0udGFyLmd6IgoK
TElDRU5TRT0iR1BMLTIiClNMT1Q9IjAiCktFWVdPUkRTPSJ+eDg2IH5hbHBoYSB+YW1kNjQgfmFy
bSB+aHBwYSB+aWE2NCB+bWlwcyB+cHBjIH5wcGM2NCB+cHBjLW1hY29zIH5zcGFyYyIKSVVTRT0i
eG1tcyIKClJERVBFTkQ9InhtbXM/ICggPj1tZWRpYS1zb3VuZC94bW1zLTEuMi43CgkJbWVkaWEt
bGlicy9pZDNsaWIgKQoJIW1lZGlhLXZpZGVvL21wZWc0aXAiCgpERVBFTkQ9IiR7UkRFUEVORH0K
CT49c3lzLWFwcHMvc2VkLTQuMC43CglzeXMtZGV2ZWwvYXV0b21ha2UKCXN5cy1kZXZlbC9hdXRv
Y29uZiIKClM9JHtXT1JLRElSfS8ke1BOfQoKRE9DUz0iQVVUSE9SUyBDaGFuZ2VMb2cgSU5TVEFM
TCBORVdTIFJFQURNRSBSRUFETUUubGludXggVE9ETyIKCnNyY191bnBhY2soKSB7Cgl1bnBhY2sg
JHtBfQoKCWNkICR7U30KCWVwYXRjaCAke0ZJTEVTRElSfS8ke1B9LW1ha2VmaWxlLXNwYWNlLnBh
dGNoCgllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1jb25maWd1cmUtbXBlZzRpcC5wYXRjaAoJZXBh
dGNoICR7RklMRVNESVJ9LyR7UH0tZ2NjMzQucGF0Y2gKCgljZCAke1N9L2NvbW1vbi9tcDR2MgoJ
ZXBhdGNoICR7RklMRVNESVJ9L21wNGF0b20tc2xpdmVyLnBhdGNoCgoJY2QgJHtTfS9wbHVnaW5z
L3htbXMvc3JjCgllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1ub2V4dC5wYXRjaAoKCSMgUGF0Y2gg
aGVhZGVycyBmb3IgaGVhZGVyIGRpc2NyZXBhbmNpZXMgb24gYW1kNjQKCWNkICR7U30KCWVwYXRj
aCAke0ZJTEVTRElSfS8ke1B9LWFtZDY0LnBhdGNoCgoJIyBHZXQgdGhlIHhtbXMgcGx1Z2luIHRv
IGJlaGF2ZQoJZWxpYnRvb2xpemUKCn0KCnNyY19jb21waWxlKCkgewoJIyBzZWUgIzM0MzkyCglm
aWx0ZXItZmxhZ3MgLW1mcG1hdGg9c3NlCgoJIyBGaXggZm9yIGJ1ZyAjNjc1MTAKCVdBTlRfQVVU
T0NPTkY9Mi41IFdBTlRfQVVUT01BS0U9MS43ICBcCgkJYWNsb2NhbCAtSSAuICYmIFwKCQlhdXRv
aGVhZGVyICYmIFwKCQlsaWJ0b29saXplIC0tYXV0b21ha2UgLS1jb3B5CSYmIFwKCQlhdXRvbWFr
ZSAtLWFkZC1taXNzaW5nIC0tY29weQkmJiBcCgkJYXV0b2NvbmYgfHwgZGllICJDb3VsZG4ndCBi
dWlsZCBjb25maWd1cmF0aW9uIGZpbGUiCgoJIyBtcDR2MiBuZWVkZWQgZm9yIHJoeXRobWJveAoJ
IyBkcm0gbmVlZGVkIGZvciBub3RoaW5nIGJ1dCBkb2Vzbid0IGh1cnQKCgllY29uZiBcCgkJLS13
aXRoLW1wNHYyIFwKCQktLXdpdGgtZHJtIFwKCQlgdXNlX3dpdGggeG1tc2AgXAoJCXx8IGRpZQoK
CSMgZW1ha2UgY2F1c2VzIHhtbXMgcGx1Z2luIGJ1aWxkaW5nIHRvIGZhaWwKCWVtYWtlIHx8IGRp
ZQoKfQoKc3JjX2luc3RhbGwoKSB7CgltYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsIHx8IGRpZQoK
CWRvZG9jICR7RE9DU30KCgkjIHVubmVlZGVkIGluY2x1ZGUsIDxzeXN0ZW1zLmg+IGJyZWFrcyBi
dWlsZGluZyBvZiBhcHBzLCBidXQKCSMgaXQgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaW5jbHVkZXMg
PHN5cy90eXBlcy5oPiwKCSMgd2hpY2ggaXMgbmVlZGVkIGJ5IC91c3IvaW5jbHVkZS9tcDQuaC4u
LiBzbyB3ZSBqdXN0CgkjIGluY2x1ZGUgPHN5cy90eXBlcy5oPiBpbnN0ZWFkLiAgU2VlIGJ1ZyAj
NTU3NjcKCWRvc2VkICJzOiNpbmNsdWRlIDxzeXN0ZW1zLmg+OiNpbmNsdWRlIDxzeXMvdHlwZXMu
aD46IiAvdXNyL2luY2x1ZGUvbXBlZzRpcC5oCgkjIG1ha2UgbGF0ZXhlciBoYXBweQoJZG9zZWQg
InM6XCJtcDRmZl9pbnRfdHlwZXMuaFwiOjxzdGRpbnQuaD46IiAvdXNyL2luY2x1ZGUvbXA0ZmYu
aAoKfQo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58582</attachid>
            <date>2005-05-10 10:20 0000</date>
            <desc>improved improved amd64 faad2 patch</desc>
            <filename>faad2-2.0-amd64.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXIgZmFhZDIvaW5jbHVkZS9mYWFkLmggZmFhZDItcGF0Y2gvaW5jbHVkZS9mYWFkLmgK
LS0tIGZhYWQyL2luY2x1ZGUvZmFhZC5oCTIwMDQtMDItMDYgMDQ6MjM6MjguMDAwMDAwMDAwIC0w
NjAwCisrKyBmYWFkMi1wYXRjaC9pbmNsdWRlL2ZhYWQuaAkyMDA1LTA1LTEwIDEwOjU4OjM5LjAw
MDAwMDAwMCAtMDYwMApAQCAtNDMsNiArNDMsMTAgQEAKICAgI2VuZGlmCiAjZW5kaWYKIAorLyog
bmVlZGVkIGZvciBzdGFuZGFyZCBpbnRlZ2VyIHR5cGVzICovCisjZGVmaW5lIF9fU1REQ19MSU1J
VF9NQUNST1MKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwogI2RlZmluZSBGQUFEMl9WRVJTSU9OICIy
LjAgICAgICIKIAogLyogb2JqZWN0IHR5cGVzIGZvciBBQUMgKi8KQEAgLTExMiw4NiArMTE2LDg2
IEBACiB0eXBlZGVmIHN0cnVjdCBtcDRBdWRpb1NwZWNpZmljQ29uZmlnCiB7CiAgICAgLyogQXVk
aW8gU3BlY2lmaWMgSW5mbyAqLwotICAgIHVuc2lnbmVkIGNoYXIgb2JqZWN0VHlwZUluZGV4Owot
ICAgIHVuc2lnbmVkIGNoYXIgc2FtcGxpbmdGcmVxdWVuY3lJbmRleDsKLSAgICB1bnNpZ25lZCBs
b25nIHNhbXBsaW5nRnJlcXVlbmN5OwotICAgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbHNDb25maWd1
cmF0aW9uOworICAgIHVpbnQ4X3Qgb2JqZWN0VHlwZUluZGV4OworICAgIHVpbnQ4X3Qgc2FtcGxp
bmdGcmVxdWVuY3lJbmRleDsKKyAgICB1aW50MzJfdCBzYW1wbGluZ0ZyZXF1ZW5jeTsKKyAgICB1
aW50OF90IGNoYW5uZWxzQ29uZmlndXJhdGlvbjsKIAogICAgIC8qIEdBIFNwZWNpZmljIEluZm8g
Ki8KLSAgICB1bnNpZ25lZCBjaGFyIGZyYW1lTGVuZ3RoRmxhZzsKLSAgICB1bnNpZ25lZCBjaGFy
IGRlcGVuZHNPbkNvcmVDb2RlcjsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb3JlQ29kZXJEZWxheTsK
LSAgICB1bnNpZ25lZCBjaGFyIGV4dGVuc2lvbkZsYWc7Ci0gICAgdW5zaWduZWQgY2hhciBhYWNT
ZWN0aW9uRGF0YVJlc2lsaWVuY2VGbGFnOwotICAgIHVuc2lnbmVkIGNoYXIgYWFjU2NhbGVmYWN0
b3JEYXRhUmVzaWxpZW5jZUZsYWc7Ci0gICAgdW5zaWduZWQgY2hhciBhYWNTcGVjdHJhbERhdGFS
ZXNpbGllbmNlRmxhZzsKLSAgICB1bnNpZ25lZCBjaGFyIGVwQ29uZmlnOworICAgIHVpbnQ4X3Qg
ZnJhbWVMZW5ndGhGbGFnOworICAgIHVpbnQ4X3QgZGVwZW5kc09uQ29yZUNvZGVyOworICAgIHVp
bnQxNl90IGNvcmVDb2RlckRlbGF5OworICAgIHVpbnQ4X3QgZXh0ZW5zaW9uRmxhZzsKKyAgICB1
aW50OF90IGFhY1NlY3Rpb25EYXRhUmVzaWxpZW5jZUZsYWc7CisgICAgdWludDhfdCBhYWNTY2Fs
ZWZhY3RvckRhdGFSZXNpbGllbmNlRmxhZzsKKyAgICB1aW50OF90IGFhY1NwZWN0cmFsRGF0YVJl
c2lsaWVuY2VGbGFnOworICAgIHVpbnQ4X3QgZXBDb25maWc7CiAKLSAgICBjaGFyIHNicl9wcmVz
ZW50X2ZsYWc7Ci0gICAgY2hhciBmb3JjZVVwU2FtcGxpbmc7CisgICAgaW50OF90IHNicl9wcmVz
ZW50X2ZsYWc7CisgICAgaW50OF90IGZvcmNlVXBTYW1wbGluZzsKIH0gbXA0QXVkaW9TcGVjaWZp
Y0NvbmZpZzsKIAogdHlwZWRlZiBzdHJ1Y3QgZmFhY0RlY0NvbmZpZ3VyYXRpb24KIHsKLSAgICB1
bnNpZ25lZCBjaGFyIGRlZk9iamVjdFR5cGU7Ci0gICAgdW5zaWduZWQgbG9uZyBkZWZTYW1wbGVS
YXRlOwotICAgIHVuc2lnbmVkIGNoYXIgb3V0cHV0Rm9ybWF0OwotICAgIHVuc2lnbmVkIGNoYXIg
ZG93bk1hdHJpeDsKLSAgICB1bnNpZ25lZCBjaGFyIHVzZU9sZEFEVFNGb3JtYXQ7Ci0gICAgdW5z
aWduZWQgY2hhciBkb250VXBTYW1wbGVJbXBsaWNpdFNCUjsKKyAgICB1aW50OF90IGRlZk9iamVj
dFR5cGU7CisgICAgdWludDhfdCBkZWZTYW1wbGVSYXRlOworICAgIHVpbnQ4X3Qgb3V0cHV0Rm9y
bWF0OworICAgIHVpbnQ4X3QgZG93bk1hdHJpeDsKKyAgICB1aW50OF90IHVzZU9sZEFEVFNGb3Jt
YXQ7CisgICAgdWludDhfdCBkb250VXBTYW1wbGVJbXBsaWNpdFNCUjsKIH0gZmFhY0RlY0NvbmZp
Z3VyYXRpb24sICpmYWFjRGVjQ29uZmlndXJhdGlvblB0cjsKIAogdHlwZWRlZiBzdHJ1Y3QgZmFh
Y0RlY0ZyYW1lSW5mbwogewotICAgIHVuc2lnbmVkIGxvbmcgYnl0ZXNjb25zdW1lZDsKLSAgICB1
bnNpZ25lZCBsb25nIHNhbXBsZXM7Ci0gICAgdW5zaWduZWQgY2hhciBjaGFubmVsczsKLSAgICB1
bnNpZ25lZCBjaGFyIGVycm9yOwotICAgIHVuc2lnbmVkIGxvbmcgc2FtcGxlcmF0ZTsKKyAgICB1
aW50MzJfdCBieXRlc2NvbnN1bWVkOworICAgIHVpbnQzMl90IHNhbXBsZXM7CisgICAgdWludDhf
dCBjaGFubmVsczsKKyAgICB1aW50OF90IGVycm9yOworICAgIHVpbnQzMl90IHNhbXBsZXJhdGU7
CiAKICAgICAvKiBTQlI6IDA6IG9mZiwgMTogb247IHVwc2FtcGxlLCAyOiBvbjsgZG93bnNhbXBs
ZWQsIDM6IG9mZjsgdXBzYW1wbGVkICovCi0gICAgdW5zaWduZWQgY2hhciBzYnI7CisgICAgdWlu
dDhfdCBzYnI7CiAKICAgICAvKiBNUEVHLTQgT2JqZWN0VHlwZSAqLwotICAgIHVuc2lnbmVkIGNo
YXIgb2JqZWN0X3R5cGU7CisgICAgdWludDhfdCBvYmplY3RfdHlwZTsKIAogICAgIC8qIEFBQyBo
ZWFkZXIgdHlwZTsgTVA0IHdpbGwgYmUgc2lnbmFsbGVkIGFzIFJBVyBhbHNvICovCi0gICAgdW5z
aWduZWQgY2hhciBoZWFkZXJfdHlwZTsKKyAgICB1aW50OF90IGhlYWRlcl90eXBlOwogCiAgICAg
LyogbXVsdGljaGFubmVsIGNvbmZpZ3VyYXRpb24gKi8KLSAgICB1bnNpZ25lZCBjaGFyIG51bV9m
cm9udF9jaGFubmVsczsKLSAgICB1bnNpZ25lZCBjaGFyIG51bV9zaWRlX2NoYW5uZWxzOwotICAg
IHVuc2lnbmVkIGNoYXIgbnVtX2JhY2tfY2hhbm5lbHM7Ci0gICAgdW5zaWduZWQgY2hhciBudW1f
bGZlX2NoYW5uZWxzOwotICAgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbF9wb3NpdGlvbls2NF07Cisg
ICAgdWludDhfdCBudW1fZnJvbnRfY2hhbm5lbHM7CisgICAgdWludDhfdCBudW1fc2lkZV9jaGFu
bmVsczsKKyAgICB1aW50OF90IG51bV9iYWNrX2NoYW5uZWxzOworICAgIHVpbnQ4X3QgbnVtX2xm
ZV9jaGFubmVsczsKKyAgICB1aW50OF90IGNoYW5uZWxfcG9zaXRpb25bNjRdOwogfSBmYWFjRGVj
RnJhbWVJbmZvOwogCi1jaGFyKiBGQUFEQVBJIGZhYWNEZWNHZXRFcnJvck1lc3NhZ2UodW5zaWdu
ZWQgY2hhciBlcnJjb2RlKTsKK2ludDhfdCogRkFBREFQSSBmYWFjRGVjR2V0RXJyb3JNZXNzYWdl
KHVpbnQ4X3QgZXJyY29kZSk7CiAKLXVuc2lnbmVkIGxvbmcgRkFBREFQSSBmYWFjRGVjR2V0Q2Fw
YWJpbGl0aWVzKHZvaWQpOwordWludDMyX3QgRkFBREFQSSBmYWFjRGVjR2V0Q2FwYWJpbGl0aWVz
KHZvaWQpOwogCiBmYWFjRGVjSGFuZGxlIEZBQURBUEkgZmFhY0RlY09wZW4odm9pZCk7CiAKIGZh
YWNEZWNDb25maWd1cmF0aW9uUHRyIEZBQURBUEkgZmFhY0RlY0dldEN1cnJlbnRDb25maWd1cmF0
aW9uKGZhYWNEZWNIYW5kbGUgaERlY29kZXIpOwogCi11bnNpZ25lZCBjaGFyIEZBQURBUEkgZmFh
Y0RlY1NldENvbmZpZ3VyYXRpb24oZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwKK3VpbnQ4X3QgRkFB
REFQSSBmYWFjRGVjU2V0Q29uZmlndXJhdGlvbihmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFhY0RlY0NvbmZpZ3VyYXRpb25QdHIg
Y29uZmlnKTsKIAogLyogSW5pdCB0aGUgbGlicmFyeSBiYXNlZCBvbiBpbmZvIGZyb20gdGhlIEFB
QyBmaWxlIChBRFRTL0FESUYpICovCiBsb25nIEZBQURBUEkgZmFhY0RlY0luaXQoZmFhY0RlY0hh
bmRsZSBoRGVjb2RlciwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1
ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYnVmZmVyX3NpemUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpzYW1wbGVyYXRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqY2hhbm5lbHMpOworICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBidWZmZXJfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCAqc2FtcGxlcmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpjaGFubmVs
cyk7CiAKIC8qIEluaXQgdGhlIGxpYnJhcnkgdXNpbmcgYSBEZWNvZGVyU3BlY2lmaWNJbmZvICov
Ci1jaGFyIEZBQURBUEkgZmFhY0RlY0luaXQyKGZhYWNEZWNIYW5kbGUgaERlY29kZXIsIHVuc2ln
bmVkIGNoYXIgKnBCdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBTaXplT2ZEZWNvZGVyU3BlY2lmaWNJbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgKnNhbXBsZXJhdGUsIHVuc2lnbmVkIGNoYXIgKmNoYW5uZWxzKTsKK2ludDhf
dCBGQUFEQVBJIGZhYWNEZWNJbml0MihmYWFjRGVjSGFuZGxlIGhEZWNvZGVyLCB1aW50OF90ICpw
QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFNpemVPZkRlY29k
ZXJTcGVjaWZpY0luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNh
bXBsZXJhdGUsIHVpbnQ4X3QgKmNoYW5uZWxzKTsKIAogLyogSW5pdCB0aGUgbGlicmFyeSBmb3Ig
RFJNICovCi1jaGFyIEZBQURBUEkgZmFhY0RlY0luaXREUk0oZmFhY0RlY0hhbmRsZSBoRGVjb2Rl
ciwgdW5zaWduZWQgbG9uZyBzYW1wbGVyYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIgY2hhbm5lbHMpOworaW50OF90IEZBQURBUEkgZmFhY0RlY0luaXREUk0o
ZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwgdWludDMyX3Qgc2FtcGxlcmF0ZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgY2hhbm5lbHMpOwogCiB2b2lkIEZBQURBUEkgZmFh
Y0RlY1Bvc3RTZWVrUmVzZXQoZmFhY0RlY0hhbmRsZSBoRGVjb2RlciwgbG9uZyBmcmFtZSk7CiAK
QEAgLTE5OSwxMiArMjAzLDEyIEBACiAKIHZvaWQqIEZBQURBUEkgZmFhY0RlY0RlY29kZShmYWFj
RGVjSGFuZGxlIGhEZWNvZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhYWNEZWNG
cmFtZUluZm8gKmhJbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJ1
ZmZlcl9zaXplKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYnVmZmVyX3NpemUpOwogCi1j
aGFyIEZBQURBUEkgQXVkaW9TcGVjaWZpY0NvbmZpZyh1bnNpZ25lZCBjaGFyICpwQnVmZmVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBidWZmZXJfc2l6
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1wNEF1ZGlvU3BlY2lmaWNDb25m
aWcgKm1wNEFTQyk7CitpbnQ4X3QgRkFBREFQSSBBdWRpb1NwZWNpZmljQ29uZmlnKHVpbnQ4X3Qg
KnBCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJ1
ZmZlcl9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcDRBdWRpb1Nw
ZWNpZmljQ29uZmlnICptcDRBU0MpOwogCiAjaWZkZWYgX1dJTjMyCiAgICNwcmFnbWEgcGFjayhw
b3ApCmRpZmYgLXVyIGZhYWQyL2xpYmZhYWQvY29tbW9uLmggZmFhZDItcGF0Y2gvbGliZmFhZC9j
b21tb24uaAotLS0gZmFhZDIvbGliZmFhZC9jb21tb24uaAkyMDA0LTAyLTA2IDA2OjU1OjI0LjAw
MDAwMDAwMCAtMDYwMAorKysgZmFhZDItcGF0Y2gvbGliZmFhZC9jb21tb24uaAkyMDA1LTA1LTEw
IDEwOjQ1OjQxLjAwMDAwMDAwMCAtMDYwMApAQCAtMTk3LDggKzE5NywxNiBAQAogI2Vsc2UKICMg
aWYgSEFWRV9TVERJTlRfSAogIyAgaW5jbHVkZSA8c3RkaW50Lmg+Ci0jIGVsc2UKLS8qIHdlIG5l
ZWQgdGhlc2UuLi4gKi8KKyMgZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCit0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgdWludDY0X3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50MzJfdDsKK3R5cGVk
ZWYgdW5zaWduZWQgc2hvcnQgdWludDE2X3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhf
dDsKK3R5cGVkZWYgbG9uZyBpbnQ2NF90OwordHlwZWRlZiBpbnQgaW50MzJfdDsKK3R5cGVkZWYg
c2hvcnQgaW50MTZfdDsKK3R5cGVkZWYgY2hhciBpbnQ4X3Q7CisjZWxzZQogdHlwZWRlZiB1bnNp
Z25lZCBsb25nIGxvbmcgdWludDY0X3Q7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdWludDMyX3Q7
CiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVpbnQxNl90OwpkaWZmIC11ciBmYWFkMi9wbHVnaW5z
L21wZWc0aXAvYWFfZmlsZS5jcHAgZmFhZDItcGF0Y2gvcGx1Z2lucy9tcGVnNGlwL2FhX2ZpbGUu
Y3BwCi0tLSBmYWFkMi9wbHVnaW5zL21wZWc0aXAvYWFfZmlsZS5jcHAJMjAwNC0wMS0wNSAwODow
NToxMi4wMDAwMDAwMDAgLTA2MDAKKysrIGZhYWQyLXBhdGNoL3BsdWdpbnMvbXBlZzRpcC9hYV9m
aWxlLmNwcAkyMDA1LTA1LTEwIDEwOjU4OjA0LjAwMDAwMDAwMCAtMDYwMApAQCAtNTYsOCArNTYs
OCBAQAogICAgICAgICAgICAgICAgICBhYWMtPm1fYnVmZmVyX3NpemVfbWF4LAogICAgICAgICAg
ICAgICAgICBhYWMtPm1faWZpbGUpOwogCi0gIHVuc2lnbmVkIGxvbmcgZnJlcTsKLSAgdW5zaWdu
ZWQgY2hhciBjaGFuczsKKyAgdWludDMyX3QgZnJlcTsKKyAgdWludDhfdCBjaGFuczsKIAogICBm
YWFjRGVjSW5pdChhYWMtPm1faW5mbywgKHVuc2lnbmVkIGNoYXIgKilhYWMtPm1fYnVmZmVyLAog
ICAgICAgICAgIGFhYy0+bV9idWZmZXJfc2l6ZSwgJmZyZXEsICZjaGFucyk7CmRpZmYgLXVyIGZh
YWQyL3BsdWdpbnMvbXBlZzRpcC9mYWFkMi5jcHAgZmFhZDItcGF0Y2gvcGx1Z2lucy9tcGVnNGlw
L2ZhYWQyLmNwcAotLS0gZmFhZDIvcGx1Z2lucy9tcGVnNGlwL2ZhYWQyLmNwcAkyMDA0LTAxLTA1
IDA4OjA1OjEyLjAwMDAwMDAwMCAtMDYwMAorKysgZmFhZDItcGF0Y2gvcGx1Z2lucy9tcGVnNGlw
L2ZhYWQyLmNwcAkyMDA1LTA1LTEwIDEwOjU0OjI5LjAwMDAwMDAwMCAtMDYwMApAQCAtNzYsOCAr
NzYsOCBAQAogICB9CiAKICAgYWFjLT5tX2luZm8gPSBmYWFjRGVjT3BlbigpOwotICB1bnNpZ25l
ZCBsb25nIHNyYXRlOwotICB1bnNpZ25lZCBjaGFyIGNoYW47CisgIHVpbnQzMl90IHNyYXRlOwor
ICB1aW50OF90IGNoYW47CiAgIGlmICgodXNlcmRhdGEgPT0gTlVMTCAmJiBmbXRwID09IE5VTEwp
IHx8CiAgICAgICAoZmFhY0RlY0luaXQyKGFhYy0+bV9pbmZvLAogICAgICAgICAgICAgICh1aW50
OF90ICopdXNlcmRhdGEsCkBAIC0xNTYsNyArMTU2LDcgQEAKICAgICAgICAgICAgICAgIHZvaWQg
KnVzZXJkYXRhKQogewogICBhYWNfY29kZWNfdCAqYWFjID0gKGFhY19jb2RlY190ICopcHRyOwot
ICB1bnNpZ25lZCBsb25nIGJ5dGVzX2NvbnN1bW1lZDsKKyAgdWludDMyX3QgYnl0ZXNfY29uc3Vt
bWVkOwogICBpbnQgYml0cyA9IC0xOwogICAvLyAgc3RydWN0IHRpbWV6b25lIHR6OwogCkBAIC0x
ODgsOCArMTg4LDggQEAKICAgICAgKiBJZiBub3QgaW5pdGlhbGl6ZWQsIGRvIHNvLgogICAgICAq
LwogICAgIGFib3J0KCk7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmVxOwotICAgIHVuc2lnbmVkIGNo
YXIgY2hhbnM7CisgICAgdWludDMyX3QgZnJlcTsKKyAgICB1aW50OF90IGNoYW5zOwogCiAgICAg
ZmFhY0RlY0luaXQoYWFjLT5tX2luZm8sCiAgICAgICAgICh1bnNpZ25lZCBjaGFyICopYnVmZmVy
LApAQCAtMjAyLDcgKzIwMiw3IEBACiAgIH0KIAogICB1aW50OF90ICpidWZmOwotICB1bnNpZ25l
ZCBsb25nIHNhbXBsZXM7CisgIHVpbnQzMl90IHNhbXBsZXM7CiAgIGJ5dGVzX2NvbnN1bW1lZCA9
IGJ1ZmxlbjsKICAgLy9hYV9tZXNzYWdlKExPR19ERUJVRywgYWFjbGliLCAiZGVjb2RpbmcgJWQg
Yml0cyIsIGJ1ZmxlbiAqIDgpOwogICBmYWFjRGVjRnJhbWVJbmZvIGZyYW1lX2luZm87CkBAIC0y
MzcsNyArMjM3LDcgQEAKICAgICAgIGFhYy0+bV92ZnQtPmF1ZGlvX2NvbmZpZ3VyZShhYWMtPm1f
aWZwdHIsCiAgICAgICAgICAgICAgICAgICBhYWMtPm1fZnJlcSwKICAgICAgICAgICAgICAgICAg
IGFhYy0+bV9jaGFucywKLSAgICAgICAgICAgICAgICAgIEFVRElPX1MxNlNZUywKKyAgICAgICAg
ICAgICAgICAgIEFVRElPX0ZNVF9TMTYsCiAgICAgICAgICAgICAgICAgICBhYWMtPm1fb3V0cHV0
X2ZyYW1lX3NpemUpOwogICAgICAgdWludDhfdCAqbm93ID0gYWFjLT5tX3ZmdC0+YXVkaW9fZ2V0
X2J1ZmZlcihhYWMtPm1faWZwdHIpOwogICAgICAgYWFjLT5tX2F1ZGlvX2luaXRlZCA9IDE7CmRp
ZmYgLXVyIGZhYWQyL3BsdWdpbnMveG1tcy9zcmMvbGlibXA0LmMgZmFhZDItcGF0Y2gvcGx1Z2lu
cy94bW1zL3NyYy9saWJtcDQuYwotLS0gZmFhZDIvcGx1Z2lucy94bW1zL3NyYy9saWJtcDQuYwky
MDA1LTA1LTEwIDExOjAyOjA0LjAwMDAwMDAwMCAtMDYwMAorKysgZmFhZDItcGF0Y2gvcGx1Z2lu
cy94bW1zL3NyYy9saWJtcDQuYwkyMDA1LTA1LTEwIDEwOjU3OjM2LjAwMDAwMDAwMCAtMDYwMApA
QCAtMjIsNiArMjIsOSBAQAogI2RlZmluZSBNUDRfQUJPVVQJIldyaXR0ZW4gYnkgY2liZXJmcmVk
IgogI2RlZmluZSBCVUZGRVJfU0laRQlGQUFEX01JTl9TVFJFQU1TSVpFKjY0CiAKK2V4dGVybiB2
b2lkICAgICBnZXRNUDRpbmZvKGNoYXIqIGZpbGUpOworZXh0ZXJuIGludCAgICAgIGdldEFBQ1Ry
YWNrKE1QNEZpbGVIYW5kbGUgZmlsZSk7CisKIHN0YXRpYyB2b2lkCW1wNF9pbml0KHZvaWQpOwog
c3RhdGljIHZvaWQJbXA0X2Fib3V0KHZvaWQpOwogc3RhdGljIHZvaWQJbXA0X3BsYXkoY2hhciAq
KTsKQEAgLTExNiwxNCArMTE5LDEyIEBACiAKICAgICBleHRlbnRpb24gPSBzdHJyY2hyKGZpbGVu
YW1lLCAnLicpOwogCi0gICAgaWYgKGV4dGVudGlvbiAmJgotICAgICAgICAoIXN0cmNhc2VjbXAo
ZXh0ZW50aW9uLCAiLm1wNCIpIHx8CS8vIG9mZmljaWFsIGV4dGVudGlvbgotICAgICAgICAgIXN0
cmNhc2VjbXAoZXh0ZW50aW9uLCAiLm00YSIpIHx8CS8vIEFwcGxlIG1wNCBleHRlbnRpb24KLSAg
ICAgICAgICFzdHJjYXNlY21wKGV4dGVudGlvbiwgIi5hYWMiKQkJICAvLyBvbGQgTVBFRzIvNC1B
QUMgZXh0ZW50aW9uCisgICAgaWYgKGV4dGVudGlvbikKKyAgICAgIGlmKCAoIXN0cmNhc2VjbXAo
ZXh0ZW50aW9uLCAiLm1wNCIpIHx8CS8vIG9mZmljaWFsIGV4dGVudGlvbgorICAgICAgICAgICAh
c3RyY2FzZWNtcChleHRlbnRpb24sICIubTRhIikgfHwJLy8gQXBwbGUgbXA0IGV4dGVudGlvbgor
ICAgICAgICAgICAhc3RyY2FzZWNtcChleHRlbnRpb24sICIuYWFjIikJLy8gb2xkIE1QRUcyLzQt
QUFDIGV4dGVudGlvbgogICAgICAgICApKQotICAgIHsKLSAgICAgIHJldHVybiAoMSk7Ci0gICAg
fQorICAgICAgICByZXR1cm4gKDEpOwogICB9CiAgIHJldHVybigwKTsKIH0K
</data>        

          </attachment>
    </bug>

</bugzilla>