<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/068721d8c2ae76a0f83d0e8bf36be9a46a67b80b">https://github.com/macports/macports-ports/commit/068721d8c2ae76a0f83d0e8bf36be9a46a67b80b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 068721d8c2a py-poppler-qt5: update to 21.1.0, build with latest SIP
</span>068721d8c2a is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 068721d8c2ae76a0f83d0e8bf36be9a46a67b80b
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Fri Oct 1 12:31:43 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    py-poppler-qt5: update to 21.1.0, build with latest SIP
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://github.com/macports/macports-ports/pull/12450
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://trac.macports.org/ticket/64042
</span>---
 python/py-poppler-qt5/Portfile                   |  71 +++++++++++----
 python/py-poppler-qt5/files/patch-fix-py36.diff  |  15 ++++
 python/py-poppler-qt5/files/patch-types.sip.diff | 105 +++++++++++++++++++++++
 3 files changed, 172 insertions(+), 19 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-poppler-qt5/Portfile b/python/py-poppler-qt5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cb6f04d9536..df273cf7b3b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-poppler-qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-poppler-qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,12 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           qt5 1.0
</span> PortGroup           python 1.0
 
 name                py-poppler-qt5
 python.rootname     python-poppler-qt5
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             0.75.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             21.1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 platforms           darwin
 license             LGPL-2.1+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,39 +22,73 @@ long_description    ${python.rootname} is a Python binding for Poppler-Qt5 \
</span> 
 homepage            https://github.com/wbsoft/${python.rootname}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5     e411d6c8bb25faa9208387b1075895ad \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  ac42b3a4fbcd63e79fbfa42537f75087f06b170b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  ea0ec9ebe995705ab19a301290365652e62bab5c9b05db5697c7bf2173335107 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    23608
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5     83a1c785aa3d0a0b0e82a7805492eabb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  26aea457226155b8a6120fa0e19f631a38c8afcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  add766db2c04026a6087f38f2044e66c8b053c81002f3753d8059713497d022d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    28235
</span> 
 python.versions     27 35 36 37 38 39
 
 compiler.cxx_standard   2011
 
 if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append    port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${python.version} eq 27} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PortGroup       qt5 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:poppler-qt5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:py${python.version}-sip4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:py${python.version}-pyqt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${python.version}-sip4
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles              patch-fix-qt-dirs.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles      patch-fix-qt-dirs.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|%%QMAKE%%|${qt_qmake_cmd}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|%%QMAKE%%|${qt_qmake_cmd}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PortGroup       qmake5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles      patch-types.sip.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-fix-py36.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${python.version}-pyqt-builder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${python.version}-sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.cmd       sip-build-${python.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --qmake ${qt_qmake_cmd} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|sip-distinfo|sip-distinfo-${python.branch}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${build.dir}/build/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.cmd    make
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.dir    ${build.dir}/build
</span>     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:poppler-qt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-pyqt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     post-destroot {
         set doc_dir ${destroot}${prefix}/share/doc/${subport}
         xinstall -d ${doc_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ChangeLog \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            README.rst \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ChangeLog LICENSE README.rst \
</span>             ${doc_dir}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         set examples_dir ${destroot}${prefix}/share/examples/${subport}
         xinstall -d ${examples_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 -W ${worksrcpath} demo.py ${examples_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0644 -W ${worksrcpath}/demo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            demo.py merge-annotations.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${examples_dir}
</span>     }
 
     livecheck.type  none
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-poppler-qt5/files/patch-fix-py36.diff b/python/py-poppler-qt5/files/patch-fix-py36.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5e45340a88f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-poppler-qt5/files/patch-fix-py36.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see: https://github.com/frescobaldi/python-poppler-qt5/pull/44
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git project.py project.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 17df8da..74e397c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- project.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ project.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,7 +42,7 @@ class PopplerQt5Bindings(PyQtBindings):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def run_pkg_config(option):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         output = subprocess.check_output(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             ['pkg-config', option, 'poppler-qt5'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            text=True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            universal_newlines=True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return output.rstrip()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def apply_user_defaults(self, tool):
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-poppler-qt5/files/patch-types.sip.diff b/python/py-poppler-qt5/files/patch-types.sip.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0171638b72f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-poppler-qt5/files/patch-types.sip.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,105 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see: https://github.com/frescobaldi/python-poppler-qt5/pull/45
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git types.sip types.sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 239b8c9..81cb283 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- types.sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ types.sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -331,5 +331,98 @@ template <TYPE>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Convert QVector< QPair<TYPE, TYPE> >
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * from and to a Python list of a 2-item tuple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template<TYPE>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%MappedType QVector< QPair<TYPE, TYPE> >
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%TypeHeaderCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <qvector.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <qpair.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertFromTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Create the list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  PyObject *l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if ((l = PyList_New(sipCpp->size())) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Set the list elements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (int i = 0; i < sipCpp->size(); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyObject *ptuple = PyTuple_New(2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyObject *pfirst;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyObject *psecond;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    TYPE *sfirst = new TYPE(p->first);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Py_DECREF(ptuple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyTuple_SET_ITEM(ptuple, 0, pfirst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    TYPE *ssecond = new TYPE(p->second);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Py_DECREF(ptuple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Py_DECREF(pfirst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyTuple_SET_ITEM(ptuple, 1, psecond);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PyList_SET_ITEM(l, i, ptuple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertToTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Check the type if that is all that is required.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (sipIsErr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (!PySequence_Check(sipPy))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for (int i = 0; i < PySequence_Size(sipPy); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (int i = 0; i < PySequence_Size(sipPy); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (*sipIsErr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      sipReleaseType(p, qpair_type, state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      delete qv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    qv->append(*p);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    sipReleaseType(p, qpair_type, state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *sipCppPtr = qv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return sipGetState(sipTransferObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
</span></pre><pre style='margin:0'>

</pre>