openSUSE Commits
Threads by month
- ----- 2024 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2014
- 1 participants
- 1675 discussions
Hello community,
here is the log from the commit of package python3-gst for openSUSE:Factory checked in at 2014-09-18 09:56:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-gst (Old)
and /work/SRC/openSUSE:Factory/.python3-gst.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-gst"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="python-gst" cicount="copy" />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rsyslog for openSUSE:Factory checked in at 2014-09-18 08:00:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rsyslog (Old)
and /work/SRC/openSUSE:Factory/.rsyslog.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rsyslog"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rsyslog/rsyslog.changes 2014-09-01 16:59:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rsyslog.new/rsyslog.changes 2014-09-18 08:02:48.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 17 09:40:40 UTC 2014 - wagner-thomas(a)gmx.at
+
+- added firewall template file
+
+-------------------------------------------------------------------
New:
----
rsyslog.firewall
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rsyslog.spec ++++++
--- /var/tmp/diff_new_pack.x314fb/_old 2014-09-18 08:02:49.000000000 +0200
+++ /var/tmp/diff_new_pack.x314fb/_new 2014-09-18 08:02:49.000000000 +0200
@@ -181,6 +181,7 @@
Source12: module-snmp
Source13: module-udpspoof
Source14: http://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-%{upstream_versio…
+Source15: rsyslog.firewall
# PATCH-FIX-OPENSUSE rsyslog-unit.patch crrodriguez(a)opensuse.org Customize upstream systemd unit for openSUSE needs.
Patch0: rsyslog-unit.patch
@@ -733,6 +734,9 @@
install -m0640 %{SOURCE13} %{buildroot}%{APPARMOR_PROFILE_PATH}/rsyslog.d/
%endif
+# firewall config
+install -m 644 -D %{SOURCE15} %{buildroot}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
+
%clean
if [ -n "%{buildroot}" ] && [ "%{buildroot}" != "/" ] ; then
rm -rf "%{buildroot}"
@@ -941,6 +945,7 @@
%endif
%{APPARMOR_PROFILE_PATH_DIR_COMMANDS}
%config %{APPARMOR_PROFILE_PATH}/usr.sbin.rsyslogd
+%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
%files doc
%defattr(-,root,root)
++++++ rsyslog.firewall ++++++
## Name: Syslog Server
## Description: Opens ports to accept remote syslog entries.
# space separated list of allowed TCP ports
TCP=""
# space separated list of allowed UDP ports
UDP="syslog"
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP ports that accept broadcasts
BROADCAST=""
### variables below are only needed in very special cases
# space separated list of net,protocol[,sport[,dport]]
# see FW_SERVICES_ACCEPT_RELATED_EXT
# net 0/0 means IPv4 and IPv6. If this sevice should only work for
# IPv4 use 0.0.0.0/0
RELATED=""
# additional kernel modules needed for this service
# see FW_LOAD_MODULES
MODULES=""
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gpa for openSUSE:Factory checked in at 2014-09-18 08:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpa (Old)
and /work/SRC/openSUSE:Factory/.gpa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpa"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpa/gpa.changes 2013-06-05 11:52:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gpa.new/gpa.changes 2014-09-18 08:02:47.000000000 +0200
@@ -1,0 +2,19 @@
+Mon Sep 1 09:25:17 UTC 2014 - andreas.stieger(a)gmx.de
+
+- Update to version 0.9.5:
+ + GPA now starts with the UI server enabled and tests on startup
+ whether such a server is already running to open that one
+ instead of launching a second instance.
+ + GPA is now aware of ECC keys.
+ + Improved detection of CMS objects (which are used by S/MIME)
+ and detached OpenPGP signatures.
+ + Allow import and export of X.509 certificates. Allow backup
+ of X.509 keys.
+ + The key creation date is now displayed in the key listing.
+ + Armored detached signature files are now created with an
+ ".asc" suffix and not with ".sig".
+ + The GnuPG home directory is now detected using the gpgconf
+ tool.
+ + Fixed several bugs leading to crashs.
+
+-------------------------------------------------------------------
Old:
----
gpa-0.9.4.tar.bz2
gpa-0.9.4.tar.bz2.sig
New:
----
gpa-0.9.5.tar.bz2
gpa-0.9.5.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpa.spec ++++++
--- /var/tmp/diff_new_pack.1X8IJY/_old 2014-09-18 08:02:47.000000000 +0200
+++ /var/tmp/diff_new_pack.1X8IJY/_new 2014-09-18 08:02:47.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gpa
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: gpa
-Version: 0.9.4
+Version: 0.9.5
Release: 0
Summary: GNU Privacy Assistant
License: GPL-3.0
@@ -27,9 +27,10 @@
Source1: ftp://ftp.gnupg.org/gcrypt/gpa/%{name}-%{version}.tar.bz2.sig
Source2: gpa.keyring
BuildRequires: gnupg
-BuildRequires: gpgme-devel >= 1.2.0
+BuildRequires: gpgme-devel >= 1.5.0
BuildRequires: gtk2-devel >= 2.10.0
BuildRequires: libassuan-devel >= 1.1.0
+BuildRequires: libgpg-error-devel >= 1.12
BuildRequires: update-desktop-files
%if 0%{?suse_version} >= 1230
BuildRequires: gpg-offline
++++++ gpa-0.9.4.tar.bz2 -> gpa-0.9.5.tar.bz2 ++++++
++++ 47498 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Sys-Virt for openSUSE:Factory checked in at 2014-09-18 08:00:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sys-Virt (Old)
and /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sys-Virt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sys-Virt/perl-Sys-Virt.changes 2014-07-10 09:32:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new/perl-Sys-Virt.changes 2014-09-18 08:02:46.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 10 16:41:12 MDT 2014 - jfehlig(a)suse.com
+
+- Update to 1.2.8
+ - Add all new APIs and constants in libvirt 1.2.8
+
+-------------------------------------------------------------------
Old:
----
Sys-Virt-1.2.6.tar.gz
New:
----
Sys-Virt-1.2.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sys-Virt.spec ++++++
--- /var/tmp/diff_new_pack.mwFA3c/_old 2014-09-18 08:02:46.000000000 +0200
+++ /var/tmp/diff_new_pack.mwFA3c/_new 2014-09-18 08:02:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Sys-Virt
-Version: 1.2.6
+Version: 1.2.8
Release: 0
%define cpan_name Sys-Virt
Summary: Represent and manage a libvirt hypervisor connection
++++++ Sys-Virt-1.2.6.tar.gz -> Sys-Virt-1.2.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/Changes new/Sys-Virt-1.2.8/Changes
--- old/Sys-Virt-1.2.6/Changes 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/Changes 2014-09-05 17:24:27.000000000 +0200
@@ -1,5 +1,15 @@
Revision history for perl module Sys::Virt
+1.2.8 2014-09-05
+
+ - Add virConnectGetDomainCapabilities API
+ - Add VIR_DOMAIN_BLOCK_REBASE_RELATIVE and
+ VIR_DOMAIN_BLOCK_COMMIT_RELATIVE constants
+ - Add VIR_CONNECT_LIST_STORAGE_POOLS_ZFS constant
+ - Add virDomainOpenGraphicsFD API
+ - Add virDomainBlockCopy and related constants
+ - Add virConnectGetAllDomainStats API & constants
+
1.2.6 2014-07-02
- Add VIR_DOMAIN_BLOCK_JOB_TYPE_ACTIVE_COMMIT and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/META.yml new/Sys-Virt-1.2.8/META.yml
--- old/Sys-Virt-1.2.6/META.yml 2014-07-02 18:32:13.000000000 +0200
+++ new/Sys-Virt-1.2.8/META.yml 2014-09-05 17:24:39.000000000 +0200
@@ -1,7 +1,7 @@
--- #YAML:1.0
name: Sys-Virt
abstract: Extension for the libvirt library
-version: 1.2.6
+version: 1.2.8
author:
- Daniel P. Berrange <dan(a)berrange.com>
license: perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/MYMETA.json new/Sys-Virt-1.2.8/MYMETA.json
--- old/Sys-Virt-1.2.6/MYMETA.json 2014-07-02 18:32:06.000000000 +0200
+++ new/Sys-Virt-1.2.8/MYMETA.json 2014-09-05 17:24:32.000000000 +0200
@@ -42,5 +42,5 @@
}
},
"release_status" : "stable",
- "version" : "v1.2.6"
+ "version" : "v1.2.8"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/MYMETA.yml new/Sys-Virt-1.2.8/MYMETA.yml
--- old/Sys-Virt-1.2.6/MYMETA.yml 2014-07-02 18:32:06.000000000 +0200
+++ new/Sys-Virt-1.2.8/MYMETA.yml 2014-09-05 17:24:32.000000000 +0200
@@ -24,4 +24,4 @@
Test::Pod::Coverage: 0
Time::HiRes: 0
XML::XPath: 0
-version: v1.2.6
+version: v1.2.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/Makefile.PL new/Sys-Virt-1.2.8/Makefile.PL
--- old/Sys-Virt-1.2.6/Makefile.PL 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/Makefile.PL 2014-09-05 17:24:27.000000000 +0200
@@ -3,7 +3,7 @@
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
-my $libvirtver = "1.2.6";
+my $libvirtver = "1.2.7";
my $stat = system "pkg-config --atleast-version=$libvirtver libvirt";
die "cannot run pkg-config to check libvirt version" if $stat == -1;
die "libvirt >= $libvirtver is required\n" unless $stat == 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/README new/Sys-Virt-1.2.8/README
--- old/Sys-Virt-1.2.6/README 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/README 2014-09-05 17:24:27.000000000 +0200
@@ -7,6 +7,6 @@
The only pre-requisite for this module is libvirt itself. For
installation instructions, consult the INSTALL file.
-The current minimum required version of libvirt is 1.2.6
+The current minimum required version of libvirt is 1.2.7
-- End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/Virt.xs new/Sys-Virt-1.2.8/Virt.xs
--- old/Sys-Virt-1.2.6/Virt.xs 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/Virt.xs 2014-09-05 17:24:27.000000000 +0200
@@ -1997,6 +1997,41 @@
OUTPUT:
RETVAL
+SV *
+get_domain_capabilities(con, emulatorsv, archsv, machinesv, virttypesv, flags=0)
+ virConnectPtr con;
+ SV *emulatorsv;
+ SV *archsv;
+ SV *machinesv;
+ SV *virttypesv;
+ unsigned int flags;
+PREINIT:
+ char *emulator = NULL;
+ char *arch = NULL;
+ char *machine = NULL;
+ char *virttype = NULL;
+ char *xml;
+ CODE:
+ if (SvOK(emulatorsv))
+ emulator = SvPV_nolen(emulatorsv);
+ if (SvOK(archsv))
+ arch = SvPV_nolen(archsv);
+ if (SvOK(machinesv))
+ machine = SvPV_nolen(machinesv);
+ if (SvOK(virttypesv))
+ virttype = SvPV_nolen(virttypesv);
+
+ if (!(xml = virConnectGetDomainCapabilities(con,
+ emulator, arch,
+ machine, virttype,
+ flags)))
+ _croak_error();
+
+ RETVAL = newSVpv(xml, 0);
+ free(xml);
+ OUTPUT:
+ RETVAL
+
SV *
compare_cpu(con, xml, flags=0)
@@ -2593,6 +2628,66 @@
Safefree(names);
+void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
+ virConnectPtr con;
+ unsigned int stats;
+ SV *doms_sv;
+ unsigned int flags;
+ PREINIT:
+ AV *doms_av;
+ int ndoms;
+ int nstats;
+ int i;
+ virDomainPtr *doms = NULL;
+ virDomainStatsRecordPtr *statsrec = NULL;
+ PPCODE:
+
+ if (SvOK(doms_sv)) {
+ doms_av = (AV*)SvRV(doms_sv);
+ ndoms = av_len(doms_av) + 1;
+ fprintf(stderr, "Len %d\n", ndoms);
+ } else {
+ ndoms = 0;
+ }
+
+ if (ndoms) {
+ Newx(doms, ndoms + 1, virDomainPtr);
+
+ for (i = 0 ; i < ndoms ; i++) {
+ SV **dom = av_fetch(doms_av, i, 0);
+ doms[i] = (virDomainPtr)SvIV((SV*)SvRV(*dom));
+ }
+ doms[ndoms] = NULL;
+
+ if ((nstats = virDomainListGetStats(doms, stats, &statsrec, flags)) < 0) {
+ Safefree(doms);
+ _croak_error();
+ }
+ } else {
+ doms = NULL;
+
+ if ((nstats = virConnectGetAllDomainStats(con, stats, &statsrec, flags)) < 0) {
+ Safefree(doms);
+ _croak_error();
+ }
+ }
+
+ EXTEND(SP, nstats);
+ for (i = 0 ; i < nstats ; i++) {
+ HV *rec = newHV();
+ SV *dom = sv_newmortal();
+ HV *data = vir_typed_param_to_hv(statsrec[i]->params,
+ statsrec[i]->nparams);
+ sv_setref_pv(dom, "Sys::Virt::Domain", statsrec[i]->dom);
+ virDomainRef(statsrec[i]->dom);
+ hv_store(rec, "dom", 3, SvREFCNT_inc(dom), 0);
+ hv_store(rec, "data", 4, newRV((SV*)data), 0);
+ PUSHs(newRV_noinc((SV*)rec));
+ }
+ virDomainStatsRecordListFree(statsrec);
+ Safefree(doms);
+
+
SV *
domain_xml_from_native(con, configtype, configdata, flags=0)
virConnectPtr con;
@@ -3324,6 +3419,18 @@
_croak_error();
+int
+open_graphics_fd(dom, idx, flags=0)
+ virDomainPtr dom;
+ unsigned int idx;
+ unsigned int flags;
+ CODE:
+ if ((RETVAL = virDomainOpenGraphicsFD(dom, idx, flags)) < 0)
+ _croak_error();
+OUTPUT:
+ RETVAL
+
+
SV *
screenshot(dom, st, screen, flags=0)
virDomainPtr dom;
@@ -3484,6 +3591,42 @@
void
+block_copy(dom, path, destxml, newparams, flags=0)
+ virDomainPtr dom;
+ const char *path;
+ const char *destxml;
+ HV *newparams;
+ unsigned long flags;
+ PREINIT:
+ virTypedParameter *params;
+ int nparams;
+ PPCODE:
+ nparams = 3;
+ Newx(params, nparams, virTypedParameter);
+
+ strncpy(params[0].field, VIR_DOMAIN_BLOCK_COPY_BANDWIDTH,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[0].type = VIR_TYPED_PARAM_ULLONG;
+
+ strncpy(params[1].field, VIR_DOMAIN_BLOCK_COPY_GRANULARITY,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[1].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[2].field, VIR_DOMAIN_BLOCK_COPY_BUF_SIZE,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[2].type = VIR_TYPED_PARAM_UINT;
+
+ nparams = vir_typed_param_from_hv(newparams, params, nparams);
+
+ if (virDomainBlockCopy(dom, path, destxml, params, nparams, flags) < 0) {
+ Safefree(params);
+ _croak_error();
+ }
+
+ Safefree(params);
+
+
+void
block_commit(dom, path, base, top, bandwidth, flags=0)
virDomainPtr dom;
const char *path;
@@ -6997,6 +7140,17 @@
REGISTER_CONSTANT(VIR_KEYCODE_SET_WIN32, KEYCODE_SET_WIN32);
REGISTER_CONSTANT(VIR_KEYCODE_SET_RFB, KEYCODE_SET_RFB);
+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_STATE, STATS_STATE);
+
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE, GET_ALL_STATS_ACTIVE);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE, GET_ALL_STATS_INACTIVE);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER, GET_ALL_STATS_OTHER);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED, GET_ALL_STATS_PAUSED);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT, GET_ALL_STATS_PERSISTENT);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING, GET_ALL_STATS_RUNNING);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF, GET_ALL_STATS_SHUTOFF);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT, GET_ALL_STATS_TRANSIENT);
+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, GET_ALL_STATS_ENFORCE_STATS);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_DEFINED, EVENT_DEFINED);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_UNDEFINED, EVENT_UNDEFINED);
@@ -7112,6 +7266,7 @@
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COMMIT_DELETE, BLOCK_COMMIT_DELETE);
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COMMIT_SHALLOW, BLOCK_COMMIT_SHALLOW);
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COMMIT_ACTIVE, BLOCK_COMMIT_ACTIVE);
+ REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COMMIT_RELATIVE, BLOCK_COMMIT_RELATIVE);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_LIFECYCLE, EVENT_ID_LIFECYCLE);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_REBOOT, EVENT_ID_REBOOT);
@@ -7330,6 +7485,15 @@
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT, BLOCK_REBASE_REUSE_EXT);
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_REBASE_COPY_RAW, BLOCK_REBASE_COPY_RAW);
REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_REBASE_COPY, BLOCK_REBASE_COPY);
+ REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_REBASE_RELATIVE, BLOCK_REBASE_RELATIVE);
+
+ REGISTER_CONSTANT_STR(VIR_DOMAIN_BLOCK_COPY_BANDWIDTH, BLOCK_COPY_BANDWIDTH);
+ REGISTER_CONSTANT_STR(VIR_DOMAIN_BLOCK_COPY_GRANULARITY, BLOCK_COPY_GRANULARITY);
+ REGISTER_CONSTANT_STR(VIR_DOMAIN_BLOCK_COPY_BUF_SIZE, BLOCK_COPY_BUF_SIZE);
+
+ REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COPY_REUSE_EXT, BLOCK_COPY_REUSE_EXT);
+ REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_COPY_SHALLOW, BLOCK_COPY_SHALLOW);
+
REGISTER_CONSTANT(VIR_CONNECT_LIST_DOMAINS_ACTIVE, LIST_ACTIVE);
REGISTER_CONSTANT(VIR_CONNECT_LIST_DOMAINS_AUTOSTART, LIST_AUTOSTART);
@@ -7424,6 +7588,7 @@
REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_RBD, LIST_RBD);
REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG, LIST_SHEEPDOG);
REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER, LIST_GLUSTER);
+ REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_ZFS, LIST_ZFS);
stash = gv_stashpv( "Sys::Virt::Network", TRUE );
REGISTER_CONSTANT(VIR_NETWORK_XML_INACTIVE, XML_INACTIVE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/examples/node-info.pl new/Sys-Virt-1.2.8/examples/node-info.pl
--- old/Sys-Virt-1.2.6/examples/node-info.pl 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/examples/node-info.pl 2014-09-05 17:24:27.000000000 +0200
@@ -19,3 +19,7 @@
use Data::Dumper;
print Dumper(\@info);
+
+
+my $xml = $hv->get_domain_capabilities(undef, "x86_64", undef, "kvm");
+print $xml;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/lib/Sys/Virt/Domain.pm new/Sys-Virt-1.2.8/lib/Sys/Virt/Domain.pm
--- old/Sys-Virt-1.2.6/lib/Sys/Virt/Domain.pm 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/lib/Sys/Virt/Domain.pm 2014-09-05 17:24:27.000000000 +0200
@@ -1160,6 +1160,16 @@
the constants listed at the end of this document, and defaults
to 0.
+=item $fd = $dom->open_graphics_fd($idx, $flags)
+
+Open the graphics console for a guest, identified by C<$idx>,
+counting from 0. The C<$flags> argument should be one of the
+constants listed at the end of this document, and defaults
+to 0. The return value will be a file descriptor connected
+to the console which must be closed when no longer needed.
+This method is preferred over C<open_graphics> since it will
+work correctly under sVirt mandatory access control policies.
+
=item my $mimetype = $dom->screenshot($st, $screen, $flags)
Capture a screenshot of the virtual machine's monitor. The C<$screen>
@@ -1406,6 +1416,29 @@
use C<$base>. The C<$bandwidth> parameter specifies the
maximum I/O rate to allow in MB/s.
+=item $dom->block_copy($path, $destxml, $params, $flags=0)
+
+Copy contents of a disk image <$path> into the target volume
+described by C<$destxml> which follows the schema of the
+<disk> element in the domain XML. The C<$params> parameter
+is a hash of optional parameters to control the process
+
+=over 4
+
+=item Sys::Virt::Domain::BLOCK_COPY_BANDWIDTH
+
+The maximum bandwidth in bytes per second.
+
+=item Sys::Virt::Domain::BLOCK_COPY_GRANULARITY
+
+The granularity in bytes of the copy process
+
+=item Sys::Virt::Domain::BLOCK_COPY_BUF_SIZE
+
+The maximum amount of data in flight in bytes.
+
+=back
+
=item $dom->block_commit($path, $base, $top, $bandwith, $flags=0)
Commit changes there were made to the temporary top level file C<$top>.
@@ -2711,6 +2744,26 @@
Start a copy job
+=item Sys::Virt::Domain::BLOCK_REBASE_RELATIVE
+
+Keep backing chain referenced using relative names
+
+=back
+
+=head2 DOMAIN BLOCK COPY CONSTANTS
+
+The following constants are useful when copying block devices
+
+=over 4
+
+=item Sys::Virt::Domain::BLOCK_COPY_SHALLOW
+
+Limit copy to top of source backing chain
+
+=item Sys::Virt::Domain::BLOCK_COPY_REUSE_EXT
+
+Reuse existing external file for copy
+
=back
=head2 DOMAIN BLOCK JOB ABORT CONSTANTS
@@ -2747,6 +2800,10 @@
Allow two phase commit when top is active layer
+=item Sys::Virt::Domain::BLOCK_COMMIT_RELATIVE
+
+Keep backing chain referenced using relative names
+
=back
=head2 DOMAIN SAVE / RESTORE CONSTANTS
@@ -3131,6 +3188,64 @@
=back
+=head2 DOMAIN STATS FLAG CONSTANTS
+
+The following constants are used as flags when requesting
+bulk domain stats from C<Sys::Virt::get_all_domain_stats>.
+
+=over 4
+
+=item Sys::Virt::GET_ALL_STATS_ACTIVE
+
+Include stats for active domains
+
+=item Sys::Virt::GET_ALL_STATS_INACTIVE
+
+Include stats for inactive domains
+
+=item Sys::Virt::GET_ALL_STATS_OTHER
+
+Include stats for other domains
+
+=item Sys::Virt::GET_ALL_STATS_PAUSED
+
+Include stats for paused domains
+
+=item Sys::Virt::GET_ALL_STATS_PERSISTENT
+
+Include stats for persistent domains
+
+=item Sys::Virt::GET_ALL_STATS_RUNNING
+
+Include stats for running domains
+
+=item Sys::Virt::GET_ALL_STATS_SHUTOFF
+
+Include stats for shutoff domains
+
+=item Sys::Virt::GET_ALL_STATS_TRANSIENT
+
+Include stats for transient domains
+
+=item Sys::Virt::GET_ALL_STATS_ENFORCE_STATS
+
+Require that all requested stats fields are returned
+
+=back
+
+=head2 DOMAIN STATS FIELD CONSTANTS
+
+The following constants are used to control which fields
+are returned for stats queries.
+
+=over
+
+=item Sys::Virt::Domain::STATS_STATE
+
+General lifecycle state
+
+=back
+
=head2 PROCESS SIGNALS
The following constants provide the names of signals
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/lib/Sys/Virt/StoragePool.pm new/Sys-Virt-1.2.8/lib/Sys/Virt/StoragePool.pm
--- old/Sys-Virt-1.2.6/lib/Sys/Virt/StoragePool.pm 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/lib/Sys/Virt/StoragePool.pm 2014-09-05 17:24:27.000000000 +0200
@@ -443,6 +443,10 @@
Include gluster storage pools
+=item Sys::Virt::StoragePool::LIST_ZFS
+
+Include ZFS storage pools
+
=back
=head1 AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/lib/Sys/Virt.pm new/Sys-Virt-1.2.8/lib/Sys/Virt.pm
--- old/Sys-Virt-1.2.6/lib/Sys/Virt.pm 2014-07-02 18:32:01.000000000 +0200
+++ new/Sys-Virt-1.2.8/lib/Sys/Virt.pm 2014-09-05 17:24:27.000000000 +0200
@@ -78,7 +78,7 @@
use Sys::Virt::DomainSnapshot;
use Sys::Virt::Stream;
-our $VERSION = '1.2.6';
+our $VERSION = '1.2.8';
require XSLoader;
XSLoader::load('Sys::Virt', $VERSION);
@@ -1161,6 +1161,22 @@
returned scalar is an XML document describing the discovered storage
pool sources.
+=item my @stats = $vmm->get_all_domain_stats($stats, \@doms=undef, $flags=0);
+
+Get an list of all statistics for domains known to the hypervisor.
+The C<$stats> parameter controls which data fields to return and
+should be a combination of the DOMAIN STATS FIELD CONSTANTS.
+
+The optional C<@doms> parameter is a list of Sys::Virt::Domain objects
+to return stats for. If this is undefined, then all domains will be
+returned. The C<$flags> method can be used to filter the list of
+returned domains.
+
+The return data for the method is a list, one element for each domain.
+The element will be a hash with two keys, C<dom> pointing to an instance
+of C<Sys::Virt::Domain> and C<data> pointing to another hash reference
+containing the actual statistics.
+
=item $vmm->interface_change_begin($flags)
Begin a transaction for changing the configuration of one or more
@@ -1610,6 +1626,16 @@
Returns an XML document describing the hypervisor capabilities
+=item my $xml = $con->get_domain_capabilities($emulator, $arch, $machine, $virttype, flags=0);
+
+Returns an XML document describing the capabilities of the
+requested guest configuration. Either C<$emulator> or C<$arch>
+must be a valid string referring to an emulator binary or an
+architecture name respectively. The C<$machine> parameter is
+an optional name of a guest machine, and C<$virttype> is an
+optional name of the virtualization type. C<$flags> is unused
+and defaults to zero.
+
=item my $result = $con->compare_cpu($xml, $flags=0);
Checks whether the CPU definition in C<$xml> is compatible with the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.6/perl-Sys-Virt.spec new/Sys-Virt-1.2.8/perl-Sys-Virt.spec
--- old/Sys-Virt-1.2.6/perl-Sys-Virt.spec 2014-07-02 18:32:13.000000000 +0200
+++ new/Sys-Virt-1.2.8/perl-Sys-Virt.spec 2014-09-05 17:24:39.000000000 +0200
@@ -1,7 +1,7 @@
# Automatically generated by perl-Sys-Virt.spec.PL
Name: perl-Sys-Virt
-Version: 1.2.6
+Version: 1.2.8
Release: 1%{?dist}%{?extra_release}
Summary: Represent and manage a libvirt hypervisor connection
License: GPLv2+ or Artistic
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package chromium for openSUSE:Factory checked in at 2014-09-18 08:00:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromium (Old)
and /work/SRC/openSUSE:Factory/.chromium.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium"
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2014-09-08 21:29:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.chromium.new/chromium.changes 2014-09-18 08:02:24.000000000 +0200
@@ -1,0 +2,16 @@
+Wed Sep 10 20:40:33 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to Chromium 37.0.2062.120
+ * Security Fixes (bnc#896106)
+ - CVE-2014-3178: Use-after-free in rendering
+
+-------------------------------------------------------------------
+Sun Sep 7 07:46:20 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to Chromium 37.0.2062.103
+ * This addresses some user feedback related to how Chrome
+ renders text when display scaling is set to 125% or lower.
+
+- Combine the two toolchain tars into a single one.
+
+-------------------------------------------------------------------
Old:
----
chromium-37.0.2062.94.tar.xz
toolchain_linux_arm.tar
toolchain_linux_x86.tar.bz2
New:
----
chromium-37.0.2062.120.tar.xz
toolchain_linux.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromium.spec ++++++
--- /var/tmp/diff_new_pack.UfKD7h/_old 2014-09-18 08:02:45.000000000 +0200
+++ /var/tmp/diff_new_pack.UfKD7h/_new 2014-09-18 08:02:45.000000000 +0200
@@ -20,16 +20,15 @@
%define chromium_system_libs 0
Name: chromium
-Version: 37.0.2062.94
+Version: 37.0.2062.120
Release: 0
Summary: Google's opens source browser project
License: BSD-3-Clause and LGPL-2.1+
Group: Productivity/Networking/Web/Browsers
Url: http://code.google.com/p/chromium/
Source0: http://gsdview.appspot.com/chromium-browser-official/%{name}-%{version}.tar…
-Source1: toolchain_linux_x86.tar.bz2
-Source2: toolchain_linux_arm.tar
-Source3: %{name}-rpmlintrc
+Source1: toolchain_linux.tar.bz2
+Source2: %{name}-rpmlintrc
Source30: master_preferences
Source31: default_bookmarks.html
Source99: chrome-wrapper
@@ -274,7 +273,7 @@
%prep
%if !0%{?packman_bs}
-%setup -q -n %{name}-%{version} -a 999 -a 998 -a 997 -a 1 -a 2
+%setup -q -n %{name}-%{version} -a 999 -a 998 -a 997 -a 1
%else
%setup -q -n %{name}-%{version} -a 999 -a 998 -a 997
%endif
++++++ chromium-37.0.2062.94.tar.xz -> chromium-37.0.2062.120.tar.xz ++++++
/work/SRC/openSUSE:Factory/chromium/chromium-37.0.2062.94.tar.xz /work/SRC/openSUSE:Factory/.chromium.new/chromium-37.0.2062.120.tar.xz differ: char 26, line 1
++++++ toolchain_linux_x86.tar.bz2 -> toolchain_linux.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/chromium/toolchain_linux_x86.tar.bz2 /work/SRC/openSUSE:Factory/.chromium.new/toolchain_linux.tar.bz2 differ: char 11, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Moo for openSUSE:Factory checked in at 2014-09-18 08:00:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Moo (Old)
and /work/SRC/openSUSE:Factory/.perl-Moo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Moo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Moo/perl-Moo.changes 2014-07-29 16:48:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Moo.new/perl-Moo.changes 2014-09-18 08:02:17.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Sep 17 19:47:03 UTC 2014 - coolo(a)suse.com
+
+- updated to 1.006000
+ - support coerce => 1 in attributes, taking the coercion from the isa option
+ if it is an object that supports the coerce or coercion method.
+ - add attribute information to type check errors by trapping with an eval
+ rather than overriding the global __DIE__ handler
+ - bump Module::Runtime prerequisite to fix error messages when there is a
+ missing module used by a role loaded using 'with' or similar (rt#97669)
+
+-------------------------------------------------------------------
Old:
----
Moo-1.005000.tar.gz
New:
----
Moo-1.006000.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Moo.spec ++++++
--- /var/tmp/diff_new_pack.vk8mGK/_old 2014-09-18 08:02:18.000000000 +0200
+++ /var/tmp/diff_new_pack.vk8mGK/_new 2014-09-18 08:02:18.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Moo
-Version: 1.005000
+Version: 1.006000
Release: 0
%define cpan_name Moo
Summary: Minimalist Object Orientation (with Moose compatibility)
@@ -32,7 +32,7 @@
BuildRequires: perl(Class::Method::Modifiers) >= 1.1
BuildRequires: perl(Devel::GlobalDestruction) >= 0.11
BuildRequires: perl(Import::Into) >= 1.002
-BuildRequires: perl(Module::Runtime) >= 0.012
+BuildRequires: perl(Module::Runtime) >= 0.014
BuildRequires: perl(Role::Tiny) >= 1.003003
BuildRequires: perl(Test::Fatal) >= 0.003
BuildRequires: perl(Test::More) >= 0.94
@@ -40,7 +40,7 @@
Requires: perl(Class::Method::Modifiers) >= 1.1
Requires: perl(Devel::GlobalDestruction) >= 0.11
Requires: perl(Import::Into) >= 1.002
-Requires: perl(Module::Runtime) >= 0.012
+Requires: perl(Module::Runtime) >= 0.014
Requires: perl(Role::Tiny) >= 1.003003
Requires: perl(strictures) >= 1.004003
Recommends: perl(Class::XSAccessor) >= 1.18
++++++ Moo-1.005000.tar.gz -> Moo-1.006000.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/Changes new/Moo-1.006000/Changes
--- old/Moo-1.005000/Changes 2014-06-10 09:46:03.000000000 +0200
+++ new/Moo-1.006000/Changes 2014-08-16 18:21:32.000000000 +0200
@@ -1,5 +1,13 @@
Revision history for Moo
+1.006000 - 2014-08-16
+ - support coerce => 1 in attributes, taking the coercion from the isa option
+ if it is an object that supports the coerce or coercion method.
+ - add attribute information to type check errors by trapping with an eval
+ rather than overriding the global __DIE__ handler
+ - bump Module::Runtime prerequisite to fix error messages when there is a
+ missing module used by a role loaded using 'with' or similar (rt#97669)
+
1.005000 - 2014-06-10
- add qsub to Sub::Quote as a prototyped alternative to quote_sub, accepting
only the sub body
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/MANIFEST new/Moo-1.006000/MANIFEST
--- old/Moo-1.005000/MANIFEST 2014-06-10 09:46:25.000000000 +0200
+++ new/Moo-1.006000/MANIFEST 2014-08-16 18:21:46.000000000 +0200
@@ -38,6 +38,7 @@
t/buildall.t
t/buildargs-error.t
t/buildargs.t
+t/coerce-1.t
t/compose-non-role.t
t/compose-roles.t
t/demolish-basics.t
@@ -133,6 +134,7 @@
xt/type-inflate-threads.t
xt/type-inflate-type-tiny.t
xt/type-inflate.t
+xt/type-tiny-coerce.t
xt/withautoclean.t
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/META.json new/Moo-1.006000/META.json
--- old/Moo-1.005000/META.json 2014-06-10 09:46:25.000000000 +0200
+++ new/Moo-1.006000/META.json 2014-08-16 18:21:46.000000000 +0200
@@ -50,9 +50,10 @@
"Class::Method::Modifiers" : "1.1",
"Devel::GlobalDestruction" : "0.11",
"Import::Into" : "1.002",
- "Module::Runtime" : "0.012",
+ "Module::Runtime" : "0.014",
"Role::Tiny" : "1.003003",
"Scalar::Util" : "0",
+ "perl" : "5.006",
"strictures" : "1.004003"
}
},
@@ -82,7 +83,7 @@
},
"x_IRC" : "irc://irc.perl.org/#moose"
},
- "version" : "1.005000",
+ "version" : "1.006000",
"x_authority" : "cpan:MSTROUT",
"x_breaks" : {
"HTML::Restrict" : "== 2.1.5"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/META.yml new/Moo-1.006000/META.yml
--- old/Moo-1.005000/META.yml 2014-06-10 09:46:25.000000000 +0200
+++ new/Moo-1.006000/META.yml 2014-08-16 18:21:45.000000000 +0200
@@ -25,16 +25,17 @@
Class::Method::Modifiers: '1.1'
Devel::GlobalDestruction: '0.11'
Import::Into: '1.002'
- Module::Runtime: '0.012'
+ Module::Runtime: '0.014'
Role::Tiny: '1.003003'
Scalar::Util: '0'
+ perl: '5.006'
strictures: '1.004003'
resources:
IRC: irc://irc.perl.org/#moose
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Moo
license: http://dev.perl.org/licenses/
repository: https://github.com/moose/Moo.git
-version: '1.005000'
+version: '1.006000'
x_authority: cpan:MSTROUT
x_breaks:
HTML::Restrict: '== 2.1.5'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/Makefile.PL new/Moo-1.006000/Makefile.PL
--- old/Moo-1.005000/Makefile.PL 2014-06-10 08:18:12.000000000 +0200
+++ new/Moo-1.006000/Makefile.PL 2014-08-16 14:44:12.000000000 +0200
@@ -24,11 +24,12 @@
requires => {
'Class::Method::Modifiers' => 1.10, # for RT#80194
'strictures' => 1.004003,
- 'Module::Runtime' => 0.012, # for RT#74789
+ 'Module::Runtime' => 0.014, # for RT#86394
'Role::Tiny' => 1.003003,
'Devel::GlobalDestruction' => 0.11, # for RT#78617
'Import::Into' => 1.002,
'Scalar::Util' => 0,
+ 'perl' => 5.006,
},
recommends => {
'Class::XSAccessor' => 1.18,
@@ -95,7 +96,7 @@
for (qw(configure build test runtime)) {
my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
my $r = $MM_ARGS{$key} = {
- %{$META{prereqs}{$_}{requires}},
+ %{$META{prereqs}{$_}{requires} || {}},
%{delete $MM_ARGS{$key} || {}},
};
defined $r->{$_} or delete $r->{$_} for keys %$r;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/README new/Moo-1.006000/README
--- old/Moo-1.005000/README 2014-06-10 09:46:25.000000000 +0200
+++ new/Moo-1.006000/README 2014-08-16 18:21:46.000000000 +0200
@@ -89,9 +89,9 @@
to use them in Moose code without anybody ever noticing you aren't using
Moose everywhere.
- Moo will also create Moose type constraints for classes and roles, so
- that "isa => 'MyClass'" and "isa => 'MyRole'" work the same as for Moose
- classes and roles.
+ Moo will also create Moose type constraints for Moo classes and roles,
+ so that in Moose classes "isa => 'MyMooClass'" and "isa => 'MyMooRole'"
+ work the same as for Moose classes and roles.
Extending a Moose class or consuming a Moose::Role will also work.
@@ -251,7 +251,7 @@
The options for "has" are as follows:
- * is
+ * "is"
required, may be "ro", "lazy", "rwp" or "rw".
@@ -276,7 +276,7 @@
"rw" generates a normal getter/setter by defaulting "accessor" to the
name of the attribute.
- * isa
+ * "isa"
Takes a coderef which is meant to validate the attribute. Unlike
Moose, Moo does not include a basic type system, so instead of doing
@@ -313,7 +313,7 @@
Moose::Meta::TypeConstraint object or something similar enough to it
to make Moose happy is fine.
- * coerce
+ * "coerce"
Takes a coderef which is meant to coerce the attribute. The basic idea
is to do something like the following:
@@ -330,7 +330,10 @@
Sub::Quote aware
- * handles
+ If the "isa" option is a blessed object providing a "coerce" or
+ "coercion" method, then the "coerce" option may be set to just 1.
+
+ * "handles"
Takes a string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/lib/Method/Generate/Accessor.pm new/Moo-1.006000/lib/Method/Generate/Accessor.pm
--- old/Moo-1.005000/lib/Method/Generate/Accessor.pm 2014-06-10 08:18:12.000000000 +0200
+++ new/Moo-1.006000/lib/Method/Generate/Accessor.pm 2014-08-08 14:25:59.000000000 +0200
@@ -23,19 +23,6 @@
my $module_name_only = qr/\A$Module::Runtime::module_name_rx\z/;
-sub _SIGDIE
-{
- our ($CurrentAttribute, $OrigSigDie);
- my $sigdie = $OrigSigDie && $OrigSigDie != \&_SIGDIE
- ? $OrigSigDie
- : sub { die $_[0] };
-
- return $sigdie->(@_) if ref($_[0]);
-
- my $attr_desc = _attr_desc(@$CurrentAttribute{qw(name init_arg)});
- $sigdie->("$CurrentAttribute->{step} for $attr_desc failed: $_[0]");
-}
-
sub _die_overwrite
{
my ($pkg, $method, $type) = @_;
@@ -82,6 +69,16 @@
if (($spec->{trigger}||0) eq 1) {
$spec->{trigger} = quote_sub('shift->_trigger_'.$name.'(@_)');
}
+ if (($spec->{coerce}||0) eq 1) {
+ my $isa = $spec->{isa};
+ if (blessed $isa and $isa->can('coercion')) {
+ $spec->{coerce} = $isa->coercion;
+ } elsif (blessed $isa and $isa->can('coerce')) {
+ $spec->{coerce} = sub { $isa->coerce(@_) };
+ } else {
+ die "Invalid coercion for $into->$name - no appropriate type constraint";
+ }
+ }
for my $setting (qw( isa coerce )) {
next if !exists $spec->{$setting};
@@ -387,11 +384,12 @@
sub _generate_coerce {
my ($self, $name, $value, $coerce, $init_arg) = @_;
- $self->_generate_die_prefix(
+ $self->_wrap_attr_exception(
$name,
"coercion",
$init_arg,
- $self->_generate_call_code($name, 'coerce', "${value}", $coerce)
+ $self->_generate_call_code($name, 'coerce', "${value}", $coerce),
+ 1,
);
}
@@ -414,23 +412,40 @@
($code, delete $self->{captures});
}
-sub _generate_die_prefix {
- my ($self, $name, $prefix, $arg, $inside) = @_;
+sub _wrap_attr_exception {
+ my ($self, $name, $step, $arg, $code, $want_return) = @_;
+ my $prefix = quotify("${step} for "._attr_desc($name, $arg).' failed: ');
"do {\n"
- .' local $Method::Generate::Accessor::CurrentAttribute = {'
- .' init_arg => '.(defined $arg ? quotify($arg) : 'undef') . ",\n"
+ .' local $Method::Generate::Accessor::CurrentAttribute = {'."\n"
+ .' init_arg => '.quotify($arg).",\n"
.' name => '.quotify($name).",\n"
- .' step => '.quotify($prefix).",\n"
+ .' step => '.quotify($step).",\n"
." };\n"
- .' local $Method::Generate::Accessor::OrigSigDie = $SIG{__DIE__};'."\n"
- .' local $SIG{__DIE__} = \&Method::Generate::Accessor::_SIGDIE;'."\n"
- .$inside
+ .($want_return ? ' my $_return;'."\n" : '')
+ .' my $_error;'."\n"
+ ." {\n"
+ .' my $_old_error = $@;'."\n"
+ ." if (!eval {\n"
+ .' $@ = $_old_error;'."\n"
+ .($want_return ? ' $_return ='."\n" : '')
+ .' '.$code.";\n"
+ ." 1;\n"
+ ." }) {\n"
+ .' $_error = $@;'."\n"
+ .' if (!ref $_error) {'."\n"
+ .' $_error = '.$prefix.'.$_error;'."\n"
+ ." }\n"
+ ." }\n"
+ .' $@ = $_old_error;'."\n"
+ ." }\n"
+ .' die $_error if $_error;'."\n"
+ .($want_return ? ' $_return;'."\n" : '')
."}\n"
}
sub _generate_isa_check {
my ($self, $name, $value, $check, $init_arg) = @_;
- $self->_generate_die_prefix(
+ $self->_wrap_attr_exception(
$name,
"isa check",
$init_arg,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/lib/Moo/Role.pm new/Moo-1.006000/lib/Moo/Role.pm
--- old/Moo-1.005000/lib/Moo/Role.pm 2014-06-10 08:20:57.000000000 +0200
+++ new/Moo-1.006000/lib/Moo/Role.pm 2014-08-16 17:52:17.000000000 +0200
@@ -6,7 +6,7 @@
use base qw(Role::Tiny);
use Import::Into;
-our $VERSION = '1.005000';
+our $VERSION = '1.006000';
$VERSION = eval $VERSION;
require Moo::sification;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/lib/Moo.pm new/Moo-1.006000/lib/Moo.pm
--- old/Moo-1.005000/lib/Moo.pm 2014-06-10 08:20:57.000000000 +0200
+++ new/Moo-1.006000/lib/Moo.pm 2014-08-16 17:52:17.000000000 +0200
@@ -4,7 +4,7 @@
use Moo::_Utils;
use Import::Into;
-our $VERSION = '1.005000';
+our $VERSION = '1.006000';
$VERSION = eval $VERSION;
require Moo::sification;
@@ -320,8 +320,8 @@
L<Moose> everywhere.
L<Moo> will also create L<Moose type constraints|Moose::Manual::Types> for
-classes and roles, so that C<< isa => 'MyClass' >> and C<< isa => 'MyRole' >>
-work the same as for L<Moose> classes and roles.
+L<Moo> classes and roles, so that in Moose classes C<< isa => 'MyMooClass' >>
+and C<< isa => 'MyMooRole' >> work the same as for L<Moose> classes and roles.
Extending a L<Moose> class or consuming a L<Moose::Role> will also work.
@@ -495,7 +495,7 @@
=over 2
-=item * is
+=item * C<is>
B<required>, may be C<ro>, C<lazy>, C<rwp> or C<rw>.
@@ -518,7 +518,7 @@
C<rw> generates a normal getter/setter by defaulting C<accessor> to the
name of the attribute.
-=item * isa
+=item * C<isa>
Takes a coderef which is meant to validate the attribute. Unlike L<Moose>, Moo
does not include a basic type system, so instead of doing C<< isa => 'Num' >>,
@@ -555,7 +555,7 @@
L<Moose::Meta::TypeConstraint> object or something similar enough to it to
make L<Moose> happy is fine.
-=item * coerce
+=item * C<coerce>
Takes a coderef which is meant to coerce the attribute. The basic idea is to
do something like the following:
@@ -571,7 +571,10 @@
L<Sub::Quote aware|/SUB QUOTE AWARE>
-=item * handles
+If the C<isa> option is a blessed object providing a C<coerce> or
+C<coercion> method, then the C<coerce> option may be set to just C<1>.
+
+=item * C<handles>
Takes a string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/lib/Sub/Defer.pm new/Moo-1.006000/lib/Sub/Defer.pm
--- old/Moo-1.005000/lib/Sub/Defer.pm 2014-06-10 08:20:57.000000000 +0200
+++ new/Moo-1.006000/lib/Sub/Defer.pm 2014-08-16 17:52:17.000000000 +0200
@@ -5,7 +5,7 @@
use Moo::_Utils;
use Scalar::Util qw(weaken);
-our $VERSION = '1.005000';
+our $VERSION = '1.006000';
$VERSION = eval $VERSION;
our @EXPORT = qw(defer_sub undefer_sub undefer_all);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/lib/Sub/Quote.pm new/Moo-1.006000/lib/Sub/Quote.pm
--- old/Moo-1.005000/lib/Sub/Quote.pm 2014-06-10 08:20:57.000000000 +0200
+++ new/Moo-1.006000/lib/Sub/Quote.pm 2014-08-16 17:52:17.000000000 +0200
@@ -12,7 +12,7 @@
*_HAVE_PERLSTRING = defined &B::perlstring ? sub(){1} : sub(){0};
}
-our $VERSION = '1.005000';
+our $VERSION = '1.006000';
$VERSION = eval $VERSION;
our @EXPORT = qw(quote_sub unquote_sub quoted_from_sub qsub);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/t/accessor-default.t new/Moo-1.006000/t/accessor-default.t
--- old/Moo-1.005000/t/accessor-default.t 2014-04-13 07:03:14.000000000 +0200
+++ new/Moo-1.006000/t/accessor-default.t 2014-08-08 00:45:41.000000000 +0200
@@ -29,6 +29,18 @@
has fourteen => (is => 'ro', required => 1, builder => '_build_fourteen');
sub _build_fourteen { {} }
has fifteen => (is => 'lazy', default => undef);
+
+ # DIE handler was leaking into defaults when coercion is on.
+ has default_with_coerce => (
+ is => 'rw',
+ coerce => sub { return $_[0] },
+ default => sub { eval { die "blah\n" }; return $@; }
+ );
+
+ has default_no_coerce => (
+ is => 'rw',
+ default => sub { eval { die "blah\n" }; return $@; }
+ );
}
sub check {
@@ -71,4 +83,7 @@
is($foo->fifteen, undef, 'undef default');
ok(exists $foo->{fifteen}, 'undef default is stored');
+is( Foo->new->default_with_coerce, "blah\n" );
+is( Foo->new->default_no_coerce, "blah\n" );
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/t/accessor-isa.t new/Moo-1.006000/t/accessor-isa.t
--- old/Moo-1.005000/t/accessor-isa.t 2014-03-01 08:24:12.000000000 +0100
+++ new/Moo-1.006000/t/accessor-isa.t 2014-08-08 14:25:59.000000000 +0200
@@ -154,7 +154,7 @@
my $called;
local $SIG{__DIE__} = sub { $called++; die $_[0] };
my $e = exception { Fizz->new(attr_1 => 5) };
- is($called, 1, '__DIE__ handler called if set')
+ ok($called, '__DIE__ handler called if set')
}
{
@@ -173,4 +173,42 @@
ComplexWriter->test_with("isa");
+{
+ package ClassWithEvilDestroy;
+ sub new { bless {}, $_[0] }
+ sub DESTROY {
+ eval {
+ # nop
+ };
+ }
+
+ package ClassWithEvilException;
+ use Moo;
+ has foo => (is => 'rw', isa => sub {
+ local $@;
+ die "welp";
+ });
+ has bar => (is => 'rw', isa => sub {
+ my $o = ClassWithEvilDestroy->new;
+ die "welp";
+ });
+ my $error;
+ has baz => (is => 'rw', isa => sub {
+ ::is $@, $error, '$@ unchanged inside isa';
+ 1;
+ });
+
+ my $o = ClassWithEvilException->new;
+
+ ::like ::exception { $o->foo(1) }, qr/isa check for "foo" failed:/,
+ 'got proper exception with localized $@';
+ ::like ::exception { $o->bar(1) }, qr/isa check for "bar" failed:/,
+ 'got proper exception with eval in DESTROY';
+
+ eval { die "blah\n" };
+ $error = $@;
+ $o->baz(1);
+ ::is $@, $error, '$@ unchanged after successful isa';
+}
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/t/coerce-1.t new/Moo-1.006000/t/coerce-1.t
--- old/Moo-1.005000/t/coerce-1.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Moo-1.006000/t/coerce-1.t 2014-07-18 09:40:42.000000000 +0200
@@ -0,0 +1,92 @@
+use strictures 1;
+use Test::More;
+use Test::Fatal;
+
+{
+ package IntConstraint;
+ use Moo;
+ use overload '&{}' => sub { shift->constraint }, fallback => 1;
+ has constraint => (
+ is => 'ro',
+ default => sub {
+ sub { $_[0] eq int $_[0] or die }
+ },
+ );
+ sub check {
+ my $self = shift;
+ !!eval { $self->constraint->(@_); 1 }
+ }
+}
+
+# First supported interface for coerce=>1.
+# The type constraint provides an $isa->coerce($value) method.
+{
+ package IntConstraint::WithCoerceMethod;
+ use Moo;
+ extends qw(IntConstraint);
+ sub coerce {
+ my $self = shift;
+ int($_[0]);
+ }
+}
+
+# First supported interface for coerce=>1.
+# The type constraint provides an $isa->coercion method
+# providing a coderef such that $coderef->($value) coerces.
+{
+ package IntConstraint::WithCoercionMethod;
+ use Moo;
+ extends qw(IntConstraint);
+ has coercion => (
+ is => 'ro',
+ default => sub {
+ sub { int($_[0]) }
+ },
+ );
+}
+
+{
+ package Goo;
+ use Moo;
+
+ ::like(::exception {
+ has foo => (
+ is => 'ro',
+ isa => sub { $_[0] eq int $_[0] },
+ coerce => 1,
+ );
+ }, qr/Invalid coercion/,
+ 'coerce => 1 not allowed when isa has no coercion');
+
+ ::like(::exception {
+ has foo => (
+ is => 'ro',
+ isa => IntConstraint->new,
+ coerce => 1,
+ );
+ }, qr/Invalid coercion/,
+ 'coerce => 1 not allowed when isa has no coercion');
+
+ has bar => (
+ is => 'ro',
+ isa => IntConstraint::WithCoercionMethod->new,
+ coerce => 1,
+ );
+
+ has baz => (
+ is => 'ro',
+ isa => IntConstraint::WithCoerceMethod->new,
+ coerce => 1,
+ );
+
+}
+
+my $obj = Goo->new(
+ bar => 3.14159,
+ baz => 3.14159,
+);
+
+is($obj->bar, '3', '$isa->coercion');
+is($obj->baz, '3', '$isa->coerce');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Moo-1.005000/xt/type-tiny-coerce.t new/Moo-1.006000/xt/type-tiny-coerce.t
--- old/Moo-1.005000/xt/type-tiny-coerce.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Moo-1.006000/xt/type-tiny-coerce.t 2014-07-18 09:40:42.000000000 +0200
@@ -0,0 +1,22 @@
+use strictures 1;
+use Test::More;
+
+{
+ package Goo;
+ use Moo;
+ use Types::Standard qw(Int Num);
+
+ has foo => (
+ is => 'ro',
+ isa => Int->plus_coercions(Num, q{ int($_) }),
+ coerce => 1,
+ );
+}
+
+my $obj = Goo->new(
+ foo => 3.14159,
+);
+
+is($obj->foo, '3', 'Type::Tiny coercion applied with coerce => 1');
+
+done_testing;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Devel-PatchPerl for openSUSE:Factory checked in at 2014-09-18 08:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-PatchPerl (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-PatchPerl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-PatchPerl/perl-Devel-PatchPerl.changes 2014-02-24 15:51:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new/perl-Devel-PatchPerl.changes 2014-09-18 08:02:16.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Sep 17 19:30:35 UTC 2014 - coolo(a)suse.com
+
+- updated to 1.24
+ Add COW speedup fix for v5.20.0
+ http://perl5.git.perl.org/perl.git/commit/ce861ea79
+ Look for gpatch if patch is not found
+
+-------------------------------------------------------------------
Old:
----
Devel-PatchPerl-1.18.tar.gz
New:
----
Devel-PatchPerl-1.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-PatchPerl.spec ++++++
--- /var/tmp/diff_new_pack.LQRB7p/_old 2014-09-18 08:02:17.000000000 +0200
+++ /var/tmp/diff_new_pack.LQRB7p/_new 2014-09-18 08:02:17.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Devel-PatchPerl
-Version: 1.18
+Version: 1.24
Release: 0
%define cpan_name Devel-PatchPerl
Summary: Patch perl source a la Devel::PPPort's buildperl.pl
++++++ Devel-PatchPerl-1.18.tar.gz -> Devel-PatchPerl-1.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/Changes new/Devel-PatchPerl-1.24/Changes
--- old/Devel-PatchPerl-1.18/Changes 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/Changes 2014-05-31 10:39:12.000000000 +0200
@@ -1,8 +1,40 @@
==================================================
-Changes from 2009-02-21 00:00:00 +0000 to present.
+Changes from 2009-06-01 00:00:00 +0000 to present.
==================================================
-----------------------------------------
+version 1.24 at 2014-05-31 08:38:25 +0000
+-----------------------------------------
+
+ Change: 0e1ef35c5ba5de4b93191c7d6c26628861234214
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2014-05-31 09:38:25 +0000
+
+ Add COW speedup fix for v5.20.0
+
+ http://perl5.git.perl.org/perl.git/commit/ce861ea79
+
+-----------------------------------------
+version 1.22 at 2014-04-23 21:15:10 +0000
+-----------------------------------------
+
+ Change: 7c1a27bdbab0089738942aaae5cf0a741bc5b377
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2014-04-23 22:15:10 +0000
+
+ Look for gpatch if patch is not found
+
+-----------------------------------------
+version 1.20 at 2014-03-21 14:16:30 +0000
+-----------------------------------------
+
+ Change: 664f16a3e9c1b27b711dbd424a209d985b7801e4
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2014-03-21 14:16:30 +0000
+
+ Update included hints files
+
+-----------------------------------------
version 1.18 at 2014-02-20 20:02:45 +0000
-----------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/LICENSE new/Devel-PatchPerl-1.24/LICENSE
--- old/Devel-PatchPerl-1.18/LICENSE 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/LICENSE 2014-05-31 10:39:12.000000000 +0200
@@ -22,7 +22,7 @@
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/MANIFEST new/Devel-PatchPerl-1.24/MANIFEST
--- old/Devel-PatchPerl-1.18/MANIFEST 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/MANIFEST 2014-05-31 10:39:12.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.013.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.019.
Changes
LICENSE
MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/META.json new/Devel-PatchPerl-1.24/META.json
--- old/Devel-PatchPerl-1.18/META.json 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/META.json 2014-05-31 10:39:12.000000000 +0200
@@ -4,7 +4,7 @@
"Chris Williams <chris(a)bingosnet.co.uk>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.133380",
+ "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141170",
"license" : [
"perl_5"
],
@@ -45,6 +45,6 @@
"web" : "https://github.com/bingos/devel-patchperl"
}
},
- "version" : "1.18"
+ "version" : "1.24"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/META.yml new/Devel-PatchPerl-1.24/META.yml
--- old/Devel-PatchPerl-1.18/META.yml 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/META.yml 2014-05-31 10:39:12.000000000 +0200
@@ -6,7 +6,7 @@
configure_requires:
ExtUtils::MakeMaker: '6.30'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.133380'
+generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141170'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -21,4 +21,4 @@
resources:
homepage: https://github.com/bingos/devel-patchperl
repository: https://github.com/bingos/devel-patchperl.git
-version: '1.18'
+version: '1.24'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/Makefile.PL new/Devel-PatchPerl-1.24/Makefile.PL
--- old/Devel-PatchPerl-1.18/Makefile.PL 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/Makefile.PL 2014-05-31 10:39:12.000000000 +0200
@@ -1,5 +1,5 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.013.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.019.
use strict;
use warnings;
@@ -12,7 +12,6 @@
my %WriteMakefileArgs = (
"ABSTRACT" => "Patch perl source a la Devel::PPPort's buildperl.pl",
"AUTHOR" => "Chris Williams <chris\(a)bingosnet.co.uk>",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => "6.30"
},
@@ -28,8 +27,7 @@
"MIME::Base64" => 0,
"Module::Pluggable" => 0
},
- "TEST_REQUIRES" => {},
- "VERSION" => "1.18",
+ "VERSION" => "1.24",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/README new/Devel-PatchPerl-1.24/README
--- old/Devel-PatchPerl-1.18/README 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/README 2014-05-31 10:39:12.000000000 +0200
@@ -2,7 +2,7 @@
Devel::PatchPerl - Patch perl source a la Devel::PPPort's buildperl.pl
VERSION
- version 1.18
+ version 1.24
SYNOPSIS
use strict;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/bin/patchperl new/Devel-PatchPerl-1.24/bin/patchperl
--- old/Devel-PatchPerl-1.18/bin/patchperl 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/bin/patchperl 2014-05-31 10:39:12.000000000 +0200
@@ -22,7 +22,7 @@
=head1 VERSION
-version 1.18
+version 1.24
=head1 AUTHOR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/dist.ini new/Devel-PatchPerl-1.24/dist.ini
--- old/Devel-PatchPerl-1.18/dist.ini 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/dist.ini 2014-05-31 10:39:12.000000000 +0200
@@ -1,5 +1,5 @@
name = Devel-PatchPerl
-version = 1.18
+version = 1.24
author = Chris Williams <chris(a)bingosnet.co.uk>
license = Perl_5
copyright_holder = Chris Williams and Marcus Holland-Moritz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl/Hints.pm new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl/Hints.pm
--- old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl/Hints.pm 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl/Hints.pm 2014-05-31 10:39:12.000000000 +0200
@@ -1,5 +1,5 @@
package Devel::PatchPerl::Hints;
-$Devel::PatchPerl::Hints::VERSION = '1.18';
+$Devel::PatchPerl::Hints::VERSION = '1.24';
#ABSTRACT: replacement 'hints' files
use strict;
@@ -183,82 +183,84 @@
Y2ZsYWdzPSIke2NjZmxhZ3N9ICR7Y3BwZmxhZ3N9IgpmaQoKIyBLbm93biBvcHRpbWl6ZXIgcHJv
YmxlbXMuCmNhc2UgImBjYyAtdiAyPiYxYCIgaW4KICAqIjMuMSAyMDAyMDEwNSIqKSB0b2tlX2Nm
bGFncz0nb3B0aW1pemU9IiInIDs7CmVzYWMKCiMgU2hhcmVkIGxpYnJhcnkgZXh0ZW5zaW9uIGlz
-IC5keWxpYi4KIyBCdW5kbGUgZXh0ZW5zaW9uIGlzIC5idW5kbGUuCmxkPSdjYyc7CnNvPSdkeWxp
-Yic7CmRsZXh0PSdidW5kbGUnOwp1c2VkbD0nZGVmaW5lJzsKCiMgMTAuNCBjYW4gdXNlIGRsb3Bl
-bi4KIyAxMC40IGJyb2tlIHBvbGwoKS4KY2FzZSAiJG9zdmVycyIgaW4KWzEtN10uKikKICAgIGRs
-c3JjPSdkbF9keWxkLnhzJzsKICAgIDs7CiopCiAgICBkbHNyYz0nZGxfZGxvcGVuLnhzJzsKICAg
-IGRfcG9sbD0ndW5kZWYnOwogICAgaV9wb2xsPSd1bmRlZic7CiAgICA7Owplc2FjCgpjYXNlICIk
-Y2NkbGZsYWdzIiBpbgkJIyBJZiBwYXNzZWQgaW4gZnJvbSBjb21tYW5kIGxpbmUsIHByZXN1bWUg
-dXNlciBrbm93cyBiZXN0CicnKQogICBjY2NkbGZsYWdzPScgJzsgIyBzcGFjZSwgbm90IGVtcHR5
-LCBiZWNhdXNlIG90aGVyd2lzZSB3ZSBnZXQgLWZwaWMKOzsKZXNhYwoKIyBQZXJsIGJ1bmRsZXMg
-ZG8gbm90IGV4cGVjdCB0d28tbGV2ZWwgbmFtZXNwYWNlLCBhZGRlZCBpbiBEYXJ3aW4gMS40Lgoj
-IEJ1dCBzdGFydGluZyBmcm9tIHBlcmwgNS44LjEvRGFyd2luIDcgdGhlIGRlZmF1bHQgaXMgdGhl
-IHR3by1sZXZlbC4KY2FzZSAiJG9zdmVycyIgaW4KMS5bMC0zXS4qKQogICBsZGRsZmxhZ3M9IiR7
-bGRmbGFnc30gLWJ1bmRsZSAtdW5kZWZpbmVkIHN1cHByZXNzIgogICA7OwoxLiopCiAgIGxkZmxh
-Z3M9IiR7bGRmbGFnc30gLWZsYXRfbmFtZXNwYWNlIgogICBsZGRsZmxhZ3M9IiR7bGRmbGFnc30g
-LWJ1bmRsZSAtdW5kZWZpbmVkIHN1cHByZXNzIgogICA7OwpbMi02XS4qKQogICBsZGZsYWdzPSIk
-e2xkZmxhZ3N9IC1mbGF0X25hbWVzcGFjZSIKICAgbGRkbGZsYWdzPSIke2xkZmxhZ3N9IC1idW5k
-bGUgLXVuZGVmaW5lZCBzdXBwcmVzcyIKICAgOzsKKikgCiAgIGxkZGxmbGFncz0iJHtsZGZsYWdz
-fSAtYnVuZGxlIC11bmRlZmluZWQgZHluYW1pY19sb29rdXAiCiAgIGNhc2UgIiRsZCIgaW4KICAg
-ICAgICpNQUNPU1hfREVWRUxPUE1FTlRfVEFSR0VUKikgOzsKICAgICAgICopIGxkPSJlbnYgTUFD
-T1NYX0RFUExPWU1FTlRfVEFSR0VUPTEwLjMgJHtsZH0iIDs7CiAgIGVzYWMKICAgOzsKZXNhYwps
-ZGxpYnB0aG5hbWU9J0RZTERfTElCUkFSWV9QQVRIJzsKCiMgdXNlc2hycGxpYj10cnVlIHJlc3Vs
-dHMgaW4gbXVjaCBzbG93ZXIgc3RhcnR1cCB0aW1lcy4KIyAnZmFsc2UnIGlzIHRoZSBkZWZhdWx0
-IHZhbHVlLiAgVXNlIENvbmZpZ3VyZSAtRHVzZXNocnBsaWIgdG8gb3ZlcnJpZGUuCgpjYXQgPiBV
-VS9hcmNobmFtZS5jYnUgPDwnRU9DQlUnCiMgVGhpcyBzY3JpcHQgVVUvYXJjaG5hbWUuY2J1IHdp
-bGwgZ2V0ICdjYWxsZWQtYmFjaycgYnkgQ29uZmlndXJlIAojIGFmdGVyIGl0IGhhcyBvdGhlcndp
-c2UgZGV0ZXJtaW5lZCB0aGUgYXJjaGl0ZWN0dXJlIG5hbWUuCmNhc2UgIiRsZGZsYWdzIiBpbgoq
-Ii1mbGF0X25hbWVzcGFjZSIqKSA7OyAjIEJhY2t3YXJkIGNvbXBhdCwgYmUgZmxhdC4KIyBJZiB3
-ZSBhcmUgdXNpbmcgdHdvLWxldmVsIG5hbWVzcGFjZSwgd2Ugd2lsbCBtdW5nZSB0aGUgYXJjaG5h
-bWUgdG8gc2hvdyBpdC4KKikgYXJjaG5hbWU9IiR7YXJjaG5hbWV9LTJsZXZlbCIgOzsKZXNhYwpF
-T0NCVQoKIyA2NC1iaXQgYWRkcmVzc2luZyBzdXBwb3J0LiBDdXJyZW50bHkgc3RyaWN0bHkgZXhw
-ZXJpbWVudGFsLiBERkQgMjAwNS0wNi0wNgpjYXNlICIkdXNlNjRiaXRhbGwiIGluCiRkZWZpbmV8
-dHJ1ZXxbeVldKikKY2FzZSAiJG9zdmVycyIgaW4KWzEtN10uKikKICAgICBjYXQgPDxFT00gPiY0
-CgoKCioqKiA2NC1iaXQgYWRkcmVzc2luZyBpcyBub3Qgc3VwcG9ydGVkIGZvciBNYWMgT1MgWCB2
-ZXJzaW9ucwoqKiogYmVsb3cgMTAuNCAoIlRpZ2VyIikgb3IgRGFyd2luIHZlcnNpb25zIGJlbG93
-IDguIFBsZWFzZSB0cnkKKioqIGFnYWluIHdpdGhvdXQgLUR1c2U2NGJpdGFsbC4gKC1EdXNlNjRi
-aXRpbnQgd2lsbCB3b3JrLCBob3dldmVyLikKCkVPTQogICAgIGV4aXQgMQogIDs7CiopCiAgICBj
-YXNlICIkb3N2ZXJzIiBpbgogICAgOC4qKQogICAgICAgIGNhdCA8PEVPTSA+JjQKCgoKKioqIFBl
-cmwgNjQtYml0IGFkZHJlc3Npbmcgc3VwcG9ydCBpcyBleHBlcmltZW50YWwgZm9yIE1hYyBPUyBY
-CioqKiAxMC40ICgiVGlnZXIiKSBhbmQgRGFyd2luIHZlcnNpb24gOC4gU3lzdGVtIFYgSVBDIGlz
-IGRpc2FibGVkCioqKiBkdWUgdG8gcHJvYmxlbXMgd2l0aCB0aGUgNjQtYml0IHZlcnNpb25zIG9m
-IG1zZ2N0bCwgc2VtY3RsLAoqKiogYW5kIHNobWN0bC4gWW91IHNob3VsZCBhbHNvIGV4cGVjdCB0
-aGUgZm9sbG93aW5nIHRlc3QgZmFpbHVyZXM6CioqKgoqKiogICAgZXh0L3RocmVhZHMtc2hhcmVk
-L3Qvd2FpdCAodGhyZWFkZWQgYnVpbGRzIG9ubHkpCgpFT00KCiAgICAgICAgWyAiJGRfbXNnY3Rs
-IiBdIHx8IGRfbXNnY3RsPSd1bmRlZicKICAgICAgICBbICIkZF9zZW1jdGwiIF0gfHwgZF9zZW1j
-dGw9J3VuZGVmJwogICAgICAgIFsgIiRkX3NobWN0bCIgXSB8fCBkX3NobWN0bD0ndW5kZWYnCiAg
-ICA7OwogICAgZXNhYwoKICAgIGNhc2UgYHVuYW1lIC1wYCBpbiAKICAgIHBvd2VycGMpIGFyY2g9
-cHBjNjQgOzsKICAgIGkzODYpIGFyY2g9eDg2XzY0IDs7CiAgICAqKSBjYXQgPDxFT00gPiY0Cgoq
-KiogRG9uJ3QgcmVjb2duaXplIHByb2Nlc3NvciwgY2FuJ3Qgc3BlY2lmeSA2NCBiaXQgY29tcGls
-YXRpb24uCgpFT00KICAgIDs7CiAgICBlc2FjCiAgICBmb3IgdmFyIGluIGNjZmxhZ3MgY3BwZmxh
-Z3MgbGQgbGRmbGFncwogICAgZG8KICAgICAgIGV2YWwgJHZhcj0iXCQke3Zhcn1cIC1hcmNoXCAk
-YXJjaCIKICAgIGRvbmUKCiAgICA7Owplc2FjCjs7CmVzYWMKCiMjCiMgU3lzdGVtIGxpYnJhcmll
-cwojIwoKIyB2Zm9yayB3b3Jrcwp1c2V2Zm9yaz0ndHJ1ZSc7CgojIG1hbGxvYyB3cmFwIHdvcmtz
-CmNhc2UgIiR1c2VtYWxsb2N3cmFwIiBpbgonJykgdXNlbWFsbG9jd3JhcD0nZGVmaW5lJyA7Owpl
-c2FjCgojIG91ciBtYWxsb2Mgd29ya3MgKGJ1dCBhbGxvdyB1c2VycyB0byBvdmVycmlkZSkKY2Fz
-ZSAiJHVzZW15bWFsbG9jIiBpbgonJykgdXNlbXltYWxsb2M9J24nIDs7CmVzYWMKIyBIb3dldmVy
-IHNicmsoKSByZXR1cm5zIC0xIChmYWlsdXJlKSBzb21ld2hlcmUgaW4gbGliL3VuaWNvcmUvbWt0
-YWJsZXMgYXQKIyBhcm91bmQgMTRNLCBzbyB3ZSBuZWVkIHRvIHVzZSBzeXN0ZW0gbWFsbG9jKCkg
-YXMgb3VyIHNicmsoKQptYWxsb2NfY2ZsYWdzPSdjY2ZsYWdzPSItRFVTRV9QRVJMX1NCUksgLURQ
-RVJMX1NCUktfVklBX01BTExPQyAkY2NmbGFncyInCgojIExvY2FsZXMgYXJlbid0IGZlZWxpbmcg
-d2VsbC4KTENfQUxMPUM7IGV4cG9ydCBMQ19BTEw7CkxBTkc9QzsgZXhwb3J0IExBTkc7CgojCiMg
-VGhlIGxpYnJhcmllcyBhcmUgbm90IHRocmVhZHNhZmUgYXMgb2YgT1MgWCAxMC4xLgojCiMgRml4
-IHdoZW4gQXBwbGUgZml4ZXMgbGliYy4KIwpjYXNlICIkdXNldGhyZWFkcyR1c2VpdGhyZWFkcyIg
-aW4KICAqZGVmaW5lKikKICBjYXNlICIkb3N2ZXJzIiBpbgogICAgWzEyMzQ1XS4qKSAgICAgY2F0
-IDw8RU9NID4mNAoKCgoqKiogV2FybmluZywgdGhlcmUgbWlnaHQgYmUgcHJvYmxlbXMgd2l0aCB5
-b3VyIGxpYnJhcmllcyB3aXRoCioqKiByZWdhcmRzIHRvIHRocmVhZGluZy4gIFRoZSB0ZXN0IGV4
-dC90aHJlYWRzL3QvbGliYy50IGlzIGxpa2VseQoqKiogdG8gZmFpbC4KCkVPTQogICAgOzsKICAg
-ICopIHVzZXJlZW50cmFudD0nZGVmaW5lJzs7CiAgZXNhYwoKZXNhYwoKIyBGaW5rIGNhbiBpbnN0
-YWxsIGEgR0RCTSBsaWJyYXJ5IHRoYXQgY2xhaW1zIHRvIGhhdmUgdGhlIE9EQk0gaW50ZXJmYWNl
-cwojIGJ1dCBQZXJsIGR5bmFsb2FkZXIgY2Fubm90IGZvciBzb21lIHJlYXNvbiB1c2UgdGhhdCBs
-aWJyYXJ5LiAgV2UgZG9uJ3QKIyByZWFsbHkgbmVlZCBPREJNX0ZJbGUsIHRob3VnaCwgc28gbGV0
-J3MganVzdCBoaW50IE9EQk0gYXdheS4KaV9kYm09dW5kZWY7CgojIENvbmZpZ3VyZSBkb2Vzbid0
-IGRldGVjdCByYW5saWIgb24gVGlnZXIgcHJvcGVybHkuCiMgTmVpbFcgc2F5cyB0aGlzIHNob3Vs
-ZCBiZSBhY2NlcHRhYmxlIG9uIGFsbCBkYXJ3aW4gdmVyc2lvbnMuCnJhbmxpYj0ncmFubGliJwoK
-IyMKIyBCdWlsZCBwcm9jZXNzCiMjCgojIENhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbXMgZG9u
-J3QgZ2V0IGFsb25nIHdpdGggTWFrZWZpbGUgYW5kCiMgbWFrZWZpbGUgaW4gdGhlIHNhbWUgcGxh
-Y2UuICBTaW5jZSBEYXJ3aW4gdXNlcyBHTlUgbWFrZSwgdGhpcyBkb2RnZXMKIyB0aGUgcHJvYmxl
-bS4KZmlyc3RtYWtlZmlsZT1HTlVtYWtlZmlsZTsK',
+IC5keWxpYi4KIyBCdW5kbGUgZXh0ZW5zaW9uIGlzIC5idW5kbGUuCnNvPSdkeWxpYic7CmRsZXh0
+PSdidW5kbGUnOwp1c2VkbD0nZGVmaW5lJzsKCiMgMTAuNCBjYW4gdXNlIGRsb3Blbi4KIyAxMC40
+IGJyb2tlIHBvbGwoKS4KY2FzZSAiJG9zdmVycyIgaW4KWzEtN10uKikKICAgIGRsc3JjPSdkbF9k
+eWxkLnhzJzsKICAgIDs7CiopCiAgICBkbHNyYz0nZGxfZGxvcGVuLnhzJzsKICAgIGRfcG9sbD0n
+dW5kZWYnOwogICAgaV9wb2xsPSd1bmRlZic7CiAgICA7Owplc2FjCgpjYXNlICIkY2NkbGZsYWdz
+IiBpbgkJIyBJZiBwYXNzZWQgaW4gZnJvbSBjb21tYW5kIGxpbmUsIHByZXN1bWUgdXNlciBrbm93
+cyBiZXN0CicnKQogICBjY2NkbGZsYWdzPScgJzsgIyBzcGFjZSwgbm90IGVtcHR5LCBiZWNhdXNl
+IG90aGVyd2lzZSB3ZSBnZXQgLWZwaWMKOzsKZXNhYwoKIyBBbGxvdyB0aGUgdXNlciB0byBvdmVy
+cmlkZSBsZCwgYnV0IG1vZGlmeSBpdCBhcyBuZWNlc3NhcnkgYmVsb3cKY2FzZSAiJGxkIiBpbgog
+ICAgJycpIGxkPSdjYyc7Owplc2FjCgojIFBlcmwgYnVuZGxlcyBkbyBub3QgZXhwZWN0IHR3by1s
+ZXZlbCBuYW1lc3BhY2UsIGFkZGVkIGluIERhcndpbiAxLjQuCiMgQnV0IHN0YXJ0aW5nIGZyb20g
+cGVybCA1LjguMS9EYXJ3aW4gNyB0aGUgZGVmYXVsdCBpcyB0aGUgdHdvLWxldmVsLgpjYXNlICIk
+b3N2ZXJzIiBpbgoxLlswLTNdLiopCiAgIGxkZGxmbGFncz0iJHtsZGZsYWdzfSAtYnVuZGxlIC11
+bmRlZmluZWQgc3VwcHJlc3MiCiAgIDs7CjEuKikKICAgbGRmbGFncz0iJHtsZGZsYWdzfSAtZmxh
+dF9uYW1lc3BhY2UiCiAgIGxkZGxmbGFncz0iJHtsZGZsYWdzfSAtYnVuZGxlIC11bmRlZmluZWQg
+c3VwcHJlc3MiCiAgIDs7ClsyLTZdLiopCiAgIGxkZmxhZ3M9IiR7bGRmbGFnc30gLWZsYXRfbmFt
+ZXNwYWNlIgogICBsZGRsZmxhZ3M9IiR7bGRmbGFnc30gLWJ1bmRsZSAtdW5kZWZpbmVkIHN1cHBy
+ZXNzIgogICA7OwoqKSAKICAgbGRkbGZsYWdzPSIke2xkZmxhZ3N9IC1idW5kbGUgLXVuZGVmaW5l
+ZCBkeW5hbWljX2xvb2t1cCIKICAgY2FzZSAiJGxkIiBpbgogICAgICAgKk1BQ09TWF9ERVZFTE9Q
+TUVOVF9UQVJHRVQqKSA7OwogICAgICAgKikgbGQ9ImVudiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJH
+RVQ9MTAuMyAke2xkfSIgOzsKICAgZXNhYwogICA7Owplc2FjCmxkbGlicHRobmFtZT0nRFlMRF9M
+SUJSQVJZX1BBVEgnOwoKIyB1c2VzaHJwbGliPXRydWUgcmVzdWx0cyBpbiBtdWNoIHNsb3dlciBz
+dGFydHVwIHRpbWVzLgojICdmYWxzZScgaXMgdGhlIGRlZmF1bHQgdmFsdWUuICBVc2UgQ29uZmln
+dXJlIC1EdXNlc2hycGxpYiB0byBvdmVycmlkZS4KCmNhdCA+IFVVL2FyY2huYW1lLmNidSA8PCdF
+T0NCVScKIyBUaGlzIHNjcmlwdCBVVS9hcmNobmFtZS5jYnUgd2lsbCBnZXQgJ2NhbGxlZC1iYWNr
+JyBieSBDb25maWd1cmUgCiMgYWZ0ZXIgaXQgaGFzIG90aGVyd2lzZSBkZXRlcm1pbmVkIHRoZSBh
+cmNoaXRlY3R1cmUgbmFtZS4KY2FzZSAiJGxkZmxhZ3MiIGluCioiLWZsYXRfbmFtZXNwYWNlIiop
+IDs7ICMgQmFja3dhcmQgY29tcGF0LCBiZSBmbGF0LgojIElmIHdlIGFyZSB1c2luZyB0d28tbGV2
+ZWwgbmFtZXNwYWNlLCB3ZSB3aWxsIG11bmdlIHRoZSBhcmNobmFtZSB0byBzaG93IGl0LgoqKSBh
+cmNobmFtZT0iJHthcmNobmFtZX0tMmxldmVsIiA7Owplc2FjCkVPQ0JVCgojIDY0LWJpdCBhZGRy
+ZXNzaW5nIHN1cHBvcnQuIEN1cnJlbnRseSBzdHJpY3RseSBleHBlcmltZW50YWwuIERGRCAyMDA1
+LTA2LTA2CmNhc2UgIiR1c2U2NGJpdGFsbCIgaW4KJGRlZmluZXx0cnVlfFt5WV0qKQpjYXNlICIk
+b3N2ZXJzIiBpbgpbMS03XS4qKQogICAgIGNhdCA8PEVPTSA+JjQKCgoKKioqIDY0LWJpdCBhZGRy
+ZXNzaW5nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIE1hYyBPUyBYIHZlcnNpb25zCioqKiBiZWxvdyAx
+MC40ICgiVGlnZXIiKSBvciBEYXJ3aW4gdmVyc2lvbnMgYmVsb3cgOC4gUGxlYXNlIHRyeQoqKiog
+YWdhaW4gd2l0aG91dCAtRHVzZTY0Yml0YWxsLiAoLUR1c2U2NGJpdGludCB3aWxsIHdvcmssIGhv
+d2V2ZXIuKQoKRU9NCiAgICAgZXhpdCAxCiAgOzsKKikKICAgIGNhc2UgIiRvc3ZlcnMiIGluCiAg
+ICA4LiopCiAgICAgICAgY2F0IDw8RU9NID4mNAoKCgoqKiogUGVybCA2NC1iaXQgYWRkcmVzc2lu
+ZyBzdXBwb3J0IGlzIGV4cGVyaW1lbnRhbCBmb3IgTWFjIE9TIFgKKioqIDEwLjQgKCJUaWdlciIp
+IGFuZCBEYXJ3aW4gdmVyc2lvbiA4LiBTeXN0ZW0gViBJUEMgaXMgZGlzYWJsZWQKKioqIGR1ZSB0
+byBwcm9ibGVtcyB3aXRoIHRoZSA2NC1iaXQgdmVyc2lvbnMgb2YgbXNnY3RsLCBzZW1jdGwsCioq
+KiBhbmQgc2htY3RsLiBZb3Ugc2hvdWxkIGFsc28gZXhwZWN0IHRoZSBmb2xsb3dpbmcgdGVzdCBm
+YWlsdXJlczoKKioqCioqKiAgICBleHQvdGhyZWFkcy1zaGFyZWQvdC93YWl0ICh0aHJlYWRlZCBi
+dWlsZHMgb25seSkKCkVPTQoKICAgICAgICBbICIkZF9tc2djdGwiIF0gfHwgZF9tc2djdGw9J3Vu
+ZGVmJwogICAgICAgIFsgIiRkX3NlbWN0bCIgXSB8fCBkX3NlbWN0bD0ndW5kZWYnCiAgICAgICAg
+WyAiJGRfc2htY3RsIiBdIHx8IGRfc2htY3RsPSd1bmRlZicKICAgIDs7CiAgICBlc2FjCgogICAg
+Y2FzZSBgdW5hbWUgLXBgIGluIAogICAgcG93ZXJwYykgYXJjaD1wcGM2NCA7OwogICAgaTM4Nikg
+YXJjaD14ODZfNjQgOzsKICAgICopIGNhdCA8PEVPTSA+JjQKCioqKiBEb24ndCByZWNvZ25pemUg
+cHJvY2Vzc29yLCBjYW4ndCBzcGVjaWZ5IDY0IGJpdCBjb21waWxhdGlvbi4KCkVPTQogICAgOzsK
+ICAgIGVzYWMKICAgIGZvciB2YXIgaW4gY2NmbGFncyBjcHBmbGFncyBsZCBsZGZsYWdzCiAgICBk
+bwogICAgICAgZXZhbCAkdmFyPSJcJCR7dmFyfVwgLWFyY2hcICRhcmNoIgogICAgZG9uZQoKICAg
+IDs7CmVzYWMKOzsKZXNhYwoKIyMKIyBTeXN0ZW0gbGlicmFyaWVzCiMjCgojIHZmb3JrIHdvcmtz
+CnVzZXZmb3JrPSd0cnVlJzsKCiMgbWFsbG9jIHdyYXAgd29ya3MKY2FzZSAiJHVzZW1hbGxvY3dy
+YXAiIGluCicnKSB1c2VtYWxsb2N3cmFwPSdkZWZpbmUnIDs7CmVzYWMKCiMgb3VyIG1hbGxvYyB3
+b3JrcyAoYnV0IGFsbG93IHVzZXJzIHRvIG92ZXJyaWRlKQpjYXNlICIkdXNlbXltYWxsb2MiIGlu
+CicnKSB1c2VteW1hbGxvYz0nbicgOzsKZXNhYwojIEhvd2V2ZXIgc2JyaygpIHJldHVybnMgLTEg
+KGZhaWx1cmUpIHNvbWV3aGVyZSBpbiBsaWIvdW5pY29yZS9ta3RhYmxlcyBhdAojIGFyb3VuZCAx
+NE0sIHNvIHdlIG5lZWQgdG8gdXNlIHN5c3RlbSBtYWxsb2MoKSBhcyBvdXIgc2JyaygpCm1hbGxv
+Y19jZmxhZ3M9J2NjZmxhZ3M9Ii1EVVNFX1BFUkxfU0JSSyAtRFBFUkxfU0JSS19WSUFfTUFMTE9D
+ICRjY2ZsYWdzIicKCiMgTG9jYWxlcyBhcmVuJ3QgZmVlbGluZyB3ZWxsLgpMQ19BTEw9QzsgZXhw
+b3J0IExDX0FMTDsKTEFORz1DOyBleHBvcnQgTEFORzsKCiMKIyBUaGUgbGlicmFyaWVzIGFyZSBu
+b3QgdGhyZWFkc2FmZSBhcyBvZiBPUyBYIDEwLjEuCiMKIyBGaXggd2hlbiBBcHBsZSBmaXhlcyBs
+aWJjLgojCmNhc2UgIiR1c2V0aHJlYWRzJHVzZWl0aHJlYWRzIiBpbgogICpkZWZpbmUqKQogIGNh
+c2UgIiRvc3ZlcnMiIGluCiAgICBbMTIzNDVdLiopICAgICBjYXQgPDxFT00gPiY0CgoKCioqKiBX
+YXJuaW5nLCB0aGVyZSBtaWdodCBiZSBwcm9ibGVtcyB3aXRoIHlvdXIgbGlicmFyaWVzIHdpdGgK
+KioqIHJlZ2FyZHMgdG8gdGhyZWFkaW5nLiAgVGhlIHRlc3QgZXh0L3RocmVhZHMvdC9saWJjLnQg
+aXMgbGlrZWx5CioqKiB0byBmYWlsLgoKRU9NCiAgICA7OwogICAgKikgdXNlcmVlbnRyYW50PSdk
+ZWZpbmUnOzsKICBlc2FjCgplc2FjCgojIEZpbmsgY2FuIGluc3RhbGwgYSBHREJNIGxpYnJhcnkg
+dGhhdCBjbGFpbXMgdG8gaGF2ZSB0aGUgT0RCTSBpbnRlcmZhY2VzCiMgYnV0IFBlcmwgZHluYWxv
+YWRlciBjYW5ub3QgZm9yIHNvbWUgcmVhc29uIHVzZSB0aGF0IGxpYnJhcnkuICBXZSBkb24ndAoj
+IHJlYWxseSBuZWVkIE9EQk1fRklsZSwgdGhvdWdoLCBzbyBsZXQncyBqdXN0IGhpbnQgT0RCTSBh
+d2F5LgppX2RibT11bmRlZjsKCiMgQ29uZmlndXJlIGRvZXNuJ3QgZGV0ZWN0IHJhbmxpYiBvbiBU
+aWdlciBwcm9wZXJseS4KIyBOZWlsVyBzYXlzIHRoaXMgc2hvdWxkIGJlIGFjY2VwdGFibGUgb24g
+YWxsIGRhcndpbiB2ZXJzaW9ucy4KcmFubGliPSdyYW5saWInCgojIwojIEJ1aWxkIHByb2Nlc3MK
+IyMKCiMgQ2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtcyBkb24ndCBnZXQgYWxvbmcgd2l0aCBN
+YWtlZmlsZSBhbmQKIyBtYWtlZmlsZSBpbiB0aGUgc2FtZSBwbGFjZS4gIFNpbmNlIERhcndpbiB1
+c2VzIEdOVSBtYWtlLCB0aGlzIGRvZGdlcwojIHRoZSBwcm9ibGVtLgpmaXJzdG1ha2VmaWxlPUdO
+VW1ha2VmaWxlOwo=',
'dragonfly' =>
'IyBoaW50cy9kcmFnb25mbHkuc2gKIwojIFRoaXMgZmlsZSBpcyBtb3N0bHkgY29waWVkIGZyb20g
aGludHMvZnJlZWJzZC5zaCB3aXRoIHRoZSBPUyB2ZXJzaW9uCiMgaW5mb3JtYXRpb24gdGFrZW4g
@@ -905,260 +907,262 @@
IyBiaW5kIGNhdXNlcyBpc3N1ZXMgd2l0aCBzZXZlcmFsIHJlZW50cmFudCBmdW5jdGlvbnMKc2V0
IGBlY2hvIFggIiRsaWJzd2FudGVkICJ8IHNlZCAtZSAncy8gYnNkIC8gLycgLWUgJ3MvIG5ldCAv
IC8nIC1lICdzLyBiaW5kIC8gLydgCnNoaWZ0CmxpYnN3YW50ZWQ9IiQqIgoKIyBEZWJpYW4gNC4w
-IHB1dHMgbmRibSBpbiB0aGUgLWxnZGJtX2NvbXBhdCBsaWJyYXJ5LgpsaWJzd2FudGVkPSIkbGli
-c3dhbnRlZCBnZGJtX2NvbXBhdCIKCiMgQ29uZmlndXJlIG1heSBmYWlsIHRvIGZpbmQgbHN0YXQo
-KSBzaW5jZSBpdCdzIGEgc3RhdGljL2lubGluZQojIGZ1bmN0aW9uIGluIDxzeXMvc3RhdC5oPi4K
-ZF9sc3RhdD1kZWZpbmUKCiMgbWFsbG9jIHdyYXAgd29ya3MKY2FzZSAiJHVzZW1hbGxvY3dyYXAi
-IGluCicnKSB1c2VtYWxsb2N3cmFwPSdkZWZpbmUnIDs7CmVzYWMKCiMgVGhlIHN5c3RlbSBtYWxs
-b2MoKSBpcyBhYm91dCBhcyBmYXN0IGFuZCBhcyBmcnVnYWwgYXMgcGVybCdzLgojIFNpbmNlIHRo
-ZSBzeXN0ZW0gbWFsbG9jKCkgaGFzIGJlZW4gdGhlIGRlZmF1bHQgc2luY2UgYXQgbGVhc3QKIyA1
-LjAwMSwgd2UgbWlnaHQgYXMgd2VsbCBsZWF2ZSBpdCB0aGF0IHdheS4gIC0tQUQgIDEwIEphbiAy
-MDAyCmNhc2UgIiR1c2VteW1hbGxvYyIgaW4KJycpIHVzZW15bWFsbG9jPSduJyA7Owplc2FjCgp1
-bmFtZV9taW51c19tPSJgJHJ1biB1bmFtZSAtbSAyPi9kZXYvbnVsbGAiCnVuYW1lX21pbnVzX209
-IiR7dW5hbWVfbWludXNfbTotIiR0YXJnZXRhcmNoIn0iCgojIENoZWNrIGlmIHdlJ3JlIGFib3V0
-IHRvIHVzZSBJbnRlbCdzIElDQyBjb21waWxlcgpjYXNlICJgJHtjYzotY2N9IC1WIDI+JjFgIiBp
-bgoqIkludGVsKFIpIEMrKyBDb21waWxlciIqfCoiSW50ZWwoUikgQyBDb21waWxlciIqKQogICAg
-IyByZWNvcmQgdGhlIHZlcnNpb24sIGZvcm1hdHM6CiAgICAjIGljYyAoSUNDKSAxMC4xIDIwMDgw
-ODAxCiAgICAjIGljcGMgKElDQykgMTAuMSAyMDA4MDgwMQogICAgIyBmb2xsb3dlZCBieSBhIGNv
-cHlyaWdodCBvbiB0aGUgc2Vjb25kIGxpbmUKICAgIGNjdmVyc2lvbj1gJHtjYzotY2N9IC0tdmVy
-c2lvbiB8IHNlZCAtbiAtZSAncy9eaWNwXD9jIFwoKElDQykgXClcPy8vcCdgCiAgICAjIFRoaXMg
-aXMgbmVlZGVkIGZvciBDb25maWd1cmUncyBwcm90b3R5cGUgY2hlY2tzIHRvIHdvcmsgY29ycmVj
-dGx5CiAgICAjIFRoZSAtbXAgZmxhZyBpcyBuZWVkZWQgdG8gcGFzcyB2YXJpb3VzIGZsb2F0aW5n
-IHBvaW50IHJlbGF0ZWQgdGVzdHMKICAgICMgVGhlIC1uby1nY2MgZmxhZyBpcyBuZWVkZWQgb3Ro
-ZXJ3aXNlLCBpY2MgcHJldGVuZHMgKHBvb3JseSkgdG8gYmUgZ2NjCiAgICBjY2ZsYWdzPSItd2Ux
-NDcgLW1wIC1uby1nY2MgJGNjZmxhZ3MiCiAgICAjIFByZXZlbnQgcmVsb2NhdGlvbiBlcnJvcnMg
-b24gNjRiaXRzIGFyY2gKICAgIGNhc2UgIiR1bmFtZV9taW51c19tIiBpbgoJKmlhNjQqfCp4ODZf
-NjQqKQoJICAgIGNjY2RsZmxhZ3M9Jy1mUElDJwoJOzsKICAgIGVzYWMKICAgICMgSWYgd2UncmUg
-dXNpbmcgSUNDLCB3ZSB1c3VhbGx5IHdhbnQgdGhlIGJlc3QgcGVyZm9ybWFuY2UKICAgIGNhc2Ug
-IiRvcHRpbWl6ZSIgaW4KICAgICcnKSBvcHRpbWl6ZT0nLU8zJyA7OwogICAgZXNhYwogICAgOzsK
-KiIgU3VuICIqIkMiKikKICAgICMgU3VuJ3MgQyBjb21waWxlciwgd2hpY2ggbWlnaHQgaGF2ZSBh
-ICd0YWcnIG5hbWUgYmV0d2VlbgogICAgIyAnU3VuJyBhbmQgdGhlICdDJzogIEV4YW1wbGVzOgog
-ICAgIyBjYzogU3VuIEMgNS45IExpbnV4X2kzODYgUGF0Y2ggMTI0ODcxLTAxIDIwMDcvMDcvMzEK
-ICAgICMgY2M6IFN1biBDZXJlcyBDIDUuMTAgTGludXhfaTM4NiAyMDA4LzA3LzEwCiAgICB0ZXN0
-ICIkb3B0aW1pemUiIHx8IG9wdGltaXplPScteE8yJwogICAgY2NjZGxmbGFncz0nLUtQSUMnCiAg
-ICBsZGRsZmxhZ3M9Jy1HIC1CZHluYW1pYycKICAgICMgU3VuIEMgZG9lc24ndCBzdXBwb3J0IGdj
-YyBhdHRyaWJ1dGVzLCBidXQsIGluIG1hbnkgY2FzZXMsIGRvZXNuJ3QKICAgICMgY29tcGxhaW4g
-ZWl0aGVyLiAgTm90IGFsbCBjYXNlcywgdGhvdWdoLgogICAgZF9hdHRyaWJ1dGVfZm9ybWF0PSd1
-bmRlZicKICAgIGRfYXR0cmlidXRlX21hbGxvYz0ndW5kZWYnCiAgICBkX2F0dHJpYnV0ZV9ub25u
-dWxsPSd1bmRlZicKICAgIGRfYXR0cmlidXRlX25vcmV0dXJuPSd1bmRlZicKICAgIGRfYXR0cmli
-dXRlX3B1cmU9J3VuZGVmJwogICAgZF9hdHRyaWJ1dGVfdW51c2VkPSd1bmRlZicKICAgIGRfYXR0
-cmlidXRlX3dhcm5fdW51c2VkX3Jlc3VsdD0ndW5kZWYnCiAgICA7Owplc2FjCgpjYXNlICIkb3B0
-aW1pemUiIGluCiMgdXNlIC1PMiBieSBkZWZhdWx0IDsgLU8zIGRvZXNuJ3Qgc2VlbSB0byBicmlu
-ZyBzaWduaWZpY2FudCBiZW5lZml0cyB3aXRoIGdjYwonJykKICAgIG9wdGltaXplPSctTzInCiAg
-ICBjYXNlICIkdW5hbWVfbWludXNfbSIgaW4KICAgICAgICBwcGMqKQogICAgICAgICAgICAjIG9u
-IHBwYywgaXQgc2VlbXMgdGhhdCBnY2MgKGF0IGxlYXN0IGdjYyAzLjMuMikgaXNuJ3QgaGFwcHkK
-ICAgICAgICAgICAgIyB3aXRoIC1PMiA7IHNvIGRvd25ncmFkZSB0byAtTzEuCiAgICAgICAgICAg
-IG9wdGltaXplPSctTzEnCiAgICAgICAgOzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgIyBU
-aGlzIGFyY2hpdGVjdHVyZSBoYXMgaGFkIHZhcmlvdXMgcHJvYmxlbXMgd2l0aCBnY2MncwogICAg
-ICAgICAgICAjIGluIHRoZSAzLjIsIDMuMywgYW5kIDMuNCByZWxlYXNlcyB3aGVuIG9wdGltaXpl
-ZCB0byAtTzIuICBTZWUKICAgICAgICAgICAgIyBSVCAjMzcxNTYgZm9yIGEgZGlzY3Vzc2lvbiBv
-ZiB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgY2FzZSAiYCR7Y2M6LWdjY30gLXYgMj4mMWAiIGlu
-CiAgICAgICAgICAgICoidmVyc2lvbiAzLjIiKnwqInZlcnNpb24gMy4zIip8KiJ2ZXJzaW9uIDMu
-NCIqKQogICAgICAgICAgICAgICAgY2NmbGFncz0iLWZuby1kZWxldGUtbnVsbC1wb2ludGVyLWNo
-ZWNrcyAkY2NmbGFncyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYwogICAgICAgIDs7
-CiAgICBlc2FjCiAgICA7Owplc2FjCgojIFVidW50dSAxMS4wNCAoYW5kIGxhdGVyLCBwcmVzdW1h
-Ymx5KSBkb2Vzbid0IGtlZXAgbW9zdCBsaWJyYXJpZXMKIyAoc3VjaCBhcyAtbG0pIGluIC9saWIg
-b3IgL3Vzci9saWIuICBTbyB3ZSBoYXZlIHRvIGFzayBnY2MgdG8gdGVsbCB1cwojIHdoZXJlIHRv
-IGxvb2suICBXZSBkb24ndCB3YW50IGdjYydzIG93biBsaWJyYXJpZXMsIGhvd2V2ZXIsIHNvIHdl
-CiMgZmlsdGVyIHRob3NlIG91dC4KIyBUaGlzIGNvdWxkIGJlIGNvbmRpdGlvbmFsIG9uIFVuYnVu
-dHUsIGJ1dCBvdGhlciBkaXN0cmlidXRpb25zIG1heQojIGZvbGxvdyBzdWl0LCBhbmQgdGhpcyBz
-Y2hlbWUgc2VlbXMgdG8gd29yayBldmVuIG9uIHJhdGhlciBvbGQgZ2NjJ3MuCiMgVGhpcyB1bmNv
-bmRpdGlvbmFsbHkgdXNlcyBnY2MgYmVjYXVzZSBldmVuIGlmIHRoZSB1c2VyIGlzIHVzaW5nIGFu
-b3RoZXIKIyBjb21waWxlciwgd2Ugc3RpbGwgbmVlZCB0byBmaW5kIHRoZSBtYXRoIGxpYnJhcnkg
-YW5kIGZyaWVuZHMsIGFuZCBJIGRvbid0CiMga25vdyBob3cgb3RoZXIgY29tcGlsZXJzIHdpbGwg
-Y29wZSB3aXRoIHRoYXQgc2l0dWF0aW9uLgojIE1vcmV2ZXIsIGlmIHRoZSB1c2VyIGhhcyB0aGVp
-ciBvd24gZ2NjIGVhcmxpZXIgaW4gJFBBVEggdGhhbiB0aGUgc3lzdGVtIGdjYywKIyB3ZSBkb24n
-dCB3YW50IGl0cyBsaWJyYXJpZXMuIFNvIHdlIHRyeSB0byBwcmVmZXIgdGhlIHN5c3RlbSBnY2MK
-IyBTdGlsbCwgYXMgYW4gZXNjYXBlIGhhdGNoLCBhbGxvdyBDb25maWd1cmUgY29tbWFuZCBsaW5l
-IG92ZXJyaWRlcyB0bwojIHBsaWJwdGggdG8gYnlwYXNzIHRoaXMgY2hlY2suCmlmIFsgLXggL3Vz
-ci9iaW4vZ2NjIF0gOyB0aGVuCiAgICBnY2M9L3Vzci9iaW4vZ2NjCmVsc2UKICAgIGdjYz1nY2MK
-ZmkKCmNhc2UgIiRwbGlicHRoIiBpbgonJykgcGxpYnB0aD1gTEFORz1DIExDX0FMTD1DICRnY2Mg
-JGNjZmxhZ3MgJGxkZmxhZ3MgLXByaW50LXNlYXJjaC1kaXJzIHwgZ3JlcCBsaWJyYXJpZXMgfAoJ
-Y3V0IC1mMi0gLWQ9IHwgdHIgJzonICR0cm5sIHwgZ3JlcCAtdiAnZ2NjJyB8IHNlZCAtZSAnczov
-JDo6J2AKICAgIHNldCBYICRwbGlicHRoICMgQ29sbGFwc2UgYWxsIGVudHJpZXMgb24gb25lIGxp
-bmUKICAgIHNoaWZ0CiAgICBwbGlicHRoPSIkKiIKICAgIDs7CmVzYWMKCmNhc2UgIiRsaWJjIiBp
-bgonJykKIyBJZiB5b3UgaGF2ZSBnbGliYywgdGhlbiByZXBvcnQgdGhlIHZlcnNpb24gZm9yIC4v
-bXljb25maWcgYnVnIHJlcG9ydGluZy4KIyAoQ29uZmlndXJlIGRvZXNuJ3QgbmVlZCB0byBrbm93
-IHRoZSBzcGVjaWZpYyB2ZXJzaW9uIHNpbmNlIGl0IGp1c3QgdXNlcwojIGdjYyB0byBsb2FkIHRo
-ZSBsaWJyYXJ5IGZvciBhbGwgdGVzdHMuKQojIFdlIGRvbid0IHVzZSBfX0dMSUJDX18gYW5kICBf
-X0dMSUJDX01JTk9SX18gYmVjYXVzZSB0aGV5CiMgYXJlIGluc3VmZmljaWVudGx5IHByZWNpc2Ug
-dG8gZGlzdGluZ3Vpc2ggdGhpbmdzIGxpa2UKIyBsaWJjLTIuMC42IGFuZCBsaWJjLTIuMC43Lgog
-ICAgZm9yIHAgaW4gJHBsaWJwdGgKICAgIGRvCiAgICAgICAgZm9yIHRyeWxpYiBpbiBsaWJjLnNv
-LjYgbGliYy5zbwogICAgICAgIGRvCiAgICAgICAgICAgIGlmICR0ZXN0IC1lICRwLyR0cnlsaWI7
-IHRoZW4KICAgICAgICAgICAgICAgIGxpYmM9YGxzIC1sICRwLyR0cnlsaWIgfCBhd2sgJ3twcmlu
-dCAkTkZ9J2AKICAgICAgICAgICAgICAgIGlmICR0ZXN0ICJYJGxpYmMiICE9IFg7IHRoZW4KICAg
-ICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgZmkK
-ICAgICAgICBkb25lCiAgICAgICAgaWYgJHRlc3QgIlgkbGliYyIgIT0gWDsgdGhlbgogICAgICAg
-ICAgICBicmVhawogICAgICAgIGZpCiAgICBkb25lCiAgICA7Owplc2FjCgojIEFyZSB3ZSB1c2lu
-ZyBFTEY/ICBUaGFua3MgdG8gS2VubmV0aCBBbGJhbm93c2tpIDxramFoZHNAa2phaGRzLmNvbT4K
-IyBmb3IgdGhpcyB0ZXN0LgpjYXQgPnRyeS5jIDw8J0VPTScKLyogVGVzdCBmb3Igd2hldGhlciBF
-TEYgYmluYXJpZXMgYXJlIHByb2R1Y2VkICovCiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8
-c3RkbGliLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KbWFpbigpIHsKCWNoYXIgYnVmZmVyWzRdOwoJ
-aW50IGk9b3BlbigiYS5vdXQiLE9fUkRPTkxZKTsKCWlmKGk9PS0xKQoJCWV4aXQoMSk7IC8qIGZh
-aWwgKi8KCWlmKHJlYWQoaSwmYnVmZmVyWzBdLDQpPDQpCgkJZXhpdCgxKTsgLyogZmFpbCAqLwoJ
-aWYoYnVmZmVyWzBdICE9IDEyNyB8fCBidWZmZXJbMV0gIT0gJ0UnIHx8CiAgICAgICAgICAgYnVm
-ZmVyWzJdICE9ICdMJyB8fCBidWZmZXJbM10gIT0gJ0YnKQoJCWV4aXQoMSk7IC8qIGZhaWwgKi8K
-CWV4aXQoMCk7IC8qIHN1Y2NlZWQgKHllcywgaXQncyBFTEYpICovCn0KRU9NCmlmICR7Y2M6LWdj
-Y30gJGNjZmxhZ3MgJGxkZmxhZ3MgdHJ5LmMgPi9kZXYvbnVsbCAyPiYxICYmICRydW4gLi9hLm91
-dDsgdGhlbgogICAgY2F0IDw8J0VPTScgPiY0CgpZb3UgYXBwZWFyIHRvIGhhdmUgRUxGIHN1cHBv
-cnQuICBJJ2xsIHRyeSB0byB1c2UgaXQgZm9yIGR5bmFtaWMgbG9hZGluZy4KSWYgZHluYW1pYyBs
-b2FkaW5nIGRvZXNuJ3Qgd29yaywgcmVhZCBoaW50cy9saW51eC5zaCBmb3IgZnVydGhlciBpbmZv
-cm1hdGlvbi4KRU9NCgplbHNlCiAgICBjYXQgPDwnRU9NJyA+JjQKCllvdSBkb24ndCBoYXZlIGFu
-IEVMRiBnY2MuICBJIHdpbGwgdXNlIGRsZCBpZiBwb3NzaWJsZS4gIElmIHlvdSBhcmUKdXNpbmcg
-YSB2ZXJzaW9uIG9mIERMRCBlYXJsaWVyIHRoYW4gMy4yLjYsIG9yIGRvbid0IGhhdmUgaXQgYXQg
-YWxsLCB5b3UKc2hvdWxkIHByb2JhYmx5IHVwZ3JhZGUuIElmIHlvdSBhcmUgZm9yY2VkIHRvIHVz
-ZSAzLjIuNCwgeW91IHNob3VsZAp1bmNvbW1lbnQgYSBjb3VwbGUgb2YgbGluZXMgaW4gaGludHMv
-bGludXguc2ggYW5kIHJlc3RhcnQgQ29uZmlndXJlIHNvCnRoYXQgc2hhcmVkIGxpYnJhcmllcyB3
-aWxsIGJlIGRpc2FsbG93ZWQuCgpFT00KICAgIGxkZGxmbGFncz0iLXIgJGxkZGxmbGFncyIKICAg
-ICMgVGhlc2UgZW1wdHkgdmFsdWVzIGFyZSBzbyB0aGF0IENvbmZpZ3VyZSBkb2Vzbid0IHB1dCBp
-biB0aGUKICAgICMgTGludXggRUxGIHZhbHVlcy4KICAgIGNjZGxmbGFncz0nICcKICAgIGNjY2Rs
-ZmxhZ3M9JyAnCiAgICBjY2ZsYWdzPSItRE9WUl9EQkxfRElHPTE0ICRjY2ZsYWdzIgogICAgc289
-J3NhJwogICAgZGxleHQ9J28nCiAgICBubV9zb19vcHQ9JyAnCiAgICAjIyBJZiB5b3UgYXJlIHVz
-aW5nIERMRCAzLjIuNCB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IHNoYXJlZCBsaWJzLAogICAgIyMg
-dW5jb21tZW50IHRoZSBuZXh0IHR3byBsaW5lczoKICAgICNsZGZsYWdzPSItc3RhdGljIgogICAg
-I3NvPSdub25lJwoKCSMgSW4gYWRkaXRpb24sIG9uIHNvbWUgc3lzdGVtcyB0aGVyZSBpcyBhIHBy
-b2JsZW0gd2l0aCBwZXJsIGFuZCBOREJNCgkjIHdoaWNoIGNhdXNlcyBBbnlEQk0gYW5kIE5EQk1f
-RmlsZSB0byBsb2NrIHVwLiBUaGlzIGlzIGV2aWRlbmNlZAoJIyBpbiB0aGUgdGVzdHMgYXMgQW55
-REJNIGp1c3QgZnJlZXppbmcuICBBcHBhcmVudGx5LCB0aGlzIG9ubHkKCSMgaGFwcGVucyBvbiBh
-Lm91dCBzeXN0ZW1zLCBzbyB3ZSBkaXNhYmxlIE5EQk0gZm9yIGFsbCBhLm91dCBsaW51eAoJIyBz
-eXN0ZW1zLiAgSWYgc29tZW9uZSBjYW4gc3VnZ2VzdCBhIG1vcmUgcm9idXN0IHRlc3QKCSMgIHRo
-YXQgd291bGQgYmUgYXBwcmVjaWF0ZWQuCgkjCgkjIE1vcmUgaW5mbzoKCSMgRGF0ZTogV2VkLCA3
-IEZlYiAxOTk2IDAzOjIxOjA0ICswOTAwCgkjIEZyb206IEplZmZyZXkgRnJpZWRsIDxqZnJpZWRs
-QG5mZi5uY2wub21yb24uY28uanA+CgkjCgkjIEkgdHJpZWQgY29tcGlsaW5nIHdpdGggREJNIHN1
-cHBvcnQgYW5kIHN1cmUgZW5vdWdoIHRoaW5ncyBsb2NrZWQgdXAKCSMganVzdCBhcyBhZHZlcnRp
-c2VkLiBDaGVja2luZyBpbnRvIGl0LCBJIGZvdW5kIHRoYXQgdGhlIGxvY2t1cCB3YXMKCSMgZHVy
-aW5nIHRoZSBjYWxsIHRvIGRibV9vcGVuLiBOb3QgKmluKiBkYm1fb3BlbiAtLSBidXQgYmV0d2Vl
-biB0aGUgY2FsbAoJIyB0byBhbmQgdGhlIGp1bXAgaW50by4KCSMKCSMgVG8gbWFrZSBhIGxvbmcg
-c3Rvcnkgc2hvcnQsIG1ha2luZyBzdXJlIHRoYXQgdGhlICouYSBhbmQgKi5zYSBwYWlycyBvZgoJ
-IyAgIC91c3IvbGliL2xpYnttLGRiLGdkYm19LnthLHNhfQoJIyB3ZXJlIHBlcmZlY3RseSBpbiBz
-eW5jIHRvb2sgY2FyZSBvZiBpdC4KCSMKCSMgVGhpcyB3aWxsIGdlbmVyYXRlIGEgaGFybWxlc3Mg
-V2hvYSBUaGVyZSEgbWVzc2FnZQoJY2FzZSAiJGRfZGJtX29wZW4iIGluCgknJykJY2F0IDw8J0VP
-TScgPiY0CgpEaXNhYmxpbmcgbmRibS4gIFRoaXMgd2lsbCBnZW5lcmF0ZSBhIFdob2EgVGhlcmUg
-bWVzc2FnZSBpbiBDb25maWd1cmUuClJlYWQgaGludHMvbGludXguc2ggZm9yIGZ1cnRoZXIgaW5m
-b3JtYXRpb24uCkVPTQoJCSMgWW91IGNhbiBvdmVycmlkZSB0aGlzIHdpdGggQ29uZmlndXJlIC1E
-ZF9kYm1fb3BlbgoJCWRfZGJtX29wZW49dW5kZWYKCQk7OwoJZXNhYwpmaQoKcm0gLWYgdHJ5LmMg
-YS5vdXQKCmlmICR7c2g6LS9iaW4vc2h9IC1jIGV4aXQ7IHRoZW4KICBlY2hvICcnCiAgZWNobyAn
-WW91IGFwcGVhciB0byBoYXZlIGEgd29ya2luZyBiYXNoLiAgR29vZC4nCmVsc2UKICBjYXQgPDwg
-J0VPTScgPiY0CgoqKioqKioqKioqKioqKioqKioqKioqKiBXYXJuaW5nISAqKioqKioqKioqKioq
-KioqKioqKioKSXQgd291bGQgYXBwZWFyIHlvdSBoYXZlIGEgZGVmZWN0aXZlIGJhc2ggc2hlbGwg
-aW5zdGFsbGVkLiBUaGlzIGlzIGxpa2VseSB0bwpnaXZlIHlvdSBhIGZhaWx1cmUgb2Ygb3AvZXhl
-YyB0ZXN0ICM1IGR1cmluZyB0aGUgdGVzdCBwaGFzZSBvZiB0aGUgYnVpbGQsClVwZ3JhZGluZyB0
-byBhIHJlY2VudCB2ZXJzaW9uICgxLjE0LjQgb3IgbGF0ZXIpIHNob3VsZCBmaXggdGhlIHByb2Js
-ZW0uCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
-KgpFT00KCmZpCgojIE9uIFNQQVJDbGludXgsCiMgVGhlIGZvbGxvd2luZyBjc2ggY29uc2lzdGVu
-dGx5IGNvcmVkdW1wZWQgaW4gdGhlIHRlc3QgZGlyZWN0b3J5CiMgIi9ob21lL21pa2VkbHIvcGVy
-bDUuMDAzXzk0L3QiLCB0aG91Z2ggbm90IG1vc3Qgb3RoZXIgZGlyZWN0b3JpZXMuCgojTmFtZSAg
-ICAgICAgOiBjc2ggICAgICAgICAgICAgICAgICAgIERpc3RyaWJ1dGlvbjogUmVkIEhhdCBMaW51
-eCAoUmVtYnJhbmR0KQojVmVyc2lvbiAgICAgOiA1LjIuNiAgICAgICAgICAgICAgICAgICAgICAg
-IFZlbmRvcjogUmVkIEhhdCBTb2Z0d2FyZQojUmVsZWFzZSAgICAgOiAzICAgICAgICAgICAgICAg
-ICAgICAgICAgQnVpbGQgRGF0ZTogRnJpIE1heSAyNCAxOTo0MjoxNCAxOTk2CiNJbnN0YWxsIGRh
-dGU6IFRodSBKdWwgMTEgMTY6MjA6MTQgMTk5NiBCdWlsZCBIb3N0OiBpdGNoeS5yZWRoYXQuY29t
-CiNHcm91cCAgICAgICA6IFNoZWxscyAgICAgICAgICAgICAgICAgICBTb3VyY2UgUlBNOiBjc2gt
-NS4yLjYtMy5zcmMucnBtCiNTaXplICAgICAgICA6IDE4NDQxNwojRGVzY3JpcHRpb24gOiBCU0Qg
-Yy1zaGVsbAoKIyBGb3IgdGhpcyByZWFzb24gSSBzdWdnZXN0IHVzaW5nIHRoZSBtdWNoIGJ1Zy1m
-aXhlZCB0Y3NoIGZvciBnbG9iYmluZwojIHdoZXJlIGF2YWlsYWJsZS4KCiMgTm92ZW1iZXIgMjAw
-MTogIFRoYXQgd2FybmluZydzIHByZXR0eSBvbGQgbm93IGFuZCBwcm9iYWJseSBub3Qgc28KIyBy
-ZWxldmFudCwgZXNwZWNpYWxseSBzaW5jZSBwZXJsIG5vdyB1c2VzIEZpbGU6Okdsb2IgZm9yIGds
-b2JiaW5nLgojIFdlJ2xsIHN0aWxsIGxvb2sgZm9yIHRjc2gsIGJ1dCB0b25lIGRvd24gdGhlIHdh
-cm5pbmdzLgojIEFuZHkgRG91Z2hlcnR5LCBOb3YuIDYsIDIwMDEKaWYgJGNzaCAtYyAnZWNobyAk
-dmVyc2lvbicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICBlY2hvICdZb3VyIGNzaCBpcyByZWFs
-bHkgdGNzaC4gIEdvb2QuJwplbHNlCiAgICBpZiB4eHg9YC4vVVUvbG9jIHRjc2ggYmx1cmZsICRw
-dGhgOyAkdGVzdCAtZiAiJHh4eCI7IHRoZW4KCWVjaG8gIkZvdW5kIHRjc2guICBJJ2xsIHVzZSBp
-dCBmb3IgZ2xvYmJpbmcuIgoJIyBXZSBjYW4ndCBjaGFuZ2UgQ29uZmlndXJlJ3Mgc2V0dGluZyBv
-ZiAkY3NoLCBkdWUgdG8gdGhlIHdheQoJIyBDb25maWd1cmUgaGFuZGxlcyAkZF9wb3J0YWJsZSBh
-bmQgY29tbWFuZHMgZm91bmQgaW4gJGxvY2xpc3QuCgkjIFdlIGNhbiBzZXQgdGhlIHZhbHVlIGZv
-ciBDU0ggaW4gY29uZmlnLmggYnkgc2V0dGluZyBmdWxsX2NzaC4KCWZ1bGxfY3NoPSR4eHgKICAg
-IGVsaWYgWyAtZiAiJGNzaCIgXTsgdGhlbgoJZWNobyAiQ291bGRuJ3QgZmluZCB0Y3NoLiAgQ3No
-LWJhc2VkIGdsb2JiaW5nIG1pZ2h0IGJlIGJyb2tlbi4iCiAgICBmaQpmaQoKIyBTaGltcGVpIFlh
-bWFzaGl0YSA8c2hpbXBlaUBzb2NyYXRlcy5wYXRuZXQuY2FsdGVjaC5lZHU+CiMgTWVzc2FnZS1J
-ZDogPDMzRUYxNjM0LkIzNkI2NTAwQHBvYm94LmNvbT4KIwojIFRoZSBEUjIgb2YgTWtMaW51eCAo
-b3NuYW1lPWxpbnV4LGFyY2huYW1lPXBwYy1saW51eCkgbWF5IG5lZWQKIyBzcGVjaWFsIGZsYWdz
-IHBhc3NlZCBpbiBvcmRlciBmb3IgZHluYW1pYyBsb2FkaW5nIHRvIHdvcmsuCiMgaW5zdGVhZCBv
-ZiB0aGUgcmVjb21tZW5kZWQ6CiMKIyBjY2RsZmxhZ3M9Jy1yZHluYW1pYycKIwojIGl0IHNob3Vs
-ZCBiZToKIyBjY2RsZmxhZ3M9Jy1XbCwtRScKIwojIFNvIGlmIHlvdXIgRFIyIChEUjMgY2FtZSBv
-dXQgc3VtbWVyIDE5OTgsIGNvbnNpZGVyIHVwZ3JhZGluZykKIyBoYXMgcHJvYmxlbXMgd2l0aCBk
-eW5hbWljIGxvYWRpbmcsIHVuY29tbWVudCB0aGUKIyBmb2xsb3dpbmcgdGhyZWUgbGluZXMsIG1h
-a2UgZGlzdGNsZWFuLCBhbmQgcmUtQ29uZmlndXJlOgojY2FzZSAiYHVuYW1lIC1yIHwgc2VkICdz
-L15bMC05Li1dKi8vJ2BgYXJjaGAiIGluCiMnb3NmbWFjaDNwcGMnKSBjY2RsZmxhZ3M9Jy1XbCwt
-RScgOzsKI2VzYWMKCmNhc2UgIiR1bmFtZV9taW51c19tIiBpbgpzcGFyYyopCgljYXNlICIkY2Nj
-ZGxmbGFncyIgaW4KCSotZnBpYyopIGNjY2RsZmxhZ3M9ImBlY2hvICRjY2NkbGZsYWdzfHNlZCAn
-cy8tZnBpYy8tZlBJQy8nYCIgOzsKCSotZlBJQyopIDs7CgkqKQkgY2NjZGxmbGFncz0iJGNjY2Rs
-ZmxhZ3MgLWZQSUMiIDs7Cgllc2FjCgk7Owplc2FjCgojIFN1U0U4LjIgaGFzIC91c3IvbGliL2xp
-Ym5kYm0qIHdoaWNoIGFyZSBsZCBzY3JpcHRzIHJhdGhlciB0aGFuCiMgdHJ1ZSBsaWJyYXJpZXMu
-IFRoZSBzY3JpcHRzIGNhdXNlIGJpbmRpbmcgYWdhaW5zdCBzdGF0aWMKIyB2ZXJzaW9uIG9mIC1s
-Z2RibSB3aGljaCBpcyBhIGJhZCBpZGVhLiBTbyBpZiB3ZSBoYXZlICdubScKIyBtYWtlIHN1cmUg
-aXQgY2FuIHJlYWQgdGhlIGZpbGUKIyBOSS1TIDIwMDMvMDgvMDcKY2FzZSAiJG5tIiBpbgogICAg
-JycpIDs7CiAgICAqKQogICAgZm9yIHAgaW4gJHBsaWJwdGgKICAgIGRvCiAgICAgICAgaWYgJHRl
-c3QgLXIgJHAvbGlibmRibS5zbzsgdGhlbgogICAgICAgICAgICBpZiAkbm0gJHAvbGlibmRibS5z
-byA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvICdZb3VyIHNoYXJl
-ZCAtbG5kYm0gc2VlbXMgdG8gYmUgYSByZWFsIGxpYnJhcnkuJwogICAgICAgICAgICAgICAgX2xp
-Ym5kYm1fcmVhbD0xCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBmaQogICAgICAg
-IGZpCiAgICBkb25lCiAgICBpZiAkdGVzdCAiWCRfbGlibmRibV9yZWFsIiA9IFg7IHRoZW4KICAg
-ICAgICBlY2hvICdZb3VyIHNoYXJlZCAtbG5kYm0gaXMgbm90IGEgcmVhbCBsaWJyYXJ5LicKICAg
-ICAgICBzZXQgYGVjaG8gWCAiJGxpYnN3YW50ZWQgInwgc2VkIC1lICdzLyBuZGJtIC8gLydgCiAg
-ICAgICAgc2hpZnQKICAgICAgICBsaWJzd2FudGVkPSIkKiIKICAgIGZpCiAgICA7Owplc2FjCgoj
-IExpbnV4IG9uIFN5bm9sb2d5LgppZiBbIC1mIC9ldGMvc3lub2luZm8uY29uZiAtYSAtZCAvdXNy
-L3N5bm8gXTsgdGhlbgogICAgIyBUZXN0ZWQgb24gU3lub2xvZ3kgRFMyMTMgYW5kIERTNDEzCiAg
-ICAjICBPUyB2ZXJzaW9uIGluZm8gaW4gL2V0Yy5kZWZhdWx0cy9WRVJTSU9OCiAgICAjICBodHRw
-Oi8vZm9ydW0uc3lub2xvZ3kuY29tL3dpa2kvaW5kZXgucGhwL1doYXRfa2luZF9vZl9DUFVfZG9l
-c19teV9OQVNfaGF2ZQogICAgIyBTeW5vbG9neSBEUzIxMyBydW5uaW5nIERTTSA0LjMtMzgxMC0w
-ICgyMDEzLTExLTA2KQogICAgIyAgQ1BVIG1vZGVsIE1hcnZlbGwgS2lya3dvb2QgbXY2MjgyIEFS
-TXY1dGUKICAgICMgIExpbnV4IDIuNi4zMi4xMiAjMzgxMCBXZWQgTm92IDYgMDU6MTM6NDEgQ1NU
-IDIwMTMgYXJtdjV0ZWwgR05VL0xpbnV4CiAgICAjIFN5bm9sb2d5IERTNDEzIHJ1bm5pbmcgRFNN
-IDQuMy0zODEwLTAgKDIwMTMtMTEtMDYpCiAgICAjICBDUFUgbW9kZWwgRnJlZXNjYWxlIFFvcklR
-IFAxMDIyIHBwYyAoZTUwMHYyKQogICAgIyAgbGludXggMi42LjMyLjEyICMzODEwIHBwYyBHTlUv
-TGludXgKICAgICMgQWxsIGRldmVsb3BtZW50IHN0dWZmIGluc3RhbGxlZCB3aXRoIGlwa2cgaXMg
-aW4gL29wdAogICAgaWYgWyAiJExBTkciID0gIiIgLW8gIiRMQU5HIiA9ICJDIiBdOyB0aGVuCgll
-Y2hvICdZb3VyIExBTkcgaXMgc2FmZScKICAgIGVsc2UKCWVjaG8gJ1BsZWFzZSBzZXQgJExBTkcg
-dG8gIkMiLiBBbGwgb3RoZXIgJExBTkcgc2V0dGluZ3Mgd2lsbCBjYXVzZSBoYXZvYycgPiY0CglM
-QU5HPUMKICAgIGZpCiAgICBlY2hvICdTZXR0aW5nIHVwIHRvIHVzZSAvb3B0LyonID4mNAogICAg
-bG9jaW5jcHRoPSIvb3B0L2luY2x1ZGUgJGxvY2luY3B0aCIKICAgIGxpYnB0aD0iL29wdC9saWIg
-JGxpYnB0aCIKICAgIGxpYnNwdGg9Ii9vcHQvbGliICRsaWJzcHRoIgogICAgbG9jbGlicHRoPSIv
-b3B0L2xpYiAkbG9jbGlicHRoIgogICAgIyBQT1NJWCB3aWxsIG5vdCBsaW5rIHdpdGhvdXQgdGhl
-IHB0aHJlYWQgbGliCiAgICBsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBwdGhyZWFkIgogICAgZWNo
-byAiJGxpYnN3YW50ZWQiID4mNApmaQoKIyBUaGlzIHNjcmlwdCBVVS91c2V0aHJlYWRzLmNidSB3
-aWxsIGdldCAnY2FsbGVkLWJhY2snIGJ5IENvbmZpZ3VyZQojIGFmdGVyIGl0IGhhcyBwcm9tcHRl
-ZCB0aGUgdXNlciBmb3Igd2hldGhlciB0byB1c2UgdGhyZWFkcy4KY2F0ID4gVVUvdXNldGhyZWFk
-cy5jYnUgPDwnRU9DQlUnCmNhc2UgIiR1c2V0aHJlYWRzIiBpbgokZGVmaW5lfHRydWV8W3lZXSop
-CiAgICAgICAgY2NmbGFncz0iLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgJGNjZmxhZ3MiCiAg
-ICAgICAgaWYgZWNobyAkbGlic3dhbnRlZCB8IGdyZXAgLXYgcHRocmVhZCA+L2Rldi9udWxsCiAg
-ICAgICAgdGhlbgogICAgICAgICAgICBzZXQgYGVjaG8gWCAiJGxpYnN3YW50ZWQgInwgc2VkIC1l
-ICdzLyBjIC8gcHRocmVhZCBjIC8nYAogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBsaWJz
-d2FudGVkPSIkKiIKICAgICAgICBmaQoKCSMgU29tZWhvdyBhdCBsZWFzdCBpbiBEZWJpYW4gMi4y
-IHRoZXNlIG1hbmFnZSB0byBlc2NhcGUKCSMgdGhlICNkZWZpbmUgZm9yZXN0IG9mIDxmZWF0dXJl
-cy5oPiBhbmQgPHRpbWUuaD4gc28gdGhhdAoJIyB0aGUgaGFzcHJvdG8gbWFjcm8gb2YgQ29uZmln
-dXJlIGRvZXNuJ3Qgc2VlIHRoZXNlIHByb3RvcywKCSMgZXZlbiB3aXRoIHRoZSAtRF9HTlVfU09V
-UkNFLgoKCWRfYXNjdGltZV9yX3Byb3RvPSIkZGVmaW5lIgoJZF9jcnlwdF9yX3Byb3RvPSIkZGVm
-aW5lIgoJZF9jdGltZV9yX3Byb3RvPSIkZGVmaW5lIgoJZF9nbXRpbWVfcl9wcm90bz0iJGRlZmlu
-ZSIKCWRfbG9jYWx0aW1lX3JfcHJvdG89IiRkZWZpbmUiCglkX3JhbmRvbV9yX3Byb3RvPSIkZGVm
-aW5lIgoKCTs7CmVzYWMKRU9DQlUKCmNhdCA+IFVVL3VzZWxhcmdlZmlsZXMuY2J1IDw8J0VPQ0JV
-JwojIFRoaXMgc2NyaXB0IFVVL3VzZWxhcmdlZmlsZXMuY2J1IHdpbGwgZ2V0ICdjYWxsZWQtYmFj
-aycgYnkgQ29uZmlndXJlCiMgYWZ0ZXIgaXQgaGFzIHByb21wdGVkIHRoZSB1c2VyIGZvciB3aGV0
-aGVyIHRvIHVzZSBsYXJnZSBmaWxlcy4KY2FzZSAiJHVzZWxhcmdlZmlsZXMiIGluCicnfCRkZWZp
-bmV8dHJ1ZXxbeVldKikKIyBLZWVwIHRoaXMgaW4gdGhlIGxlZnQgbWFyZ2luLgpjY2ZsYWdzX3Vz
-ZWxhcmdlZmlsZXM9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIK
-CgljY2ZsYWdzPSIkY2NmbGFncyAkY2NmbGFnc191c2VsYXJnZWZpbGVzIgoJOzsKZXNhYwpFT0NC
-VQoKIyBQdXJpZnkgZmFpbHMgdG8gbGluayBQZXJsIGlmIGEgIi1sYyIgaXMgcGFzc2VkIGludG8g
-aXRzIGxpbmtlcgojIGR1ZSB0byBkdXBsaWNhdGUgc3ltYm9scy4KY2FzZSAiJFBVUklGWSIgaW4K
-JGRlZmluZXx0cnVlfFt5WV0qKQogICAgc2V0IGBlY2hvIFggIiRsaWJzd2FudGVkICJ8IHNlZCAt
-ZSAncy8gYyAvIC8nYAogICAgc2hpZnQKICAgIGxpYnN3YW50ZWQ9IiQqIgogICAgOzsKZXNhYwoK
-IyBJZiB1c2luZyBnKyssIHRoZSBDb25maWd1cmUgc2NhbiBmb3IgZGxvcGVuKCkgYW5kIChlc3Bl
-Y2lhbGx5KQojIGRsZXJyb3IoKSBtaWdodCBmYWlsLCBlYXNpZXIganVzdCB0byBmb3JjaWJseSBo
-aW50IHRoZW0gaW4uCmNhc2UgIiRjYyIgaW4KKmcrKyopCiAgZF9kbG9wZW49J2RlZmluZScKICBk
-X2RsZXJyb3I9J2RlZmluZScKICA7Owplc2FjCgojIFVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyBs
-aWJkYiBjYW4gZ2V0IGJ1aWx0IGluIHN1Y2ggYSB3YXkgYXMgdG8KIyBuZWVkIHB0aHJlYWQgZXhw
-bGljaXRseSBsaW5rZWQuCgpsaWJkYl9uZWVkc19wdGhyZWFkPSJOIgoKaWYgZWNobyAiICRsaWJz
-d2FudGVkICIgfCBncmVwIC12ICIgcHRocmVhZCAiID4vZGV2L251bGwKdGhlbgogICBpZiBlY2hv
-ICIgJGxpYnN3YW50ZWQgIiB8IGdyZXAgIiBkYiAiID4vZGV2L251bGwKICAgdGhlbgogICAgIGZv
-ciBEQkRJUiBpbiAkZ2xpYnB0aAogICAgIGRvCiAgICAgICBEQkxJQj0iJERCRElSL2xpYmRiLnNv
-IgogICAgICAgaWYgWyAtZiAkREJMSUIgXQogICAgICAgdGhlbgogICAgICAgICBpZiAke25tOi1u
-bX0gLXUgJERCTElCIHwgZ3JlcCBwdGhyZWFkID4vZGV2L251bGwKICAgICAgICAgdGhlbgogICAg
-ICAgICAgIGlmIGxkZCAkREJMSUIgfCBncmVwIHB0aHJlYWQgPi9kZXYvbnVsbAogICAgICAgICAg
-IHRoZW4KICAgICAgICAgICAgIGxpYmRiX25lZWRzX3B0aHJlYWQ9Ik4iCiAgICAgICAgICAgZWxz
-ZQogICAgICAgICAgICAgbGliZGJfbmVlZHNfcHRocmVhZD0iWSIKICAgICAgICAgICBmaQogICAg
-ICAgICBmaQogICAgICAgZmkKICAgICBkb25lCiAgIGZpCmZpCgpjYXNlICIkbGliZGJfbmVlZHNf
-cHRocmVhZCIgaW4KICAiWSIpCiAgICBsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBwdGhyZWFkIgog
-ICAgOzsKZXNhYwo=',
+IHB1dHMgbmRibSBpbiB0aGUgLWxnZGJtX2NvbXBhdCBsaWJyYXJ5LgplY2hvICRsaWJzCmlmIGVj
+aG8gIiAkbGlic3dhbnRlZCAiIHwgZ3JlcCAtcSAnIGdkYm0gJzsgdGhlbgogICAgIyBPbmx5IGFk
+ZCBpZiBnZGJtIGlzIGluIGxpYnN3YW50ZWQuCiAgICBsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBn
+ZGJtX2NvbXBhdCIKZmkKCiMgQ29uZmlndXJlIG1heSBmYWlsIHRvIGZpbmQgbHN0YXQoKSBzaW5j
+ZSBpdCdzIGEgc3RhdGljL2lubGluZQojIGZ1bmN0aW9uIGluIDxzeXMvc3RhdC5oPi4KZF9sc3Rh
+dD1kZWZpbmUKCiMgbWFsbG9jIHdyYXAgd29ya3MKY2FzZSAiJHVzZW1hbGxvY3dyYXAiIGluCicn
+KSB1c2VtYWxsb2N3cmFwPSdkZWZpbmUnIDs7CmVzYWMKCiMgVGhlIHN5c3RlbSBtYWxsb2MoKSBp
+cyBhYm91dCBhcyBmYXN0IGFuZCBhcyBmcnVnYWwgYXMgcGVybCdzLgojIFNpbmNlIHRoZSBzeXN0
+ZW0gbWFsbG9jKCkgaGFzIGJlZW4gdGhlIGRlZmF1bHQgc2luY2UgYXQgbGVhc3QKIyA1LjAwMSwg
+d2UgbWlnaHQgYXMgd2VsbCBsZWF2ZSBpdCB0aGF0IHdheS4gIC0tQUQgIDEwIEphbiAyMDAyCmNh
+c2UgIiR1c2VteW1hbGxvYyIgaW4KJycpIHVzZW15bWFsbG9jPSduJyA7Owplc2FjCgp1bmFtZV9t
+aW51c19tPSJgJHJ1biB1bmFtZSAtbSAyPi9kZXYvbnVsbGAiCnVuYW1lX21pbnVzX209IiR7dW5h
+bWVfbWludXNfbTotIiR0YXJnZXRhcmNoIn0iCgojIENoZWNrIGlmIHdlJ3JlIGFib3V0IHRvIHVz
+ZSBJbnRlbCdzIElDQyBjb21waWxlcgpjYXNlICJgJHtjYzotY2N9IC1WIDI+JjFgIiBpbgoqIklu
+dGVsKFIpIEMrKyBDb21waWxlciIqfCoiSW50ZWwoUikgQyBDb21waWxlciIqKQogICAgIyByZWNv
+cmQgdGhlIHZlcnNpb24sIGZvcm1hdHM6CiAgICAjIGljYyAoSUNDKSAxMC4xIDIwMDgwODAxCiAg
+ICAjIGljcGMgKElDQykgMTAuMSAyMDA4MDgwMQogICAgIyBmb2xsb3dlZCBieSBhIGNvcHlyaWdo
+dCBvbiB0aGUgc2Vjb25kIGxpbmUKICAgIGNjdmVyc2lvbj1gJHtjYzotY2N9IC0tdmVyc2lvbiB8
+IHNlZCAtbiAtZSAncy9eaWNwXD9jIFwoKElDQykgXClcPy8vcCdgCiAgICAjIFRoaXMgaXMgbmVl
+ZGVkIGZvciBDb25maWd1cmUncyBwcm90b3R5cGUgY2hlY2tzIHRvIHdvcmsgY29ycmVjdGx5CiAg
+ICAjIFRoZSAtbXAgZmxhZyBpcyBuZWVkZWQgdG8gcGFzcyB2YXJpb3VzIGZsb2F0aW5nIHBvaW50
+IHJlbGF0ZWQgdGVzdHMKICAgICMgVGhlIC1uby1nY2MgZmxhZyBpcyBuZWVkZWQgb3RoZXJ3aXNl
+LCBpY2MgcHJldGVuZHMgKHBvb3JseSkgdG8gYmUgZ2NjCiAgICBjY2ZsYWdzPSItd2UxNDcgLW1w
+IC1uby1nY2MgJGNjZmxhZ3MiCiAgICAjIFByZXZlbnQgcmVsb2NhdGlvbiBlcnJvcnMgb24gNjRi
+aXRzIGFyY2gKICAgIGNhc2UgIiR1bmFtZV9taW51c19tIiBpbgoJKmlhNjQqfCp4ODZfNjQqKQoJ
+ICAgIGNjY2RsZmxhZ3M9Jy1mUElDJwoJOzsKICAgIGVzYWMKICAgICMgSWYgd2UncmUgdXNpbmcg
+SUNDLCB3ZSB1c3VhbGx5IHdhbnQgdGhlIGJlc3QgcGVyZm9ybWFuY2UKICAgIGNhc2UgIiRvcHRp
+bWl6ZSIgaW4KICAgICcnKSBvcHRpbWl6ZT0nLU8zJyA7OwogICAgZXNhYwogICAgOzsKKiIgU3Vu
+ICIqIkMiKikKICAgICMgU3VuJ3MgQyBjb21waWxlciwgd2hpY2ggbWlnaHQgaGF2ZSBhICd0YWcn
+IG5hbWUgYmV0d2VlbgogICAgIyAnU3VuJyBhbmQgdGhlICdDJzogIEV4YW1wbGVzOgogICAgIyBj
+YzogU3VuIEMgNS45IExpbnV4X2kzODYgUGF0Y2ggMTI0ODcxLTAxIDIwMDcvMDcvMzEKICAgICMg
+Y2M6IFN1biBDZXJlcyBDIDUuMTAgTGludXhfaTM4NiAyMDA4LzA3LzEwCiAgICB0ZXN0ICIkb3B0
+aW1pemUiIHx8IG9wdGltaXplPScteE8yJwogICAgY2NjZGxmbGFncz0nLUtQSUMnCiAgICBsZGRs
+ZmxhZ3M9Jy1HIC1CZHluYW1pYycKICAgICMgU3VuIEMgZG9lc24ndCBzdXBwb3J0IGdjYyBhdHRy
+aWJ1dGVzLCBidXQsIGluIG1hbnkgY2FzZXMsIGRvZXNuJ3QKICAgICMgY29tcGxhaW4gZWl0aGVy
+LiAgTm90IGFsbCBjYXNlcywgdGhvdWdoLgogICAgZF9hdHRyaWJ1dGVfZm9ybWF0PSd1bmRlZicK
+ICAgIGRfYXR0cmlidXRlX21hbGxvYz0ndW5kZWYnCiAgICBkX2F0dHJpYnV0ZV9ub25udWxsPSd1
+bmRlZicKICAgIGRfYXR0cmlidXRlX25vcmV0dXJuPSd1bmRlZicKICAgIGRfYXR0cmlidXRlX3B1
+cmU9J3VuZGVmJwogICAgZF9hdHRyaWJ1dGVfdW51c2VkPSd1bmRlZicKICAgIGRfYXR0cmlidXRl
+X3dhcm5fdW51c2VkX3Jlc3VsdD0ndW5kZWYnCiAgICA7Owplc2FjCgpjYXNlICIkb3B0aW1pemUi
+IGluCiMgdXNlIC1PMiBieSBkZWZhdWx0IDsgLU8zIGRvZXNuJ3Qgc2VlbSB0byBicmluZyBzaWdu
+aWZpY2FudCBiZW5lZml0cyB3aXRoIGdjYwonJykKICAgIG9wdGltaXplPSctTzInCiAgICBjYXNl
+ICIkdW5hbWVfbWludXNfbSIgaW4KICAgICAgICBwcGMqKQogICAgICAgICAgICAjIG9uIHBwYywg
+aXQgc2VlbXMgdGhhdCBnY2MgKGF0IGxlYXN0IGdjYyAzLjMuMikgaXNuJ3QgaGFwcHkKICAgICAg
+ICAgICAgIyB3aXRoIC1PMiA7IHNvIGRvd25ncmFkZSB0byAtTzEuCiAgICAgICAgICAgIG9wdGlt
+aXplPSctTzEnCiAgICAgICAgOzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgIyBUaGlzIGFy
+Y2hpdGVjdHVyZSBoYXMgaGFkIHZhcmlvdXMgcHJvYmxlbXMgd2l0aCBnY2MncwogICAgICAgICAg
+ICAjIGluIHRoZSAzLjIsIDMuMywgYW5kIDMuNCByZWxlYXNlcyB3aGVuIG9wdGltaXplZCB0byAt
+TzIuICBTZWUKICAgICAgICAgICAgIyBSVCAjMzcxNTYgZm9yIGEgZGlzY3Vzc2lvbiBvZiB0aGUg
+cHJvYmxlbS4KICAgICAgICAgICAgY2FzZSAiYCR7Y2M6LWdjY30gLXYgMj4mMWAiIGluCiAgICAg
+ICAgICAgICoidmVyc2lvbiAzLjIiKnwqInZlcnNpb24gMy4zIip8KiJ2ZXJzaW9uIDMuNCIqKQog
+ICAgICAgICAgICAgICAgY2NmbGFncz0iLWZuby1kZWxldGUtbnVsbC1wb2ludGVyLWNoZWNrcyAk
+Y2NmbGFncyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYwogICAgICAgIDs7CiAgICBl
+c2FjCiAgICA7Owplc2FjCgojIFVidW50dSAxMS4wNCAoYW5kIGxhdGVyLCBwcmVzdW1hYmx5KSBk
+b2Vzbid0IGtlZXAgbW9zdCBsaWJyYXJpZXMKIyAoc3VjaCBhcyAtbG0pIGluIC9saWIgb3IgL3Vz
+ci9saWIuICBTbyB3ZSBoYXZlIHRvIGFzayBnY2MgdG8gdGVsbCB1cwojIHdoZXJlIHRvIGxvb2su
+ICBXZSBkb24ndCB3YW50IGdjYydzIG93biBsaWJyYXJpZXMsIGhvd2V2ZXIsIHNvIHdlCiMgZmls
+dGVyIHRob3NlIG91dC4KIyBUaGlzIGNvdWxkIGJlIGNvbmRpdGlvbmFsIG9uIFVuYnVudHUsIGJ1
+dCBvdGhlciBkaXN0cmlidXRpb25zIG1heQojIGZvbGxvdyBzdWl0LCBhbmQgdGhpcyBzY2hlbWUg
+c2VlbXMgdG8gd29yayBldmVuIG9uIHJhdGhlciBvbGQgZ2NjJ3MuCiMgVGhpcyB1bmNvbmRpdGlv
+bmFsbHkgdXNlcyBnY2MgYmVjYXVzZSBldmVuIGlmIHRoZSB1c2VyIGlzIHVzaW5nIGFub3RoZXIK
+IyBjb21waWxlciwgd2Ugc3RpbGwgbmVlZCB0byBmaW5kIHRoZSBtYXRoIGxpYnJhcnkgYW5kIGZy
+aWVuZHMsIGFuZCBJIGRvbid0CiMga25vdyBob3cgb3RoZXIgY29tcGlsZXJzIHdpbGwgY29wZSB3
+aXRoIHRoYXQgc2l0dWF0aW9uLgojIE1vcmV2ZXIsIGlmIHRoZSB1c2VyIGhhcyB0aGVpciBvd24g
+Z2NjIGVhcmxpZXIgaW4gJFBBVEggdGhhbiB0aGUgc3lzdGVtIGdjYywKIyB3ZSBkb24ndCB3YW50
+IGl0cyBsaWJyYXJpZXMuIFNvIHdlIHRyeSB0byBwcmVmZXIgdGhlIHN5c3RlbSBnY2MKIyBTdGls
+bCwgYXMgYW4gZXNjYXBlIGhhdGNoLCBhbGxvdyBDb25maWd1cmUgY29tbWFuZCBsaW5lIG92ZXJy
+aWRlcyB0bwojIHBsaWJwdGggdG8gYnlwYXNzIHRoaXMgY2hlY2suCmlmIFsgLXggL3Vzci9iaW4v
+Z2NjIF0gOyB0aGVuCiAgICBnY2M9L3Vzci9iaW4vZ2NjCmVsc2UKICAgIGdjYz1nY2MKZmkKCmNh
+c2UgIiRwbGlicHRoIiBpbgonJykgcGxpYnB0aD1gTEFORz1DIExDX0FMTD1DICRnY2MgJGNjZmxh
+Z3MgJGxkZmxhZ3MgLXByaW50LXNlYXJjaC1kaXJzIHwgZ3JlcCBsaWJyYXJpZXMgfAoJY3V0IC1m
+Mi0gLWQ9IHwgdHIgJzonICR0cm5sIHwgZ3JlcCAtdiAnZ2NjJyB8IHNlZCAtZSAnczovJDo6J2AK
+ICAgIHNldCBYICRwbGlicHRoICMgQ29sbGFwc2UgYWxsIGVudHJpZXMgb24gb25lIGxpbmUKICAg
+IHNoaWZ0CiAgICBwbGlicHRoPSIkKiIKICAgIDs7CmVzYWMKCmNhc2UgIiRsaWJjIiBpbgonJykK
+IyBJZiB5b3UgaGF2ZSBnbGliYywgdGhlbiByZXBvcnQgdGhlIHZlcnNpb24gZm9yIC4vbXljb25m
+aWcgYnVnIHJlcG9ydGluZy4KIyAoQ29uZmlndXJlIGRvZXNuJ3QgbmVlZCB0byBrbm93IHRoZSBz
+cGVjaWZpYyB2ZXJzaW9uIHNpbmNlIGl0IGp1c3QgdXNlcwojIGdjYyB0byBsb2FkIHRoZSBsaWJy
+YXJ5IGZvciBhbGwgdGVzdHMuKQojIFdlIGRvbid0IHVzZSBfX0dMSUJDX18gYW5kICBfX0dMSUJD
+X01JTk9SX18gYmVjYXVzZSB0aGV5CiMgYXJlIGluc3VmZmljaWVudGx5IHByZWNpc2UgdG8gZGlz
+dGluZ3Vpc2ggdGhpbmdzIGxpa2UKIyBsaWJjLTIuMC42IGFuZCBsaWJjLTIuMC43LgogICAgZm9y
+IHAgaW4gJHBsaWJwdGgKICAgIGRvCiAgICAgICAgZm9yIHRyeWxpYiBpbiBsaWJjLnNvLjYgbGli
+Yy5zbwogICAgICAgIGRvCiAgICAgICAgICAgIGlmICR0ZXN0IC1lICRwLyR0cnlsaWI7IHRoZW4K
+ICAgICAgICAgICAgICAgIGxpYmM9YGxzIC1sICRwLyR0cnlsaWIgfCBhd2sgJ3twcmludCAkTkZ9
+J2AKICAgICAgICAgICAgICAgIGlmICR0ZXN0ICJYJGxpYmMiICE9IFg7IHRoZW4KICAgICAgICAg
+ICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgZmkKICAgICAg
+ICBkb25lCiAgICAgICAgaWYgJHRlc3QgIlgkbGliYyIgIT0gWDsgdGhlbgogICAgICAgICAgICBi
+cmVhawogICAgICAgIGZpCiAgICBkb25lCiAgICA7Owplc2FjCgojIEFyZSB3ZSB1c2luZyBFTEY/
+ICBUaGFua3MgdG8gS2VubmV0aCBBbGJhbm93c2tpIDxramFoZHNAa2phaGRzLmNvbT4KIyBmb3Ig
+dGhpcyB0ZXN0LgpjYXQgPnRyeS5jIDw8J0VPTScKLyogVGVzdCBmb3Igd2hldGhlciBFTEYgYmlu
+YXJpZXMgYXJlIHByb2R1Y2VkICovCiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3RkbGli
+Lmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KbWFpbigpIHsKCWNoYXIgYnVmZmVyWzRdOwoJaW50IGk9
+b3BlbigiYS5vdXQiLE9fUkRPTkxZKTsKCWlmKGk9PS0xKQoJCWV4aXQoMSk7IC8qIGZhaWwgKi8K
+CWlmKHJlYWQoaSwmYnVmZmVyWzBdLDQpPDQpCgkJZXhpdCgxKTsgLyogZmFpbCAqLwoJaWYoYnVm
+ZmVyWzBdICE9IDEyNyB8fCBidWZmZXJbMV0gIT0gJ0UnIHx8CiAgICAgICAgICAgYnVmZmVyWzJd
+ICE9ICdMJyB8fCBidWZmZXJbM10gIT0gJ0YnKQoJCWV4aXQoMSk7IC8qIGZhaWwgKi8KCWV4aXQo
+MCk7IC8qIHN1Y2NlZWQgKHllcywgaXQncyBFTEYpICovCn0KRU9NCmlmICR7Y2M6LWdjY30gJGNj
+ZmxhZ3MgJGxkZmxhZ3MgdHJ5LmMgPi9kZXYvbnVsbCAyPiYxICYmICRydW4gLi9hLm91dDsgdGhl
+bgogICAgY2F0IDw8J0VPTScgPiY0CgpZb3UgYXBwZWFyIHRvIGhhdmUgRUxGIHN1cHBvcnQuICBJ
+J2xsIHRyeSB0byB1c2UgaXQgZm9yIGR5bmFtaWMgbG9hZGluZy4KSWYgZHluYW1pYyBsb2FkaW5n
+IGRvZXNuJ3Qgd29yaywgcmVhZCBoaW50cy9saW51eC5zaCBmb3IgZnVydGhlciBpbmZvcm1hdGlv
+bi4KRU9NCgplbHNlCiAgICBjYXQgPDwnRU9NJyA+JjQKCllvdSBkb24ndCBoYXZlIGFuIEVMRiBn
+Y2MuICBJIHdpbGwgdXNlIGRsZCBpZiBwb3NzaWJsZS4gIElmIHlvdSBhcmUKdXNpbmcgYSB2ZXJz
+aW9uIG9mIERMRCBlYXJsaWVyIHRoYW4gMy4yLjYsIG9yIGRvbid0IGhhdmUgaXQgYXQgYWxsLCB5
+b3UKc2hvdWxkIHByb2JhYmx5IHVwZ3JhZGUuIElmIHlvdSBhcmUgZm9yY2VkIHRvIHVzZSAzLjIu
+NCwgeW91IHNob3VsZAp1bmNvbW1lbnQgYSBjb3VwbGUgb2YgbGluZXMgaW4gaGludHMvbGludXgu
+c2ggYW5kIHJlc3RhcnQgQ29uZmlndXJlIHNvCnRoYXQgc2hhcmVkIGxpYnJhcmllcyB3aWxsIGJl
+IGRpc2FsbG93ZWQuCgpFT00KICAgIGxkZGxmbGFncz0iLXIgJGxkZGxmbGFncyIKICAgICMgVGhl
+c2UgZW1wdHkgdmFsdWVzIGFyZSBzbyB0aGF0IENvbmZpZ3VyZSBkb2Vzbid0IHB1dCBpbiB0aGUK
+ICAgICMgTGludXggRUxGIHZhbHVlcy4KICAgIGNjZGxmbGFncz0nICcKICAgIGNjY2RsZmxhZ3M9
+JyAnCiAgICBjY2ZsYWdzPSItRE9WUl9EQkxfRElHPTE0ICRjY2ZsYWdzIgogICAgc289J3NhJwog
+ICAgZGxleHQ9J28nCiAgICBubV9zb19vcHQ9JyAnCiAgICAjIyBJZiB5b3UgYXJlIHVzaW5nIERM
+RCAzLjIuNCB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IHNoYXJlZCBsaWJzLAogICAgIyMgdW5jb21t
+ZW50IHRoZSBuZXh0IHR3byBsaW5lczoKICAgICNsZGZsYWdzPSItc3RhdGljIgogICAgI3NvPSdu
+b25lJwoKCSMgSW4gYWRkaXRpb24sIG9uIHNvbWUgc3lzdGVtcyB0aGVyZSBpcyBhIHByb2JsZW0g
+d2l0aCBwZXJsIGFuZCBOREJNCgkjIHdoaWNoIGNhdXNlcyBBbnlEQk0gYW5kIE5EQk1fRmlsZSB0
+byBsb2NrIHVwLiBUaGlzIGlzIGV2aWRlbmNlZAoJIyBpbiB0aGUgdGVzdHMgYXMgQW55REJNIGp1
+c3QgZnJlZXppbmcuICBBcHBhcmVudGx5LCB0aGlzIG9ubHkKCSMgaGFwcGVucyBvbiBhLm91dCBz
+eXN0ZW1zLCBzbyB3ZSBkaXNhYmxlIE5EQk0gZm9yIGFsbCBhLm91dCBsaW51eAoJIyBzeXN0ZW1z
+LiAgSWYgc29tZW9uZSBjYW4gc3VnZ2VzdCBhIG1vcmUgcm9idXN0IHRlc3QKCSMgIHRoYXQgd291
+bGQgYmUgYXBwcmVjaWF0ZWQuCgkjCgkjIE1vcmUgaW5mbzoKCSMgRGF0ZTogV2VkLCA3IEZlYiAx
+OTk2IDAzOjIxOjA0ICswOTAwCgkjIEZyb206IEplZmZyZXkgRnJpZWRsIDxqZnJpZWRsQG5mZi5u
+Y2wub21yb24uY28uanA+CgkjCgkjIEkgdHJpZWQgY29tcGlsaW5nIHdpdGggREJNIHN1cHBvcnQg
+YW5kIHN1cmUgZW5vdWdoIHRoaW5ncyBsb2NrZWQgdXAKCSMganVzdCBhcyBhZHZlcnRpc2VkLiBD
+aGVja2luZyBpbnRvIGl0LCBJIGZvdW5kIHRoYXQgdGhlIGxvY2t1cCB3YXMKCSMgZHVyaW5nIHRo
+ZSBjYWxsIHRvIGRibV9vcGVuLiBOb3QgKmluKiBkYm1fb3BlbiAtLSBidXQgYmV0d2VlbiB0aGUg
+Y2FsbAoJIyB0byBhbmQgdGhlIGp1bXAgaW50by4KCSMKCSMgVG8gbWFrZSBhIGxvbmcgc3Rvcnkg
+c2hvcnQsIG1ha2luZyBzdXJlIHRoYXQgdGhlICouYSBhbmQgKi5zYSBwYWlycyBvZgoJIyAgIC91
+c3IvbGliL2xpYnttLGRiLGdkYm19LnthLHNhfQoJIyB3ZXJlIHBlcmZlY3RseSBpbiBzeW5jIHRv
+b2sgY2FyZSBvZiBpdC4KCSMKCSMgVGhpcyB3aWxsIGdlbmVyYXRlIGEgaGFybWxlc3MgV2hvYSBU
+aGVyZSEgbWVzc2FnZQoJY2FzZSAiJGRfZGJtX29wZW4iIGluCgknJykJY2F0IDw8J0VPTScgPiY0
+CgpEaXNhYmxpbmcgbmRibS4gIFRoaXMgd2lsbCBnZW5lcmF0ZSBhIFdob2EgVGhlcmUgbWVzc2Fn
+ZSBpbiBDb25maWd1cmUuClJlYWQgaGludHMvbGludXguc2ggZm9yIGZ1cnRoZXIgaW5mb3JtYXRp
+b24uCkVPTQoJCSMgWW91IGNhbiBvdmVycmlkZSB0aGlzIHdpdGggQ29uZmlndXJlIC1EZF9kYm1f
+b3BlbgoJCWRfZGJtX29wZW49dW5kZWYKCQk7OwoJZXNhYwpmaQoKcm0gLWYgdHJ5LmMgYS5vdXQK
+CmlmICR7c2g6LS9iaW4vc2h9IC1jIGV4aXQ7IHRoZW4KICBlY2hvICcnCiAgZWNobyAnWW91IGFw
+cGVhciB0byBoYXZlIGEgd29ya2luZyBiYXNoLiAgR29vZC4nCmVsc2UKICBjYXQgPDwgJ0VPTScg
+PiY0CgoqKioqKioqKioqKioqKioqKioqKioqKiBXYXJuaW5nISAqKioqKioqKioqKioqKioqKioq
+KioKSXQgd291bGQgYXBwZWFyIHlvdSBoYXZlIGEgZGVmZWN0aXZlIGJhc2ggc2hlbGwgaW5zdGFs
+bGVkLiBUaGlzIGlzIGxpa2VseSB0bwpnaXZlIHlvdSBhIGZhaWx1cmUgb2Ygb3AvZXhlYyB0ZXN0
+ICM1IGR1cmluZyB0aGUgdGVzdCBwaGFzZSBvZiB0aGUgYnVpbGQsClVwZ3JhZGluZyB0byBhIHJl
+Y2VudCB2ZXJzaW9uICgxLjE0LjQgb3IgbGF0ZXIpIHNob3VsZCBmaXggdGhlIHByb2JsZW0uCioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpFT00K
+CmZpCgojIE9uIFNQQVJDbGludXgsCiMgVGhlIGZvbGxvd2luZyBjc2ggY29uc2lzdGVudGx5IGNv
+cmVkdW1wZWQgaW4gdGhlIHRlc3QgZGlyZWN0b3J5CiMgIi9ob21lL21pa2VkbHIvcGVybDUuMDAz
+Xzk0L3QiLCB0aG91Z2ggbm90IG1vc3Qgb3RoZXIgZGlyZWN0b3JpZXMuCgojTmFtZSAgICAgICAg
+OiBjc2ggICAgICAgICAgICAgICAgICAgIERpc3RyaWJ1dGlvbjogUmVkIEhhdCBMaW51eCAoUmVt
+YnJhbmR0KQojVmVyc2lvbiAgICAgOiA1LjIuNiAgICAgICAgICAgICAgICAgICAgICAgIFZlbmRv
+cjogUmVkIEhhdCBTb2Z0d2FyZQojUmVsZWFzZSAgICAgOiAzICAgICAgICAgICAgICAgICAgICAg
+ICAgQnVpbGQgRGF0ZTogRnJpIE1heSAyNCAxOTo0MjoxNCAxOTk2CiNJbnN0YWxsIGRhdGU6IFRo
+dSBKdWwgMTEgMTY6MjA6MTQgMTk5NiBCdWlsZCBIb3N0OiBpdGNoeS5yZWRoYXQuY29tCiNHcm91
+cCAgICAgICA6IFNoZWxscyAgICAgICAgICAgICAgICAgICBTb3VyY2UgUlBNOiBjc2gtNS4yLjYt
+My5zcmMucnBtCiNTaXplICAgICAgICA6IDE4NDQxNwojRGVzY3JpcHRpb24gOiBCU0QgYy1zaGVs
+bAoKIyBGb3IgdGhpcyByZWFzb24gSSBzdWdnZXN0IHVzaW5nIHRoZSBtdWNoIGJ1Zy1maXhlZCB0
+Y3NoIGZvciBnbG9iYmluZwojIHdoZXJlIGF2YWlsYWJsZS4KCiMgTm92ZW1iZXIgMjAwMTogIFRo
+YXQgd2FybmluZydzIHByZXR0eSBvbGQgbm93IGFuZCBwcm9iYWJseSBub3Qgc28KIyByZWxldmFu
+dCwgZXNwZWNpYWxseSBzaW5jZSBwZXJsIG5vdyB1c2VzIEZpbGU6Okdsb2IgZm9yIGdsb2JiaW5n
+LgojIFdlJ2xsIHN0aWxsIGxvb2sgZm9yIHRjc2gsIGJ1dCB0b25lIGRvd24gdGhlIHdhcm5pbmdz
+LgojIEFuZHkgRG91Z2hlcnR5LCBOb3YuIDYsIDIwMDEKaWYgJGNzaCAtYyAnZWNobyAkdmVyc2lv
+bicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICBlY2hvICdZb3VyIGNzaCBpcyByZWFsbHkgdGNz
+aC4gIEdvb2QuJwplbHNlCiAgICBpZiB4eHg9YC4vVVUvbG9jIHRjc2ggYmx1cmZsICRwdGhgOyAk
+dGVzdCAtZiAiJHh4eCI7IHRoZW4KCWVjaG8gIkZvdW5kIHRjc2guICBJJ2xsIHVzZSBpdCBmb3Ig
+Z2xvYmJpbmcuIgoJIyBXZSBjYW4ndCBjaGFuZ2UgQ29uZmlndXJlJ3Mgc2V0dGluZyBvZiAkY3No
+LCBkdWUgdG8gdGhlIHdheQoJIyBDb25maWd1cmUgaGFuZGxlcyAkZF9wb3J0YWJsZSBhbmQgY29t
+bWFuZHMgZm91bmQgaW4gJGxvY2xpc3QuCgkjIFdlIGNhbiBzZXQgdGhlIHZhbHVlIGZvciBDU0gg
+aW4gY29uZmlnLmggYnkgc2V0dGluZyBmdWxsX2NzaC4KCWZ1bGxfY3NoPSR4eHgKICAgIGVsaWYg
+WyAtZiAiJGNzaCIgXTsgdGhlbgoJZWNobyAiQ291bGRuJ3QgZmluZCB0Y3NoLiAgQ3NoLWJhc2Vk
+IGdsb2JiaW5nIG1pZ2h0IGJlIGJyb2tlbi4iCiAgICBmaQpmaQoKIyBTaGltcGVpIFlhbWFzaGl0
+YSA8c2hpbXBlaUBzb2NyYXRlcy5wYXRuZXQuY2FsdGVjaC5lZHU+CiMgTWVzc2FnZS1JZDogPDMz
+RUYxNjM0LkIzNkI2NTAwQHBvYm94LmNvbT4KIwojIFRoZSBEUjIgb2YgTWtMaW51eCAob3NuYW1l
+PWxpbnV4LGFyY2huYW1lPXBwYy1saW51eCkgbWF5IG5lZWQKIyBzcGVjaWFsIGZsYWdzIHBhc3Nl
+ZCBpbiBvcmRlciBmb3IgZHluYW1pYyBsb2FkaW5nIHRvIHdvcmsuCiMgaW5zdGVhZCBvZiB0aGUg
+cmVjb21tZW5kZWQ6CiMKIyBjY2RsZmxhZ3M9Jy1yZHluYW1pYycKIwojIGl0IHNob3VsZCBiZToK
+IyBjY2RsZmxhZ3M9Jy1XbCwtRScKIwojIFNvIGlmIHlvdXIgRFIyIChEUjMgY2FtZSBvdXQgc3Vt
+bWVyIDE5OTgsIGNvbnNpZGVyIHVwZ3JhZGluZykKIyBoYXMgcHJvYmxlbXMgd2l0aCBkeW5hbWlj
+IGxvYWRpbmcsIHVuY29tbWVudCB0aGUKIyBmb2xsb3dpbmcgdGhyZWUgbGluZXMsIG1ha2UgZGlz
+dGNsZWFuLCBhbmQgcmUtQ29uZmlndXJlOgojY2FzZSAiYHVuYW1lIC1yIHwgc2VkICdzL15bMC05
+Li1dKi8vJ2BgYXJjaGAiIGluCiMnb3NmbWFjaDNwcGMnKSBjY2RsZmxhZ3M9Jy1XbCwtRScgOzsK
+I2VzYWMKCmNhc2UgIiR1bmFtZV9taW51c19tIiBpbgpzcGFyYyopCgljYXNlICIkY2NjZGxmbGFn
+cyIgaW4KCSotZnBpYyopIGNjY2RsZmxhZ3M9ImBlY2hvICRjY2NkbGZsYWdzfHNlZCAncy8tZnBp
+Yy8tZlBJQy8nYCIgOzsKCSotZlBJQyopIDs7CgkqKQkgY2NjZGxmbGFncz0iJGNjY2RsZmxhZ3Mg
+LWZQSUMiIDs7Cgllc2FjCgk7Owplc2FjCgojIFN1U0U4LjIgaGFzIC91c3IvbGliL2xpYm5kYm0q
+IHdoaWNoIGFyZSBsZCBzY3JpcHRzIHJhdGhlciB0aGFuCiMgdHJ1ZSBsaWJyYXJpZXMuIFRoZSBz
+Y3JpcHRzIGNhdXNlIGJpbmRpbmcgYWdhaW5zdCBzdGF0aWMKIyB2ZXJzaW9uIG9mIC1sZ2RibSB3
+aGljaCBpcyBhIGJhZCBpZGVhLiBTbyBpZiB3ZSBoYXZlICdubScKIyBtYWtlIHN1cmUgaXQgY2Fu
+IHJlYWQgdGhlIGZpbGUKIyBOSS1TIDIwMDMvMDgvMDcKY2FzZSAiJG5tIiBpbgogICAgJycpIDs7
+CiAgICAqKQogICAgZm9yIHAgaW4gJHBsaWJwdGgKICAgIGRvCiAgICAgICAgaWYgJHRlc3QgLXIg
+JHAvbGlibmRibS5zbzsgdGhlbgogICAgICAgICAgICBpZiAkbm0gJHAvbGlibmRibS5zbyA+L2Rl
+di9udWxsIDI+JjEgOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvICdZb3VyIHNoYXJlZCAtbG5k
+Ym0gc2VlbXMgdG8gYmUgYSByZWFsIGxpYnJhcnkuJwogICAgICAgICAgICAgICAgX2xpYm5kYm1f
+cmVhbD0xCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBmaQogICAgICAgIGZpCiAg
+ICBkb25lCiAgICBpZiAkdGVzdCAiWCRfbGlibmRibV9yZWFsIiA9IFg7IHRoZW4KICAgICAgICBl
+Y2hvICdZb3VyIHNoYXJlZCAtbG5kYm0gaXMgbm90IGEgcmVhbCBsaWJyYXJ5LicKICAgICAgICBz
+ZXQgYGVjaG8gWCAiJGxpYnN3YW50ZWQgInwgc2VkIC1lICdzLyBuZGJtIC8gLydgCiAgICAgICAg
+c2hpZnQKICAgICAgICBsaWJzd2FudGVkPSIkKiIKICAgIGZpCiAgICA7Owplc2FjCgojIExpbnV4
+IG9uIFN5bm9sb2d5LgppZiBbIC1mIC9ldGMvc3lub2luZm8uY29uZiAtYSAtZCAvdXNyL3N5bm8g
+XTsgdGhlbgogICAgIyBUZXN0ZWQgb24gU3lub2xvZ3kgRFMyMTMgYW5kIERTNDEzCiAgICAjICBP
+UyB2ZXJzaW9uIGluZm8gaW4gL2V0Yy5kZWZhdWx0cy9WRVJTSU9OCiAgICAjICBodHRwOi8vZm9y
+dW0uc3lub2xvZ3kuY29tL3dpa2kvaW5kZXgucGhwL1doYXRfa2luZF9vZl9DUFVfZG9lc19teV9O
+QVNfaGF2ZQogICAgIyBTeW5vbG9neSBEUzIxMyBydW5uaW5nIERTTSA0LjMtMzgxMC0wICgyMDEz
+LTExLTA2KQogICAgIyAgQ1BVIG1vZGVsIE1hcnZlbGwgS2lya3dvb2QgbXY2MjgyIEFSTXY1dGUK
+ICAgICMgIExpbnV4IDIuNi4zMi4xMiAjMzgxMCBXZWQgTm92IDYgMDU6MTM6NDEgQ1NUIDIwMTMg
+YXJtdjV0ZWwgR05VL0xpbnV4CiAgICAjIFN5bm9sb2d5IERTNDEzIHJ1bm5pbmcgRFNNIDQuMy0z
+ODEwLTAgKDIwMTMtMTEtMDYpCiAgICAjICBDUFUgbW9kZWwgRnJlZXNjYWxlIFFvcklRIFAxMDIy
+IHBwYyAoZTUwMHYyKQogICAgIyAgbGludXggMi42LjMyLjEyICMzODEwIHBwYyBHTlUvTGludXgK
+ICAgICMgQWxsIGRldmVsb3BtZW50IHN0dWZmIGluc3RhbGxlZCB3aXRoIGlwa2cgaXMgaW4gL29w
+dAogICAgaWYgWyAiJExBTkciID0gIiIgLW8gIiRMQU5HIiA9ICJDIiBdOyB0aGVuCgllY2hvICdZ
+b3VyIExBTkcgaXMgc2FmZScKICAgIGVsc2UKCWVjaG8gJ1BsZWFzZSBzZXQgJExBTkcgdG8gIkMi
+LiBBbGwgb3RoZXIgJExBTkcgc2V0dGluZ3Mgd2lsbCBjYXVzZSBoYXZvYycgPiY0CglMQU5HPUMK
+ICAgIGZpCiAgICBlY2hvICdTZXR0aW5nIHVwIHRvIHVzZSAvb3B0LyonID4mNAogICAgbG9jaW5j
+cHRoPSIvb3B0L2luY2x1ZGUgJGxvY2luY3B0aCIKICAgIGxpYnB0aD0iL29wdC9saWIgJGxpYnB0
+aCIKICAgIGxpYnNwdGg9Ii9vcHQvbGliICRsaWJzcHRoIgogICAgbG9jbGlicHRoPSIvb3B0L2xp
+YiAkbG9jbGlicHRoIgogICAgIyBQT1NJWCB3aWxsIG5vdCBsaW5rIHdpdGhvdXQgdGhlIHB0aHJl
+YWQgbGliCiAgICBsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBwdGhyZWFkIgogICAgZWNobyAiJGxp
+YnN3YW50ZWQiID4mNApmaQoKIyBUaGlzIHNjcmlwdCBVVS91c2V0aHJlYWRzLmNidSB3aWxsIGdl
+dCAnY2FsbGVkLWJhY2snIGJ5IENvbmZpZ3VyZQojIGFmdGVyIGl0IGhhcyBwcm9tcHRlZCB0aGUg
+dXNlciBmb3Igd2hldGhlciB0byB1c2UgdGhyZWFkcy4KY2F0ID4gVVUvdXNldGhyZWFkcy5jYnUg
+PDwnRU9DQlUnCmNhc2UgIiR1c2V0aHJlYWRzIiBpbgokZGVmaW5lfHRydWV8W3lZXSopCiAgICAg
+ICAgY2NmbGFncz0iLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgJGNjZmxhZ3MiCiAgICAgICAg
+aWYgZWNobyAkbGlic3dhbnRlZCB8IGdyZXAgLXYgcHRocmVhZCA+L2Rldi9udWxsCiAgICAgICAg
+dGhlbgogICAgICAgICAgICBzZXQgYGVjaG8gWCAiJGxpYnN3YW50ZWQgInwgc2VkIC1lICdzLyBj
+IC8gcHRocmVhZCBjIC8nYAogICAgICAgICAgICBzaGlmdAogICAgICAgICAgICBsaWJzd2FudGVk
+PSIkKiIKICAgICAgICBmaQoKCSMgU29tZWhvdyBhdCBsZWFzdCBpbiBEZWJpYW4gMi4yIHRoZXNl
+IG1hbmFnZSB0byBlc2NhcGUKCSMgdGhlICNkZWZpbmUgZm9yZXN0IG9mIDxmZWF0dXJlcy5oPiBh
+bmQgPHRpbWUuaD4gc28gdGhhdAoJIyB0aGUgaGFzcHJvdG8gbWFjcm8gb2YgQ29uZmlndXJlIGRv
+ZXNuJ3Qgc2VlIHRoZXNlIHByb3RvcywKCSMgZXZlbiB3aXRoIHRoZSAtRF9HTlVfU09VUkNFLgoK
+CWRfYXNjdGltZV9yX3Byb3RvPSIkZGVmaW5lIgoJZF9jcnlwdF9yX3Byb3RvPSIkZGVmaW5lIgoJ
+ZF9jdGltZV9yX3Byb3RvPSIkZGVmaW5lIgoJZF9nbXRpbWVfcl9wcm90bz0iJGRlZmluZSIKCWRf
+bG9jYWx0aW1lX3JfcHJvdG89IiRkZWZpbmUiCglkX3JhbmRvbV9yX3Byb3RvPSIkZGVmaW5lIgoK
+CTs7CmVzYWMKRU9DQlUKCmNhdCA+IFVVL3VzZWxhcmdlZmlsZXMuY2J1IDw8J0VPQ0JVJwojIFRo
+aXMgc2NyaXB0IFVVL3VzZWxhcmdlZmlsZXMuY2J1IHdpbGwgZ2V0ICdjYWxsZWQtYmFjaycgYnkg
+Q29uZmlndXJlCiMgYWZ0ZXIgaXQgaGFzIHByb21wdGVkIHRoZSB1c2VyIGZvciB3aGV0aGVyIHRv
+IHVzZSBsYXJnZSBmaWxlcy4KY2FzZSAiJHVzZWxhcmdlZmlsZXMiIGluCicnfCRkZWZpbmV8dHJ1
+ZXxbeVldKikKIyBLZWVwIHRoaXMgaW4gdGhlIGxlZnQgbWFyZ2luLgpjY2ZsYWdzX3VzZWxhcmdl
+ZmlsZXM9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKCgljY2Zs
+YWdzPSIkY2NmbGFncyAkY2NmbGFnc191c2VsYXJnZWZpbGVzIgoJOzsKZXNhYwpFT0NCVQoKIyBQ
+dXJpZnkgZmFpbHMgdG8gbGluayBQZXJsIGlmIGEgIi1sYyIgaXMgcGFzc2VkIGludG8gaXRzIGxp
+bmtlcgojIGR1ZSB0byBkdXBsaWNhdGUgc3ltYm9scy4KY2FzZSAiJFBVUklGWSIgaW4KJGRlZmlu
+ZXx0cnVlfFt5WV0qKQogICAgc2V0IGBlY2hvIFggIiRsaWJzd2FudGVkICJ8IHNlZCAtZSAncy8g
+YyAvIC8nYAogICAgc2hpZnQKICAgIGxpYnN3YW50ZWQ9IiQqIgogICAgOzsKZXNhYwoKIyBJZiB1
+c2luZyBnKyssIHRoZSBDb25maWd1cmUgc2NhbiBmb3IgZGxvcGVuKCkgYW5kIChlc3BlY2lhbGx5
+KQojIGRsZXJyb3IoKSBtaWdodCBmYWlsLCBlYXNpZXIganVzdCB0byBmb3JjaWJseSBoaW50IHRo
+ZW0gaW4uCmNhc2UgIiRjYyIgaW4KKmcrKyopCiAgZF9kbG9wZW49J2RlZmluZScKICBkX2RsZXJy
+b3I9J2RlZmluZScKICA7Owplc2FjCgojIFVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyBsaWJkYiBj
+YW4gZ2V0IGJ1aWx0IGluIHN1Y2ggYSB3YXkgYXMgdG8KIyBuZWVkIHB0aHJlYWQgZXhwbGljaXRs
+eSBsaW5rZWQuCgpsaWJkYl9uZWVkc19wdGhyZWFkPSJOIgoKaWYgZWNobyAiICRsaWJzd2FudGVk
+ICIgfCBncmVwIC12ICIgcHRocmVhZCAiID4vZGV2L251bGwKdGhlbgogICBpZiBlY2hvICIgJGxp
+YnN3YW50ZWQgIiB8IGdyZXAgIiBkYiAiID4vZGV2L251bGwKICAgdGhlbgogICAgIGZvciBEQkRJ
+UiBpbiAkZ2xpYnB0aAogICAgIGRvCiAgICAgICBEQkxJQj0iJERCRElSL2xpYmRiLnNvIgogICAg
+ICAgaWYgWyAtZiAkREJMSUIgXQogICAgICAgdGhlbgogICAgICAgICBpZiAke25tOi1ubX0gLXUg
+JERCTElCIHwgZ3JlcCBwdGhyZWFkID4vZGV2L251bGwKICAgICAgICAgdGhlbgogICAgICAgICAg
+IGlmIGxkZCAkREJMSUIgfCBncmVwIHB0aHJlYWQgPi9kZXYvbnVsbAogICAgICAgICAgIHRoZW4K
+ICAgICAgICAgICAgIGxpYmRiX25lZWRzX3B0aHJlYWQ9Ik4iCiAgICAgICAgICAgZWxzZQogICAg
+ICAgICAgICAgbGliZGJfbmVlZHNfcHRocmVhZD0iWSIKICAgICAgICAgICBmaQogICAgICAgICBm
+aQogICAgICAgZmkKICAgICBkb25lCiAgIGZpCmZpCgpjYXNlICIkbGliZGJfbmVlZHNfcHRocmVh
+ZCIgaW4KICAiWSIpCiAgICBsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBwdGhyZWFkIgogICAgOzsK
+ZXNhYwo=',
'midnightbsd' =>
'dXNldmZvcms9J3RydWUnCmNhc2UgIiR1c2VteW1hbGxvYyIgaW4KICAgICIiKSB1c2VteW1hbGxv
Yz0nbicKICAgICAgICA7Owplc2FjCmxpYnN3YW50ZWQ9YGVjaG8gJGxpYnN3YW50ZWQgfCBzZWQg
@@ -1805,7 +1809,7 @@
=head1 VERSION
-version 1.18
+version 1.24
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl/Plugin.pm new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl/Plugin.pm
--- old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl/Plugin.pm 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl/Plugin.pm 2014-05-31 10:39:12.000000000 +0200
@@ -1,5 +1,5 @@
package Devel::PatchPerl::Plugin;
-$Devel::PatchPerl::Plugin::VERSION = '1.18';
+$Devel::PatchPerl::Plugin::VERSION = '1.24';
#ABSTRACT: Devel::PatchPerl plugins explained
use strict;
@@ -19,7 +19,7 @@
=head1 VERSION
-version 1.18
+version 1.24
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl.pm new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl.pm
--- old/Devel-PatchPerl-1.18/lib/Devel/PatchPerl.pm 2014-02-20 21:03:48.000000000 +0100
+++ new/Devel-PatchPerl-1.24/lib/Devel/PatchPerl.pm 2014-05-31 10:39:12.000000000 +0200
@@ -1,5 +1,5 @@
package Devel::PatchPerl;
-$Devel::PatchPerl::VERSION = '1.18';
+$Devel::PatchPerl::VERSION = '1.24';
# ABSTRACT: Patch perl source a la Devel::PPPort's buildperl.pl
use strict;
@@ -14,7 +14,7 @@
@ISA = qw(Exporter);
@EXPORT_OK = qw(patch_source);
-my $patch_exe = _can_run('patch');
+my $patch_exe = _can_run('patch') || _can_run('gpatch');
my @patch = (
{
@@ -177,6 +177,12 @@
],
subs => [ [ \&_patch_regmatch_pointer_5180 ] ],
},
+ {
+ perl => [
+ qr/^5\.20\.0$/,
+ ],
+ subs => [ [ \&_patch_cow_speed ] ],
+ },
);
sub patch_source {
@@ -2491,6 +2497,46 @@
END
}
+sub _patch_cow_speed {
+ _patch(<<'COWSAY');
+diff --git a/sv.c b/sv.c
+index 06c0b83..ac1d972 100644
+--- sv.c
++++ sv.c
+@@ -1574,14 +1574,19 @@ Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
+ newlen++;
+ #endif
+
++#if defined(PERL_USE_MALLOC_SIZE) && defined(Perl_safesysmalloc_size)
++#define PERL_UNWARANTED_CHUMMINESS_WITH_MALLOC
++#endif
++
+ if (newlen > SvLEN(sv)) { /* need more room? */
+ STRLEN minlen = SvCUR(sv);
+ minlen += (minlen >> PERL_STRLEN_EXPAND_SHIFT) + 10;
+ if (newlen < minlen)
+ newlen = minlen;
+-#ifndef Perl_safesysmalloc_size
+- if (SvLEN(sv))
++#ifndef PERL_UNWARANTED_CHUMMINESS_WITH_MALLOC
++ if (SvLEN(sv)) {
+ newlen = PERL_STRLEN_ROUNDUP(newlen);
++ }
+ #endif
+ if (SvLEN(sv) && s) {
+ s = (char*)saferealloc(s, newlen);
+@@ -1593,7 +1598,7 @@ Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
+ }
+ }
+ SvPV_set(sv, s);
+-#ifdef Perl_safesysmalloc_size
++#ifdef PERL_UNWARANTED_CHUMMINESS_WITH_MALLOC
+ /* Do this here, do it once, do it right, and then we will never get
+ called back into sv_grow() unless there really is some growing
+ needed. */
+COWSAY
+}
+
sub _norm_ver {
my $ver = shift;
my @v = split(qr/[._]0*/, $ver);
@@ -2512,7 +2558,7 @@
=head1 VERSION
-version 1.18
+version 1.24
=head1 SYNOPSIS
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2014-09-18 08:00:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
and /work/SRC/openSUSE:Factory/.libvirt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2014-09-03 20:20:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2014-09-18 08:02:15.000000000 +0200
@@ -1,0 +2,19 @@
+Wed Sep 10 10:24:26 MDT 2014 - jfehlig(a)suse.com
+
+- spec: do not require dmidecode on older code 11
+
+-------------------------------------------------------------------
+Mon Sep 8 11:20:36 MDT 2014 - jfehlig(a)suse.com
+
+- Wait for ntp service before running libvirt-guests
+ libvirt-guests-wait-for-ntp.patch
+ bnc#895194
+
+-------------------------------------------------------------------
+Thu Sep 4 16:09:23 MDT 2014 - jfehlig(a)suse.com
+
+- Canonicalize host arch name ppc64le to ppc64
+ ppc64le-canonical-name.patch
+ bnc#894956
+
+-------------------------------------------------------------------
New:
----
libvirt-guests-wait-for-ntp.patch
ppc64le-canonical-name.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.7UL5yO/_old 2014-09-18 08:02:16.000000000 +0200
+++ /var/tmp/diff_new_pack.7UL5yO/_new 2014-09-18 08:02:16.000000000 +0200
@@ -429,12 +429,15 @@
Source2: libvirtd-relocation-server.fw
Source99: baselibs.conf
# Upstream patches
+# Patches pending upstream review
+Patch100: libvirt-guests-wait-for-ntp.patch
# Need to go upstream
-Patch100: xen-name-for-devid.patch
-Patch101: xen-pv-cdrom.patch
-Patch102: blockcopy-check-dst-identical-device.patch
-Patch103: libvirt-ppc64le-support.patch
-Patch104: libvirt-power8-models.patch
+Patch150: xen-name-for-devid.patch
+Patch151: xen-pv-cdrom.patch
+Patch152: blockcopy-check-dst-identical-device.patch
+Patch153: libvirt-ppc64le-support.patch
+Patch154: libvirt-power8-models.patch
+Patch155: ppc64le-canonical-name.patch
# Our patches
Patch200: libvirtd-defaults.patch
Patch201: libvirtd-init-script.patch
@@ -510,11 +513,11 @@
%else
Recommends: PolicyKit >= 0.6
%endif
-%endif
%ifarch i386 i586 i686 x86_64 ia64
# For virConnectGetSysinfo
Requires: dmidecode
%endif
+%endif
%if %{with_systemd}
# For service management
%{?systemd_requires}
@@ -948,10 +951,12 @@
%prep
%setup -q
%patch100 -p1
-%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
+%patch150 -p1
+%patch151 -p1
+%patch152 -p1
+%patch153 -p1
+%patch154 -p1
+%patch155 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
++++++ libvirt-guests-wait-for-ntp.patch ++++++
>From 79a752f1eb5a6b6b4b900d8899dfb9712be824ec Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig(a)suse.com>
Date: Mon, 8 Sep 2014 10:22:14 -0600
Subject: [PATCH] libvirt-guests: wait for ntp service
If an NTP server is configured on the host, it is possible for
libvirt-guests to start before the NTP service, in which case
guest clocks won't be synchronized to the host clock.
Add ntp-wait.service to "After" in libvirt-guests systemd service
file, ensuring NTP has synchronized the host clock before starting
any guests.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
tools/libvirt-guests.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libvirt-1.2.8/tools/libvirt-guests.service.in
===================================================================
--- libvirt-1.2.8.orig/tools/libvirt-guests.service.in
+++ libvirt-1.2.8/tools/libvirt-guests.service.in
@@ -1,6 +1,6 @@
[Unit]
Description=Suspend Active Libvirt Guests
-After=network.target libvirtd.service
+After=network.target libvirtd.service ntp-wait.service
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org
++++++ ppc64le-canonical-name.patch ++++++
Canonicalize hostarch name ppc64le to ppc64
See bnc#894956
Index: libvirt-1.2.8/src/util/virarch.c
===================================================================
--- libvirt-1.2.8.orig/src/util/virarch.c
+++ libvirt-1.2.8/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {
arch = VIR_ARCH_X86_64;
+ } else if (STREQ(ut.machine, "ppc64le")) {
+ arch = VIR_ARCH_PPC64;
} else {
/* Otherwise assume the canonical name */
if ((arch = virArchFromString(ut.machine)) == VIR_ARCH_NONE) {
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package enlightenment for openSUSE:Factory checked in at 2014-09-18 08:00:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/enlightenment (Old)
and /work/SRC/openSUSE:Factory/.enlightenment.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "enlightenment"
Changes:
--------
--- /work/SRC/openSUSE:Factory/enlightenment/enlightenment.changes 2014-07-24 00:27:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.enlightenment.new/enlightenment.changes 2014-09-18 08:02:13.000000000 +0200
@@ -1,0 +2,67 @@
+Tue Sep 16 04:51:13 UTC 2014 - simon(a)simotek.net
+
+- Update to 0.19.0 Release
+
+Changelog from upstream (Note we don't build wayland support for 13.2)
+Features:
+* greatly improved wayland support
+ - E_WL_FORCE environment variable for forcing output types
+* e_uuid_store: Add infrastructure to store window/surface properties.
+* Add a tiling profile.
+* per-screen desklock logo visibility config
+* Tiling: Merge the tiling module rework..
+* check udisks1 DevicePresentationHide flag
+* ACTIVATE_EXCLUDE window active hint policy
+* show video resolution in filepreview widget
+* add fileman option to clamp video size for video previews
+* handle xrandr backlight using a single, accurate handler
+* blanking options for wakeup on events (urgent + notify)
+* packagekit module for package manager integration
+* ibar now optionaly triggers its menu on mouse in
+* selective redirection toggling
+* new focus option "raise on revert focus"
+* add PIN-style desklock for lokker module
+* make desklock hookable, break out current desklock into module, move pam
+stuff to separate file
+* revive personal desklock passwords
+* allow moveresize visuals to be replaced
+* allow desk flip animations to be handled completely externally
+* E16-style live pager returns!
+* comp config is no longer a module
+* E_FIRST_FRAME env variable
+* new compositor API
+* add E_MODULE_SRC_PATH for setting current module src path without needing
+to install modules
+* use non-recursive makefiles for entire build system
+
+Improvements:
+* filemanager popups no longer span multiple monitors
+* system operations no longer dim screen until action has begun
+* window stacking and focus restore is more accurate across restarts
+* gstreamer1 is now used for media previews
+* improved multiple monitor setup reliability
+* shaped windows now render more accurately
+
+
+-------------------------------------------------------------------
+Fri Aug 29 13:51:20 UTC 2014 - simon(a)simotek.net
+
+- Update to 0.19.0 RC3- Merged from X11:Enlightenment:Nightly
+ * Major Packaging changes
+ * Use upstream sysactions.conf, if systemd is present, no longer requires suid bits
+ * remove disable physics / ephysics configure flags, physics module is long gone,
+ and we support physics now anyway (removes sysactions.conf-oS12.2 patch from factory)
+ * e18.service now enlightenment.service
+ * Upstream changes
+ * Compositor rewrite
+ * Vastly better wayland support (were not building it)
+ * New modules
+ * Tiling
+ * Pager
+ * ibar - now behaves like a complete task bar (Win 7 Style)
+ * Music control
+ * package management modules
+ * Bug fixes and coverty fixes
+ * Probably a whole lot more (News files still need work)
+
+-------------------------------------------------------------------
Old:
----
enlightenment-0.18.8.tar.bz2
New:
----
enlightenment-0.19.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ enlightenment.spec ++++++
--- /var/tmp/diff_new_pack.xpYKvV/_old 2014-09-18 08:02:14.000000000 +0200
+++ /var/tmp/diff_new_pack.xpYKvV/_new 2014-09-18 08:02:14.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define efl_version 1.9.3
+%define efl_version 1.11.2
%if 0%{?suse_version} >= 1230 || 0%{?fedora} >= 18
%define systemd_present 1
@@ -27,13 +27,13 @@
%define generate_manpages 0
Name: enlightenment
-Version: 0.18.8
+Version: 0.19.0
Release: 0
Summary: The window manager
License: BSD-2-Clause
Group: System/X11/Displaymanagers
Url: http://enlightenment.org/
-Source: %{name}-%{version}.tar.bz2
+Source: %{name}-0.19.0.tar.xz
Source2: e17
Source3: sysactions.conf-oS12.2
# PATCH-FIX-OPENSUSE - enlightenment-0.16.999.65256-dont_require_suidbit.patch sleep_walker(a)suse.cz -- upstream insist on having suidbit
@@ -162,7 +162,7 @@
%endif
%prep
-%setup -q
+%setup -q -n enlightenment-0.19.0
%patch0
%patch1 -p1
%patch2 -p1
@@ -174,7 +174,7 @@
FAKE_DOCDATETIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%a %%b %%d %%Y %T')
sed -i "s/\$datetime/$FAKE_DOCDATETIME/g;s/\$date/$FAKE_DOCDATE/g;s/\$year/$FAKEDOCYEAR/g" doc/*.html
-%configure --disable-static --disable-silent-rules --disable-physics --disable-ephysics
+%configure --disable-static --disable-silent-rules
make %{?_smp_mflags}
make doc
@@ -226,30 +226,33 @@
cp %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/enlightenment
%if 0%{?suse_version} >= 1220
# replace sysactions.conf with the distribution one
+# if using systemd the upstream config is now more reasonable so keep that one
+%if !%systemd_present
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/enlightenment/sysactions.conf
%endif
+%endif
# remove files from not wanted place
rm %{buildroot}%{_datadir}/enlightenment/{COPYING,AUTHORS}
%if %systemd_present
%pre
-%service_add_pre e18.service
+%service_add_pre enlightenment.service
%endif
%post
%if %systemd_present
-%service_add_post e18.service
+%service_add_post enlightenment.service
%endif
%if %systemd_present
%preun
-%service_del_preun e18.service
+%service_del_preun enlightenment.service
%endif
%postun
%if %systemd_present
-%service_del_postun e18.service
+%service_del_postun enlightenment.service
%endif
%files -f enlightenment.lang
@@ -263,10 +266,10 @@
%config(noreplace) %{_sysconfdir}/enlightenment
%config(noreplace) %{_sysconfdir}/pam.d/enlightenment
%dir %{_sysconfdir}/xdg/menus
-%config %{_sysconfdir}/xdg/menus/enlightenment.menu
+%config %{_sysconfdir}/xdg/menus/e-applications.menu
%{_bindir}/enlightenment*
%if %systemd_present
-%{_prefix}/lib/systemd/user/e18.service
+%{_prefix}/lib/systemd/user/enlightenment.service
%endif
# excluded to be branded
%exclude %{_libdir}/enlightenment/modules/wizard/def-ibar.txt
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kqtquickcharts for openSUSE:Factory checked in at 2014-09-18 08:00:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kqtquickcharts (Old)
and /work/SRC/openSUSE:Factory/.kqtquickcharts.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kqtquickcharts"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kqtquickcharts/kqtquickcharts.changes 2014-08-25 11:02:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kqtquickcharts.new/kqtquickcharts.changes 2014-09-18 08:02:11.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 17:05:55 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
Old:
----
kqtquickcharts-4.14.0.tar.xz
New:
----
kqtquickcharts-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kqtquickcharts.spec ++++++
--- /var/tmp/diff_new_pack.SqJ1OT/_old 2014-09-18 08:02:12.000000000 +0200
+++ /var/tmp/diff_new_pack.SqJ1OT/_new 2014-09-18 08:02:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: kqtquickcharts
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: Plugin to render beautiful and interactive graphs
License: LGPL-2.1+
++++++ kqtquickcharts-4.14.0.tar.xz -> kqtquickcharts-4.14.1.tar.xz ++++++
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0