From nobody@FreeBSD.org  Fri Aug 31 17:27:35 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CA71416A47A
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 31 Aug 2007 17:27:35 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id B82F513C46B
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 31 Aug 2007 17:27:35 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l7VHRZUu083408
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 31 Aug 2007 17:27:35 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.1/8.14.1/Submit) id l7VHRZ0b083407;
	Fri, 31 Aug 2007 17:27:35 GMT
	(envelope-from nobody)
Message-Id: <200708311727.l7VHRZ0b083407@www.freebsd.org>
Date: Fri, 31 Aug 2007 17:27:35 GMT
From: Marcelo Costa <unixmafia@yahoo.com.br>
To: freebsd-gnats-submit@FreeBSD.org
Subject: glom do not compile in Freebsd 6.2 stable AMD 64
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         115980
>Category:       ports
>Synopsis:       databases/glom does not compile in Freebsd 6.2 stable AMD 64
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pav
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 31 17:30:01 GMT 2007
>Closed-Date:    Wed Sep 05 08:18:09 GMT 2007
>Last-Modified:  Wed Sep  5 08:20:02 GMT 2007
>Originator:     Marcelo Costa
>Release:        
>Organization:
canecao.com.br
>Environment:
mscbsd# uname -a
FreeBSD mscbsd.canecao.com 6.2-STABLE FreeBSD 6.2-STABLE #1: Thu Aug 30 15:07:45 BRT 2007     mscbsd@mscbsd.canecao.com:/usr/obj/usr/src/sys/SMP  amd64

