bsd.wx.mk -- WxWidgets support. All.diff -- patches to the existing ports to integrate them with bsd.wx.mk.
>Submitter-Id: current-users >Originator: Alejandro Pulver >Organization: >Confidential: no >Synopsis: Re: ports/89398: [PATCH] bsd.wx.mk and patches >Severity: non-critical >Priority: low >Category: ports >Class: change-request >Release: FreeBSD 5.4-RELEASE i386 >Environment: System: FreeBSD 5.4-RELEASE #0: Sat May 21 12:14:47 ART 2005 root@ale.varnet.bsd:/usr/src/sys/i386/compile/ATHLON-ALE >Description: This follow-up contains a patch to integrate bsd.wx.mk to bsd.port.mk. >How-To-Repeat: >Fix: --- bsd.port.mk.diff begins here --- --- /usr/ports/Mk/bsd.port.mk.orig Tue Nov 8 06:02:51 2005 +++ /usr/ports/Mk/bsd.port.mk Mon Nov 21 21:20:32 2005 @@ -1763,6 +1763,10 @@ .include "${PORTSDIR}/Mk/bsd.apache.mk" .endif +.if defined(USE_WX) +.include "${PORTSDIR}/Mk/bsd.wx.mk" +.endif + .if exists(${PORTSDIR}/../Makefile.inc) .include "${PORTSDIR}/../Makefile.inc" USE_SUBMAKE= yes --- bsd.port.mk.diff ends here ---
Responsible Changed From-To: freebsd-ports-bugs->portmgr Over to portmgr for implementation
State Changed From-To: open->analyzed Accepted for a test build on the cluster.
State Changed From-To: analyzed->feedback Unfortunately this is not ready for a test run yet. I will work with the submitter on trying to get it into shape.
Here is an updated patch that de-convolutes the the whitespace and other changes. It passes 'make index' but the submitter still needs to carefully review the change to see if it is still what he intended. Index: Mk/bsd.port.mk =================================================================== RCS file: /home/FreeBSD/pcvs/ports/Mk/bsd.port.mk,v retrieving revision 1.523 diff -u -r1.523 bsd.port.mk --- Mk/bsd.port.mk 23 Jan 2006 22:29:26 -0000 1.523 +++ Mk/bsd.port.mk 27 Jan 2006 03:17:05 -0000 @@ -1838,6 +1838,10 @@ .include "${PORTSDIR}/Mk/bsd.gnome.mk" .endif +.if defined(USE_WX) +.include "${PORTSDIR}/Mk/bsd.wx.mk" +.endif + .if exists(${PORTSDIR}/../Makefile.inc) .include "${PORTSDIR}/../Makefile.inc" USE_SUBMAKE= yes Index: audio/audacity/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/audio/audacity/Makefile,v retrieving revision 1.27 diff -u -r1.27 Makefile --- audio/audacity/Makefile 14 Jan 2006 09:30:34 -0000 1.27 +++ audio/audacity/Makefile 23 Jan 2006 04:08:57 -0000 @@ -15,11 +15,11 @@ COMMENT= Audacity is a GUI editor for digital audio waveforms BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip -LIB_DEPENDS= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 WRKSRC= ${WRKDIR}/${PORTNAME}-src-${PORTVERSION} GNU_CONFIGURE= yes USE_GMAKE= yes +USE_WX= 26 USE_X_PREFIX= yes USE_AUTOTOOLS= libtool:15 @@ -42,8 +42,7 @@ CONFIGURE_ENV+= LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib ${PTHREAD_LIBS}" \ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include ${SSE_CFLAGS} ${PTHREAD_CFLAGS}" \ - CFLAGS="${CFLAGS} -I${LOCALBASE}/include ${SSE_CFLAGS} ${PTHREAD_CFLAGS}" \ - WX_CONFIG=${X11BASE}/bin/wxgtk2-2.6-config + CFLAGS="${CFLAGS} -I${LOCALBASE}/include ${SSE_CFLAGS} ${PTHREAD_CFLAGS}" .if !defined(NOPORTDOCS) MAKE_ENV= DOC=yes Index: audio/mbox/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/audio/mbox/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- audio/mbox/Makefile 12 Jan 2006 12:54:05 -0000 1.8 +++ audio/mbox/Makefile 23 Jan 2006 04:08:52 -0000 @@ -12,16 +12,16 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Program intended to help with organizing your music files -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 \ - ${PYTHON_SITELIBDIR}/ogg/__init__.py:${PORTSDIR}/audio/py-ogg \ +RUN_DEPENDS= ${PYTHON_SITELIBDIR}/ogg/__init__.py:${PORTSDIR}/audio/py-ogg \ ${PYTHON_SITELIBDIR}/ogg/vorbis.so:${PORTSDIR}/audio/py-vorbis \ lame:${PORTSDIR}/audio/lame \ oggenc:${PORTSDIR}/audio/vorbis-tools \ mplayer:${PORTSDIR}/multimedia/mplayer -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 USE_PYTHON= yes USE_PYDISTUTILS=yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes USE_BZIP2= yes WRKSRC= ${WRKDIR}/mBox-${PORTVERSION} Index: biology/L-Breeder/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/biology/L-Breeder/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- biology/L-Breeder/Makefile 12 Jan 2006 12:54:05 -0000 1.19 +++ biology/L-Breeder/Makefile 23 Jan 2006 04:08:57 -0000 @@ -16,8 +16,7 @@ MAINTAINER= dyeske@yahoo.com COMMENT= Allows you to display and breed L-system forms -LIB_DEPENDS= wx_gtk2_gl-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 \ - glut.4:${PORTSDIR}/graphics/libglut +LIB_DEPENDS= glut.4:${PORTSDIR}/graphics/libglut NO_WRKSUBDIR= yes BUILD_WRKSRC= ${WRKSRC}/Unix @@ -27,8 +26,7 @@ USE_GL= yes USE_GMAKE= yes USE_REINPLACE= yes - -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.4-config +USE_WX= 2.4 .if defined(WITH_OPTIMIZED_CFLAGS) CFLAGS+= -O3 -ffast-math Index: biology/treeviewx/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/biology/treeviewx/Makefile,v retrieving revision 1.21 diff -u -r1.21 Makefile --- biology/treeviewx/Makefile 6 Dec 2005 02:00:55 -0000 1.21 +++ biology/treeviewx/Makefile 23 Jan 2006 04:08:57 -0000 @@ -15,12 +15,10 @@ MAINTAINER= fernan@iib.unsam.edu.ar COMMENT= A phylogenetic tree viewer -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 \ - wx_gtk2_dcsvg-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24-contrib - USE_GMAKE= yes +USE_WX= 2.4 +USE_WXCONTRIB= yes GNU_CONFIGURE= yes -CONFIGURE_ENV= WX_CONFIG="${X11BASE}/bin/wxgtk2-2.4-config" PLIST_FILES= bin/tv Index: chinese/BBMan/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/chinese/BBMan/Makefile,v retrieving revision 1.12 diff -u -r1.12 Makefile --- chinese/BBMan/Makefile 1 Dec 2005 08:34:57 -0000 1.12 +++ chinese/BBMan/Makefile 23 Jan 2006 04:08:57 -0000 @@ -16,11 +16,10 @@ MAINTAINER= ports@FreeBSD.org COMMENT= BBMan is a BBS client for X Window System -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - USE_ZIP= yes WRKSRC= ${WRKDIR}/${PORTNAME} USE_X_PREFIX= yes +USE_WX= 2.4 PLIST_FILES= bin/BBMan @@ -35,7 +34,7 @@ .endif do-build: - cd ${WRKSRC} && ${CXX} main.cpp `wxgtk2-2.4-config --libs --cxxflags` -I${LOCALBASE}/include ${CFLAGS} -o BBMan + cd ${WRKSRC} && ${CXX} main.cpp `${WX_CONFIG} --libs --cxxflags` -I${LOCALBASE}/include ${CFLAGS} -o BBMan do-install: ${INSTALL_PROGRAM} ${WRKSRC}/BBMan ${PREFIX}/bin/BBMan Index: databases/pgadmin3/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/databases/pgadmin3/Makefile,v retrieving revision 1.22 diff -u -r1.22 Makefile --- databases/pgadmin3/Makefile 22 Jan 2006 19:00:49 -0000 1.22 +++ databases/pgadmin3/Makefile 23 Jan 2006 04:08:57 -0000 @@ -16,15 +16,14 @@ USE_PGSQL= yes BROKEN_WITH_PGSQL= 73 +USE_WX= 2.6 +USE_WXCONTRIB= yes +USE_WXUNICODE= yes USE_REINPLACE= yes GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-wx=${X11BASE} --with-wx-config=${WX_CONFIG} CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL} CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS}" LIBS="${PTHREAD_LIBS}" CONFLICTS= pgadmin3-1.[12]* - -LIB_DEPENDS+= wx_gtk2u_stc-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode-contrib -WX_CONFIG= wxgtk2u-2.6-config post-install: @${CAT} ${PKGMESSAGE} Index: databases/pgadmin3-12/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/databases/pgadmin3-12/Makefile,v retrieving revision 1.22 diff -u -r1.22 Makefile --- databases/pgadmin3-12/Makefile 19 Nov 2005 18:09:45 -0000 1.22 +++ databases/pgadmin3-12/Makefile 23 Jan 2006 04:08:52 -0000 @@ -17,8 +17,9 @@ USE_PGSQL= yes USE_REINPLACE= yes +USE_WX= 2.6 +USE_WXCONTRIB= yes GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-wx=${X11BASE} --with-wx-config=${WX_CONFIG} CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL} CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS}" LIBS="${PTHREAD_LIBS}" CONFLICTS= pgadmin3-1.[456789]* @@ -36,16 +37,12 @@ .endif .if !defined(WITHOUT_UNICODE) -LIB_DEPENDS+= wx_gtk2u_stc-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode-contrib -WX_CONFIG= wxgtk2u-2.6-config +USE_WXUNICODE= yes PKGNAMESUFFIX= -unicode PKGMESSAGE= ${PKGDIR}/pkg-message-unicode post-install: @${CAT} ${PKGMESSAGE} -.else -LIB_DEPENDS+= wx_gtk2_stc-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-contrib -WX_CONFIG= wxgtk2-2.6-config .endif # WITHOUT_UNICODE .include <bsd.port.post.mk> Index: databases/pydbdesigner/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/databases/pydbdesigner/Makefile,v retrieving revision 1.13 diff -u -r1.13 Makefile --- databases/pydbdesigner/Makefile 12 Jan 2006 12:54:06 -0000 1.13 +++ databases/pydbdesigner/Makefile 23 Jan 2006 04:08:57 -0000 @@ -18,10 +18,9 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Graphical designer for relational databases -BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 -RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 - USE_PYTHON= yes +USE_WX= 2.4 +USE_WXPYTHON= yes PLIST= ${WRKDIR}/plist WRKSRC= ${WRKDIR}/${PORTNAME} Index: deskutils/cycle/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/deskutils/cycle/Makefile,v retrieving revision 1.4 diff -u -r1.4 Makefile --- deskutils/cycle/Makefile 12 Jan 2006 12:54:06 -0000 1.4 +++ deskutils/cycle/Makefile 23 Jan 2006 04:08:51 -0000 @@ -15,10 +15,10 @@ MAINTAINER= danfe@FreeBSD.org COMMENT= A calendar program for women -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2-ansi/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython26 - USE_BZIP2= yes USE_PYTHON_RUN= yes +USE_WX= 2.6 +USE_WXPYTHON_RUN= yes USE_REINPLACE= yes NO_BUILD= yes Index: deskutils/xchm/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/deskutils/xchm/Makefile,v retrieving revision 1.22 diff -u -r1.22 Makefile --- deskutils/xchm/Makefile 5 Nov 2005 05:21:19 -0000 1.22 +++ deskutils/xchm/Makefile 23 Jan 2006 04:08:57 -0000 @@ -15,12 +15,11 @@ MAINTAINER= pav@FreeBSD.org COMMENT= Windows HTML Help (.chm) viewer for UNIX -LIB_DEPENDS= chm.0:${PORTSDIR}/misc/chmlib \ - wx_base-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 +LIB_DEPENDS= chm.0:${PORTSDIR}/misc/chmlib GNU_CONFIGURE= yes +USE_WX= 2.6 USE_X_PREFIX= yes -CONFIGURE_ARGS= --with-wx-config=${X11BASE}/bin/wxgtk2-2.6-config CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" USE_REINPLACE= yes Index: devel/agide/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/agide/Makefile,v retrieving revision 1.7 diff -u -r1.7 Makefile --- devel/agide/Makefile 12 Jan 2006 12:54:07 -0000 1.7 +++ devel/agide/Makefile 23 Jan 2006 04:08:51 -0000 @@ -16,8 +16,7 @@ COMMENT= A-A-P GUI IDE: a framework for software development RUN_DEPENDS= ${LOCALBASE}/bin/aap:${PORTSDIR}/devel/aap \ - ${LOCALBASE}/bin/vim:${PORTSDIR}/editors/vim \ - ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 + ${LOCALBASE}/bin/vim:${PORTSDIR}/editors/vim MAN1= agide.1 @@ -26,6 +25,8 @@ USE_ZIP= yes USE_PYTHON= yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes PLIST_SUB+= PORTVERSION=${PORTVERSION} pre-install: Index: devel/boaconstructor/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/boaconstructor/Makefile,v retrieving revision 1.17 diff -u -r1.17 Makefile --- devel/boaconstructor/Makefile 12 Jan 2006 12:54:07 -0000 1.17 +++ devel/boaconstructor/Makefile 23 Jan 2006 04:08:51 -0000 @@ -16,12 +16,12 @@ MAINTAINER= filippo.natali@gmail.com COMMENT= A cross platform RAD GUI Building IDE for wxPython -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2-ansi/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython26 - WRKSRC= ${WRKDIR}/boa-constructor-${PORTVERSION} USE_ZIP= yes USE_PYTHON= yes +USE_WX= 2.6 +USE_WXPYTHON_RUN= yes DATADIR= ${PREFIX}/share/Boa do-build: Index: devel/datadesigner/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/datadesigner/Makefile,v retrieving revision 1.6 diff -u -r1.6 Makefile --- devel/datadesigner/Makefile 5 Nov 2005 05:21:30 -0000 1.6 +++ devel/datadesigner/Makefile 23 Jan 2006 04:08:51 -0000 @@ -16,16 +16,14 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Database Schema Designer -LIB_DEPENDS= expat.5:${PORTSDIR}/textproc/expat2 \ - wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 +LIB_DEPENDS= expat.5:${PORTSDIR}/textproc/expat2 USE_GNOME= libxml2 libxslt USE_ICONV= yes +USE_WX= 2.4 GNU_CONFIGURE= yes -WX_CONFIG?= ${X11BASE}/bin/wxgtk2-2.4-config CONFIGURE_ENV= CPPFLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib" -CONFIGURE_ARGS= --with-wx-config=${WX_CONFIG} .if !defined(WITHOUT_NLS) USE_GETTEXT= yes Index: devel/drpython/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/drpython/Makefile,v retrieving revision 1.3 diff -u -r1.3 Makefile --- devel/drpython/Makefile 12 Jan 2006 12:54:07 -0000 1.3 +++ devel/drpython/Makefile 23 Jan 2006 04:08:51 -0000 @@ -16,11 +16,11 @@ MAINTAINER= vsevolod@FreeBSD.org COMMENT= Highly customizable cross-platform ide to aid programming in Python -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2-ansi/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython26 - USE_ZIP= yes USE_PYTHON= yes USE_PYDISTUTILS= yes +USE_WX= 2.6 +USE_WXPYTHON_RUN= yes post-install: @${ECHO} '#!/bin/sh' > ${WRKDIR}/drpython.sh Index: devel/ecos-tools/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/ecos-tools/Makefile,v retrieving revision 1.12 diff -u -r1.12 Makefile --- devel/ecos-tools/Makefile 5 Nov 2005 05:20:22 -0000 1.12 +++ devel/ecos-tools/Makefile 24 Jan 2006 12:41:32 -0000 @@ -16,11 +16,11 @@ MAINTAINER= tg@FreeBSD.org COMMENT= Configuration tools for the eCos embedded OS -LIB_DEPENDS= tcl84.1:${PORTSDIR}/lang/tcl84 \ - wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 +LIB_DEPENDS= tcl84.1:${PORTSDIR}/lang/tcl84 USE_BZIP2= yes WRKSRC= ${WRKDIR}/infra-build +USE_WX= 2.4 GNU_CONFIGURE= yes CONFIGURE_SCRIPT= ../ecos/host/configure CONFIGURE_ARGS= --with-tcl=${PREFIX} --with-tcl-version=8.4 @@ -31,7 +31,7 @@ ECOSSRCDIR= ${WRKDIR}/ecos/host CFGTOOL_WRKSRC= ${WRKDIR}/configtool-build -CFGTOOL_MAKE_ENV= WXDIR=${X11BASE} WX_CONFIG=wxgtk2-2.4-config \ +CFGTOOL_MAKE_ENV= WXDIR=${X11BASE} WX_CONFIG=${WX_CONFIG} \ ECOSSRCDIR=${ECOSSRCDIR} \ INSTALLDIR=${PREFIX} CFGTOOL_MAKEFILE= ${ECOSSRCDIR}/tools/configtool/standalone/wxwin/makefile.gnu Index: devel/klassmodeler/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/klassmodeler/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- devel/klassmodeler/Makefile 15 Nov 2005 06:48:44 -0000 1.10 +++ devel/klassmodeler/Makefile 24 Jan 2006 12:42:51 -0000 @@ -16,14 +16,12 @@ MAINTAINER= ports@FreeBSD.org COMMENT= A tool for visually creating and documenting classes -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - USE_ZIP= yes USE_REINPLACE= yes WRKSRC= ${WRKDIR}/${PORTNAME} -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.4-config USE_GNOME= gnometarget USE_AUTOTOOLS= libtool:15 +USE_WX= 2.4 CONFIGURE_ENV= WXWINDOWS="yes" PLIST_FILES= bin/klassmodeler @@ -43,7 +41,6 @@ ${MV} ${WRKSRC}/${df} ${WRKSRC}/${df}.dos ${TR} -d '\r' < ${WRKSRC}/${df}.dos > ${WRKSRC}/${df} .endfor - @${REINPLACE_CMD} -e "s,\`wx-config,\`${WX_CONFIG}," ${WRKSRC}/${CONFIGURE_SCRIPT} ${CHMOD} a+x ${WRKSRC}/${CONFIGURE_SCRIPT} do-install: Index: devel/wxGlade/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/devel/wxGlade/Makefile,v retrieving revision 1.15 diff -u -r1.15 Makefile --- devel/wxGlade/Makefile 12 Jan 2006 12:54:11 -0000 1.15 +++ devel/wxGlade/Makefile 23 Jan 2006 04:08:57 -0000 @@ -14,13 +14,8 @@ MAINTAINER= alejandro@varnet.biz COMMENT= GUI builder for wxPython/wxWindows written in Python -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/${WX_PYTHON_DIR}/wxPython/_wx.py:${PORTSDIR}/x11-toolkits/py-wxPython26 - -.if defined(WITH_UNICODE) -WX_PYTHON_DIR= wx-2.6-gtk2-unicode -.else -WX_PYTHON_DIR= wx-2.6-gtk2-ansi -.endif +USE_WX= 2.6 +USE_WXPYTHON_RUN= yes WRKSRC= ${WRKDIR}/wxGlade-${PORTVERSION} Index: editors/poedit/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/editors/poedit/Makefile,v retrieving revision 1.40 diff -u -r1.40 Makefile --- editors/poedit/Makefile 5 Nov 2005 05:21:31 -0000 1.40 +++ editors/poedit/Makefile 23 Jan 2006 04:08:52 -0000 @@ -52,12 +52,10 @@ WITH_BDB_VER?= 4 LIB_SUFFIX?= ${WITH_BDB_VER} -.if defined(WITH_WXGTK24) -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 -CONFIGURE_ARGS+= --with-wx-config=${X11BASE}/bin/wxgtk2-2.4-config +.if defined(WITH_WX24) +USE_WX= 2.4 .else -LIB_DEPENDS+= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 -CONFIGURE_ARGS+= --with-wx-config=${X11BASE}/bin/wxgtk2-2.6-config +USE_WX= 2.6 .endif post-patch: Index: ftp/ftpcube/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/ftp/ftpcube/Makefile,v retrieving revision 1.21 diff -u -r1.21 Makefile --- ftp/ftpcube/Makefile 12 Jan 2006 12:54:11 -0000 1.21 +++ ftp/ftpcube/Makefile 23 Jan 2006 04:08:51 -0000 @@ -16,7 +16,6 @@ MAINTAINER= ports@FreeBSD.org COMMENT= A graphical FTP Client -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 .if defined(PACKAGE_BUILDING) BUILD_DEPENDS+= Xvfb:${X_VFBSERVER_PORT} \ ${X11BASE}/lib/X11/fonts/misc/8x13O.pcf.gz:${X_FONTS_MISC_PORT} @@ -25,6 +24,8 @@ USE_REINPLACE= yes USE_PYTHON= yes USE_PYDISTUTILS= yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes post-patch: @${REINPLACE_CMD} 's,/usr/local,${PREFIX},' ${WRKSRC}/setup.cfg Index: games/abridge/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/games/abridge/Makefile,v retrieving revision 1.12 diff -u -r1.12 Makefile --- games/abridge/Makefile 5 Nov 2005 05:19:05 -0000 1.12 +++ games/abridge/Makefile 23 Jan 2006 04:08:51 -0000 @@ -14,18 +14,11 @@ MAINTAINER= Janos.Mohacsi@bsd.hu COMMENT= Bridge game -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - +ONLY_FOR_ARCHS= i386 +USE_WX= 2.4 GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-wx-config=${X11BASE}/bin/wxgtk2-2.4-config MAN1= abridge.1 PLIST_FILES= bin/abridge -.include <bsd.port.pre.mk> - -.if ${ARCH} != "i386" -BROKEN= "Does not compile on !i386" -.endif - -.include <bsd.port.post.mk> +.include <bsd.port.mk> Index: games/scorched3d/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/games/scorched3d/Makefile,v retrieving revision 1.26 diff -u -r1.26 Makefile --- games/scorched3d/Makefile 15 Nov 2005 06:49:20 -0000 1.26 +++ games/scorched3d/Makefile 24 Jan 2006 13:16:35 -0000 @@ -16,12 +16,7 @@ MAINTAINER= guy@device.dyndns.org COMMENT= Scorched is a game based loosely on the classic DOS game -BUILD_DEPENDS= ${X11BASE}/include/wx-2.6/wx/wx.h:${PORTSDIR}/x11-toolkits/wxgtk26-common \ - wxgtk2-2.6-config:${PORTSDIR}/x11-toolkits/wxgtk26 \ - openal-config:${PORTSDIR}/audio/openal -RUN_DEPENDS= ${X11BASE}/include/wx-2.6/wx/wx.h:${PORTSDIR}/x11-toolkits/wxgtk26-common \ - wxgtk2-2.6-config:${PORTSDIR}/x11-toolkits/wxgtk26 \ - openal-config:${PORTSDIR}/audio/openal +LIB_DEPENDS= openal-config:${PORTSDIR}/audio/openal SCORCH_VERSION= 39.1 @@ -34,6 +29,7 @@ USE_GMAKE= yes USE_AUTOTOOLS= automake:15 autoconf:253 USE_REINPLACE= yes +USE_WX= 2.6 WRKSRC= ${WRKDIR}/scorched AUTOMAKE_ARGS= --foreign Index: graphics/comical/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/graphics/comical/Makefile,v retrieving revision 1.3 diff -u -r1.3 Makefile --- graphics/comical/Makefile 5 Nov 2005 05:20:48 -0000 1.3 +++ graphics/comical/Makefile 23 Jan 2006 04:08:51 -0000 @@ -15,12 +15,10 @@ MAINTAINER= john@mcaree.org COMMENT= A sequential image viewer -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - USE_GMAKE= yes +USE_WX= 2.4 GNU_CONFIGURE= yes USE_X_PREFIX= yes -CONFIGURE_ARGS= --with-wx-config=${X11BASE}/bin/wxgtk2-2.4-config .include <bsd.port.pre.mk> Index: graphics/hugin/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/graphics/hugin/Makefile,v retrieving revision 1.12 diff -u -r1.12 Makefile --- graphics/hugin/Makefile 17 Dec 2005 18:39:13 -0000 1.12 +++ graphics/hugin/Makefile 23 Jan 2006 04:08:57 -0000 @@ -22,8 +22,6 @@ png:${PORTSDIR}/graphics/png \ jpeg:${PORTSDIR}/graphics/jpeg \ fftw:${PORTSDIR}/math/fftw \ - wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 \ - wx_gtk2_xrc-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24-contrib \ boost_date_time:${PORTSDIR}/devel/boost RUN_DEPENDS= PTOptimizer:${PORTSDIR}/graphics/libpano12 \ PTStitcher:${PORTSDIR}/graphics/linux-panorama-tools @@ -32,15 +30,15 @@ GNU_CONFIGURE= yes CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -CONFIGURE_ARGS= --with-wx-config=${WX_CONFIG} CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -ftemplate-depth-32" \ LDFLAGS="-L${LOCALBASE}/lib" USE_GMAKE= yes USE_BZIP2= yes USE_ICONV= yes USE_GETTEXT= yes +USE_WX= 2.4 +USE_WXCONTRIB= yes DOCSDIR= ${PREFIX}/share/hugin/xrc/data -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.4-config .include <bsd.port.mk> Index: graphics/multivideo/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/graphics/multivideo/Makefile,v retrieving revision 1.18 diff -u -r1.18 Makefile --- graphics/multivideo/Makefile 5 Nov 2005 05:21:39 -0000 1.18 +++ graphics/multivideo/Makefile 23 Jan 2006 04:08:52 -0000 @@ -16,19 +16,16 @@ MAINTAINER= ports@FreeBSD.org COMMENT= An image sequence viewer -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - WRKSRC= ${WRKDIR}/${PORTNAME} USE_BZIP2= yes USE_REINPLACE= yes USE_GMAKE= yes +USE_WX= 2.4 MAKE_ENV= CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" ALL_TARGET= default PLIST_FILES= bin/multivideo - -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.4-config post-patch: @${REINPLACE_CMD} -e 's|g++|\$$\(CXX)|g ; \ Index: graphics/zphoto/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/graphics/zphoto/Makefile,v retrieving revision 1.20 diff -u -r1.20 Makefile --- graphics/zphoto/Makefile 26 May 2005 11:36:04 -0000 1.20 +++ graphics/zphoto/Makefile 24 Jan 2006 12:54:32 -0000 @@ -21,9 +21,6 @@ .if !defined (WITHOUT_AVIPLAY) LIB_DEPENDS+= aviplay.0:${PORTSDIR}/multimedia/avifile .endif -.if defined (WITH_WXGTK2) -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 -.endif .if !defined (WITHOUT_ZIP) RUN_DEPENDS= zip:${PORTSDIR}/archivers/zip .endif @@ -34,7 +31,7 @@ CPPFLAGS="-I${LOCALBASE}/include \ ${PTHREAD_CFLAGS}" .if defined (WITH_WXGTK2) -CONFIGURE_ARGS+= --with-wx-config=wxgtk2-2.4-config +USE_WX= 2.4 PLIST_FILES+= bin/wxzphoto .else CONFIGURE_ARGS+= --disable-wx Index: mail/mahogany/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/mail/mahogany/Makefile,v retrieving revision 1.27 diff -u -r1.27 Makefile --- mail/mahogany/Makefile 5 Nov 2005 05:21:42 -0000 1.27 +++ mail/mahogany/Makefile 24 Jan 2006 12:56:18 -0000 @@ -15,19 +15,16 @@ MAINTAINER= ports@FreeBSD.org COMMENT= An X11 mail and news client -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - USE_X_PREFIX= yes GNU_CONFIGURE= yes USE_GMAKE= yes -USE_REINPLACE= yes +USE_WX= 2.4 ALL_TARGET= all locales INSTALL_TARGET= install_bin install_locale MAN1= M.1 mahogany.1 -CONFIGURE_ARGS= --with-python=none \ - --with-wx-config=${X11BASE}/bin/wxgtk2-2.4-config +CONFIGURE_ARGS= --with-python=none CONFIGURE_ENV= OSTYPE=${OPSYS} CFLAGS="${CFLAGS}" .include <bsd.port.pre.mk> Index: math/fityk/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/math/fityk/Makefile,v retrieving revision 1.9 diff -u -r1.9 Makefile --- math/fityk/Makefile 9 Nov 2005 14:35:07 -0000 1.9 +++ math/fityk/Makefile 23 Jan 2006 04:08:51 -0000 @@ -46,12 +46,10 @@ LDFLAGS+= -lstlport_gcc .endif -.if defined(WITH_WXGTK24) -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 -CONFIGURE_ARGS+= --with-wx-config=wxgtk2-2.4-config +.if defined(WITH_WX24) +USE_WX= 2.4 .else -LIB_DEPENDS+= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 -CONFIGURE_ARGS+= --with-wx-config=wxgtk2-2.6-config +USE_WX= 2.6 .endif post-patch: Index: math/gambit/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/math/gambit/Makefile,v retrieving revision 1.15 diff -u -r1.15 Makefile --- math/gambit/Makefile 18 Dec 2005 10:37:15 -0000 1.15 +++ math/gambit/Makefile 23 Jan 2006 04:08:57 -0000 @@ -15,15 +15,12 @@ MAINTAINER= ports@FreeBSD.org COMMENT= A library of tools for doing computation in game theory -LIB_DEPENDS= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 - USE_X_PREFIX= yes USE_GNOME= gnometarget gtk20 USE_REINPLACE= yes +USE_WX= 2.6 USE_AUTOTOOLS= libtool:15 -CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" \ - WX_CONFIG="${X11BASE}/bin/wxgtk2-2.6-config" -MAKE_ENV= WX_CONFIG="${X11BASE}/bin/wxgtk2-2.6-config" +CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS}" LDFLAGS="${PTHREAD_LIBS}" INSTALLS_SHLIB= yes CPPFLAGS= ${PTHREAD_CFLAGS} Index: math/graphthing/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/math/graphthing/Makefile,v retrieving revision 1.25 diff -u -r1.25 Makefile --- math/graphthing/Makefile 12 Nov 2005 18:19:32 -0000 1.25 +++ math/graphthing/Makefile 23 Jan 2006 04:08:51 -0000 @@ -14,22 +14,17 @@ MAINTAINER= arved@FreeBSD.org COMMENT= A tool that allows you to create, manipulate and study graphs -LIB_DEPENDS= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 - USE_BZIP2= yes USE_GNOME= gnometarget gtk20 USE_BISON= yes USE_REINPLACE= yes USE_GMAKE= yes +USE_WX= 2.6 GNU_CONFIGURE= yes -CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" -CONFIGURE_ARGS= --with-wx-config=${X11BASE}/bin/wxgtk2-2.6-config +CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS}" LDFLAGS="${PTHREAD_LIBS}" MAKEFILE= GNUmakefile PLIST_FILES= bin/graphthing bin/gt - -CPPFLAGS= ${PTHREAD_CFLAGS} -LDFLAGS= ${PTHREAD_LIBS} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/src/graphthing ${PREFIX}/bin Index: math/wxMaxima/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/math/wxMaxima/Makefile,v retrieving revision 1.4 diff -u -r1.4 Makefile --- math/wxMaxima/Makefile 29 Nov 2005 12:47:47 -0000 1.4 +++ math/wxMaxima/Makefile 23 Jan 2006 04:08:57 -0000 @@ -14,13 +14,11 @@ MAINTAINER= nivit@email.it COMMENT= A wxWidgets GUI for the computer algebra system maxima -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 RUN_DEPENDS= maxima:${PORTSDIR}/math/maxima USE_GNOME= libxml2 -WXGTK_CONFIG?= ${X11BASE}/bin/wxgtk2-2.4-config +USE_WX= 2.4 GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-wx-config=${WXGTK_CONFIG} \ - --program-prefix= +CONFIGURE_ARGS= --program-prefix= .include <bsd.port.mk> Index: misc/documancer/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/misc/documancer/Makefile,v retrieving revision 1.12 diff -u -r1.12 Makefile --- misc/documancer/Makefile 12 Jan 2006 12:54:24 -0000 1.12 +++ misc/documancer/Makefile 23 Jan 2006 04:08:51 -0000 @@ -19,11 +19,12 @@ BUILD_DEPENDS= wget:${PORTSDIR}/ftp/wget \ swish-e:${PORTSDIR}/www/swish-e LIB_DEPENDS= wxmozilla_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxmozilla -RUN_DEPENDS= ${BUILD_DEPENDS} \ - ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 +RUN_DEPENDS= ${BUILD_DEPENDS} USE_PYTHON= 2.4 USE_PERL5= yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --libdir=${PREFIX}/share Index: multimedia/dvdstyler/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/multimedia/dvdstyler/Makefile,v retrieving revision 1.17 diff -u -r1.17 Makefile --- multimedia/dvdstyler/Makefile 8 Jan 2006 21:50:14 -0000 1.17 +++ multimedia/dvdstyler/Makefile 23 Jan 2006 04:08:57 -0000 @@ -30,8 +30,8 @@ USE_REINPLACE= yes USE_AUTOTOOLS= libtool:15:inc USE_GMAKE= yes +USE_WX= 2.6 -CONFIGURE_ARGS= --with-wx-config=wxgtk2-2.6-config CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" .include <bsd.port.pre.mk> Index: multimedia/mkvtoolnix/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/multimedia/mkvtoolnix/Makefile,v retrieving revision 1.27 diff -u -r1.27 Makefile --- multimedia/mkvtoolnix/Makefile 12 Dec 2005 20:02:36 -0000 1.27 +++ multimedia/mkvtoolnix/Makefile 24 Jan 2006 12:58:30 -0000 @@ -62,13 +62,10 @@ PLIST_FILES+= %%DATADIR%%/images/${file} .endfor -WXGTK_CONFIG= wxgtk2u-2.6-config - .include <bsd.port.pre.mk> -.ifndef(WITHOUT_WXGTK) -LIB_DEPENDS+= wx_gtk2u_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode - +.ifndef(WITHOUT_WX) +USE_WX= 2.6 MAN1+= mmg.1 PLIST_FILES+= bin/mmg .endif @@ -83,10 +80,10 @@ .endif pre-everything:: -.ifndef(WITHOUT_WXGTK) +.ifndef(WITHOUT_WX) @${ECHO_MSG} "===>" - @${ECHO_MSG} "===> You can disable wxGTK2 support by defining" - @${ECHO_MSG} "===> WITHOUT_WXGTK" + @${ECHO_MSG} "===> You can disable WxWidgets support by defining" + @${ECHO_MSG} "===> WITHOUT_WX" @${ECHO_MSG} "===>" .endif @@ -95,8 +92,6 @@ @${FIND} ${WRKSRC} -type f -name "Makefile.in" | ${XARGS} \ -n 10 ${REINPLACE_CMD} -E -e \ 's!^(ACLOCAL|AUTOCONF|AUTOMAKE|AUTOHEADER).+$$!\1=${TRUE}!' - @${REINPLACE_CMD} -e 's|wx-config|${WXGTK_CONFIG}|' \ - ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|' \ ${WRKSRC}/src/common/os.cpp Index: net/amule1/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/amule1/Makefile,v retrieving revision 1.17 diff -u -r1.17 Makefile --- net/amule1/Makefile 5 Nov 2005 05:19:19 -0000 1.17 +++ net/amule1/Makefile 23 Jan 2006 04:08:51 -0000 @@ -14,8 +14,7 @@ MAINTAINER= ganael.laplanche@martymac.com COMMENT= The all-platform eMule p2p client -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 \ - curl.3:${PORTSDIR}/ftp/curl +LIB_DEPENDS= curl.3:${PORTSDIR}/ftp/curl LATEST_LINK= aMule1 CONFLICTS= aMule-2.* aMule-devel-[0-9]* @@ -23,12 +22,11 @@ USE_X_PREFIX= yes USE_GNOME= gnomehier gnomehack gnomeprefix USE_GMAKE= yes +USE_WX= 2.4 GNU_CONFIGURE= yes CONFIGURE_ARGS= --without-included-gettext \ --with-libintl-prefix=${LOCALBASE} \ --with-libiconv-prefix=${LOCALBASE} \ - --with-wx-config=${WX_CONFIG} \ - --with-wxbase-config=${WX_CONFIG} \ --with-curl-config=${CURL_CONFIG} \ --program-transform-name="s/ed2k/amule-ed2k-handler/" @@ -38,7 +36,6 @@ OPTIONS= OPTIMIZE "Build with optimization" on \ STATIC "Enable static linking" off -WX_CONFIG?= ${X11BASE}/bin/wxgtk2-2.4-config CURL_CONFIG?= ${LOCALBASE}/bin/curl-config .include <bsd.port.pre.mk> Index: net/amule2/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/amule2/Makefile,v retrieving revision 1.6 diff -u -r1.6 Makefile --- net/amule2/Makefile 4 Jan 2006 05:59:25 -0000 1.6 +++ net/amule2/Makefile 23 Jan 2006 04:08:57 -0000 @@ -13,8 +13,7 @@ MAINTAINER= ganael.laplanche@martymac.com COMMENT= The all-platform eMule p2p client -LIB_DEPENDS= wx_gtk2u_core-2.6:${PORTSDIR}/x11-toolkits/wxgtk26-unicode \ - curl.3:${PORTSDIR}/ftp/curl +LIB_DEPENDS= curl.3:${PORTSDIR}/ftp/curl # gd.4:${PORTSDIR}/graphics/gd # png.5:${PORTSDIR}/graphics/png @@ -24,6 +23,8 @@ USE_X_PREFIX= yes USE_GNOME= gnomehier gnomehack gnomeprefix USE_GMAKE= yes +USE_WX= 2.6 +USE_WXUNICODE= yes GNU_CONFIGURE= yes CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} CONFIGURE_ARGS= --disable-debug \ @@ -48,7 +49,6 @@ ALC "Compile aMule Link Creator (+GUI)" on \ AMULEDAEMON "Compile aMule daemon version - EXPERIMENTAL" off -WX_CONFIG?= ${X11BASE}/bin/wxgtk2u-2.6-config CURL_CONFIG?= ${LOCALBASE}/bin/curl-config .include <bsd.port.pre.mk> Index: net/boinc-client/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/boinc-client/Makefile,v retrieving revision 1.16 diff -u -r1.16 Makefile --- net/boinc-client/Makefile 12 Jan 2006 12:54:25 -0000 1.16 +++ net/boinc-client/Makefile 25 Jan 2006 04:53:19 -0000 @@ -25,11 +25,10 @@ .endif .if !defined(WITHOUT_X11) -LIB_DEPENDS+= iconv:${PORTSDIR}/converters/libiconv \ - wx_base:${PORTSDIR}/x11-toolkits/wxgtk26 \ - jpeg:${PORTSDIR}/graphics/jpeg \ +LIB_DEPENDS+= jpeg:${PORTSDIR}/graphics/jpeg \ glut:${PORTSDIR}/graphics/libglut -USE_XLIBS= yes +USE_ICONV= yes +USE_WX= 2.6 .endif USE_AUTOTOOLS= automake:19 autoheader:259 autoconf:259 libtool:15 @@ -61,9 +60,7 @@ USE_RC_SUBR= boinc.sh CONFIGURE_ARGS= --disable-server -.if !defined(WITHOUT_X11) -CONFIGURE_ARGS+= --with-wx-config=wxgtk2-2.6-config -.else +.if defined(WITHOUT_X11) CONFIGURE_ARGS+= --with-wx-config=false .endif CONFIGURE_ENV= CPPFLAGS=-I${X11BASE}/include CXXFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" Index: net/mute-net/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/mute-net/Makefile,v retrieving revision 1.16 diff -u -r1.16 Makefile --- net/mute-net/Makefile 5 Nov 2005 05:20:01 -0000 1.16 +++ net/mute-net/Makefile 23 Jan 2006 04:08:52 -0000 @@ -30,9 +30,7 @@ PATCH_WRKSRC= ${WRKDIR}/${RELEASE_DIRECTORY} .ifndef(WITHOUT_GUI) -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 - -WX_CONFIG?= ${X11BASE}/bin/wxgtk2-2.4-config +USE_WX= 2.4 .endif # Index: net/py-bittornado/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/py-bittornado/Makefile,v retrieving revision 1.21 diff -u -r1.21 Makefile --- net/py-bittornado/Makefile 12 Jan 2006 12:54:25 -0000 1.21 +++ net/py-bittornado/Makefile 23 Jan 2006 04:08:52 -0000 @@ -49,7 +49,8 @@ # required for GUI .ifndef(WITHOUT_GUI) -RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes PLIST_SUB+= GUI='' EXTRA_PATCHES+= ${FILESDIR}/extra-gui-patch-setup.py .else Index: net/py-kenosis-bittorrent/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/py-kenosis-bittorrent/Makefile,v retrieving revision 1.26 diff -u -r1.26 Makefile --- net/py-kenosis-bittorrent/Makefile 12 Jan 2006 12:54:25 -0000 1.26 +++ net/py-kenosis-bittorrent/Makefile 23 Jan 2006 04:08:52 -0000 @@ -48,7 +48,8 @@ # required for GUI .ifndef(WITHOUT_GUI) -RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes EXTRA_PATCHES+= ${FILESDIR}/extra-gui-patch-setup.py Index: net/py-mp-random/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/py-mp-random/Makefile,v retrieving revision 1.4 diff -u -r1.4 Makefile --- net/py-mp-random/Makefile 12 Jan 2006 12:54:25 -0000 1.4 +++ net/py-mp-random/Makefile 23 Jan 2006 04:08:52 -0000 @@ -16,9 +16,9 @@ MAINTAINER= randomimage-widget@mirrorproject.com COMMENT= Display random Mirror Project images on your desktop -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wxPython/wxc.so:${PORTSDIR}/x11-toolkits/py-wxPython24 - USE_PYTHON= yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes USE_X_PREFIX= yes NO_BUILD= yes Index: net/pyslsk/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/pyslsk/Makefile,v retrieving revision 1.18 diff -u -r1.18 Makefile --- net/pyslsk/Makefile 12 Jan 2006 12:54:26 -0000 1.18 +++ net/pyslsk/Makefile 23 Jan 2006 04:08:57 -0000 @@ -14,9 +14,6 @@ MAINTAINER= shoesoft@gmx.net COMMENT= Client for SoulSeek filesharing system -BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2-ansi/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython26 -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2-ansi/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython26 - .if !defined(WITHOUT_VORBIS) RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/ogg/vorbis.so:${PORTSDIR}/audio/py-vorbis .endif @@ -27,6 +24,8 @@ USE_PYTHON= yes USE_PYDISTUTILS=yes +USE_WX= 2.6 +USE_WXPYTHON= yes .include <bsd.port.pre.mk> Index: net/xmule/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/net/xmule/Makefile,v retrieving revision 1.43 diff -u -r1.43 Makefile --- net/xmule/Makefile 9 Dec 2005 21:51:24 -0000 1.43 +++ net/xmule/Makefile 23 Jan 2006 04:08:59 -0000 @@ -16,8 +16,7 @@ COMMENT= Port of eMule eDonkey P2P client using wxWindows class library BUILD_DEPENDS= ${LOCALBASE}/lib/libcryptopp.a:${PORTSDIR}/security/cryptopp -LIB_DEPENDS= expat.5:${PORTSDIR}/textproc/expat2 \ - wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 +LIB_DEPENDS= expat.5:${PORTSDIR}/textproc/expat2 RUN_DEPENDS= wget:${PORTSDIR}/ftp/wget USE_GETTEXT= yes @@ -28,14 +27,14 @@ gnomeprefix USE_REINPLACE= yes USE_GMAKE= yes +USE_WX= 2.6 GNU_CONFIGURE= yes CONFIGURE_ARGS= --without-included-gettext \ --with-cryptopp-prefix=${LOCALBASE} \ --with-gtk-prefix=${X11BASE} \ --with-libiconv-prefix=${LOCALBASE} \ --with-libintl-prefix=${LOCALBASE} \ - --enable-debug \ - --with-wx-config=${WX_CONFIG} + --enable-debug CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} ${PTHREAD_CFLAGS} -I${LOCALBASE}/include" \ LDFLAGS="${LDFLAGS} ${PTHREAD_LIBS} -L${LOCALBASE}/lib" MAKE_ARGS= -e @@ -43,8 +42,6 @@ # for debugging purposes STRIP= - -WX_CONFIG?= ${X11BASE}/bin/wxgtk2-2.6-config FILES_ATOLL_PATCH= src/Preferences.cpp \ src/otherfunctions.cpp Index: science/py-scipy/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/science/py-scipy/Makefile,v retrieving revision 1.4 diff -u -r1.4 Makefile --- science/py-scipy/Makefile 12 Jan 2006 12:54:26 -0000 1.4 +++ science/py-scipy/Makefile 23 Jan 2006 04:08:52 -0000 @@ -19,14 +19,15 @@ BUILD_DEPENDS= ${PYNUMERIC} \ ${LOCALBASE}/lib/libdjbfft.a:${PORTSDIR}/math/djbfft \ - f2py:${PORTSDIR}/lang/f2py \ - ${PYTHON_SITELIBDIR}/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 + f2py:${PORTSDIR}/lang/f2py LIB_DEPENDS= fftw.2:${PORTSDIR}/math/fftw \ atlas.1:${PORTSDIR}/math/atlas USE_REINPLACE= yes USE_PYTHON= 2.3+ USE_PYDISTUTILS= yes +USE_WX= 2.4 +USE_WXPYTHON_BUILD= yes post-patch: @${GREP} -lR "malloc\.h" ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ Index: security/hashish/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/security/hashish/Makefile,v retrieving revision 1.27 diff -u -r1.27 Makefile --- security/hashish/Makefile 5 Nov 2005 05:22:06 -0000 1.27 +++ security/hashish/Makefile 24 Jan 2006 13:02:34 -0000 @@ -18,13 +18,12 @@ COMMENT= GUI file and string hashing utility BUILD_DEPENDS= ${LOCALBASE}/lib/libcryptopp.a:${PORTSDIR}/security/cryptopp -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 +USE_WX= 2.4 GNU_CONFIGURE= yes CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib" \ - WX_CONFIG="${X11BASE}/bin/wxgtk2-2.4-config" + LDFLAGS="-L${LOCALBASE}/lib" USE_GMAKE= yes PLIST_FILES= bin/hashish Index: security/newpki-client/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/security/newpki-client/Makefile,v retrieving revision 1.3 diff -u -r1.3 Makefile --- security/newpki-client/Makefile 15 Nov 2005 06:51:01 -0000 1.3 +++ security/newpki-client/Makefile 23 Jan 2006 04:08:52 -0000 @@ -15,21 +15,19 @@ COMMENT= C++ PKI client from newpki project LIB_DEPENDS= newpki.2:${PORTSDIR}/security/newpki-lib \ - xml2:${PORTSDIR}/textproc/libxml2 \ - wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 + xml2:${PORTSDIR}/textproc/libxml2 WRKSRC= ${WRKDIR}/${PORTNAME}-2.0.0 USE_AUTOTOOLS= libtool:15 USE_OPENSSL= yes -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.4-config +USE_WX= 2.4 USE_GNOME= gnometarget USE_GMAKE= yes USE_REINPLACE= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${PREFIX}/include" \ - LDFLAGS="-L${LOCALBASE}/lib -L${PREFIX}/lib" \ - WXCONFIG=${WX_CONFIG} + LDFLAGS="-L${LOCALBASE}/lib -L${PREFIX}/lib" CONFIGURE_ARGS+= --with-newpki-include=${PREFIX}/include/newpki \ --with-newpki-lib=${PREFIX}/lib \ --with-libxml2-include=${PREFIX}/include/libxml2 Index: sysutils/bacula-server/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/sysutils/bacula-server/Makefile,v retrieving revision 1.59 diff -u -r1.59 Makefile --- sysutils/bacula-server/Makefile 19 Jan 2006 20:06:47 -0000 1.59 +++ sysutils/bacula-server/Makefile 23 Jan 2006 04:08:51 -0000 @@ -99,8 +99,8 @@ # Build wx-console .if defined(WITH_WXCONSOLE) CONFIGURE_ARGS+= --enable-wx-console -LIB_DEPENDS+= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 -CONFIGURE_ENV+= WXCONFIG=${X11BASE}/bin/wxgtk2-2.4-config +USE_WX= 2.4 +CONFIGURE_ENV+= WXCONFIG=${WX_CONFIG} PLIST_SUB+= WXCONS="" .else # We didn't need GTK (it's not possible to put WANT_GNOME in an .if statement!) Index: textproc/py-dsv/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/textproc/py-dsv/Makefile,v retrieving revision 1.7 diff -u -r1.7 Makefile --- textproc/py-dsv/Makefile 20 Jul 2005 14:47:49 -0000 1.7 +++ textproc/py-dsv/Makefile 23 Jan 2006 04:08:52 -0000 @@ -17,7 +17,8 @@ COMMENT= A Python module to parse or write delimeter-separated (e.g. CSV) files .if defined(WITH_GUI) -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes .endif USE_PYTHON= yes Index: x11-toolkits/py-SciParam/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/py-SciParam/Makefile,v retrieving revision 1.6 diff -u -r1.6 Makefile --- x11-toolkits/py-SciParam/Makefile 12 Jan 2006 12:54:28 -0000 1.6 +++ x11-toolkits/py-SciParam/Makefile 23 Jan 2006 04:08:52 -0000 @@ -19,11 +19,11 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Scientific Parameter Dialogs in wxPython based user interfaces -RUN_DEPENDS= ${PYTHON_SITELIBDIR}/wx/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 - USE_BZIP2= yes USE_PYTHON= yes USE_PYDISTUTILS= yes +USE_WX= 2.4 +USE_WXPYTHON_RUN= yes .if !defined(NOPORTDOCS) DOCSDIR= ${PREFIX}/share/doc/py-${PORTNAME} Index: x11-toolkits/py-wxPython24/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/py-wxPython24/Makefile,v retrieving revision 1.53 diff -u -r1.53 Makefile --- x11-toolkits/py-wxPython24/Makefile 20 Jan 2006 00:18:36 -0000 1.53 +++ x11-toolkits/py-wxPython24/Makefile 24 Jan 2006 13:05:12 -0000 @@ -25,7 +25,9 @@ USE_GMAKE= yes USE_PYTHON= yes USE_PYDISTUTILS=yes -PYDISTUTILS_BUILDARGS= WX_CONFIG="${WX_CONFIG}" +PYDISTUTILS_BUILDARGS= WX_CONFIG="${WX_CONFIG}" WXPORT="${WXPORT}" +USE_WX= 2.4 +WXPORT= gtk2 DEMO_DIR= ${PYTHONPREFIX_SITELIBDIR}/wxPython/demo post-build: Index: x11-toolkits/py-wxPython26/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/py-wxPython26/Makefile,v retrieving revision 1.55 diff -u -r1.55 Makefile --- x11-toolkits/py-wxPython26/Makefile 12 Jan 2006 12:54:29 -0000 1.55 +++ x11-toolkits/py-wxPython26/Makefile 25 Jan 2006 04:55:55 -0000 @@ -29,6 +29,8 @@ WX_CONFIG="${WX_CONFIG}" \ WXPORT="${WXPORT}" PYDISTUTILS_CONFIGUREARGS= ${PYDISTUTILS_BUILDARGS} +USE_WX= 2.6 +USE_WXCONTRIB= yes DEMO_DIR= ${PYTHONPREFIX_SITELIBDIR}/wxPython/demo WXPORT= gtk2 @@ -70,17 +72,6 @@ . endif .endif -# build dependencies -.if defined(WITH_UNICODE) -BUILD_DEPENDS+= ${WX_CONFIG}:${PORTSDIR}/x11-toolkits/wxgtk26-unicode - -WX_CONFIG= ${X11BASE}/bin/wxgtk2u-2.6-config -.else -BUILD_DEPENDS+= ${WX_CONFIG}:${PORTSDIR}/x11-toolkits/wxgtk26 - -WX_CONFIG= ${X11BASE}/bin/wxgtk2-2.6-config -.endif - # wx version .if exists(${WX_CONFIG}) WX_VERSION!= ${WX_CONFIG} --release @@ -105,8 +96,7 @@ INSTALLS_SHLIB= yes . if defined(WITH_UNICODE) -LIB_DEPENDS+= wx_gtk2u_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode \ - wx_gtk2u_gizmos-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode-contrib +USE_WXUNICODE= yes PKGNAMESUFFIX= -unicode @@ -114,8 +104,6 @@ UNICODE=1 WX_PYTHON_DIR= wx-${WX_VERSION}-${WXPORT}-unicode . else -LIB_DEPENDS+= wx_gtk2_core-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 \ - wx_gtk2_gizmos-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-contrib WX_PYTHON_DIR=wx-${WX_VERSION}-${WXPORT}-ansi . endif # defined(WITH_UNICODE) Index: x11-toolkits/py-wxPython26-common/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/py-wxPython26-common/Makefile,v retrieving revision 1.2 diff -u -r1.2 Makefile --- x11-toolkits/py-wxPython26-common/Makefile 9 Oct 2005 09:43:39 -0000 1.2 +++ x11-toolkits/py-wxPython26-common/Makefile 23 Jan 2006 04:08:57 -0000 @@ -11,6 +11,7 @@ PLIST= ${.CURDIR}/pkg-plist -LIB_DEPENDS+= wx_gtk2_stc-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-contrib +USE_WX= 2.6 +USE_WXCONTRIB= yes .include "${MASTERDIR}/Makefile" Index: x11-toolkits/ruby-wx/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/ruby-wx/Makefile,v retrieving revision 1.9 diff -u -r1.9 Makefile --- x11-toolkits/ruby-wx/Makefile 5 Nov 2005 05:19:33 -0000 1.9 +++ x11-toolkits/ruby-wx/Makefile 23 Jan 2006 04:08:57 -0000 @@ -17,9 +17,8 @@ MAINTAINER= q@galgenberg.net COMMENT= Ruby bindings for wxWindows (aka wxWidgets) -LIB_DEPENDS= wx_gtk2-2.4:${PORTSDIR}/x11-toolkits/wxgtk24 \ - wx_gtk2_xrc-2.4:${PORTSDIR}/x11-toolkits/wxgtk24-contrib - +USE_WX= 2.4 +USE_WXCONTRIB= yes USE_ICONV= yes USE_RUBY= yes USE_RUBY_EXTCONF= yes @@ -37,7 +36,6 @@ post-patch: @${FIND} ${WRKSRC} -name *.t | ${XARGS} ${REINPLACE_CMD} -e 's| ||' @${REINPLACE_CMD} -E 's/ html(processor|window).o//' ${WRKSRC}/depend - @${REINPLACE_CMD} -e 's/wx-config/wxgtk2-2.4-config/' ${WRKSRC}/extconf.rb .if !defined(NOPORTDOCS) post-install: Index: x11-toolkits/wxgtk24-contrib/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/wxgtk24-contrib/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- x11-toolkits/wxgtk24-contrib/Makefile 5 Nov 2005 05:19:08 -0000 1.8 +++ x11-toolkits/wxgtk24-contrib/Makefile 23 Jan 2006 04:08:57 -0000 @@ -12,7 +12,7 @@ WXGTK_FLAVOR= gtk2-contrib MASTERDIR= ${.CURDIR}/../wxgtk24 -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 +USE_WX= 2.4 BUILD_WRKSRC= ${WRKSRC}/contrib/src INSTALL_WRKSRC= ${BUILD_WRKSRC} Index: x11-toolkits/wxgtk26/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/wxgtk26/Makefile,v retrieving revision 1.21 diff -u -r1.21 Makefile --- x11-toolkits/wxgtk26/Makefile 18 Jan 2006 08:27:03 -0000 1.21 +++ x11-toolkits/wxgtk26/Makefile 23 Jan 2006 04:08:57 -0000 @@ -74,10 +74,10 @@ .if ${WXGTK_FLAVOR} != "gtk2-contrib-common" RUN_DEPENDS= ${X11BASE}/include/wx-2.6/wx/stc/stc.h:${PORTSDIR}/x11-toolkits/wxgtk26-contrib-common +USE_WX= 2.6 + .if ${WXGTK_FLAVOR:M*-unicode*} != "" -LIB_DEPENDS+= wx_baseu-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26-unicode -.else -LIB_DEPENDS+= wx_base-2.6.0:${PORTSDIR}/x11-toolkits/wxgtk26 +USE_WXUNICODE= yes .endif pre-configure: Index: x11-toolkits/wxmozilla/Makefile =================================================================== RCS file: /home/FreeBSD/pcvs/ports/x11-toolkits/wxmozilla/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- x11-toolkits/wxmozilla/Makefile 12 Jan 2006 12:54:30 -0000 1.19 +++ x11-toolkits/wxmozilla/Makefile 27 Jan 2006 04:01:44 -0000 @@ -16,17 +16,15 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Embedding Mozilla in wxWidgets -BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/wxPython/__init__.py:${PORTSDIR}/x11-toolkits/py-wxPython24 -LIB_DEPENDS= wx_gtk2-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24 RUN_DEPENDS= ${BUILD_DEPENDS} USE_PYTHON= yes USE_GNOME= gnomehack gnometarget USE_GECKO= mozilla -WXGTK_CONFIG?= ${X11BASE}/bin/wxgtk2-2.4-config USE_AUTOTOOLS= libtool:15 -CONFIGURE_ARGS= --with-wx-config=${WXGTK_CONFIG} --enable-python USE_REINPLACE= yes +USE_WX= 2.4 +USE_WXPYTHON= yes INSTALLS_SHLIB= yes .include <bsd.port.pre.mk>
Dear Alejandro, What is the status of this PR? A few months back Mark posted an updated patch for your review, but this has probably also become stale. If you are still interested in this, please review and update the patch and we can try to include it with the next bsd.port.mk build. Kris
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 23 May 2006 18:09:03 -0400 Kris Kennaway <kris@obsecurity.org> wrote: > Dear Alejandro, > > What is the status of this PR? A few months back Mark posted an > updated patch for your review, but this has probably also become > stale. If you are still interested in this, please review and update > the patch and we can try to include it with the next bsd.port.mk > build. > > Kris > Hello. I have redesigned the interface, so it has more features. I am going to start making the patches and testing them in my i386 4/5/6 Tinderbox, then I am going to send the follow-up. I think they will be ready in a few days. Best Regards, Ale -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEdGaYiV05EpRcP2ERAsjmAKCUgQXT556laareJ6BiphgzEbrzVQCfeQnN 3N+TJRNOFWb8H5jBKcQdYHU= =p30h -----END PGP SIGNATURE-----
Can you provide us with a copy of this in cleartext? mcl
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 3 Jun 2006 14:25:29 -0500 linimon@lonesome.com (Mark Linimon) wrote: > Can you provide us with a copy of this in cleartext? > > mcl Sure, sorry. - ---------- Hello. I have redesigned the interface, so it has more features. I am going to start making the patches and testing them in my i386 4/5/6 Tinderbox, then I am going to send the follow-up. I think they will be ready in a few days. Best Regards, Ale - ---------- I just have a little problem with complex version specifications (2.2+, 2.4-2.6, etc), but as there are only 2 versions of WxWidgets I think I will remove this feature. I could implement it later if it's needed. Best Regards, Ale -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEgfdwiV05EpRcP2ERAnRoAJsHdg+OVKYrRPwsUmqhmSUlHgk4IACfeGHT DNZRx8IYRgO+b3zgH4xL+X0= =MoxA -----END PGP SIGNATURE-----
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMQ0KDQpIZWxsby4N Cg0KSGVyZSBpcyB0aGUgbmV3IGRpZmYuDQoNClRoZSBwb3J0cyB3aGljaCBoYXZlIFVTRV9XWCBz ZXQgdG8gIjIuNC0yLjYiIGNhbiBiZSBjb21waWxlZCB3aXRoDQpXSVRIX1dYX1ZFUj0yLjQgKGJ5 IGRlZmF1bHQgdGhleSB1c2UgMi42KS4NCg0KVGhlIHBvcnRzIHdoaWNoIGhhdmUgVVNFX1dYIHNl dCB0byAiMi42IiBjYW4gYmUgY29tcGlsZWQgd2l0aA0KV0lUSF9VTklDT0RFPXllcyAoYnkgZGVm YXVsdCwgdGhleSBkb24ndCB1c2UgVW5pY29kZSkuDQoNCi0gLS0tLS0tLS0tLSBCRUdJTiAtLS0t LS0tLS0tDQpJbmRleDogTWsvYnNkLnBvcnQubWsNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t ZS9wY3ZzL3BvcnRzL01rL2JzZC5wb3J0Lm1rLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS41MzMN CmRpZmYgLXUgLXIxLjUzMyBic2QucG9ydC5taw0KLSAtLS0gTWsvYnNkLnBvcnQubWsJMjMgTWF5 IDIwMDYgMjE6NTM6MTggLTAwMDAJMS41MzMNCisrKyBNay9ic2QucG9ydC5tawkxMyBKdW4gMjAw NiAyMzoyMjoxMCAtMDAwMA0KQEAgLTEzOTMsNiArMTM5MywxMCBAQA0KIC5pbmNsdWRlICIke1BP UlRTRElSfS9Nay9ic2QuZ25vbWUubWsiDQogLmVuZGlmDQogDQorLmlmIGRlZmluZWQoV0FOVF9X WCkgfHwgZGVmaW5lZChVU0VfV1gpIHx8IGRlZmluZWQoVVNFX1dYX05PVCkNCisuaW5jbHVkZSAi JHtQT1JUU0RJUn0vTWsvYnNkLnd4Lm1rIg0KKy5lbmRpZg0KKw0KIC5pZiBkZWZpbmVkKFdBTlRf R1NUUkVBTUVSKSB8fCBkZWZpbmVkKFVTRV9HU1RSRUFNRVIpIHx8IGRlZmluZWQoVVNFX0dTVFJF QU1FUjgwKQ0KIC5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2QuZ3N0cmVhbWVyLm1rIg0KIC5l bmRpZg0KQEAgLTE4NDEsNiArMTg0NSwxMSBAQA0KIC5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9i c2QuZ25vbWUubWsiDQogLmVuZGlmDQogDQorLmlmIGRlZmluZWQoV0FOVF9XWCkgfHwgZGVmaW5l ZChVU0VfV1gpIHx8IGRlZmluZWQoVVNFX1dYX05PVCkNCisuaW5jbHVkZSAiJHtQT1JUU0RJUn0v TWsvYnNkLnd4Lm1rIg0KKy5lbmRpZg0KKw0KKw0KIC5pZiBleGlzdHMoJHtQT1JUU0RJUn0vLi4v TWFrZWZpbGUuaW5jKQ0KIC5pbmNsdWRlICIke1BPUlRTRElSfS8uLi9NYWtlZmlsZS5pbmMiDQog VVNFX1NVQk1BS0U9CXllcw0KSW5kZXg6IE1rL2JzZC53eC5taw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IE1rL2JzZC53eC5taw0KZGlmZiAtTiBNay9ic2Qud3gubWsNCi0gLS0tIC9kZXYvbnVsbAkx IEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwDQorKysgTWsvYnNkLnd4Lm1rCTEzIEp1biAyMDA2IDIz OjIyOjExIC0wMDAwDQpAQCAtMCwwICsxLDQ5OSBAQA0KKyMtKi0gbW9kZTogbWFrZWZpbGU7IHRh Yi13aWR0aDogNDsgLSotDQorIyBleDp0cz00DQorIw0KKyMgJEZyZWVCU0QkDQorIw0KKyMgYnNk Lnd4Lm1rIC0gU3VwcG9ydCBmb3IgV3hXaWRnZXRzIGJhc2VkIHBvcnRzLg0KKyMNCisjIENyZWF0 ZWQgYnk6IEFsZWphbmRybyBQdWx2ZXIgPGFsZXB1bHZlckBGcmVlQlNELm9yZz4NCisjDQorIyBQ bGVhc2UgdmlldyBtZSB3aXRoIDQgY29sdW1uIHRhYnMhDQorIw0KKyMgVGhlIGZvbGxvd2luZyB2 YXJpYWJsZXMgY2FuIGJlIGRlZmluZWQgaW4gYSBwb3J0IHRoYXQgdXNlcyB0aGUgV3hXaWRnZXRz DQorIyBsaWJyYXJ5LCBjb250cmlidXRlZCBsaWJyYXJpZXMsIFd4UHl0aG9uIGFuZC9vciBtb3Jl IFd4V2lkZ2V0cyByZWxhdGVkDQorIyBjb21wb25lbnRzICh3aXRoIHJ1biBhbmQvb3IgYnVpbGQg ZGVwZW5kZW5jaWVzKS4gSXQgY2FuIGJlIHVzZWQgYWZ0ZXIgYW5kL29yDQorIyBiZWZvcmUgYnNk LnBvcnQucHJlLm1rLCBidXQgUHl0aG9uIGNvbXBvbmVudHMgd2lsbCBvbmx5IHdvcmsgaWYgUHl0 aG9uDQorIyB2YXJpYWJsZXMgKGUuZy4gVVNFX1BZVEhPTikgYXJlIGRlZmluZWQgYmVmb3JlIGl0 ICh0aGlzIGlzIGEgYnNkLnB5dGhvbi5taw0KKyMgbGltaXRhdGlvbikuDQorIyBVU0VfV1gJCS0g U2V0IHRvIHRoZSBsaXN0IG9mIFd4V2lkZ2V0cyB2ZXJzaW9ucyB0aGF0IGNhbiBiZSB1c2VkIGJ5 DQorIwkJCQkgIHRoZSBwb3J0LiBUaGUgc3ludGF4IGFsbG93cyB0aGUgZm9sbG93aW5nIGVsZW1l bnRzOg0KKyMJCQkJICAtIFNpbmdsZSB2ZXJzaW9uIChlLmcuICIyLjQiKS4NCisjCQkJCSAgLSBS YW5nZSBvZiB2ZXJzaW9ucyAoZS5nLiAiMi40LTIuNiIpLiBNdXN0IGJlIGFzY2VuZGluZy4NCisj CQkJCSAgLSBQYXJ0aWFsIHJhbmdlOiBzaW5nbGUgdmVyc2lvbiBhbmQgdXBwZXIgKGUuZy4gIjIu NCsiKS4NCisjCQkJCSAgLSBQYXJ0aWFsIHJhbmdlOiBzaW5nbGUgdmVyc2lvbiBhbmQgbG93ZXIg KGUuZy4gIi0yLjYiKS4NCisjCQkJCSAgTXVsdGlwbGUgZWxlbWVudHMgY2FuIGJlIHNwZWNpZmll ZCBzZXBhcmF0ZWQgYnkgc3BhY2VzLg0KKyMgVVNFX1dYX05PVAktIFNldCB0byB0aGUgbGlzdCBv ZiBXeFdpZGdldHMgdmVyc2lvbnMgdGhhdCBjYW4ndCBiZSB1c2VkIGJ5DQorIwkJCQkgIHRoZSBw b3J0LiBJbiBvdGhlciB3b3JkcywgaXQgcmVtb3ZlcyBzb21lIHZlcnNpb25zIGZyb20NCisjCQkJ CSAgVVNFX1dYLiBJZiB0aGUgbGF0dGVyIGlzIG5vdCBkZWZpbmVkLCBpdCB3aWxsIGhhdmUgdGhl IHZhbHVlDQorIwkJCQkgIG9mIGFsbCB0aGUgcG9zc2libGUgdmVyc2lvbnMuIFRoZSBzeW50YXgg aXMgbGlrZSBVU0VfV1guDQorIyBXWF9DT01QUwkJLSBTZXQgdG8gdGhlIGxpc3Qgb2YgV3hXaWRn ZXRzIGNvbXBvbmVudHMgdGhlIHBvcnQgdXNlcy4NCisjCQkJCSAgU2V2ZXJhbCBjb21wb25lbnRz IGNhbiBiZSBzcGVjaWZpZWQgc2VwYXJhdGVkIGJ5IHNwYWNlcy4gQnkNCisjCQkJCSAgZGVmYXVs dCBpdCB3aWxsIGhhdmUgdGhlIHZhbHVlIG9mICJ3eCIuIFN1ZmZpeGVzIGluIHRoZSBmb3JtDQor IwkJCQkgICJfeHh4IiBtYXkgYmUgYWRkZWQgdG8gdGhlIGNvbXBvbmVudHMgdG8gZGV0ZXJtaW5l IHRoZQ0KKyMJCQkJICBkZXBlbmRlbmN5IHR5cGUuDQorIwkJCQkgIFRoZSBhdmFpbGFibGUgY29t cG9uZW50cyBhcmU6DQorIwkJCQkgIHd4CQkJLSBUaGUgV3hXaWRnZXRzIGxpYnJhcnkuDQorIwkJ CQkgIGNvbnRyaWIJCS0gVGhlIFd4V2lkZ2V0cyBjb250cmlidXRlZCBsaWJyYXJpZXMuDQorIwkJ CQkgIHB5dGhvbgkJLSBUaGUgV3hXaWRnZXRzIEFQSSBmb3IgUHl0aG9uIChXeFB5dGhvbikuDQor IwkJCQkgIG1vemlsbGEJCS0gV3hNb3ppbGxhIChvbmx5IGZvciAyLjQpLg0KKyMJCQkJICBzdmcJ CQktIFd4U1ZHIChvbmx5IGZvciAyLjYpLg0KKyMJCQkJICBUaGUgYXZhaWxhYmxlIGRlcGVuZGVu Y3kgdHlwZXMgYXJlOg0KKyMJCQkJICBidWlsZAkJCS0gUmVxdWlyZXMgY29tcG9uZW50IGZvciBi dWlsZGluZy4NCisjCQkJCSAgbGliCQkJLSBSZXF1aXJlcyBjb21wb25lbnQgZm9yIGJ1aWxkaW5n IGFuZCBydW5uaW5nLg0KKyMJCQkJICBydW4JCQktIFJlcXVpcmVzIGNvbXBvbmVudCBmb3IgcnVu bmluZy4NCisjCQkJCSAgSWYgbm8gc3VmZml4IGlzIHByZXNlbnQgdGhlbiAibGliIiB3aWxsIGJl IHVzZWQuDQorIyBXWF9DT05GX0FSR1MJLSBTZXQgdG8gImFic29sdXRlIiBvciAicmVsYXRpdmUi IGlmIHRoZSBwb3J0IG5lZWRzIGNvbmZpZ3VyZQ0KKyMJCQkJICBhcmd1bWVudHMgaW4gYWRkaXRp b24gdG8gdGhlIFdYX0NPTkZJRyBlbnZpcm9ubWVudCB2YXJpYWJsZS4NCisjCQkJCSAgSXQgZGV0 ZXJtaW5lcyB0aGUgdHlwZSBvZiBwYXJhbWV0ZXJzIHRoYXQgaGF2ZSB0byBiZSBwYXNzZWQNCisj CQkJCSAgdG8gdGhlIGNvbmZpZ3VyZSBzY3JpcHQuIEluIHRoZSBmaXJzdCBjYXNlIGl0IGFkZHMN CisjCQkJCSAgIi0td2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9IiAoYWJzb2x1dGUgcGF0aCBv ZiBXWF9DT05GSUcpLA0KKyMJCQkJICBhbmQgaW4gc2Vjb25kIG9uZSAiLS13aXRoLXd4PSR7WDEx QkFTRX0iIGFuZA0KKyMJCQkJICAiLS13aXRoLXd4LWNvbmZpZz0ke1dYX0NPTkZJRzpUfSAocHJl Zml4IGFuZCBuYW1lKS4NCisjIFdYX1VOSUNPREUJLSBTZXQgdG8gInllcyIgKG9yIGFueXRoaW5n KSBpZiB0aGUgcG9ydCBuZWVkcyB0aGUgVW5pY29kZQ0KKyMJCQkJICB2ZXJzaW9uIG9mIHRoZSBX eFdpZGdldHMgbGlicmFyeSBhbmQvb3IgY29udHJpYnV0ZWQNCisjCQkJCSAgbGlicmFyaWVzLg0K KyMJCQkJICBOT1RFOiB0aGlzIHNob3VsZCBOT1QgYmUgdXNlZCBmb3IgcG9ydHMgdGhhdCBjYW4g YmUgY29tcGlsZWQNCisjCQkJCSAgd2l0aCBVbmljb2RlIG9yIG5vdCwgYnV0IGZvciB0aGUgb25l cyB0aGF0IHJlcXVpcmUgaXQuIFRoZQ0KKyMJCQkJICBmaXJzdCBjYXNlIGlzIGhhbmRsZWQgYnkg dGhlIHVzZXIgdmFyaWFibGUgV0lUSF9VTklDT0RFLg0KKyMgV0FOVF9XWAkJLSBTZXQgdG8gInll cyIgb3IgYSB2YWxpZCBzaW5nbGUgdmVyc2lvbiAobm8gcmFuZ2VzLCBldGMpLg0KKyMJCQkJICBJ biBib3RoIGNhc2VzIGl0IHdpbGwgZGV0ZWN0IHRoZSBpbnN0YWxsZWQgV3hXaWRnZXRzDQorIwkJ CQkgIGNvbXBvbmVudHMgYW5kIGFkZCB0aGVtIHRvIHRoZSB2YXJpYWJsZSBIQVZFX1dYLiBJZiBh DQorIwkJCQkgIHZlcnNpb24gaXMgc2VsZWN0ZWQsIEhBVkVfV1ggd2lsbCBjb250YWluIGEgbGlz dCBvZg0KKyMJCQkJICBjb21wb25lbnRzIGluIHRoZSBvdGhlciBjYXNlIGl0IHdpbGwgY29udGFp biBhIGxpc3Qgb2YNCisjCQkJCSAgImNvbXBvbmVudC12ZXJzaW9uIiBwYWlycyAoZS5nLiB3eC0y LjYsIGNvbnRyaWItMi40LCBldGMpLg0KKyMJCQkJICBJdCBoYXMgdG8gYmUgdXNlZCBiZWZvcmUg YnNkLnBvcnQucHJlLm1rLg0KKyMgV0FOVF9XWF9WRVIJLSBTZXQgdG8gdGhlIHByZWZlcmVkIFd4 V2lkZ2V0cyB2ZXJzaW9uIGZvciB0aGUgcG9ydC4gSXQgbXVzdA0KKyMJCQkJICBiZSBwcmVzZW50 IGluIFVTRV9XWCBvciBtaXNzaW5nIGluIFVTRV9XWF9OT1QuIFRoaXMgaXMNCisjCQkJCSAgb3Zl cnJpZGVuIGJ5IHRoZSB1c2VyIHZhcmlhYmxlIFdJVEhfV1hfVkVSIGlmIHNldC4gSXQgY2FuDQor IwkJCQkgIGNvbnRhaW4gbXVsdGlwbGUgdmVyc2lvbnMgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZSAo bGFzdCBvbmVzDQorIwkJCQkgIGFyZSB0cmllZCBmaXJzdCkuDQorIw0KKyMgVGhlIGZvbGxvd2lu ZyB2YXJpYWJsZXMgYXJlIGludGVuZGVkIGZvciB0aGUgdXNlciBhbmQgY2FuIGJlIGRlZmluZWQg aW4NCisjIG1ha2UuY29uZi4NCisjIFdJVEhfVU5JQ09ERQktIElmIHRoZSB2YXJpYWJsZSBpcyBk ZWZpbmVkIGFuZCBib3RoIHRoZSBydW5uaW5nIEZyZWVCU0QNCisjCQkJCSAgdmVyc2lvbiBhbmQg dGhlIHNlbGVjdGVkIFd4V2lkZ2V0cyB2ZXJzaW9uIHN1cHBvcnQgVW5pY29kZSwNCisjCQkJCSAg dGhlbiB0aGUgVW5pY29kZSB2ZXJzaW9uIG9mIFd4V2lkZ2V0cyBpcyB1c2VkLg0KKyMgV0lUSF9X WF9WRVIJLSBJZiB0aGUgdmFyaWFibGUgaXMgZGVmaW5lZCB0aGUgdmVyc2lvbiBpdCBjb250YWlu cyB3aWxsIGJlDQorIwkJCQkgIHVzZWQgYXMgdGhlIGRlZmF1bHQgZm9yIHBvcnRzIHRoYXQgc3Vw cG9ydCBtdWx0aXBsZQ0KKyMJCQkJICBXeFdpZGdldHMgdmVyc2lvbnMuIEl0IGNhbiBjb250YWlu IG11bHRpcGxlIHZlcnNpb25zLCBhbmQNCisjCQkJCSAgdGhlIGxhc3QgcG9zc2libGUgb25lIHdp bGwgYmUgdXNlZC4NCisjDQorIyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBi eSB0aGlzIGZpbGUsIHRvIGJlIHJlYWQgZnJvbSB0aGUgcG9ydC4NCisjIFdYX1VOSUNPREUJLSBJ ZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkIGJ5IHRoZSBwb3J0ICh3aGljaCBtZWFucyBp dA0KKyMJCQkJICByZXF1aXJlcyB0aGUgVW5pY29kZSB2ZXJzaW9uIG9mIFd4V2lkZ2V0cyksIGl0 IHdpbGwgYmUNCisjCQkJCSAgZGVmaW5lZCBpbiB0aGUgY2FzZSB0aGUgVW5pY29kZSB2ZXJzaW9u IGlzIHVzZWQgKGVuYWJsZWQgYnkNCisjCQkJCSAgdGhlIHVzZXIgdGhyb3VnaCBXSVRIX1VOSUNP REUpLg0KKyMgV1hfVkVSU0lPTgktIFRoZSBXeFdpZGdldHMgdmVyc2lvbiB0aGF0IGlzIGdvaW5n IHRvIGJlIHVzZWQuDQorIyBIQVZFX1dYCQktIFRoZSBsaXN0IG9mIFd4V2lkZ2V0cyBjb21wb25l bnRzIGluc3RhbGxlZCwgaWYgV0FOVF9XWCB3YXMNCisjCQkJCSAgZGVmaW5lZC4gVGhlIGNvbXBv bmVudHMgd2lsbCBoYXZlIHZlcnNpb24gc3VmZml4IGlmIGl0IHdhcw0KKyMJCQkJICBzZXQgdG8g InllcyIpLg0KKyMNCisjIEV4YW1wbGVzOg0KKyMgLSBBIHBvcnQgdGhhdCBuZWVkcyBXeFdpZGdl dHMgMi42IGFuZCBjb250cmlidXRlZCBsaWJyYXJpZXMgd2l0aCBVbmljb2RlLg0KKyMJVVNFX1dY PQkJMi42DQorIwlXWF9DT01QUz0Jd3ggY29udHJpYg0KKyMJV1hfVU5JQ09ERT0JeWVzDQorIyAt IEEgcG9ydCB0aGF0IG5lZWRzIFd4UHl0aG9uIDIuNCBmb3IgcnVubmluZy4NCisjCVVTRV9QWVRI T049CXllcw0KKyMJVVNFX1dYPQkJMi40DQorIwlXWF9DT01QUz0JcHl0aG9uX3J1bg0KKyMgLSBB IHBvcnQgdGhhdCBuZWVkcyBXeFB5dGhvbiAyLjQgb3IgMi42IGZvciBidWlsZGluZy4NCisjCVVT RV9QWVRIT049CXllcw0KKyMJVVNFX1dYPQkJMi40IDIuNg0KKyMJV1hfQ09NUFM9CXB5dGhvbl9i dWlsZA0KKyMgLSBBIHBvcnQgdGhhdCBuZWVkcyBXeFdpZGdldHMgdmVyc2lvbiAyLjQgb3IgaGln aGVyIGFuZCBjb250cmlidXRlZA0KKyMJbGlicmFyaWVzLg0KKyMJVVNFX1dYPQkJMi40Kw0KKyMJ V1hfQ09NUFM9CXd4IGNvbnRyaWINCisjIC0gQSBwb3J0IHRoYXQgbmVlZHMgV3hXaWRnZXRzIG9m IGFueSB2ZXJzaW9uIG90aGVyIHRoYW4gMi40Lg0KKyMJVVNFX1dYX05PVD0JMi40DQorIw0KKyMg Tm90ZXM6DQorIyAtIFRoZSB2ZXJzaW9uIGlzIHByb2Nlc3NlZCBvbiBlYWNoIGluY2x1c2lvbiwg c28gVVNFX1dYLCBVU0VfV1hfTk9UIGFuZA0KKyMJV1hfVU5JQ09ERSBjYW4gYmUgbW9kaWZpZWQg YmVmb3JlIGFuZCBhZnRlciBpbmNsdWRpbmcgYnNkLnBvcnQucHJlLm1rLg0KKyMJQWZ0ZXIgZGV0 ZXJtaW5pbmcgdGhlIHZlcnNpb24gYW5kIFVuaWNvZGUsIFdYX0NPTkZJRyB3aWxsIGJlIGRlZmlu ZWQuDQorIw0KKw0KK1dYX0luY2x1ZGVfTUFJTlRBSU5FUj0JYWxlcHVsdmVyQEZyZWVCU0Qub3Jn DQorDQorIw0KKyMgR2xvYmFsIGRlZmluaXRpb25zLg0KKyMNCisNCisuaWYgIWRlZmluZWQoX1dY X0RlZmluaXRpb25zX0RvbmUpDQorX1dYX0RlZmluaXRpb25zX0RvbmU9CXllcw0KKw0KKyMNCisj IENvbW1vbiB2YXJpYWJsZXM6DQorIyBfV1hfQ09NUFNfQUxMCQkJLSBMaXN0IG9mIHZhbGlkIGNv bXBvbmVudHMuDQorIyBfV1hfREVQX1RZUEVTX0FMTAkJLSBMaXN0IG9mIHZhbGlkIGRlcGVuZGVu Y3kgdHlwZXMuDQorIyBfV1hfVkVSU19BTEwJCQktIExpc3Qgb2Ygc3VwcG9ydGVkIHZlcnNpb25z Lg0KKyMgX1dYX1ZFUlNfVUNfQUxMCQktIExpc3Qgb2YgVW5pY29kZSBjYXBhYmxlIHZlcnNpb25z Lg0KKyMgX1dYX0NIQU5HRV9WQVJTCQktIExpc3Qgb2YgdmFyaWFibGVzIGFsbG93ZWQgdG8gY2hh bmdlIGJldHdlZW4gcHJlIGFuZA0KKyMJCQkJCQkgIHBvc3QgaW5jbHVzaW9ucyAocmVsYXRlZCB0 byB2ZXJzaW9uKS4NCisjIF9XWF9MSVNUU19PUkRFUgkJLSBSZXZlcnNlIGxpc3RzIHByZWZlcmVu Y2Ugb3JkZXIuDQorIyBfV1hfQVVUT19WQVJTCQkJLSBWYXJpYWJsZXMgZGVmaW5lZCBzb21ldGlt ZXMgdGhhdCBtYXkgaGF2ZSB0byBiZQ0KKyMJCQkJCQkgIHJlZGVmaW5lZCBsYXRlci4NCisjDQor DQorX1dYX0NPTVBTX0FMTD0JCQl3eCBjb250cmliIHB5dGhvbiBtb3ppbGxhIHN2Zw0KK19XWF9E RVBfVFlQRVNfQUxMPQkJYnVpbGQgbGliIHJ1bg0KK19XWF9WRVJTX0FMTD0JCQkyLjQgMi42DQor X1dYX1ZFUlNfVUNfQUxMPQkJMi42DQorX1dYX0NIQU5HRV9WQVJTPQkJVVNFX1dYIFVTRV9XWF9O T1QgV1hfVU5JQ09ERQ0KK19XWF9MSVNUU19PUkRFUj0JCV9XWF9WRVJfRklOQUwgV0FOVF9XWF9W RVIgV0lUSF9XWF9WRVINCitfV1hfQVVUT19WQVJTPQkJCVVTRV9XWCBXWF9DT05GSUcNCisNCisj DQorIyBWYXJpYWJsZXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBpcyBuZWVkZWQ6DQorIyBfV1hf UE9SVF9jb21wX3ZlcgkJLSBQb3J0IGRpcmVjdG9yeS4NCisjIF9XWF9MSUJfY29tcF92ZXIJCS0g TmFtZSBvZiB0aGUgc2hhcmVkIGxpYnJhcnkgKG9wdGlvbmFsKS4NCisjIF9XWF9TSFZFUl9jb21w X3ZlcgktIFNoYXJlZCBsaWJyYXJ5IHZlcnNpb24gKG9wdGlvbmFsKS4NCisjIF9XWF9GSUxFX2Nv bXBfdmVyCQktIEZpbGUgaW5zdGFsbGVkIGJ5IHRoYXQgY29tcG9uZW50Lg0KKyMNCisNCitfV1hf UE9SVF93eF8yLjQ9CQl3eGd0azI0DQorX1dYX0xJQl93eF8yLjQ9CQkJd3hfZ3RrMi0yLjQNCisN CitfV1hfUE9SVF9jb250cmliXzIuND0Jd3hndGsyNC1jb250cmliDQorX1dYX0xJQl9jb250cmli XzIuND0Jd3hfZ3RrMl9jYW52YXMtMi40DQorDQorX1dYX1BPUlRfcHl0aG9uXzIuND0JcHktd3hQ eXRob24yNA0KK19XWF9GSUxFX3B5dGhvbl8yLjQ9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4L19f aW5pdF9fLnB5DQorDQorX1dYX1BPUlRfbW96aWxsYV8yLjQ9CXd4bW96aWxsYQ0KK19XWF9MSUJf bW96aWxsYV8yLjQ9CXd4bW96aWxsYV9ndGsyLTIuNA0KKw0KK19XWF9QT1JUX3d4XzIuNj0JCXd4 Z3RrMjYke19XWF9VQ0x9DQorX1dYX0xJQl93eF8yLjY9CQkJd3hfYmFzZSR7X1dYX1VDfS0yLjYN CisNCitfV1hfUE9SVF9jb250cmliXzIuNj0Jd3hndGsyNiR7X1dYX1VDTH0tY29udHJpYg0KK19X WF9MSUJfY29udHJpYl8yLjY9CXd4X2d0azIke19XWF9VQ31fYW5pbWF0ZS0yLjYNCisNCitfV1hf UE9SVF9weXRob25fMi42PQlweS13eFB5dGhvbjI2JHtfV1hfVUNMfQ0KK19XWF9GSUxFX3B5dGhv bl8yLjY9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4LTIuNi1ndGsyJHtfV1hfUFlTVUZYfS93eC9f X2luaXRfXy5weQ0KKw0KK19XWF9QT1JUX3N2Z18yLjY9CQl3eHN2Zw0KK19XWF9MSUJfc3ZnXzIu Nj0JCXd4c3ZnDQorDQorIyBTZXQgX1dYX1NIVkVSX2NvbXBfdmVyIHRvIDAgYW5kIF9XWF9GSUxF X2NvbXBfdmVyIGZvciBsaWJzIGFwcHJvcGlhdGVseS4NCisNCisuZm9yIGNvbXAgaW4gJHtfV1hf Q09NUFNfQUxMfQ0KKy4JZm9yIHZlciBpbiAke19XWF9WRVJTX0FMTH0NCisuCQlpZiBkZWZpbmVk KF9XWF9MSUJfJHtjb21wfV8ke3Zlcn0pDQorX1dYX1NIVkVSXyR7Y29tcH1fJHt2ZXJ9PQkwDQor X1dYX0ZJTEVfJHtjb21wfV8ke3Zlcn09CSR7WDExQkFTRX0vbGliL2xpYiR7X1dYX0xJQl8ke2Nv bXB9XyR7dmVyfX0uc28uJHtfV1hfU0hWRVJfJHtjb21wfV8ke3Zlcn19DQorLgkJZW5kaWYNCisu CWVuZGZvcg0KKy5lbmRmb3INCisNCisuZW5kaWYJCSMgIV9XWF9EZWZpbmVkX0RvbmUNCisNCisj DQorIyBDaGVjayBpZiB0aGUgdmVyc2lvbiBoYXMgY2hhbmdlZCBiZXR3ZWVuIGluY2x1c2lvbnMu DQorIw0KKw0KKy5pZiBkZWZpbmVkKF9XWF9WZXJzaW9uX0RvbmUpDQorLgl1bmRlZiBfV1hfSEFT X0NIQU5HRUQNCisNCisuCWZvciB2YXIgaW4gJHtfV1hfQ0hBTkdFX1ZBUlN9DQorLgkJaWYgKGRl ZmluZWQoJHt2YXJ9KSAmJiAhZGVmaW5lZChfV1hfT0xEXyR7dmFyfSkpIHx8IFwNCisJCSAgICgh ZGVmaW5lZCgke3Zhcn0pICYmIGRlZmluZWQoX1dYX09MRF8ke3Zhcn0pKSB8fCBcDQorCQkgICAo ZGVmaW5lZChfV1hfT0xEXyR7dmFyfSkgJiYgJHtfV1hfT0xEXyR7dmFyfX0gIT0gJHske3Zhcn19 KQ0KK19XWF9IQVNfQ0hBTkdFRD0JCXllcw0KKy4JCWVuZGlmDQorLgllbmRmb3INCisuZW5kaWYJ CSMgX1dYX1ZlcnNpb25fRG9uZQ0KKw0KKyMNCisjIFNlbGVjdCBXeFdpZGdldHMgdmVyc2lvbi4N CisjDQorDQorLmlmICghZGVmaW5lZChfV1hfVmVyc2lvbl9Eb25lKSB8fCBkZWZpbmVkKF9XWF9I QVNfQ0hBTkdFRCkpICYmIFwNCisJKGRlZmluZWQoVVNFX1dYKSB8fCBkZWZpbmVkKFVTRV9XWF9O T1QpKQ0KK19XWF9WZXJzaW9uX0RvbmU9CQl5ZXMNCisNCisjIEhhbmRsZSBhdXRvbWF0aWMgdmFy aWFibGVzLg0KKw0KKy5mb3IgdmFyIGluICR7X1dYX0FVVE9fVkFSU30NCisuCWlmIGRlZmluZWQo X1dYXyR7dmFyfV9ERUZJTkVEKQ0KKy4JCXVuZGVmICR7dmFyfQ0KKy4JZW5kaWYNCisuCWlmICFk ZWZpbmVkKCR7dmFyfSkNCitfV1hfJHt2YXJ9X0RFRklORUQ9CQl5ZXMNCisuCWVuZGlmDQorLmVu ZGZvcg0KKw0KKyMgUmVzZXQgb2xkIHZhcmlhYmxlIHZhbHVlcy4NCisNCisuaWYgZGVmaW5lZChf V1hfSEFTX0NIQU5HRUQpDQorLgl1bmRlZiBfV1hfVkVSDQorLgl1bmRlZiBfV1hfSUdOT1JFDQor LmVuZGlmDQorDQorIyBTZXQgZGVmYXVsdHMgKGlmIG9uZSBpc24ndCBwcmVzZW50KS4NCisNCitV U0VfV1g/PQkJCQkke19XWF9WRVJTX0FMTH0NCitVU0VfV1hfTk9UPz0JCQkjDQorDQorIw0KKyMg TWFrZSBsaXN0cyBvZiB2YWxpZCBhbmQgaW52YWxpZCB2ZXJzaW9ucy4NCisjDQorIyBUaGUgZm9s bG93aW5nIHZhcmlhYmxlcyBhcmUgdXNlZDoNCisjIF9XWF9WRVJfQ0hFQ0sJCQktIElmIHRoZSB2 ZXJzaW9uIGlzIGEgc2luZ2xlIG9uZSwgZXhwcmVzcyBpbiBhIHJhbmdlLg0KKyMgX1dYX1ZFUl9N SU4JCQktIExvd2VyIHZlcnNpb24gb2YgdGhlIHJhbmdlLg0KKyMgX1dYX1ZFUl9NQVgJCQktIEhp Z2hlciB2ZXJzaW9uIG9mIHRoZSByYW5nZS4NCisjIF9XWF9WRVJfTElTVAkJCS0gTGlzdCBvZiBy ZXF1ZXN0ZWQgdmVyc2lvbnMuDQorIyBfV1hfVkVSX05PVF9MSVNUCQktIExpc3Qgb2YgZGlzYWxs b3dlZCB2ZXJzaW9ucy4NCisjIF9XWF9WRVJfTUVSR0VECQktIExpc3Qgb2YgcmVxdWVzdGVkIHZl cnNpb24gd2l0aG91dCBkaXNhbGxvd2VkIG9uZXMuDQorIw0KKw0KKy5mb3IgbGlzdCBpbiBWRVIg VkVSX05PVA0KK19XWF8ke2xpc3R9X0xJU1Q9CQkjDQorLglmb3IgdmVyIGluICR7VVNFX1dYJHts aXN0OkMvVkVSLy99fQ0KK19XWF9WRVJfQ0hFQ0s6PQkJCSR7dmVyOkMvXihbWzpkaWdpdDpdXSso XC5bWzpkaWdpdDpdXSspKikkL1wxLVwxL30NCitfV1hfVkVSX01JTjo9CQkJJHtfV1hfVkVSX0NI RUNLOkMvKFtbOmRpZ2l0Ol1dKyhcLltbOmRpZ2l0Ol1dKykqKVstK10uKi9cMS99DQorX1dYX1ZF Ul9NQVg6PQkJCSR7X1dYX1ZFUl9DSEVDSzpDLy4qLShbWzpkaWdpdDpdXSsoXC5bWzpkaWdpdDpd XSspKikvXDEvfQ0KKyMgTWluaW11bSB2ZXJzaW9uIG5vdCBzcGVjaWZpZWQuDQorLgkJaWYgJHtf V1hfVkVSX01JTn0gPT0gJHtfV1hfVkVSX0NIRUNLfQ0KKy4JCQl1bmRlZiBfV1hfVkVSX01JTg0K Ky4JCQlmb3IgdiBpbiAke19XWF9WRVJTX0FMTH0NCitfV1hfVkVSX01JTj89CQkJJHt2fQ0KKy4J CQllbmRmb3INCisuCQllbmRpZg0KKyMgTWF4aW11bSB2ZXJzaW9uIG5vdCBzcGVjaWZpZWQuDQor LgkJaWYgJHtfV1hfVkVSX01BWH0gPT0gJHtfV1hfVkVSX0NIRUNLfQ0KKy4JCQlmb3IgdiBpbiAk e19XWF9WRVJTX0FMTH0NCitfV1hfVkVSX01BWD0JCQkke3Z9DQorLgkJCWVuZGZvcg0KKy4JCWVu ZGlmDQorIyBFeHBhbmQgdmVyc2lvbnMgYW5kIGFkZCB2YWxpZCBvbmVzIHRvIGVhY2ggbGlzdC4N CisuCQlmb3IgdiBpbiAke19XWF9WRVJTX0FMTH0NCisuCQkJaWYgJHtfV1hfVkVSX01JTn0gPD0g JHt2fSAmJiAke19XWF9WRVJfTUFYfSA+PSAke3Z9ICYmIFwNCisJCQkgICAke19XWF8ke2xpc3R9 X0xJU1Q6TSR7dn19ID09ICIiDQorX1dYXyR7bGlzdH1fTElTVCs9CQkke3Z9DQorLgkJCWVuZGlm DQorLgkJZW5kZm9yDQorLgllbmRmb3INCisuZW5kZm9yDQorDQorIyBNZXJnZSB0aGUgbGlzdHMg aW50byBhIHNpbmdsZSBsaXN0IG9mIHZhbGlkIHZlcnNpb25zLg0KKw0KK19XWF9WRVJfTUVSR0VE PQkJCSMNCisuZm9yIHZlciBpbiAke19XWF9WRVJfTElTVH0NCisuCWlmICR7X1dYX1ZFUl9OT1Rf TElTVDpNJHt2ZXJ9fSA9PSAiIg0KK19XWF9WRVJfTUVSR0VEKz0JCSR7dmVyfQ0KKy4JZW5kaWYN CisuZW5kZm9yDQorDQorIyBDaGVjayBmb3IgYSBudWxsIHZlcnNpb24uDQorDQorLmlmIGVtcHR5 KF9XWF9WRVJfTUVSR0VEKQ0KK19XWF9JR05PUkU/PQkJCXNlbGVjdGVkIGEgbnVsbCBvciBpbnZh bGlkIFd4V2lkZ2V0cyB2ZXJzaW9uDQorLmVuZGlmDQorDQorIw0KKyMgVW5pY29kZSBzdXBwb3J0 Lg0KKyMNCisNCisjIENyZWF0ZSBhIGxpc3Qgb2YgY2FwYWJsZSB2ZXJzaW9ucy4NCisNCitfV1hf VkVSX1VDPQkJCQkjDQorLmZvciB2ZXIgaW4gJHtfV1hfVkVSX01FUkdFRH0NCisuCWlmICR7X1dY X1ZFUlNfVUNfQUxMOk0ke3Zlcn19ICE9ICIiDQorX1dYX1ZFUl9VQys9CQkJJHt2ZXJ9DQorLgll bmRpZg0KKy5lbmRmb3INCisNCisjIFJlcXVlc3RlZCBieSB0aGUgdXNlciAob3B0aW9uYWwpLg0K Kw0KKy5pZiBkZWZpbmVkKFdJVEhfVU5JQ09ERSkgJiYgJHtPU1ZFUlNJT059ID49IDUwMDAwMA0K Ky4JZm9yIHZlciBpbiAke19XWF9WRVJfVUN9DQorLgkJaWYgJHtfV1hfVkVSU19VQ19BTEw6TSR7 dmVyfX0gIT0gIiINCitXWF9VTklDT0RFPQkJCQl5ZXMNCisuCQllbmRpZg0KKy4JZW5kZm9yDQor LmVuZGlmDQorDQorIyBSZXF1ZXN0ZWQgYnkgdGhlIHBvcnQgKG1hbmRhdG9yeSkuDQorDQorLmlm IGRlZmluZWQoV1hfVU5JQ09ERSkNCisuCWlmICR7T1NWRVJTSU9OfSA8IDUwMDAwMA0KK19XWF9J R05PUkU/PQkJCXJlcXVpcmVzIEZyZWVCU0QgdmVyc2lvbnMgPj0gNS5YIChiZWNhdXNlIG9mIFVu aWNvZGUpDQorLgllbGlmIGVtcHR5KF9XWF9WRVJfVUMpDQorX1dYX0lHTk9SRT89CQkJc2VsZWN0 ZWQgYSBXeFdpZGdldHMgdmVyc2lvbiB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IFVuaWNvZGU6ICR7 X1dYX1ZFUl9NRVJHRUR9DQorLgllbmRpZg0KKy5lbmRpZg0KKw0KKyMgU2V0IFVuaWNvZGUgdmFy aWFibGVzLg0KKw0KKy5pZiBkZWZpbmVkKFdYX1VOSUNPREUpDQorX1dYX1ZFUl9GSU5BTD0JCQkk e19XWF9WRVJfVUN9DQorX1dYX1VDPQkJCQkJdQ0KK19XWF9VQ0w9CQkJCS11bmljb2RlDQorX1dY X1BZU1VGWD0JCQkJLXVuaWNvZGUNCisuZWxzZQ0KK19XWF9WRVJfRklOQUw9CQkJJHtfV1hfVkVS X01FUkdFRH0NCitfV1hfVUM9CQkJCQkjDQorX1dYX1VDTD0JCQkJIw0KK19XWF9QWVNVRlg9CQkJ CS1hbnNpDQorLmVuZGlmDQorDQorIw0KKyMgQ2hvb3NlIGZpbmFsIHZlcnNpb24uDQorIw0KKw0K KyMNCisjIENoZWNrIGZvciB0aGUgZm9sbG93aW5nIChpbiBvcmRlcik6DQorIyAxKSBXSVRIX1dY X1ZFUgkJLSBVc2VyIHByZWZlcmVuY2UuDQorIyAyKSBXQU5UX1dYX1ZFUgkJLSBQb3J0IHByZWZl cmVuY2UuDQorIyAzKSBfV1hfVkVSX0ZJTkFMCQktIEF2YWlsYWJsZSB2ZXJzaW9ucy4NCisjDQor DQorLmZvciBsaXN0IGluICR7X1dYX0xJU1RTX09SREVSfQ0KKy4JaWYgZGVmaW5lZCgke2xpc3R9 KQ0KKy4JCWZvciB2ZXIgaW4gJHske2xpc3R9fQ0KKy4JCQlpZiAke19XWF9WRVJfRklOQUw6TSR7 dmVyfX0gIT0gIiINCitfV1hfVkVSPQkJCQkke3Zlcn0NCisuCQkJZW5kaWYNCisuCQllbmRmb3IN CisuCWVuZGlmDQorLmVuZGZvcg0KKw0KKyMNCisjIFNldCB2YXJpYWJsZXMuDQorIw0KKw0KK1dY X1ZFUlNJT049CQkJCSR7X1dYX1ZFUn0NCitXWF9DT05GSUc/PQkJCQkke1gxMUJBU0V9L2Jpbi93 eGd0azIke19XWF9VQ30tJHtfV1hfVkVSfS1jb25maWcNCisNCisjIERlZmluZSBvbGQgdmFsdWVz IGZvciBkZXRlY3RpbmcgY2hhbmdlcy4NCisNCisuZm9yIHZhciBpbiAke19XWF9DSEFOR0VfVkFS U30NCisuCWlmIGRlZmluZWQoJHt2YXJ9KQ0KK19XWF9PTERfJHt2YXJ9Oj0JCSR7JHt2YXJ9fQ0K Ky4JZW5kaWYNCisuZW5kZm9yDQorDQorLmVuZGlmCQkjICEgX1dYX1ZlcnNpb25fRG9uZSB8fCBf V1hfSEFTX0NIQU5HRUQNCisNCisjDQorIyBDaGVjayBmb3IgcHJlc2VudCBjb21wb25lbnRzLg0K KyMNCisNCisuaWYgIWRlZmluZWQoQUZURVJQT1JUTUspICYmIGRlZmluZWQoV0FOVF9XWCkNCitI QVZFX1dYPQkJCQkjDQorLglmb3IgX19XQU5UX1dYIGluICR7V0FOVF9XWH0NCisuCQlpZiAke1dB TlRfV1g6VX0gPT0gIllFUyINCisuCQkJZm9yIGNvbXAgaW4gJHtfV1hfQ09NUFNfQUxMfQ0KKy4J CQkJZm9yIHZlciBpbiAke19XWF9WRVJTX0FMTH0NCisuCQkJCQlpZiBleGlzdHMoJHtfV1hfRklM RV8ke2NvbXB9XyR7dmVyfX0pDQorSEFWRV9XWCs9CQkJCSR7Y29tcH0tJHt2ZXJ9DQorLgkJCQkJ ZW5kaWYNCisuCQkJCWVuZGZvcg0KKy4JCQllbmRmb3INCisuCQllbGlmICR7X1dYX1ZFUlNfQUxM Ok0ke19fV0FOVF9XWH19DQorLgkJCWZvciBjb21wIGluICR7X1dYX0NPTVBTX0FMTH0NCisuCQkJ CWlmIGV4aXN0cygke19XWF9GSUxFXyR7Y29tcH1fJHtfX1dBTlRfV1h9fSkNCitIQVZFX1dYKz0J CQkJJHtjb21wfQ0KKy4JCQkJZW5kaWYNCisuCQkJZW5kZm9yDQorLgkJZWxzZQ0KK0lHTk9SRT89 CQkJCXNlbGVjdGVkIGFuIGludmFsaWQgdmFsdWUgZm9yIFdBTlRfV1g6ICR7X19XQU5UX1dYfQ0K Ky4JCWVuZGlmDQorLgllbmRmb3INCisuZW5kaWYJCSMgISBBRlRFUlBPUlRNSyAmJiBXQU5UX1dY DQorDQorIw0KKyMgUHJvY2VzcyBjb21wb25lbnRzIGxpc3QgYW5kIGFkZCBkZXBlbmRlbmNpZXMs IHZhcmlhYmxlcywgZXRjLg0KKyMNCisNCisuaWYgIWRlZmluZWQoQkVGT1JFUE9SVE1LKSAmJiBc DQorCShkZWZpbmVkKFVTRV9XWCkgfHwgZGVmaW5lZChVU0VfV1hfTk9UKSkNCisNCisjIEVycm9y IGNoZWNrLg0KKw0KKy5pZiBkZWZpbmVkKF9XWF9JR05PUkUpDQorSUdOT1JFPz0JCQkJJHtfV1hf SUdOT1JFfQ0KKy5lbmRpZg0KKw0KKyMNCisjIENvbXBvbmVudCBwYXJzaW5nLg0KKyMNCisjIFRo ZSB2YXJpYWJsZXMgdXNlZCBhcmU6DQorIyBfV1hfQ09NUAkJCQktIENvbXBvbmVudCBwYXJ0Lg0K KyMgX1dYX0RFUF9UWVBFCQkJLSBEZXBlbmRlbmN5IHR5cGUgcGFydC4NCisjIF9XWF9DT01QX05F VwkJCS0gQ29tcG9uZW50ICsgZGVwZW5kZW5jeSB0eXBlLg0KKyMgX1dYX0NPTVBTX0ZJTkFMCQkt IEZpbmFsIGxpc3Qgb2YgY29tcG9uZW50cyB3aXRoIGRlcGVuZGVuY3kgdHlwZXMuDQorIw0KKw0K KyMgRGVmYXVsdCBjb21wb25lbnRzLg0KKw0KK1dYX0NPTVBTPz0JCQkJd3gNCisNCisjIERldGVj dCBpbnZhbGlkIGFuZCBkdXBsaWNhdGVkIGNvbXBvbmVudHMuDQorDQorX1dYX0NPTVBTX0ZJTkFM PQkJIw0KKy5mb3IgY29tcCBpbiAke1dYX0NPTVBTfQ0KK19XWF9DT01QPQkJCQkke2NvbXA6Qy9f KFtbOmFscGhhOl1dKykkLy99DQorX1dYX0RFUF9UWVBFPQkJCSR7Y29tcDpDLy4rXyhbWzphbHBo YTpdXSspJC9cMS99DQorLglpZiAke19XWF9DT01QfSA9PSAke2NvbXB9DQorX1dYX0RFUF9UWVBF PQkJCWxpYg0KKy4JZW5kaWYNCitfV1hfQ09NUF9ORVc9CQkJJHtfV1hfQ09NUH1fJHtfV1hfREVQ X1RZUEV9DQorLglmb3IgX19XWF9DT01QIGluICR7X1dYX0NPTVB9DQorLgkJaWYgJHtfV1hfQ09N UFNfQUxMOk0ke19fV1hfQ09NUH19ID09ICIiDQorSUdOT1JFPz0JCQkJc2VsZWN0ZWQgYW4gaW52 YWxpZCBXeFdpZGdldHMgY29tcG9uZW50OiAke19fV1hfQ09NUH0NCisuCQllbmRpZg0KKy4JZW5k Zm9yDQorLglmb3IgX19XWF9ERVBfVFlQRSBpbiAke19XWF9ERVBfVFlQRX0NCisuCQlpZiAke19X WF9ERVBfVFlQRVNfQUxMOk0ke19fV1hfREVQX1RZUEV9fSA9PSAiIg0KK0lHTk9SRT89CQkJCXNl bGVjdGVkIGFuIGludmFsaWQgV3hXaWRnZXRzIGRlcGVuZGVuY3kgdHlwZTogJHtfX1dYX0RFUF9U WVBFfQ0KKy4JCWVuZGlmDQorLgllbmRmb3INCisuCWlmICFkZWZpbmVkKF9XWF9QT1JUXyR7X1dY X0NPTVB9XyR7X1dYX1ZFUn0pDQorSUdOT1JFPz0JCQkJc2VsZWN0ZWQgYSBXeFdpZGdldHMgY29t cG9uZW50ICgke19XWF9DT01QfSkgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVj dGVkIHZlcnNpb24gKCR7X1dYX1ZFUn0pDQorLgllbmRpZg0KKy4JZm9yIG5ld2NvbXAgaW4gJHtf V1hfQ09NUF9ORVd9DQorLgkJaWYgJHtfV1hfQ09NUFNfRklOQUw6TSR7bmV3Y29tcH19ID09ICIi DQorX1dYX0NPTVBTX0ZJTkFMKz0JCSR7bmV3Y29tcH0NCisuCQllbmRpZg0KKy4JZW5kZm9yDQor LmVuZGZvcg0KKw0KKyMgQWRkIGRlcGVuZGVuY2llcy4NCisNCisuZm9yIGNvbXAgaW4gJHtfV1hf Q09NUFNfRklOQUx9DQorX1dYX0NPTVA9CQkJCSR7Y29tcDpDL18oW1s6YWxwaGE6XV0rKSQvL30N CitfV1hfREVQX1RZUEU9CQkJJHtjb21wOkMvLitfKFtbOmFscGhhOl1dKykkL1wxL30NCisuCWlm ICR7X1dYX0RFUF9UWVBFfSA9PSAibGliIg0KKy4JCWlmIGRlZmluZWQoX1dYX0xJQl8ke19XWF9D T01QfV8ke19XWF9WRVJ9KQ0KK0xJQl9ERVBFTkRTKz0JCQkke19XWF9MSUJfJHtfV1hfQ09NUH1f JHtfV1hfVkVSfX06JHtQT1JUU0RJUn0veDExLXRvb2xraXRzLyR7X1dYX1BPUlRfJHtfV1hfQ09N UH1fJHtfV1hfVkVSfX0NCisuCQllbHNlDQorQlVJTERfREVQRU5EUys9CQkJJHtfV1hfRklMRV8k e19XWF9DT01QfV8ke19XWF9WRVJ9fToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvJHtfV1hfUE9S VF8ke19XWF9DT01QfV8ke19XWF9WRVJ9fQ0KK1JVTl9ERVBFTkRTKz0JCQkke19XWF9GSUxFXyR7 X1dYX0NPTVB9XyR7X1dYX1ZFUn19OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy8ke19XWF9QT1JU XyR7X1dYX0NPTVB9XyR7X1dYX1ZFUn19DQorLgkJZW5kaWYNCisuCWVsc2UNCiske19XWF9ERVBf VFlQRTpVfV9ERVBFTkRTKz0JJHtfV1hfRklMRV8ke19XWF9DT01QfV8ke19XWF9WRVJ9fToke1BP UlRTRElSfS94MTEtdG9vbGtpdHMvJHtfV1hfUE9SVF8ke19XWF9DT01QfV8ke19XWF9WRVJ9fQ0K Ky4JZW5kaWYNCisuZW5kZm9yDQorDQorIw0KKyMgU2V0IGJ1aWxkIHJlbGF0ZWQgdmFyaWFibGVz Lg0KKyMNCisNCitNQUtFX0VOVis9CQkJCVdYX0NPTkZJRz0ke1dYX0NPTkZJR30NCitDT05GSUdV UkVfRU5WKz0JCQlXWF9DT05GSUc9JHtXWF9DT05GSUd9DQorDQorLmlmIGRlZmluZWQoV1hfQ09O Rl9BUkdTKQ0KKy4JaWYgJHtXWF9DT05GX0FSR1M6TH0gPT0gImFic29sdXRlIg0KK0NPTkZJR1VS RV9BUkdTKz0JCS0td2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9DQorLgllbGlmICR7V1hfQ09O Rl9BUkdTOkx9ID09ICJyZWxhdGl2ZSINCitDT05GSUdVUkVfQVJHUys9CQktLXdpdGgtd3g9JHtY MTFCQVNFfSBcDQorCQkJCQkJLS13aXRoLXd4LWNvbmZpZz0ke1dYX0NPTkZJRzpUfQ0KKy4JZWxz ZQ0KK0lHTk9SRT89CQkJCXNlbGVjdGVkIGFuIGludmFsaWQgV3hXaWRnZXRzIGNvbmZpZ3VyZSBh cmd1bWVudCB0eXBlOiAke1dYX0NPTkZfQVJHU30NCisuCWVuZGlmDQorLmVuZGlmDQorDQorLmVu ZGlmCQkjICEgQkVGT1JFUE9SVE1LDQpJbmRleDogYXVkaW8vYXVkYWNpdHkvTWFrZWZpbGUNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2F1ZGlvL2F1ZGFjaXR5L01ha2Vm aWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMA0KZGlmZiAtdSAtcjEuMzAgTWFrZWZpbGUN Ci0gLS0tIGF1ZGlvL2F1ZGFjaXR5L01ha2VmaWxlCTE1IEFwciAyMDA2IDIwOjEwOjAzIC0wMDAw CTEuMzANCisrKyBhdWRpby9hdWRhY2l0eS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMSAt MDAwMA0KQEAgLTE1LDEzICsxNSwxMyBAQA0KIENPTU1FTlQ9CUF1ZGFjaXR5IGlzIGEgR1VJIGVk aXRvciBmb3IgZGlnaXRhbCBhdWRpbyB3YXZlZm9ybXMNCiANCiBCVUlMRF9ERVBFTkRTKz0Jemlw OiR7UE9SVFNESVJ9L2FyY2hpdmVycy96aXANCi0gLUxJQl9ERVBFTkRTPQl3eF9ndGsyX2NvcmUt Mi42LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjYNCiANCiBXUktTUkM9CQkke1dS S0RJUn0vJHtQT1JUTkFNRX0tc3JjLSR7UE9SVFZFUlNJT059DQogR05VX0NPTkZJR1VSRT0JeWVz DQogVVNFX0dNQUtFPQl5ZXMNCiBVU0VfWF9QUkVGSVg9CXllcw0KIFVTRV9HRVRURVhUPQl5ZXMN CitVU0VfV1g9CQkyLjYNCiANCiBNQU4xPQkJYXVkYWNpdHkuMQ0KIE1BTkNPTVBSRVNTRUQ9CXll cw0KQEAgLTM4LDggKzM4LDcgQEANCiANCiBDT05GSUdVUkVfRU5WKz0JTERGTEFHUz0iJHtMREZM QUdTfSAtTCR7TE9DQUxCQVNFfS9saWIgJHtQVEhSRUFEX0xJQlN9IiBcDQogCQlDUFBGTEFHUz0i JHtDUFBGTEFHU30gLUkke0xPQ0FMQkFTRX0vaW5jbHVkZSAke1NTRV9DRkxBR1N9ICR7UFRIUkVB RF9DRkxBR1N9IiBcDQotIC0JCUNGTEFHUz0iJHtDRkxBR1N9IC1JJHtMT0NBTEJBU0V9L2luY2x1 ZGUgJHtTU0VfQ0ZMQUdTfSAke1BUSFJFQURfQ0ZMQUdTfSIgXA0KLSAtCQlXWF9DT05GSUc9JHtY MTFCQVNFfS9iaW4vd3hndGsyLTIuNi1jb25maWcNCisJCUNGTEFHUz0iJHtDRkxBR1N9IC1JJHtM T0NBTEJBU0V9L2luY2x1ZGUgJHtTU0VfQ0ZMQUdTfSAke1BUSFJFQURfQ0ZMQUdTfSINCiANCiAu aWYgIWRlZmluZWQoTk9QT1JURE9DUykNCiBNQUtFX0VOVj0JRE9DPXllcw0KSW5kZXg6IGF1ZGlv L21ib3gvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2F1 ZGlvL21ib3gvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjgNCmRpZmYgLXUgLXIx LjggTWFrZWZpbGUNCi0gLS0tIGF1ZGlvL21ib3gvTWFrZWZpbGUJMTIgSmFuIDIwMDYgMTI6NTQ6 MDUgLTAwMDAJMS44DQorKysgYXVkaW8vbWJveC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjox MSAtMDAwMA0KQEAgLTEyLDE3ICsxMiwxNyBAQA0KIE1BSU5UQUlORVI9CXBvcnRzQEZyZWVCU0Qu b3JnDQogQ09NTUVOVD0JUHJvZ3JhbSBpbnRlbmRlZCB0byBoZWxwIHdpdGggb3JnYW5pemluZyB5 b3VyIG11c2ljIGZpbGVzDQogDQotIC1SVU5fREVQRU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0v d3hQeXRob24vX19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9u MjQgXA0KLSAtCQkke1BZVEhPTl9TSVRFTElCRElSfS9vZ2cvX19pbml0X18ucHk6JHtQT1JUU0RJ Un0vYXVkaW8vcHktb2dnIFwNCitSVU5fREVQRU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0vb2dn L19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L2F1ZGlvL3B5LW9nZyBcDQogCQkke1BZVEhPTl9TSVRF TElCRElSfS9vZ2cvdm9yYmlzLnNvOiR7UE9SVFNESVJ9L2F1ZGlvL3B5LXZvcmJpcyBcDQogCQls YW1lOiR7UE9SVFNESVJ9L2F1ZGlvL2xhbWUgXA0KIAkJb2dnZW5jOiR7UE9SVFNESVJ9L2F1ZGlv L3ZvcmJpcy10b29scyBcDQogCQltcGxheWVyOiR7UE9SVFNESVJ9L211bHRpbWVkaWEvbXBsYXll cg0KLSAtTElCX0RFUEVORFM9CXd4X2d0azItMi40LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRz L3d4Z3RrMjQNCiANCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0VfUFlESVNUVVRJTFM9eWVzDQogVVNF X0JaSVAyPQl5ZXMNCitVU0VfV1g9CQkyLjQNCitXWF9DT01QUz0JcHl0aG9uX3J1bg0KIFdSS1NS Qz0JCSR7V1JLRElSfS9tQm94LSR7UE9SVFZFUlNJT059DQogDQogLmluY2x1ZGUgPGJzZC5wb3J0 Lm1rPg0KSW5kZXg6IGF1ZGlvL3BpY2FyZC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6 IC9ob21lL3BjdnMvcG9ydHMvYXVkaW8vcGljYXJkL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS4yDQpkaWZmIC11IC1yMS4yIE1ha2VmaWxlDQotIC0tLSBhdWRpby9waWNhcmQvTWFr ZWZpbGUJNiBNYXkgMjAwNiAxMzozNTowOCAtMDAwMAkxLjINCisrKyBhdWRpby9waWNhcmQvTWFr ZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTEgLTAwMDANCkBAIC0xNSwxMSArMTUsMTIgQEANCiAN CiBSVU5fREVQRU5EUz0JXA0KIAkJJHtQWVRIT05fU0lURUxJQkRJUn0vdHVuZXBpbXAvX19pbml0 X18ucHk6JHtQT1JUU0RJUn0vYXVkaW8vcHktbGlidHVuZXBpbXAgXA0KLSAtCQkke1BZVEhPTl9T SVRFTElCRElSfS9tdXNpY2JyYWluei5weToke1BPUlRTRElSfS9hdWRpby9weS1tdXNpY2JyYWlu eiBcDQotIC0JCSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4LTIuNi1ndGsyLXVuaWNvZGUvd3hQeXRo b24vX19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYtdW5p Y29kZQ0KKwkJJHtQWVRIT05fU0lURUxJQkRJUn0vbXVzaWNicmFpbnoucHk6JHtQT1JUU0RJUn0v YXVkaW8vcHktbXVzaWNicmFpbnoNCiANCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0VfUFlESVNUVVRJ TFM9eWVzDQorVVNFX1dYPQkJMi42DQorV1hfQ09NUFM9CXB5dGhvbl9ydW4NCiANCiBTT1VSQ0VG SUxFPQkke0RJU1ROQU1FfSR7RVhUUkFDVF9TVUZYfQ0KIFBJQ0FSRF9NT0RVTEVTPQlicm93c2Vy IGxpYiB1aQ0KSW5kZXg6IGF1ZGlvL3B5LWthcmFva2UvTWFrZWZpbGUNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2F1ZGlvL3B5LWthcmFva2UvTWFrZWZpbGUsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjENCmRpZmYgLXUgLXIxLjEgTWFrZWZpbGUNCi0gLS0tIGF1ZGlv L3B5LWthcmFva2UvTWFrZWZpbGUJNyBBcHIgMjAwNiAwODozNjoxNiAtMDAwMAkxLjENCisrKyBh dWRpby9weS1rYXJhb2tlL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjExIC0wMDAwDQpAQCAt MTcsMTMgKzE3LDE0IEBADQogQ09NTUVOVD0JUHl0aG9uIGthcmFva2UgYXBwbGljYXRpb24gKFBs YXlzIENEK0csIE1QMytHLCBPR0crRyBmaWxlcykNCiANCiBSVU5fREVQRU5EUz0JJHtQWVRIT05f U0lURUxJQkRJUn0vcHlnYW1lL19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L2RldmVsL3B5LWdhbWUg XA0KLSAtCQkke1BZVEhPTl9TSVRFTElCRElSfS9OdW1lcmljL051bWVyaWMucHk6JHtQT1JUU0RJ Un0vbWF0aC9weS1udW1lcmljIFwNCi0gLQkJJHtQWVRIT05fU0lURUxJQkRJUn0vd3hQeXRob24v X19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCisJCSR7 UFlUSE9OX1NJVEVMSUJESVJ9L051bWVyaWMvTnVtZXJpYy5weToke1BPUlRTRElSfS9tYXRoL3B5 LW51bWVyaWMNCiANCiBVU0VfWklQPQl5ZXMNCiANCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0VfUFlE SVNUVVRJTFM9CXllcw0KIFVTRV9QWVRIT05fUFJFRklYPQl5ZXMNCitVU0VfV1g9CQkyLjQNCitX WF9DT01QUz0JcHl0aG9uX3J1bg0KIA0KIC5pbmNsdWRlIDxic2QucG9ydC5taz4NCkluZGV4OiBi aW9sb2d5L0wtQnJlZWRlci9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3Bj dnMvcG9ydHMvYmlvbG9neS9MLUJyZWVkZXIvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjIwDQpkaWZmIC11IC1yMS4yMCBNYWtlZmlsZQ0KLSAtLS0gYmlvbG9neS9MLUJyZWVkZXIv TWFrZWZpbGUJMyBNYXkgMjAwNiAyMzoyNjozMiAtMDAwMAkxLjIwDQorKysgYmlvbG9neS9MLUJy ZWVkZXIvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTEgLTAwMDANCkBAIC0xNiw4ICsxNiw3 IEBADQogTUFJTlRBSU5FUj0JZHllc2tlQHlhaG9vLmNvbQ0KIENPTU1FTlQ9CUFsbG93cyB5b3Ug dG8gZGlzcGxheSBhbmQgYnJlZWQgTC1zeXN0ZW0gZm9ybXMNCiANCi0gLUxJQl9ERVBFTkRTPQl3 eF9ndGsyX2dsLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0IFwNCi0gLQkJ Z2x1dC40OiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYmdsdXQNCitMSUJfREVQRU5EUz0JZ2x1dC40 OiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYmdsdXQNCiANCiBOT19XUktTVUJESVI9CXllcw0KIEJV SUxEX1dSS1NSQz0JJHtXUktTUkN9L1VuaXgNCkBAIC0yNiw4ICsyNSw3IEBADQogVVNFX1hfUFJF RklYPQl5ZXMNCiBVU0VfR0w9CQl5ZXMNCiBVU0VfR01BS0U9CXllcw0KLSAtDQotIC1XWF9DT05G SUc9CSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQtY29uZmlnDQorVVNFX1dYPQkJMi40DQogDQog LmlmIGRlZmluZWQoV0lUSF9PUFRJTUlaRURfQ0ZMQUdTKQ0KIENGTEFHUys9CS1PMyAtZmZhc3Qt bWF0aA0KSW5kZXg6IGJpb2xvZ3kvdHJlZXZpZXd4L01ha2VmaWxlDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg ZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9iaW9sb2d5L3RyZWV2aWV3eC9NYWtlZmlsZSx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMjENCmRpZmYgLXUgLXIxLjIxIE1ha2VmaWxlDQotIC0tLSBiaW9s b2d5L3RyZWV2aWV3eC9NYWtlZmlsZQk2IERlYyAyMDA1IDAyOjAwOjU1IC0wMDAwCTEuMjENCisr KyBiaW9sb2d5L3RyZWV2aWV3eC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMSAtMDAwMA0K QEAgLTE1LDEyICsxNSwxMCBAQA0KIE1BSU5UQUlORVI9CWZlcm5hbkBpaWIudW5zYW0uZWR1LmFy DQogQ09NTUVOVD0JQSBwaHlsb2dlbmV0aWMgdHJlZSB2aWV3ZXINCiANCi0gLUxJQl9ERVBFTkRT PQl3eF9ndGsyLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0IFwNCi0gLQkJ d3hfZ3RrMl9kY3N2Zy0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNC1jb250 cmliDQotIC0NCiBVU0VfR01BS0U9CXllcw0KIEdOVV9DT05GSUdVUkU9CXllcw0KLSAtQ09ORklH VVJFX0VOVj0JV1hfQ09ORklHPSIke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZpZyINCitV U0VfV1g9CQkyLjQNCitXWF9DT01QUz0JY29udHJpYg0KIA0KIFBMSVNUX0ZJTEVTPQliaW4vdHYN CiANCkluZGV4OiBjYWQva2ljYWQvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t ZS9wY3ZzL3BvcnRzL2NhZC9raWNhZC9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MTENCmRpZmYgLXUgLXIxLjExIE1ha2VmaWxlDQotIC0tLSBjYWQva2ljYWQvTWFrZWZpbGUJMjQg QXByIDIwMDYgMjA6NTg6MTEgLTAwMDAJMS4xMQ0KKysrIGNhZC9raWNhZC9NYWtlZmlsZQkxMyBK dW4gMjAwNiAyMzoyMjoxMSAtMDAwMA0KQEAgLTIyLDggKzIyLDYgQEANCiBNQUlOVEFJTkVSPQkJ dGhpZXJyeUBGcmVlQlNELm9yZw0KIENPTU1FTlQ9CQlTY2hlbWF0aWMgYW5kIFBDQiBlZGl0aW5n IHNvZnR3YXJlDQogDQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMl9jb3JlLTIuNi4wOiR7UE9SVFNE SVJ9L3gxMS10b29sa2l0cy93eGd0azI2DQotIC0NCiAuaWYgIWRlZmluZWQoTk9QT1JURE9DUykN CiBESVNURklMRVMrPQlkb2NfY29tcG9uZW50cy0ke0RPQ1ZFUlNJT059LnRnejpkYXQNCiBET0NW RVJTSU9OPQkyMDA2LTA0LTI0DQpAQCAtMzYsMTAgKzM0LDcgQEANCiBVU0VfR0VUVEVYVD0JeWVz DQogVVNFX0dNQUtFPQl5ZXMNCiBVU0VfR0w9CQl5ZXMNCi0gLQ0KLSAtTUFLRV9FTlY9CVdYX0NP TkZJRz0ke1dYX0NPTkZJR30NCi0gLQ0KLSAtV1hfQ09ORklHPQl3eGd0azItMi42LWNvbmZpZw0K K1VTRV9XWD0JCTIuNg0KIA0KIElOU1RESVI9CSR7UE9SVE5BTUV9DQogUExJU1RfU1VCPQlJTlNU RElSPSR7SU5TVERJUn0gT1BTWVM9JHtPUFNZU30NCkluZGV4OiBjaGluZXNlL0JCTWFuL01ha2Vm aWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9jaGluZXNlL0JCTWFu L01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMg0KZGlmZiAtdSAtcjEuMTIgTWFr ZWZpbGUNCi0gLS0tIGNoaW5lc2UvQkJNYW4vTWFrZWZpbGUJMSBEZWMgMjAwNSAwODozNDo1NyAt MDAwMAkxLjEyDQorKysgY2hpbmVzZS9CQk1hbi9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjox MSAtMDAwMA0KQEAgLTE2LDkgKzE2LDggQEANCiBNQUlOVEFJTkVSPQlwb3J0c0BGcmVlQlNELm9y Zw0KIENPTU1FTlQ9CUJCTWFuIGlzIGEgQkJTIGNsaWVudCBmb3IgWCBXaW5kb3cgU3lzdGVtDQog DQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMv d3hndGsyNA0KLSAtDQogVVNFX1pJUD0JeWVzDQorVVNFX1dYPQkJMi40DQogV1JLU1JDPQkJJHtX UktESVJ9LyR7UE9SVE5BTUV9DQogVVNFX1hfUFJFRklYPQl5ZXMNCiANCkBAIC0zNSw3ICszNCw3 IEBADQogLmVuZGlmDQogDQogZG8tYnVpbGQ6DQotIC0JCWNkICR7V1JLU1JDfSAmJiAke0NYWH0g bWFpbi5jcHAgYHd4Z3RrMi0yLjQtY29uZmlnIC0tbGlicyAtLWN4eGZsYWdzYCAtSSR7TE9DQUxC QVNFfS9pbmNsdWRlICR7Q0ZMQUdTfSAtbyBCQk1hbg0KKwkJY2QgJHtXUktTUkN9ICYmICR7Q1hY fSBtYWluLmNwcCBgJHtXWF9DT05GSUd9IC0tbGlicyAtLWN4eGZsYWdzYCAtSSR7TE9DQUxCQVNF fS9pbmNsdWRlICR7Q0ZMQUdTfSAtbyBCQk1hbg0KIA0KIGRvLWluc3RhbGw6DQogCQkke0lOU1RB TExfUFJPR1JBTX0gJHtXUktTUkN9L0JCTWFuICR7UFJFRklYfS9iaW4vQkJNYW4NCkluZGV4OiBj b21tcy90cnVzdGVkcXNsL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2 cy9wb3J0cy9jb21tcy90cnVzdGVkcXNsL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS4xMQ0KZGlmZiAtdSAtcjEuMTEgTWFrZWZpbGUNCi0gLS0tIGNvbW1zL3RydXN0ZWRxc2wvTWFr ZWZpbGUJOSBNYXkgMjAwNiAwNTo1MToxNSAtMDAwMAkxLjExDQorKysgY29tbXMvdHJ1c3RlZHFz bC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMSAtMDAwMA0KQEAgLTE2LDExICsxNiwxMSBA QA0KIE1BSU5UQUlORVI9CWRiQGRiLm5ldA0KIENPTU1FTlQ9CUFtYXRldXIgUmFkaW8gU3RhdGlv biBlbGVjdHJvbmljIHRydXN0ZWQgbG9nYm9vaw0KIA0KLSAtTElCX0RFUEVORFM9CWV4cGF0LjY6 JHtQT1JUU0RJUn0vdGV4dHByb2MvZXhwYXQyIFwNCi0gLQkJd3hfYmFzZS0yLjY6JHtQT1JUU0RJ Un0veDExLXRvb2xraXRzL3d4Z3RrMjYNCitMSUJfREVQRU5EUz0JZXhwYXQuNjoke1BPUlRTRElS fS90ZXh0cHJvYy9leHBhdDINCiANCiBVU0VfUEVSTDU9CXllcw0KIFVTRV9HRVRPUFRfTE9ORz0J eWVzDQorVVNFX1dYPQkJMi42DQogSU5TVEFMTFNfU0hMSUI9CXllcw0KIE1BS0VfRU5WPQlJTkNE SVI9Ii1JJHtMT0NBTEJBU0V9L2luY2x1ZGUiIExERkxBR1M9Ii1MJHtMT0NBTEJBU0V9L2xpYiIN CiANCkluZGV4OiBjb21tcy90cnVzdGVkcXNsL2ZpbGVzL01ha2VmaWxlDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9jb21tcy90cnVzdGVkcXNsL2ZpbGVzL01ha2VmaWxl LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zDQpkaWZmIC11IC1yMS4zIE1ha2VmaWxlDQotIC0t LSBjb21tcy90cnVzdGVkcXNsL2ZpbGVzL01ha2VmaWxlCTkgTWF5IDIwMDYgMjE6MTY6NTYgLTAw MDAJMS4zDQorKysgY29tbXMvdHJ1c3RlZHFzbC9maWxlcy9NYWtlZmlsZQkxMyBKdW4gMjAwNiAy MzoyMjoxMSAtMDAwMA0KQEAgLTEsNyArMSw3IEBADQogIyAkRnJlZUJTRDogcG9ydHMvY29tbXMv dHJ1c3RlZHFzbC9maWxlcy9NYWtlZmlsZSx2IDEuMyAyMDA2LzA1LzA5IDIxOjE2OjU2IGF6IEV4 cCAkDQogDQogYWxsOg0KLSAtCShjZCB0cXNsbGliLTIuMDsuL2NvbmZpZ3VyZSAtLXdpdGgtd3h3 aW5kb3dzPSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjYtY29uZmlnO21ha2U7bWFrZSBjb252ZXJ0 ZXI7bWFrZSBnZW5fY3JxO21ha2UgbG9hZF9jZXJ0O21ha2Ugc3RhdGlvbl9sb2MpDQorCShjZCB0 cXNsbGliLTIuMDsuL2NvbmZpZ3VyZSAtLXdpdGgtd3h3aW5kb3dzPSR7V1hfQ09ORklHfTttYWtl O21ha2UgY29udmVydGVyO21ha2UgZ2VuX2NycTttYWtlIGxvYWRfY2VydDttYWtlIHN0YXRpb25f bG9jKQ0KIAkoY2QgVHJ1c3RlZFFTTC0xLjExO21ha2UpDQogDQogaW5zdGFsbDoNCkluZGV4OiBj b21tcy90cnVzdGVkcXNsL2ZpbGVzL01ha2VmaWxlLlRydXN0ZWRRU0wtMS4xMQ0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvY29tbXMvdHJ1c3RlZHFzbC9maWxlcy9NYWtl ZmlsZS5UcnVzdGVkUVNMLTEuMTEsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjINCmRpZmYgLXUg LXIxLjIgTWFrZWZpbGUuVHJ1c3RlZFFTTC0xLjExDQotIC0tLSBjb21tcy90cnVzdGVkcXNsL2Zp bGVzL01ha2VmaWxlLlRydXN0ZWRRU0wtMS4xMQk5IE1heSAyMDA2IDIxOjE2OjU2IC0wMDAwCTEu Mg0KKysrIGNvbW1zL3RydXN0ZWRxc2wvZmlsZXMvTWFrZWZpbGUuVHJ1c3RlZFFTTC0xLjExCTEz IEp1biAyMDA2IDIzOjIyOjExIC0wMDAwDQpAQCAtNSw4ICs1LDggQEANCiBMSUJTPS1seiAtbGV4 cGF0IC1sY3J5cHRvDQogSU5DRElSID0gLUkkKFRRU0xJTkMpDQogQlVJTEQgPSB1bm9mZmljaWFs DQotIC1XWEZMQUdTPWB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2ANCi0gLVdYTElCUz1gd3hn dGsyLTIuNi1jb25maWcgLS1saWJzYA0KK1dYRkxBR1M9YCR7V1hfQ09ORklHfSAtLWNmbGFnc2AN CitXWExJQlM9YCR7V1hfQ09ORklHfSAtLWxpYnNgDQogREVGUyA9IC1ESEFWRV9DT05GSUdfSA0K IENYWEZMQUdTICs9ICAkKERFRlMpICQoSU5DRElSKSAgLURIQVZFX0xJQkNSWVBUTz0xIC1EU1RE Q19IRUFERVJTPTEgLURIQVZFX01LRElSPTEgLURIQVZFX1NUUkVSUk9SPTEgICQoV1hGTEFHUykN CiANCkluZGV4OiBkYXRhYmFzZXMvcGdhZG1pbjMvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2RhdGFiYXNlcy9wZ2FkbWluMy9NYWtlZmlsZSx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMjUNCmRpZmYgLXUgLXIxLjI1IE1ha2VmaWxlDQotIC0tLSBkYXRh YmFzZXMvcGdhZG1pbjMvTWFrZWZpbGUJMjEgTWF5IDIwMDYgMTQ6MDQ6NDIgLTAwMDAJMS4yNQ0K KysrIGRhdGFiYXNlcy9wZ2FkbWluMy9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMSAtMDAw MA0KQEAgLTE3LDIyICsxNywxNiBAQA0KIFVTRV9HRVRURVhUPQl5ZXMNCiBVU0VfUEdTUUw9CXll cw0KIEJST0tFTl9XSVRIX1BHU1FMPQk3Mw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTVBTPQljb250 cmliDQorV1hfQ09ORl9BUkdTPQlyZWxhdGl2ZQ0KK1dYX1VOSUNPREU9CXllcw0KIEdOVV9DT05G SUdVUkU9CXllcw0KLSAtQ09ORklHVVJFX0FSR1M9CS0td2l0aC13eD0ke1gxMUJBU0V9IC0td2l0 aC13eC1jb25maWc9JHtXWF9DT05GSUd9DQogQ09ORklHVVJFX1RBUkdFVD0JLS1idWlsZD0ke0FS Q0h9LXBvcnRibGQtZnJlZWJzZCR7T1NSRUx9DQogQ09ORklHVVJFX0VOVj0JQ1BQRkxBR1M9IiR7 UFRIUkVBRF9DRkxBR1N9IiBMSUJTPSIke1BUSFJFQURfTElCU30iDQogQ09ORkxJQ1RTPQlwZ2Fk bWluMy0xLlsxMl0qDQogDQotIC1MSUJfREVQRU5EUys9CXd4X2d0azJ1X3N0Yy0yLjYuMDoke1BP UlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNi11bmljb2RlLWNvbnRyaWINCi0gLVdYX0NPTkZJ Rz0Jd3hndGsydS0yLjYtY29uZmlnDQotIC0NCiBwb3N0LWluc3RhbGw6DQogCUAke0NBVH0gJHtQ S0dNRVNTQUdFfQ0KIA0KLSAtLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5taz4NCi0gLQ0KLSAtLmlm ICR7T1NWRVJTSU9OfSA8IDUwMDAwMA0KLSAtQlJPS0VOPQkJcmVxdWlyZXMgd2NoYXJfdA0KLSAt LmVuZGlmDQotIC0NCi0gLS5pbmNsdWRlIDxic2QucG9ydC5wb3N0Lm1rPg0KKy5pbmNsdWRlIDxi c2QucG9ydC5taz4NCkluZGV4OiBkYXRhYmFzZXMvcGdhZG1pbjMtMTIvTWFrZWZpbGUNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2RhdGFiYXNlcy9wZ2FkbWluMy0xMi9N YWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMNCmRpZmYgLXUgLXIxLjIzIE1ha2Vm aWxlDQotIC0tLSBkYXRhYmFzZXMvcGdhZG1pbjMtMTIvTWFrZWZpbGUJNCBNYXkgMjAwNiAyMTo0 MDowNCAtMDAwMAkxLjIzDQorKysgZGF0YWJhc2VzL3BnYWRtaW4zLTEyL01ha2VmaWxlCTEzIEp1 biAyMDA2IDIzOjIyOjExIC0wMDAwDQpAQCAtMTYsOCArMTYsMTAgQEANCiBDT01NRU5UPQlQb3N0 Z3JlU1FMIGRhdGFiYXNlIGRlc2lnbiBhbmQgbWFuYWdlbWVudCBzeXN0ZW0NCiANCiBVU0VfUEdT UUw9CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTVBTPQljb250cmliDQorV1hfQ09ORl9BUkdT PQlyZWxhdGl2ZQ0KIEdOVV9DT05GSUdVUkU9CXllcw0KLSAtQ09ORklHVVJFX0FSR1M9CS0td2l0 aC13eD0ke1gxMUJBU0V9IC0td2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9DQogQ09ORklHVVJF X1RBUkdFVD0JLS1idWlsZD0ke0FSQ0h9LXBvcnRibGQtZnJlZWJzZCR7T1NSRUx9DQogQ09ORklH VVJFX0VOVj0JQ1BQRkxBR1M9IiR7UFRIUkVBRF9DRkxBR1N9IiBMSUJTPSIke1BUSFJFQURfTElC U30iDQogQ09ORkxJQ1RTPQlwZ2FkbWluMy0xLls0NTY3ODldKg0KQEAgLTI1LDI2ICsyNywxMiBA QA0KIA0KIC5pbmNsdWRlIDxic2QucG9ydC5wcmUubWs+DQogDQotIC0uaWYgJHtPU1ZFUlNJT059 IDwgNTAwMDAwDQotIC1XSVRIT1VUX1VOSUNPREU9CXllcw0KLSAtLmVuZGlmDQotIC0NCi0gLXBy ZS1ldmVyeXRoaW5nOjoNCi0gLS5pZiAhZGVmaW5lZChXSVRIT1VUX1VOSUNPREUpDQotIC0JQCR7 RUNIT19NU0d9ICJZb3UgY2FuIGJ1aWxkIG5vbi1Vbmljb2RlIHZlcnNpb24gYnkgZGVmaW5pbmcg V0lUSE9VVF9VTklDT0RFLiINCi0gLS5lbmRpZg0KLSAtDQotIC0uaWYgIWRlZmluZWQoV0lUSE9V VF9VTklDT0RFKQ0KLSAtTElCX0RFUEVORFMrPQl3eF9ndGsydV9zdGMtMi42LjA6JHtQT1JUU0RJ Un0veDExLXRvb2xraXRzL3d4Z3RrMjYtdW5pY29kZS1jb250cmliDQotIC1XWF9DT05GSUc9CXd4 Z3RrMnUtMi42LWNvbmZpZw0KKy5pZiBkZWZpbmVkKFdYX1VOSUNPREUpDQogUEtHTkFNRVNVRkZJ WD0JLXVuaWNvZGUNCiBQS0dNRVNTQUdFPQkke1BLR0RJUn0vcGtnLW1lc3NhZ2UtdW5pY29kZQ0K IA0KIHBvc3QtaW5zdGFsbDoNCiAJQCR7Q0FUfSAke1BLR01FU1NBR0V9DQotIC0uZWxzZQ0KLSAt TElCX0RFUEVORFMrPQl3eF9ndGsyX3N0Yy0yLjYuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMv d3hndGsyNi1jb250cmliDQotIC1XWF9DT05GSUc9CXd4Z3RrMi0yLjYtY29uZmlnDQotIC0uZW5k aWYgIyBXSVRIT1VUX1VOSUNPREUNCisuZW5kaWYNCiANCiAuaW5jbHVkZSA8YnNkLnBvcnQucG9z dC5taz4NCkluZGV4OiBkYXRhYmFzZXMvcHlkYmRlc2lnbmVyL01ha2VmaWxlDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9kYXRhYmFzZXMvcHlkYmRlc2lnbmVyL01ha2Vm aWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNA0KZGlmZiAtdSAtcjEuMTQgTWFrZWZpbGUN Ci0gLS0tIGRhdGFiYXNlcy9weWRiZGVzaWduZXIvTWFrZWZpbGUJMTkgQXByIDIwMDYgMTU6Mzg6 NTggLTAwMDAJMS4xNA0KKysrIGRhdGFiYXNlcy9weWRiZGVzaWduZXIvTWFrZWZpbGUJMTMgSnVu IDIwMDYgMjM6MjI6MTEgLTAwMDANCkBAIC0xNCwxMSArMTQsMTEgQEANCiBNQUlOVEFJTkVSPQl4 cmlkZUB4MTIuZGsNCiBDT01NRU5UPQlHcmFwaGljYWwgZGVzaWduZXIgZm9yIHJlbGF0aW9uYWwg ZGF0YWJhc2VzDQogDQotIC1SVU5fREVQRU5EUys9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4UHl0 aG9uL19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9weS13eFB5dGhvbjI0DQot IC0NCiBFWFRSQUNUX0FGVEVSX0FSR1M9CXwgJHtUQVJ9IC0tZXhjbHVkZSBDVlMgLXhmIC0NCiAN CiBVU0VfUFlUSE9OPQkyLjIrDQorVVNFX1dYPQkJMi40DQorV1hfQ09NUFM9CXB5dGhvbl9ydW4N CiBSRUlOUExBQ0VfQVJHUz0JLWkgIiINCiBXUktTUkM9CQkke1dSS0RJUn0vUHlEQkRlc2lnbmVy DQogDQpJbmRleDogZGVza3V0aWxzL2N5Y2xlL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL2hvbWUvcGN2cy9wb3J0cy9kZXNrdXRpbHMvY3ljbGUvTWFrZWZpbGUsdg0KcmV0cmlldmlu ZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUgLXIxLjUgTWFrZWZpbGUNCi0gLS0tIGRlc2t1dGlscy9j eWNsZS9NYWtlZmlsZQk0IE1heSAyMDA2IDIxOjQwOjA4IC0wMDAwCTEuNQ0KKysrIGRlc2t1dGls cy9jeWNsZS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMSAtMDAwMA0KQEAgLTE1LDEwICsx NSwxMCBAQA0KIE1BSU5UQUlORVI9CWRhbmZlQEZyZWVCU0Qub3JnDQogQ09NTUVOVD0JQSBjYWxl bmRhciBwcm9ncmFtIGZvciB3b21lbg0KIA0KLSAtUlVOX0RFUEVORFM9CSR7UFlUSE9OX1NJVEVM SUJESVJ9L3d4LTIuNi1ndGsyLWFuc2kvd3hQeXRob24vX19pbml0X18ucHk6JHtQT1JUU0RJUn0v eDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYNCi0gLQ0KIFVTRV9CWklQMj0JeWVzDQogVVNFX1BZ VEhPTl9SVU49CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTVBTPQlweXRob25fcnVuDQogTk9f QlVJTEQ9CXllcw0KIA0KIE1BTjE9CQkke1BPUlROQU1FfS4xDQpJbmRleDogZGVza3V0aWxzL3hj aG0vTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2Rlc2t1 dGlscy94Y2htL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNg0KZGlmZiAtdSAt cjEuMjYgTWFrZWZpbGUNCi0gLS0tIGRlc2t1dGlscy94Y2htL01ha2VmaWxlCTIzIE1heSAyMDA2 IDA4OjE3OjI5IC0wMDAwCTEuMjYNCisrKyBkZXNrdXRpbHMveGNobS9NYWtlZmlsZQkxMyBKdW4g MjAwNiAyMzoyMjoxMSAtMDAwMA0KQEAgLTE0LDEyICsxNCwxMiBAQA0KIE1BSU5UQUlORVI9CXBh dkBGcmVlQlNELm9yZw0KIENPTU1FTlQ9CVdpbmRvd3MgSFRNTCBIZWxwICguY2htKSB2aWV3ZXIg Zm9yIFVOSVgNCiANCi0gLUxJQl9ERVBFTkRTPQljaG0uMDoke1BPUlRTRElSfS9taXNjL2NobWxp YiBcDQotIC0JCXd4X2Jhc2V1LTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI2 LXVuaWNvZGUNCitMSUJfREVQRU5EUz0JY2htLjA6JHtQT1JUU0RJUn0vbWlzYy9jaG1saWINCiAN CitVU0VfV1g9CQkyLjYNCitXWF9DT05GX0FSR1M9CWFic29sdXRlDQogR05VX0NPTkZJR1VSRT0J eWVzDQogVVNFX1hfUFJFRklYPQl5ZXMNCi0gLUNPTkZJR1VSRV9BUkdTPQktLXdpdGgtd3gtY29u ZmlnPSR7WDExQkFTRX0vYmluL3d4Z3RrMnUtMi42LWNvbmZpZw0KIENPTkZJR1VSRV9FTlY9CUNQ UEZMQUdTPSItSSR7TE9DQUxCQVNFfS9pbmNsdWRlIiBMREZMQUdTPSItTCR7TE9DQUxCQVNFfS9s aWIgJHtQVEhSRUFEX0xJQlN9Ig0KIA0KIHBvc3QtcGF0Y2g6DQpJbmRleDogZGV2ZWwvYWdpZGUv TWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2RldmVsL2Fn aWRlL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS44DQpkaWZmIC11IC1yMS44IE1h a2VmaWxlDQotIC0tLSBkZXZlbC9hZ2lkZS9NYWtlZmlsZQk3IE1hciAyMDA2IDA4OjI2OjAzIC0w MDAwCTEuOA0KKysrIGRldmVsL2FnaWRlL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjExIC0w MDAwDQpAQCAtMTYsOCArMTYsNyBAQA0KIENPTU1FTlQ9CUEtQS1QIEdVSSBJREU6IGEgZnJhbWV3 b3JrIGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudA0KIA0KIFJVTl9ERVBFTkRTPQkke0xPQ0FMQkFT RX0vYmluL2FhcDoke1BPUlRTRElSfS9kZXZlbC9hYXAgXA0KLSAtCQkke0xPQ0FMQkFTRX0vYmlu L3ZpbToke1BPUlRTRElSfS9lZGl0b3JzL3ZpbSBcDQotIC0JCSR7UFlUSE9OX1NJVEVMSUJESVJ9 L3d4UHl0aG9uL19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9weS13eFB5dGhv bjI0DQorCQkke0xPQ0FMQkFTRX0vYmluL3ZpbToke1BPUlRTRElSfS9lZGl0b3JzL3ZpbQ0KIA0K IE1BTjE9CQlhZ2lkZS4xDQogDQpAQCAtMjYsNiArMjUsOCBAQA0KIA0KIFVTRV9aSVA9CXllcw0K IFVTRV9QWVRIT049CXllcw0KK1VTRV9XWD0JCTIuNA0KK1dYX0NPTVBTPQlweXRob25fcnVuDQog UExJU1RfU1VCKz0JUE9SVFZFUlNJT049JHtQT1JUVkVSU0lPTn0NCiANCiBwcmUtaW5zdGFsbDoN CkluZGV4OiBkZXZlbC9ib2Fjb25zdHJ1Y3Rvci9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvZGV2ZWwvYm9hY29uc3RydWN0b3IvTWFrZWZpbGUsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjE3DQpkaWZmIC11IC1yMS4xNyBNYWtlZmlsZQ0KLSAtLS0gZGV2 ZWwvYm9hY29uc3RydWN0b3IvTWFrZWZpbGUJMTIgSmFuIDIwMDYgMTI6NTQ6MDcgLTAwMDAJMS4x Nw0KKysrIGRldmVsL2JvYWNvbnN0cnVjdG9yL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEx IC0wMDAwDQpAQCAtMTYsMTIgKzE2LDEyIEBADQogTUFJTlRBSU5FUj0JZmlsaXBwby5uYXRhbGlA Z21haWwuY29tDQogQ09NTUVOVD0JQSBjcm9zcyBwbGF0Zm9ybSBSQUQgR1VJIEJ1aWxkaW5nIElE RSBmb3Igd3hQeXRob24NCiANCi0gLVJVTl9ERVBFTkRTPQkke1BZVEhPTl9TSVRFTElCRElSfS93 eC0yLjYtZ3RrMi1hbnNpL3d4L19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9w eS13eFB5dGhvbjI2DQotIC0NCiBXUktTUkM9CQkke1dSS0RJUn0vYm9hLWNvbnN0cnVjdG9yLSR7 UE9SVFZFUlNJT059DQogDQogVVNFX1pJUD0JeWVzDQogVVNFX1BZVEhPTj0JeWVzDQorVVNFX1dY PQkJMi42DQorV1hfQ09NUFM9CXB5dGhvbl9ydW4NCiBEQVRBRElSPQkke1BSRUZJWH0vc2hhcmUv Qm9hDQogDQogZG8tYnVpbGQ6DQpJbmRleDogZGV2ZWwvY29kZWJsb2Nrcy9NYWtlZmlsZQ0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvZGV2ZWwvY29kZWJsb2Nrcy9NYWtl ZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMg0KZGlmZiAtdSAtcjEuMiBNYWtlZmlsZQ0K LSAtLS0gZGV2ZWwvY29kZWJsb2Nrcy9NYWtlZmlsZQkyOSBKYW4gMjAwNiAyMjo1NDoyOCAtMDAw MAkxLjINCisrKyBkZXZlbC9jb2RlYmxvY2tzL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEx IC0wMDAwDQpAQCAtMTcsMTEgKzE3LDExIEBADQogQ09NTUVOVD0JT3BlbiBzb3VyY2UsIGNyb3Nz LXBsYXRmb3JtLCBmcmVlIEMvQysrIElERQ0KIA0KIEJVSUxEX0RFUEVORFM9CXppcDoke1BPUlRT RElSfS9hcmNoaXZlcnMvemlwDQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMl94cmMtMi42LjA6JHtQ T1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjYNCiANCiBXUktTUkM9CQkke1dSS0RJUn0vJHtE SVNUTkFNRX0vc3JjDQogDQogVVNFX0dNQUtFPQl5ZXMNCitVU0VfV1g9CQkyLjYNCiBJTlNUQUxM U19TSExJQj0JeWVzDQogDQogVEFSR0VUUz0JdGlueVhNTCBzY2ludGlsbGEgc2RrIHd4RG9ja2l0 IHNyYyBjb25zb2xlX3J1bm5lciBkb2MNCkBAIC0zNSw5ICszNSw2IEBADQogDQogLmluY2x1ZGUg PGJzZC5wb3J0LnByZS5taz4NCiANCi0gLS5pZiAke09TVkVSU0lPTn0gPCA1MDAwMDANCi0gLUJS T0tFTj0JCUNvZGU6OkJsb2NrcyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBmb3IgRnJlZUJT RCB2ZXJzaW9ucyBwcmlvciB0byBGcmVlQlNEIDUNCi0gLS5lbmRpZg0KIC5pZiAke0FSQ0h9ID09 IGlhNjQgJiYgJHtPU1ZFUlNJT059ID49IDYwMDAwMCAmJiAke09TVkVSU0lPTn0gPCA3MDAwMDAN CiBCUk9LRU49CQlDb2RlOjpCbG9ja3MgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgb24gSUE2 NCBGcmVlQlNEIDYNCiAuZW5kaWYNCkBAIC01Miw3ICs0OSw3IEBADQogCSR7WEFSR1N9IC0wICR7 UkVJTlBMQUNFX0NNRH0gLWUgJ3MvW1s6Y250cmw6XV0qJCQvLycNCiAJQCgke0NBVH0gJHtXUktT UkN9L3VwZGF0ZSB8ICR7VFJ9IC1kICJcciIgPiAke1dSS1NSQ30vdXBkYXRlLnNoKQ0KIA0KLSAt cHJlLWJ1aWxkOg0KK3ByZS1wYXRjaDoNCiAJQCR7Q1B9ICR7RklMRVNESVJ9L01ha2VmaWxlICR7 V1JLU1JDfQ0KIA0KIC5mb3IgdCBpbiAke1RBUkdFVFN9DQpAQCAtNjYsNiArNjMsMTkgQEANCiAu IGVuZGZvcg0KIC5lbmRmb3INCiANCisuaWYgZXhpc3RzKCR7V1hfQ09ORklHfSkNCitMSUJfV1hY UkMhPQkke1dYX0NPTkZJR30gLS1saWJzIHhyYw0KKy5lbmRpZg0KKw0KK3ByZS1idWlsZDoNCisJ QCR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8d3gtY29uZmlnfCR7V1hfQ09ORklHfXw7IFwNCisJCXN8 JSVMSUJfV1hYUkMlJXwke0xJQl9XWFhSQzpNKnhyYyo6Qy9eLWwvL318OyBcDQorCQlzfCUlUFJF RklYJSV8JHtQUkVGSVh9fCcgXA0KKwkJJHtXUktTUkN9L0NvZGVCbG9ja3MtdW5peC5jYnAgXA0K KwkJJHtXUktTUkN9L01ha2VmaWxlIFwNCisJCSR7V1JLU1JDfS9zcmMvYXBwLmNwcCBcDQorCQkk e1dSS1NSQ30vdGVtcGxhdGVzL3VuaXgvd3h3aWRnZXRzLmNicA0KKw0KIHBvc3QtYnVpbGQ6DQog CUAoJHtGSU5EfSAtRSAke1dSS1NSQ30gLXR5cGUgZiAtaXJlZ2V4ICIuKlwuKG9yaWd8YmFrKSIg LWV4ZWMgJHtSTX0ge30gXDspDQogCUAke0NITU9EfSAreCAke1dSS1NSQ30vdXBkYXRlLnNoDQpJ bmRleDogZGV2ZWwvY29kZWJsb2Nrcy9maWxlcy9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvZGV2ZWwvY29kZWJsb2Nrcy9maWxlcy9NYWtlZmlsZSx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMg0KZGlmZiAtdSAtcjEuMiBNYWtlZmlsZQ0KLSAtLS0gZGV2 ZWwvY29kZWJsb2Nrcy9maWxlcy9NYWtlZmlsZQkyOSBKYW4gMjAwNiAyMjo1NDoyOCAtMDAwMAkx LjINCisrKyBkZXZlbC9jb2RlYmxvY2tzL2ZpbGVzL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIy OjEyIC0wMDAwDQpAQCAtMTEsMTMgKzExLDEzIEBADQogaW5jbHVkZSAuL2djYy5kZWZzDQogDQog IyMjIFZhcmlhYmxlcyB1c2VkIGluIHRoaXMgTWFrZWZpbGUNCi0gLUxJQl9XWFhSQz13eF9ndGsy X3hyYy0yLjYNCitMSUJfV1hYUkM9JSVMSUJfV1hYUkMlJQ0KIA0KICMjIyBDb21waWxlci9saW5r ZXIgb3B0aW9ucw0KIHRpbnlYTUxfR0xPQkFMX0NGTEFHUz0NCi0gLXRpbnlYTUxfUFJPSkVDVF9D RkxBR1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1y dHRpIC1mbWVzc2FnZS1sZW5ndGg9MCBgd3hndGsyLTIuNi1jb25maWcgLS1jZmxhZ3NgDQordGlu eVhNTF9QUk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0 LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGAkKFdYX0NPTkZJRykgLS1jZmxh Z3NgDQogdGlueVhNTF9HTE9CQUxfTERGTEFHUz0NCi0gLXRpbnlYTUxfUFJPSkVDVF9MREZMQUdT PSBgd3hndGsyLTIuNi1jb25maWcgLS1saWJzYA0KK3RpbnlYTUxfUFJPSkVDVF9MREZMQUdTPSBg JChXWF9DT05GSUcpIC0tbGlic2ANCiB0aW55WE1MX0dMT0JBTF9JTkNTPSAtSS91c3IvaW5jbHVk ZQ0KIHRpbnlYTUxfUFJPSkVDVF9JTkNTPSAtSXNkay93eHNjaW50aWxsYS9pbmNsdWRlDQogdGlu eVhNTF9HTE9CQUxfTElCRElSUz0gLUwvdXNyL2xpYg0KQEAgLTI1LDkgKzI1LDkgQEANCiB0aW55 WE1MX0dMT0JBTF9MSUJTPQ0KIHRpbnlYTUxfUFJPSkVDVF9MSUJTPQ0KIHNjaW50aWxsYV9HTE9C QUxfQ0ZMQUdTPQ0KLSAtc2NpbnRpbGxhX1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAt cGlwZSAtZm5vLXBjYy1zdHJ1Y3QtcmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAg YHd4Z3RrMi0yLjYtY29uZmlnIC0tY2ZsYWdzYA0KK3NjaW50aWxsYV9QUk9KRUNUX0NGTEFHUz0g LVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZt ZXNzYWdlLWxlbmd0aD0wIGAkKFdYX0NPTkZJRykgLS1jZmxhZ3NgDQogc2NpbnRpbGxhX0dMT0JB TF9MREZMQUdTPQ0KLSAtc2NpbnRpbGxhX1BST0pFQ1RfTERGTEFHUz0gYHd4Z3RrMi0yLjYtY29u ZmlnIC0tbGlic2ANCitzY2ludGlsbGFfUFJPSkVDVF9MREZMQUdTPSBgJChXWF9DT05GSUcpIC0t bGlic2ANCiBzY2ludGlsbGFfR0xPQkFMX0lOQ1M9IC1JL3Vzci9pbmNsdWRlDQogc2NpbnRpbGxh X1BST0pFQ1RfSU5DUz0gLUlzZGsvd3hzY2ludGlsbGEvaW5jbHVkZQ0KIHNjaW50aWxsYV9HTE9C QUxfTElCRElSUz0gLUwvdXNyL2xpYg0KQEAgLTM1LDkgKzM1LDkgQEANCiBzY2ludGlsbGFfR0xP QkFMX0xJQlM9DQogc2NpbnRpbGxhX1BST0pFQ1RfTElCUz0NCiBzZGtfR0xPQkFMX0NGTEFHUz0N Ci0gLXNka19QUk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3Ry dWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZp ZyAtLWNmbGFnc2ANCitzZGtfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1m bm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1sZW5ndGg9MCBgJChXWF9D T05GSUcpIC0tY2ZsYWdzYA0KIHNka19HTE9CQUxfTERGTEFHUz0NCi0gLXNka19QUk9KRUNUX0xE RkxBR1M9IGB3eGd0azItMi42LWNvbmZpZyAtLWxpYnNgDQorc2RrX1BST0pFQ1RfTERGTEFHUz0g YCQoV1hfQ09ORklHKSAtLWxpYnNgDQogc2RrX0dMT0JBTF9JTkNTPSAtSS91c3IvaW5jbHVkZQ0K IHNka19QUk9KRUNUX0lOQ1M9IC1Jc2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBzZGtfR0xPQkFM X0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC00NSw5ICs0NSw5IEBADQogc2RrX0dMT0JBTF9MSUJT PQ0KIHNka19QUk9KRUNUX0xJQlM9DQogd3hEb2NraXRfR0xPQkFMX0NGTEFHUz0NCi0gLXd4RG9j a2l0X1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBjYy1zdHJ1Y3Qt cmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYHd4Z3RrMi0yLjYtY29uZmlnIC0t Y2ZsYWdzYA0KK3d4RG9ja2l0X1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAt Zm5vLXBjYy1zdHJ1Y3QtcmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYCQoV1hf Q09ORklHKSAtLWNmbGFnc2ANCiB3eERvY2tpdF9HTE9CQUxfTERGTEFHUz0NCi0gLXd4RG9ja2l0 X1BST0pFQ1RfTERGTEFHUz0gYHd4Z3RrMi0yLjYtY29uZmlnIC0tbGlic2ANCit3eERvY2tpdF9Q Uk9KRUNUX0xERkxBR1M9IGAkKFdYX0NPTkZJRykgLS1saWJzYA0KIHd4RG9ja2l0X0dMT0JBTF9J TkNTPSAtSS91c3IvaW5jbHVkZQ0KIHd4RG9ja2l0X1BST0pFQ1RfSU5DUz0gLUlzZGsvd3hzY2lu dGlsbGEvaW5jbHVkZQ0KIHd4RG9ja2l0X0dMT0JBTF9MSUJESVJTPSAtTC91c3IvbGliDQpAQCAt NTUsOSArNTUsOSBAQA0KIHd4RG9ja2l0X0dMT0JBTF9MSUJTPQ0KIHd4RG9ja2l0X1BST0pFQ1Rf TElCUz0NCiBzcmNfR0xPQkFMX0NGTEFHUz0NCi0gLXNyY19QUk9KRUNUX0NGTEFHUz0gLVdhbGwg LWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdl LWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2ANCitzcmNfUFJPSkVDVF9DRkxB R1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRp IC1mbWVzc2FnZS1sZW5ndGg9MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHNyY19HTE9CQUxf TERGTEFHUz0NCi0gLXNyY19QUk9KRUNUX0xERkxBR1M9IGB3eGd0azItMi42LWNvbmZpZyAtLWxp YnNgDQorc3JjX1BST0pFQ1RfTERGTEFHUz0gYCQoV1hfQ09ORklHKSAtLWxpYnNgDQogc3JjX0dM T0JBTF9JTkNTPSAtSS91c3IvaW5jbHVkZQ0KIHNyY19QUk9KRUNUX0lOQ1M9IC1Jc2RrL3d4c2Np bnRpbGxhL2luY2x1ZGUNCiBzcmNfR0xPQkFMX0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC02NSw5 ICs2NSw5IEBADQogc3JjX0dMT0JBTF9MSUJTPQ0KIHNyY19QUk9KRUNUX0xJQlM9DQogcGx1Z2lu X0FzdHlsZV9HTE9CQUxfQ0ZMQUdTPQ0KLSAtcGx1Z2luX0FzdHlsZV9QUk9KRUNUX0NGTEFHUz0g LVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZt ZXNzYWdlLWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2ANCitwbHVnaW5fQXN0 eWxlX1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBjYy1zdHJ1Y3Qt cmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYCQoV1hfQ09ORklHKSAtLWNmbGFn c2ANCiBwbHVnaW5fQXN0eWxlX0dMT0JBTF9MREZMQUdTPQ0KLSAtcGx1Z2luX0FzdHlsZV9QUk9K RUNUX0xERkxBR1M9IGB3eGd0azItMi42LWNvbmZpZyAtLWxpYnNgDQorcGx1Z2luX0FzdHlsZV9Q Uk9KRUNUX0xERkxBR1M9IGAkKFdYX0NPTkZJRykgLS1saWJzYA0KIHBsdWdpbl9Bc3R5bGVfR0xP QkFMX0lOQ1M9IC1JL3Vzci9pbmNsdWRlDQogcGx1Z2luX0FzdHlsZV9QUk9KRUNUX0lOQ1M9IC1J c2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBwbHVnaW5fQXN0eWxlX0dMT0JBTF9MSUJESVJTPSAt TC91c3IvbGliDQpAQCAtNzUsOSArNzUsOSBAQA0KIHBsdWdpbl9Bc3R5bGVfR0xPQkFMX0xJQlM9 DQogcGx1Z2luX0FzdHlsZV9QUk9KRUNUX0xJQlM9DQogcGx1Z2luX0NvbXBpbGVyR0NDX0dMT0JB TF9DRkxBR1M9DQotIC1wbHVnaW5fQ29tcGlsZXJHQ0NfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1m UElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1s ZW5ndGg9MCBgd3hndGsyLTIuNi1jb25maWcgLS1jZmxhZ3NgDQorcGx1Z2luX0NvbXBpbGVyR0ND X1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBjYy1zdHJ1Y3QtcmV0 dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYCQoV1hfQ09ORklHKSAtLWNmbGFnc2AN CiBwbHVnaW5fQ29tcGlsZXJHQ0NfR0xPQkFMX0xERkxBR1M9DQotIC1wbHVnaW5fQ29tcGlsZXJH Q0NfUFJPSkVDVF9MREZMQUdTPSBgd3hndGsyLTIuNi1jb25maWcgLS1saWJzYA0KK3BsdWdpbl9D b21waWxlckdDQ19QUk9KRUNUX0xERkxBR1M9IGAkKFdYX0NPTkZJRykgLS1saWJzYA0KIHBsdWdp bl9Db21waWxlckdDQ19HTE9CQUxfSU5DUz0gLUkvdXNyL2luY2x1ZGUNCiBwbHVnaW5fQ29tcGls ZXJHQ0NfUFJPSkVDVF9JTkNTPSAtSXNkay93eHNjaW50aWxsYS9pbmNsdWRlDQogcGx1Z2luX0Nv bXBpbGVyR0NDX0dMT0JBTF9MSUJESVJTPSAtTC91c3IvbGliDQpAQCAtODUsOSArODUsOSBAQA0K IHBsdWdpbl9Db21waWxlckdDQ19HTE9CQUxfTElCUz0NCiBwbHVnaW5fQ29tcGlsZXJHQ0NfUFJP SkVDVF9MSUJTPQ0KIHBsdWdpbl9EZWJ1Z2dlckdEQl9HTE9CQUxfQ0ZMQUdTPQ0KLSAtcGx1Z2lu X0RlYnVnZ2VyR0RCX1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBj Yy1zdHJ1Y3QtcmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYHd4Z3RrMi0yLjYt Y29uZmlnIC0tY2ZsYWdzYA0KK3BsdWdpbl9EZWJ1Z2dlckdEQl9QUk9KRUNUX0NGTEFHUz0gLVdh bGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNz YWdlLWxlbmd0aD0wIGAkKFdYX0NPTkZJRykgLS1jZmxhZ3NgDQogcGx1Z2luX0RlYnVnZ2VyR0RC X0dMT0JBTF9MREZMQUdTPQ0KLSAtcGx1Z2luX0RlYnVnZ2VyR0RCX1BST0pFQ1RfTERGTEFHUz0g YHd4Z3RrMi0yLjYtY29uZmlnIC0tbGlic2ANCitwbHVnaW5fRGVidWdnZXJHREJfUFJPSkVDVF9M REZMQUdTPSBgJChXWF9DT05GSUcpIC0tbGlic2ANCiBwbHVnaW5fRGVidWdnZXJHREJfR0xPQkFM X0lOQ1M9IC1JL3Vzci9pbmNsdWRlDQogcGx1Z2luX0RlYnVnZ2VyR0RCX1BST0pFQ1RfSU5DUz0g LUlzZGsvd3hzY2ludGlsbGEvaW5jbHVkZQ0KIHBsdWdpbl9EZWJ1Z2dlckdEQl9HTE9CQUxfTElC RElSUz0gLUwvdXNyL2xpYg0KQEAgLTk1LDkgKzk1LDkgQEANCiBwbHVnaW5fRGVidWdnZXJHREJf R0xPQkFMX0xJQlM9DQogcGx1Z2luX0RlYnVnZ2VyR0RCX1BST0pFQ1RfTElCUz0NCiBwbHVnaW5f Q29kZUNvbXBsZXRpb25fR0xPQkFMX0NGTEFHUz0NCi0gLXBsdWdpbl9Db2RlQ29tcGxldGlvbl9Q Uk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVy biAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFn c2ANCitwbHVnaW5fQ29kZUNvbXBsZXRpb25fUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1mUElDIC1n IC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1sZW5ndGg9 MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHBsdWdpbl9Db2RlQ29tcGxldGlvbl9HTE9CQUxf TERGTEFHUz0NCi0gLXBsdWdpbl9Db2RlQ29tcGxldGlvbl9QUk9KRUNUX0xERkxBR1M9IGB3eGd0 azItMi42LWNvbmZpZyAtLWxpYnNgDQorcGx1Z2luX0NvZGVDb21wbGV0aW9uX1BST0pFQ1RfTERG TEFHUz0gYCQoV1hfQ09ORklHKSAtLWxpYnNgDQogcGx1Z2luX0NvZGVDb21wbGV0aW9uX0dMT0JB TF9JTkNTPSAtSS91c3IvaW5jbHVkZQ0KIHBsdWdpbl9Db2RlQ29tcGxldGlvbl9QUk9KRUNUX0lO Q1M9IC1Jc2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBwbHVnaW5fQ29kZUNvbXBsZXRpb25fR0xP QkFMX0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC0xMDUsOSArMTA1LDkgQEANCiBwbHVnaW5fQ29k ZUNvbXBsZXRpb25fR0xPQkFMX0xJQlM9DQogcGx1Z2luX0NvZGVDb21wbGV0aW9uX1BST0pFQ1Rf TElCUz0NCiBwbHVnaW5fQ2xhc3NXaXphcmRfR0xPQkFMX0NGTEFHUz0NCi0gLXBsdWdpbl9DbGFz c1dpemFyZF9QUk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3Ry dWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZp ZyAtLWNmbGFnc2ANCitwbHVnaW5fQ2xhc3NXaXphcmRfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1m UElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1s ZW5ndGg9MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHBsdWdpbl9DbGFzc1dpemFyZF9HTE9C QUxfTERGTEFHUz0NCi0gLXBsdWdpbl9DbGFzc1dpemFyZF9QUk9KRUNUX0xERkxBR1M9IGB3eGd0 azItMi42LWNvbmZpZyAtLWxpYnNgDQorcGx1Z2luX0NsYXNzV2l6YXJkX1BST0pFQ1RfTERGTEFH Uz0gYCQoV1hfQ09ORklHKSAtLWxpYnNgDQogcGx1Z2luX0NsYXNzV2l6YXJkX0dMT0JBTF9JTkNT PSAtSS91c3IvaW5jbHVkZQ0KIHBsdWdpbl9DbGFzc1dpemFyZF9QUk9KRUNUX0lOQ1M9IC1Jc2Rr L3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBwbHVnaW5fQ2xhc3NXaXphcmRfR0xPQkFMX0xJQkRJUlM9 IC1ML3Vzci9saWINCkBAIC0xMTUsOSArMTE1LDkgQEANCiBwbHVnaW5fQ2xhc3NXaXphcmRfR0xP QkFMX0xJQlM9DQogcGx1Z2luX0NsYXNzV2l6YXJkX1BST0pFQ1RfTElCUz0NCiBwbHVnaW5fRGVm TWltZUhhbmRsZXJfR0xPQkFMX0NGTEFHUz0NCi0gLXBsdWdpbl9EZWZNaW1lSGFuZGxlcl9QUk9K RUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAt Zm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2AN CitwbHVnaW5fRGVmTWltZUhhbmRsZXJfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1mUElDIC1nIC1w aXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1sZW5ndGg9MCBg JChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHBsdWdpbl9EZWZNaW1lSGFuZGxlcl9HTE9CQUxfTERG TEFHUz0NCi0gLXBsdWdpbl9EZWZNaW1lSGFuZGxlcl9QUk9KRUNUX0xERkxBR1M9IGB3eGd0azIt Mi42LWNvbmZpZyAtLWxpYnNgDQorcGx1Z2luX0RlZk1pbWVIYW5kbGVyX1BST0pFQ1RfTERGTEFH Uz0gYCQoV1hfQ09ORklHKSAtLWxpYnNgDQogcGx1Z2luX0RlZk1pbWVIYW5kbGVyX0dMT0JBTF9J TkNTPSAtSS91c3IvaW5jbHVkZQ0KIHBsdWdpbl9EZWZNaW1lSGFuZGxlcl9QUk9KRUNUX0lOQ1M9 IC1Jc2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBwbHVnaW5fRGVmTWltZUhhbmRsZXJfR0xPQkFM X0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC0xMjUsOSArMTI1LDkgQEANCiBwbHVnaW5fRGVmTWlt ZUhhbmRsZXJfR0xPQkFMX0xJQlM9DQogcGx1Z2luX0RlZk1pbWVIYW5kbGVyX1BST0pFQ1RfTElC Uz0NCiBwbHVnaW5fUGx1Z2luc1dpemFyZF9HTE9CQUxfQ0ZMQUdTPQ0KLSAtcGx1Z2luX1BsdWdp bnNXaXphcmRfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0 cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1sZW5ndGg9MCBgd3hndGsyLTIuNi1jb25m aWcgLS1jZmxhZ3NgDQorcGx1Z2luX1BsdWdpbnNXaXphcmRfUFJPSkVDVF9DRkxBR1M9IC1XYWxs IC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2Fn ZS1sZW5ndGg9MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHBsdWdpbl9QbHVnaW5zV2l6YXJk X0dMT0JBTF9MREZMQUdTPQ0KLSAtcGx1Z2luX1BsdWdpbnNXaXphcmRfUFJPSkVDVF9MREZMQUdT PSBgd3hndGsyLTIuNi1jb25maWcgLS1saWJzYA0KK3BsdWdpbl9QbHVnaW5zV2l6YXJkX1BST0pF Q1RfTERGTEFHUz0gYCQoV1hfQ09ORklHKSAtLWxpYnNgDQogcGx1Z2luX1BsdWdpbnNXaXphcmRf R0xPQkFMX0lOQ1M9IC1JL3Vzci9pbmNsdWRlDQogcGx1Z2luX1BsdWdpbnNXaXphcmRfUFJPSkVD VF9JTkNTPSAtSXNkay93eHNjaW50aWxsYS9pbmNsdWRlDQogcGx1Z2luX1BsdWdpbnNXaXphcmRf R0xPQkFMX0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC0xMzUsOSArMTM1LDkgQEANCiBwbHVnaW5f UGx1Z2luc1dpemFyZF9HTE9CQUxfTElCUz0NCiBwbHVnaW5fUGx1Z2luc1dpemFyZF9QUk9KRUNU X0xJQlM9DQogcGx1Z2luX1RvRG9fR0xPQkFMX0NGTEFHUz0NCi0gLXBsdWdpbl9Ub0RvX1BST0pF Q1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBjYy1zdHJ1Y3QtcmV0dXJuIC1m bm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYHd4Z3RrMi0yLjYtY29uZmlnIC0tY2ZsYWdzYA0K K3BsdWdpbl9Ub0RvX1BST0pFQ1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBj Yy1zdHJ1Y3QtcmV0dXJuIC1mbm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYCQoV1hfQ09ORklH KSAtLWNmbGFnc2ANCiBwbHVnaW5fVG9Eb19HTE9CQUxfTERGTEFHUz0NCi0gLXBsdWdpbl9Ub0Rv X1BST0pFQ1RfTERGTEFHUz0gYHd4Z3RrMi0yLjYtY29uZmlnIC0tbGlic2ANCitwbHVnaW5fVG9E b19QUk9KRUNUX0xERkxBR1M9IGAkKFdYX0NPTkZJRykgLS1saWJzYA0KIHBsdWdpbl9Ub0RvX0dM T0JBTF9JTkNTPSAtSS91c3IvaW5jbHVkZQ0KIHBsdWdpbl9Ub0RvX1BST0pFQ1RfSU5DUz0gLUlz ZGsvd3hzY2ludGlsbGEvaW5jbHVkZQ0KIHBsdWdpbl9Ub0RvX0dMT0JBTF9MSUJESVJTPSAtTC91 c3IvbGliDQpAQCAtMTQ1LDkgKzE0NSw5IEBADQogcGx1Z2luX1RvRG9fR0xPQkFMX0xJQlM9DQog cGx1Z2luX1RvRG9fUFJPSkVDVF9MSUJTPQ0KIHBsdWdpbl9YUE1hbmlmZXN0X0dMT0JBTF9DRkxB R1M9DQotIC1wbHVnaW5fWFBNYW5pZmVzdF9QUk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcg LXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0w IGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2ANCitwbHVnaW5fWFBNYW5pZmVzdF9QUk9KRUNU X0NGTEFHUz0gLVdhbGwgLWZQSUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5v LXJ0dGkgLWZtZXNzYWdlLWxlbmd0aD0wIGAkKFdYX0NPTkZJRykgLS1jZmxhZ3NgDQogcGx1Z2lu X1hQTWFuaWZlc3RfR0xPQkFMX0xERkxBR1M9DQotIC1wbHVnaW5fWFBNYW5pZmVzdF9QUk9KRUNU X0xERkxBR1M9IGB3eGd0azItMi42LWNvbmZpZyAtLWxpYnNgDQorcGx1Z2luX1hQTWFuaWZlc3Rf UFJPSkVDVF9MREZMQUdTPSBgJChXWF9DT05GSUcpIC0tbGlic2ANCiBwbHVnaW5fWFBNYW5pZmVz dF9HTE9CQUxfSU5DUz0gLUkvdXNyL2luY2x1ZGUNCiBwbHVnaW5fWFBNYW5pZmVzdF9QUk9KRUNU X0lOQ1M9IC1Jc2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiBwbHVnaW5fWFBNYW5pZmVzdF9HTE9C QUxfTElCRElSUz0gLUwvdXNyL2xpYg0KQEAgLTE1NSw5ICsxNTUsOSBAQA0KIHBsdWdpbl9YUE1h bmlmZXN0X0dMT0JBTF9MSUJTPQ0KIHBsdWdpbl9YUE1hbmlmZXN0X1BST0pFQ1RfTElCUz0NCiB1 cGRhdGVfR0xPQkFMX0NGTEFHUz0NCi0gLXVwZGF0ZV9QUk9KRUNUX0NGTEFHUz0gLVdhbGwgLWZQ SUMgLWcgLXBpcGUgLWZuby1wY2Mtc3RydWN0LXJldHVybiAtZm5vLXJ0dGkgLWZtZXNzYWdlLWxl bmd0aD0wIGB3eGd0azItMi42LWNvbmZpZyAtLWNmbGFnc2ANCit1cGRhdGVfUFJPSkVDVF9DRkxB R1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRp IC1mbWVzc2FnZS1sZW5ndGg9MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIHVwZGF0ZV9HTE9C QUxfTERGTEFHUz0NCi0gLXVwZGF0ZV9QUk9KRUNUX0xERkxBR1M9IGB3eGd0azItMi42LWNvbmZp ZyAtLWxpYnNgDQordXBkYXRlX1BST0pFQ1RfTERGTEFHUz0gYCQoV1hfQ09ORklHKSAtLWxpYnNg DQogdXBkYXRlX0dMT0JBTF9JTkNTPSAtSS91c3IvaW5jbHVkZQ0KIHVwZGF0ZV9QUk9KRUNUX0lO Q1M9IC1Jc2RrL3d4c2NpbnRpbGxhL2luY2x1ZGUNCiB1cGRhdGVfR0xPQkFMX0xJQkRJUlM9IC1M L3Vzci9saWINCkBAIC0xNjUsOSArMTY1LDkgQEANCiB1cGRhdGVfR0xPQkFMX0xJQlM9DQogdXBk YXRlX1BST0pFQ1RfTElCUz0NCiBjb25zb2xlX3J1bm5lcl9HTE9CQUxfQ0ZMQUdTPQ0KLSAtY29u c29sZV9ydW5uZXJfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNj LXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1sZW5ndGg9MCBgd3hndGsyLTIuNi1j b25maWcgLS1jZmxhZ3NgDQorY29uc29sZV9ydW5uZXJfUFJPSkVDVF9DRkxBR1M9IC1XYWxsIC1m UElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1mbWVzc2FnZS1s ZW5ndGg9MCBgJChXWF9DT05GSUcpIC0tY2ZsYWdzYA0KIGNvbnNvbGVfcnVubmVyX0dMT0JBTF9M REZMQUdTPQ0KLSAtY29uc29sZV9ydW5uZXJfUFJPSkVDVF9MREZMQUdTPSBgd3hndGsyLTIuNi1j b25maWcgLS1saWJzYA0KK2NvbnNvbGVfcnVubmVyX1BST0pFQ1RfTERGTEFHUz0gYCQoV1hfQ09O RklHKSAtLWxpYnNgDQogY29uc29sZV9ydW5uZXJfR0xPQkFMX0lOQ1M9IC1JL3Vzci9pbmNsdWRl DQogY29uc29sZV9ydW5uZXJfUFJPSkVDVF9JTkNTPSAtSXNkay93eHNjaW50aWxsYS9pbmNsdWRl DQogY29uc29sZV9ydW5uZXJfR0xPQkFMX0xJQkRJUlM9IC1ML3Vzci9saWINCkBAIC0xNzUsOSAr MTc1LDkgQEANCiBjb25zb2xlX3J1bm5lcl9HTE9CQUxfTElCUz0NCiBjb25zb2xlX3J1bm5lcl9Q Uk9KRUNUX0xJQlM9DQogZG9jX0dMT0JBTF9DRkxBR1M9DQotIC1kb2NfUFJPSkVDVF9DRkxBR1M9 IC1XYWxsIC1mUElDIC1nIC1waXBlIC1mbm8tcGNjLXN0cnVjdC1yZXR1cm4gLWZuby1ydHRpIC1m bWVzc2FnZS1sZW5ndGg9MCBgd3hndGsyLTIuNi1jb25maWcgLS1jZmxhZ3NgDQorZG9jX1BST0pF Q1RfQ0ZMQUdTPSAtV2FsbCAtZlBJQyAtZyAtcGlwZSAtZm5vLXBjYy1zdHJ1Y3QtcmV0dXJuIC1m bm8tcnR0aSAtZm1lc3NhZ2UtbGVuZ3RoPTAgYCQoV1hfQ09ORklHKSAtLWNmbGFnc2ANCiBkb2Nf R0xPQkFMX0xERkxBR1M9DQotIC1kb2NfUFJPSkVDVF9MREZMQUdTPSBgd3hndGsyLTIuNi1jb25m aWcgLS1saWJzYA0KK2RvY19QUk9KRUNUX0xERkxBR1M9IGAkKFdYX0NPTkZJRykgLS1saWJzYA0K IGRvY19HTE9CQUxfSU5DUz0gLUkvdXNyL2luY2x1ZGUNCiBkb2NfUFJPSkVDVF9JTkNTPSAtSXNk ay93eHNjaW50aWxsYS9pbmNsdWRlDQogZG9jX0dMT0JBTF9MSUJESVJTPSAtTC91c3IvbGliDQpJ bmRleDogZGV2ZWwvY29kZWJsb2Nrcy9maWxlcy9wYXRjaC1Db2RlQmxvY2tzLXVuaXguY2JwDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9kZXZlbC9jb2RlYmxvY2tzL2Zp bGVzL3BhdGNoLUNvZGVCbG9ja3MtdW5peC5jYnAsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEN CmRpZmYgLXUgLXIxLjEgcGF0Y2gtQ29kZUJsb2Nrcy11bml4LmNicA0KLSAtLS0gZGV2ZWwvY29k ZWJsb2Nrcy9maWxlcy9wYXRjaC1Db2RlQmxvY2tzLXVuaXguY2JwCTI3IERlYyAyMDA1IDE5OjU5 OjA5IC0wMDAwCTEuMQ0KKysrIGRldmVsL2NvZGVibG9ja3MvZmlsZXMvcGF0Y2gtQ29kZUJsb2Nr cy11bml4LmNicAkxMyBKdW4gMjAwNiAyMzoyMjoxMiAtMDAwMA0KQEAgLTEsNSArMSw1IEBADQot IC0tLS0gQ29kZUJsb2Nrcy11bml4LmNicC5vcmlnCVN1biBOb3YgMjcgMTU6MTI6MzQgMjAwNQ0K LSAtKysrIENvZGVCbG9ja3MtdW5peC5jYnAJU3VuIE5vdiAyNyAxNToxMjo0NiAyMDA1DQorLS0t IENvZGVCbG9ja3MtdW5peC5jYnAub3JpZwlTdW4gTWF5IDI4IDE4OjQxOjU3IDIwMDYNCisrKysg Q29kZUJsb2Nrcy11bml4LmNicAlTdW4gTWF5IDI4IDE4OjQ2OjQzIDIwMDYNCiBAQCAtNTYsNiAr NTYsNyBAQA0KICAJCQkJCTxBZGQgb3B0aW9uPSItREVYUE9SVF9FVkVOVFMiLz4NCiAgCQkJCQk8 QWRkIG9wdGlvbj0iLURfVVNSRExMIi8+DQpAQCAtOCw3ICs4LDcgQEANCiAgCQkJCTwvQ29tcGls ZXI+DQogIAkJCQk8TGlua2VyPg0KICAJCQkJCTxBZGQgbGlicmFyeT0ibGlidHhtbC5hIi8+DQot IC1AQCAtMzM5LDE4ICszNDAsMzcgQEANCitAQCAtMzM5LDEzICszNDAsMzIgQEANCiAgCQkJCQk8 QWRkIG9wdGlvbj0iLU9zIi8+DQogIAkJCQk8L0NvbXBpbGVyPg0KICAJCQk8L1RhcmdldD4NCkBA IC0yOSwyNiArMjksMTkgQEANCiArCQkJPC9UYXJnZXQ+DQogIAkJCTxFbnZpcm9ubWVudD4NCiAt CQkJCTxWYXJpYWJsZSBuYW1lPSJMSUJfV1hYUkMiIHZhbHVlPSJ3eF9ndGsyX3hyYy0yLjQiLz4N Ci0gLSsJCQkJPFZhcmlhYmxlIG5hbWU9IkxJQl9XWFhSQyIgdmFsdWU9Ind4X2d0azJfeHJjLTIu NiIvPg0KKysJCQkJPFZhcmlhYmxlIG5hbWU9IkxJQl9XWFhSQyIgdmFsdWU9IiUlTElCX1dYWFJD JSUiLz4NCiAgCQkJPC9FbnZpcm9ubWVudD4NCiAgCQk8L0J1aWxkPg0KICAJCTxDb21waWxlcj4N CiAgCQkJPEFkZCBvcHRpb249Ii1XYWxsIi8+DQogIAkJCTxBZGQgb3B0aW9uPSItZyIvPg0KLSAt LQkJCTxBZGQgb3B0aW9uPSJgd3gtY29uZmlnIC0tY2ZsYWdzYCIvPg0KICsJCQk8QWRkIG9wdGlv bj0iLXBpcGUiLz4NCiArCQkJPEFkZCBvcHRpb249Ii1mbm8tcGNjLXN0cnVjdC1yZXR1cm4iLz4N CiArCQkJPEFkZCBvcHRpb249Ii1mbm8tcnR0aSIvPg0KICsJCQk8QWRkIG9wdGlvbj0iLWZtZXNz YWdlLWxlbmd0aD0wIi8+DQotIC0rCQkJPEFkZCBvcHRpb249ImB3eGd0azItMi42LWNvbmZpZyAt LWNmbGFnc2AiLz4NCisgCQkJPEFkZCBvcHRpb249ImB3eC1jb25maWcgLS1jZmxhZ3NgIi8+DQog IAkJCTxBZGQgZGlyZWN0b3J5PSJzZGsvd3hzY2ludGlsbGEvaW5jbHVkZSIvPg0KICAJCTwvQ29t cGlsZXI+DQotIC0gCQk8TGlua2VyPg0KLSAtLQkJCTxBZGQgb3B0aW9uPSJgd3gtY29uZmlnIC0t bGlic2AiLz4NCi0gLSsJCQk8QWRkIG9wdGlvbj0iYHd4Z3RrMi0yLjYtY29uZmlnIC0tbGlic2Ai Lz4NCi0gLSAJCQk8QWRkIGRpcmVjdG9yeT0ic2RrL3Rpbnl4bWwiLz4NCi0gLSAJCTwvTGlua2Vy Pg0KLSAtIAkJPFVuaXQgZmlsZW5hbWU9ImRldmVsL3NoYXJlL0NvZGVCbG9ja3MvaW1hZ2VzL2Nv ZGVjb21wbGV0aW9uL1JFQURNRS50eHQiPg0KIEBAIC0xMDUyLDEyICsxMDcyLDc4IEBADQogIAkJ CTxPcHRpb24gbGluaz0iMCIvPg0KICAJCQk8T3B0aW9uIHRhcmdldD0icGx1Z2luX0NvbXBpbGVy R0NDIi8+DQpJbmRleDogZGV2ZWwvY29kZWJsb2Nrcy9maWxlcy9wYXRjaC1zcmMtYXBwLmNwcA0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvZGV2ZWwvY29kZWJsb2Nrcy9m aWxlcy9wYXRjaC1zcmMtYXBwLmNwcCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQ0KZGlmZiAt dSAtcjEuMSBwYXRjaC1zcmMtYXBwLmNwcA0KLSAtLS0gZGV2ZWwvY29kZWJsb2Nrcy9maWxlcy9w YXRjaC1zcmMtYXBwLmNwcAkyNyBEZWMgMjAwNSAxOTo1OTowOSAtMDAwMAkxLjENCisrKyBkZXZl bC9jb2RlYmxvY2tzL2ZpbGVzL3BhdGNoLXNyYy1hcHAuY3BwCTEzIEp1biAyMDA2IDIzOjIyOjEy IC0wMDAwDQpAQCAtNCw3ICs0LDcgQEANCiAgRERFU2VydmVyKiBnX0RERVNlcnZlciA9IDBMOw0K ICAjZW5kaWYNCiAgDQotIC0rI2RlZmluZSBBUFBfUFJFRklYICIvdXNyL2xvY2FsIg0KKysjZGVm aW5lIEFQUF9QUkVGSVggIiUlUFJFRklYJSUiDQogKw0KICBJTVBMRU1FTlRfQVBQKENvZGVCbG9j a3NBcHApDQogIA0KSW5kZXg6IGRldmVsL2NvZGVibG9ja3MvZmlsZXMvcGF0Y2gtdGVtcGxhdGVz LXVuaXgtd3h3aWRnZXRzLmNicA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGRldmVsL2NvZGVibG9j a3MvZmlsZXMvcGF0Y2gtdGVtcGxhdGVzLXVuaXgtd3h3aWRnZXRzLmNicA0KZGlmZiAtTiBkZXZl bC9jb2RlYmxvY2tzL2ZpbGVzL3BhdGNoLXRlbXBsYXRlcy11bml4LXd4d2lkZ2V0cy5jYnANCi0g LS0tIGRldmVsL2NvZGVibG9ja3MvZmlsZXMvcGF0Y2gtdGVtcGxhdGVzLXVuaXgtd3h3aWRnZXRz LmNicAkyNyBEZWMgMjAwNSAxOTo1OTowOSAtMDAwMAkxLjENCisrKyAvZGV2L251bGwJMSBKYW4g MTk3MCAwMDowMDowMCAtMDAwMA0KQEAgLTEsMTUgKzAsMCBAQA0KLSAtLS0tIHRlbXBsYXRlcy91 bml4L3d4d2lkZ2V0cy5jYnAub3JpZwlTdW4gTm92IDI3IDE1OjM2OjIyIDIwMDUNCi0gLSsrKyB0 ZW1wbGF0ZXMvdW5peC93eHdpZGdldHMuY2JwCVN1biBOb3YgMjcgMTU6MzY6NTUgMjAwNQ0KLSAt QEAgLTE0LDEwICsxNCwxMCBAQA0KLSAtIAkJCTxBZGQgb3B0aW9uPSItV2ludmFsaWQtcGNoIi8+ DQotIC0gCQkJPEFkZCBvcHRpb249Ii1pbmNsdWRlICZxdW90O3d4X3BjaC5oJnF1b3Q7Ii8+DQot IC0gCQkJPEFkZCBvcHRpb249Ii1EVVNFX1BDSCIvPg0KLSAtLQkJCTxBZGQgb3B0aW9uPSJgd3gt Y29uZmlnIC0tY2ZsYWdzYCIvPg0KLSAtKwkJCTxBZGQgb3B0aW9uPSJgd3hndGsyLTIuNi1jb25m aWcgLS1jZmxhZ3NgIi8+DQotIC0gCQk8L0NvbXBpbGVyPg0KLSAtIAkJPExpbmtlcj4NCi0gLS0J CQk8QWRkIG9wdGlvbj0iYHd4LWNvbmZpZyAtLWxpYnNgIi8+DQotIC0rCQkJPEFkZCBvcHRpb249 ImB3eGd0azItMi42LWNvbmZpZyAtLWxpYnNgIi8+DQotIC0gCQk8L0xpbmtlcj4NCi0gLSAJPC9Q cm9qZWN0Pg0KLSAtIDwvQ29kZUJsb2Nrc19wcm9qZWN0X2ZpbGU+DQpJbmRleDogZGV2ZWwvZGF0 YWRlc2lnbmVyL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0 cy9kZXZlbC9kYXRhZGVzaWduZXIvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjcN CmRpZmYgLXUgLXIxLjcgTWFrZWZpbGUNCi0gLS0tIGRldmVsL2RhdGFkZXNpZ25lci9NYWtlZmls ZQkzMCBKYW4gMjAwNiAyMzoxOTo1MiAtMDAwMAkxLjcNCisrKyBkZXZlbC9kYXRhZGVzaWduZXIv TWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTIgLTAwMDANCkBAIC0xNiwxNiArMTYsMTUgQEAN CiBNQUlOVEFJTkVSPQlwb3J0c0BGcmVlQlNELm9yZw0KIENPTU1FTlQ9CURhdGFiYXNlIFNjaGVt YSBEZXNpZ25lcg0KIA0KLSAtTElCX0RFUEVORFM9CWV4cGF0LjY6JHtQT1JUU0RJUn0vdGV4dHBy b2MvZXhwYXQyIFwNCi0gLQkJd3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMv d3hndGsyNA0KK0xJQl9ERVBFTkRTPQlleHBhdC42OiR7UE9SVFNESVJ9L3RleHRwcm9jL2V4cGF0 Mg0KIA0KIFVTRV9HTk9NRT0JbGlieG1sMiBsaWJ4c2x0DQogVVNFX0lDT05WPQl5ZXMNCitVU0Vf V1g9CQkyLjQNCitXWF9DT05GX0FSR1M9CWFic29sdXRlDQogR05VX0NPTkZJR1VSRT0JeWVzDQot IC1XWF9DT05GSUc/PQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZpZw0KIENPTkZJR1VS RV9FTlY9CUNQUEZMQUdTPSIke0NYWEZMQUdTfSAtSSR7TE9DQUxCQVNFfS9pbmNsdWRlIiBcDQog CQlMREZMQUdTPSItTCR7TE9DQUxCQVNFfS9saWIiDQotIC1DT05GSUdVUkVfQVJHUz0JLS13aXRo LXd4LWNvbmZpZz0ke1dYX0NPTkZJR30NCiANCiAuaWYgIWRlZmluZWQoV0lUSE9VVF9OTFMpDQog VVNFX0dFVFRFWFQ9CXllcw0KSW5kZXg6IGRldmVsL2RycHl0aG9uL01ha2VmaWxlDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9kZXZlbC9kcnB5dGhvbi9NYWtlZmlsZSx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNA0KZGlmZiAtdSAtcjEuNCBNYWtlZmlsZQ0KLSAtLS0g ZGV2ZWwvZHJweXRob24vTWFrZWZpbGUJMTQgQXByIDIwMDYgMTg6MTQ6NTIgLTAwMDAJMS40DQor KysgZGV2ZWwvZHJweXRob24vTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTIgLTAwMDANCkBA IC0xNiwxMSArMTYsMTEgQEANCiBNQUlOVEFJTkVSPQlwb3J0c0BGcmVlQlNELm9yZw0KIENPTU1F TlQ9CUhpZ2hseSBjdXN0b21pemFibGUgY3Jvc3MtcGxhdGZvcm0gaWRlIHRvIGFpZCBwcm9ncmFt bWluZyBpbiBQeXRob24NCiANCi0gLVJVTl9ERVBFTkRTPQkke1BZVEhPTl9TSVRFTElCRElSfS93 eC0yLjYtZ3RrMi1hbnNpL3d4L19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9w eS13eFB5dGhvbjI2DQotIC0NCiBVU0VfWklQPQl5ZXMNCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0Vf UFlESVNUVVRJTFM9CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTVBTPQlweXRob25fcnVuDQog DQogcG9zdC1pbnN0YWxsOg0KIAlAJHtFQ0hPfSAnIyEvYmluL3NoJyA+ICR7V1JLRElSfS9kcnB5 dGhvbi5zaA0KSW5kZXg6IGRldmVsL2Vjb3MtdG9vbHMvTWFrZWZpbGUNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2RldmVsL2Vjb3MtdG9vbHMvTWFrZWZpbGUsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjEyDQpkaWZmIC11IC1yMS4xMiBNYWtlZmlsZQ0KLSAtLS0gZGV2 ZWwvZWNvcy10b29scy9NYWtlZmlsZQk1IE5vdiAyMDA1IDA1OjIwOjIyIC0wMDAwCTEuMTINCisr KyBkZXZlbC9lY29zLXRvb2xzL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEyIC0wMDAwDQpA QCAtMTYsMTAgKzE2LDEwIEBADQogTUFJTlRBSU5FUj0JdGdARnJlZUJTRC5vcmcNCiBDT01NRU5U PQlDb25maWd1cmF0aW9uIHRvb2xzIGZvciB0aGUgZUNvcyBlbWJlZGRlZCBPUw0KIA0KLSAtTElC X0RFUEVORFM9CXRjbDg0LjE6JHtQT1JUU0RJUn0vbGFuZy90Y2w4NCBcDQotIC0JCXd4X2d0azIt Mi40LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjQNCitMSUJfREVQRU5EUz0JdGNs ODQuMToke1BPUlRTRElSfS9sYW5nL3RjbDg0DQogDQogVVNFX0JaSVAyPQl5ZXMNCitVU0VfV1g9 CQkyLjQNCiBXUktTUkM9CQkke1dSS0RJUn0vaW5mcmEtYnVpbGQNCiBHTlVfQ09ORklHVVJFPQl5 ZXMNCiBDT05GSUdVUkVfU0NSSVBUPQkuLi9lY29zL2hvc3QvY29uZmlndXJlDQpAQCAtMzEsNyAr MzEsNyBAQA0KIA0KIEVDT1NTUkNESVI9CSR7V1JLRElSfS9lY29zL2hvc3QNCiBDRkdUT09MX1dS S1NSQz0JJHtXUktESVJ9L2NvbmZpZ3Rvb2wtYnVpbGQNCi0gLUNGR1RPT0xfTUFLRV9FTlY9CVdY RElSPSR7WDExQkFTRX0gV1hfQ09ORklHPXd4Z3RrMi0yLjQtY29uZmlnIFwNCitDRkdUT09MX01B S0VfRU5WPQlXWF9DT05GSUc9JHtXWF9DT05GSUd9IFwNCiAJCQlFQ09TU1JDRElSPSR7RUNPU1NS Q0RJUn0gXA0KIAkJCUlOU1RBTExESVI9JHtQUkVGSVh9DQogQ0ZHVE9PTF9NQUtFRklMRT0JJHtF Q09TU1JDRElSfS90b29scy9jb25maWd0b29sL3N0YW5kYWxvbmUvd3h3aW4vbWFrZWZpbGUuZ251 DQpJbmRleDogZGV2ZWwvZWNvcy10b29scy9maWxlcy9wYXRjaC1ob3N0Ojp0b29sczo6Y29uZmln dG9vbDo6c3RhbmRhbG9uZTo6d3h3aW46Om1ha2VmaWxlLmdudQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvZGV2ZWwvZWNvcy10b29scy9maWxlcy9wYXRjaC1ob3N0Ojp0 b29sczo6Y29uZmlndG9vbDo6c3RhbmRhbG9uZTo6d3h3aW46Om1ha2VmaWxlLmdudSx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMQ0KZGlmZiAtdSAtcjEuMSBwYXRjaC1ob3N0Ojp0b29sczo6Y29u ZmlndG9vbDo6c3RhbmRhbG9uZTo6d3h3aW46Om1ha2VmaWxlLmdudQ0KLSAtLS0gZGV2ZWwvZWNv cy10b29scy9maWxlcy9wYXRjaC1ob3N0Ojp0b29sczo6Y29uZmlndG9vbDo6c3RhbmRhbG9uZTo6 d3h3aW46Om1ha2VmaWxlLmdudQkxNyBOb3YgMjAwMyAxMjoyOTowNiAtMDAwMAkxLjENCisrKyBk ZXZlbC9lY29zLXRvb2xzL2ZpbGVzL3BhdGNoLWhvc3Q6OnRvb2xzOjpjb25maWd0b29sOjpzdGFu ZGFsb25lOjp3eHdpbjo6bWFrZWZpbGUuZ251CTEzIEp1biAyMDA2IDIzOjIyOjEyIC0wMDAwDQpA QCAtMzYsOCArMzYsOCBAQA0KICAgIFBST0dSQU09Y29uZmlndG9vbA0KIC0gIENQUEZMQUdTPWAk KFdYRElSKS9iaW4vd3gtY29uZmlnIC0tY3BwZmxhZ3NgDQogLSAgTERGTEFHUz1gJChXWERJUikv YmluL3d4LWNvbmZpZyAtLWxpYnNgDQotIC0rICBDUFBGTEFHUz1gJChXWERJUikvYmluLyQoV1hf Q09ORklHKSAtLWNwcGZsYWdzYA0KLSAtKyAgTERGTEFHUz1gJChXWERJUikvYmluLyQoV1hfQ09O RklHKSAtLWxpYnNgDQorKyAgQ1BQRkxBR1M9YCQoV1hfQ09ORklHKSAtLWNwcGZsYWdzYA0KKysg IExERkxBR1M9YCQoV1hfQ09ORklHKSAtLWxpYnNgDQogICAgRVhUUkFPQkpFQ1RTPQ0KICBlbmRp Zg0KICANCkluZGV4OiBkZXZlbC9rbGFzc21vZGVsZXIvTWFrZWZpbGUNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2RldmVsL2tsYXNzbW9kZWxlci9NYWtlZmlsZSx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTENCmRpZmYgLXUgLXIxLjExIE1ha2VmaWxlDQotIC0tLSBk ZXZlbC9rbGFzc21vZGVsZXIvTWFrZWZpbGUJNCBNYXkgMjAwNiAyMTo0MDo0NiAtMDAwMAkxLjEx DQorKysgZGV2ZWwva2xhc3Ntb2RlbGVyL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEyIC0w MDAwDQpAQCAtMTYsMTQgKzE2LDEyIEBADQogTUFJTlRBSU5FUj0JcG9ydHNARnJlZUJTRC5vcmcN CiBDT01NRU5UPQlBIHRvb2wgZm9yIHZpc3VhbGx5IGNyZWF0aW5nIGFuZCBkb2N1bWVudGluZyBj bGFzc2VzDQogDQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEt dG9vbGtpdHMvd3hndGsyNA0KLSAtDQogVVNFX1pJUD0JeWVzDQogV1JLU1JDPQkJJHtXUktESVJ9 LyR7UE9SVE5BTUV9DQotIC1XWF9DT05GSUc9CSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQtY29u ZmlnDQogVVNFX0dOT01FPQlnbm9tZXRhcmdldA0KIFVTRV9BVVRPVE9PTFM9CWxpYnRvb2w6MTUN CiBDT05GSUdVUkVfRU5WPQlXWFdJTkRPV1M9InllcyINCitVU0VfV1g9CQkyLjQNCiANCiBQTElT VF9GSUxFUz0JYmluL2tsYXNzbW9kZWxlcg0KIA0KSW5kZXg6IGRldmVsL3JhcGlkc3ZuL01ha2Vm aWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9kZXZlbC9yYXBpZHN2 bi9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNw0KZGlmZiAtdSAtcjEuNyBNYWtl ZmlsZQ0KLSAtLS0gZGV2ZWwvcmFwaWRzdm4vTWFrZWZpbGUJMjMgRmViIDIwMDYgMTA6MzY6MTQg LTAwMDAJMS43DQorKysgZGV2ZWwvcmFwaWRzdm4vTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6 MTIgLTAwMDANCkBAIC0xNSwzMSArMTUsMjIgQEANCiBDT01NRU5UPQlDcm9zcy1wbGF0Zm9ybSBH VUkgZnJvbnQtZW5kIGZvciB0aGUgU3VidmVyc2lvbiByZXZpc2lvbiBzeXN0ZW0NCiANCiBCVUlM RF9ERVBFTkRTPQlhcHItMS1jb25maWc6JHtQT1JUU0RJUn0vZGV2ZWwvYXByLXN2biBcDQotIC0J CSR7V1hDT05GSUd9OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy8ke1dYUE9SVH0gXA0KIAkJbmVv bi1jb25maWc6JHtQT1JUU0RJUn0vd3d3L25lb24gXA0KIAkJJHtTVk5ERVB9OiR7UE9SVFNESVJ9 L2RldmVsL3N1YnZlcnNpb24gXA0KIAkJJHtMT0NBTEJBU0V9L3NoYXJlL3hzbC9kb2Nib29rL1ZF UlNJT046JHtQT1JUU0RJUn0vdGV4dHByb2MvZG9jYm9vay14c2wNCiANCiBVU0VfWF9QUkVGSVg9 CXllcw0KK1VTRV9XWD0JCTIuNC0yLjYNCitXWF9DT01QUz0Jd3hfYnVpbGQNCitXWF9DT05GX0FS R1M9CWFic29sdXRlDQogVVNFX0FVVE9UT09MUz0JYXV0b2NvbmY6MjU5IGxpYnRvb2w6MTUNCi0g LUNPTkZJR1VSRV9BUkdTPQktLXdpdGgtd3gtY29uZmlnPSR7V1hDT05GSUd9IFwNCi0gLQktLXdp dGgtYXByLWNvbmZpZz1hcHItMS1jb25maWcgXA0KK0NPTkZJR1VSRV9BUkdTPS0td2l0aC1hcHIt Y29uZmlnPWFwci0xLWNvbmZpZyBcDQogCS0td2l0aC1hcHUtY29uZmlnPWFwdS0xLWNvbmZpZyBc DQogCS0td2l0aC1kb2Nib29rLXhzbD0ke0xPQ0FMQkFTRX0vc2hhcmUveHNsL2RvY2Jvb2sNCiBD T05GSUdVUkVfRU5WPQlMREZMQUdTPSItTCR7WDExQkFTRX0vbGliICR7UFRIUkVBRF9MSUJTfSIN CiBJTlNUQUxMU19TSExJQj0JeWVzDQogTUFOMT0JCXJhcGlkc3ZuLjENCiANCi0gLS5pZiBleGlz dHMoJHtYMTFCQVNFfS9iaW4vd3hndGsyLTIuNi1jb25maWcpDQotIC1XWFBPUlQ9CQl3eGd0azI2 DQotIC1XWENPTkZJRz0Jd3hndGsyLTIuNi1jb25maWcNCi0gLS5lbGlmIGV4aXN0cygke1gxMUJB U0V9L2Jpbi93eGd0azJ1LTIuNi1jb25maWcpDQotIC1XWFBPUlQ9CQl3eGd0azI2LXVuaWNvZGUN Ci0gLVdYQ09ORklHPQl3eGd0azJ1LTIuNi1jb25maWcNCi0gLS5lbHNlDQotIC1XWFBPUlQ9CQl3 eGd0azI0DQotIC1XWENPTkZJRz0Jd3hndGsyLTIuNC1jb25maWcNCi0gLS5lbmRpZg0KIFNWTkRF UD0JCSR7TE9DQUxCQVNFfS9pbmNsdWRlL3N1YnZlcnNpb24tMS9zdm5fdHlwZXMuaA0KIA0KIC5p bmNsdWRlIDxic2QucG9ydC5taz4NCkluZGV4OiBkZXZlbC93eEdsYWRlL01ha2VmaWxlDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9kZXZlbC93eEdsYWRlL01ha2VmaWxl LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNg0KZGlmZiAtdSAtcjEuMTYgTWFrZWZpbGUNCi0g LS0tIGRldmVsL3d4R2xhZGUvTWFrZWZpbGUJOSBBcHIgMjAwNiAxMzowODowMiAtMDAwMAkxLjE2 DQorKysgZGV2ZWwvd3hHbGFkZS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMiAtMDAwMA0K QEAgLTE0LDE3ICsxNCwxMSBAQA0KIE1BSU5UQUlORVI9CWFsZXB1bHZlckBGcmVlQlNELm9yZw0K IENPTU1FTlQ9CUdVSSBidWlsZGVyIGZvciB3eFB5dGhvbi93eFdpbmRvd3Mgd3JpdHRlbiBpbiBQ eXRob24NCiANCi0gLVJVTl9ERVBFTkRTPQkke1BZVEhPTl9TSVRFTElCRElSfS8ke1dYX1BZVEhP Tl9ESVJ9L3d4UHl0aG9uL193eC5weToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvcHktd3hQeXRo b24yNg0KLSAtDQotIC0uaWYgZGVmaW5lZChXSVRIX1VOSUNPREUpDQotIC1XWF9QWVRIT05fRElS PQl3eC0yLjYtZ3RrMi11bmljb2RlDQotIC0uZWxzZQ0KLSAtV1hfUFlUSE9OX0RJUj0Jd3gtMi42 LWd0azItYW5zaQ0KLSAtLmVuZGlmDQotIC0NCiBXUktTUkM9CQkke1dSS0RJUn0vd3hHbGFkZS0k e1BPUlRWRVJTSU9OfQ0KIA0KIFVTRV9QWVRIT049CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NP TVBTPQlweXRob25fcnVuDQogDQogZG8tYnVpbGQ6DQogCUAoJHtFQ0hPX0NNRH0gIiMhJHtTSH0i OyAke0VDSE9fQ01EfSAnZXhlYyAke1BZVEhPTl9DTUR9IFwNCkluZGV4OiBlZGl0b3JzL3BvZWRp dC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvZWRpdG9y cy9wb2VkaXQvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQyDQpkaWZmIC11IC1y MS40MiBNYWtlZmlsZQ0KLSAtLS0gZWRpdG9ycy9wb2VkaXQvTWFrZWZpbGUJMjggTWF5IDIwMDYg MTU6NTQ6MDggLTAwMDAJMS40Mg0KKysrIGVkaXRvcnMvcG9lZGl0L01ha2VmaWxlCTEzIEp1biAy MDA2IDIzOjIyOjEyIC0wMDAwDQpAQCAtMTcsMTMgKzE3LDE1IEBADQogQ09NTUVOVD0JR2V0dGV4 dCBjYXRhbG9ncyAoLnBvIGZpbGVzKSBlZGl0b3INCiANCiBCVUlMRF9ERVBFTkRTPQl6aXA6JHtQ T1JUU0RJUn0vYXJjaGl2ZXJzL3ppcA0KLSAtTElCX0RFUEVORFM9CWd0a3NwZWxsLjA6JHtQT1JU U0RJUn0vdGV4dHByb2MvZ3Rrc3BlbGwgXA0KLSAtCQlkYiR7TElCX1NVRkZJWH06JHtQT1JUU0RJ Un0vZGF0YWJhc2VzL2RiJHtXSVRIX0JEQl9WRVJ9DQorTElCX0RFUEVORFM9CWd0a3NwZWxsLjA6 JHtQT1JUU0RJUn0vdGV4dHByb2MvZ3Rrc3BlbGwNCiANCiBVU0VfWF9QUkVGSVg9CXllcw0KK1VT RV9CREI9CXllcw0KIFVTRV9HRVRURVhUPQl5ZXMNCiBVU0VfR01BS0U9CXllcw0KIFVTRV9HTk9N RT0JZ25vbWV0YXJnZXQNCitVU0VfV1g9CQkyLjQtMi42DQorV1hfQ09ORl9BUkdTPQlhYnNvbHV0 ZQ0KIEdOVV9DT05GSUdVUkU9CXllcw0KIENPTkZJR1VSRV9FTlY9CUNQUEZMQUdTPSIke0NQUEZM QUdTfSIgTERGTEFHUz0iJHtMREZMQUdTfSINCiANCkBAIC0zMywzNiArMzUsMTAgQEANCiANCiBN QU4xPQkJcG9lZGl0LjENCiANCi0gLS5pZiBkZWZpbmVkKFdJVEhfQkRCMikgfHwgZGVmaW5lZChX SVRIX0RCMikNCi0gLVdJVEhfQkRCX1ZFUj0JMg0KLSAtLmVsaWYgZGVmaW5lZChXSVRIX0JEQjMp IHx8IGRlZmluZWQoV0lUSF9EQjMpDQotIC1XSVRIX0JEQl9WRVI9CTMNCi0gLS5lbGlmIGRlZmlu ZWQoV0lUSF9CREI0KSB8fCBkZWZpbmVkKFdJVEhfREI0KQ0KLSAtV0lUSF9CREJfVkVSPQk0DQot IC0uZWxpZiBkZWZpbmVkKFdJVEhfQkRCNDEpIHx8IGRlZmluZWQoV0lUSF9EQjQxKQ0KLSAtV0lU SF9CREJfVkVSPQk0MQ0KLSAtLmVsaWYgZGVmaW5lZChXSVRIX0JEQjQyKSB8fCBkZWZpbmVkKFdJ VEhfREI0MikNCi0gLVdJVEhfQkRCX1ZFUj0JNDINCi0gLUxJQl9TVUZGSVg9CS00LjINCi0gLS5l bGlmIGRlZmluZWQoV0lUSF9CREI0MykgfHwgZGVmaW5lZChXSVRIX0RCNDMpDQotIC1XSVRIX0JE Ql9WRVI9CTQzDQotIC1MSUJfU1VGRklYPQktNC4zDQotIC0uZW5kaWYNCi0gLVdJVEhfQkRCX1ZF Uj89CTQNCi0gLUxJQl9TVUZGSVg/PQkke1dJVEhfQkRCX1ZFUn0NCi0gLQ0KLSAtLmlmIGRlZmlu ZWQoV0lUSF9XWEdUSzI0KQ0KLSAtTElCX0RFUEVORFMrPQl3eF9ndGsyLTIuNC4wOiR7UE9SVFNE SVJ9L3gxMS10b29sa2l0cy93eGd0azI0DQotIC1DT05GSUdVUkVfQVJHUys9CS0td2l0aC13eC1j b25maWc9JHtYMTFCQVNFfS9iaW4vd3hndGsyLTIuNC1jb25maWcNCi0gLS5lbHNlDQotIC1MSUJf REVQRU5EUys9CXd4X2d0azJfY29yZS0yLjYuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hn dGsyNg0KLSAtQ09ORklHVVJFX0FSR1MrPQktLXdpdGgtd3gtY29uZmlnPSR7WDExQkFTRX0vYmlu L3d4Z3RrMi0yLjYtY29uZmlnDQotIC0uZW5kaWYNCi0gLQ0KIHBvc3QtcGF0Y2g6DQogCUAke1JF SU5QTEFDRV9DTUR9IC1lIFwNCi0gLQkJJ3MvZm9yIHZlcnNpb24gaW4gLio7L2ZvciB2ZXJzaW9u IGluICR7V0lUSF9CREJfVkVSfTsvIDsgXA0KLSAtCQkgcy8tbGRiLSQkdmVyc2lvbi8tbGRiJHtM SUJfU1VGRklYfS8nICR7V1JLU1JDfS9jb25maWd1cmUNCisJCSdzL2ZvciB2ZXJzaW9uIGluIC4q Oy9mb3IgdmVyc2lvbiBpbiAke0JEQl9WRVJ9Oy8gOyBcDQorCQkgcy8tbGRiLSQkdmVyc2lvbi8t bCR7QkRCX0xJQl9OQU1FfS8nICR7V1JLU1JDfS9jb25maWd1cmUNCiAJQCR7UkVJTlBMQUNFX0NN RH0gLWUgXA0KIAkJJy9eU1VCRElSUy9zLyBpbnN0YWxsIC8gLycgJHtXUktTUkN9L01ha2VmaWxl LmluDQogDQpJbmRleDogZWRpdG9ycy9zcGUvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl OiAvaG9tZS9wY3ZzL3BvcnRzL2VkaXRvcnMvc3BlL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS45DQpkaWZmIC11IC1yMS45IE1ha2VmaWxlDQotIC0tLSBlZGl0b3JzL3NwZS9NYWtl ZmlsZQkyNyBKYW4gMjAwNiAwOTozMTo0MyAtMDAwMAkxLjkNCisrKyBlZGl0b3JzL3NwZS9NYWtl ZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMiAtMDAwMA0KQEAgLTE2LDEwICsxNiwxMCBAQA0KIE1B SU5UQUlORVI9CW5pdml0QGVtYWlsLml0DQogQ09NTUVOVD0JU3RhbmkncyBQeXRob24gRWRpdG9y DQogDQotIC1SVU5fREVQRU5EUys9CSR7UFlUSE9OX1NJVEVMSUJESVJ9LyR7V1hfUFlUSE9OX0RJ Un0vd3hQeXRob24vX3d4LnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9weS13eFB5dGhvbjI2 DQotIC0NCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0VfUFlESVNUVVRJTFM9CXllcw0KK1VTRV9XWD0J CTIuNg0KK1dYX0NPTVBTPQlweXRob25fcnVuDQogDQogT1BUSU9OUz0JRU5DUllQVEVEX0RFQlVH ICJFbmFibGUgZW5jcnlwdGVkIGRlYnVnIGluIFNQRSIgb2ZmDQogDQpAQCAtNDYsMTIgKzQ2LDYg QEANCiANCiAuaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPg0KIA0KLSAtLmlmIGRlZmluZWQoV0lU SF9VTklDT0RFKSAmJiAoJHtPU1ZFUlNJT059ID4gNTAwMDAwKQ0KLSAtV1hfUFlUSE9OX0RJUj0J d3gtMi42LWd0azItdW5pY29kZQ0KLSAtLmVsc2UNCi0gLVdYX1BZVEhPTl9ESVI9CXd4LTIuNi1n dGsyLWFuc2kNCi0gLS5lbmRpZg0KLSAtDQogLmlmIGRlZmluZWQoV0lUSF9FTkNSWVBURURfREVC VUcpDQogUlVOX0RFUEVORFMrPQkke1BZVEhPTl9TSVRFTElCRElSfS9DcnlwdG8vX19pbml0X18u cHk6JHtQT1JUU0RJUn0vc2VjdXJpdHkvcHktcHljcnlwdG8NCiAuZW5kaWYNCkluZGV4OiBmdHAv ZnRwY3ViZS9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMv ZnRwL2Z0cGN1YmUvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIyDQpkaWZmIC11 IC1yMS4yMiBNYWtlZmlsZQ0KLSAtLS0gZnRwL2Z0cGN1YmUvTWFrZWZpbGUJNyBNYXkgMjAwNiAx MTowOToxNyAtMDAwMAkxLjIyDQorKysgZnRwL2Z0cGN1YmUvTWFrZWZpbGUJMTMgSnVuIDIwMDYg MjM6MjI6MTIgLTAwMDANCkBAIC0xNiw3ICsxNiw2IEBADQogTUFJTlRBSU5FUj0JcG9ydHNARnJl ZUJTRC5vcmcNCiBDT01NRU5UPQlBIGdyYXBoaWNhbCBGVFAgQ2xpZW50DQogDQotIC1SVU5fREVQ RU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3gvX19pbml0X18ucHk6JHtQT1JUU0RJUn0veDEx LXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCiAuaWYgZGVmaW5lZChQQUNLQUdFX0JVSUxESU5HKQ0K IEJVSUxEX0RFUEVORFMrPQlYdmZiOiR7WF9WRkJTRVJWRVJfUE9SVH0gXA0KIAkJJHtYMTFCQVNF fS9saWIvWDExL2ZvbnRzL21pc2MvOHgxM08ucGNmLmd6OiR7WF9GT05UU19NSVNDX1BPUlR9DQpA QCAtMjQsNiArMjMsOCBAQA0KIA0KIFVTRV9QWVRIT049CXllcw0KIFVTRV9QWURJU1RVVElMUz0J eWVzDQorVVNFX1dYPQkJMi40DQorV1hfQ09NUFM9CXB5dGhvbl9ydW4NCiANCiBwb3N0LXBhdGNo Og0KIAlAJHtSRUlOUExBQ0VfQ01EfSAncywvdXNyL2xvY2FsLCR7UFJFRklYfSwnICR7V1JLU1JD fS9zZXR1cC5jZmcNCkluZGV4OiBnYW1lcy9hYnJpZGdlL01ha2VmaWxlDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9nYW1lcy9hYnJpZGdlL01ha2VmaWxlLHYNCnJldHJp ZXZpbmcgcmV2aXNpb24gMS4xMg0KZGlmZiAtdSAtcjEuMTIgTWFrZWZpbGUNCi0gLS0tIGdhbWVz L2FicmlkZ2UvTWFrZWZpbGUJNSBOb3YgMjAwNSAwNToxOTowNSAtMDAwMAkxLjEyDQorKysgZ2Ft ZXMvYWJyaWRnZS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMiAtMDAwMA0KQEAgLTE0LDEw ICsxNCw5IEBADQogTUFJTlRBSU5FUj0JSmFub3MuTW9oYWNzaUBic2QuaHUNCiBDT01NRU5UPQlC cmlkZ2UgZ2FtZQ0KIA0KLSAtTElCX0RFUEVORFM9CXd4X2d0azItMi40LjA6JHtQT1JUU0RJUn0v eDExLXRvb2xraXRzL3d4Z3RrMjQNCi0gLQ0KK1VTRV9XWD0JCTIuNA0KK1dYX0NPTkZfQVJHUz0J YWJzb2x1dGUNCiBHTlVfQ09ORklHVVJFPQl5ZXMNCi0gLUNPTkZJR1VSRV9BUkdTPQktLXdpdGgt d3gtY29uZmlnPSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQtY29uZmlnDQogDQogTUFOMT0JCWFi cmlkZ2UuMQ0KIFBMSVNUX0ZJTEVTPQliaW4vYWJyaWRnZQ0KSW5kZXg6IGdhbWVzL2Jsb2tpc2gv TWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2dhbWVzL2Js b2tpc2gvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjENCmRpZmYgLXUgLXIxLjEg TWFrZWZpbGUNCi0gLS0tIGdhbWVzL2Jsb2tpc2gvTWFrZWZpbGUJMjQgSmFuIDIwMDYgMDc6NTA6 MTQgLTAwMDAJMS4xDQorKysgZ2FtZXMvYmxva2lzaC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoy MjoxMiAtMDAwMA0KQEAgLTE2LDEyICsxNiwxMSBAQA0KIE1BSU5UQUlORVI9CWFtZG1pM0BtYWls LnJ1DQogQ09NTUVOVD0JQ2xvbmUgb2YgdGhlIHN0cmF0ZWd5IGJvYXJkIGdhbWUgJ0Jsb2t1cycN CiANCi0gLUxJQl9ERVBFTkRTPQl3eF9iYXNlLTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0 cy93eGd0azI2DQotIC0NCiBHTlVfQ09ORklHVVJFPQl5ZXMNCiBVU0VfR01BS0U9CXllcw0KIFVT RV9YX1BSRUZJWD0JeWVzDQogVVNFX0dMPQkJeWVzDQorVVNFX1dYPQkJMi42DQogDQogQ09ORklH VVJFX0VOVj0JTERGTEFHUz0iLUwke0xPQ0FMQkFTRX0vbGliIC1MJHtYMTFCQVNFfS9saWIiIFwN CiAJCUNQUEZMQUdTPSItSSR7TE9DQUxCQVNFfS9pbmNsdWRlIC1JJHtYMTFCQVNFfS9pbmNsdWRl Ig0KQEAgLTM5LDYgKzM4LDYgQEANCiAuZW5kaWYNCiANCiBwb3N0LXBhdGNoOg0KLSAtCUAke1JF SU5QTEFDRV9DTUR9IC1lICdzfHd4LWNvbmZpZ3x3eGd0azItMi42LWNvbmZpZ3wnICR7V1JLU1JD fS9tYWtlZmlsZS5pbiAke1dSS1NSQ30vY29uZmlndXJlDQorCUAke1JFSU5QTEFDRV9DTUR9IC1l ICdzfHd4LWNvbmZpZ3wke1dYX0NPTkZJR318JyAke1dSS1NSQ30vbWFrZWZpbGUuaW4gJHtXUktT UkN9L2NvbmZpZ3VyZQ0KIA0KIC5pbmNsdWRlIDxic2QucG9ydC5wb3N0Lm1rPg0KSW5kZXg6IGdh bWVzL3Njb3JjaGVkM2QvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3Zz L3BvcnRzL2dhbWVzL3Njb3JjaGVkM2QvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjI5DQpkaWZmIC11IC1yMS4yOSBNYWtlZmlsZQ0KLSAtLS0gZ2FtZXMvc2NvcmNoZWQzZC9NYWtl ZmlsZQk4IEp1biAyMDA2IDE2OjA3OjExIC0wMDAwCTEuMjkNCisrKyBnYW1lcy9zY29yY2hlZDNk L01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtMTYsMTIgKzE2LDggQEAN CiBNQUlOVEFJTkVSPQkJZ3V5QGRldmljZS5keW5kbnMub3JnDQogQ09NTUVOVD0JCVNjb3JjaGVk IGlzIGEgZ2FtZSBiYXNlZCBsb29zZWx5IG9uIHRoZSBjbGFzc2ljIERPUyBnYW1lDQogDQotIC1C VUlMRF9ERVBFTkRTPQkJJHtYMTFCQVNFfS9pbmNsdWRlL3d4LTIuNi93eC93eC5oOiR7UE9SVFNE SVJ9L3gxMS10b29sa2l0cy93eGd0azI2LWNvbW1vbiBcDQotIC0JCQl3eGd0azItMi42LWNvbmZp Zzoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNiBcDQotIC0JCQlvcGVuYWwtY29uZmln OiR7UE9SVFNESVJ9L2F1ZGlvL29wZW5hbA0KLSAtUlVOX0RFUEVORFM9CQkke1gxMUJBU0V9L2lu Y2x1ZGUvd3gtMi42L3d4L3d4Lmg6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjYtY29t bW9uIFwNCi0gLQkJCXd4Z3RrMi0yLjYtY29uZmlnOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93 eGd0azI2IFwNCi0gLQkJCW9wZW5hbC1jb25maWc6JHtQT1JUU0RJUn0vYXVkaW8vb3BlbmFsDQor QlVJTERfREVQRU5EUz0JCW9wZW5hbC1jb25maWc6JHtQT1JUU0RJUn0vYXVkaW8vb3BlbmFsDQor UlVOX0RFUEVORFM9CQlvcGVuYWwtY29uZmlnOiR7UE9SVFNESVJ9L2F1ZGlvL29wZW5hbA0KIExJ Ql9ERVBFTkRTPQkJYWx1dC4xOiR7UE9SVFNESVJ9L2F1ZGlvL2ZyZWVhbHV0DQogDQogU0NPUkNI X1ZFUlNJT049CQkzOS4xDQpAQCAtMzQsMTMgKzMwLDE0IEBADQogVVNFX0dMPQkJCXllcw0KIFVT RV9HTUFLRT0JCXllcw0KIFVTRV9BVVRPVE9PTFM9CWF1dG9tYWtlOjE1IGF1dG9jb25mOjI1Mw0K K1VTRV9XWD0JCTIuNg0KK1dYX0NPTkZfQVJHUz0JYWJzb2x1dGUNCiANCiBXUktTUkM9CQkJJHtX UktESVJ9L3Njb3JjaGVkDQogQVVUT01BS0VfQVJHUz0JCS0tZm9yZWlnbg0KIENPTkZJR1VSRV9B UkdTPQkJLS1wcm9ncmFtLXByZWZpeD0nJyBcDQogCQkJLS1wcmVmaXg9JHtQUkVGSVh9L2dhbWVz L3Njb3JjaGVkM2QgXA0KLSAtCQkJLS1kYXRhZGlyPSR7UFJFRklYfS9nYW1lcy9zY29yY2hlZDNk IFwNCi0gLQkJCS0td2l0aC13eC1jb25maWc9JHtYMTFCQVNFfS9iaW4vd3hndGsyLTIuNi1jb25m aWcNCisJCQktLWRhdGFkaXI9JHtQUkVGSVh9L2dhbWVzL3Njb3JjaGVkM2QNCiAuaWYgZGVmaW5l ZChXSVRIX01ZU1FMKQ0KIENPTkZJR1VSRV9BUkdTKz0JLS13aXRoLW15c3FsDQogLmVuZGlmDQpJ bmRleDogZ3JhcGhpY3MvY29taWNhbC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9o b21lL3BjdnMvcG9ydHMvZ3JhcGhpY3MvY29taWNhbC9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMw0KZGlmZiAtdSAtcjEuMyBNYWtlZmlsZQ0KLSAtLS0gZ3JhcGhpY3MvY29taWNh bC9NYWtlZmlsZQk1IE5vdiAyMDA1IDA1OjIwOjQ4IC0wMDAwCTEuMw0KKysrIGdyYXBoaWNzL2Nv bWljYWwvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0xNSwxMiArMTUs MTEgQEANCiBNQUlOVEFJTkVSPQlqb2huQG1jYXJlZS5vcmcNCiBDT01NRU5UPQlBIHNlcXVlbnRp YWwgaW1hZ2Ugdmlld2VyDQogDQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMi0yLjQuMDoke1BPUlRT RElSfS94MTEtdG9vbGtpdHMvd3hndGsyNA0KLSAtDQogVVNFX0dNQUtFPQl5ZXMNCitVU0VfV1g9 CQkyLjQNCitXWF9DT05GX0FSR1M9CWFic29sdXRlDQogR05VX0NPTkZJR1VSRT0JeWVzDQogVVNF X1hfUFJFRklYPQl5ZXMNCi0gLUNPTkZJR1VSRV9BUkdTPQktLXdpdGgtd3gtY29uZmlnPSR7WDEx QkFTRX0vYmluL3d4Z3RrMi0yLjQtY29uZmlnDQogDQogLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5t az4NCiANCkluZGV4OiBncmFwaGljcy9odWdpbi9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvZ3JhcGhpY3MvaHVnaW4vTWFrZWZpbGUsdg0KcmV0cmlldmlu ZyByZXZpc2lvbiAxLjEzDQpkaWZmIC11IC1yMS4xMyBNYWtlZmlsZQ0KLSAtLS0gZ3JhcGhpY3Mv aHVnaW4vTWFrZWZpbGUJMzAgSmFuIDIwMDYgMTQ6NDA6NTggLTAwMDAJMS4xMw0KKysrIGdyYXBo aWNzL2h1Z2luL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtMjAsMjEg KzIwLDIwIEBADQogCQlwbmc6JHtQT1JUU0RJUn0vZ3JhcGhpY3MvcG5nIFwNCiAJCWpwZWc6JHtQ T1JUU0RJUn0vZ3JhcGhpY3MvanBlZyBcDQogCQlmZnR3OiR7UE9SVFNESVJ9L21hdGgvZmZ0dyBc DQotIC0JCXd4X2d0azJfeHJjLTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI2 IFwNCiAJCWJvb3N0X2RhdGVfdGltZToke1BPUlRTRElSfS9kZXZlbC9ib29zdA0KIFJVTl9ERVBF TkRTPQlQVE9wdGltaXplcjoke1BPUlRTRElSfS9ncmFwaGljcy9saWJwYW5vMTIgXA0KIAkJUFRT dGl0Y2hlcjoke1BPUlRTRElSfS9ncmFwaGljcy9saW51eC1wYW5vcmFtYS10b29scw0KIA0KIEdO VV9DT05GSUdVUkU9CXllcw0KIENPTkZJR1VSRV9UQVJHRVQ9LS1idWlsZD0ke01BQ0hJTkVfQVJD SH0tcG9ydGJsZC1mcmVlYnNkJHtPU1JFTH0NCi0gLUNPTkZJR1VSRV9BUkdTPQktLXdpdGgtd3gt Y29uZmlnPSR7V1hfQ09ORklHfQ0KIENPTkZJR1VSRV9FTlY9CUNQUEZMQUdTPSItSSR7TE9DQUxC QVNFfS9pbmNsdWRlIC1mdGVtcGxhdGUtZGVwdGgtNjQiIFwNCiAJCUxERkxBR1M9Ii1MJHtMT0NB TEJBU0V9L2xpYiINCiBVU0VfR01BS0U9CXllcw0KIFVTRV9JQ09OVj0JeWVzDQorVVNFX1dYPQkJ Mi42DQorV1hfQ09ORl9BUkdTPQlhYnNvbHV0ZQ0KIA0KIERPQ1NESVI9CSR7UFJFRklYfS9zaGFy ZS9odWdpbi94cmMvZGF0YQ0KLSAtV1hfQ09ORklHPQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi42 LWNvbmZpZw0KIA0KIC5pZiBkZWZpbmVkKFdJVEhPVVRfTkxTKQ0KIENPTkZJR1VSRV9BUkdTKz0t LWRpc2FibGUtbmxzDQpAQCAtNDUsNyArNDQsNyBAQA0KIC5lbmRpZg0KIA0KIHBvc3QtcGF0Y2g6 DQotIC0JQCR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8LXd4cmN8LSR7WDExQkFTRX0vYmluL3d4cmMt Z3RrMi0yLjZ8JyBcDQorCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzfC13eHJjfC0ke1dYX0NPTkZJ RzpTL3d4L3d4cmMvfXwnIFwNCiAJCSR7V1JLU1JDfS9zcmMvaHVnaW4veHJjL01ha2VmaWxlLmlu DQogDQogLmluY2x1ZGUgPGJzZC5wb3J0Lm1rPg0KSW5kZXg6IGdyYXBoaWNzL211bHRpdmlkZW8v TWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2dyYXBoaWNz L211bHRpdmlkZW8vTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE5DQpkaWZmIC11 IC1yMS4xOSBNYWtlZmlsZQ0KLSAtLS0gZ3JhcGhpY3MvbXVsdGl2aWRlby9NYWtlZmlsZQk3IE1h eSAyMDA2IDIzOjQ2OjE4IC0wMDAwCTEuMTkNCisrKyBncmFwaGljcy9tdWx0aXZpZGVvL01ha2Vm aWxlCTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtMTYsMTkgKzE2LDE2IEBADQogTUFJ TlRBSU5FUj0JcG9ydHNARnJlZUJTRC5vcmcNCiBDT01NRU5UPQlBbiBpbWFnZSBzZXF1ZW5jZSB2 aWV3ZXINCiANCi0gLUxJQl9ERVBFTkRTPQl3eF9ndGsyLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10 b29sa2l0cy93eGd0azI0DQotIC0NCiBXUktTUkM9CQkke1dSS0RJUn0vJHtQT1JUTkFNRX0NCiAN CiBVU0VfQlpJUDI9CXllcw0KIFVTRV9HTUFLRT0JeWVzDQorVVNFX1dYPQkJMi40DQogTUFLRV9F TlY9CUNYWD0iJHtDWFh9IiBDWFhGTEFHUz0iJHtDWFhGTEFHU30iDQogQUxMX1RBUkdFVD0JZGVm YXVsdA0KIA0KIFBMSVNUX0ZJTEVTPQliaW4vbXVsdGl2aWRlbw0KIA0KLSAtV1hfQ09ORklHPQkk e1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZpZw0KLSAtDQogcG9zdC1wYXRjaDoNCiAJQCR7 UkVJTlBMQUNFX0NNRH0gLWUgJ3N8ZysrfFwkJFwoQ1hYKXxnIDsgXA0KIAkJIHN8LU8yIC1nIC1X YWxsIC1XfFwkJFwoQ1hYRkxBR1NcKXxnIDsgXA0KSW5kZXg6IGdyYXBoaWNzL3d4c3ZnL01ha2Vm aWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9ncmFwaGljcy93eHN2 Zy9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNg0KZGlmZiAtdSAtcjEuNiBNYWtl ZmlsZQ0KLSAtLS0gZ3JhcGhpY3Mvd3hzdmcvTWFrZWZpbGUJMTIgQXByIDIwMDYgMTc6NDg6MTEg LTAwMDAJMS42DQorKysgZ3JhcGhpY3Mvd3hzdmcvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6 MTMgLTAwMDANCkBAIC0xNCwxMyArMTQsMTAgQEANCiBNQUlOVEFJTkVSPQlhaHplQEZyZWVCU0Qu b3JnDQogQ09NTUVOVD0JQysrIGxpYnJhcnkgdG8gY3JlYXRlLCBtYW5pcHVsYXRlLCBhbmQgcmVu ZGVyIFNWRyBmaWxlcw0KIA0KLSAtQlVJTERfREVQRU5EUz0JJHtXWF9DT05GSUd9OiR7UE9SVFNE SVJ9L3gxMS10b29sa2l0cy93eGd0azI2DQotIC1SVU5fREVQRU5EUz0JJHtXWF9DT05GSUd9OiR7 UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI2DQotIC0NCiBJTlNUQUxMU19TSExJQj0JeWVz DQotIC1XWF9DT05GSUc9CXd4Z3RrMi0yLjYtY29uZmlnDQogVVNFX0FVVE9UT09MUz0JbGlidG9v bDoxNQ0KIFVTRV9HTk9NRT0JbGliYXJ0bGdwbDINCitVU0VfV1g9CQkyLjYNCiANCiAuaW5jbHVk ZSA8YnNkLnBvcnQucHJlLm1rPg0KIA0KSW5kZXg6IGdyYXBoaWNzL3hhcmFseC9NYWtlZmlsZQ0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvZ3JhcGhpY3MveGFyYWx4L01h a2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOA0KZGlmZiAtdSAtcjEuMTggTWFrZWZp bGUNCi0gLS0tIGdyYXBoaWNzL3hhcmFseC9NYWtlZmlsZQkxMSBKdW4gMjAwNiAxMTo1NTowNiAt MDAwMAkxLjE4DQorKysgZ3JhcGhpY3MveGFyYWx4L01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIy OjEzIC0wMDAwDQpAQCAtMTgsMjEgKzE4LDE2IEBADQogVVNFX0JaSVAyPQl5ZXMNCiBVU0VfWF9Q UkVGSVg9CXllcw0KIA0KLSAtI1dYREVQPQkke1gxMUJBU0V9L2xpYnd4X2Jhc2V1LTIuNi5zby4w LjMuMQ0KLSAtV1hERVA9CXd4Z3RrMi11bmljb2RlPj0yLjYuMw0KIEJVSUxEX0RFUEVORFMrPQlw a2ctY29uZmlnOiR7UE9SVFNESVJ9L2RldmVsL3BrZy1jb25maWcgXA0KLSAtCQkke1dYREVQfTok e1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNi11bmljb2RlIFwNCiAJCXhtbDItY29uZmln OiR7UE9SVFNESVJ9L3RleHRwcm9jL2xpYnhtbDIgXA0KIAkJemlwOiR7UE9SVFNESVJ9L2FyY2hp dmVycy96aXANCi0gLVJVTl9ERVBFTkRTKz0JJHtXWERFUH06JHtQT1JUU0RJUn0veDExLXRvb2xr aXRzL3d4Z3RrMjYtdW5pY29kZQ0KIExJQl9ERVBFTkRTKz0JZGxtYWxsb2MuMjoke1BPUlRTRElS fS9kZXZlbC9saWJkbG1hbGxvYyBcDQogCQl4bWwyLjU6JHtQT1JUU0RJUn0vdGV4dHByb2MvbGli eG1sMg0KIA0KIFVTRV9BVVRPVE9PTFM9CWF1dG9jb25mOjI1OTplbnYgYWNsb2NhbDoxOTplbnYg YXV0b21ha2U6MTk6ZW52IGxpYnRvb2w6MTU6ZW52DQogR05VX0NPTkZJR1VSRT0JeWVzDQogQ09O RklHVVJFX1RBUkdFVD0JLS1idWlsZD0ke01BQ0hJTkVfQVJDSH0tcG9ydGJsZC1mcmVlYnNkJHtP U1JFTH0NCi0gLUNPTkZJR1VSRV9BUkdTKz0JLS13aXRoLXd4LWNvbmZpZz13eGd0azJ1LTIuNi1j b25maWcgXA0KLSAtCQktLXByb2dyYW0tc3VmZml4PSR7UEtHTkFNRVNVRkZJWH0NCitDT05GSUdV UkVfQVJHUys9CS0tcHJvZ3JhbS1zdWZmaXg9JHtQS0dOQU1FU1VGRklYfQ0KIENPTkZJR1VSRV9F TlYrPQlDUFBGTEFHU19BUFBFTkQ9Ii1JJHtMT0NBTEJBU0V9L2luY2x1ZGUvYXRrLTEuMC9hdGsg XA0KIAkJLUkke1gxMUJBU0V9L2luY2x1ZGUvZ3RrLTIuMC9ndGsiDQogIyB3ZSdyZSB1c2luZyBk bG1hbGxvYyBiZWNhdXNlIHRoZSBzdG9jayBsaWJjIGRvZXMgbm90IGhhdmUgbWFsbG9jX3VzYWJs ZV9zaXplKCkNCkBAIC00Myw2ICszOCw5IEBADQogTUFLRV9FTlY/PQlJTkNMVURFUz0iLUkuLi93 eE9pbCAtSS0gLUkke0xPQ0FMQkFTRX0vaW5jbHVkZS9kbG1hbGxvYyINCiANCiBVU0VfR0NDPQkz LjQrDQorVVNFX1dYPQkJMi42DQorV1hfQ09ORl9BUkdTPQlhYnNvbHV0ZQ0KK1dYX1VOSUNPREU9 CXllcw0KIA0KIE1BTjE9CXhhcmFseCR7UEtHTkFNRVNVRkZJWH0uMQ0KIA0KSW5kZXg6IGdyYXBo aWNzL3pwaG90by9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9y dHMvZ3JhcGhpY3MvenBob3RvL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMg0K ZGlmZiAtdSAtcjEuMjIgTWFrZWZpbGUNCi0gLS0tIGdyYXBoaWNzL3pwaG90by9NYWtlZmlsZQk3 IE1heSAyMDA2IDIzOjQ2OjMzIC0wMDAwCTEuMjINCisrKyBncmFwaGljcy96cGhvdG8vTWFrZWZp bGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0yMSw5ICsyMSw2IEBADQogLmlmICFk ZWZpbmVkIChXSVRIT1VUX0FWSVBMQVkpDQogTElCX0RFUEVORFMrPQlhdmlwbGF5LjA6JHtQT1JU U0RJUn0vbXVsdGltZWRpYS9hdmlmaWxlDQogLmVuZGlmDQotIC0uaWYgZGVmaW5lZCAoV0lUSF9X WEdUSzIpDQotIC1MSUJfREVQRU5EUys9CXd4X2d0azItMi40LjA6JHtQT1JUU0RJUn0veDExLXRv b2xraXRzL3d4Z3RrMjQNCi0gLS5lbmRpZg0KIC5pZiAhZGVmaW5lZCAoV0lUSE9VVF9aSVApDQog UlVOX0RFUEVORFM9CXppcDoke1BPUlRTRElSfS9hcmNoaXZlcnMvemlwDQogLmVuZGlmDQpAQCAt MzIsOCArMjksOSBAQA0KIENPTkZJR1VSRV9FTlY9CUxJQlM9Ii1MJHtMT0NBTEJBU0V9L2xpYiAk e1BUSFJFQURfTElCU30iIFwNCiAJICAgICAgIAlDUFBGTEFHUz0iLUkke0xPQ0FMQkFTRX0vaW5j bHVkZSBcDQogCQkke1BUSFJFQURfQ0ZMQUdTfSINCi0gLS5pZiBkZWZpbmVkIChXSVRIX1dYR1RL MikNCi0gLUNPTkZJR1VSRV9BUkdTKz0JLS13aXRoLXd4LWNvbmZpZz13eGd0azItMi40LWNvbmZp Zw0KKy5pZiBkZWZpbmVkIChXSVRIX1dYKQ0KK1VTRV9XWD0JCTIuNA0KK1dYX0NPTkZfQVJHUz0J YWJzb2x1dGUNCiBQTElTVF9GSUxFUys9CWJpbi93eHpwaG90bw0KIC5lbHNlDQogQ09ORklHVVJF X0FSR1MrPQktLWRpc2FibGUtd3gNCkluZGV4OiBtYWlsL21haG9nYW55L01ha2VmaWxlDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9tYWlsL21haG9nYW55L01ha2VmaWxl LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOA0KZGlmZiAtdSAtcjEuMjggTWFrZWZpbGUNCi0g LS0tIG1haWwvbWFob2dhbnkvTWFrZWZpbGUJMTAgTWF5IDIwMDYgMjI6MzY6NTMgLTAwMDAJMS4y OA0KKysrIG1haWwvbWFob2dhbnkvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDAN CkBAIC0xNSw5ICsxNSw5IEBADQogTUFJTlRBSU5FUj0JCXBvcnRzQEZyZWVCU0Qub3JnDQogQ09N TUVOVD0JCUFuIFgxMSBtYWlsIGFuZCBuZXdzIGNsaWVudA0KIA0KLSAtTElCX0RFUEVORFMrPQkJ d3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNA0KLSAtDQogVVNF X1hfUFJFRklYPQkJeWVzDQorVVNFX1dYPQkJMi40DQorV1hfQ09ORl9BUkdTPQlhYnNvbHV0ZQ0K IEdOVV9DT05GSUdVUkU9CQl5ZXMNCiBVU0VfR01BS0U9CQl5ZXMNCiBBTExfVEFSR0VUPQkJYWxs IGxvY2FsZXMNCkBAIC0yNSw4ICsyNSw3IEBADQogDQogTUFOMT0JCQlNLjEgbWFob2dhbnkuMQ0K IA0KLSAtQ09ORklHVVJFX0FSR1M9CQktLXdpdGgtcHl0aG9uPW5vbmUgXA0KLSAtCQkJLS13aXRo LXd4LWNvbmZpZz0ke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZpZw0KK0NPTkZJR1VSRV9B UkdTPQkJLS13aXRoLXB5dGhvbj1ub25lDQogQ09ORklHVVJFX0VOVj0JCU9TVFlQRT0ke09QU1lT fSBDRkxBR1M9IiR7Q0ZMQUdTfSINCiANCiAuaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPg0KSW5k ZXg6IG1hdGgvZml0eWsvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3Zz L3BvcnRzL21hdGgvZml0eWsvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEzDQpk aWZmIC11IC1yMS4xMyBNYWtlZmlsZQ0KLSAtLS0gbWF0aC9maXR5ay9NYWtlZmlsZQkxMiBKdW4g MjAwNiAwMTo0MToxMSAtMDAwMAkxLjEzDQorKysgbWF0aC9maXR5ay9NYWtlZmlsZQkxMyBKdW4g MjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTE2LDE2ICsxNiwxNiBAQA0KIENPTU1FTlQ9CUZyZWUg cGVhayBmaXR0aW5nIHNvZnR3YXJlDQogDQogQlVJTERfREVQRU5EUz0JZ251cGxvdDoke1BPUlRT RElSfS9tYXRoL2dudXBsb3QNCi0gLUxJQl9ERVBFTkRTPQlib29zdF90aHJlYWQuMzoke1BPUlRT RElSfS9kZXZlbC9ib29zdCBcDQotIC0JCXd4X2d0azJfY29yZS0yLjYuMDoke1BPUlRTRElSfS94 MTEtdG9vbGtpdHMvd3hndGsyNg0KK0xJQl9ERVBFTkRTPQlib29zdF90aHJlYWQuMzoke1BPUlRT RElSfS9kZXZlbC9ib29zdA0KIFJVTl9ERVBFTkRTPQlnbnVwbG90OiR7UE9SVFNESVJ9L21hdGgv Z251cGxvdA0KIA0KIFVTRV9CWklQMj0JeWVzDQogVVNFX0dOT01FPQlnbm9tZXRhcmdldCBndGsy MA0KIFVTRV9HTUFLRT0JeWVzDQorVVNFX1dYPQkJMi42DQorV1hfQ09ORl9BUkdTPQlhYnNvbHV0 ZQ0KIEdOVV9DT05GSUdVUkU9CXllcw0KIENPTkZJR1VSRV9FTlY9CUNQUEZMQUdTPSIke0NQUEZM QUdTfSIgTERGTEFHUz0iJHtMREZMQUdTfSINCi0gLUNPTkZJR1VSRV9BUkdTKz0JLS13aXRoLXd4 LWNvbmZpZz13eGd0azItMi42LWNvbmZpZw0KIA0KIE1BTjE9CQlmaXR5ay4xDQogUExJU1RfRklM RVM9CWJpbi9jZml0eWsgXA0KSW5kZXg6IG1hdGgvZ2FtYml0L01ha2VmaWxlDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9tYXRoL2dhbWJpdC9NYWtlZmlsZSx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMTcNCmRpZmYgLXUgLXIxLjE3IE1ha2VmaWxlDQotIC0tLSBtYXRo L2dhbWJpdC9NYWtlZmlsZQkyMyBBcHIgMjAwNiAxNjo0OTozNSAtMDAwMAkxLjE3DQorKysgbWF0 aC9nYW1iaXQvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0xNSwxNCAr MTUsMTEgQEANCiBNQUlOVEFJTkVSPQlwb3J0c0BGcmVlQlNELm9yZw0KIENPTU1FTlQ9CUEgbGli cmFyeSBvZiB0b29scyBmb3IgZG9pbmcgY29tcHV0YXRpb24gaW4gZ2FtZSB0aGVvcnkNCiANCi0g LUxJQl9ERVBFTkRTPQl3eF9ndGsyX2NvcmUtMi42LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRz L3d4Z3RrMjYNCi0gLQ0KIFVTRV9YX1BSRUZJWD0JeWVzDQorVVNFX1dYPQkJMi42DQogVVNFX0dO T01FPQlnbm9tZXRhcmdldCBndGsyMA0KIEdOVV9DT05GSUdVUkU9CXllcw0KLSAtQ09ORklHVVJF X0VOVj0JQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IiBMREZMQUdTPSIke0xERkxBR1N9IiBcDQotIC0J CVdYX0NPTkZJRz0iJHtYMTFCQVNFfS9iaW4vd3hndGsyLTIuNi1jb25maWciDQotIC1NQUtFX0VO Vj0JV1hfQ09ORklHPSIke1gxMUJBU0V9L2Jpbi93eGd0azItMi42LWNvbmZpZyINCitDT05GSUdV UkVfRU5WPQlDUFBGTEFHUz0iJHtDUFBGTEFHU30iIExERkxBR1M9IiR7TERGTEFHU30iDQogSU5T VEFMTFNfU0hMSUI9CXllcw0KIA0KIENQUEZMQUdTPQkke1BUSFJFQURfQ0ZMQUdTfQ0KSW5kZXg6 IG1hdGgvZ3JhcGh0aGluZy9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3Bj dnMvcG9ydHMvbWF0aC9ncmFwaHRoaW5nL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS4yNg0KZGlmZiAtdSAtcjEuMjYgTWFrZWZpbGUNCi0gLS0tIG1hdGgvZ3JhcGh0aGluZy9NYWtl ZmlsZQkxMCBNYXkgMjAwNiAyMjozNzowOCAtMDAwMAkxLjI2DQorKysgbWF0aC9ncmFwaHRoaW5n L01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtMTQsMTUgKzE0LDE0IEBA DQogTUFJTlRBSU5FUj0JYXJ2ZWRARnJlZUJTRC5vcmcNCiBDT01NRU5UPQlBIHRvb2wgdGhhdCBh bGxvd3MgeW91IHRvIGNyZWF0ZSwgbWFuaXB1bGF0ZSBhbmQgc3R1ZHkgZ3JhcGhzDQogDQotIC1M SUJfREVQRU5EUz0Jd3hfZ3RrMl9jb3JlLTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93 eGd0azI2DQotIC0NCiBVU0VfQlpJUDI9CXllcw0KIFVTRV9HTk9NRT0JZ25vbWV0YXJnZXQgZ3Rr MjANCiBVU0VfQklTT049CXllcw0KIFVTRV9HTUFLRT0JeWVzDQorVVNFX1dYPQkJMi42DQorV1hf Q09ORl9BUkdTPQlhYnNvbHV0ZQ0KIEdOVV9DT05GSUdVUkU9CXllcw0KIENPTkZJR1VSRV9FTlY9 CUNQUEZMQUdTPSIke0NQUEZMQUdTfSIgTERGTEFHUz0iJHtMREZMQUdTfSINCi0gLUNPTkZJR1VS RV9BUkdTPQktLXdpdGgtd3gtY29uZmlnPSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjYtY29uZmln DQogTUFLRUZJTEU9CUdOVW1ha2VmaWxlDQogDQogUExJU1RfRklMRVM9CWJpbi9ncmFwaHRoaW5n IGJpbi9ndA0KSW5kZXg6IG1hdGgvd3hNYXhpbWEvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvaG9tZS9wY3ZzL3BvcnRzL21hdGgvd3hNYXhpbWEvTWFrZWZpbGUsdg0KcmV0cmlldmlu ZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUgLXIxLjUgTWFrZWZpbGUNCi0gLS0tIG1hdGgvd3hNYXhp bWEvTWFrZWZpbGUJMjggQXByIDIwMDYgMDM6MTk6MTIgLTAwMDAJMS41DQorKysgbWF0aC93eE1h eGltYS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTE0LDE1ICsxNCwx NCBAQA0KIE1BSU5UQUlORVI9CW5pdml0QGVtYWlsLml0DQogQ09NTUVOVD0JQSB3eFdpZGdldHMg R1VJIGZvciB0aGUgY29tcHV0ZXIgYWxnZWJyYSBzeXN0ZW0gbWF4aW1hDQogDQotIC1MSUJfREVQ RU5EUz0Jd3hfYmFzZXUtMi42OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI2LXVuaWNv ZGUNCiBSVU5fREVQRU5EUz0JbWF4aW1hOiR7UE9SVFNESVJ9L21hdGgvbWF4aW1hDQogDQogVVNF X0dFVFRFWFQ9CXllcw0KIFVTRV9HTk9NRT0JbGlieG1sMg0KLSAtV1hHVEtfQ09ORklHPz0JJHtY MTFCQVNFfS9iaW4vd3hndGsydS0yLjYtY29uZmlnDQorVVNFX1dYPQkJMi42DQorV1hfQ09ORl9B UkdTPQlhYnNvbHV0ZQ0KIEdOVV9DT05GSUdVUkU9CXllcw0KLSAtQ09ORklHVVJFX0FSR1M9CS0t d2l0aC13eC1jb25maWc9JHtXWEdUS19DT05GSUd9IFwNCi0gLQkJLS1wcm9ncmFtLXByZWZpeD0N CitDT05GSUdVUkVfQVJHUz0JLS1wcm9ncmFtLXByZWZpeD0NCiANCiBwb3N0LWluc3RhbGw6DQog CUAke0NBVH0gJHtQS0dNRVNTQUdFfQ0KSW5kZXg6IG1pc2MvZGlhcnktaGVyY3VsZXMvTWFrZWZp bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL21pc2MvZGlhcnktaGVy Y3VsZXMvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjINCmRpZmYgLXUgLXIxLjIg TWFrZWZpbGUNCi0gLS0tIG1pc2MvZGlhcnktaGVyY3VsZXMvTWFrZWZpbGUJMTggTWF5IDIwMDYg MTk6MTM6MTEgLTAwMDAJMS4yDQorKysgbWlzYy9kaWFyeS1oZXJjdWxlcy9NYWtlZmlsZQkxMyBK dW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTE1LDExICsxNSwxMiBAQA0KIE1BSU5UQUlORVI9 CWluZm9mYXJtZXJARnJlZUJTRC5vcmcNCiBDT01NRU5UPQlBIHBlcnNvbmFsIHdvcmtvdXQgZGlh cnkgcHJvZ3JhbSBmb3IgYm9keWJ1aWxkZXJzDQogDQotIC1SVU5fREVQRU5EUz0JJHtQWVRIT05f U0lURUxJQkRJUn0vd3gtMi42LWd0azItdW5pY29kZS93eC9fX2luaXRfXy5weToke1BPUlRTRElS fS94MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNi11bmljb2RlIFwNCi0gLQkJJHtQWVRIT05fU0lU RUxJQkRJUn0vc3FsaXRlL19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L2RhdGFiYXNlcy9weS1QeVNR TGl0ZTExDQorUlVOX0RFUEVORFM9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3NxbGl0ZS9fX2luaXRf Xy5weToke1BPUlRTRElSfS9kYXRhYmFzZXMvcHktUHlTUUxpdGUxMQ0KIA0KIFVTRV9HRVRURVhU PQl5ZXMNCiBVU0VfUFlUSE9OPQkyLjMrDQogVVNFX1BZRElTVFVUSUxTPQl5ZXMNCitVU0VfV1g9 CQkyLjYNCitXWF9DT01QUz0JcHl0aG9uX3J1bg0KIA0KIC5pbmNsdWRlIDxic2QucG9ydC5taz4N CkluZGV4OiBtaXNjL2RvY3VtYW5jZXIvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAv aG9tZS9wY3ZzL3BvcnRzL21pc2MvZG9jdW1hbmNlci9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMTINCmRpZmYgLXUgLXIxLjEyIE1ha2VmaWxlDQotIC0tLSBtaXNjL2RvY3VtYW5j ZXIvTWFrZWZpbGUJMTIgSmFuIDIwMDYgMTI6NTQ6MjQgLTAwMDAJMS4xMg0KKysrIG1pc2MvZG9j dW1hbmNlci9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTE4LDEyICsx OCwxMiBAQA0KIA0KIEJVSUxEX0RFUEVORFM9CXdnZXQ6JHtQT1JUU0RJUn0vZnRwL3dnZXQgXA0K IAkJc3dpc2gtZToke1BPUlRTRElSfS93d3cvc3dpc2gtZQ0KLSAtTElCX0RFUEVORFM9CXd4bW96 aWxsYV9ndGsyLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eG1vemlsbGENCi0gLVJV Tl9ERVBFTkRTPQkke0JVSUxEX0RFUEVORFN9IFwNCi0gLQkJJHtQWVRIT05fU0lURUxJQkRJUn0v d3hQeXRob24vX19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9u MjQNCitSVU5fREVQRU5EUz0JJHtCVUlMRF9ERVBFTkRTfQ0KIA0KIFVTRV9QWVRIT049CTIuNA0K IFVTRV9QRVJMNT0JeWVzDQorVVNFX1dYPQkJMi40DQorV1hfQ09NUFM9CW1vemlsbGEgcHl0aG9u X3J1bg0KIEdOVV9DT05GSUdVUkU9CXllcw0KIENPTkZJR1VSRV9BUkdTPQktLWxpYmRpcj0ke1BS RUZJWH0vc2hhcmUNCiANCkluZGV4OiBtdWx0aW1lZGlhL21rdnRvb2xuaXgvTWFrZWZpbGUNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL211bHRpbWVkaWEvbWt2dG9vbG5p eC9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjkNCmRpZmYgLXUgLXIxLjI5IE1h a2VmaWxlDQotIC0tLSBtdWx0aW1lZGlhL21rdnRvb2xuaXgvTWFrZWZpbGUJMTAgTWF5IDIwMDYg MjI6Mzc6MzMgLTAwMDAJMS4yOQ0KKysrIG11bHRpbWVkaWEvbWt2dG9vbG5peC9NYWtlZmlsZQkx MyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTYyLDEzICs2MiwxMCBAQA0KIFBMSVNUX0ZJ TEVTKz0JJSVEQVRBRElSJSUvaW1hZ2VzLyR7ZmlsZX0NCiAuZW5kZm9yDQogDQotIC1XWEdUS19D T05GSUc9CXd4Z3RrMnUtMi42LWNvbmZpZw0KLSAtDQogLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5t az4NCiANCi0gLS5pZm5kZWYoV0lUSE9VVF9XWEdUSykNCi0gLUxJQl9ERVBFTkRTKz0Jd3hfZ3Rr MnVfY29yZS0yLjYuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNi11bmljb2RlDQot IC0NCisuaWZuZGVmKFdJVEhPVVRfV1gpDQorVVNFX1dYPQkJMi42DQogTUFOMSs9CQltbWcuMQ0K IFBMSVNUX0ZJTEVTKz0JYmluL21tZw0KIC5lbmRpZg0KQEAgLTc3LDE2ICs3NCwxMSBAQA0KIEJS T0tFTj0JCSJEb2VzIG5vdCBjb21waWxlIG9uIHNwYXJjNjQiDQogLmVuZGlmDQogDQotIC0uaWYg JHtPU1ZFUlNJT059IDwgNTAwMDAwDQotIC1CUk9LRU49CQkiRG9lcyBub3QgY29tcGlsZSBvbiBG cmVlQlNEIDQueCINCi0gLUNGTEFHUys9IC1ETk9fV1NUUklORw0KLSAtLmVuZGlmDQotIC0NCiBw cmUtZXZlcnl0aGluZzo6DQotIC0uaWZuZGVmKFdJVEhPVVRfV1hHVEspDQorLmlmbmRlZihXSVRI T1VUX1dYKQ0KIAlAJHtFQ0hPX01TR30gIj09PT4iDQotIC0JQCR7RUNIT19NU0d9ICI9PT0+IFlv dSBjYW4gZGlzYWJsZSB3eEdUSzIgc3VwcG9ydCBieSBkZWZpbmluZyINCi0gLQlAJHtFQ0hPX01T R30gIj09PT4gIFdJVEhPVVRfV1hHVEsiDQorCUAke0VDSE9fTVNHfSAiPT09PiBZb3UgY2FuIGRp c2FibGUgd3hXaWRnZXRzIHN1cHBvcnQgYnkgZGVmaW5pbmciDQorCUAke0VDSE9fTVNHfSAiPT09 PiAgV0lUSE9VVF9XWCINCiAJQCR7RUNIT19NU0d9ICI9PT0+Ig0KIC5lbmRpZg0KIA0KQEAgLTk1 LDcgKzg3LDcgQEANCiAJQCR7RklORH0gJHtXUktTUkN9IC10eXBlIGYgLW5hbWUgIk1ha2VmaWxl LmluIiB8ICR7WEFSR1N9IFwNCiAJCS1uIDEwICR7UkVJTlBMQUNFX0NNRH0gLUUgLWUgXA0KIAkJ J3MhXihBQ0xPQ0FMfEFVVE9DT05GfEFVVE9NQUtFfEFVVE9IRUFERVIpLiskJCFcMT0ke1RSVUV9 IScNCi0gLQlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3x3eC1jb25maWd8JHtXWEdUS19DT05GSUd9 fCcgXA0KKwlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3x3eC1jb25maWd8JHtXWF9DT05GSUd9fCcg XA0KIAkJJHtXUktTUkN9L2NvbmZpZ3VyZQ0KIAlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3xtYWxs b2MuaHxzdGRsaWIuaHwnIFwNCiAJCSR7V1JLU1JDfS9zcmMvY29tbW9uL29zLmNwcA0KSW5kZXg6 IG11bHRpbWVkaWEvdG92aWQvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9w Y3ZzL3BvcnRzL211bHRpbWVkaWEvdG92aWQvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjEwDQpkaWZmIC11IC1yMS4xMCBNYWtlZmlsZQ0KLSAtLS0gbXVsdGltZWRpYS90b3ZpZC9N YWtlZmlsZQkxMCBNYXkgMjAwNiAyMjozNzozNyAtMDAwMAkxLjEwDQorKysgbXVsdGltZWRpYS90 b3ZpZC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTM3LDExICszNywx MiBAQA0KIAkJZ3Jvd2lzb2ZzOiR7UE9SVFNESVJ9L3N5c3V0aWxzL2R2ZCtydy10b29scw0KIFJV Tl9ERVBFTkRTPQlcDQogCQkke0JVSUxEX0RFUEVORFN9IFwNCi0gLQkJYmFzaDoke1BPUlRTRElS fS9zaGVsbHMvYmFzaCBcDQotIC0JCSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4LTIuNi1ndGsyLWFu c2kvd3gvX19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYN CisJCWJhc2g6JHtQT1JUU0RJUn0vc2hlbGxzL2Jhc2gNCiANCiBVU0VfUFlUSE9OPQl5ZXMNCiBV U0VfUFlESVNUVVRJTFM9CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTVBTPQlweXRob25fcnVu DQogR05VX0NPTkZJR1VSRT0JeWVzDQogDQogTUFOMT0JaWR2aWQuMSBtYWtlZHZkLjEgbWFrZW1l bnUuMSBtYWtlc2xpZGVzLjEgbWFrZXhtbC4xIHBvc3Rwcm9jLjEgXA0KSW5kZXg6IG11bHRpbWVk aWEvdmxjL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9t dWx0aW1lZGlhL3ZsYy9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTI2DQpkaWZm IC11IC1yMS4xMjYgTWFrZWZpbGUNCi0gLS0tIG11bHRpbWVkaWEvdmxjL01ha2VmaWxlCTkgSnVu IDIwMDYgMTg6MDA6MzQgLTAwMDAJMS4xMjYNCisrKyBtdWx0aW1lZGlhL3ZsYy9NYWtlZmlsZQkx MyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTU3LDE1ICs1Nyw2IEBADQogTUFOMT0JCXZs Yy4xIFwNCiAJCXZsYy1jb25maWcuMQ0KIA0KLSAtLmlmIGRlZmluZWQoV0lUSF9XWEdUS19WRVIp ICYmICR7V0lUSF9XWEdUS19WRVJ9PT0iMi40Ig0KLSAtV1hfQ09ORklHPQl3eGd0azItMi40LWNv bmZpZw0KLSAtV1hHVEsyX1BPUlQ9CXd4Z3RrMjQNCi0gLS5lbHNlDQotIC1XWF9DT05GSUc9CXd4 Z3RrMi0yLjYtY29uZmlnDQotIC1XWEdUSzJfUE9SVD0Jd3hndGsyNg0KLSAtQ1BQRkxBR1MrPQkt SSR7WDExQkFTRX0vaW5jbHVkZS93eC0yLjYvDQotIC0uZW5kaWYNCi0gLQ0KIC5pbmNsdWRlIDxi c2QucG9ydC5wcmUubWs+DQogDQogLmlmICR7UEVSTF9MRVZFTH0gPCA1MDA4MDANCkBAIC0xNDIs NyArMTMzLDcgQEANCiAuaWYgZGVmaW5lZChXSVRIX1NLSU5TKSAmJiAhZGVmaW5lZChXSVRIT1VU X1NLSU5TKQ0KIExJQl9ERVBFTkRTKz0JdGFyLjA6JHtQT1JUU0RJUn0vZGV2ZWwvbGlidGFyDQog Q09ORklHVVJFX0FSR1MrPS0tZW5hYmxlLXNraW5zMg0KLSAtV0lUSF9XWEdUSz0JeWVzDQorLnVu ZGVmIFdJVEhPVVRfV1gNCiAuZWxzZQ0KIENPTkZJR1VSRV9BUkdTKz0tLWRpc2FibGUtc2tpbnMy DQogLmVuZGlmDQpAQCAtMTU0LDExICsxNDUsOSBAQA0KIENPTkZJR1VSRV9BUkdTKz0tLWRpc2Fi bGUtbG9hZGVyDQogLmVuZGlmDQogDQotIC0uaWYgIWRlZmluZWQoV0lUSE9VVF9XWEdUSykNCi0g LUJVSUxEX0RFUEVORFMrPQkke1dYX0NPTkZJR306JHtQT1JUU0RJUn0veDExLXRvb2xraXRzLyR7 V1hHVEsyX1BPUlR9DQotIC1SVU5fREVQRU5EUys9CSR7V1hfQ09ORklHfToke1BPUlRTRElSfS94 MTEtdG9vbGtpdHMvJHtXWEdUSzJfUE9SVH0NCisuaWYgIWRlZmluZWQoV0lUSE9VVF9XWCkNCitV U0VfV1g9CQkyLjYNCiBDT05GSUdVUkVfQVJHUys9LS1lbmFibGUtd3h3aWRnZXRzDQotIC1DT05G SUdVUkVfRU5WKz0JV1hfQ09ORklHPSIke1gxMUJBU0V9L2Jpbi8ke1dYX0NPTkZJR30iDQogLmVs c2UNCiBDT05GSUdVUkVfQVJHUys9LS1kaXNhYmxlLXd4d2lkZ2V0cw0KIC5lbmRpZg0KSW5kZXg6 IG11bHRpbWVkaWEvdmxjL01ha2VmaWxlLmluYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21l L3BjdnMvcG9ydHMvbXVsdGltZWRpYS92bGMvTWFrZWZpbGUuaW5jLHYNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS4xDQpkaWZmIC11IC1yMS4xIE1ha2VmaWxlLmluYw0KLSAtLS0gbXVsdGltZWRpYS92 bGMvTWFrZWZpbGUuaW5jCTcgTWF5IDIwMDYgMjI6MTY6NDEgLTAwMDAJMS4xDQorKysgbXVsdGlt ZWRpYS92bGMvTWFrZWZpbGUuaW5jCTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtMjIs MTQgKzIyLDggQEANCiAjICBUaGlzIEludGVyZmFjZSBzdXBwb3J0cyBhIHNraW5uZWQgZ3RrMi4w IGludGVyZmFjZQ0KICMgIFNraW5zIGNhbiBiZSBmb3VuZCBhdCBodHRwOi8vd3d3LnZpZGVvbGFu Lm9yZy92bGMvZG93bmxvYWQtc2tpbnMuaHRtbA0KICMNCi0gLSMgV0lUSE9VVF9XWEdUSz15ZXMN Ci0gLSMgIFd4V2luZG93cy9HdGsgMi54IEludGVyZmFjZQ0KLSAtIyAgVGhpcyBpcyB0aGUgZGVm YXVsdCBhbmQgbW9zdCBzdXBwb3J0ZWQNCi0gLSMgIHgxMSBpbnRlcmZhY2UNCi0gLSMNCi0gLSMg V0lUSF9XWEdUS19WRVI9WzIuNHwyLjZdDQotIC0jICBDaG9vc2UgYSBXeEdUSyB2ZXJzaW9uIHlv dSB3YW50IHRvIHVzZS4NCi0gLSMgIERlZmF1bHRzIHRvIDI2DQorIyBXSVRIT1VUX1dYPXllcw0K KyMgIFd4V2lkZ2V0cyBJbnRlcmZhY2UNCiAjDQogIyBBdWRpbyBLbm9iczoNCiAjDQpAQCAtMjg1 LDExICsyNzksMTEgQEANCiAJJHtFQ0hPX0NNRH0gInNoYXJlL3BpeG1hcHMvZ3ZsYy5wbmciID4+ ICR7UExJU1R9DQogCSR7RUNIT19DTUR9ICJzaGFyZS9hcHBsaWNhdGlvbnMvc3ZsYy5kZXNrdG9w IiA+PiAke1BMSVNUfQ0KIC5lbmRpZg0KLSAtLmlmICFkZWZpbmVkKFdJVEhPVVRfV1hHVEspDQor LmlmICFkZWZpbmVkKFdJVEhPVVRfV1gpDQogCSR7RUNIT19DTUR9ICJzaGFyZS9waXhtYXBzL3Zs Yy5wbmciID4+ICR7UExJU1R9DQogCSR7RUNIT19DTUR9ICJzaGFyZS9hcHBsaWNhdGlvbnMvd3h2 bGMuZGVza3RvcCIgPj4gJHtQTElTVH0NCiAuZW5kaWYNCi0gLS5pZiAhZGVmaW5lZChXSVRIT1VU X1dYR1RLKSB8fCBkZWZpbmVkKFdJVEhfU0tJTlMpDQorLmlmICFkZWZpbmVkKFdJVEhPVVRfV1gp IHx8IGRlZmluZWQoV0lUSF9TS0lOUykNCiAJJHtFQ0hPX0NNRH0gIkB1bmV4ZWMgJHtSTURJUn0g JUQvc2hhcmUvYXBwbGljYXRpb25zIDI+L2Rldi9udWxsIHx8ICR7VFJVRX0iID4+ICR7UExJU1R9 DQogLmVuZGlmDQogCWNkICR7V1JLU1JDfSAmJiAke1NFVEVOVn0gJHtNQUtFX0VOVn0gJHtHTUFL RX0gJHtNQUtFX0ZMQUdTfSBcDQpAQCAtMzUwLDcgKzM0NCw3IEBADQogLmVuZGlmDQogCSR7SU5T VEFMTF9NQU59ICR7V1JLU1JDfS9kb2MvdmxjLjEgJHtNQU5QUkVGSVh9L21hbi9tYW4xLw0KIAkk e0lOU1RBTExfTUFOfSAke1dSS1NSQ30vZG9jL3ZsYy1jb25maWcuMSAke01BTlBSRUZJWH0vbWFu L21hbjEvDQotIC0uaWYgZGVmaW5lZChXSVRIX1NLSU5TKSB8fCAhZGVmaW5lZChXSVRIT1VUX1dY R1RLKQ0KKy5pZiBkZWZpbmVkKFdJVEhfU0tJTlMpIHx8ICFkZWZpbmVkKFdJVEhPVVRfV1gpDQog CWlmIFsgISAtZCAke1BSRUZJWH0vc2hhcmUvYXBwbGljYXRpb25zIF07IHRoZW4gXA0KIAkJJHtN S0RJUn0gJHtQUkVGSVh9L3NoYXJlL2FwcGxpY2F0aW9ucyA7IFwNCiAJZmkNCkBAIC0zNjEsNyAr MzU1LDcgQEANCiAJJHtJTlNUQUxMX0RBVEF9ICR7RklMRVNESVJ9L3N2bGMuZGVza3RvcCAke1BS RUZJWH0vc2hhcmUvYXBwbGljYXRpb25zDQogCSR7SU5TVEFMTF9EQVRBfSAke0ZBS0VESVJ9L3No YXJlL3ZsYy92bGM0OHg0OC5wbmcgJHtQUkVGSVh9L3NoYXJlL3BpeG1hcHMvZ3ZsYy5wbmcNCiAu ZW5kaWYNCi0gLS5pZiAhZGVmaW5lZChXSVRIT1VUX1dYR1RLKQ0KKy5pZiAhZGVmaW5lZChXSVRI T1VUX1dYKQ0KIAkke0lOU1RBTExfREFUQX0gJHtGSUxFU0RJUn0vd3h2bGMuZGVza3RvcCAke1BS RUZJWH0vc2hhcmUvYXBwbGljYXRpb25zDQogCSR7SU5TVEFMTF9EQVRBfSAke0ZBS0VESVJ9L3No YXJlL3ZsYy92bGM0OHg0OC5wbmcgJHtQUkVGSVh9L3NoYXJlL3BpeG1hcHMvdmxjLnBuZw0KIC5l bmRpZg0KSW5kZXg6IG11bHRpbWVkaWEvdmxjLWRldmVsL01ha2VmaWxlDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9tdWx0aW1lZGlhL3ZsYy1kZXZlbC9NYWtlZmlsZSx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQ5DQpkaWZmIC11IC1yMS4xNDkgTWFrZWZpbGUNCi0g LS0tIG11bHRpbWVkaWEvdmxjLWRldmVsL01ha2VmaWxlCTkgSnVuIDIwMDYgMTg6MDA6MzQgLTAw MDAJMS4xNDkNCisrKyBtdWx0aW1lZGlhL3ZsYy1kZXZlbC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAy MzoyMjoxMyAtMDAwMA0KQEAgLTYzLDE1ICs2Myw2IEBADQogTUFOMT0JCXZsYy4xIFwNCiAJCXZs Yy1jb25maWcuMQ0KIA0KLSAtLmlmIGRlZmluZWQoV0lUSF9XWEdUS19WRVIpICYmICR7V0lUSF9X WEdUS19WRVJ9PT0iMi40Ig0KLSAtV1hfQ09ORklHPQl3eGd0azItMi40LWNvbmZpZw0KLSAtV1hH VEsyX1BPUlQ9CXd4Z3RrMjQNCi0gLS5lbHNlDQotIC1XWF9DT05GSUc9CXd4Z3RrMi0yLjYtY29u ZmlnDQotIC1XWEdUSzJfUE9SVD0Jd3hndGsyNg0KLSAtQ1BQRkxBR1MrPQktSSR7WDExQkFTRX0v aW5jbHVkZS93eC0yLjYvDQotIC0uZW5kaWYNCi0gLQ0KIC5pbmNsdWRlIDxic2QucG9ydC5wcmUu bWs+DQogDQogLmlmICR7UEVSTF9MRVZFTH0gPCA1MDA4MDANCkBAIC0xNDgsNyArMTM5LDcgQEAN CiAuaWYgZGVmaW5lZChXSVRIX1NLSU5TKSAmJiAhZGVmaW5lZChXSVRIT1VUX1NLSU5TKQ0KIExJ Ql9ERVBFTkRTKz0JdGFyLjA6JHtQT1JUU0RJUn0vZGV2ZWwvbGlidGFyDQogQ09ORklHVVJFX0FS R1MrPS0tZW5hYmxlLXNraW5zMg0KLSAtV0lUSF9XWEdUSz0JeWVzDQorLnVuZGVmIFdJVEhPVVRf V1gNCiAuZWxzZQ0KIENPTkZJR1VSRV9BUkdTKz0tLWRpc2FibGUtc2tpbnMyDQogLmVuZGlmDQpA QCAtMTYwLDExICsxNTEsOSBAQA0KIENPTkZJR1VSRV9BUkdTKz0tLWRpc2FibGUtbG9hZGVyDQog LmVuZGlmDQogDQotIC0uaWYgIWRlZmluZWQoV0lUSE9VVF9XWEdUSykNCi0gLUJVSUxEX0RFUEVO RFMrPQkke1dYX0NPTkZJR306JHtQT1JUU0RJUn0veDExLXRvb2xraXRzLyR7V1hHVEsyX1BPUlR9 DQotIC1SVU5fREVQRU5EUys9CSR7V1hfQ09ORklHfToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMv JHtXWEdUSzJfUE9SVH0NCisuaWYgIWRlZmluZWQoV0lUSE9VVF9XWCkNCitVU0VfV1g9CQkyLjYN CiBDT05GSUdVUkVfQVJHUys9LS1lbmFibGUtd3h3aWRnZXRzDQotIC1DT05GSUdVUkVfRU5WKz0J V1hfQ09ORklHPSIke1gxMUJBU0V9L2Jpbi8ke1dYX0NPTkZJR30iDQogLmVsc2UNCiBDT05GSUdV UkVfQVJHUys9LS1kaXNhYmxlLXd4d2lkZ2V0cw0KIC5lbmRpZg0KSW5kZXg6IG11bHRpbWVkaWEv dmxjLWRldmVsL01ha2VmaWxlLmluYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMv cG9ydHMvbXVsdGltZWRpYS92bGMtZGV2ZWwvTWFrZWZpbGUuaW5jLHYNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS40DQpkaWZmIC11IC1yMS40IE1ha2VmaWxlLmluYw0KLSAtLS0gbXVsdGltZWRpYS92 bGMtZGV2ZWwvTWFrZWZpbGUuaW5jCTIyIE1heSAyMDA2IDAxOjEyOjA3IC0wMDAwCTEuNA0KKysr IG11bHRpbWVkaWEvdmxjLWRldmVsL01ha2VmaWxlLmluYwkxMyBKdW4gMjAwNiAyMzoyMjoxMyAt MDAwMA0KQEAgLTIyLDE0ICsyMiw4IEBADQogIyAgVGhpcyBJbnRlcmZhY2Ugc3VwcG9ydHMgYSBz a2lubmVkIGd0azIuMCBpbnRlcmZhY2UNCiAjICBTa2lucyBjYW4gYmUgZm91bmQgYXQgaHR0cDov L3d3dy52aWRlb2xhbi5vcmcvdmxjL2Rvd25sb2FkLXNraW5zLmh0bWwNCiAjDQotIC0jIFdJVEhP VVRfV1hHVEs9eWVzDQotIC0jICBXeFdpbmRvd3MvR3RrIDIueCBJbnRlcmZhY2UNCi0gLSMgIFRo aXMgaXMgdGhlIGRlZmF1bHQgYW5kIG1vc3Qgc3VwcG9ydGVkDQotIC0jICB4MTEgaW50ZXJmYWNl DQotIC0jDQotIC0jIFdJVEhfV1hHVEtfVkVSPVsyLjR8Mi42XQ0KLSAtIyAgQ2hvb3NlIGEgV3hH VEsgdmVyc2lvbiB5b3Ugd2FudCB0byB1c2UuDQotIC0jICBEZWZhdWx0cyB0byAyNg0KKyMgV0lU SE9VVF9XWD15ZXMNCisjICBXeFdpZGdldHMgSW50ZXJmYWNlDQogIw0KICMgQXVkaW8gS25vYnM6 DQogIw0KQEAgLTI4NSwxMSArMjc5LDExIEBADQogCSR7RUNIT19DTUR9ICJzaGFyZS9waXhtYXBz L2d2bGMucG5nIiA+PiAke1BMSVNUfQ0KIAkke0VDSE9fQ01EfSAic2hhcmUvYXBwbGljYXRpb25z L3N2bGMuZGVza3RvcCIgPj4gJHtQTElTVH0NCiAuZW5kaWYNCi0gLS5pZiAhZGVmaW5lZChXSVRI T1VUX1dYR1RLKQ0KKy5pZiAhZGVmaW5lZChXSVRIT1VUX1dYKQ0KIAkke0VDSE9fQ01EfSAic2hh cmUvcGl4bWFwcy92bGMucG5nIiA+PiAke1BMSVNUfQ0KIAkke0VDSE9fQ01EfSAic2hhcmUvYXBw bGljYXRpb25zL3ZsYy5kZXNrdG9wIiA+PiAke1BMSVNUfQ0KIC5lbmRpZg0KLSAtLmlmICFkZWZp bmVkKFdJVEhPVVRfV1hHVEspIHx8IGRlZmluZWQoV0lUSF9TS0lOUykNCisuaWYgIWRlZmluZWQo V0lUSE9VVF9XWCkgfHwgZGVmaW5lZChXSVRIX1NLSU5TKQ0KIAkke0VDSE9fQ01EfSAiQHVuZXhl YyAke1JNRElSfSAlRC9zaGFyZS9hcHBsaWNhdGlvbnMgMj4vZGV2L251bGwgfHwgJHtUUlVFfSIg Pj4gJHtQTElTVH0NCiAuZW5kaWYNCiAJY2QgJHtXUktTUkN9ICYmICR7U0VURU5WfSAke01BS0Vf RU5WfSAke0dNQUtFfSAke01BS0VfRkxBR1N9IFwNCkBAIC0zNTAsNyArMzQ0LDcgQEANCiAuZW5k aWYNCiAJJHtJTlNUQUxMX01BTn0gJHtXUktTUkN9L2RvYy92bGMuMSAke01BTlBSRUZJWH0vbWFu L21hbjEvDQogCSR7SU5TVEFMTF9NQU59ICR7V1JLU1JDfS9kb2MvdmxjLWNvbmZpZy4xICR7TUFO UFJFRklYfS9tYW4vbWFuMS8NCi0gLS5pZiBkZWZpbmVkKFdJVEhfU0tJTlMpIHx8ICFkZWZpbmVk KFdJVEhPVVRfV1hHVEspDQorLmlmIGRlZmluZWQoV0lUSF9TS0lOUykgfHwgIWRlZmluZWQoV0lU SE9VVF9XWCkNCiAJaWYgWyAhIC1kICR7UFJFRklYfS9zaGFyZS9hcHBsaWNhdGlvbnMgXTsgdGhl biBcDQogCQkke01LRElSfSAke1BSRUZJWH0vc2hhcmUvYXBwbGljYXRpb25zIDsgXA0KIAlmaQ0K QEAgLTM2MSw3ICszNTUsNyBAQA0KIAkke0lOU1RBTExfREFUQX0gJHtGSUxFU0RJUn0vc3ZsYy5k ZXNrdG9wICR7UFJFRklYfS9zaGFyZS9hcHBsaWNhdGlvbnMNCiAJJHtJTlNUQUxMX0RBVEF9ICR7 RkFLRURJUn0vc2hhcmUvdmxjL3ZsYzQ4eDQ4LnBuZyAke1BSRUZJWH0vc2hhcmUvcGl4bWFwcy9n dmxjLnBuZw0KIC5lbmRpZg0KLSAtLmlmICFkZWZpbmVkKFdJVEhPVVRfV1hHVEspDQorLmlmICFk ZWZpbmVkKFdJVEhPVVRfV1gpDQogCSR7SU5TVEFMTF9EQVRBfSAke0ZJTEVTRElSfS92bGMuZGVz a3RvcCAke1BSRUZJWH0vc2hhcmUvYXBwbGljYXRpb25zDQogCSR7SU5TVEFMTF9EQVRBfSAke0ZB S0VESVJ9L3NoYXJlL3ZsYy92bGM0OHg0OC5wbmcgJHtQUkVGSVh9L3NoYXJlL3BpeG1hcHMvdmxj LnBuZw0KIC5lbmRpZg0KSW5kZXg6IG5ldC9ib2luYy1jbGllbnQvTWFrZWZpbGUNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL25ldC9ib2luYy1jbGllbnQvTWFrZWZpbGUs dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE5DQpkaWZmIC11IC1yMS4xOSBNYWtlZmlsZQ0KLSAt LS0gbmV0L2JvaW5jLWNsaWVudC9NYWtlZmlsZQkxMiBNYXkgMjAwNiAxNDowMDowNCAtMDAwMAkx LjE5DQorKysgbmV0L2JvaW5jLWNsaWVudC9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAt MDAwMA0KQEAgLTM5LDE0ICszOSwxNCBAQA0KIC5pbmNsdWRlIDxic2QucG9ydC5wcmUubWs+DQog DQogLmlmICFkZWZpbmVkKFdJVEhPVVRfWDExKQ0KLSAtQ09ORklHVVJFX0FSR1MrPQktLXdpdGgt d3gtY29uZmlnPXd4Z3RrMi0yLjYtY29uZmlnDQorVVNFX1dYPQkJMi42DQorV1hfQ09ORl9BUkdT PQlhYnNvbHV0ZQ0KIC5lbHNlDQotIC1DT05GSUdVUkVfQVJHUys9CS0td2l0aC13eC1jb25maWc9 ZmFsc2UNCitDT05GSUdVUkVfQVJHUys9LS13aXRoLXd4LWNvbmZpZz1mYWxzZQ0KIC5lbmRpZg0K IA0KIC5pZiAhZGVmaW5lZChXSVRIT1VUX1gxMSkNCiBMSUJfREVQRU5EUys9CWljb252OiR7UE9S VFNESVJ9L2NvbnZlcnRlcnMvbGliaWNvbnYgXA0KLSAtCQl3eF9iYXNlOiR7UE9SVFNESVJ9L3gx MS10b29sa2l0cy93eGd0azI2IFwNCiAJCWpwZWc6JHtQT1JUU0RJUn0vZ3JhcGhpY3MvanBlZyBc DQogCQlnbHV0OiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYmdsdXQNCiAuZW5kaWYNCkluZGV4OiBu ZXQvcHktbXAtcmFuZG9tL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2 cy9wb3J0cy9uZXQvcHktbXAtcmFuZG9tL01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS40DQpkaWZmIC11IC1yMS40IE1ha2VmaWxlDQotIC0tLSBuZXQvcHktbXAtcmFuZG9tL01ha2Vm aWxlCTEyIEphbiAyMDA2IDEyOjU0OjI1IC0wMDAwCTEuNA0KKysrIG5ldC9weS1tcC1yYW5kb20v TWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0xNiwxMCArMTYsMTAgQEAN CiBNQUlOVEFJTkVSPQlyYW5kb21pbWFnZS13aWRnZXRAbWlycm9ycHJvamVjdC5jb20NCiBDT01N RU5UPQlEaXNwbGF5IHJhbmRvbSBNaXJyb3IgUHJvamVjdCBpbWFnZXMgb24geW91ciBkZXNrdG9w DQogDQotIC1SVU5fREVQRU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3hQeXRob24vd3hjLnNv OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9weS13eFB5dGhvbjI0DQotIC0NCiBVU0VfUFlUSE9O PQl5ZXMNCiBVU0VfWF9QUkVGSVg9CXllcw0KK1VTRV9XWD0JCTIuNA0KK1dYX0NPTVBTPQlweXRo b25fcnVuDQogTk9fQlVJTEQ9CXllcw0KIA0KIHByZS1pbnN0YWxsOg0KSW5kZXg6IG5ldC1wMnAv YW11bGUxL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9u ZXQtcDJwL2FtdWxlMS9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkNCmRpZmYg LXUgLXIxLjE5IE1ha2VmaWxlDQotIC0tLSBuZXQtcDJwL2FtdWxlMS9NYWtlZmlsZQk2IEFwciAy MDA2IDEzOjQ0OjU3IC0wMDAwCTEuMTkNCisrKyBuZXQtcDJwL2FtdWxlMS9NYWtlZmlsZQkxMyBK dW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTE2LDggKzE2LDcgQEANCiBNQUlOVEFJTkVSPQln YW5hZWwubGFwbGFuY2hlQG1hcnR5bWFjLmNvbQ0KIENPTU1FTlQ9CVRoZSBhbGwtcGxhdGZvcm0g ZU11bGUgcDJwIGNsaWVudA0KIA0KLSAtTElCX0RFUEVORFM9CXd4X2d0azItMi40LjA6JHtQT1JU U0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjQgXA0KLSAtCQljdXJsLjM6JHtQT1JUU0RJUn0vZnRw L2N1cmwNCitMSUJfREVQRU5EUz0JY3VybC4zOiR7UE9SVFNESVJ9L2Z0cC9jdXJsDQogDQogTEFU RVNUX0xJTks9CWFNdWxlMQ0KIENPTkZMSUNUUz0JYU11bGUtMi4qIGFNdWxlLWRldmVsLVswLTld Kg0KQEAgLTI3LDExICsyNiwxMiBAQA0KIFVTRV9HRVRURVhUPQl5ZXMNCiBVU0VfR05PTUU9CWdu b21laGllciBnbm9tZWhhY2sgZ25vbWVwcmVmaXgNCiBVU0VfR01BS0U9CXllcw0KK1VTRV9XWD0J CTIuNA0KK1dYX0NPTkZfQVJHUz0JYWJzb2x1dGUNCiBHTlVfQ09ORklHVVJFPQl5ZXMNCiBDT05G SUdVUkVfQVJHUz0JLS13aXRob3V0LWluY2x1ZGVkLWdldHRleHQgXA0KIAkJLS13aXRoLWxpYmlu dGwtcHJlZml4PSR7TE9DQUxCQVNFfSBcDQogCQktLXdpdGgtbGliaWNvbnYtcHJlZml4PSR7TE9D QUxCQVNFfSBcDQotIC0JCS0td2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9IFwNCiAJCS0td2l0 aC13eGJhc2UtY29uZmlnPSR7V1hfQ09ORklHfSBcDQogCQktLXdpdGgtY3VybC1jb25maWc9JHtD VVJMX0NPTkZJR30gXA0KIAkJLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lPSJzL2VkMmsvYW11bGUt ZWQyay1oYW5kbGVyLyINCkBAIC00Miw3ICs0Miw2IEBADQogT1BUSU9OUz0JT1BUSU1JWkUgIkJ1 aWxkIHdpdGggb3B0aW1pemF0aW9uIiBvbiBcDQogCQlTVEFUSUMgIkVuYWJsZSBzdGF0aWMgbGlu a2luZyIgb2ZmDQogDQotIC1XWF9DT05GSUc/PQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNv bmZpZw0KIENVUkxfQ09ORklHPz0JJHtMT0NBTEJBU0V9L2Jpbi9jdXJsLWNvbmZpZw0KIA0KIC5p bmNsdWRlIDxic2QucG9ydC5wcmUubWs+DQpJbmRleDogbmV0LXAycC9hbXVsZTIvTWFrZWZpbGUN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL25ldC1wMnAvYW11bGUyL01h a2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS44DQpkaWZmIC11IC1yMS44IE1ha2VmaWxl DQotIC0tLSBuZXQtcDJwL2FtdWxlMi9NYWtlZmlsZQkxOCBNYXIgMjAwNiAxNzoxMjoyMyAtMDAw MAkxLjgNCisrKyBuZXQtcDJwL2FtdWxlMi9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAt MDAwMA0KQEAgLTE1LDggKzE1LDcgQEANCiBNQUlOVEFJTkVSPQlnYW5hZWwubGFwbGFuY2hlQG1h cnR5bWFjLmNvbQ0KIENPTU1FTlQ9CVRoZSBhbGwtcGxhdGZvcm0gZU11bGUgcDJwIGNsaWVudA0K IA0KLSAtTElCX0RFUEVORFM9CXd4X2d0azJ1X2NvcmUtMi42OiR7UE9SVFNESVJ9L3gxMS10b29s a2l0cy93eGd0azI2LXVuaWNvZGUgXA0KLSAtCQljdXJsLjM6JHtQT1JUU0RJUn0vZnRwL2N1cmwN CitMSUJfREVQRU5EUz0JY3VybC4zOiR7UE9SVFNESVJ9L2Z0cC9jdXJsDQogIwkJZ2QuNDoke1BP UlRTRElSfS9ncmFwaGljcy9nZA0KICMJCXBuZy41OiR7UE9SVFNESVJ9L2dyYXBoaWNzL3BuZw0K IA0KQEAgLTI3LDEzICsyNiwxNCBAQA0KIFVTRV9YX1BSRUZJWD0JeWVzDQogVVNFX0dOT01FPQln bm9tZWhpZXIgZ25vbWVoYWNrIGdub21lcHJlZml4DQogVVNFX0dNQUtFPQl5ZXMNCitVU0VfV1g9 CQkyLjYNCitXWF9DT05GX0FSR1M9CWFic29sdXRlDQogR05VX0NPTkZJR1VSRT0JeWVzDQogQ09O RklHVVJFX1RBUkdFVD0tLWJ1aWxkPSR7TUFDSElORV9BUkNIfS1wb3J0YmxkLWZyZWVic2Qke09T UkVMfQ0KIENPTkZJR1VSRV9BUkdTPQktLWRpc2FibGUtZGVidWcgXA0KIAkJLS13aXRob3V0LWlu Y2x1ZGVkLWdldHRleHQgXA0KIAkJLS13aXRoLWxpYmludGwtcHJlZml4PSR7TE9DQUxCQVNFfSBc DQogCQktLXdpdGgtbGliaWNvbnYtcHJlZml4PSR7TE9DQUxCQVNFfSBcDQotIC0JCS0td2l0aC13 eC1jb25maWc9JHtXWF9DT05GSUd9IFwNCiAJCS0td2l0aC1jdXJsLWNvbmZpZz0ke0NVUkxfQ09O RklHfSBcDQogCQktLWVuYWJsZS1lbWJlZGRlZF9jcnlwdG8gXA0KIAkJLS1lbmFibGUtbW9ub2xp dGhpYw0KQEAgLTUxLDcgKzUxLDYgQEANCiAJCUFMQyAiQ29tcGlsZSBhTXVsZSBMaW5rIENyZWF0 b3IgKCtHVUkpIiBvbiBcDQogCQlBTVVMRURBRU1PTiAiQ29tcGlsZSBhTXVsZSBkYWVtb24gdmVy c2lvbiAtIEVYUEVSSU1FTlRBTCIgb2ZmDQogDQotIC1XWF9DT05GSUc/PQkke1gxMUJBU0V9L2Jp bi93eGd0azJ1LTIuNi1jb25maWcNCiBDVVJMX0NPTkZJRz89CSR7TE9DQUxCQVNFfS9iaW4vY3Vy bC1jb25maWcNCiANCiAuaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPg0KSW5kZXg6IG5ldC1wMnAv bXV0ZS1uZXQvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRz L25ldC1wMnAvbXV0ZS1uZXQvTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE4DQpk aWZmIC11IC1yMS4xOCBNYWtlZmlsZQ0KLSAtLS0gbmV0LXAycC9tdXRlLW5ldC9NYWtlZmlsZQkx MSBNYXkgMjAwNiAyMjo0OTo0OSAtMDAwMAkxLjE4DQorKysgbmV0LXAycC9tdXRlLW5ldC9NYWtl ZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAtMDAwMA0KQEAgLTI5LDkgKzI5LDcgQEANCiBQQVRD SF9XUktTUkM9CSR7V1JLRElSfS8ke1JFTEVBU0VfRElSRUNUT1JZfQ0KIA0KIC5pZm5kZWYoV0lU SE9VVF9HVUkpDQotIC1MSUJfREVQRU5EUys9CXd4X2d0azItMi40LjA6JHtQT1JUU0RJUn0veDEx LXRvb2xraXRzL3d4Z3RrMjQNCi0gLQ0KLSAtV1hfQ09ORklHPz0JJHtYMTFCQVNFfS9iaW4vd3hn dGsyLTIuNC1jb25maWcNCitVU0VfV1g9CQkyLjQNCiAuZW5kaWYNCiANCiAjDQpJbmRleDogbmV0 LXAycC9weS1iaXR0b3JuYWRvL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUv cGN2cy9wb3J0cy9uZXQtcDJwL3B5LWJpdHRvcm5hZG8vTWFrZWZpbGUsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjI0DQpkaWZmIC11IC1yMS4yNCBNYWtlZmlsZQ0KLSAtLS0gbmV0LXAycC9weS1i aXR0b3JuYWRvL01ha2VmaWxlCTExIE1heSAyMDA2IDIyOjQ5OjUwIC0wMDAwCTEuMjQNCisrKyBu ZXQtcDJwL3B5LWJpdHRvcm5hZG8vTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDAN CkBAIC00Nyw3ICs0Nyw4IEBADQogDQogIyByZXF1aXJlZCBmb3IgR1VJDQogLmlmbmRlZihXSVRI T1VUX0dVSSkNCi0gLVJVTl9ERVBFTkRTKz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3hQeXRob24v X19pbml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCitVU0Vf V1g9CQkyLjQNCitXWF9DT01QUz0JcHl0aG9uX3J1bg0KIFBMSVNUX1NVQis9CUdVST0nJw0KIEVY VFJBX1BBVENIRVMrPQkke0ZJTEVTRElSfS9leHRyYS1ndWktcGF0Y2gtc2V0dXAucHkNCiAuZWxz ZQ0KSW5kZXg6IG5ldC1wMnAvcHkta2Vub3Npcy1iaXR0b3JyZW50L01ha2VmaWxlDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9uZXQtcDJwL3B5LWtlbm9zaXMtYml0dG9y cmVudC9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjgNCmRpZmYgLXUgLXIxLjI4 IE1ha2VmaWxlDQotIC0tLSBuZXQtcDJwL3B5LWtlbm9zaXMtYml0dG9ycmVudC9NYWtlZmlsZQkx MSBNYXkgMjAwNiAyMjo0OTo1MCAtMDAwMAkxLjI4DQorKysgbmV0LXAycC9weS1rZW5vc2lzLWJp dHRvcnJlbnQvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC00Nyw3ICs0 Nyw4IEBADQogDQogIyByZXF1aXJlZCBmb3IgR1VJDQogLmlmbmRlZihXSVRIT1VUX0dVSSkNCi0g LVJVTl9ERVBFTkRTKz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3hQeXRob24vX19pbml0X18ucHk6 JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCitVU0VfV1g9CQkyLjQNCitX WF9DT01QUz0JcHl0aG9uX3J1bg0KIA0KIEVYVFJBX1BBVENIRVMrPQkke0ZJTEVTRElSfS9leHRy YS1ndWktcGF0Y2gtc2V0dXAucHkNCiANCkluZGV4OiBuZXQtcDJwL3B5c2xzay9NYWtlZmlsZQ0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvbmV0LXAycC9weXNsc2svTWFr ZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE5DQpkaWZmIC11IC1yMS4xOSBNYWtlZmls ZQ0KLSAtLS0gbmV0LXAycC9weXNsc2svTWFrZWZpbGUJMzAgSmFuIDIwMDYgMjE6MzY6MjUgLTAw MDAJMS4xOQ0KKysrIG5ldC1wMnAvcHlzbHNrL01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjEz IC0wMDAwDQpAQCAtMTQsOSArMTQsNiBAQA0KIE1BSU5UQUlORVI9CXNob2Vzb2Z0QGdteC5uZXQN CiBDT01NRU5UPQlDbGllbnQgZm9yIFNvdWxTZWVrIGZpbGVzaGFyaW5nIHN5c3RlbQ0KIA0KLSAt QlVJTERfREVQRU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3gtMi42LWd0azItYW5zaS93eC9f X2luaXRfXy5weToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNg0KLSAtUlVO X0RFUEVORFM9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4LTIuNi1ndGsyLWFuc2kvd3gvX19pbml0 X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYNCi0gLQ0KIC5pZiAh ZGVmaW5lZChXSVRIT1VUX1ZPUkJJUykNCiBSVU5fREVQRU5EUys9CSR7UFlUSE9OX1NJVEVMSUJE SVJ9L29nZy92b3JiaXMuc286JHtQT1JUU0RJUn0vYXVkaW8vcHktdm9yYmlzDQogLmVuZGlmDQpA QCAtMjcsMTIgKzI0LDcgQEANCiANCiBVU0VfUFlUSE9OPQl5ZXMNCiBVU0VfUFlESVNUVVRJTFM9 eWVzDQorVVNFX1dYPQkJMi42DQorV1hfQ09NUFM9CXB5dGhvbg0KIA0KLSAtLmluY2x1ZGUgPGJz ZC5wb3J0LnByZS5taz4NCi0gLQ0KLSAtcHJlLWluc3RhbGw6DQotIC0uaWYgZXhpc3RzKCR7UFlU SE9OX1NJVEVMSUJESVJ9L3d4L19faW5pdF9fLnB5KQ0KLSAtQlJPS0VOPQkicHlzbHNrIG9ubHkg d29ya3Mgd2l0aCBweS13eFB5dGhvbiA+PSAyLjYsIHBsZWFzZSBkZWluc3RhbGwgb2xkIHZlcnNp b24gZmlyc3QiDQotIC0uZW5kaWYNCi0gLQ0KLSAtLmluY2x1ZGUgPGJzZC5wb3J0LnBvc3QubWs+ DQorLmluY2x1ZGUgPGJzZC5wb3J0Lm1rPg0KSW5kZXg6IG5ldC1wMnAveG11bGUvTWFrZWZpbGUN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL25ldC1wMnAveG11bGUvTWFr ZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQ2DQpkaWZmIC11IC1yMS40NiBNYWtlZmls ZQ0KLSAtLS0gbmV0LXAycC94bXVsZS9NYWtlZmlsZQkxMSBNYXkgMjAwNiAyMjo0OTo1MSAtMDAw MAkxLjQ2DQorKysgbmV0LXAycC94bXVsZS9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjoxMyAt MDAwMA0KQEAgLTE3LDggKzE3LDcgQEANCiBDT01NRU5UPQlQb3J0IG9mIGVNdWxlIGVEb25rZXkg UDJQIGNsaWVudCB1c2luZyB3eFdpbmRvd3MgY2xhc3MgbGlicmFyeQ0KIA0KIEJVSUxEX0RFUEVO RFM9CSR7TE9DQUxCQVNFfS9saWIvbGliY3J5cHRvcHAuYToke1BPUlRTRElSfS9zZWN1cml0eS9j cnlwdG9wcA0KLSAtTElCX0RFUEVORFM9CWV4cGF0LjY6JHtQT1JUU0RJUn0vdGV4dHByb2MvZXhw YXQyIFwNCi0gLQkJd3hfZ3RrMl9jb3JlLTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93 eGd0azI2DQorTElCX0RFUEVORFM9CWV4cGF0LjY6JHtQT1JUU0RJUn0vdGV4dHByb2MvZXhwYXQy DQogUlVOX0RFUEVORFM9CXdnZXQ6JHtQT1JUU0RJUn0vZnRwL3dnZXQNCiANCiBVU0VfR0VUVEVY VD0JeWVzDQpAQCAtMjgsMTQgKzI3LDE1IEBADQogCQlnbm9tZWhhY2sgXA0KIAkJZ25vbWVwcmVm aXgNCiBVU0VfR01BS0U9CXllcw0KK1VTRV9XWD0JCTIuNg0KK1dYX0NPTkZfQVJHUz0JYWJzb2x1 dGUNCiBHTlVfQ09ORklHVVJFPQl5ZXMNCiBDT05GSUdVUkVfQVJHUz0JLS13aXRob3V0LWluY2x1 ZGVkLWdldHRleHQgXA0KIAkJLS13aXRoLWNyeXB0b3BwLXByZWZpeD0ke0xPQ0FMQkFTRX0gXA0K IAkJLS13aXRoLWd0ay1wcmVmaXg9JHtYMTFCQVNFfSBcDQogCQktLXdpdGgtbGliaWNvbnYtcHJl Zml4PSR7TE9DQUxCQVNFfSBcDQogCQktLXdpdGgtbGliaW50bC1wcmVmaXg9JHtMT0NBTEJBU0V9 IFwNCi0gLQkJLS1lbmFibGUtZGVidWcgXA0KLSAtCQktLXdpdGgtd3gtY29uZmlnPSR7V1hfQ09O RklHfQ0KKwkJLS1lbmFibGUtZGVidWcNCiBDT05GSUdVUkVfRU5WPQlDUFBGTEFHUz0iJHtDUFBG TEFHU30gJHtQVEhSRUFEX0NGTEFHU30gLUkke0xPQ0FMQkFTRX0vaW5jbHVkZSIgXA0KIAkJTERG TEFHUz0iJHtMREZMQUdTfSAke1BUSFJFQURfTElCU30gLUwke0xPQ0FMQkFTRX0vbGliIg0KIE1B S0VfQVJHUz0JLWUNCkBAIC00NCw4ICs0NCw2IEBADQogIyBmb3IgZGVidWdnaW5nIHB1cnBvc2Vz DQogU1RSSVA9DQogDQotIC1XWF9DT05GSUc/PQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi42LWNv bmZpZw0KLSAtDQogRklMRVNfQVRPTExfUEFUQ0g9CXNyYy9QcmVmZXJlbmNlcy5jcHAgXA0KIAkJ CXNyYy9vdGhlcmZ1bmN0aW9ucy5jcHANCiBGSUxFU19TVERJTlRfUEFUQ0g9CVwNCkluZGV4OiBz Y2llbmNlL3B5LXNjaXB5L01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2 cy9wb3J0cy9zY2llbmNlL3B5LXNjaXB5L01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS42DQpkaWZmIC11IC1yMS42IE1ha2VmaWxlDQotIC0tLSBzY2llbmNlL3B5LXNjaXB5L01ha2Vm aWxlCTIxIE1hciAyMDA2IDA0OjM5OjI4IC0wMDAwCTEuNg0KKysrIHNjaWVuY2UvcHktc2NpcHkv TWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0yMCwxMyArMjAsMTQgQEAN CiANCiBCVUlMRF9ERVBFTkRTPQkke1BZTlVNRVJJQ30gXA0KIAkJJHtMT0NBTEJBU0V9L2xpYi9s aWJkamJmZnQuYToke1BPUlRTRElSfS9tYXRoL2RqYmZmdCBcDQotIC0JCWYycHk6JHtQT1JUU0RJ Un0vbGFuZy9mMnB5IFwNCi0gLQkJJHtQWVRIT05fU0lURUxJQkRJUn0vd3gvX19pbml0X18ucHk6 JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCisJCWYycHk6JHtQT1JUU0RJ Un0vbGFuZy9mMnB5DQogTElCX0RFUEVORFM9CWZmdHcuMjoke1BPUlRTRElSfS9tYXRoL2ZmdHcg XA0KIAkJYXRsYXMuMToke1BPUlRTRElSfS9tYXRoL2F0bGFzDQogDQogVVNFX1BZVEhPTj0JMi4z Kw0KIFVTRV9QWURJU1RVVElMUz0JeWVzDQorVVNFX1dYPQkJMi40DQorV1hfQ09NUFM9CXB5dGhv bl9ydW4NCiANCiBwb3N0LXBhdGNoOg0KIAlAJHtHUkVQfSAtbFIgIm1hbGxvY1wuaCIgJHtXUktT UkN9IHwgJHtYQVJHU30gJHtSRUlOUExBQ0VfQ01EfSBcDQpJbmRleDogc2VjdXJpdHkvaGFzaGlz aC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvc2VjdXJp dHkvaGFzaGlzaC9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjcNCmRpZmYgLXUg LXIxLjI3IE1ha2VmaWxlDQotIC0tLSBzZWN1cml0eS9oYXNoaXNoL01ha2VmaWxlCTUgTm92IDIw MDUgMDU6MjI6MDYgLTAwMDAJMS4yNw0KKysrIHNlY3VyaXR5L2hhc2hpc2gvTWFrZWZpbGUJMTMg SnVuIDIwMDYgMjM6MjI6MTMgLTAwMDANCkBAIC0xOCwxMyArMTgsMTIgQEANCiBDT01NRU5UPQlH VUkgZmlsZSBhbmQgc3RyaW5nIGhhc2hpbmcgdXRpbGl0eQ0KIA0KIEJVSUxEX0RFUEVORFM9CSR7 TE9DQUxCQVNFfS9saWIvbGliY3J5cHRvcHAuYToke1BPUlRTRElSfS9zZWN1cml0eS9jcnlwdG9w cA0KLSAtTElCX0RFUEVORFM9CXd4X2d0azItMi40LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRz L3d4Z3RrMjQNCiANCitVU0VfV1g9CQkyLjQNCiBHTlVfQ09ORklHVVJFPQl5ZXMNCiBDT05GSUdV UkVfVEFSR0VUPS0tYnVpbGQ9JHtNQUNISU5FX0FSQ0h9LXBvcnRibGQtZnJlZWJzZCR7T1NSRUx9 DQogQ09ORklHVVJFX0VOVj0JQ1BQRkxBR1M9Ii1JJHtMT0NBTEJBU0V9L2luY2x1ZGUiIFwNCi0g LQkJTERGTEFHUz0iLUwke0xPQ0FMQkFTRX0vbGliIiBcDQotIC0JCVdYX0NPTkZJRz0iJHtYMTFC QVNFfS9iaW4vd3hndGsyLTIuNC1jb25maWciDQorCQlMREZMQUdTPSItTCR7TE9DQUxCQVNFfS9s aWIiDQogVVNFX0dNQUtFPQl5ZXMNCiBQTElTVF9GSUxFUz0JYmluL2hhc2hpc2gNCiANCkluZGV4 OiBzZWN1cml0eS9uZXdwa2ktY2xpZW50L01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog L2hvbWUvcGN2cy9wb3J0cy9zZWN1cml0eS9uZXdwa2ktY2xpZW50L01ha2VmaWxlLHYNCnJldHJp ZXZpbmcgcmV2aXNpb24gMS42DQpkaWZmIC11IC1yMS42IE1ha2VmaWxlDQotIC0tLSBzZWN1cml0 eS9uZXdwa2ktY2xpZW50L01ha2VmaWxlCTEzIE1heSAyMDA2IDA0OjE1OjA3IC0wMDAwCTEuNg0K KysrIHNlY3VyaXR5L25ld3BraS1jbGllbnQvTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTMg LTAwMDANCkBAIC0xNSwxNiArMTUsMTUgQEANCiBDT01NRU5UPQlDKysgUEtJIGNsaWVudCBmcm9t IG5ld3BraSBwcm9qZWN0DQogDQogTElCX0RFUEVORFM9CW5ld3BraS4yOiR7UE9SVFNESVJ9L3Nl Y3VyaXR5L25ld3BraS1saWIgXA0KLSAtCQl4bWwyOiR7UE9SVFNESVJ9L3RleHRwcm9jL2xpYnht bDIgXA0KLSAtCQl3eF9ndGsyLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0 DQorCQl4bWwyOiR7UE9SVFNESVJ9L3RleHRwcm9jL2xpYnhtbDINCiANCiBXUktTUkM9CQkke1dS S0RJUn0vJHtQT1JUTkFNRX0tMi4wLjANCiANCiBHTlVfQ09ORklHVVJFPQl5ZXMNCiBVU0VfT1BF TlNTTD0JeWVzDQotIC1XWF9DT05GSUc9CSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQtY29uZmln DQogVVNFX0dOT01FPQlnbm9tZXRhcmdldA0KIFVTRV9HTUFLRT0JeWVzDQorVVNFX1dYPQkJMi40 DQogDQogQ09ORklHVVJFX0VOVj0JQ1BQRkxBR1M9Ii1JJHtMT0NBTEJBU0V9L2luY2x1ZGUgLUkk e1BSRUZJWH0vaW5jbHVkZSIgXA0KIAkJTERGTEFHUz0iLUwke0xPQ0FMQkFTRX0vbGliIC1MJHtQ UkVGSVh9L2xpYiIgXA0KSW5kZXg6IHNlY3VyaXR5L25ld3BraS1jbGllbnQvZmlsZXMvcGF0Y2gt Y29uZmlndXJlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9zZWN1cml0 eS9uZXdwa2ktY2xpZW50L2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZSx2DQpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMQ0KZGlmZiAtdSAtcjEuMSBwYXRjaC1jb25maWd1cmUNCi0gLS0tIHNlY3VyaXR5L25l d3BraS1jbGllbnQvZmlsZXMvcGF0Y2gtY29uZmlndXJlCTE0IEp1bCAyMDA1IDEzOjI0OjA0IC0w MDAwCTEuMQ0KKysrIHNlY3VyaXR5L25ld3BraS1jbGllbnQvZmlsZXMvcGF0Y2gtY29uZmlndXJl CTEzIEp1biAyMDA2IDIzOjIyOjEzIC0wMDAwDQpAQCAtNTUsOCArNTUsOCBAQA0KICANCiAtV1hD WFg9YHd4LWNvbmZpZyAtLWN4eGZsYWdzYA0KIC1XWExJQj1gd3gtY29uZmlnIC0tbGlic2ANCi0g LStXWENYWD1gJHtXWENPTkZJR30gLS1jeHhmbGFnc2ANCi0gLStXWExJQj1gJHtXWENPTkZJR30g LS1saWJzYA0KKytXWENYWD1gJHtXWF9DT05GSUd9IC0tY3h4ZmxhZ3NgDQorK1dYTElCPWAke1dY X0NPTkZJR30gLS1saWJzYA0KICANCiAgQ1BQRkxBR1M9IiRXWENYWCAtRFdYSU5UTF9OT19HRVRU RVhUX01BQ1JPICRDUFBGTEFHUyINCiAgTElCUz0iJFdYTElCIC1sbmV3cGtpICRMSUJTIg0KSW5k ZXg6IHN5c3V0aWxzL2JhY3VsYS1zZXJ2ZXIvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl OiAvaG9tZS9wY3ZzL3BvcnRzL3N5c3V0aWxzL2JhY3VsYS1zZXJ2ZXIvTWFrZWZpbGUsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjY4DQpkaWZmIC11IC1yMS42OCBNYWtlZmlsZQ0KLSAtLS0gc3lz dXRpbHMvYmFjdWxhLXNlcnZlci9NYWtlZmlsZQkxMiBKdW4gMjAwNiAxNTozNjo1MiAtMDAwMAkx LjY4DQorKysgc3lzdXRpbHMvYmFjdWxhLXNlcnZlci9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoy MjoxMyAtMDAwMA0KQEAgLTExOCw5ICsxMTgsOCBAQA0KIC5lbmRpZg0KICMgQnVpbGQgd3gtY29u c29sZQ0KIC5pZiBkZWZpbmVkKFdJVEhfV1hDT05TT0xFKQ0KK1VTRV9XWD0JCQkyLjQNCiBDT05G SUdVUkVfQVJHUys9CS0tZW5hYmxlLXd4LWNvbnNvbGUNCi0gLUxJQl9ERVBFTkRTKz0JCXd4X2d0 azItMi40LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjQNCi0gLUNPTkZJR1VSRV9F TlYrPQkJV1hDT05GSUc9JHtYMTFCQVNFfS9iaW4vd3hndGsyLTIuNC1jb25maWcNCiBQTElTVF9T VUIrPQkJV1hDT05TPSIiDQogLmVsc2UNCiAjIFdlIGRpZG4ndCBuZWVkIEdUSyAoaXQncyBub3Qg cG9zc2libGUgdG8gcHV0IFdBTlRfR05PTUUgaW4gYW4gLmlmIHN0YXRlbWVudCEpDQpJbmRleDog c3lzdXRpbHMvYmFjdWxhLXNlcnZlci1kZXZlbC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvc3lzdXRpbHMvYmFjdWxhLXNlcnZlci1kZXZlbC9NYWtlZmls ZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNA0KZGlmZiAtdSAtcjEuNCBNYWtlZmlsZQ0KLSAt LS0gc3lzdXRpbHMvYmFjdWxhLXNlcnZlci1kZXZlbC9NYWtlZmlsZQk3IEp1biAyMDA2IDE3OjMw OjI0IC0wMDAwCTEuNA0KKysrIHN5c3V0aWxzL2JhY3VsYS1zZXJ2ZXItZGV2ZWwvTWFrZWZpbGUJ MTMgSnVuIDIwMDYgMjM6MjI6MTQgLTAwMDANCkBAIC0xMTUsOSArMTE1LDggQEANCiAuZW5kaWYN CiAjIEJ1aWxkIHd4LWNvbnNvbGUNCiAuaWYgZGVmaW5lZChXSVRIX1dYQ09OU09MRSkNCitVU0Vf V1g9CQkJMi40DQogQ09ORklHVVJFX0FSR1MrPQktLWVuYWJsZS13eC1jb25zb2xlDQotIC1MSUJf REVQRU5EUys9CQl3eF9ndGsyLTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0 DQotIC1DT05GSUdVUkVfRU5WKz0JCVdYQ09ORklHPSR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQt Y29uZmlnDQogUExJU1RfU1VCKz0JCVdYQ09OUz0iIg0KIC5lbHNlDQogIyBXZSBkaWRuJ3QgbmVl ZCBHVEsgKGl0J3Mgbm90IHBvc3NpYmxlIHRvIHB1dCBXQU5UX0dOT01FIGluIGFuIC5pZiBzdGF0 ZW1lbnQhKQ0KSW5kZXg6IHRleHRwcm9jL3B5LWRzdi9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9ob21lL3BjdnMvcG9ydHMvdGV4dHByb2MvcHktZHN2L01ha2VmaWxlLHYNCnJldHJp ZXZpbmcgcmV2aXNpb24gMS43DQpkaWZmIC11IC1yMS43IE1ha2VmaWxlDQotIC0tLSB0ZXh0cHJv Yy9weS1kc3YvTWFrZWZpbGUJMjAgSnVsIDIwMDUgMTQ6NDc6NDkgLTAwMDAJMS43DQorKysgdGV4 dHByb2MvcHktZHN2L01ha2VmaWxlCTEzIEp1biAyMDA2IDIzOjIyOjE0IC0wMDAwDQpAQCAtMTcs NyArMTcsOCBAQA0KIENPTU1FTlQ9CUEgUHl0aG9uIG1vZHVsZSB0byBwYXJzZSBvciB3cml0ZSBk ZWxpbWV0ZXItc2VwYXJhdGVkIChlLmcuIENTVikgZmlsZXMNCiANCiAuaWYgZGVmaW5lZChXSVRI X0dVSSkNCi0gLVJVTl9ERVBFTkRTPQkke1BZVEhPTl9TSVRFTElCRElSfS93eFB5dGhvbi9fX2lu aXRfXy5weToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNA0KK1VTRV9XWD0J CTIuNA0KK1dYX0NPTVBTPQlweXRob25fcnVuDQogLmVuZGlmDQogDQogVVNFX1BZVEhPTj0JeWVz DQpJbmRleDogeDExLWZtL2phZmZtL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hv bWUvcGN2cy9wb3J0cy94MTEtZm0vamFmZm0vTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjINCmRpZmYgLXUgLXIxLjIgTWFrZWZpbGUNCi0gLS0tIHgxMS1mbS9qYWZmbS9NYWtlZmls ZQkyMSBNYXkgMjAwNiAxOTowMzo0NCAtMDAwMAkxLjINCisrKyB4MTEtZm0vamFmZm0vTWFrZWZp bGUJMTMgSnVuIDIwMDYgMjM6MjI6MTQgLTAwMDANCkBAIC0xNCw5ICsxNCw4IEBADQogTUFJTlRB SU5FUj0Jc2hhdW5AaW5lcmQuY29tDQogQ09NTUVOVD0JQSBsaWdodHdlaWdodCBmaWxlIG1hbmFn ZXIgaW5zcGlyZWQgYnkgTWFjT1MgRmluZGVyDQogDQotIC1XWEdUS19WRVI/PQkyLjYNCi0gLQ0K IFVTRV9CWklQMj0JeWVzDQorVVNFX1dYPQkJMi40LTIuNg0KIFVTRV9YX1BSRUZJWD0JeWVzDQog QUxMX1RBUkdFVD0JJHtQT1JUTkFNRX0NCiANCkBAIC0yNCwxOSArMjMsOSBAQA0KIA0KIC5pbmNs dWRlIDxic2QucG9ydC5wcmUubWs+DQogDQotIC0uaWYgJHtXWEdUS19WRVJ9ID09ICIyLjQiIHx8 IFwNCi0gLSAgICAoZXhpc3RzKCR7WDExQkFTRX0vYmluL3d4Z3RrMi0yLjQtY29uZmlnKSAmJiBc DQotIC0gICAgIWV4aXN0cygke1gxMUJBU0V9L2Jpbi93eGd0azItMi42LWNvbmZpZykpDQotIC1M SUJfREVQRU5EUys9CXd4X2d0azJfY29yZS0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMv d3hndGsyNA0KLSAtV1hHVEtfVkVSPQkyLjQNCi0gLS5lbHNlDQotIC1MSUJfREVQRU5EUys9CXd4 X2d0azJfY29yZS0yLjYuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNg0KLSAtV1hH VEtfVkVSPQkyLjYNCi0gLS5lbmRpZg0KLSAtDQogcG9zdC1wYXRjaDoNCiAJQCR7UkVJTlBMQUNF X0NNRH0gLWUgJ3MjXlBSRUZJWD0uKiNQUkVGSVg9JHtQUkVGSVh9IycgXA0KLSAtCQktZSAncyMk JChzaGVsbCB3eC1jb25maWcgXCguKlwpKSNgJHtYMTFCQVNFfS9iaW4vd3hndGsyLSR7V1hHVEtf VkVSfS1jb25maWcgXDFgIycgXA0KKwkJLWUgJ3MjJCQoc2hlbGwgd3gtY29uZmlnIFwoLipcKSkj YCR7V1hfQ09ORklHfSBcMWAjJyBcDQogCQktZSAncyNeRkxBR1M9LWdnZGIjRkxBR1M9JHtDRkxB R1N9IycgXA0KIAkJJHtXUktTUkN9L01ha2VmaWxlDQogDQpJbmRleDogeDExLXRvb2xraXRzL3B5 LVNjaVBhcmFtL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0 cy94MTEtdG9vbGtpdHMvcHktU2NpUGFyYW0vTWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjYNCmRpZmYgLXUgLXIxLjYgTWFrZWZpbGUNCi0gLS0tIHgxMS10b29sa2l0cy9weS1TY2lQ YXJhbS9NYWtlZmlsZQkxMiBKYW4gMjAwNiAxMjo1NDoyOCAtMDAwMAkxLjYNCisrKyB4MTEtdG9v bGtpdHMvcHktU2NpUGFyYW0vTWFrZWZpbGUJMTMgSnVuIDIwMDYgMjM6MjI6MTQgLTAwMDANCkBA IC0xOSwxMSArMTksMTEgQEANCiBNQUlOVEFJTkVSPQlwb3J0c0BGcmVlQlNELm9yZw0KIENPTU1F TlQ9CVNjaWVudGlmaWMgUGFyYW1ldGVyIERpYWxvZ3MgaW4gd3hQeXRob24gYmFzZWQgdXNlciBp bnRlcmZhY2VzDQogDQotIC1SVU5fREVQRU5EUz0JJHtQWVRIT05fU0lURUxJQkRJUn0vd3gvX19p bml0X18ucHk6JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQNCi0gLQ0KIFVT RV9CWklQMj0JeWVzDQogVVNFX1BZVEhPTj0JeWVzDQogVVNFX1BZRElTVFVUSUxTPQl5ZXMNCitV U0VfV1g9CQkyLjQNCitXWF9DT01QUz0JcHl0aG9uX3J1bg0KIA0KIC5pZiAhZGVmaW5lZChOT1BP UlRET0NTKQ0KIERPQ1NESVI9CSR7UFJFRklYfS9zaGFyZS9kb2MvcHktJHtQT1JUTkFNRX0NCklu ZGV4OiB4MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9ob21lL3BjdnMvcG9ydHMveDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQvTWFrZWZp bGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUzDQpkaWZmIC11IC1yMS41MyBNYWtlZmlsZQ0K LSAtLS0geDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjQvTWFrZWZpbGUJMjAgSmFuIDIwMDYgMDA6 MTg6MzYgLTAwMDAJMS41Mw0KKysrIHgxMS10b29sa2l0cy9weS13eFB5dGhvbjI0L01ha2VmaWxl CTEzIEp1biAyMDA2IDIzOjIyOjE0IC0wMDAwDQpAQCAtMjYsNiArMjYsNyBAQA0KIFVTRV9QWVRI T049CXllcw0KIFVTRV9QWURJU1RVVElMUz15ZXMNCiBQWURJU1RVVElMU19CVUlMREFSR1M9CVdY X0NPTkZJRz0iJHtXWF9DT05GSUd9Ig0KK1VTRV9XWD0JCTIuNA0KIERFTU9fRElSPQkke1BZVEhP TlBSRUZJWF9TSVRFTElCRElSfS93eFB5dGhvbi9kZW1vDQogDQogcG9zdC1idWlsZDoNCkBAIC01 Miw5ICs1Myw2IEBADQogQlJPS0VOPQkJIkRvZXMgbm90IGJ1aWxkIG9uIGlhNjQiDQogLmVuZGlm DQogDQotIC1MSUJfREVQRU5EUz0Jd3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtp dHMvd3hndGsyNA0KLSAtV1hfQ09ORklHPQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZp Zw0KLSAtDQogQ09ORklHVVJFX0FSR1MrPQktLWVuYWJsZS1ndGsyDQogUFlESVNUVVRJTFNfQlVJ TERBUkdTKz0JV1hQT1JUPWd0azINCiBQWURJU1RVVElMU19JTlNUQUxMQVJHUzo9CSR7UFlESVNU VVRJTFNfSU5TVEFMTEFSR1N9ICR7UFlESVNUVVRJTFNfQlVJTERBUkdTfQ0KSW5kZXg6IHgxMS10 b29sa2l0cy9weS13eFB5dGhvbjI2L01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hv bWUvcGN2cy9wb3J0cy94MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNi9NYWtlZmlsZSx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuNjANCmRpZmYgLXUgLXIxLjYwIE1ha2VmaWxlDQotIC0tLSB4MTEt dG9vbGtpdHMvcHktd3hQeXRob24yNi9NYWtlZmlsZQkxMyBNYXkgMjAwNiAyMTozODo0NSAtMDAw MAkxLjYwDQorKysgeDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYvTWFrZWZpbGUJMTMgSnVuIDIw MDYgMjM6MjI6MTQgLTAwMDANCkBAIC0yOCw2ICsyOCw4IEBADQogCQkJV1hfQ09ORklHPSIke1dY X0NPTkZJR30iIFwNCiAJCQlXWFBPUlQ9IiR7V1hQT1JUfSINCiBQWURJU1RVVElMU19DT05GSUdV UkVBUkdTPQkke1BZRElTVFVUSUxTX0JVSUxEQVJHU30NCitVU0VfV1g9CQkyLjYNCitXWF9DT01Q Uz0JY29udHJpYg0KIERFTU9fRElSPQkke1BZVEhPTlBSRUZJWF9TSVRFTElCRElSfS93eFB5dGhv bi9kZW1vDQogV1hQT1JUPQkJZ3RrMg0KIA0KQEAgLTYzLDI3ICs2NSwxNSBAQA0KIC5pbmNsdWRl IDxic2QucG9ydC5wcmUubWs+DQogDQogIyBhcmUgd2UgcmVhZHkgZm9yIHVuaWNvZGU/DQotIC0u aWYgZGVmaW5lZChXSVRIX1VOSUNPREUpDQorLmlmIGRlZmluZWQoV0lUSF9XWFBZVEhPTl9VTklD T0RFKQ0KIC4gaWYgJHtPU1ZFUlNJT059IDwgNTAwMDAwDQogSUdOT1JFPQlzeXN0ZW1zIHByaW9y IHRvIEZyZWVCU0QgNS4wIGRvIG5vdCBzdXBwb3J0IFVuaWNvZGUNCiAuIGVuZGlmDQogLmVuZGlm DQogDQotIC0jIGJ1aWxkIGRlcGVuZGVuY2llcw0KLSAtLmlmIGRlZmluZWQoV0lUSF9VTklDT0RF KQ0KLSAtQlVJTERfREVQRU5EUys9CSR7V1hfQ09ORklHfToke1BPUlRTRElSfS94MTEtdG9vbGtp dHMvd3hndGsyNi11bmljb2RlDQotIC0NCi0gLVdYX0NPTkZJRz0JJHtYMTFCQVNFfS9iaW4vd3hn dGsydS0yLjYtY29uZmlnDQotIC0uZWxzZQ0KLSAtQlVJTERfREVQRU5EUys9CSR7V1hfQ09ORklH fToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNg0KLSAtDQotIC1XWF9DT05GSUc9CSR7 WDExQkFTRX0vYmluL3d4Z3RrMi0yLjYtY29uZmlnDQotIC0uZW5kaWYNCi0gLQ0KICMgd3ggdmVy c2lvbg0KIC5pZiBleGlzdHMoJHtXWF9DT05GSUd9KQ0KIFdYX1ZFUlNJT04hPQkke1dYX0NPTkZJ R30gLS1yZWxlYXNlDQotIC0NCiBQTElTVF9TVUIrPQlXWF9WRVJTSU9OPSR7V1hfVkVSU0lPTn0N CiAuZW5kaWYNCiANCkBAIC0xMDMsOSArOTMsOCBAQA0KIAkJCUlOU1RBTExfTVVMVElWRVJTSU9O PTANCiBJTlNUQUxMU19TSExJQj0JeWVzDQogDQotIC0uIGlmIGRlZmluZWQoV0lUSF9VTklDT0RF KQ0KLSAtTElCX0RFUEVORFMrPQl3eF9ndGsydV9jb3JlLTIuNi4wOiR7UE9SVFNESVJ9L3gxMS10 b29sa2l0cy93eGd0azI2LXVuaWNvZGUgXA0KLSAtCQl3eF9ndGsydV9naXptb3MtMi42LjA6JHtQ T1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjYtdW5pY29kZS1jb250cmliDQorLiBpZiBkZWZp bmVkKFdJVEhfV1hQWVRIT05fVU5JQ09ERSkNCitXWF9VTklDT0RFPQl5ZXMNCiANCiBQS0dOQU1F U1VGRklYPQktdW5pY29kZQ0KIA0KQEAgLTExMywxMSArMTAyLDggQEANCiAJCQlVTklDT0RFPTEN CiBXWF9QWVRIT05fRElSPQl3eC0ke1dYX1ZFUlNJT059LSR7V1hQT1JUfS11bmljb2RlDQogLiBl bHNlDQotIC1MSUJfREVQRU5EUys9CXd4X2d0azJfY29yZS0yLjYuMDoke1BPUlRTRElSfS94MTEt dG9vbGtpdHMvd3hndGsyNiBcDQotIC0JCXd4X2d0azJfZ2l6bW9zLTIuNi4wOiR7UE9SVFNESVJ9 L3gxMS10b29sa2l0cy93eGd0azI2LWNvbnRyaWINCi0gLQ0KIFdYX1BZVEhPTl9ESVI9d3gtJHtX WF9WRVJTSU9OfS0ke1dYUE9SVH0tYW5zaQ0KLSAtLiBlbmRpZiAjIGRlZmluZWQoV0lUSF9VTklD T0RFKQ0KKy4gZW5kaWYgIyBkZWZpbmVkKFdJVEhfV1hQWVRIT05fVU5JQ09ERSkNCiANCiAjIHBs aXN0IHN1YnN0aXR1dGlvbnMgYW5kIGxpYnJhcnkgZGlycw0KIFBMSVNUX1NVQis9CVdYX1BZVEhP Tl9ESVI9JHtXWF9QWVRIT05fRElSfQ0KSW5kZXg6IHgxMS10b29sa2l0cy9weS13eFB5dGhvbjI2 LWNvbW1vbi9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMv eDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYtY29tbW9uL01ha2VmaWxlLHYNCnJldHJpZXZpbmcg cmV2aXNpb24gMS40DQpkaWZmIC11IC1yMS40IE1ha2VmaWxlDQotIC0tLSB4MTEtdG9vbGtpdHMv cHktd3hQeXRob24yNi1jb21tb24vTWFrZWZpbGUJMjAgQXByIDIwMDYgMTc6MDQ6MDQgLTAwMDAJ MS40DQorKysgeDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYtY29tbW9uL01ha2VmaWxlCTEzIEp1 biAyMDA2IDIzOjIyOjE0IC0wMDAwDQpAQCAtMTMsNiArMTMsNCBAQA0KIA0KIFBMSVNUPQkkey5D VVJESVJ9L3BrZy1wbGlzdA0KIA0KLSAtTElCX0RFUEVORFMrPSAgd3hfZ3RrMl9zdGMtMi42LjA6 JHtQT1JUU0RJUn0veDExLXRvb2xraXRzL3d4Z3RrMjYtY29udHJpYg0KLSAtDQogLmluY2x1ZGUg IiR7TUFTVEVSRElSfS9NYWtlZmlsZSINCkluZGV4OiB4MTEtdG9vbGtpdHMvcHktd3hQeXRob24y Ni11bmljb2RlL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0 cy94MTEtdG9vbGtpdHMvcHktd3hQeXRob24yNi11bmljb2RlL01ha2VmaWxlLHYNCnJldHJpZXZp bmcgcmV2aXNpb24gMS4xDQpkaWZmIC11IC1yMS4xIE1ha2VmaWxlDQotIC0tLSB4MTEtdG9vbGtp dHMvcHktd3hQeXRob24yNi11bmljb2RlL01ha2VmaWxlCTIgT2N0IDIwMDUgMDg6MjE6NDIgLTAw MDAJMS4xDQorKysgeDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYtdW5pY29kZS9NYWtlZmlsZQkx MyBKdW4gMjAwNiAyMzoyMjoxNCAtMDAwMA0KQEAgLTUsNyArNSw3IEBADQogIyAkRnJlZUJTRDog cG9ydHMveDExLXRvb2xraXRzL3B5LXd4UHl0aG9uMjYtdW5pY29kZS9NYWtlZmlsZSx2IDEuMSAy MDA1LzEwLzAyIDA4OjIxOjQyIGxpb3V4IEV4cCAkDQogIw0KIA0KLSAtV0lUSF9VTklDT0RFPQl5 ZXMNCitXSVRIX1dYUFlUSE9OX1VOSUNPREU9CXllcw0KIA0KIE1BU1RFUkRJUj0JJHsuQ1VSRElS fS8uLi9weS13eFB5dGhvbjI2DQogDQpJbmRleDogeDExLXRvb2xraXRzL3J1Ynktd3gvTWFrZWZp bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL3gxMS10b29sa2l0cy9y dWJ5LXd4L01ha2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQ0KZGlmZiAtdSAtcjEu MTEgTWFrZWZpbGUNCi0gLS0tIHgxMS10b29sa2l0cy9ydWJ5LXd4L01ha2VmaWxlCTI5IE1heSAy MDA2IDIwOjQ1OjQ4IC0wMDAwCTEuMTENCisrKyB4MTEtdG9vbGtpdHMvcnVieS13eC9NYWtlZmls ZQkxMyBKdW4gMjAwNiAyMzoyMjoxNCAtMDAwMA0KQEAgLTE3LDEyICsxNywxMSBAQA0KIE1BSU5U QUlORVI9CXBvcnRzQEZyZWVCU0Qub3JnDQogQ09NTUVOVD0JUnVieSBiaW5kaW5ncyBmb3Igd3hX aW5kb3dzIChha2Egd3hXaWRnZXRzKQ0KIA0KLSAtTElCX0RFUEVORFM9CXd4X2d0azItMi40OiR7 UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0IFwNCi0gLQkJd3hfZ3RrMl94cmMtMi40OiR7 UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0LWNvbnRyaWINCi0gLQ0KIFVTRV9JQ09OVj0J eWVzDQogVVNFX1JVQlk9CXllcw0KIFVTRV9SVUJZX0VYVENPTkY9CXllcw0KK1VTRV9XWD0JCTIu NA0KK1dYX0NPTVBTPQljb250cmliDQogDQogLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5taz4NCiAN CkBAIC0zNiw3ICszNSw3IEBADQogcG9zdC1wYXRjaDoNCiAJQCR7RklORH0gJHtXUktTUkN9IC1u YW1lICoudCB8ICR7WEFSR1N9ICR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8fHwnDQogCUAke1JFSU5Q TEFDRV9DTUR9IC1FICdzLyBodG1sKHByb2Nlc3Nvcnx3aW5kb3cpLm8vLycgJHtXUktTUkN9L2Rl cGVuZA0KLSAtCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzL3d4LWNvbmZpZy93eGd0azItMi40LWNv bmZpZy8nICR7V1JLU1JDfS9leHRjb25mLnJiDQorCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzfHd4 LWNvbmZpZ3wke1dYX0NPTkZJRzpUfXwnICR7V1JLU1JDfS9leHRjb25mLnJiDQogDQogLmlmICFk ZWZpbmVkKE5PUE9SVERPQ1MpDQogcG9zdC1pbnN0YWxsOg0KSW5kZXg6IHgxMS10b29sa2l0cy93 eGd0azI0LWNvbnRyaWIvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9wY3Zz L3BvcnRzL3gxMS10b29sa2l0cy93eGd0azI0LWNvbnRyaWIvTWFrZWZpbGUsdg0KcmV0cmlldmlu ZyByZXZpc2lvbiAxLjgNCmRpZmYgLXUgLXIxLjggTWFrZWZpbGUNCi0gLS0tIHgxMS10b29sa2l0 cy93eGd0azI0LWNvbnRyaWIvTWFrZWZpbGUJNSBOb3YgMjAwNSAwNToxOTowOCAtMDAwMAkxLjgN CisrKyB4MTEtdG9vbGtpdHMvd3hndGsyNC1jb250cmliL01ha2VmaWxlCTEzIEp1biAyMDA2IDIz OjIyOjE0IC0wMDAwDQpAQCAtMTAsOSArMTAsOSBAQA0KIE1BSU5UQUlORVI9CWZqb2VARnJlZUJT RC5vcmcNCiBDT01NRU5UPQlUaGUgd3hXaWRnZXRzIEdVSSB0b29sa2l0IGNvbnRyaWJ1dGVkIGxp YnJhcmllcw0KIA0KK1VTRV9XWD0JCTIuNA0KIFdYR1RLX0ZMQVZPUj0JZ3RrMi1jb250cmliDQog TUFTVEVSRElSPQkkey5DVVJESVJ9Ly4uL3d4Z3RrMjQNCi0gLUxJQl9ERVBFTkRTPQl3eF9ndGsy LTIuNC4wOiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy93eGd0azI0DQogDQogQlVJTERfV1JLU1JD PQkke1dSS1NSQ30vY29udHJpYi9zcmMNCiBJTlNUQUxMX1dSS1NSQz0JJHtCVUlMRF9XUktTUkN9 DQpJbmRleDogeDExLXRvb2xraXRzL3d4Z3RrMjYvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvaG9tZS9wY3ZzL3BvcnRzL3gxMS10b29sa2l0cy93eGd0azI2L01ha2VmaWxlLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4yNg0KZGlmZiAtdSAtcjEuMjYgTWFrZWZpbGUNCi0gLS0tIHgx MS10b29sa2l0cy93eGd0azI2L01ha2VmaWxlCTI5IEFwciAyMDA2IDIzOjAzOjAzIC0wMDAwCTEu MjYNCisrKyB4MTEtdG9vbGtpdHMvd3hndGsyNi9NYWtlZmlsZQkxMyBKdW4gMjAwNiAyMzoyMjox NCAtMDAwMA0KQEAgLTY2LDYgKzY2LDcgQEANCiAuZW5kaWYgIyAqLWNvbW1vbg0KIA0KIC5pZiAk e1dYR1RLX0ZMQVZPUjpNKi1jb250cmliKn0gIT0gIiINCitVU0VfV1g9CQkyLjYNCiBCVUlMRF9X UktTUkM9CSR7V1JLU1JDfS9jb250cmliDQogSU5TVEFMTF9XUktTUkM9CSR7QlVJTERfV1JLU1JD fQ0KIA0KQEAgLTczLDM3ICs3NCwyNSBAQA0KIFJVTl9ERVBFTkRTPQkke1gxMUJBU0V9L2luY2x1 ZGUvd3gtMi42L3d4L3N0Yy9zdGMuaDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNi1j b250cmliLWNvbW1vbg0KIA0KIC5pZiAke1dYR1RLX0ZMQVZPUjpNKi11bmljb2RlKn0gIT0gIiIN Ci0gLUxJQl9ERVBFTkRTKz0Jd3hfYmFzZXUtMi42LjA6JHtQT1JUU0RJUn0veDExLXRvb2xraXRz L3d4Z3RrMjYtdW5pY29kZQ0KLSAtLmVsc2UNCi0gLUxJQl9ERVBFTkRTKz0Jd3hfYmFzZS0yLjYu MDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hndGsyNg0KK1dYX1VOSUNPREU9CXllcw0KIC5l bmRpZg0KIA0KIHByZS1jb25maWd1cmU6DQogCUAke0ZJTkR9ICR7QlVJTERfV1JLU1JDfSAtbmFt ZSBNYWtlZmlsZS5pbiAtcHJpbnQwIHwgJHtYQVJHU30gLTAgJHtSRUlOUExBQ0VfQ01EfSBcDQot IC0JCS1lICJzfEBDWFhGTEFHU0B8JHtDRkxBR1N9IGAke1dYR1RLX0NPTkZJR30gLS1jeHhmbGFn c2B8IiBcDQotIC0JCS1lICJzfEBDRkxBR1NAfCR7Q0ZMQUdTfSBgJHtXWEdUS19DT05GSUd9IC0t Y2ZsYWdzYHwiIFwNCisJCS1lICJzfEBDWFhGTEFHU0B8JHtDRkxBR1N9IGAke1dYX0NPTkZJR30g LS1jeHhmbGFnc2B8IiBcDQorCQktZSAic3xAQ0ZMQUdTQHwke0NGTEFHU30gYCR7V1hfQ09ORklH fSAtLWNmbGFnc2B8IiBcDQogCQktZSAic3xAQ1BQRkxBR1NAfHwiDQogDQogLmVuZGlmICMgIWd0 azItY29udHJpYi1jb21tb24NCiAuZW5kaWYgIyAqLWNvbnRyaWIqDQogDQotIC1wb3N0LXBhdGNo Og0KLSAtCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzfHBrZ19jb25maWdfYXJncyAtLWNmbGFnc3xw a2dfY29uZmlnX2FyZ3MgcGFuZ294IC0tY2ZsYWdzfGcgOyBcDQotIC0JCXN8cGtnX2NvbmZpZ19h cmdzIC0tbGlic3xwa2dfY29uZmlnX2FyZ3MgcGFuZ294IC0tbGlic3xnJyBcDQotIC0JCQkke1dS S1NSQ30vY29uZmlndXJlDQotIC0NCi0gLS5pbmNsdWRlIDxic2QucG9ydC5wcmUubWs+DQotIC0N CiAuaWYgJHtXWEdUS19GTEFWT1I6TSotdW5pY29kZSp9ICE9ICIiDQotIC0uaWYgJHtPU1ZFUlNJ T059IDwgNTAwMDAwDQotIC1JR05PUkU9CXN5c3RlbXMgcHJpb3IgdG8gRnJlZUJTRCA1LjAgY3Vy cmVudGx5IG91dCBvZiBzdXBwb3J0DQotIC0uZWxzZQ0KIENPTkZJR1VSRV9BUkdTKz0tLWVuYWJs ZS11bmljb2RlDQogLmVuZGlmDQogDQotIC1XWEdUS19DT05GSUc9CSR7WDExQkFTRX0vYmluL3d4 Z3RrMnUtMi42LWNvbmZpZw0KLSAtLmVsc2UNCi0gLVdYR1RLX0NPTkZJRz0JJHtYMTFCQVNFfS9i aW4vd3hndGsyLTIuNi1jb25maWcNCi0gLS5lbmRpZiAjICotdW5pY29kZSoNCitwb3N0LXBhdGNo Og0KKwlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3xwa2dfY29uZmlnX2FyZ3MgLS1jZmxhZ3N8cGtn X2NvbmZpZ19hcmdzIHBhbmdveCAtLWNmbGFnc3xnIDsgXA0KKwkJc3xwa2dfY29uZmlnX2FyZ3Mg LS1saWJzfHBrZ19jb25maWdfYXJncyBwYW5nb3ggLS1saWJzfGcnIFwNCisJCQkke1dSS1NSQ30v Y29uZmlndXJlDQogDQotIC0uaW5jbHVkZSA8YnNkLnBvcnQucG9zdC5taz4NCisuaW5jbHVkZSA8 YnNkLnBvcnQubWs+DQpJbmRleDogeDExLXRvb2xraXRzL3d4bW96aWxsYS9NYWtlZmlsZQ0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9ydHMveDExLXRvb2xraXRzL3d4bW96aWxs YS9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjENCmRpZmYgLXUgLXIxLjIxIE1h a2VmaWxlDQotIC0tLSB4MTEtdG9vbGtpdHMvd3htb3ppbGxhL01ha2VmaWxlCTEzIE1heSAyMDA2 IDA1OjAwOjQwIC0wMDAwCTEuMjENCisrKyB4MTEtdG9vbGtpdHMvd3htb3ppbGxhL01ha2VmaWxl CTEzIEp1biAyMDA2IDIzOjIyOjE0IC0wMDAwDQpAQCAtMTYsMTYgKzE2LDE0IEBADQogTUFJTlRB SU5FUj0JcG9ydHNARnJlZUJTRC5vcmcNCiBDT01NRU5UPQlFbWJlZGRpbmcgTW96aWxsYSBpbiB3 eFdpZGdldHMNCiANCi0gLUJVSUxEX0RFUEVORFM9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4UHl0 aG9uL19faW5pdF9fLnB5OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy9weS13eFB5dGhvbjI0DQot IC1MSUJfREVQRU5EUz0Jd3hfZ3RrMi0yLjQuMDoke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvd3hn dGsyNA0KLSAtUlVOX0RFUEVORFM9CSR7QlVJTERfREVQRU5EU30NCi0gLQ0KIFVTRV9QWVRIT049 CXllcw0KIFVTRV9HTk9NRT0JZ25vbWVoYWNrIGdub21ldGFyZ2V0DQogVVNFX0dFQ0tPPQltb3pp bGxhDQotIC1XWEdUS19DT05GSUc/PQkke1gxMUJBU0V9L2Jpbi93eGd0azItMi40LWNvbmZpZw0K IFVTRV9BVVRPVE9PTFM9CWxpYnRvb2w6MTUNCi0gLUNPTkZJR1VSRV9BUkdTPQktLXdpdGgtd3gt Y29uZmlnPSR7V1hHVEtfQ09ORklHfSAtLWVuYWJsZS1weXRob24NCitDT05GSUdVUkVfQVJHUz0J LS1lbmFibGUtcHl0aG9uDQorVVNFX1dYPQkJMi40DQorV1hfQ09NUFM9CXB5dGhvbg0KK1dYX0NP TkZfQVJHUz0JYWJzb2x1dGUNCiBJTlNUQUxMU19TSExJQj0JeWVzDQogDQogLmluY2x1ZGUgPGJz ZC5wb3J0LnByZS5taz4NCi0gLS0tLS0tLS0tLSBFTkQgLS0tLS0tLS0tLQ0KDQpCZXN0IFJlZ2Fy ZHMsDQpBbGUNCi0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tDQpWZXJzaW9uOiBHbnVQRyB2 MS40LjMgKEZyZWVCU0QpDQoNCmlEOERCUUZFajExeGlWMDVFcFJjUDJFUkFwN2VBS0NlVEthbnRy Vi84V0FtaG10WUVZRmlVUFFtQ2dDZ2tkMXUNClkrRFlYN3E5ZWhta0lVcVNweTlxTC9JPQ0KPS9o WFUNCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ0K
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMQ0KDQpUaGlzIGRp ZmYgcmVwbGFjZXMgdGhlIHBhdGNoZXMgZm9yIGJzZC53eC5tayBhbmQgYnNkLnBvcnQubWsuIEl0 IGZpeGVzDQpXQU5UX1dYIChjb21wb25lbnQgZGV0ZWN0aW9uKS4NCg0KLSAtLS0tLS0tLS0tIEJF R0lOIC0tLS0tLS0tLS0NCkluZGV4OiBNay9ic2QucG9ydC5taw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9ob21lL3BjdnMvcG9ydHMvTWsvYnNkLnBvcnQubWssdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjUzMw0KZGlmZiAtdSAtcjEuNTMzIGJzZC5wb3J0Lm1rDQotIC0tLSBNay9ic2QucG9ydC5t awkyMyBNYXkgMjAwNiAyMTo1MzoxOCAtMDAwMAkxLjUzMw0KKysrIE1rL2JzZC5wb3J0Lm1rCTE1 IEp1biAyMDA2IDIwOjQ2OjI0IC0wMDAwDQpAQCAtMTM5Myw2ICsxMzkzLDEwIEBADQogLmluY2x1 ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5nbm9tZS5tayINCiAuZW5kaWYNCiANCisuaWYgZGVmaW5l ZChXQU5UX1dYKSB8fCBkZWZpbmVkKFVTRV9XWCkgfHwgZGVmaW5lZChVU0VfV1hfTk9UKQ0KKy5p bmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Qud3gubWsiDQorLmVuZGlmDQorDQogLmlmIGRlZmlu ZWQoV0FOVF9HU1RSRUFNRVIpIHx8IGRlZmluZWQoVVNFX0dTVFJFQU1FUikgfHwgZGVmaW5lZChV U0VfR1NUUkVBTUVSODApDQogLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5nc3RyZWFtZXIu bWsiDQogLmVuZGlmDQpAQCAtMTg0MSw2ICsxODQ1LDExIEBADQogLmluY2x1ZGUgIiR7UE9SVFNE SVJ9L01rL2JzZC5nbm9tZS5tayINCiAuZW5kaWYNCiANCisuaWYgZGVmaW5lZChVU0VfV1gpIHx8 IGRlZmluZWQoVVNFX1dYX05PVCkNCisuaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLnd4Lm1r Ig0KKy5lbmRpZg0KKw0KKw0KIC5pZiBleGlzdHMoJHtQT1JUU0RJUn0vLi4vTWFrZWZpbGUuaW5j KQ0KIC5pbmNsdWRlICIke1BPUlRTRElSfS8uLi9NYWtlZmlsZS5pbmMiDQogVVNFX1NVQk1BS0U9 CXllcw0KSW5kZXg6IE1rL2JzZC53eC5taw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IE1rL2JzZC53 eC5taw0KZGlmZiAtTiBNay9ic2Qud3gubWsNCi0gLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAw OjAwOjAwIC0wMDAwDQorKysgTWsvYnNkLnd4Lm1rCTE1IEp1biAyMDA2IDIwOjQ2OjI0IC0wMDAw DQpAQCAtMCwwICsxLDUzNCBAQA0KKyMtKi0gbW9kZTogbWFrZWZpbGU7IHRhYi13aWR0aDogNDsg LSotDQorIyBleDp0cz00DQorIw0KKyMgJEZyZWVCU0QkDQorIw0KKyMgYnNkLnd4Lm1rIC0gU3Vw cG9ydCBmb3IgV3hXaWRnZXRzIGJhc2VkIHBvcnRzLg0KKyMNCisjIENyZWF0ZWQgYnk6IEFsZWph bmRybyBQdWx2ZXIgPGFsZXB1bHZlckBGcmVlQlNELm9yZz4NCisjDQorIyBQbGVhc2UgdmlldyBt ZSB3aXRoIDQgY29sdW1uIHRhYnMhDQorIw0KKyMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgY2Fu IGJlIGRlZmluZWQgaW4gYSBwb3J0IHRoYXQgdXNlcyB0aGUgV3hXaWRnZXRzDQorIyBsaWJyYXJ5 LCBjb250cmlidXRlZCBsaWJyYXJpZXMsIFd4UHl0aG9uIGFuZC9vciBtb3JlIFd4V2lkZ2V0cyBy ZWxhdGVkDQorIyBjb21wb25lbnRzICh3aXRoIHJ1biBhbmQvb3IgYnVpbGQgZGVwZW5kZW5jaWVz KS4gSXQgY2FuIGJlIHVzZWQgYWZ0ZXIgYW5kL29yDQorIyBiZWZvcmUgYnNkLnBvcnQucHJlLm1r LCBidXQgUHl0aG9uIGNvbXBvbmVudHMgd2lsbCBvbmx5IHdvcmsgaWYgUHl0aG9uDQorIyB2YXJp YWJsZXMgKGUuZy4gVVNFX1BZVEhPTikgYXJlIGRlZmluZWQgYmVmb3JlIGl0ICh0aGlzIGlzIGEg YnNkLnB5dGhvbi5taw0KKyMgbGltaXRhdGlvbikuDQorIyBVU0VfV1gJCS0gU2V0IHRvIHRoZSBs aXN0IG9mIFd4V2lkZ2V0cyB2ZXJzaW9ucyB0aGF0IGNhbiBiZSB1c2VkIGJ5DQorIwkJCQkgIHRo ZSBwb3J0LiBUaGUgc3ludGF4IGFsbG93cyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOg0KKyMJCQkJ ICAtIFNpbmdsZSB2ZXJzaW9uIChlLmcuICIyLjQiKS4NCisjCQkJCSAgLSBSYW5nZSBvZiB2ZXJz aW9ucyAoZS5nLiAiMi40LTIuNiIpLiBNdXN0IGJlIGFzY2VuZGluZy4NCisjCQkJCSAgLSBQYXJ0 aWFsIHJhbmdlOiBzaW5nbGUgdmVyc2lvbiBhbmQgdXBwZXIgKGUuZy4gIjIuNCsiKS4NCisjCQkJ CSAgLSBQYXJ0aWFsIHJhbmdlOiBzaW5nbGUgdmVyc2lvbiBhbmQgbG93ZXIgKGUuZy4gIi0yLjYi KS4NCisjCQkJCSAgTXVsdGlwbGUgZWxlbWVudHMgY2FuIGJlIHNwZWNpZmllZCBzZXBhcmF0ZWQg Ynkgc3BhY2VzLg0KKyMgVVNFX1dYX05PVAktIFNldCB0byB0aGUgbGlzdCBvZiBXeFdpZGdldHMg dmVyc2lvbnMgdGhhdCBjYW4ndCBiZSB1c2VkIGJ5DQorIwkJCQkgIHRoZSBwb3J0LiBJbiBvdGhl ciB3b3JkcywgaXQgcmVtb3ZlcyBzb21lIHZlcnNpb25zIGZyb20NCisjCQkJCSAgVVNFX1dYLiBJ ZiB0aGUgbGF0dGVyIGlzIG5vdCBkZWZpbmVkLCBpdCB3aWxsIGhhdmUgdGhlIHZhbHVlDQorIwkJ CQkgIG9mIGFsbCB0aGUgcG9zc2libGUgdmVyc2lvbnMuIFRoZSBzeW50YXggaXMgbGlrZSBVU0Vf V1guDQorIyBXWF9DT01QUwkJLSBTZXQgdG8gdGhlIGxpc3Qgb2YgV3hXaWRnZXRzIGNvbXBvbmVu dHMgdGhlIHBvcnQgdXNlcy4NCisjCQkJCSAgU2V2ZXJhbCBjb21wb25lbnRzIGNhbiBiZSBzcGVj aWZpZWQgc2VwYXJhdGVkIGJ5IHNwYWNlcy4gQnkNCisjCQkJCSAgZGVmYXVsdCBpdCB3aWxsIGhh dmUgdGhlIHZhbHVlIG9mICJ3eCIuIFN1ZmZpeGVzIGluIHRoZSBmb3JtDQorIwkJCQkgICJfeHh4 IiBtYXkgYmUgYWRkZWQgdG8gdGhlIGNvbXBvbmVudHMgdG8gZGV0ZXJtaW5lIHRoZQ0KKyMJCQkJ ICBkZXBlbmRlbmN5IHR5cGUuDQorIwkJCQkgIFRoZSBhdmFpbGFibGUgY29tcG9uZW50cyBhcmU6 DQorIwkJCQkgIHd4CQkJLSBUaGUgV3hXaWRnZXRzIGxpYnJhcnkuDQorIwkJCQkgIGNvbnRyaWIJ CS0gVGhlIFd4V2lkZ2V0cyBjb250cmlidXRlZCBsaWJyYXJpZXMuDQorIwkJCQkgIHB5dGhvbgkJ LSBUaGUgV3hXaWRnZXRzIEFQSSBmb3IgUHl0aG9uIChXeFB5dGhvbikuDQorIwkJCQkgIG1vemls bGEJCS0gV3hNb3ppbGxhIChvbmx5IGZvciAyLjQpLg0KKyMJCQkJICBzdmcJCQktIFd4U1ZHIChv bmx5IGZvciAyLjYpLg0KKyMJCQkJICBUaGUgYXZhaWxhYmxlIGRlcGVuZGVuY3kgdHlwZXMgYXJl Og0KKyMJCQkJICBidWlsZAkJCS0gUmVxdWlyZXMgY29tcG9uZW50IGZvciBidWlsZGluZy4NCisj CQkJCSAgbGliCQkJLSBSZXF1aXJlcyBjb21wb25lbnQgZm9yIGJ1aWxkaW5nIGFuZCBydW5uaW5n Lg0KKyMJCQkJICBydW4JCQktIFJlcXVpcmVzIGNvbXBvbmVudCBmb3IgcnVubmluZy4NCisjCQkJ CSAgSWYgbm8gc3VmZml4IGlzIHByZXNlbnQgdGhlbiAibGliIiB3aWxsIGJlIHVzZWQuDQorIyBX WF9DT05GX0FSR1MJLSBTZXQgdG8gImFic29sdXRlIiBvciAicmVsYXRpdmUiIGlmIHRoZSBwb3J0 IG5lZWRzIGNvbmZpZ3VyZQ0KKyMJCQkJICBhcmd1bWVudHMgaW4gYWRkaXRpb24gdG8gdGhlIFdY X0NPTkZJRyBlbnZpcm9ubWVudCB2YXJpYWJsZS4NCisjCQkJCSAgSXQgZGV0ZXJtaW5lcyB0aGUg dHlwZSBvZiBwYXJhbWV0ZXJzIHRoYXQgaGF2ZSB0byBiZSBwYXNzZWQNCisjCQkJCSAgdG8gdGhl IGNvbmZpZ3VyZSBzY3JpcHQuIEluIHRoZSBmaXJzdCBjYXNlIGl0IGFkZHMNCisjCQkJCSAgIi0t d2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9IiAoYWJzb2x1dGUgcGF0aCBvZiBXWF9DT05GSUcp LA0KKyMJCQkJICBhbmQgaW4gc2Vjb25kIG9uZSAiLS13aXRoLXd4PSR7WDExQkFTRX0iIGFuZA0K KyMJCQkJICAiLS13aXRoLXd4LWNvbmZpZz0ke1dYX0NPTkZJRzpUfSAocHJlZml4IGFuZCBuYW1l KS4NCisjIFdYX1VOSUNPREUJLSBTZXQgdG8gInllcyIgKG9yIGFueXRoaW5nKSBpZiB0aGUgcG9y dCBuZWVkcyB0aGUgVW5pY29kZQ0KKyMJCQkJICB2ZXJzaW9uIG9mIHRoZSBXeFdpZGdldHMgbGli cmFyeSBhbmQvb3IgY29udHJpYnV0ZWQNCisjCQkJCSAgbGlicmFyaWVzLg0KKyMJCQkJICBOT1RF OiB0aGlzIHNob3VsZCBOT1QgYmUgdXNlZCBmb3IgcG9ydHMgdGhhdCBjYW4gYmUgY29tcGlsZWQN CisjCQkJCSAgd2l0aCBVbmljb2RlIG9yIG5vdCwgYnV0IGZvciB0aGUgb25lcyB0aGF0IHJlcXVp cmUgaXQuIFRoZQ0KKyMJCQkJICBmaXJzdCBjYXNlIGlzIGhhbmRsZWQgYnkgdGhlIHVzZXIgdmFy aWFibGUgV0lUSF9VTklDT0RFLg0KKyMgV0FOVF9XWAkJLSBTZXQgdG8gInllcyIgb3IgYSB2YWxp ZCBzaW5nbGUgdmVyc2lvbiAobm8gcmFuZ2VzLCBldGMpLg0KKyMJCQkJICBJbiBib3RoIGNhc2Vz IGl0IHdpbGwgZGV0ZWN0IHRoZSBpbnN0YWxsZWQgV3hXaWRnZXRzDQorIwkJCQkgIGNvbXBvbmVu dHMgYW5kIGFkZCB0aGVtIHRvIHRoZSB2YXJpYWJsZSBIQVZFX1dYLiBJZiBhDQorIwkJCQkgIHZl cnNpb24gaXMgc2VsZWN0ZWQsIEhBVkVfV1ggd2lsbCBjb250YWluIGEgbGlzdCBvZg0KKyMJCQkJ ICBjb21wb25lbnRzIGluIHRoZSBvdGhlciBjYXNlIGl0IHdpbGwgY29udGFpbiBhIGxpc3Qgb2YN CisjCQkJCSAgImNvbXBvbmVudC12ZXJzaW9uIiBwYWlycyAoZS5nLiB3eC0yLjYsIGNvbnRyaWIt Mi40LCBldGMpLg0KKyMJCQkJICBJdCBoYXMgdG8gYmUgdXNlZCBiZWZvcmUgYnNkLnBvcnQucHJl Lm1rLg0KKyMgV0FOVF9XWF9WRVIJLSBTZXQgdG8gdGhlIHByZWZlcmVkIFd4V2lkZ2V0cyB2ZXJz aW9uIGZvciB0aGUgcG9ydC4gSXQgbXVzdA0KKyMJCQkJICBiZSBwcmVzZW50IGluIFVTRV9XWCBv ciBtaXNzaW5nIGluIFVTRV9XWF9OT1QuIFRoaXMgaXMNCisjCQkJCSAgb3ZlcnJpZGVuIGJ5IHRo ZSB1c2VyIHZhcmlhYmxlIFdJVEhfV1hfVkVSIGlmIHNldC4gSXQgY2FuDQorIwkJCQkgIGNvbnRh aW4gbXVsdGlwbGUgdmVyc2lvbnMgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZSAobGFzdCBvbmVzDQor IwkJCQkgIGFyZSB0cmllZCBmaXJzdCkuDQorIw0KKyMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMg YXJlIGludGVuZGVkIGZvciB0aGUgdXNlciBhbmQgY2FuIGJlIGRlZmluZWQgaW4NCisjIG1ha2Uu Y29uZi4NCisjIFdJVEhfVU5JQ09ERQktIElmIHRoZSB2YXJpYWJsZSBpcyBkZWZpbmVkIGFuZCBi b3RoIHRoZSBydW5uaW5nIEZyZWVCU0QNCisjCQkJCSAgdmVyc2lvbiBhbmQgdGhlIHNlbGVjdGVk IFd4V2lkZ2V0cyB2ZXJzaW9uIHN1cHBvcnQgVW5pY29kZSwNCisjCQkJCSAgdGhlbiB0aGUgVW5p Y29kZSB2ZXJzaW9uIG9mIFd4V2lkZ2V0cyBpcyB1c2VkLg0KKyMgV0lUSF9XWF9WRVIJLSBJZiB0 aGUgdmFyaWFibGUgaXMgZGVmaW5lZCB0aGUgdmVyc2lvbiBpdCBjb250YWlucyB3aWxsIGJlDQor IwkJCQkgIHVzZWQgYXMgdGhlIGRlZmF1bHQgZm9yIHBvcnRzIHRoYXQgc3VwcG9ydCBtdWx0aXBs ZQ0KKyMJCQkJICBXeFdpZGdldHMgdmVyc2lvbnMuIEl0IGNhbiBjb250YWluIG11bHRpcGxlIHZl cnNpb25zLCBhbmQNCisjCQkJCSAgdGhlIGxhc3QgcG9zc2libGUgb25lIHdpbGwgYmUgdXNlZC4N CisjDQorIyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBieSB0aGlzIGZpbGUs IHRvIGJlIHJlYWQgZnJvbSB0aGUgcG9ydC4NCisjIFdYX1VOSUNPREUJLSBJZiB0aGlzIHZhcmlh YmxlIGlzIG5vdCBkZWZpbmVkIGJ5IHRoZSBwb3J0ICh3aGljaCBtZWFucyBpdA0KKyMJCQkJICBy ZXF1aXJlcyB0aGUgVW5pY29kZSB2ZXJzaW9uIG9mIFd4V2lkZ2V0cyksIGl0IHdpbGwgYmUNCisj CQkJCSAgZGVmaW5lZCBpbiB0aGUgY2FzZSB0aGUgVW5pY29kZSB2ZXJzaW9uIGlzIHVzZWQgKGVu YWJsZWQgYnkNCisjCQkJCSAgdGhlIHVzZXIgdGhyb3VnaCBXSVRIX1VOSUNPREUpLg0KKyMgV1hf VkVSU0lPTgktIFRoZSBXeFdpZGdldHMgdmVyc2lvbiB0aGF0IGlzIGdvaW5nIHRvIGJlIHVzZWQu DQorIyBIQVZFX1dYCQktIFRoZSBsaXN0IG9mIFd4V2lkZ2V0cyBjb21wb25lbnRzIGluc3RhbGxl ZCwgaWYgV0FOVF9XWCB3YXMNCisjCQkJCSAgZGVmaW5lZC4gVGhlIGNvbXBvbmVudHMgd2lsbCBo YXZlIHZlcnNpb24gc3VmZml4IGlmIGl0IHdhcw0KKyMJCQkJICBzZXQgdG8gInllcyIpLg0KKyMN CisjIEV4YW1wbGVzOg0KKyMgLSBBIHBvcnQgdGhhdCBuZWVkcyBXeFdpZGdldHMgMi42IGFuZCBj b250cmlidXRlZCBsaWJyYXJpZXMgd2l0aCBVbmljb2RlLg0KKyMJVVNFX1dYPQkJMi42DQorIwlX WF9DT01QUz0Jd3ggY29udHJpYg0KKyMJV1hfVU5JQ09ERT0JeWVzDQorIyAtIEEgcG9ydCB0aGF0 IG5lZWRzIFd4UHl0aG9uIDIuNCBmb3IgcnVubmluZy4NCisjCVVTRV9QWVRIT049CXllcw0KKyMJ VVNFX1dYPQkJMi40DQorIwlXWF9DT01QUz0JcHl0aG9uX3J1bg0KKyMgLSBBIHBvcnQgdGhhdCBu ZWVkcyBXeFB5dGhvbiAyLjQgb3IgMi42IGZvciBidWlsZGluZy4NCisjCVVTRV9QWVRIT049CXll cw0KKyMJVVNFX1dYPQkJMi40IDIuNg0KKyMJV1hfQ09NUFM9CXB5dGhvbl9idWlsZA0KKyMgLSBB IHBvcnQgdGhhdCBuZWVkcyBXeFdpZGdldHMgdmVyc2lvbiAyLjQgb3IgaGlnaGVyIGFuZCBjb250 cmlidXRlZA0KKyMJbGlicmFyaWVzLg0KKyMJVVNFX1dYPQkJMi40Kw0KKyMJV1hfQ09NUFM9CXd4 IGNvbnRyaWINCisjIC0gQSBwb3J0IHRoYXQgbmVlZHMgV3hXaWRnZXRzIG9mIGFueSB2ZXJzaW9u IG90aGVyIHRoYW4gMi40Lg0KKyMJVVNFX1dYX05PVD0JMi40DQorIw0KKyMgTm90ZXM6DQorIyAt IFRoZSB2ZXJzaW9uIGlzIHByb2Nlc3NlZCBvbiBlYWNoIGluY2x1c2lvbiwgc28gVVNFX1dYLCBV U0VfV1hfTk9UIGFuZA0KKyMJV1hfVU5JQ09ERSBjYW4gYmUgbW9kaWZpZWQgYmVmb3JlIGFuZCBh ZnRlciBpbmNsdWRpbmcgYnNkLnBvcnQucHJlLm1rLg0KKyMJQWZ0ZXIgZGV0ZXJtaW5pbmcgdGhl IHZlcnNpb24gYW5kIFVuaWNvZGUsIFdYX0NPTkZJRyB3aWxsIGJlIGRlZmluZWQuDQorIw0KKw0K K1dYX0luY2x1ZGVfTUFJTlRBSU5FUj0JYWxlcHVsdmVyQEZyZWVCU0Qub3JnDQorDQorIw0KKyMg R2xvYmFsIGRlZmluaXRpb25zLg0KKyMNCisNCisuaWYgIWRlZmluZWQoX1dYX0RlZmluaXRpb25z X0RvbmUpDQorX1dYX0RlZmluaXRpb25zX0RvbmU9CXllcw0KKw0KKyMNCisjIENvbW1vbiB2YXJp YWJsZXM6DQorIyBfV1hfQ09NUFNfQUxMCQkJLSBMaXN0IG9mIHZhbGlkIGNvbXBvbmVudHMuDQor IyBfV1hfREVQX1RZUEVTX0FMTAkJLSBMaXN0IG9mIHZhbGlkIGRlcGVuZGVuY3kgdHlwZXMuDQor IyBfV1hfVkVSU19BTEwJCQktIExpc3Qgb2Ygc3VwcG9ydGVkIHZlcnNpb25zLg0KKyMgX1dYX1ZF UlNfVUNfQUxMCQktIExpc3Qgb2YgVW5pY29kZSBjYXBhYmxlIHZlcnNpb25zLg0KKyMgX1dYX0NI QU5HRV9WQVJTCQktIExpc3Qgb2YgdmFyaWFibGVzIGFsbG93ZWQgdG8gY2hhbmdlIGJldHdlZW4g cHJlIGFuZA0KKyMJCQkJCQkgIHBvc3QgaW5jbHVzaW9ucyAocmVsYXRlZCB0byB2ZXJzaW9uKS4N CisjIF9XWF9MSVNUU19PUkRFUgkJLSBSZXZlcnNlIGxpc3RzIHByZWZlcmVuY2Ugb3JkZXIuDQor IyBfV1hfQVVUT19WQVJTCQkJLSBWYXJpYWJsZXMgZGVmaW5lZCBzb21ldGltZXMgdGhhdCBtYXkg aGF2ZSB0byBiZQ0KKyMJCQkJCQkgIHJlZGVmaW5lZCBsYXRlci4NCisjDQorDQorX1dYX0NPTVBT X0FMTD0JCQl3eCBjb250cmliIHB5dGhvbiBtb3ppbGxhIHN2Zw0KK19XWF9ERVBfVFlQRVNfQUxM PQkJYnVpbGQgbGliIHJ1bg0KK19XWF9WRVJTX0FMTD0JCQkyLjQgMi42DQorX1dYX1ZFUlNfVUNf QUxMPQkJMi42DQorX1dYX0NIQU5HRV9WQVJTPQkJVVNFX1dYIFVTRV9XWF9OT1QgV1hfVU5JQ09E RQ0KK19XWF9MSVNUU19PUkRFUj0JCV9XWF9WRVJfRklOQUwgV0FOVF9XWF9WRVIgV0lUSF9XWF9W RVINCitfV1hfQVVUT19WQVJTPQkJCVVTRV9XWCBXWF9DT05GSUcNCisNCisjDQorIyBWYXJpYWJs ZXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBpcyBuZWVkZWQ6DQorIyBfV1hfUE9SVF9jb21wX3Zl cgkJLSBQb3J0IGRpcmVjdG9yeS4NCisjIF9XWF9MSUJfY29tcF92ZXIJCS0gTmFtZSBvZiB0aGUg c2hhcmVkIGxpYnJhcnkgKG9wdGlvbmFsKS4NCisjIF9XWF9TSFZFUl9jb21wX3ZlcgktIFNoYXJl ZCBsaWJyYXJ5IHZlcnNpb24gKG9wdGlvbmFsKS4NCisjIF9XWF9GSUxFX2NvbXBfdmVyCQktIEZp bGUgaW5zdGFsbGVkIGJ5IHRoYXQgY29tcG9uZW50Lg0KKyMNCisNCitfV1hfUE9SVF93eF8yLjQ9 CQl3eGd0azI0DQorX1dYX0xJQl93eF8yLjQ9CQkJd3hfZ3RrMi0yLjQNCisNCitfV1hfUE9SVF9j b250cmliXzIuND0Jd3hndGsyNC1jb250cmliDQorX1dYX0xJQl9jb250cmliXzIuND0Jd3hfZ3Rr Ml9jYW52YXMtMi40DQorDQorX1dYX1BPUlRfcHl0aG9uXzIuND0JcHktd3hQeXRob24yNA0KK19X WF9GSUxFX3B5dGhvbl8yLjQ9CSR7UFlUSE9OX1NJVEVMSUJESVJ9L3d4L19faW5pdF9fLnB5DQor DQorX1dYX1BPUlRfbW96aWxsYV8yLjQ9CXd4bW96aWxsYQ0KK19XWF9MSUJfbW96aWxsYV8yLjQ9 CXd4bW96aWxsYV9ndGsyLTIuNA0KKw0KK19XWF9QT1JUX3d4XzIuNj0JCXd4Z3RrMjYke19XWF9V Q0x9DQorX1dYX0xJQl93eF8yLjY9CQkJd3hfYmFzZSR7X1dYX1VDfS0yLjYNCisNCitfV1hfUE9S VF9jb250cmliXzIuNj0Jd3hndGsyNiR7X1dYX1VDTH0tY29udHJpYg0KK19XWF9MSUJfY29udHJp Yl8yLjY9CXd4X2d0azIke19XWF9VQ31fYW5pbWF0ZS0yLjYNCisNCitfV1hfUE9SVF9weXRob25f Mi42PQlweS13eFB5dGhvbjI2JHtfV1hfVUNMfQ0KK19XWF9GSUxFX3B5dGhvbl8yLjY9CSR7UFlU SE9OX1NJVEVMSUJESVJ9L3d4LTIuNi1ndGsyJHtfV1hfUFlTVUZYfS93eC9fX2luaXRfXy5weQ0K Kw0KK19XWF9QT1JUX3N2Z18yLjY9CQl3eHN2Zw0KK19XWF9MSUJfc3ZnXzIuNj0JCXd4c3ZnDQor DQorIyBTZXQgX1dYX1NIVkVSX2NvbXBfdmVyIHRvIDAgYW5kIF9XWF9GSUxFX2NvbXBfdmVyIGZv ciBsaWJzIGFwcHJvcGlhdGVseS4NCisNCisuZm9yIGNvbXAgaW4gJHtfV1hfQ09NUFNfQUxMfQ0K Ky4JZm9yIHZlciBpbiAke19XWF9WRVJTX0FMTH0NCisuCQlpZiBkZWZpbmVkKF9XWF9MSUJfJHtj b21wfV8ke3Zlcn0pDQorX1dYX1NIVkVSXyR7Y29tcH1fJHt2ZXJ9PQkwDQorX1dYX0ZJTEVfJHtj b21wfV8ke3Zlcn09CSR7WDExQkFTRX0vbGliL2xpYiR7X1dYX0xJQl8ke2NvbXB9XyR7dmVyfX0u c28uJHtfV1hfU0hWRVJfJHtjb21wfV8ke3Zlcn19DQorLgkJZW5kaWYNCisuCWVuZGZvcg0KKy5l bmRmb3INCisNCisuZW5kaWYJCSMgIV9XWF9EZWZpbmVkX0RvbmUNCisNCisjDQorIyBDaGVjayBm b3IgcHJlc2VudCBjb21wb25lbnRzLg0KKyMNCisNCisuaWYgIWRlZmluZWQoQUZURVJQT1JUTUsp ICYmIGRlZmluZWQoV0FOVF9XWCkNCisNCisjIENoZWNrIGlmIFVuaWNvZGUgd2lsbCBiZSB1c2Vk Lg0KKw0KKy4JZm9yIF9fV0FOVF9XWCBpbiAke1dBTlRfV1h9DQorLgkJaWYgZGVmaW5lZChXSVRI X1VOSUNPREUpICYmICR7T1NWRVJTSU9OfSA+PSA1MDAwMDAgJiYgXA0KKwkJICAgKCR7X1dYX1ZF UlNfVUNfQUxMOk0ke19fV0FOVF9XWH19ICE9ICIiIHx8ICR7V0FOVF9XWDpMfSA9PSAieWVzIikN CitfV1hfV0FOVF9VTklDT0RFPQkJeWVzDQorLgkJZW5kaWYNCisuCWVuZGZvcg0KKw0KKyMgVGhl c2UgdmFyaWFibGVzIGFyZSByZXByb2Nlc3NlZCBsYXRlciBzbyB0aGV5IHdvbid0IGFmZmVjdCBv dGhlciBwYXJ0cy4NCisNCisuCWlmIGRlZmluZWQoV1hfVU5JQ09ERSkgfHwgZGVmaW5lZChfV1hf V0FOVF9VTklDT0RFKQ0KK19XWF9WRVJfRklOQUw9CQkJJHtfV1hfVkVSU19VQ19BTEx9DQorX1dY X1VDPQkJCQkJdQ0KK19XWF9VQ0w9CQkJCS11bmljb2RlDQorX1dYX1BZU1VGWD0JCQkJLXVuaWNv ZGUNCisuCWVsc2UNCitfV1hfVkVSX0ZJTkFMPQkJCSR7X1dYX1ZFUlNfQUxMfQ0KK19XWF9VQz0J CQkJCSMNCitfV1hfVUNMPQkJCQkjDQorX1dYX1BZU1VGWD0JCQkJLWFuc2kNCisuCWVuZGlmDQor DQorIyBGaWxsIEhBVkVfV1ggd2l0aCB0aGUgaW5zdGFsbGVkIGNvbXBvbmVudHMuDQorDQorLglm b3IgX19XQU5UX1dYIGluICR7V0FOVF9XWH0NCisjIENoZWNrIGlmIFdBTlRfV1ggY29udGFpbnMg bW9yZSB0aGFuIG9uZSB3b3JkLg0KKy4JCWlmIGRlZmluZWQoSEFWRV9XWCkNCitJR05PUkU/PQkJ CQlzZWxlY3RlZCBtdWx0aXBsZSB2YWx1ZXMgZm9yIFdBTlRfV1g6ICR7V0FOVF9XWH0NCisuCQll bmRpZg0KK0hBVkVfV1g9CQkJCSMNCisjIENoZWNrIGZvciBhbGwgdmVyc2lvbnMuDQorLgkJaWYg JHtXQU5UX1dYOkx9ID09ICJ5ZXMiDQorLgkJCWZvciBjb21wIGluICR7X1dYX0NPTVBTX0FMTH0N CisuCQkJCWZvciB2ZXIgaW4gJHtfV1hfVkVSX0ZJTkFMfQ0KK19XWF9DT01QPQkJCQlfV1hfRklM RV8ke2NvbXB9XyR7dmVyfQ0KKy4JCQkJCWlmIGRlZmluZWQoJHtfV1hfQ09NUH0pICYmIGV4aXN0 cygkeyR7X1dYX0NPTVB9fSkNCitIQVZFX1dYKz0JCQkJJHtjb21wfS0ke3Zlcn0NCisuCQkJCQll bmRpZg0KKy4JCQkJZW5kZm9yDQorLgkJCWVuZGZvcg0KKyMgQ2hlY2sgZm9yIGEgc3BlY2lmaWMg dmVyc2lvbi4NCisuCQllbGlmICR7X1dYX1ZFUlNfQUxMOk0ke19fV0FOVF9XWH19DQorLgkJCWZv ciBjb21wIGluICR7X1dYX0NPTVBTX0FMTH0NCisuCQkJCWlmIGV4aXN0cygke19XWF9GSUxFXyR7 Y29tcH1fJHtfX1dBTlRfV1h9fSkNCitIQVZFX1dYKz0JCQkJJHtjb21wfQ0KKy4JCQkJZW5kaWYN CisuCQkJZW5kZm9yDQorLgkJZWxzZQ0KK0lHTk9SRT89CQkJCXNlbGVjdGVkIGFuIGludmFsaWQg dmFsdWUgZm9yIFdBTlRfV1g6ICR7X19XQU5UX1dYfQ0KKy4JCWVuZGlmDQorLgllbmRmb3INCisu ZW5kaWYJCSMgISBBRlRFUlBPUlRNSyAmJiBXQU5UX1dYDQorDQorIw0KKyMgQ2hlY2sgaWYgdGhl IHZlcnNpb24gaGFzIGNoYW5nZWQgYmV0d2VlbiBpbmNsdXNpb25zLg0KKyMNCisNCisuaWYgZGVm aW5lZChfV1hfVmVyc2lvbl9Eb25lKQ0KKy4JdW5kZWYgX1dYX0hBU19DSEFOR0VEDQorDQorLglm b3IgdmFyIGluICR7X1dYX0NIQU5HRV9WQVJTfQ0KKy4JCWlmIChkZWZpbmVkKCR7dmFyfSkgJiYg IWRlZmluZWQoX1dYX09MRF8ke3Zhcn0pKSB8fCBcDQorCQkgICAoIWRlZmluZWQoJHt2YXJ9KSAm JiBkZWZpbmVkKF9XWF9PTERfJHt2YXJ9KSkgfHwgXA0KKwkJICAgKGRlZmluZWQoX1dYX09MRF8k e3Zhcn0pICYmICR7X1dYX09MRF8ke3Zhcn19ICE9ICR7JHt2YXJ9fSkNCitfV1hfSEFTX0NIQU5H RUQ9CQl5ZXMNCisuCQllbmRpZg0KKy4JZW5kZm9yDQorLmVuZGlmCQkjIF9XWF9WZXJzaW9uX0Rv bmUNCisNCisjDQorIyBTZWxlY3QgV3hXaWRnZXRzIHZlcnNpb24uDQorIw0KKw0KKy5pZiAoIWRl ZmluZWQoX1dYX1ZlcnNpb25fRG9uZSkgfHwgZGVmaW5lZChfV1hfSEFTX0NIQU5HRUQpKSAmJiBc DQorCShkZWZpbmVkKFVTRV9XWCkgfHwgZGVmaW5lZChVU0VfV1hfTk9UKSkNCitfV1hfVmVyc2lv bl9Eb25lPQkJeWVzDQorDQorIyBIYW5kbGUgYXV0b21hdGljIHZhcmlhYmxlcy4NCisNCisuZm9y IHZhciBpbiAke19XWF9BVVRPX1ZBUlN9DQorLglpZiBkZWZpbmVkKF9XWF8ke3Zhcn1fREVGSU5F RCkNCisuCQl1bmRlZiAke3Zhcn0NCisuCWVuZGlmDQorLglpZiAhZGVmaW5lZCgke3Zhcn0pDQor X1dYXyR7dmFyfV9ERUZJTkVEPQkJeWVzDQorLgllbmRpZg0KKy5lbmRmb3INCisNCisjIFJlc2V0 IG9sZCB2YXJpYWJsZSB2YWx1ZXMuDQorDQorLmlmIGRlZmluZWQoX1dYX0hBU19DSEFOR0VEKQ0K Ky4JdW5kZWYgX1dYX1ZFUg0KKy4JdW5kZWYgX1dYX0lHTk9SRQ0KKy5lbmRpZg0KKw0KKyMgU2V0 IGRlZmF1bHRzIChpZiBvbmUgaXNuJ3QgcHJlc2VudCkuDQorDQorVVNFX1dYPz0JCQkJJHtfV1hf VkVSU19BTEx9DQorVVNFX1dYX05PVD89CQkJIw0KKw0KKyMNCisjIE1ha2UgbGlzdHMgb2YgdmFs aWQgYW5kIGludmFsaWQgdmVyc2lvbnMuDQorIw0KKyMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMg YXJlIHVzZWQ6DQorIyBfV1hfVkVSX0NIRUNLCQkJLSBJZiB0aGUgdmVyc2lvbiBpcyBhIHNpbmds ZSBvbmUsIGV4cHJlc3MgaW4gYSByYW5nZS4NCisjIF9XWF9WRVJfTUlOCQkJLSBMb3dlciB2ZXJz aW9uIG9mIHRoZSByYW5nZS4NCisjIF9XWF9WRVJfTUFYCQkJLSBIaWdoZXIgdmVyc2lvbiBvZiB0 aGUgcmFuZ2UuDQorIyBfV1hfVkVSX0xJU1QJCQktIExpc3Qgb2YgcmVxdWVzdGVkIHZlcnNpb25z Lg0KKyMgX1dYX1ZFUl9OT1RfTElTVAkJLSBMaXN0IG9mIGRpc2FsbG93ZWQgdmVyc2lvbnMuDQor IyBfV1hfVkVSX01FUkdFRAkJLSBMaXN0IG9mIHJlcXVlc3RlZCB2ZXJzaW9uIHdpdGhvdXQgZGlz YWxsb3dlZCBvbmVzLg0KKyMNCisNCisuZm9yIGxpc3QgaW4gVkVSIFZFUl9OT1QNCitfV1hfJHts aXN0fV9MSVNUPQkJIw0KKy4JZm9yIHZlciBpbiAke1VTRV9XWCR7bGlzdDpDL1ZFUi8vfX0NCitf V1hfVkVSX0NIRUNLOj0JCQkke3ZlcjpDL14oW1s6ZGlnaXQ6XV0rKFwuW1s6ZGlnaXQ6XV0rKSop JC9cMS1cMS99DQorX1dYX1ZFUl9NSU46PQkJCSR7X1dYX1ZFUl9DSEVDSzpDLyhbWzpkaWdpdDpd XSsoXC5bWzpkaWdpdDpdXSspKilbLStdLiovXDEvfQ0KK19XWF9WRVJfTUFYOj0JCQkke19XWF9W RVJfQ0hFQ0s6Qy8uKi0oW1s6ZGlnaXQ6XV0rKFwuW1s6ZGlnaXQ6XV0rKSopL1wxL30NCisjIE1p bmltdW0gdmVyc2lvbiBub3Qgc3BlY2lmaWVkLg0KKy4JCWlmICR7X1dYX1ZFUl9NSU59ID09ICR7 X1dYX1ZFUl9DSEVDS30NCisuCQkJdW5kZWYgX1dYX1ZFUl9NSU4NCisuCQkJZm9yIHYgaW4gJHtf V1hfVkVSU19BTEx9DQorX1dYX1ZFUl9NSU4/PQkJCSR7dn0NCisuCQkJZW5kZm9yDQorLgkJZW5k aWYNCisjIE1heGltdW0gdmVyc2lvbiBub3Qgc3BlY2lmaWVkLg0KKy4JCWlmICR7X1dYX1ZFUl9N QVh9ID09ICR7X1dYX1ZFUl9DSEVDS30NCisuCQkJZm9yIHYgaW4gJHtfV1hfVkVSU19BTEx9DQor X1dYX1ZFUl9NQVg9CQkJJHt2fQ0KKy4JCQllbmRmb3INCisuCQllbmRpZg0KKyMgRXhwYW5kIHZl cnNpb25zIGFuZCBhZGQgdmFsaWQgb25lcyB0byBlYWNoIGxpc3QuDQorLgkJZm9yIHYgaW4gJHtf V1hfVkVSU19BTEx9DQorLgkJCWlmICR7X1dYX1ZFUl9NSU59IDw9ICR7dn0gJiYgJHtfV1hfVkVS X01BWH0gPj0gJHt2fSAmJiBcDQorCQkJICAgJHtfV1hfJHtsaXN0fV9MSVNUOk0ke3Z9fSA9PSAi Ig0KK19XWF8ke2xpc3R9X0xJU1QrPQkJJHt2fQ0KKy4JCQllbmRpZg0KKy4JCWVuZGZvcg0KKy4J ZW5kZm9yDQorLmVuZGZvcg0KKw0KKyMgTWVyZ2UgdGhlIGxpc3RzIGludG8gYSBzaW5nbGUgbGlz dCBvZiB2YWxpZCB2ZXJzaW9ucy4NCisNCitfV1hfVkVSX01FUkdFRD0JCQkjDQorLmZvciB2ZXIg aW4gJHtfV1hfVkVSX0xJU1R9DQorLglpZiAke19XWF9WRVJfTk9UX0xJU1Q6TSR7dmVyfX0gPT0g IiINCitfV1hfVkVSX01FUkdFRCs9CQkke3Zlcn0NCisuCWVuZGlmDQorLmVuZGZvcg0KKw0KKyMg Q2hlY2sgZm9yIGEgbnVsbCB2ZXJzaW9uLg0KKw0KKy5pZiBlbXB0eShfV1hfVkVSX01FUkdFRCkN CitfV1hfSUdOT1JFPz0JCQlzZWxlY3RlZCBhIG51bGwgb3IgaW52YWxpZCBXeFdpZGdldHMgdmVy c2lvbg0KKy5lbmRpZg0KKw0KKyMNCisjIFVuaWNvZGUgc3VwcG9ydC4NCisjDQorDQorIyBDcmVh dGUgYSBsaXN0IG9mIGNhcGFibGUgdmVyc2lvbnMuDQorDQorX1dYX1ZFUl9VQz0JCQkJIw0KKy5m b3IgdmVyIGluICR7X1dYX1ZFUl9NRVJHRUR9DQorLglpZiAke19XWF9WRVJTX1VDX0FMTDpNJHt2 ZXJ9fSAhPSAiIg0KK19XWF9WRVJfVUMrPQkJCSR7dmVyfQ0KKy4JZW5kaWYNCisuZW5kZm9yDQor DQorIyBSZXF1ZXN0ZWQgYnkgdGhlIHVzZXIgKG9wdGlvbmFsKS4NCisNCisuaWYgZGVmaW5lZChX SVRIX1VOSUNPREUpICYmICR7T1NWRVJTSU9OfSA+PSA1MDAwMDANCisuCWZvciB2ZXIgaW4gJHtf V1hfVkVSX1VDfQ0KKy4JCWlmICR7X1dYX1ZFUlNfVUNfQUxMOk0ke3Zlcn19ICE9ICIiDQorV1hf VU5JQ09ERT0JCQkJeWVzDQorLgkJZW5kaWYNCisuCWVuZGZvcg0KKy5lbmRpZg0KKw0KKyMgUmVx dWVzdGVkIGJ5IHRoZSBwb3J0IChtYW5kYXRvcnkpLg0KKw0KKy5pZiBkZWZpbmVkKFdYX1VOSUNP REUpDQorLglpZiAke09TVkVSU0lPTn0gPCA1MDAwMDANCitfV1hfSUdOT1JFPz0JCQlyZXF1aXJl cyBGcmVlQlNEIHZlcnNpb25zID49IDUuWCAoYmVjYXVzZSBvZiBVbmljb2RlKQ0KKy4JZWxpZiBl bXB0eShfV1hfVkVSX1VDKQ0KK19XWF9JR05PUkU/PQkJCXNlbGVjdGVkIGEgV3hXaWRnZXRzIHZl cnNpb24gd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBVbmljb2RlOiAke19XWF9WRVJfTUVSR0VEfQ0K Ky4JZW5kaWYNCisuZW5kaWYNCisNCisjIFNldCBVbmljb2RlIHZhcmlhYmxlcy4NCisNCisuaWYg ZGVmaW5lZChXWF9VTklDT0RFKQ0KK19XWF9WRVJfRklOQUw9CQkJJHtfV1hfVkVSX1VDfQ0KK19X WF9VQz0JCQkJCXUNCitfV1hfVUNMPQkJCQktdW5pY29kZQ0KK19XWF9QWVNVRlg9CQkJCS11bmlj b2RlDQorLmVsc2UNCitfV1hfVkVSX0ZJTkFMPQkJCSR7X1dYX1ZFUl9NRVJHRUR9DQorX1dYX1VD PQkJCQkJIw0KK19XWF9VQ0w9CQkJCSMNCitfV1hfUFlTVUZYPQkJCQktYW5zaQ0KKy5lbmRpZg0K Kw0KKyMNCisjIENob29zZSBmaW5hbCB2ZXJzaW9uLg0KKyMNCisNCisjDQorIyBDaGVjayBmb3Ig dGhlIGZvbGxvd2luZyAoaW4gb3JkZXIpOg0KKyMgMSkgV0lUSF9XWF9WRVIJCS0gVXNlciBwcmVm ZXJlbmNlLg0KKyMgMikgV0FOVF9XWF9WRVIJCS0gUG9ydCBwcmVmZXJlbmNlLg0KKyMgMykgX1dY X1ZFUl9GSU5BTAkJLSBBdmFpbGFibGUgdmVyc2lvbnMuDQorIw0KKw0KKy5mb3IgbGlzdCBpbiAk e19XWF9MSVNUU19PUkRFUn0NCisuCWlmIGRlZmluZWQoJHtsaXN0fSkNCisuCQlmb3IgdmVyIGlu ICR7JHtsaXN0fX0NCisuCQkJaWYgJHtfV1hfVkVSX0ZJTkFMOk0ke3Zlcn19ICE9ICIiDQorX1dY X1ZFUj0JCQkJJHt2ZXJ9DQorLgkJCWVuZGlmDQorLgkJZW5kZm9yDQorLgllbmRpZg0KKy5lbmRm b3INCisNCisjDQorIyBTZXQgdmFyaWFibGVzLg0KKyMNCisNCitXWF9WRVJTSU9OPQkJCQkke19X WF9WRVJ9DQorV1hfQ09ORklHPz0JCQkJJHtYMTFCQVNFfS9iaW4vd3hndGsyJHtfV1hfVUN9LSR7 X1dYX1ZFUn0tY29uZmlnDQorDQorIyBEZWZpbmUgb2xkIHZhbHVlcyBmb3IgZGV0ZWN0aW5nIGNo YW5nZXMuDQorDQorLmZvciB2YXIgaW4gJHtfV1hfQ0hBTkdFX1ZBUlN9DQorLglpZiBkZWZpbmVk KCR7dmFyfSkNCitfV1hfT0xEXyR7dmFyfTo9CQkkeyR7dmFyfX0NCisuCWVuZGlmDQorLmVuZGZv cg0KKw0KKy5lbmRpZgkJIyAhIF9XWF9WZXJzaW9uX0RvbmUgfHwgX1dYX0hBU19DSEFOR0VEDQor DQorIw0KKyMgUHJvY2VzcyBjb21wb25lbnRzIGxpc3QgYW5kIGFkZCBkZXBlbmRlbmNpZXMsIHZh cmlhYmxlcywgZXRjLg0KKyMNCisNCisuaWYgIWRlZmluZWQoQkVGT1JFUE9SVE1LKQ0KKyMgRXJy b3IgY2hlY2suDQorDQorLmlmIGRlZmluZWQoX1dYX0lHTk9SRSkNCitJR05PUkU/PQkJCQkke19X WF9JR05PUkV9DQorLmVuZGlmDQorDQorIw0KKyMgQ29tcG9uZW50IHBhcnNpbmcuDQorIw0KKyMg VGhlIHZhcmlhYmxlcyB1c2VkIGFyZToNCisjIF9XWF9DT01QCQkJCS0gQ29tcG9uZW50IHBhcnQu DQorIyBfV1hfREVQX1RZUEUJCQktIERlcGVuZGVuY3kgdHlwZSBwYXJ0Lg0KKyMgX1dYX0NPTVBf TkVXCQkJLSBDb21wb25lbnQgKyBkZXBlbmRlbmN5IHR5cGUuDQorIyBfV1hfQ09NUFNfRklOQUwJ CS0gRmluYWwgbGlzdCBvZiBjb21wb25lbnRzIHdpdGggZGVwZW5kZW5jeSB0eXBlcy4NCisjDQor DQorIyBEZWZhdWx0IGNvbXBvbmVudHMuDQorDQorV1hfQ09NUFM/PQkJCQl3eA0KKw0KKyMgRGV0 ZWN0IGludmFsaWQgYW5kIGR1cGxpY2F0ZWQgY29tcG9uZW50cy4NCisNCitfV1hfQ09NUFNfRklO QUw9CQkjDQorLmZvciBjb21wIGluICR7V1hfQ09NUFN9DQorX1dYX0NPTVA9CQkJCSR7Y29tcDpD L18oW1s6YWxwaGE6XV0rKSQvL30NCitfV1hfREVQX1RZUEU9CQkJJHtjb21wOkMvLitfKFtbOmFs cGhhOl1dKykkL1wxL30NCisuCWlmICR7X1dYX0NPTVB9ID09ICR7Y29tcH0NCitfV1hfREVQX1RZ UEU9CQkJbGliDQorLgllbmRpZg0KK19XWF9DT01QX05FVz0JCQkke19XWF9DT01QfV8ke19XWF9E RVBfVFlQRX0NCisuCWZvciBfX1dYX0NPTVAgaW4gJHtfV1hfQ09NUH0NCisuCQlpZiAke19XWF9D T01QU19BTEw6TSR7X19XWF9DT01QfX0gPT0gIiINCitJR05PUkU/PQkJCQlzZWxlY3RlZCBhbiBp bnZhbGlkIFd4V2lkZ2V0cyBjb21wb25lbnQ6ICR7X19XWF9DT01QfQ0KKy4JCWVuZGlmDQorLgll bmRmb3INCisuCWZvciBfX1dYX0RFUF9UWVBFIGluICR7X1dYX0RFUF9UWVBFfQ0KKy4JCWlmICR7 X1dYX0RFUF9UWVBFU19BTEw6TSR7X19XWF9ERVBfVFlQRX19ID09ICIiDQorSUdOT1JFPz0JCQkJ c2VsZWN0ZWQgYW4gaW52YWxpZCBXeFdpZGdldHMgZGVwZW5kZW5jeSB0eXBlOiAke19fV1hfREVQ X1RZUEV9DQorLgkJZW5kaWYNCisuCWVuZGZvcg0KKy4JaWYgIWRlZmluZWQoX1dYX1BPUlRfJHtf V1hfQ09NUH1fJHtfV1hfVkVSfSkNCitJR05PUkU/PQkJCQlzZWxlY3RlZCBhIFd4V2lkZ2V0cyBj b21wb25lbnQgKCR7X1dYX0NPTVB9KSB3aGljaCBpcyBub3QgYXZhaWxhYmxlIGZvciB0aGUgc2Vs ZWN0ZWQgdmVyc2lvbiAoJHtfV1hfVkVSfSkNCisuCWVuZGlmDQorLglmb3IgbmV3Y29tcCBpbiAk e19XWF9DT01QX05FV30NCisuCQlpZiAke19XWF9DT01QU19GSU5BTDpNJHtuZXdjb21wfX0gPT0g IiINCitfV1hfQ09NUFNfRklOQUwrPQkJJHtuZXdjb21wfQ0KKy4JCWVuZGlmDQorLgllbmRmb3IN CisuZW5kZm9yDQorDQorIyBBZGQgZGVwZW5kZW5jaWVzLg0KKyMNCisjIFRoZSB2YXJpYWJsZSB1 c2VkIGFyZToNCisjIF9XWF9DT01QCQktCQktIENvbXBvbmVudCBwYXJ0Lg0KKyMgX1dYX0RFUF9U WVBFCQkJLSBEZXBlbmRlbmN5IHR5cGUgcGFydC4NCisNCisuZm9yIGNvbXAgaW4gJHtfV1hfQ09N UFNfRklOQUx9DQorX1dYX0NPTVA9CQkJCSR7Y29tcDpDL18oW1s6YWxwaGE6XV0rKSQvL30NCitf V1hfREVQX1RZUEU9CQkJJHtjb21wOkMvLitfKFtbOmFscGhhOl1dKykkL1wxL30NCisuCWlmICR7 X1dYX0RFUF9UWVBFfSA9PSAibGliIg0KKy4JCWlmIGRlZmluZWQoX1dYX0xJQl8ke19XWF9DT01Q fV8ke19XWF9WRVJ9KQ0KK0xJQl9ERVBFTkRTKz0JCQkke19XWF9MSUJfJHtfV1hfQ09NUH1fJHtf V1hfVkVSfX06JHtQT1JUU0RJUn0veDExLXRvb2xraXRzLyR7X1dYX1BPUlRfJHtfV1hfQ09NUH1f JHtfV1hfVkVSfX0NCisuCQllbHNlDQorQlVJTERfREVQRU5EUys9CQkJJHtfV1hfRklMRV8ke19X WF9DT01QfV8ke19XWF9WRVJ9fToke1BPUlRTRElSfS94MTEtdG9vbGtpdHMvJHtfV1hfUE9SVF8k e19XWF9DT01QfV8ke19XWF9WRVJ9fQ0KK1JVTl9ERVBFTkRTKz0JCQkke19XWF9GSUxFXyR7X1dY X0NPTVB9XyR7X1dYX1ZFUn19OiR7UE9SVFNESVJ9L3gxMS10b29sa2l0cy8ke19XWF9QT1JUXyR7 X1dYX0NPTVB9XyR7X1dYX1ZFUn19DQorLgkJZW5kaWYNCisuCWVsc2UNCiske19XWF9ERVBfVFlQ RTpVfV9ERVBFTkRTKz0JJHtfV1hfRklMRV8ke19XWF9DT01QfV8ke19XWF9WRVJ9fToke1BPUlRT RElSfS94MTEtdG9vbGtpdHMvJHtfV1hfUE9SVF8ke19XWF9DT01QfV8ke19XWF9WRVJ9fQ0KKy4J ZW5kaWYNCisuZW5kZm9yDQorDQorIw0KKyMgU2V0IGJ1aWxkIHJlbGF0ZWQgdmFyaWFibGVzLg0K KyMNCisNCitNQUtFX0VOVis9CQkJCVdYX0NPTkZJRz0ke1dYX0NPTkZJR30NCitDT05GSUdVUkVf RU5WKz0JCQlXWF9DT05GSUc9JHtXWF9DT05GSUd9DQorDQorLmlmIGRlZmluZWQoV1hfQ09ORl9B UkdTKQ0KKy4JaWYgJHtXWF9DT05GX0FSR1M6TH0gPT0gImFic29sdXRlIg0KK0NPTkZJR1VSRV9B UkdTKz0JCS0td2l0aC13eC1jb25maWc9JHtXWF9DT05GSUd9DQorLgllbGlmICR7V1hfQ09ORl9B UkdTOkx9ID09ICJyZWxhdGl2ZSINCitDT05GSUdVUkVfQVJHUys9CQktLXdpdGgtd3g9JHtYMTFC QVNFfSBcDQorCQkJCQkJLS13aXRoLXd4LWNvbmZpZz0ke1dYX0NPTkZJRzpUfQ0KKy4JZWxzZQ0K K0lHTk9SRT89CQkJCXNlbGVjdGVkIGFuIGludmFsaWQgV3hXaWRnZXRzIGNvbmZpZ3VyZSBhcmd1 bWVudCB0eXBlOiAke1dYX0NPTkZfQVJHU30NCisuCWVuZGlmDQorLmVuZGlmDQorDQorLmVuZGlm CQkjICEgQkVGT1JFUE9SVE1LDQotIC0tLS0tLS0tLS0tIEVORCAtLS0tLS0tLS0tLQ0KLS0tLS1C RUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NClZlcnNpb246IEdudVBHIHYxLjQuMyAoRnJlZUJTRCkN Cg0KaUQ4REJRRkVrY2RoaVYwNUVwUmNQMkVSQWlVREFKOWhlYnkzWWVYY1FZeG5ZVEFBN0w0cFpU Q0Mrd0NkSDYyWA0KZGl2T2c5VDJBMFdacUdTamlyRkZzTTg9DQo9TUtRUw0KLS0tLS1FTkQgUEdQ IFNJR05BVFVSRS0tLS0tDQo=
State Changed From-To: feedback->analyzed Accepted for a test build on the cluster.
State Changed From-To: analyzed->closed Committed, thanks.