For smtpd.py, only rename with ${PY_VER_SUFFIX} to be installed as a tool, or rename of module name affect to other parts using this module. Noticed by Benjamin Lorenz in tech-pkg@. Additionally, set ALTERNATIVE for bin/smtpd.py.diff -r1.3 -r1.4 pkgsrc/lang/python26/ALTERNATIVES
(obache)
@@ -1,3 +1,4 @@ | @@ -1,3 +1,4 @@ | |||
1 | bin/2to3 @PREFIX@/bin/2to3-2.6 | 1 | bin/2to3 @PREFIX@/bin/2to3-2.6 | |
2 | bin/pydoc @PREFIX@/bin/pydoc2.6 | 2 | bin/pydoc @PREFIX@/bin/pydoc2.6 | |
3 | bin/python @PREFIX@/bin/python2.6 | 3 | bin/python @PREFIX@/bin/python2.6 | |
4 | bin/smtpd.py @PREFIX@/bin/smtpd2.6.py |
@@ -1,18 +1,18 @@ | @@ -1,18 +1,18 @@ | |||
1 | # $NetBSD: Makefile,v 1.59 2014/02/12 23:28:16 tron Exp $ | 1 | # $NetBSD: Makefile,v 1.60 2014/03/12 12:57:06 obache Exp $ | |
2 | 2 | |||
3 | .include "dist.mk" | 3 | .include "dist.mk" | |
4 | 4 | |||
5 | PKGREVISION= 2 | 5 | PKGREVISION= 3 | |
6 | 6 | |||
7 | PKGNAME= python26-${PY_DISTVERSION} | 7 | PKGNAME= python26-${PY_DISTVERSION} | |
8 | CATEGORIES= lang python | 8 | CATEGORIES= lang python | |
9 | 9 | |||
10 | MAINTAINER= pkgsrc-users@NetBSD.org | 10 | MAINTAINER= pkgsrc-users@NetBSD.org | |
11 | HOMEPAGE= http://www.python.org/ | 11 | HOMEPAGE= http://www.python.org/ | |
12 | COMMENT= Interpreted, interactive, object-oriented programming language | 12 | COMMENT= Interpreted, interactive, object-oriented programming language | |
13 | LICENSE= python-software-foundation | 13 | LICENSE= python-software-foundation | |
14 | 14 | |||
15 | CONFLICTS+= python-[0-9]* | 15 | CONFLICTS+= python-[0-9]* | |
16 | 16 | |||
17 | GNU_CONFIGURE= yes | 17 | GNU_CONFIGURE= yes | |
18 | CONFIGURE_ARGS+= --with-threads | 18 | CONFIGURE_ARGS+= --with-threads | |
@@ -146,27 +146,27 @@ INSTALL_TARGET= altinstall | @@ -146,27 +146,27 @@ INSTALL_TARGET= altinstall | |||
146 | 146 | |||
147 | REPLACE_INTERPRETER+= py26 | 147 | REPLACE_INTERPRETER+= py26 | |
148 | REPLACE.py26.old= .*python[^ ]* | 148 | REPLACE.py26.old= .*python[^ ]* | |
149 | REPLACE.py26.new= ${PREFIX}/bin/python${PY_VER_SUFFIX} | 149 | REPLACE.py26.new= ${PREFIX}/bin/python${PY_VER_SUFFIX} | |
150 | REPLACE_FILES.py26= Lib/*.py Lib/*/*.py Lib/*/*/*.py | 150 | REPLACE_FILES.py26= Lib/*.py Lib/*/*.py Lib/*/*/*.py | |
151 | 151 | |||
152 | SUBST_CLASSES+= findlib | 152 | SUBST_CLASSES+= findlib | |
153 | SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin. | 153 | SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin. | |
154 | SUBST_STAGE.findlib= pre-configure | 154 | SUBST_STAGE.findlib= pre-configure | |
155 | SUBST_FILES.findlib= Lib/distutils/unixccompiler.py | 155 | SUBST_FILES.findlib= Lib/distutils/unixccompiler.py | |
156 | SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' | 156 | SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' | |
157 | 157 | |||
158 | post-extract: | 158 | post-extract: | |
159 | ${MV} ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Lib/smtpd${PY_VER_SUFFIX}.py | 159 | ${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py | |
160 | ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} | 160 | ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} | |
161 | ${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} | 161 | ${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} | |
162 | 162 | |||
163 | .if ${OPSYS} == "HPUX" | 163 | .if ${OPSYS} == "HPUX" | |
164 | post-install: | 164 | post-install: | |
165 | ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.6.sl \ | 165 | ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.6.sl \ | |
166 | ${DESTDIR}${PREFIX}/lib/libpython2.6.sl.1.0 | 166 | ${DESTDIR}${PREFIX}/lib/libpython2.6.sl.1.0 | |
167 | .endif | 167 | .endif | |
168 | 168 | |||
169 | BUILDLINK_DEPMETHOD.readline= build | 169 | BUILDLINK_DEPMETHOD.readline= build | |
170 | 170 | |||
171 | .include "../../archivers/bzip2/buildlink3.mk" | 171 | .include "../../archivers/bzip2/buildlink3.mk" | |
172 | .include "../../devel/gettext-lib/buildlink3.mk" | 172 | .include "../../devel/gettext-lib/buildlink3.mk" |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | @comment $NetBSD: PLIST.common,v 1.16 2014/02/12 23:28:16 tron Exp $ | 1 | @comment $NetBSD: PLIST.common,v 1.17 2014/03/12 12:57:06 obache Exp $ | |
2 | bin/2to3-${PY_VER_SUFFIX} | 2 | bin/2to3-${PY_VER_SUFFIX} | |
3 | bin/pydoc${PY_VER_SUFFIX} | 3 | bin/pydoc${PY_VER_SUFFIX} | |
4 | bin/python${PY_VER_SUFFIX} | 4 | bin/python${PY_VER_SUFFIX} | |
5 | bin/python${PY_VER_SUFFIX}-config | 5 | bin/python${PY_VER_SUFFIX}-config | |
6 | bin/smtpd${PY_VER_SUFFIX}.py | 6 | bin/smtpd${PY_VER_SUFFIX}.py | |
7 | include/python${PY_VER_SUFFIX}/Python-ast.h | 7 | include/python${PY_VER_SUFFIX}/Python-ast.h | |
8 | include/python${PY_VER_SUFFIX}/Python.h | 8 | include/python${PY_VER_SUFFIX}/Python.h | |
9 | include/python${PY_VER_SUFFIX}/abstract.h | 9 | include/python${PY_VER_SUFFIX}/abstract.h | |
10 | include/python${PY_VER_SUFFIX}/asdl.h | 10 | include/python${PY_VER_SUFFIX}/asdl.h | |
11 | include/python${PY_VER_SUFFIX}/ast.h | 11 | include/python${PY_VER_SUFFIX}/ast.h | |
12 | include/python${PY_VER_SUFFIX}/bitset.h | 12 | include/python${PY_VER_SUFFIX}/bitset.h | |
13 | include/python${PY_VER_SUFFIX}/boolobject.h | 13 | include/python${PY_VER_SUFFIX}/boolobject.h | |
14 | include/python${PY_VER_SUFFIX}/bufferobject.h | 14 | include/python${PY_VER_SUFFIX}/bufferobject.h | |
@@ -2267,29 +2267,29 @@ lib/python${PY_VER_SUFFIX}/sha.pyo | @@ -2267,29 +2267,29 @@ lib/python${PY_VER_SUFFIX}/sha.pyo | |||
2267 | lib/python${PY_VER_SUFFIX}/shelve.py | 2267 | lib/python${PY_VER_SUFFIX}/shelve.py | |
2268 | lib/python${PY_VER_SUFFIX}/shelve.pyc | 2268 | lib/python${PY_VER_SUFFIX}/shelve.pyc | |
2269 | lib/python${PY_VER_SUFFIX}/shelve.pyo | 2269 | lib/python${PY_VER_SUFFIX}/shelve.pyo | |
2270 | lib/python${PY_VER_SUFFIX}/shlex.py | 2270 | lib/python${PY_VER_SUFFIX}/shlex.py | |
2271 | lib/python${PY_VER_SUFFIX}/shlex.pyc | 2271 | lib/python${PY_VER_SUFFIX}/shlex.pyc | |
2272 | lib/python${PY_VER_SUFFIX}/shlex.pyo | 2272 | lib/python${PY_VER_SUFFIX}/shlex.pyo | |
2273 | lib/python${PY_VER_SUFFIX}/shutil.py | 2273 | lib/python${PY_VER_SUFFIX}/shutil.py | |
2274 | lib/python${PY_VER_SUFFIX}/shutil.pyc | 2274 | lib/python${PY_VER_SUFFIX}/shutil.pyc | |
2275 | lib/python${PY_VER_SUFFIX}/shutil.pyo | 2275 | lib/python${PY_VER_SUFFIX}/shutil.pyo | |
2276 | lib/python${PY_VER_SUFFIX}/site-packages/README | 2276 | lib/python${PY_VER_SUFFIX}/site-packages/README | |
2277 | lib/python${PY_VER_SUFFIX}/site.py | 2277 | lib/python${PY_VER_SUFFIX}/site.py | |
2278 | lib/python${PY_VER_SUFFIX}/site.pyc | 2278 | lib/python${PY_VER_SUFFIX}/site.pyc | |
2279 | lib/python${PY_VER_SUFFIX}/site.pyo | 2279 | lib/python${PY_VER_SUFFIX}/site.pyo | |
2280 | lib/python${PY_VER_SUFFIX}/smtpd${PY_VER_SUFFIX}.py | 2280 | lib/python${PY_VER_SUFFIX}/smtpd.py | |
2281 | lib/python${PY_VER_SUFFIX}/smtpd${PY_VER_SUFFIX}.pyc | 2281 | lib/python${PY_VER_SUFFIX}/smtpd.pyc | |
2282 | lib/python${PY_VER_SUFFIX}/smtpd${PY_VER_SUFFIX}.pyo | 2282 | lib/python${PY_VER_SUFFIX}/smtpd.pyo | |
2283 | lib/python${PY_VER_SUFFIX}/smtplib.py | 2283 | lib/python${PY_VER_SUFFIX}/smtplib.py | |
2284 | lib/python${PY_VER_SUFFIX}/smtplib.pyc | 2284 | lib/python${PY_VER_SUFFIX}/smtplib.pyc | |
2285 | lib/python${PY_VER_SUFFIX}/smtplib.pyo | 2285 | lib/python${PY_VER_SUFFIX}/smtplib.pyo | |
2286 | lib/python${PY_VER_SUFFIX}/sndhdr.py | 2286 | lib/python${PY_VER_SUFFIX}/sndhdr.py | |
2287 | lib/python${PY_VER_SUFFIX}/sndhdr.pyc | 2287 | lib/python${PY_VER_SUFFIX}/sndhdr.pyc | |
2288 | lib/python${PY_VER_SUFFIX}/sndhdr.pyo | 2288 | lib/python${PY_VER_SUFFIX}/sndhdr.pyo | |
2289 | lib/python${PY_VER_SUFFIX}/socket.py | 2289 | lib/python${PY_VER_SUFFIX}/socket.py | |
2290 | lib/python${PY_VER_SUFFIX}/socket.pyc | 2290 | lib/python${PY_VER_SUFFIX}/socket.pyc | |
2291 | lib/python${PY_VER_SUFFIX}/socket.pyo | 2291 | lib/python${PY_VER_SUFFIX}/socket.pyo | |
2292 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.py | 2292 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.py | |
2293 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.pyc | 2293 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.pyc | |
2294 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.pyo | 2294 | lib/python${PY_VER_SUFFIX}/sqlite3/__init__.pyo | |
2295 | lib/python${PY_VER_SUFFIX}/sqlite3/dbapi2.py | 2295 | lib/python${PY_VER_SUFFIX}/sqlite3/dbapi2.py |
@@ -1,30 +1,30 @@ | @@ -1,30 +1,30 @@ | |||
1 | $NetBSD: distinfo,v 1.53 2014/02/09 13:47:10 drochner Exp $ | 1 | $NetBSD: distinfo,v 1.54 2014/03/12 12:57:06 obache Exp $ | |
2 | 2 | |||
3 | SHA1 (Python-2.6.9.tar.xz) = 2fc159946dfcceffbe4a8638de32d0cd8059c2f8 | 3 | SHA1 (Python-2.6.9.tar.xz) = 2fc159946dfcceffbe4a8638de32d0cd8059c2f8 | |
4 | RMD160 (Python-2.6.9.tar.xz) = 42edf7c9f2f64b77ab173de30ea453257c2c06b3 | 4 | RMD160 (Python-2.6.9.tar.xz) = 42edf7c9f2f64b77ab173de30ea453257c2c06b3 | |
5 | Size (Python-2.6.9.tar.xz) = 9333664 bytes | 5 | Size (Python-2.6.9.tar.xz) = 9333664 bytes | |
6 | SHA1 (patch-Lib_distutils_unixccompiler.py) = 1ce01fbe2d36cf0c7ce347c878cfe2d290ec8490 | 6 | SHA1 (patch-Lib_distutils_unixccompiler.py) = 1ce01fbe2d36cf0c7ce347c878cfe2d290ec8490 | |
7 | SHA1 (patch-Mac_Modules_fm___Fmmodule.c) = b9314bccb51b4fe672b81559068f7a79d2965f94 | 7 | SHA1 (patch-Mac_Modules_fm___Fmmodule.c) = b9314bccb51b4fe672b81559068f7a79d2965f94 | |
8 | SHA1 (patch-Mac_Modules_qd___Qdmodule.c) = 45c748b15b9436d45ba137460389638aa7108c8d | 8 | SHA1 (patch-Mac_Modules_qd___Qdmodule.c) = 45c748b15b9436d45ba137460389638aa7108c8d | |
9 | SHA1 (patch-Mac_Modules_qdoffs___Qdoffsmodule.c) = 9994f0c1a908f18f1f3df3f05b184f082c018365 | 9 | SHA1 (patch-Mac_Modules_qdoffs___Qdoffsmodule.c) = 9994f0c1a908f18f1f3df3f05b184f082c018365 | |
10 | SHA1 (patch-Modules_pyexpat.c) = 093f5abb50667e776c66564f4ec87addfdc05ff3 | 10 | SHA1 (patch-Modules_pyexpat.c) = 093f5abb50667e776c66564f4ec87addfdc05ff3 | |
11 | SHA1 (patch-SA43463) = a0285ce9eb1d994bb05cd54812f3fc9cb678fe7f | 11 | SHA1 (patch-SA43463) = a0285ce9eb1d994bb05cd54812f3fc9cb678fe7f | |
12 | SHA1 (patch-aa) = 0528fc5da76d5f1d19586ea3dda1acd09a4b0113 | 12 | SHA1 (patch-aa) = 0528fc5da76d5f1d19586ea3dda1acd09a4b0113 | |
13 | SHA1 (patch-ab) = b47aa9d18a7c1a99ac8cc8b29c64867443f303e5 | 13 | SHA1 (patch-ab) = b47aa9d18a7c1a99ac8cc8b29c64867443f303e5 | |
14 | SHA1 (patch-ac) = 57c88d47f82630e67bcd27ab61bf4362035da2f2 | 14 | SHA1 (patch-ac) = 57c88d47f82630e67bcd27ab61bf4362035da2f2 | |
15 | SHA1 (patch-ad) = a997e39d16a8f0023125362b180d19ee97ab519b | 15 | SHA1 (patch-ad) = a997e39d16a8f0023125362b180d19ee97ab519b | |
16 | SHA1 (patch-ae) = a6d578b5f12eb42fbbcc11791576d2686a4807d9 | 16 | SHA1 (patch-ae) = a6d578b5f12eb42fbbcc11791576d2686a4807d9 | |
17 | SHA1 (patch-ah) = 501d220b41e578402f3400fe88e582aa2408a147 | 17 | SHA1 (patch-ah) = 501d220b41e578402f3400fe88e582aa2408a147 | |
18 | SHA1 (patch-al) = 45dd16af8e7a45aa323138f712c034aa79a91019 | 18 | SHA1 (patch-al) = 45dd16af8e7a45aa323138f712c034aa79a91019 | |
19 | SHA1 (patch-am) = 380dfaa8ca90532a52dcca972e34965f6e64fce1 | 19 | SHA1 (patch-am) = 4064aa3cbe34389ce344d7372eb71c7305f38e07 | |
20 | SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab | 20 | SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab | |
21 | SHA1 (patch-ao) = 8c6a156b0f0c2a6d319658477fff348e6a0c3603 | 21 | SHA1 (patch-ao) = 8c6a156b0f0c2a6d319658477fff348e6a0c3603 | |
22 | SHA1 (patch-ap) = 5ad6f248027be369bd27f69210ff3c7b97a297a2 | 22 | SHA1 (patch-ap) = 5ad6f248027be369bd27f69210ff3c7b97a297a2 | |
23 | SHA1 (patch-au) = 230d74342997021e957105786e93600f5d03cf7b | 23 | SHA1 (patch-au) = 230d74342997021e957105786e93600f5d03cf7b | |
24 | SHA1 (patch-av) = d6bf0419015656a8d2f13d3132873e453c8a6b6e | 24 | SHA1 (patch-av) = d6bf0419015656a8d2f13d3132873e453c8a6b6e | |
25 | SHA1 (patch-az) = 473419352f6e1ff3c6e6268e81457e6f8a1fccb8 | 25 | SHA1 (patch-az) = 473419352f6e1ff3c6e6268e81457e6f8a1fccb8 | |
26 | SHA1 (patch-ba) = 97dcf72d7380a2d257220669845c52a698165fcf | 26 | SHA1 (patch-ba) = 97dcf72d7380a2d257220669845c52a698165fcf | |
27 | SHA1 (patch-bb) = 6cdd94dd1e69630159194c7c153b6c4e46c81456 | 27 | SHA1 (patch-bb) = 6cdd94dd1e69630159194c7c153b6c4e46c81456 | |
28 | SHA1 (patch-bc) = 09aaa254a54109026bb262a949b4006235df7858 | 28 | SHA1 (patch-bc) = 2a57949e0085ac3e8fe8ecd64ffb2b205f3862ac | |
29 | SHA1 (patch-pyconfig.h.in) = ad0f7d60886849e58a03fb28bb6c5ba0600c4698 | 29 | SHA1 (patch-pyconfig.h.in) = ad0f7d60886849e58a03fb28bb6c5ba0600c4698 | |
30 | SHA1 (patch-xa) = 25f02b03f1c5534e1d839a5489d5a046071f32c0 | 30 | SHA1 (patch-xa) = 25f02b03f1c5534e1d839a5489d5a046071f32c0 |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: patch-am,v 1.19 2011/11/08 07:30:08 sbd Exp $ | 1 | $NetBSD: patch-am,v 1.20 2014/03/12 12:57:06 obache Exp $ | |
2 | 2 | |||
3 | Disabled modules for normal build: | 3 | Disabled modules for normal build: | |
4 | bsddb | 4 | bsddb | |
5 | curses | 5 | curses | |
6 | curses_panel | 6 | curses_panel | |
7 | elementtree | 7 | elementtree | |
8 | sqlite3 | 8 | sqlite3 | |
9 | tkinter | 9 | tkinter | |
10 | gdbm | 10 | gdbm | |
11 | pyexpat | 11 | pyexpat | |
12 | readline | 12 | readline | |
13 | {linux,oss,sun}audiodev | 13 | {linux,oss,sun}audiodev | |
14 | spwd | 14 | spwd | |
@@ -368,17 +368,17 @@ support building the "nis" and "crypt" m | @@ -368,17 +368,17 @@ support building the "nis" and "crypt" m | |||
368 | + | 368 | + | |
369 | else: # Linux and other unices | 369 | else: # Linux and other unices | |
370 | macros = dict( | 370 | macros = dict( | |
371 | HAVE_SEM_OPEN=1, | 371 | HAVE_SEM_OPEN=1, | |
372 | @@ -2026,9 +1899,9 @@ | 372 | @@ -2026,9 +1899,9 @@ | |
373 | ext_modules=[Extension('_struct', ['_struct.c'])], | 373 | ext_modules=[Extension('_struct', ['_struct.c'])], | |
374 | 374 | |||
375 | # Scripts to install | 375 | # Scripts to install | |
376 | - scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', | 376 | - scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', | |
377 | - 'Tools/scripts/2to3', | 377 | - 'Tools/scripts/2to3', | |
378 | - 'Lib/smtpd.py'] | 378 | - 'Lib/smtpd.py'] | |
379 | + scripts = ['Tools/scripts/pydoc2.6', | 379 | + scripts = ['Tools/scripts/pydoc2.6', | |
380 | + 'Tools/scripts/2to3-2.6', | 380 | + 'Tools/scripts/2to3-2.6', | |
381 | + 'Lib/smtpd2.6.py'] | 381 | + 'Tools/scripts/smtpd2.6.py'] | |
382 | ) | 382 | ) | |
383 | 383 | |||
384 | # --install-platlib | 384 | # --install-platlib |
@@ -1,21 +1,21 @@ | @@ -1,21 +1,21 @@ | |||
1 | $NetBSD: patch-bc,v 1.1 2010/11/23 08:24:04 tron Exp $ | 1 | $NetBSD: patch-bc,v 1.2 2014/03/12 12:57:06 obache Exp $ | |
2 | 2 | |||
3 | Fix for CVE-2010-3492 and CVE-2010-3493, taken from the Python SVN repository: | 3 | Fix for CVE-2010-3492 and CVE-2010-3493, taken from the Python SVN repository: | |
4 | 4 | |||
5 | http://svn.python.org/view?view=rev&revision=86084 | 5 | http://svn.python.org/view?view=rev&revision=86084 | |
6 | 6 | |||
7 | --- Lib/smtpd2.6.py.orig 2010-11-22 18:18:59.000000000 +0000 | 7 | --- Lib/smtpd.py.orig 2010-11-22 18:18:59.000000000 +0000 | |
8 | +++ Lib/smtpd2.6.py 2010-11-22 18:19:03.000000000 +0000 | 8 | +++ Lib/smtpd.py 2010-11-22 18:19:03.000000000 +0000 | |
9 | @@ -35,7 +35,6 @@ | 9 | @@ -35,7 +35,6 @@ | |
10 | and if remoteport is not given, then 25 is used. | 10 | and if remoteport is not given, then 25 is used. | |
11 | """ | 11 | """ | |
12 | 12 | |||
13 | - | 13 | - | |
14 | # Overview: | 14 | # Overview: | |
15 | # | 15 | # | |
16 | # This file implements the minimal SMTP protocol as defined in RFC 821. It | 16 | # This file implements the minimal SMTP protocol as defined in RFC 821. It | |
17 | @@ -96,7 +95,6 @@ | 17 | @@ -96,7 +95,6 @@ | |
18 | COMMASPACE = ', ' | 18 | COMMASPACE = ', ' | |
19 | 19 | |||
20 | 20 | |||
21 | - | 21 | - |