>Description:
py_glom_record.cc:125: error: `Py_ssize_t' does not name a type
py_glom_record.cc:183: error: `Record_tp_as_mapping_length' was not declared in this scope
gmake[5]: ** [py_glom_record.lo] Erro 1
gmake[5]: Saindo do diretrio `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
gmake[4]: ** [all-recursive] Erro 1
gmake[4]: Saindo do diretrio `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
gmake[3]: ** [all-recursive] Erro 1
gmake[3]: Saindo do diretrio `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom'
gmake[2]: ** [all-recursive] Erro 1
gmake[2]: Saindo do diretrio `/usr/ports/databases/glom/work/glom-1.0.4/glom'
gmake[1]: ** [all-recursive] Erro 1
gmake[1]: Saindo do diretrio `/usr/ports/databases/glom/work/glom-1.0.4'
gmake: ** [all] Erro 2
*** Error code 2

Stop in /usr/ports/databases/glom.

>How-To-Repeat:
/usr/ports/databases/glom

make install clean
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-amd64->freebsd-ports-bugs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Fri Aug 31 21:40:45 UTC 2007 
Responsible-Changed-Why:  
ports PR. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=115980 

From: "Scot Hetzel" <swhetzel@gmail.com>
To: "Marcelo Costa" <unixmafia@yahoo.com.br>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: amd64/115980: glom do not compile in Freebsd 6.2 stable AMD 64
Date: Sat, 1 Sep 2007 09:56:42 -0500

 On 8/31/07, Marcelo Costa <unixmafia@yahoo.com.br> wrote:
 > py_glom_record.cc:125: error: `Py_ssize_t' does not name a type
 
 What version of Python do you have installed?
 
 Python 2.4 doesn't define Py_ssize_t.
 Fix: Remove files/patch-glom-libglom-python_embed-py_glom_record.cc as it is only needed for Python 2.5.
 
 Python 2.5 has Py_ssize_t defined in include/python2.5/pyport.h. 
 
 py_glom_record.cc:121: warning: deprecated conversion from string constant to 'char*'
 py_glom_record.cc:186: error: invalid conversion from 'int (*)(PyObject*)' to 'Py_ssize_t (*)(PyObject*)'
 gmake[5]: *** [py_glom_record.lo] Error 1
 gmake[5]: Leaving directory `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
 
 Not sure how to fix this error with python 2.5.
 
 Scot

From: "Scot Hetzel" <swhetzel@gmail.com>
To: "Marcelo Soares da Costa" <unixmafia@yahoo.com.br>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: amd64/115980: glom do not compile in Freebsd 6.2 stable AMD 64
Date: Mon, 3 Sep 2007 14:59:42 -0500

 On 9/3/07, Marcelo Soares da Costa <unixmafia@yahoo.com.br> wrote:
 > Em S=E1b, 2007-09-01 =E0s 09:56 -0500, Scot Hetzel escreveu:
 > > On 8/31/07, Marcelo Costa <unixmafia@yahoo.com.br> wrote:
 > > > py_glom_record.cc:125: error: `Py_ssize_t' does not name a type
 > >
 > > What version of Python do you have installed?
 > >
 > > Python 2.4 doesn't define Py_ssize_t.
 > > Fix: Remove files/patch-glom-libglom-python_embed-py_glom_record.cc as =
 it is only needed for Python 2.5.
 > >
 
 >  cd /usr/ports/lang/python25/
 > make deinstall
 > make instal clean
 > rehash
 >  cd /usr/ports/databases/glom/
 > make clean
 > make install clean
 > =3D=3D=3D>  Cleaning for glom-1.0.4_1
 > mscbsd# make install clean
 > =3D=3D=3D>  Extracting for glom-1.0.4_1
 > =3D> MD5 Checksum OK for glom-1.0.4.tar.bz2.
 > =3D> SHA256 Checksum OK for glom-1.0.4.tar.bz2.
 > =3D=3D=3D>  Patching for glom-1.0.4_1
 > =3D=3D=3D>  Applying FreeBSD patches for glom-1.0.4_1
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/iso-codes.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on file: /usr/local/bin/python2.4 - fou=
 nd
 > =3D=3D=3D>   glom-1.0.4_1 depends on executable: gmake - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on file: /usr/local/bin/intltool-extrac=
 t -
 > found
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/gnome-mime-data-2.0.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on executable: pkg-config - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/gnome-doc-utils.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/gnome-python-2.0.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/gnome-python-extras-2.0.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on
 > file: /usr/local/libdata/pkgconfig/pygtk-2.0.pc - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on file: /usr/local/libdata/xorg/librar=
 ies -
 > found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: bakery-2.4 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gdamm-1.3 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gnomecanvasmm-2.6 - =
 found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: intl - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: esd.2 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: atk-1.0.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gailutil.18 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gconf-2.4 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: glib-2.0.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gnomevfs-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gtk-x11-2.0.0 - foun=
 d
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: art_lgpl_2.5 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: bonobo-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: bonoboui-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: glade-2.0.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gnome-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gnomecanvas-2.0 - fo=
 und
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gnomeui-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: gtkhtml-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: IDL-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: xml2.5 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: xslt.2 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: linc.1 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: ORBit-2.0 - found
 > =3D=3D=3D>   glom-1.0.4_1 depends on shared library: pango-1.0.0 - found
 >
 >
 >  c++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../ -D_THREAD_SAFE
 > -DORBIT2=3D1 -D_REENTRANT -I/usr/local/include/bakery-2.4
 > -I/usr/local/lib/bakery-2.4/include -I/usr/local/include/gtkmm-2.4
 > -I/usr/local/lib/gtkmm-2.4/include -I/usr/local/include/gconfmm-2.6
 > -I/usr/local/lib/gconfmm-2.6/include -I/usr/local/include/libglademm-2.4
 > -I/usr/local/lib/libglademm-2.4/include -I/usr/local/include/libxml
 > ++-2.6 -I/usr/local/include/libxml++-2.6/include
 > -I/usr/local/include/gnome-vfsmm-2.6
 > -I/usr/local/lib/gnome-vfsmm-2.6/include -I/usr/local/include/glibmm-2.4
 > -I/usr/local/lib/glibmm-2.4/include -I/usr/local/include/gdkmm-2.4
 > -I/usr/local/lib/gdkmm-2.4/include -I/usr/local/include/pangomm-1.4
 > -I/usr/local/include/atkmm-1.6 -I/usr/local/include/gtk-2.0
 > -I/usr/local/include/sigc++-2.0 -I/usr/local/lib/sigc++-2.0/include
 > -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include
 > -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/cairomm-1.0
 > -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo
 > -I/usr/local/include -I/usr/local/include/freetype2
 > -I/usr/local/include/atk-1.0 -I/usr/local/include/gconf/2
 > -I/usr/local/include/orbit-2.0 -I/usr/local/include/libglade-2.0
 > -I/usr/local/include/libxml2 -I/usr/local/include/gnome-vfs-2.0
 > -I/usr/local/lib/gnome-vfs-2.0/include
 > -I/usr/local/include/libgnomecanvasmm-2.6
 > -I/usr/local/lib/libgnomecanvasmm-2.6/include
 > -I/usr/local/include/libgnomecanvas-2.0 -I/usr/local/include/libart-2.0
 > -I/usr/local/include/pygda-1.2 -I/usr/local/include/pygtk-2.0
 > -I/usr/local/include/libgda-1.2 -I/usr/local/include/libgnome-2.0
 > -I/usr/local/include/libbonobo-2.0
 > -I/usr/local/include/bonobo-activation-2.0
 > -I/usr/local/include/libgdamm-2.0 -I/usr/local/lib/libgdamm-2.0/include
 > -I/usr/local/include/python2.4 -I/usr/local/include -O2
 > -fno-strict-aliasing -pipe -Wall -Wno-long-long -MT py_glom_record.lo
 > -MD -MP -MF .deps/py_glom_record.Tpo -c py_glom_record.cc  -fPIC -DPIC
 > -o .libs/py_glom_record.o
 > py_glom_record.cc:125: error: `Py_ssize_t' does not name a type
 > py_glom_record.cc:183: error: `Record_tp_as_mapping_length' was not
 > declared in this scope
 > gmake[5]: ** [py_glom_record.lo] Erro 1
 > gmake[5]: Saindo do diret=F3rio
 > `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
 > gmake[4]: ** [all-recursive] Erro 1
 > gmake[4]: Saindo do diret=F3rio
 > `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
 > gmake[3]: ** [all-recursive] Erro 1
 > gmake[3]: Saindo do diret=F3rio
 > `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom'
 > gmake[2]: ** [all-recursive] Erro 1
 > gmake[2]: Saindo do diret=F3rio
 > `/usr/ports/databases/glom/work/glom-1.0.4/glom'
 > gmake[1]: ** [all-recursive] Erro 1
 > gmake[1]: Saindo do diret=F3rio
 > `/usr/ports/databases/glom/work/glom-1.0.4'
 > gmake: ** [all] Erro 2
 > *** Error code 2
 >
 > Stop in /usr/ports/databases/glom.
 >
 >
 > this is correct ???
 >
 > =3D=3D=3D>   glom-1.0.4_1 depends on file: /usr/local/bin/python2.4 - fou=
 nd
 >
 > mscbsd# cd files/
 > mscbsd# ll
 > total 2
 > -rw-r--r--  1 root  wheel  710 30 Jul 06:41
 > patch-glom-libglom-python_embed-py_glom_record.cc
 > mscbsd# rm patch-glom-libglom-python_embed-py_glom_record.cc
 >
 >
 > same error in compile
 >
 > tks a lote for help
 >
 Did you do a 'make clean' and then a 'make install' after removing the
 above file?
 
 As that patch file changes int to Py_ssize_t in py_glom_record.cc.
 
 Scot
Responsible-Changed-From-To: freebsd-ports-bugs->pav 
Responsible-Changed-By: pav 
Responsible-Changed-When: Tue Sep 4 14:25:22 UTC 2007 
Responsible-Changed-Why:  
Track 

http://www.freebsd.org/cgi/query-pr.cgi?pr=115980 

From: "Scot Hetzel" <swhetzel@gmail.com>
To: "Marcelo Costa" <unixmafia@yahoo.com.br>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: amd64/115980: glom do not compile in Freebsd 6.2 stable AMD 64
Date: Tue, 4 Sep 2007 09:35:07 -0500

 ------=_Part_5002_2406550.1188916507893
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 On 9/1/07, Scot Hetzel <swhetzel@gmail.com> wrote:
 > On 8/31/07, Marcelo Costa <unixmafia@yahoo.com.br> wrote:
 > > py_glom_record.cc:125: error: `Py_ssize_t' does not name a type
 >
 > What version of Python do you have installed?
 >
 > Python 2.4 doesn't define Py_ssize_t.
 > Fix: Remove files/patch-glom-libglom-python_embed-py_glom_record.cc as it is only needed for Python 2.5.
 >
 > Python 2.5 has Py_ssize_t defined in include/python2.5/pyport.h.
 >
 > py_glom_record.cc:121: warning: deprecated conversion from string constant to 'char*'
 > py_glom_record.cc:186: error: invalid conversion from 'int (*)(PyObject*)' to 'Py_ssize_t (*)(PyObject*)'
 > gmake[5]: *** [py_glom_record.lo] Error 1
 > gmake[5]: Leaving directory `/usr/ports/databases/glom/work/glom-1.0.4/glom/libglom/python_embed'
 >
 > Not sure how to fix this error with python 2.5.
 >
 I  performed a google search on this problem and found a patch at:
 
 http://www.nabble.com/Python-2.5-compile-on-x86_64-t2826276.html
 
 Attached is an untested patch for files/patch-glom-*-py_glom_record.cc
 based on the information from the above URL, that should allow it to
 build with python 2.5.
 
 Scot
 
 ------=_Part_5002_2406550.1188916507893
 Content-Type: application/octet-stream; name=glom
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_f66i4hmw
 Content-Disposition: attachment; filename="glom"
 
 AwAAAAAAAIDp440=
 ------=_Part_5002_2406550.1188916507893--

From: Pav Lucistnik <pav@oook.cz>
To: bug-followup@FreeBSD.org, swhetzel@gmail.com
Cc:  
Subject: Re: ports/115980: databases/glom does not compile in Freebsd 6.2
	stable AMD 64
Date: Tue, 04 Sep 2007 21:39:39 +0200

 Scot,
 
 the patch you attached is already included in the port, it still doesn't
 compile.
 
 Any other ideas?
 
 -- 
 Pav Lucistnik <pav@oook.cz>
               <pav@FreeBSD.org>
 
 What to tell to a KDE developer: "Your default theme reminds me of candy
 and makes me want to lick my monitor."
 

From: "Scot Hetzel" <swhetzel@gmail.com>
To: "Pav Lucistnik" <pav@oook.cz>
Cc: bug-followup@freebsd.org
Subject: Re: ports/115980: databases/glom does not compile in Freebsd 6.2 stable AMD 64
Date: Wed, 5 Sep 2007 01:19:30 -0500

 ------=_Part_3733_13419292.1188973170997
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 On 9/4/07, Pav Lucistnik <pav@oook.cz> wrote:
 > Scot,
 >
 > the patch you attached is already included in the port, it still doesn't
 > compile.
 >
 > Any other ideas?
 >
 Pull the fix from the glom svn repository ;-)
 
 Attached is the patch that will allow the port to build with either
 Python 2.4 or 2.5.
 
 Changed file:
 files/patch-glom-libglom-python_embed-py_glom_record.cc
 
 New files:
 files/patch-glom-libglom-python_embed-py_glom_related.cc
 files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc
 
 Scot
 
 ------=_Part_3733_13419292.1188973170997
 Content-Type: application/octet-stream; name=glom.fix
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_f67ftgtx
 Content-Disposition: attachment; filename="glom.fix"
 
 SW5kZXg6IGZpbGVzL3BhdGNoLWdsb20tbGliZ2xvbS1weXRob25fZW1iZWQtcHlfZ2xvbV9yZWNv
 cmQuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9wb3J0cy9kYXRhYmFzZXMvZ2xv
 bS9maWxlcy9wYXRjaC1nbG9tLWxpYmdsb20tcHl0aG9uX2VtYmVkLXB5X2dsb21fcmVjb3JkLmNj
 LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtdSAtcjEuMSBwYXRjaC1nbG9tLWxpYmds
 b20tcHl0aG9uX2VtYmVkLXB5X2dsb21fcmVjb3JkLmNjCi0tLSBmaWxlcy9wYXRjaC1nbG9tLWxp
 Ymdsb20tcHl0aG9uX2VtYmVkLXB5X2dsb21fcmVjb3JkLmNjCTMwIEp1bCAyMDA3IDA5OjQxOjAx
 IC0wMDAwCTEuMQorKysgZmlsZXMvcGF0Y2gtZ2xvbS1saWJnbG9tLXB5dGhvbl9lbWJlZC1weV9n
 bG9tX3JlY29yZC5jYwk1IFNlcCAyMDA3IDA2OjA0OjIzIC0wMDAwCkBAIC0xLDIwICsxLDE1NyBA
 QAotLS0tIGdsb20vbGliZ2xvbS9weXRob25fZW1iZWQvcHlfZ2xvbV9yZWNvcmQuY2Mub3JpZwlT
 dW4gSnVsIDE1IDEzOjM0OjE4IDIwMDcKLSsrKyBnbG9tL2xpYmdsb20vcHl0aG9uX2VtYmVkL3B5
 X2dsb21fcmVjb3JkLmNjCVN1biBKdWwgMTUgMTM6MzQ6NDQgMjAwNwotQEAgLTEyMiw3ICsxMjIs
 NyBAQAorLS0tIGdsb20vbGliZ2xvbS9weXRob25fZW1iZWQvcHlfZ2xvbV9yZWNvcmQuY2Mub3Jp
 ZwkyMDA2LTA0LTI4IDAzOjEyOjMxLjAwMDAwMDAwMCAtMDUwMAorKysrIGdsb20vbGliZ2xvbS9w
 eXRob25fZW1iZWQvcHlfZ2xvbV9yZWNvcmQuY2MJMjAwNy0wOS0wNSAwMDoyMTowMi4zMDU4OTQ0
 NTAgLTA1MDAKK0BAIC01MCw1MSArNTAsNTcgQEAKICAKKyAvL1NldCB0aGUgb2JqZWN0J3MgbWVt
 YmVyIGRhdGEsIGZyb20gdGhlIHBhcmFtZXRlcnMgc3VwcGxpZWQgd2hlbiBjcmVhdGluZyB0aGUg
 b2JqZWN0OgorIHN0YXRpYyBpbnQKKy1SZWNvcmRfaW5pdChQeUdsb21SZWNvcmQgKnNlbGYsIFB5
 T2JqZWN0ICogLyogYXJncyAqLywgUHlPYmplY3QgKiAvKiBrd2RzICovKQorK1JlY29yZF9pbml0
 KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqIC8qIGFyZ3MgKi8sIFB5T2JqZWN0ICogLyoga3dk
 cyAqLykKKyB7CisrICBQeUdsb21SZWNvcmQgKnNlbGZfcmVjb3JkID0gKFB5R2xvbVJlY29yZCop
 c2VsZjsKKysKKyAgIC8vc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJ0ZXN0IiwgTlVMTH07Cisg
 CisgICAvL2lmKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxpIiwg
 a3dsaXN0LAorICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNlbGYtPm1f
 dGVzdCkpCisgICAgLy8gcmV0dXJuIC0xOworIAorLSAgaWYoc2VsZikKKysgIGlmKHNlbGZfcmVj
 b3JkKQorICAgeworLSAgICBzZWxmLT5tX3JlbGF0ZWQgPSAwOworKyAgICBzZWxmX3JlY29yZC0+
 bV9yZWxhdGVkID0gMDsKKyAKKy0gICAgaWYoc2VsZi0+bV9wTWFwX2ZpZWxkX3ZhbHVlcyA9PSAw
 KQorLSAgICAgIHNlbGYtPm1fcE1hcF9maWVsZF92YWx1ZXMgPSBuZXcgUHlHbG9tUmVjb3JkOjp0
 eXBlX21hcF9maWVsZF92YWx1ZXMoKTsKKysgICAgaWYoc2VsZl9yZWNvcmQtPm1fcE1hcF9maWVs
 ZF92YWx1ZXMgPT0gMCkKKysgICAgICBzZWxmX3JlY29yZC0+bV9wTWFwX2ZpZWxkX3ZhbHVlcyA9
 IG5ldyBQeUdsb21SZWNvcmQ6OnR5cGVfbWFwX2ZpZWxkX3ZhbHVlcygpOworICAgfQorIAorICAg
 cmV0dXJuIDA7CisgfQorIAorIHN0YXRpYyB2b2lkCistUmVjb3JkX2RlYWxsb2MoUHlHbG9tUmVj
 b3JkKiBzZWxmKQorK1JlY29yZF9kZWFsbG9jKFB5T2JqZWN0KiBzZWxmKQorIHsKKy0gIGlmKHNl
 bGYtPm1fcE1hcF9maWVsZF92YWx1ZXMpCisrICBQeUdsb21SZWNvcmQgKnNlbGZfcmVjb3JkID0g
 KFB5R2xvbVJlY29yZCopc2VsZjsKKysKKysgIGlmKHNlbGZfcmVjb3JkLT5tX3BNYXBfZmllbGRf
 dmFsdWVzKQorICAgeworLSAgICBkZWxldGUgc2VsZi0+bV9wTWFwX2ZpZWxkX3ZhbHVlczsKKy0g
 ICAgc2VsZi0+bV9wTWFwX2ZpZWxkX3ZhbHVlcyA9IDA7CisrICAgIGRlbGV0ZSBzZWxmX3JlY29y
 ZC0+bV9wTWFwX2ZpZWxkX3ZhbHVlczsKKysgICAgc2VsZl9yZWNvcmQtPm1fcE1hcF9maWVsZF92
 YWx1ZXMgPSAwOworICAgfQorIAorLSAgc2VsZi0+b2JfdHlwZS0+dHBfZnJlZSgoUHlPYmplY3Qq
 KXNlbGYpOworKyAgc2VsZl9yZWNvcmQtPm9iX3R5cGUtPnRwX2ZyZWUoKFB5T2JqZWN0KilzZWxm
 KTsKKyB9CisgCisgCisgc3RhdGljIFB5T2JqZWN0ICoKKy1SZWNvcmRfX2dldF9yZWxhdGVkKFB5
 R2xvbVJlY29yZCogc2VsZiwgdm9pZCogLyogY2xvc3VyZSAqLykKKytSZWNvcmRfX2dldF9yZWxh
 dGVkKFB5T2JqZWN0KiBzZWxmLCB2b2lkKiAvKiBjbG9zdXJlICovKQorIHsKKysgIFB5R2xvbVJl
 Y29yZCAqc2VsZl9yZWNvcmQgPSAoUHlHbG9tUmVjb3JkKilzZWxmOworKworICAgLy9XZSBpbml0
 aWFsaXplIGl0IGhlcmUsIHNvIHRoYXQgdGhpcyB3b3JrIG5ldmVyIGhhcHBlbnMgaWYgaXQncyBu
 b3QgbmVlZGVkOgorLSAgaWYoIShzZWxmLT5tX3JlbGF0ZWQpKQorKyAgaWYoIShzZWxmX3JlY29y
 ZC0+bV9yZWxhdGVkKSkKKyAgIHsKKyAgICAgLy9SZXR1cm4gYSBuZXcgUmVsYXRlZFJlY29yZDoK
 KyAgICAgUHlPYmplY3QqIG5ld19hcmdzID0gUHlUdXBsZV9OZXcoMCk7CistICAgIHNlbGYtPm1f
 cmVsYXRlZCA9IChQeUdsb21SZWxhdGVkKilQeU9iamVjdF9DYWxsKChQeU9iamVjdCopUHlHbG9t
 UmVsYXRlZF9HZXRQeVR5cGUoKSwgbmV3X2FyZ3MsIDApOworKyAgICBzZWxmX3JlY29yZC0+bV9y
 ZWxhdGVkID0gKFB5R2xvbVJlbGF0ZWQqKVB5T2JqZWN0X0NhbGwoKFB5T2JqZWN0KilQeUdsb21S
 ZWxhdGVkX0dldFB5VHlwZSgpLCBuZXdfYXJncywgMCk7CisgICAgIFB5X0RFQ1JFRihuZXdfYXJn
 cyk7CisgCisgICAgIC8vRmlsbCBpdDoKKy0gICAgRG9jdW1lbnRfR2xvbTo6dHlwZV92ZWNSZWxh
 dGlvbnNoaXBzIHZlY1JlbGF0aW9uc2hpcHMgPSBzZWxmLT5tX2RvY3VtZW50LT5nZXRfcmVsYXRp
 b25zaGlwcygqKHNlbGYtPm1fdGFibGVfbmFtZSkpOworKyAgICBEb2N1bWVudF9HbG9tOjp0eXBl
 X3ZlY1JlbGF0aW9uc2hpcHMgdmVjUmVsYXRpb25zaGlwcyA9IHNlbGZfcmVjb3JkLT5tX2RvY3Vt
 ZW50LT5nZXRfcmVsYXRpb25zaGlwcygqKHNlbGZfcmVjb3JkLT5tX3RhYmxlX25hbWUpKTsKKyAg
 ICAgUHlHbG9tUmVsYXRlZDo6dHlwZV9tYXBfcmVsYXRpb25zaGlwcyBtYXBfcmVsYXRpb25zaGlw
 czsKKyAgICAgZm9yKERvY3VtZW50X0dsb206OnR5cGVfdmVjUmVsYXRpb25zaGlwczo6Y29uc3Rf
 aXRlcmF0b3IgaXRlciA9IHZlY1JlbGF0aW9uc2hpcHMuYmVnaW4oKTsgaXRlciAhPSB2ZWNSZWxh
 dGlvbnNoaXBzLmVuZCgpOyArK2l0ZXIpCisgICAgIHsKK0BAIC0xMDIsMTQgKzEwOCwxNCBAQAor
 ICAgICAgICAgbWFwX3JlbGF0aW9uc2hpcHNbKCppdGVyKS0+Z2V0X25hbWUoKV0gPSAqaXRlcjsK
 KyAgICAgfQogIAorLSAgICBQeUdsb21SZWxhdGVkX1NldFJlbGF0aW9uc2hpcHMoc2VsZi0+bV9y
 ZWxhdGVkLCBtYXBfcmVsYXRpb25zaGlwcyk7CisrICAgIFB5R2xvbVJlbGF0ZWRfU2V0UmVsYXRp
 b25zaGlwcyhzZWxmX3JlY29yZC0+bV9yZWxhdGVkLCBtYXBfcmVsYXRpb25zaGlwcyk7CiAgCi0t
 c3RhdGljIGludAorLSAgICBzZWxmLT5tX3JlbGF0ZWQtPm1fcmVjb3JkID0gc2VsZjsKKy0gICAg
 UHlfWElOQ1JFRihzZWxmKTsgLy91bnJlZmZlZCBpbiB0aGUgc2VsZi0+bV9yZWxhdGVkJ3MgX2Rl
 YWxsb2MuIC8vVE9ETzogSXMgdGhpcyBhIGNpcmN1bGFyIHJlZmVyZW5jZT8KKysgICAgc2VsZl9y
 ZWNvcmQtPm1fcmVsYXRlZC0+bV9yZWNvcmQgPSBzZWxmX3JlY29yZDsKKysgICAgUHlfWElOQ1JF
 RihzZWxmX3JlY29yZCk7IC8vdW5yZWZmZWQgaW4gdGhlIHNlbGYtPm1fcmVsYXRlZCdzIF9kZWFs
 bG9jLiAvL1RPRE86IElzIHRoaXMgYSBjaXJjdWxhciByZWZlcmVuY2U/CisgICB9CisgCistICBQ
 eV9JTkNSRUYoc2VsZi0+bV9yZWxhdGVkKTsgLy9TaG91bGQgd2UgZG8gdGhpcz8KKy0gIHJldHVy
 biAoUHlPYmplY3QqKXNlbGYtPm1fcmVsYXRlZDsKKysgIFB5X0lOQ1JFRihzZWxmX3JlY29yZC0+
 bV9yZWxhdGVkKTsgLy9TaG91bGQgd2UgZG8gdGhpcz8KKysgIHJldHVybiAoUHlPYmplY3QqKXNl
 bGZfcmVjb3JkLT5tX3JlbGF0ZWQ7CisgfQorIAorIAorQEAgLTEyMiwzMSArMTI4LDQ0IEBACisg
 CisgCisgCisrLy9BZGFwdCB0byBBUEkgY2hhbmdlcyBpbiBQeXRob24gMi41OgorKyNpZiBkZWZp
 bmVkKFBZX1ZFUlNJT05fSEVYKSAmJiAoUFlfVkVSU0lPTl9IRVggPj0gMHgwMjA1MDAwMCkgLyog
 UHl0aG9uIDIuNSsgKi8KICtzdGF0aWMgUHlfc3NpemVfdAotIFJlY29yZF90cF9hc19tYXBwaW5n
 X2xlbmd0aChQeUdsb21SZWNvcmQgKnNlbGYpCisrUmVjb3JkX3RwX2FzX21hcHBpbmdfbGVuZ3Ro
 KFB5T2JqZWN0ICpzZWxmKQorK3sKKysgIFB5R2xvbVJlY29yZCAqc2VsZl9yZWNvcmQgPSAoUHlH
 bG9tUmVjb3JkKilzZWxmOworKyAgcmV0dXJuIHNlbGZfcmVjb3JkLT5tX3BNYXBfZmllbGRfdmFs
 dWVzLT5zaXplKCk7CisrfQorKyNlbHNlCisgc3RhdGljIGludAorLVJlY29yZF90cF9hc19tYXBw
 aW5nX2xlbmd0aChQeUdsb21SZWNvcmQgKnNlbGYpCisrUmVjb3JkX3RwX2FzX21hcHBpbmdfbGVu
 Z3RoKFB5T2JqZWN0ICpzZWxmKQogIHsKLSAgIHJldHVybiBzZWxmLT5tX3BNYXBfZmllbGRfdmFs
 dWVzLT5zaXplKCk7Ci1AQCAtMTQ2LDcgKzE0Niw3IEBACistICByZXR1cm4gc2VsZi0+bV9wTWFw
 X2ZpZWxkX3ZhbHVlcy0+c2l6ZSgpOworKyAgUHlHbG9tUmVjb3JkICpzZWxmX3JlY29yZCA9IChQ
 eUdsb21SZWNvcmQqKXNlbGY7CisrICByZXR1cm4gKGludCkoc2VsZi0+bV9wTWFwX2ZpZWxkX3Zh
 bHVlcy0+c2l6ZSgpKTsKKyB9CisrI2VuZGlmCisgCisgc3RhdGljIFB5T2JqZWN0ICoKKy1SZWNv
 cmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtKFB5R2xvbVJlY29yZCAqc2VsZiwgUHlPYmplY3QgKml0
 ZW0pCisrUmVjb3JkX3RwX2FzX21hcHBpbmdfZ2V0aXRlbShQeU9iamVjdCAqc2VsZiwgUHlPYmpl
 Y3QgKml0ZW0pCisgeworKyAgUHlHbG9tUmVjb3JkICpzZWxmX3JlY29yZCA9IChQeUdsb21SZWNv
 cmQqKXNlbGY7CisrCisgICBpZihQeVN0cmluZ19DaGVjayhpdGVtKSkKKyAgIHsKKyAgICAgY29u
 c3QgY2hhciogcGNoS2V5ID0gUHlTdHJpbmdfQXNTdHJpbmcoaXRlbSk7CisgICAgIGlmKHBjaEtl
 eSkKKyAgICAgeworICAgICAgIGNvbnN0IEdsaWI6OnVzdHJpbmcga2V5KHBjaEtleSk7CistICAg
 ICAgaWYoc2VsZiAmJiBzZWxmLT5tX3BNYXBfZmllbGRfdmFsdWVzKQorKyAgICAgIGlmKHNlbGZf
 cmVjb3JkICYmIHNlbGZfcmVjb3JkLT5tX3BNYXBfZmllbGRfdmFsdWVzKQorICAgICAgIHsKKy0g
 ICAgICAgIFB5R2xvbVJlY29yZDo6dHlwZV9tYXBfZmllbGRfdmFsdWVzOjpjb25zdF9pdGVyYXRv
 ciBpdGVyRmluZCA9IHNlbGYtPm1fcE1hcF9maWVsZF92YWx1ZXMtPmZpbmQoa2V5KTsKKy0gICAg
 ICAgIGlmKGl0ZXJGaW5kICE9IHNlbGYtPm1fcE1hcF9maWVsZF92YWx1ZXMtPmVuZCgpKQorKyAg
 ICAgICAgUHlHbG9tUmVjb3JkOjp0eXBlX21hcF9maWVsZF92YWx1ZXM6OmNvbnN0X2l0ZXJhdG9y
 IGl0ZXJGaW5kID0gc2VsZl9yZWNvcmQtPm1fcE1hcF9maWVsZF92YWx1ZXMtPmZpbmQoa2V5KTsK
 KysgICAgICAgIGlmKGl0ZXJGaW5kICE9IHNlbGZfcmVjb3JkLT5tX3BNYXBfZmllbGRfdmFsdWVz
 LT5lbmQoKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgcmV0dXJuIHB5Z2RhX3ZhbHVlX2FzX3B5
 b2JqZWN0KGl0ZXJGaW5kLT5zZWNvbmQuZ29iaigpLCB0cnVlIC8qIGNvcHkgKi8pOwogICAgICAg
 ICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgewogLSAgICAgICAgICBnX3dhcm5pbmcoIlJl
 Y29yZF90cF9hc19tYXBwaW5nX2dldGl0ZW0oKTogaXRlbSBub3QgZm91bmQgaW4gbV9wTWFwX2Zp
 ZWxkX3ZhbHVlcy4gc2l6ZT0lZCwgaXRlbT0lcyIsIHNlbGYtPm1fcE1hcF9maWVsZF92YWx1ZXMt
 PnNpemUoKSwgcGNoS2V5KTsKLSsgICAgICAgICAgZ193YXJuaW5nKCJSZWNvcmRfdHBfYXNfbWFw
 cGluZ19nZXRpdGVtKCk6IGl0ZW0gbm90IGZvdW5kIGluIG1fcE1hcF9maWVsZF92YWx1ZXMuIHNp
 emU9JWQsIGl0ZW09JXMiLCAoaW50KXNlbGYtPm1fcE1hcF9maWVsZF92YWx1ZXMtPnNpemUoKSwg
 cGNoS2V5KTsKKysgICAgICAgICAgZ193YXJuaW5nKCJSZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRp
 dGVtKCk6IGl0ZW0gbm90IGZvdW5kIGluIG1fcE1hcF9maWVsZF92YWx1ZXMuIHNpemU9JWQsIGl0
 ZW09JXMiLCAoaW50KXNlbGZfcmVjb3JkLT5tX3BNYXBfZmllbGRfdmFsdWVzLT5zaXplKCksIHBj
 aEtleSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKK0BAIC0xODAsOCArMTk5
 LDggQEAKKyAqLworIAorIHN0YXRpYyBQeU1hcHBpbmdNZXRob2RzIFJlY29yZF90cF9hc19tYXBw
 aW5nID0geworLSAgICAoaW5xdWlyeSlSZWNvcmRfdHBfYXNfbWFwcGluZ19sZW5ndGgsCistICAg
 IChiaW5hcnlmdW5jKVJlY29yZF90cF9hc19tYXBwaW5nX2dldGl0ZW0sCisrICAgIFJlY29yZF90
 cF9hc19tYXBwaW5nX2xlbmd0aCwKKysgICAgUmVjb3JkX3RwX2FzX21hcHBpbmdfZ2V0aXRlbSwK
 KyAgICAgKG9iam9iamFyZ3Byb2MpMCAvKiBSZWNvcmRfdHBfYXNfbWFwcGluZ19zZXRpdGVtICov
 CisgfTsKKyAKSW5kZXg6IGZpbGVzL3BhdGNoLWdsb20tbGliZ2xvbS1weXRob25fZW1iZWQtcHlf
 Z2xvbV9yZWxhdGVkLmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IGZpbGVzL3BhdGNoLWdsb20tbGli
 Z2xvbS1weXRob25fZW1iZWQtcHlfZ2xvbV9yZWxhdGVkLmNjCmRpZmYgLU4gZmlsZXMvcGF0Y2gt
 Z2xvbS1saWJnbG9tLXB5dGhvbl9lbWJlZC1weV9nbG9tX3JlbGF0ZWQuY2MKLS0tIC9kZXYvbnVs
 bAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBmaWxlcy9wYXRjaC1nbG9tLWxpYmdsb20t
 cHl0aG9uX2VtYmVkLXB5X2dsb21fcmVsYXRlZC5jYwk1IFNlcCAyMDA3IDA2OjA0OjQyIC0wMDAw
 CkBAIC0wLDAgKzEsMTcwIEBACistLS0gZ2xvbS9saWJnbG9tL3B5dGhvbl9lbWJlZC9weV9nbG9t
 X3JlbGF0ZWQuY2Mub3JpZwkyMDA2LTA1LTIwIDA2OjM1OjMyLjAwMDAwMDAwMCAtMDUwMAorKysr
 IGdsb20vbGliZ2xvbS9weXRob25fZW1iZWQvcHlfZ2xvbV9yZWxhdGVkLmNjCTIwMDctMDktMDUg
 MDA6NDI6NTIuNjU3MzA2MTUwIC0wNTAwCitAQCAtNTIsNjIgKzUyLDc5IEBACisgCisgLy9TZXQg
 dGhlIG9iamVjdCdzIG1lbWJlciBkYXRhLCBmcm9tIHRoZSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHdo
 ZW4gY3JlYXRpbmcgdGhlIG9iamVjdDoKKyBzdGF0aWMgaW50CistUmVsYXRlZF9pbml0KFB5R2xv
 bVJlbGF0ZWQgKnNlbGYsIFB5T2JqZWN0KiAvKiBhcmdzICovLCBQeU9iamVjdCogLyoga3dkcyAq
 LykKKytSZWxhdGVkX2luaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiAvKiBhcmdzICovLCBQ
 eU9iamVjdCogLyoga3dkcyAqLykKKyB7CistICBpZihzZWxmKQorKyAgUHlHbG9tUmVsYXRlZCAq
 c2VsZl9yZWxhdGVkID0gKFB5R2xvbVJlbGF0ZWQqKXNlbGY7CisrCisrICBpZihzZWxmX3JlbGF0
 ZWQpCisgICB7CistICAgIHNlbGYtPm1fcmVjb3JkID0gMDsKKysgICAgc2VsZl9yZWxhdGVkLT5t
 X3JlY29yZCA9IDA7CisgCistICAgIGlmKHNlbGYtPm1fcE1hcF9yZWxhdGlvbnNoaXBzID09IDAp
 CistICAgICAgc2VsZi0+bV9wTWFwX3JlbGF0aW9uc2hpcHMgPSBuZXcgUHlHbG9tUmVsYXRlZDo6
 dHlwZV9tYXBfcmVsYXRpb25zaGlwcygpOworKyAgICBpZihzZWxmX3JlbGF0ZWQtPm1fcE1hcF9y
 ZWxhdGlvbnNoaXBzID09IDApCisrICAgICAgc2VsZl9yZWxhdGVkLT5tX3BNYXBfcmVsYXRpb25z
 aGlwcyA9IG5ldyBQeUdsb21SZWxhdGVkOjp0eXBlX21hcF9yZWxhdGlvbnNoaXBzKCk7CisgCist
 ICAgIGlmKHNlbGYtPm1fcE1hcF9yZWxhdGVkcmVjb3JkcyA9PSAwKQorLSAgICAgIHNlbGYtPm1f
 cE1hcF9yZWxhdGVkcmVjb3JkcyA9IG5ldyBQeUdsb21SZWxhdGVkOjp0eXBlX21hcF9yZWxhdGVk
 cmVjb3JkcygpOworKyAgICBpZihzZWxmX3JlbGF0ZWQtPm1fcE1hcF9yZWxhdGVkcmVjb3JkcyA9
 PSAwKQorKyAgICAgIHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0ZWRyZWNvcmRzID0gbmV3IFB5
 R2xvbVJlbGF0ZWQ6OnR5cGVfbWFwX3JlbGF0ZWRyZWNvcmRzKCk7CisgICB9CisgCisgICByZXR1
 cm4gMDsKKyB9CisgCisgc3RhdGljIHZvaWQKKy1SZWxhdGVkX2RlYWxsb2MoUHlHbG9tUmVsYXRl
 ZCogc2VsZikKKytSZWxhdGVkX2RlYWxsb2MoUHlPYmplY3QqIHNlbGYpCisgeworLSAgaWYoc2Vs
 Zi0+bV9wTWFwX3JlbGF0aW9uc2hpcHMpCisrICBQeUdsb21SZWxhdGVkICpzZWxmX3JlbGF0ZWQg
 PSAoUHlHbG9tUmVsYXRlZCopc2VsZjsKKysKKysgIGlmKHNlbGZfcmVsYXRlZC0+bV9wTWFwX3Jl
 bGF0aW9uc2hpcHMpCisgICB7CistICAgIGRlbGV0ZSBzZWxmLT5tX3BNYXBfcmVsYXRpb25zaGlw
 czsKKy0gICAgc2VsZi0+bV9wTWFwX3JlbGF0aW9uc2hpcHMgPSAwOworKyAgICBkZWxldGUgc2Vs
 Zl9yZWxhdGVkLT5tX3BNYXBfcmVsYXRpb25zaGlwczsKKysgICAgc2VsZl9yZWxhdGVkLT5tX3BN
 YXBfcmVsYXRpb25zaGlwcyA9IDA7CisgICB9CisgCistICBpZihzZWxmLT5tX3JlY29yZCkKKysg
 IGlmKHNlbGZfcmVsYXRlZC0+bV9yZWNvcmQpCisgICB7CistICAgIFB5X1hERUNSRUYoIChQeU9i
 amVjdCopc2VsZi0+bV9yZWNvcmQgKTsKKy0gICAgc2VsZi0+bV9yZWNvcmQgPSAwOworKyAgICBQ
 eV9YREVDUkVGKCAoUHlPYmplY3QqKXNlbGZfcmVsYXRlZC0+bV9yZWNvcmQgKTsKKysgICAgc2Vs
 Zl9yZWxhdGVkLT5tX3JlY29yZCA9IDA7CisgICB9CisgCistICBpZihzZWxmLT5tX3BNYXBfcmVs
 YXRlZHJlY29yZHMpCisrICBpZihzZWxmX3JlbGF0ZWQtPm1fcE1hcF9yZWxhdGVkcmVjb3JkcykK
 KyAgIHsKKyAgICAgLy9VbnJlZiBlYWNoIGl0ZW06CistICAgIGZvcihQeUdsb21SZWxhdGVkOjp0
 eXBlX21hcF9yZWxhdGVkcmVjb3Jkczo6aXRlcmF0b3IgaXRlciA9IHNlbGYtPm1fcE1hcF9yZWxh
 dGVkcmVjb3Jkcy0+YmVnaW4oKTsgaXRlciAhPSBzZWxmLT5tX3BNYXBfcmVsYXRlZHJlY29yZHMt
 PmVuZCgpOyArK2l0ZXIpCisrICAgIGZvcihQeUdsb21SZWxhdGVkOjp0eXBlX21hcF9yZWxhdGVk
 cmVjb3Jkczo6aXRlcmF0b3IgaXRlciA9IHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0ZWRyZWNv
 cmRzLT5iZWdpbigpOyBpdGVyICE9IHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0ZWRyZWNvcmRz
 LT5lbmQoKTsgKytpdGVyKQorICAgICB7CisgICAgICAgUHlfWERFQ1JFRiggKFB5T2JqZWN0Kiko
 aXRlci0+c2Vjb25kKSApOworICAgICB9CisgCistICAgIGRlbGV0ZSBzZWxmLT5tX3BNYXBfcmVs
 YXRlZHJlY29yZHM7CistICAgIHNlbGYtPm1fcE1hcF9yZWxhdGVkcmVjb3JkcyA9IDA7CisrICAg
 IGRlbGV0ZSBzZWxmX3JlbGF0ZWQtPm1fcE1hcF9yZWxhdGVkcmVjb3JkczsKKysgICAgc2VsZl9y
 ZWxhdGVkLT5tX3BNYXBfcmVsYXRlZHJlY29yZHMgPSAwOworICAgfQorIAorLSAgc2VsZi0+b2Jf
 dHlwZS0+dHBfZnJlZSgoUHlPYmplY3QqKXNlbGYpOworKyAgc2VsZl9yZWxhdGVkLT5vYl90eXBl
 LT50cF9mcmVlKChQeU9iamVjdCopc2VsZik7CisgfQorIAorIAorKy8vQWRhcHQgdG8gQVBJIGNo
 YW5nZXMgaW4gUHl0aG9uIDIuNToKKysjaWYgZGVmaW5lZChQWV9WRVJTSU9OX0hFWCkgJiYgKFBZ
 X1ZFUlNJT05fSEVYID49IDB4MDIwNTAwMDApIC8qIFB5dGhvbiAyLjUgKi8KKytzdGF0aWMgUHlf
 c3NpemVfdAorK1JlbGF0ZWRfdHBfYXNfbWFwcGluZ19sZW5ndGgoUHlPYmplY3QgKnNlbGYpCisr
 eworKyAgUHlHbG9tUmVsYXRlZCAqc2VsZl9yZWxhdGVkID0gKFB5R2xvbVJlbGF0ZWQqKXNlbGY7
 CisrICByZXR1cm4gc2VsZl9yZWxhdGVkLT5tX3BNYXBfcmVsYXRpb25zaGlwcy0+c2l6ZSgpOwor
 K30KKysjZWxzZQorIHN0YXRpYyBpbnQKKy1SZWxhdGVkX3RwX2FzX21hcHBpbmdfbGVuZ3RoKFB5
 R2xvbVJlbGF0ZWQgKnNlbGYpCisrUmVsYXRlZF90cF9hc19tYXBwaW5nX2xlbmd0aChQeU9iamVj
 dCAqc2VsZikKKyB7CistICByZXR1cm4gc2VsZi0+bV9wTWFwX3JlbGF0aW9uc2hpcHMtPnNpemUo
 KTsKKysgIFB5R2xvbVJlbGF0ZWQgKnNlbGZfcmVsYXRlZCA9IChQeUdsb21SZWxhdGVkKilzZWxm
 OworKyAgcmV0dXJuIHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0aW9uc2hpcHMtPnNpemUoKTsK
 KyB9CisrI2VuZGlmCisgCisgc3RhdGljIFB5T2JqZWN0ICoKKy1SZWxhdGVkX3RwX2FzX21hcHBp
 bmdfZ2V0aXRlbShQeUdsb21SZWxhdGVkICpzZWxmLCBQeU9iamVjdCAqaXRlbSkKKytSZWxhdGVk
 X3RwX2FzX21hcHBpbmdfZ2V0aXRlbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKml0ZW0pCisg
 eworKyAgUHlHbG9tUmVsYXRlZCAqc2VsZl9yZWxhdGVkID0gKFB5R2xvbVJlbGF0ZWQqKXNlbGY7
 CisrCisgICBpZihQeVN0cmluZ19DaGVjayhpdGVtKSkKKyAgIHsKKyAgICAgY29uc3QgY2hhciog
 cGNoS2V5ID0gUHlTdHJpbmdfQXNTdHJpbmcoaXRlbSk7CitAQCAtMTE2LDggKzEzMyw4IEBACisg
 ICAgICAgY29uc3QgR2xpYjo6dXN0cmluZyBrZXkocGNoS2V5KTsKKyAKKyAgICAgICAvL1JldHVy
 biBhIGNhY2hlZCBpdGVtIGlmIHBvc3NpYmxlOgorLSAgICAgIFB5R2xvbVJlbGF0ZWQ6OnR5cGVf
 bWFwX3JlbGF0ZWRyZWNvcmRzOjppdGVyYXRvciBpdGVyQ2FjaGVGaW5kID0gc2VsZi0+bV9wTWFw
 X3JlbGF0ZWRyZWNvcmRzLT5maW5kKGtleSk7CistICAgICAgaWYoaXRlckNhY2hlRmluZCAhPSBz
 ZWxmLT5tX3BNYXBfcmVsYXRlZHJlY29yZHMtPmVuZCgpKQorKyAgICAgIFB5R2xvbVJlbGF0ZWQ6
 OnR5cGVfbWFwX3JlbGF0ZWRyZWNvcmRzOjppdGVyYXRvciBpdGVyQ2FjaGVGaW5kID0gc2VsZl9y
 ZWxhdGVkLT5tX3BNYXBfcmVsYXRlZHJlY29yZHMtPmZpbmQoa2V5KTsKKysgICAgICBpZihpdGVy
 Q2FjaGVGaW5kICE9IHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0ZWRyZWNvcmRzLT5lbmQoKSkK
 KyAgICAgICB7CisgICAgICAgICAvL1JldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgY2FjaGVkIGl0
 ZW06CisgICAgICAgICBQeUdsb21SZWxhdGVkUmVjb3JkKiBweVJlbGF0ZWRSZWNvcmQgPSBpdGVy
 Q2FjaGVGaW5kLT5zZWNvbmQ7CitAQCAtMTI3LDggKzE0NCw4IEBACisgICAgICAgZWxzZQorICAg
 ICAgIHsKKyAgICAgICAgIC8vSWYgdGhlIHJlbGF0aW9uc2hpcCBleGlzdHM6CistICAgICAgICBQ
 eUdsb21SZWxhdGVkOjp0eXBlX21hcF9yZWxhdGlvbnNoaXBzOjpjb25zdF9pdGVyYXRvciBpdGVy
 RmluZCA9IHNlbGYtPm1fcE1hcF9yZWxhdGlvbnNoaXBzLT5maW5kKGtleSk7CistICAgICAgICBp
 ZihpdGVyRmluZCAhPSBzZWxmLT5tX3BNYXBfcmVsYXRpb25zaGlwcy0+ZW5kKCkpCisrICAgICAg
 ICBQeUdsb21SZWxhdGVkOjp0eXBlX21hcF9yZWxhdGlvbnNoaXBzOjpjb25zdF9pdGVyYXRvciBp
 dGVyRmluZCA9IHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0aW9uc2hpcHMtPmZpbmQoa2V5KTsK
 KysgICAgICAgIGlmKGl0ZXJGaW5kICE9IHNlbGZfcmVsYXRlZC0+bV9wTWFwX3JlbGF0aW9uc2hp
 cHMtPmVuZCgpKQorICAgICAgICAgeworICAgICAgICAgICAvL1JldHVybiBhIG5ldyBSZWxhdGVk
 UmVjb3JkOgorICAgICAgICAgICBQeU9iamVjdCogbmV3X2FyZ3MgPSBQeVR1cGxlX05ldygwKTsK
 K0BAIC0xNDAsMTUgKzE1NywxNSBAQAorICAgICAgICAgICAvL0dldCB0aGUgdmFsdWUgb2YgdGhl
 IGZyb21fa2V5IGluIHRoZSBwYXJlbnQgcmVjb3JkLgorICAgICAgICAgICBzaGFyZWRwdHI8UmVs
 YXRpb25zaGlwPiByZWxhdGlvbnNoaXAgPSBpdGVyRmluZC0+c2Vjb25kOworICAgICAgICAgICBj
 b25zdCBHbGliOjp1c3RyaW5nIGZyb21fa2V5ID0gcmVsYXRpb25zaGlwLT5nZXRfZnJvbV9maWVs
 ZCgpOworLSAgICAgICAgICBQeUdsb21SZWNvcmQ6OnR5cGVfbWFwX2ZpZWxkX3ZhbHVlczo6Y29u
 c3RfaXRlcmF0b3IgaXRlckZyb21LZXkgPSBzZWxmLT5tX3JlY29yZC0+bV9wTWFwX2ZpZWxkX3Zh
 bHVlcy0+ZmluZChmcm9tX2tleSk7CistICAgICAgICAgIGlmKGl0ZXJGcm9tS2V5ICE9IHNlbGYt
 Pm1fcmVjb3JkLT5tX3BNYXBfZmllbGRfdmFsdWVzLT5lbmQoKSkKKysgICAgICAgICAgUHlHbG9t
 UmVjb3JkOjp0eXBlX21hcF9maWVsZF92YWx1ZXM6OmNvbnN0X2l0ZXJhdG9yIGl0ZXJGcm9tS2V5
 ID0gc2VsZl9yZWxhdGVkLT5tX3JlY29yZC0+bV9wTWFwX2ZpZWxkX3ZhbHVlcy0+ZmluZChmcm9t
 X2tleSk7CisrICAgICAgICAgIGlmKGl0ZXJGcm9tS2V5ICE9IHNlbGZfcmVsYXRlZC0+bV9yZWNv
 cmQtPm1fcE1hcF9maWVsZF92YWx1ZXMtPmVuZCgpKQorICAgICAgICAgICB7CisgICAgICAgICAg
 ICAgY29uc3QgR25vbWU6OkdkYTo6VmFsdWUgZnJvbV9rZXlfdmFsdWUgPSBpdGVyRnJvbUtleS0+
 c2Vjb25kOworIAorICAgICAgICAgICAgIC8vVE9ET19QZXJmb3JtYW5jZToKKyAgICAgICAgICAg
 ICAvL0dldCB0aGUgZnVsbCBmaWVsZCBkZXRhaWxzIHNvIHdlIGNhbiBzcWxpemUgaXRzIHZhbHVl
 OgorICAgICAgICAgICAgIHNoYXJlZHB0cjxGaWVsZD4gZnJvbV9rZXlfZmllbGQ7CistICAgICAg
 ICAgICAgZnJvbV9rZXlfZmllbGQgPSBzZWxmLT5tX3JlY29yZC0+bV9kb2N1bWVudC0+Z2V0X2Zp
 ZWxkKCooc2VsZi0+bV9yZWNvcmQtPm1fdGFibGVfbmFtZSksIGZyb21fa2V5KTsKKysgICAgICAg
 ICAgICBmcm9tX2tleV9maWVsZCA9IHNlbGZfcmVsYXRlZC0+bV9yZWNvcmQtPm1fZG9jdW1lbnQt
 PmdldF9maWVsZCgqKHNlbGZfcmVsYXRlZC0+bV9yZWNvcmQtPm1fdGFibGVfbmFtZSksIGZyb21f
 a2V5KTsKKyAgICAgICAgICAgICBpZihmcm9tX2tleV9maWVsZCkKKyAgICAgICAgICAgICB7Cisg
 ICAgICAgICAgICAgICBHbGliOjp1c3RyaW5nIGtleV92YWx1ZV9zcWxpemVkOworQEAgLTE1Nywx
 MSArMTc0LDExIEBACisgICAgICAgICAgICAgICBpZighR2xvbUNvbnZlcnNpb25zOjp2YWx1ZV9p
 c19lbXB0eShmcm9tX2tleV92YWx1ZSkpIC8vRG8gbm90IGxpbmsgb24gbnVsbC12YWx1ZXMuIFRo
 YXQgd291bGQgY2F1c2UgdXMgdG8gbGluayBvbiAwLCBvciAiMCIuCisgICAgICAgICAgICAgICAg
 IGtleV92YWx1ZV9zcWxpemVkID0gZnJvbV9rZXlfZmllbGQtPnNxbChmcm9tX2tleV92YWx1ZSk7
 CisgCistICAgICAgICAgICAgICBQeUdsb21SZWxhdGVkUmVjb3JkX1NldFJlbGF0aW9uc2hpcChw
 eVJlbGF0ZWRSZWNvcmQsIGl0ZXJGaW5kLT5zZWNvbmQsIGtleV92YWx1ZV9zcWxpemVkLCBzZWxm
 LT5tX3JlY29yZC0+bV9kb2N1bWVudCk7CisrICAgICAgICAgICAgICBQeUdsb21SZWxhdGVkUmVj
 b3JkX1NldFJlbGF0aW9uc2hpcChweVJlbGF0ZWRSZWNvcmQsIGl0ZXJGaW5kLT5zZWNvbmQsIGtl
 eV92YWx1ZV9zcWxpemVkLCBzZWxmX3JlbGF0ZWQtPm1fcmVjb3JkLT5tX2RvY3VtZW50KTsKKyAK
 KyAgICAgICAgICAgICAgIC8vU3RvcmUgaXQgaW4gdGhlIGNhY2hlOgorICAgICAgICAgICAgICAg
 UHlfSU5DUkVGKChQeU9iamVjdCopcHlSZWxhdGVkUmVjb3JkKTsgLy9EZXJlZmVyZW5jZWQgaW4g
 X2RlYWxsb2MoKS4KKy0gICAgICAgICAgICAgICgqKHNlbGYtPm1fcE1hcF9yZWxhdGVkcmVjb3Jk
 cykpW2tleV0gPSBweVJlbGF0ZWRSZWNvcmQ7CisrICAgICAgICAgICAgICAoKihzZWxmX3JlbGF0
 ZWQtPm1fcE1hcF9yZWxhdGVkcmVjb3JkcykpW2tleV0gPSBweVJlbGF0ZWRSZWNvcmQ7CisgCisg
 ICAgICAgICAgICAgICByZXR1cm4gKFB5T2JqZWN0KilweVJlbGF0ZWRSZWNvcmQ7IC8vVE9ETzog
 cHlnZGFfdmFsdWVfYXNfcHlvYmplY3QoaXRlckZpbmQtPnNlY29uZC5nb2JqKCksIHRydWUgLyog
 Y29weSAqLyk7CisgICAgICAgICAgICAgfQorQEAgLTE4NSw4ICsyMDIsOCBAQAorICovCisgCisg
 c3RhdGljIFB5TWFwcGluZ01ldGhvZHMgUmVsYXRlZF90cF9hc19tYXBwaW5nID0geworLSAgICAo
 aW5xdWlyeSlSZWxhdGVkX3RwX2FzX21hcHBpbmdfbGVuZ3RoLAorLSAgICAoYmluYXJ5ZnVuYylS
 ZWxhdGVkX3RwX2FzX21hcHBpbmdfZ2V0aXRlbSwKKysgICAgUmVsYXRlZF90cF9hc19tYXBwaW5n
 X2xlbmd0aCwKKysgICAgUmVsYXRlZF90cF9hc19tYXBwaW5nX2dldGl0ZW0sCisgICAgIChvYmpv
 Ymphcmdwcm9jKTAgLyogUmVsYXRlZF90cF9hc19tYXBwaW5nX3NldGl0ZW0gKi8KKyB9OworIApJ
 bmRleDogZmlsZXMvcGF0Y2gtZ2xvbS1saWJnbG9tLXB5dGhvbl9lbWJlZC1weV9nbG9tX3JlbGF0
 ZWRyZWNvcmQuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogZmlsZXMvcGF0Y2gtZ2xvbS1saWJnbG9t
 LXB5dGhvbl9lbWJlZC1weV9nbG9tX3JlbGF0ZWRyZWNvcmQuY2MKZGlmZiAtTiBmaWxlcy9wYXRj
 aC1nbG9tLWxpYmdsb20tcHl0aG9uX2VtYmVkLXB5X2dsb21fcmVsYXRlZHJlY29yZC5jYwotLS0g
 L2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGZpbGVzL3BhdGNoLWdsb20t
 bGliZ2xvbS1weXRob25fZW1iZWQtcHlfZ2xvbV9yZWxhdGVkcmVjb3JkLmNjCTUgU2VwIDIwMDcg
 MDY6MDU6MTIgLTAwMDAKQEAgLTAsMCArMSwxNTMgQEAKKy0tLSBnbG9tL2xpYmdsb20vcHl0aG9u
 X2VtYmVkL3B5X2dsb21fcmVsYXRlZHJlY29yZC5jYy5vcmlnCTIwMDYtMDUtMjAgMDY6MzU6MzYu
 MDAwMDAwMDAwIC0wNTAwCisrKysgZ2xvbS9saWJnbG9tL3B5dGhvbl9lbWJlZC9weV9nbG9tX3Jl
 bGF0ZWRyZWNvcmQuY2MJMjAwNy0wOS0wNSAwMTowMjoxMy42MDY4MDYwNDMgLTA1MDAKK0BAIC0x
 MzcsMTEgKzEzNywyMiBAQAorICovCisgCisgCisrLy9BZGFwdCB0byBBUEkgY2hhbmdlcyBpbiBQ
 eXRob24gMi41OgorKyNpZiBkZWZpbmVkKFBZX1ZFUlNJT05fSEVYKSAmJiAoUFlfVkVSU0lPTl9I
 RVggPj0gMHgwMjA1MDAwMCkgLyogUHl0aG9uIDIuNSsgKi8KKytzdGF0aWMgUHlfc3NpemVfdAor
 K1JlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19sZW5ndGgoUHlPYmplY3QgKnNlbGYpCisrewor
 KyAgUHlHbG9tUmVsYXRlZFJlY29yZCogc2VsZl9kZXJpdmVkID0gKFB5R2xvbVJlbGF0ZWRSZWNv
 cmQqKXNlbGY7CisrICByZXR1cm4gc2VsZl9kZXJpdmVkLT5tX3BNYXBfZmllbGRfdmFsdWVzLT5z
 aXplKCk7CisrfQorKyNlbHNlCisgc3RhdGljIGludAorLVJlbGF0ZWRSZWNvcmRfdHBfYXNfbWFw
 cGluZ19sZW5ndGgoUHlHbG9tUmVsYXRlZFJlY29yZCAqc2VsZikKKytSZWxhdGVkUmVjb3JkX3Rw
 X2FzX21hcHBpbmdfbGVuZ3RoKFB5T2JqZWN0ICpzZWxmKQorIHsKKy0gIHJldHVybiBzZWxmLT5t
 X3BNYXBfZmllbGRfdmFsdWVzLT5zaXplKCk7CisrICBQeUdsb21SZWxhdGVkUmVjb3JkKiBzZWxm
 X2Rlcml2ZWQgPSAoUHlHbG9tUmVsYXRlZFJlY29yZCopc2VsZjsKKysgIHJldHVybiAoaW50KShz
 ZWxmX2Rlcml2ZWQtPm1fcE1hcF9maWVsZF92YWx1ZXMtPnNpemUoKSk7CisgfQorKyNlbmRpZgor
 IAorIHN0YXRpYyB2b2lkIFJlbGF0ZWRSZWNvcmRfSGFuZGxlUHl0aG9uRXJyb3IoKQorIHsKK0BA
 IC0xNTAsMjkgKzE2MSwzMSBAQAorIH0KKyAKKyBzdGF0aWMgUHlPYmplY3QgKgorLVJlbGF0ZWRS
 ZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtKFB5R2xvbVJlbGF0ZWRSZWNvcmQgKnNlbGYsIFB5
 T2JqZWN0ICppdGVtKQorK1JlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtKFB5T2Jq
 ZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlbSkKKyB7CisrICBQeUdsb21SZWxhdGVkUmVjb3JkKiBz
 ZWxmX2Rlcml2ZWQgPSAoUHlHbG9tUmVsYXRlZFJlY29yZCopc2VsZjsKKysKKyAgIGlmKFB5U3Ry
 aW5nX0NoZWNrKGl0ZW0pKQorICAgeworICAgICBjb25zdCBjaGFyKiBwY2hLZXkgPSBQeVN0cmlu
 Z19Bc1N0cmluZyhpdGVtKTsKKyAgICAgaWYocGNoS2V5KQorICAgICB7CisgICAgICAgY29uc3Qg
 R2xpYjo6dXN0cmluZyBmaWVsZF9uYW1lKHBjaEtleSk7CistICAgICAgUHlHbG9tUmVsYXRlZFJl
 Y29yZDo6dHlwZV9tYXBfZmllbGRfdmFsdWVzOjpjb25zdF9pdGVyYXRvciBpdGVyRmluZCA9IHNl
 bGYtPm1fcE1hcF9maWVsZF92YWx1ZXMtPmZpbmQoZmllbGRfbmFtZSk7CistICAgICAgaWYoaXRl
 ckZpbmQgIT0gc2VsZi0+bV9wTWFwX2ZpZWxkX3ZhbHVlcy0+ZW5kKCkpCisrICAgICAgUHlHbG9t
 UmVsYXRlZFJlY29yZDo6dHlwZV9tYXBfZmllbGRfdmFsdWVzOjpjb25zdF9pdGVyYXRvciBpdGVy
 RmluZCA9IHNlbGZfZGVyaXZlZC0+bV9wTWFwX2ZpZWxkX3ZhbHVlcy0+ZmluZChmaWVsZF9uYW1l
 KTsKKysgICAgICBpZihpdGVyRmluZCAhPSBzZWxmX2Rlcml2ZWQtPm1fcE1hcF9maWVsZF92YWx1
 ZXMtPmVuZCgpKQorICAgICAgIHsKKyAgICAgICAgIC8vSWYgdGhlIHZhbHVlIGhhcyBhbHJlYWR5
 IGJlZW4gc3RvcmVkLCB0aGVuIGp1c3QgcmV0dXJuIGl0IGFnYWluOgorICAgICAgICAgcmV0dXJu
 IHB5Z2RhX3ZhbHVlX2FzX3B5b2JqZWN0KGl0ZXJGaW5kLT5zZWNvbmQuZ29iaigpLCB0cnVlIC8q
 IGNvcHkgKi8pOworICAgICAgIH0KKyAgICAgICBlbHNlCisgICAgICAgeworLSAgICAgICAgIGNv
 bnN0IEdsaWI6OnVzdHJpbmcgcmVsYXRlZF90YWJsZSA9ICgqKHNlbGYtPm1fcmVsYXRpb25zaGlw
 KSktPmdldF90b190YWJsZSgpOworKyAgICAgICAgIGNvbnN0IEdsaWI6OnVzdHJpbmcgcmVsYXRl
 ZF90YWJsZSA9ICgqKHNlbGZfZGVyaXZlZC0+bV9yZWxhdGlvbnNoaXApKS0+Z2V0X3RvX3RhYmxl
 KCk7CisgCisgICAgICAgICAvL0NoZWNrIHdoZXRoZXIgdGhlIGZpZWxkIGV4aXN0cyBpbiB0aGUg
 dGFibGUuCisgICAgICAgICAvL1RPRE9fUGVyZm9ybWFuY2U6IERvIHRoaXMgd2l0aG91dCB0aGUg
 dXNlbGVzcyBGaWVsZCBpbmZvcm1hdGlvbj8KKy0gICAgICAgIHNoYXJlZHB0cjxGaWVsZD4gZmll
 bGQgID0gc2VsZi0+bV9kb2N1bWVudC0+Z2V0X2ZpZWxkKCgqKHNlbGYtPm1fcmVsYXRpb25zaGlw
 KSktPmdldF90b190YWJsZSgpLCBmaWVsZF9uYW1lKTsKKysgICAgICAgIHNoYXJlZHB0cjxGaWVs
 ZD4gZmllbGQgID0gc2VsZl9kZXJpdmVkLT5tX2RvY3VtZW50LT5nZXRfZmllbGQoKCooc2VsZl9k
 ZXJpdmVkLT5tX3JlbGF0aW9uc2hpcCkpLT5nZXRfdG9fdGFibGUoKSwgZmllbGRfbmFtZSk7Cisg
 ICAgICAgICBpZighZmllbGQpCistICAgICAgICAgIGdfd2FybmluZygiUmVsYXRlZFJlY29yZF90
 cF9hc19tYXBwaW5nX2dldGl0ZW06IGZpZWxkICVzIG5vdCBmb3VuZCBpbiB0YWJsZSAlcyIsIGZp
 ZWxkX25hbWUuY19zdHIoKSwgKCooc2VsZi0+bV9yZWxhdGlvbnNoaXApKS0+Z2V0X3RvX3RhYmxl
 KCkuY19zdHIoKSk7CisrICAgICAgICAgIGdfd2FybmluZygiUmVsYXRlZFJlY29yZF90cF9hc19t
 YXBwaW5nX2dldGl0ZW06IGZpZWxkICVzIG5vdCBmb3VuZCBpbiB0YWJsZSAlcyIsIGZpZWxkX25h
 bWUuY19zdHIoKSwgKCooc2VsZl9kZXJpdmVkLT5tX3JlbGF0aW9uc2hpcCkpLT5nZXRfdG9fdGFi
 bGUoKS5jX3N0cigpKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgIHsKKyAgICAgICAgICAgLy9U
 cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBkYXRhYmFzZToKK0BAIC0xODIsMTUgKzE5NSwx
 NSBAQAorICAgICAgICAgICB7CisgICAgICAgICAgICAgR2xpYjo6UmVmUHRyPEdub21lOjpHZGE6
 OkNvbm5lY3Rpb24+IGdkYV9jb25uZWN0aW9uID0gc2hhcmVkY29ubmVjdGlvbi0+Z2V0X2dkYV9j
 b25uZWN0aW9uKCk7CisgCistICAgICAgICAgICAgY29uc3QgR2xpYjo6dXN0cmluZyByZWxhdGVk
 X2tleV9uYW1lID0gKCooc2VsZi0+bV9yZWxhdGlvbnNoaXApKS0+Z2V0X3RvX2ZpZWxkKCk7Cisr
 ICAgICAgICAgICAgY29uc3QgR2xpYjo6dXN0cmluZyByZWxhdGVkX2tleV9uYW1lID0gKCooc2Vs
 Zl9kZXJpdmVkLT5tX3JlbGF0aW9uc2hpcCkpLT5nZXRfdG9fZmllbGQoKTsKKyAKKyAgICAgICAg
 ICAgICAvL0RvIG5vdCB0cnkgdG8gZ2V0IGEgdmFsdWUgYmFzZWQgb24gYSBudWxsIGtleSB2YWx1
 ZToKKy0gICAgICAgICAgICBpZighKHNlbGYtPm1fZnJvbV9rZXlfdmFsdWVfc3FsaXplZCkpCisr
 ICAgICAgICAgICAgaWYoIShzZWxmX2Rlcml2ZWQtPm1fZnJvbV9rZXlfdmFsdWVfc3FsaXplZCkp
 CisgICAgICAgICAgICAgICByZXR1cm4gUHlfTm9uZTsKKyAgICAgICAgCisgICAgICAgICAgICAg
 Ly9HZXQgdGhlIHNpbmdsZSB2YWx1ZSBmcm9tIHRoZSByZWxhdGVkIHJlY29yZHM6CisgICAgICAg
 ICAgICAgR2xpYjo6dXN0cmluZyBzcWxfcXVlcnkgPSAiU0VMRUNUIFwiIiArIHJlbGF0ZWRfdGFi
 bGUgKyAiXCIuXCIiICsgZmllbGRfbmFtZSArICJcIiBGUk9NIFwiIiArIHJlbGF0ZWRfdGFibGUg
 KyAiXCIiCistICAgICAgICAgICAgICArICIgV0hFUkUgXCIiICsgcmVsYXRlZF90YWJsZSArICJc
 Ii5cIiIgKyByZWxhdGVkX2tleV9uYW1lICsgIlwiID0gIiArICooc2VsZi0+bV9mcm9tX2tleV92
 YWx1ZV9zcWxpemVkKTsKKysgICAgICAgICAgICAgICsgIiBXSEVSRSBcIiIgKyByZWxhdGVkX3Rh
 YmxlICsgIlwiLlwiIiArIHJlbGF0ZWRfa2V5X25hbWUgKyAiXCIgPSAiICsgKihzZWxmX2Rlcml2
 ZWQtPm1fZnJvbV9rZXlfdmFsdWVfc3FsaXplZCk7CisgCisgICAgICAgICAgICAgLy9zdGQ6OmNv
 dXQgPDwgIlB5R2xvbVJlbGF0ZWRSZWNvcmQ6IEV4ZWN1dGluZzogICIgPDwgc3FsX3F1ZXJ5IDw8
 IHN0ZDo6ZW5kbDsKKyAgICAgICAgICAgICBHbGliOjpSZWZQdHI8R25vbWU6OkdkYTo6RGF0YU1v
 ZGVsPiBkYXRhbW9kZWwgPSBnZGFfY29ubmVjdGlvbi0+ZXhlY3V0ZV9zaW5nbGVfY29tbWFuZChz
 cWxfcXVlcnkpOworQEAgLTIwMCw3ICsyMTMsNyBAQAorICAgICAgICAgICAgICAgLy9nX3dhcm5p
 bmcoIlJlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtKCk6IHZhbHVlIGZyb20gZGF0
 YW1vZGVsID0gJXMiLCB2YWx1ZS50b19zdHJpbmcoKS5jX3N0cigpKTsKKyAKKyAgICAgICAgICAg
 ICAgIC8vQ2FjaGUgaXQsIGluIGNhc2UgaXQncyBhc2tlZC1mb3IgYWdhaW4uCistICAgICAgICAg
 ICAgICAoKihzZWxmLT5tX3BNYXBfZmllbGRfdmFsdWVzKSlbZmllbGRfbmFtZV0gPSB2YWx1ZTsK
 KysgICAgICAgICAgICAgICgqKHNlbGZfZGVyaXZlZC0+bV9wTWFwX2ZpZWxkX3ZhbHVlcykpW2Zp
 ZWxkX25hbWVdID0gdmFsdWU7CisgICAgICAgICAgICAgICByZXR1cm4gcHlnZGFfdmFsdWVfYXNf
 cHlvYmplY3QodmFsdWUuZ29iaigpLCB0cnVlIC8qIGNvcHkgKi8pOworICAgICAgICAgICAgIH0K
 KyAgICAgICAgICAgICBlbHNlIGlmKCFkYXRhbW9kZWwpCitAQCAtMjExLDcgKzIyNCw3IEBACisg
 ICAgICAgICAgICAgfQorICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CistICAgICAg
 ICAgICAgICBnX3dhcm5pbmcoIlJlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtKCk6
 IE5vIHJlbGF0ZWQgcmVjb3JkcyBleGlzdCB5ZXQgZm9yIHJlbGF0aW9uc2hpcCAlcy4iLCAgKCoo
 c2VsZi0+bV9yZWxhdGlvbnNoaXApKS0+Z2V0X25hbWUoKS5jX3N0cigpKTsKKysgICAgICAgICAg
 ICAgIGdfd2FybmluZygiUmVsYXRlZFJlY29yZF90cF9hc19tYXBwaW5nX2dldGl0ZW0oKTogTm8g
 cmVsYXRlZCByZWNvcmRzIGV4aXN0IHlldCBmb3IgcmVsYXRpb25zaGlwICVzLiIsICAoKihzZWxm
 X2Rlcml2ZWQtPm1fcmVsYXRpb25zaGlwKSktPmdldF9uYW1lKCkuY19zdHIoKSk7CisgICAgICAg
 ICAgICAgfQorICAgICAgICAgICB9CisgICAgICAgICB9CitAQCAtMjM0LDggKzI0Nyw4IEBACisg
 Ki8KKyAKKyBzdGF0aWMgUHlNYXBwaW5nTWV0aG9kcyBSZWxhdGVkUmVjb3JkX3RwX2FzX21hcHBp
 bmcgPSB7CistICAgIChpbnF1aXJ5KVJlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19sZW5ndGgs
 CistICAgIChiaW5hcnlmdW5jKVJlbGF0ZWRSZWNvcmRfdHBfYXNfbWFwcGluZ19nZXRpdGVtLAor
 KyAgICBSZWxhdGVkUmVjb3JkX3RwX2FzX21hcHBpbmdfbGVuZ3RoLAorKyAgICBSZWxhdGVkUmVj
 b3JkX3RwX2FzX21hcHBpbmdfZ2V0aXRlbSwKKyAgICAgKG9iam9iamFyZ3Byb2MpMCAvKiBSZWxh
 dGVkUmVjb3JkX3RwX2FzX21hcHBpbmdfc2V0aXRlbSAqLworIH07CisgCitAQCAtMzExLDI3ICsz
 MjQsMzEgQEAKKyB9CisgCisgc3RhdGljIFB5T2JqZWN0ICoKKy1SZWxhdGVkUmVjb3JkX3N1bShQ
 eUdsb21SZWxhdGVkUmVjb3JkKiBzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJn
 cykKKytSZWxhdGVkUmVjb3JkX3N1bShQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5
 T2JqZWN0ICprd2FyZ3MpCisgeworLSAgcmV0dXJuIFJlbGF0ZWRSZWNvcmRfZ2VuZXJpY19hZ2dy
 ZWdhdGUoc2VsZiwgYXJncywga3dhcmdzLCAic3VtIik7CisrICBQeUdsb21SZWxhdGVkUmVjb3Jk
 KiBzZWxmX2Rlcml2ZWQgPSAoUHlHbG9tUmVsYXRlZFJlY29yZCopc2VsZjsKKysgIHJldHVybiBS
 ZWxhdGVkUmVjb3JkX2dlbmVyaWNfYWdncmVnYXRlKHNlbGZfZGVyaXZlZCwgYXJncywga3dhcmdz
 LCAic3VtIik7CisgfQorIAorIHN0YXRpYyBQeU9iamVjdCAqCistUmVsYXRlZFJlY29yZF9jb3Vu
 dChQeUdsb21SZWxhdGVkUmVjb3JkKiBzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3
 YXJncykKKytSZWxhdGVkUmVjb3JkX2NvdW50KFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCAqYXJn
 cywgUHlPYmplY3QgKmt3YXJncykKKyB7CistICByZXR1cm4gUmVsYXRlZFJlY29yZF9nZW5lcmlj
 X2FnZ3JlZ2F0ZShzZWxmLCBhcmdzLCBrd2FyZ3MsICJjb3VudCIpOworKyAgUHlHbG9tUmVsYXRl
 ZFJlY29yZCogc2VsZl9kZXJpdmVkID0gKFB5R2xvbVJlbGF0ZWRSZWNvcmQqKXNlbGY7CisrICBy
 ZXR1cm4gUmVsYXRlZFJlY29yZF9nZW5lcmljX2FnZ3JlZ2F0ZShzZWxmX2Rlcml2ZWQsIGFyZ3Ms
 IGt3YXJncywgImNvdW50Iik7CisgfQorIAorIHN0YXRpYyBQeU9iamVjdCAqCistUmVsYXRlZFJl
 Y29yZF9taW4oUHlHbG9tUmVsYXRlZFJlY29yZCogc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2Jq
 ZWN0ICprd2FyZ3MpCisrUmVsYXRlZFJlY29yZF9taW4oUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0
 ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorIHsKKy0gIHJldHVybiBSZWxhdGVkUmVjb3JkX2dl
 bmVyaWNfYWdncmVnYXRlKHNlbGYsIGFyZ3MsIGt3YXJncywgIm1pbiIpOworKyAgUHlHbG9tUmVs
 YXRlZFJlY29yZCogc2VsZl9kZXJpdmVkID0gKFB5R2xvbVJlbGF0ZWRSZWNvcmQqKXNlbGY7Cisr
 ICByZXR1cm4gUmVsYXRlZFJlY29yZF9nZW5lcmljX2FnZ3JlZ2F0ZShzZWxmX2Rlcml2ZWQsIGFy
 Z3MsIGt3YXJncywgIm1pbiIpOworIH0KKyAKKyBzdGF0aWMgUHlPYmplY3QgKgorLVJlbGF0ZWRS
 ZWNvcmRfbWF4KFB5R2xvbVJlbGF0ZWRSZWNvcmQqIHNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9i
 amVjdCAqa3dhcmdzKQorK1JlbGF0ZWRSZWNvcmRfbWF4KFB5T2JqZWN0KiBzZWxmLCBQeU9iamVj
 dCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKKyB7CistICByZXR1cm4gUmVsYXRlZFJlY29yZF9n
 ZW5lcmljX2FnZ3JlZ2F0ZShzZWxmLCBhcmdzLCBrd2FyZ3MsICJtYXgiKTsKKysgIFB5R2xvbVJl
 bGF0ZWRSZWNvcmQqIHNlbGZfZGVyaXZlZCA9IChQeUdsb21SZWxhdGVkUmVjb3JkKilzZWxmOwor
 KyAgcmV0dXJuIFJlbGF0ZWRSZWNvcmRfZ2VuZXJpY19hZ2dyZWdhdGUoc2VsZl9kZXJpdmVkLCBh
 cmdzLCBrd2FyZ3MsICJtYXgiKTsKKyB9CisgCisgc3RhdGljIFB5TWV0aG9kRGVmIFJlbGF0ZWRS
 ZWNvcmRfbWV0aG9kc1tdID0gewo=
 ------=_Part_3733_13419292.1188973170997--
State-Changed-From-To: open->closed 
State-Changed-By: pav 
State-Changed-When: Wed Sep 5 08:18:03 UTC 2007 
State-Changed-Why:  
Port fixed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=115980 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/115980: commit references a PR
Date: Wed,  5 Sep 2007 08:17:49 +0000 (UTC)

 pav         2007-09-05 08:17:44 UTC
 
   FreeBSD ports repository
 
   Modified files:
     databases/glom/files 
                          patch-glom-libglom-python_embed-py_glom_record.cc 
   Added files:
     databases/glom/files 
                          patch-glom-libglom-python_embed-py_glom_related.cc 
                          patch-glom-libglom-python_embed-py_glom_relatedrecord.cc 
   Log:
   - Fix build with python25
   
   PR:             ports/115980
   Submitted by:   Scot Hetzel <swhetzel@gmail.com>
   Obtained from:  vendor SVN
   
   Revision  Changes    Path
   1.2       +145 -8    ports/databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc
   1.1       +170 -0    ports/databases/glom/files/patch-glom-libglom-python_embed-py_glom_related.cc (new)
   1.1       +153 -0    ports/databases/glom/files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
