Date: Wed, 24 Nov 2021 17:01:43 GMT From: Dmitry Marakasov <amdmi3@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: d6f568cf8a0c - main - lang/python311: add port (at 3.11.0.alpha2) Message-ID: <202111241701.1AOH1hAr070934@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by amdmi3: URL: https://cgit.FreeBSD.org/ports/commit/?id=d6f568cf8a0c57c1280efb31b1b2ab850a87267f commit d6f568cf8a0c57c1280efb31b1b2ab850a87267f Author: Dmitry Marakasov <amdmi3@FreeBSD.org> AuthorDate: 2021-10-28 12:26:49 +0000 Commit: Dmitry Marakasov <amdmi3@FreeBSD.org> CommitDate: 2021-11-24 17:00:33 +0000 lang/python311: add port (at 3.11.0.alpha2) Python is an interpreted object-oriented programming language, and is often compared to Tcl, Perl or Scheme. WWW: https://www.python.org/ PR: 259745 Approved by: python --- Mk/Uses/python.mk | 2 +- Mk/bsd.default-versions.mk | 2 +- lang/Makefile | 1 + lang/python311/Makefile | 164 + lang/python311/Makefile.version | 5 + lang/python311/distinfo | 3 + .../patch-Lib_distutils_command_install__lib.py | 41 + ...patch-Lib_distutils_tests_test__install__lib.py | 33 + lang/python311/files/patch-Makefile.pre.in | 65 + .../files/patch-Misc__python-config.sh.in | 11 + lang/python311/files/pkg-message.in | 12 + lang/python311/pkg-descr | 4 + lang/python311/pkg-plist | 7497 ++++++++++++++++++++ 13 files changed, 7838 insertions(+), 2 deletions(-) diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk index 9150ba0453a2..19b5fea01b3c 100644 --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -248,7 +248,7 @@ _INCLUDE_USES_PYTHON_MK= yes # What Python version and what Python interpreters are currently supported? # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. -_PYTHON_VERSIONS= 3.8 3.9 3.7 3.6 3.10 2.7 # preferred first +_PYTHON_VERSIONS= 3.8 3.9 3.7 3.6 3.10 3.11 2.7 # preferred first _PYTHON_PORTBRANCH= 3.8 # ${_PYTHON_VERSIONS:[1]} _PYTHON_BASECMD= ${LOCALBASE}/bin/python _PYTHON_RELPORTDIR= lang/python diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 1ee4c9715269..ff5a45ed0b0f 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -109,7 +109,7 @@ PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} PGSQL_DEFAULT?= 13 # Possible values: 7.3, 7.4, 8.0 PHP_DEFAULT?= 7.4 -# Possible values: 2.7, 3.6, 3.7, 3.8, 3.9, 3.10 +# Possible values: 2.7, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 PYTHON_DEFAULT?= 3.8 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 diff --git a/lang/Makefile b/lang/Makefile index dd751b907a5f..a65262d81751 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -286,6 +286,7 @@ SUBDIR += python27 SUBDIR += python3 SUBDIR += python310 + SUBDIR += python311 SUBDIR += python36 SUBDIR += python37 SUBDIR += python38 diff --git a/lang/python311/Makefile b/lang/python311/Makefile new file mode 100644 index 000000000000..81eca2b4c2dc --- /dev/null +++ b/lang/python311/Makefile @@ -0,0 +1,164 @@ +# Created by: Kubilay Kocak <koobs@FreeBSD.org> + +PORTNAME= python +DISTVERSION= ${PYTHON_DISTVERSION} +CATEGORIES= lang python +MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//} +PKGNAMESUFFIX= ${PYTHON_SUFFIX} +DISTNAME= Python-${DISTVERSION} +DIST_SUBDIR= python + +MAINTAINER= python@FreeBSD.org +COMMENT= Interpreted object-oriented programming language (beta version) + +LICENSE= PSFL + +LIB_DEPENDS= libffi.so:devel/libffi + +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \ + shebangfix ssl tar:xz +PATHFIX_MAKEFILEIN= Makefile.pre.in +USE_LDCONFIG= yes +GNU_CONFIGURE= yes +python_CMD= ${PREFIX}/bin/python${PYTHON_DISTVERSION:R} +SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py +SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \ + Lib/test/ziptestdata/exe_with_zip \ + Lib/test/ziptestdata/header.sh + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} + +DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm +CONFIGURE_ARGS+= --enable-shared --without-ensurepip \ + --with-system-ffi +CONFIGURE_ENV+= OPT="" # Null out OPT to respect user CFLAGS and remove optimizations + +INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files + +TEST_TARGET= buildbottest +TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER} + +MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library + +SUB_FILES= pkg-message +SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX} + +PLIST_SUB= ABI=${ABIFLAGS} \ + XY=${PYTHON_SUFFIX} \ + XYDOT=${PYTHON_VER} \ + XYZDOT=${DISTVERSION:C/[a-z].*//} \ + OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 + +OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC NLS PYMALLOC +OPTIONS_DEFAULT= LIBMPDEC PYMALLOC +OPTIONS_RADIO= HASH +OPTIONS_RADIO_HASH= FNV SIPHASH +OPTIONS_SUB= yes + +LIBMPDEC_DESC= Use libmpdec from ports instead of bundled version +NLS_DESC= Enable gettext support for the locale module +PYMALLOC_DESC= Enable specialized mallocs + +HASH_DESC= Hash Algorithm (PEP-456) +FNV_DESC= Modified Fowler-Noll-Vo Algorithm +SIPHASH_DESC= SipHash24 Algorithm + +FNV_CONFIGURE_ON= --with-hash-algorithm=fnv +SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24 + +DEBUG_CONFIGURE_WITH= pydebug +IPV6_CONFIGURE_ENABLE= ipv6 + +LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec +LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal + +# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat +# to break in Python 2.7, or preprocessor complaints in Python >= 3.3 +# Upstream Issue: https://bugs.python.org/issue6299 +NLS_USES= gettext +NLS_CPPFLAGS= -I${LOCALBASE}/include +NLS_LIBS= -L${LOCALBASE}/lib -lintl +NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no + +PYMALLOC_CONFIGURE_WITH= pymalloc + +.include "${.CURDIR}/Makefile.version" +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MDEBUG} +ABIFLAGS:= d${ABIFLAGS} +.endif + +.if !empty(ABIFLAGS) +PLIST_FILES+= bin/python${PYTHON_VER}${ABIFLAGS} \ + bin/python${PYTHON_VER}${ABIFLAGS}-config \ + libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}.pc \ + libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}-embed.pc +.endif + +.if ${ARCH} == sparc64 +CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900 +.endif + +# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650 +.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) +PLIST_SUB+= NO_NIS="@comment " +DISABLED_EXTENSIONS+= nis +.else +PLIST_SUB+= NO_NIS="" +.endif + +# Python 3.10 requires OpenSSL >= 1.1.1 (PEP 644), so with +# libressl, some modules are not built +.if ${SSL_DEFAULT:Mlibressl*} +PLIST_SUB+= SUPPORTED_OPENSSL="@comment " +.else +PLIST_SUB+= SUPPORTED_OPENSSL="" +.endif + +post-patch: +# disable the detection of includes and library from e2fsprogs-libuuid, +# which introduces hidden dependency and breaks build + @${REINPLACE_CMD} -e 's|uuid/uuid.h|ignore_&|' ${WRKSRC}/configure + @${REINPLACE_CMD} -e '/find_library_file/ s|uuid|ignore_&|' ${WRKSRC}/setup.py +# disable detection of multiarch as it breaks with clang >= 13, which adds a +# major.minor version number in -print-multiarch output, confusing Python + @${REINPLACE_CMD} -e 's|^MULTIARCH=.*|MULTIARCH=|' ${WRKSRC}/configure \ + ${WRKSRC}/configure.ac +# Apply DISABLED_EXTENSIONS + @${ECHO_CMD} '*disabled*' > ${WRKSRC}/Modules/Setup.local +. for _module in ${DISABLED_EXTENSIONS} + @${ECHO_CMD} ${_module} >> ${WRKSRC}/Modules/Setup.local +. endfor + +post-install: +.if ! ${PORT_OPTIONS:MDEBUG} + ${RM} ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: https://bugs.python.org/issue17975 +.endif + ${LN} -sf libpython${PYTHON_VER}${ABIFLAGS}.so.1.0 ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1 +# This code block exists for the qemu-user enabled cross build environment. +# When using this environment in poudriere, CC is not set to the default +# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand +# edit this so that the run time configuration for python matches what the +# FreeBSD base system provides. sbruno 02Aug2017 +.if ${CC} == /nxb-bin/usr/bin/cc + @${REINPLACE_CMD} -e 's=/nxb-bin==' \ + ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py + @cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \ + ./python -E -m compileall -d ${PREFIX}/lib/python${PYTHON_VER} \ + ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py + @cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \ + ./python -E -O -m compileall -d ${PREFIX}/lib/python${PYTHON_VER} \ + ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py + @${REINPLACE_CMD} -e 's=/nxb-bin==' \ + ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/config-${PYTHON_VER}${ABIFLAGS}/Makefile +.endif + for i in ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/lib-dynload/*.so; do \ + ${STRIP_CMD} $$i; done # Strip shared extensions + ${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \ + ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1.0-gdb.py + +.include <bsd.port.mk> diff --git a/lang/python311/Makefile.version b/lang/python311/Makefile.version new file mode 100644 index 000000000000..3b5b0700a29e --- /dev/null +++ b/lang/python311/Makefile.version @@ -0,0 +1,5 @@ +# Mk/Uses/python.mk includes this file, don't remove it! + +# Do not forget to update python documentation (lang/python-doc-*) +# Run "make -C lang/python-doc-html makesum" +PYTHON_DISTVERSION= 3.11.0a2 diff --git a/lang/python311/distinfo b/lang/python311/distinfo new file mode 100644 index 000000000000..fd8e3b9cc2ce --- /dev/null +++ b/lang/python311/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1637148409 +SHA256 (python/Python-3.11.0a2.tar.xz) = 68a8c4d6ce2548a7b617d699fbdb348937bdace0cf96db1aa083849df5dad13f +SIZE (python/Python-3.11.0a2.tar.xz) = 18714064 diff --git a/lang/python311/files/patch-Lib_distutils_command_install__lib.py b/lang/python311/files/patch-Lib_distutils_command_install__lib.py new file mode 100644 index 000000000000..6e925311e57d --- /dev/null +++ b/lang/python311/files/patch-Lib_distutils_command_install__lib.py @@ -0,0 +1,41 @@ +From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001 +From: Brendan Molloy <brendan@bbqsrc.net> +Date: Mon, 4 Jan 2016 23:14:06 +1100 +Subject: [PATCH] Check bytecode file actually exists and tests + +Should solve issue 20397, where using the --record argument results +in files that failed to generate bytecode files are added to the +record file nonetheless. +--- + Lib/distutils/command/install_lib.py | 17 +++++++++++++---- + Lib/distutils/tests/test_install_lib.py | 8 ++++++-- + 2 files changed, 19 insertions(+), 6 deletions(-) + +--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC ++++ Lib/distutils/command/install_lib.py +@@ -164,12 +164,21 @@ class install_lib(Command): + ext = os.path.splitext(os.path.normcase(py_file))[1] + if ext != PYTHON_SOURCE_EXTENSION: + continue ++ + if self.compile: +- bytecode_files.append(importlib.util.cache_from_source( +- py_file, optimization='')) ++ candidate = importlib.util.cache_from_source( ++ py_file, optimization='') ++ ++ if os.path.isfile(candidate): ++ bytecode_files.append(candidate) ++ + if self.optimize > 0: +- bytecode_files.append(importlib.util.cache_from_source( +- py_file, optimization=self.optimize)) ++ candidate = importlib.util.cache_from_source( ++ py_file, optimization=self.optimize) ++ ++ if os.path.isfile(candidate): ++ bytecode_files.append(candidate) ++ + + return bytecode_files + diff --git a/lang/python311/files/patch-Lib_distutils_tests_test__install__lib.py b/lang/python311/files/patch-Lib_distutils_tests_test__install__lib.py new file mode 100644 index 000000000000..c5531b92ee92 --- /dev/null +++ b/lang/python311/files/patch-Lib_distutils_tests_test__install__lib.py @@ -0,0 +1,33 @@ +From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001 +From: Brendan Molloy <brendan@bbqsrc.net> +Date: Mon, 4 Jan 2016 23:14:06 +1100 +Subject: [PATCH] Check bytecode file actually exists and tests + +Should solve issue 20397, where using the --record argument results +in files that failed to generate bytecode files are added to the +record file nonetheless. +--- + Lib/distutils/command/install_lib.py | 17 +++++++++++++---- + Lib/distutils/tests/test_install_lib.py | 8 ++++++-- + 2 files changed, 19 insertions(+), 6 deletions(-) + +--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC ++++ Lib/distutils/tests/test_install_lib.py +@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir + cmd.distribution.ext_modules = [Extension('foo', ['xxx'])] + cmd.distribution.packages = ['spam'] + cmd.distribution.script_name = 'setup.py' ++ ++ # Create rubbish, uncompilable file ++ f = os.path.join(project_dir, 'spam', 'rubbish.py') ++ self.write_file(f, 'rubbish()') + + # get_outputs should return 4 elements: spam/__init__.py and .pyc, +- # foo.import-tag-abiflags.so / foo.pyd ++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc) + outputs = cmd.get_outputs() +- self.assertEqual(len(outputs), 4, outputs) ++ self.assertEqual(len(outputs), 5, outputs) + + def test_get_inputs(self): + project_dir, dist = self.create_dist() diff --git a/lang/python311/files/patch-Makefile.pre.in b/lang/python311/files/patch-Makefile.pre.in new file mode 100644 index 000000000000..1262d9f1aea6 --- /dev/null +++ b/lang/python311/files/patch-Makefile.pre.in @@ -0,0 +1,65 @@ +# Description: Remove duplicate CFLAGS, CPPFLAGS, LDFLAGS by stripping CONFIGURE_* +# Submitted by: koobs (r326729) +# TODO: Upstream +--- Makefile.pre.in.orig 2019-11-04 01:16:37 UTC ++++ Makefile.pre.in +@@ -80,7 +80,6 @@ MAKESETUP= $(srcdir)/Modules/makesetup + OPT= @OPT@ + BASECFLAGS= @BASECFLAGS@ + BASECPPFLAGS= @BASECPPFLAGS@ +-CONFIGURE_CFLAGS= @CFLAGS@ + # CFLAGS_NODIST is used for building the interpreter and stdlib C extensions. + # Use it when a compiler flag should _not_ be part of the distutils CFLAGS + # once Python is installed (Issue #21121). +@@ -89,18 +88,16 @@ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@ + # Use it when a linker flag should _not_ be part of the distutils LDFLAGS + # once Python is installed (bpo-35257) + CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@ +-CONFIGURE_CPPFLAGS= @CPPFLAGS@ +-CONFIGURE_LDFLAGS= @LDFLAGS@ + # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the + # command line to append to these values without stomping the pre-set + # values. +-PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) ++PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CFLAGS) $(EXTRA_CFLAGS) + PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/internal + # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to + # be able to build extension modules using the directories specified in the + # environment variables +-PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS) +-PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) ++PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CPPFLAGS) ++PY_LDFLAGS= $(LDFLAGS) + PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST) + NO_AS_NEEDED= @NO_AS_NEEDED@ + SGI_ABI= @SGI_ABI@ +@@ -1269,14 +1266,6 @@ bininstall: altbininstall + else true; \ + fi + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python3$(EXE)) +- -if test "$(VERSION)" != "$(LDVERSION)"; then \ +- rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \ +- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \ +- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \ +- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \ +- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc; \ +- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python-$(LDVERSION)-embed.pc); \ +- fi + -rm -f $(DESTDIR)$(BINDIR)/python3-config + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config) + -rm -f $(DESTDIR)$(LIBPC)/python3.pc +@@ -1580,6 +1569,14 @@ libainstall: @DEF_MAKE_RULE@ python-config + $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh + $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py + $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config ++ -if test "$(VERSION)" != "$(LDVERSION)"; then \ ++ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \ ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \ ++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \ ++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \ ++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc; \ ++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python-$(LDVERSION)-embed.pc); \ ++ fi + @if [ -s Modules/python.exp -a \ + "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ + echo; echo "Installing support files for building shared extension modules on AIX:"; \ diff --git a/lang/python311/files/patch-Misc__python-config.sh.in b/lang/python311/files/patch-Misc__python-config.sh.in new file mode 100644 index 000000000000..ebb0c6a51f6d --- /dev/null +++ b/lang/python311/files/patch-Misc__python-config.sh.in @@ -0,0 +1,11 @@ +--- Misc/python-config.sh.in.orig 2018-07-13 21:07:16 UTC ++++ Misc/python-config.sh.in +@@ -15,7 +15,7 @@ fi + # Returns the actual prefix where this script was installed to. + installed_prefix () + { +- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) ++ RESULT=$(dirname $(cd $(dirname $(realpath "$1")) && pwd -P)) + if which readlink >/dev/null 2>&1 ; then + if readlink -f "$RESULT" >/dev/null 2>&1; then + RESULT=$(readlink -f "$RESULT") diff --git a/lang/python311/files/pkg-message.in b/lang/python311/files/pkg-message.in new file mode 100644 index 000000000000..286359c9f272 --- /dev/null +++ b/lang/python311/files/pkg-message.in @@ -0,0 +1,12 @@ +[ +{ type: install + message: <<EOM +Note that some standard Python modules are provided as separate ports +as they require additional dependencies. They are available as: + +py%%PYTHON_SUFFIX%%-gdbm databases/py-gdbm@py%%PYTHON_SUFFIX%% +py%%PYTHON_SUFFIX%%-sqlite3 databases/py-sqlite3@py%%PYTHON_SUFFIX%% +py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py-tkinter@py%%PYTHON_SUFFIX%% +EOM +} +] diff --git a/lang/python311/pkg-descr b/lang/python311/pkg-descr new file mode 100644 index 000000000000..9c7e5a6d284b --- /dev/null +++ b/lang/python311/pkg-descr @@ -0,0 +1,4 @@ +Python is an interpreted object-oriented programming language, and is +often compared to Tcl, Perl or Scheme. + +WWW: https://www.python.org/ diff --git a/lang/python311/pkg-plist b/lang/python311/pkg-plist new file mode 100644 index 000000000000..26f9bf52dc01 --- /dev/null +++ b/lang/python311/pkg-plist @@ -0,0 +1,7497 @@ +bin/2to3-%%XYDOT%% +bin/idle%%XYDOT%% +bin/pydoc%%XYDOT%% +bin/python%%XYDOT%% +bin/python%%XYDOT%%-config +include/python%%XYDOT%%%%ABI%%/Python.h +include/python%%XYDOT%%%%ABI%%/abstract.h +include/python%%XYDOT%%%%ABI%%/bltinmodule.h +include/python%%XYDOT%%%%ABI%%/boolobject.h +include/python%%XYDOT%%%%ABI%%/bytearrayobject.h +include/python%%XYDOT%%%%ABI%%/bytesobject.h +include/python%%XYDOT%%%%ABI%%/ceval.h +include/python%%XYDOT%%%%ABI%%/code.h +include/python%%XYDOT%%%%ABI%%/codecs.h +include/python%%XYDOT%%%%ABI%%/compile.h +include/python%%XYDOT%%%%ABI%%/complexobject.h +include/python%%XYDOT%%%%ABI%%/cpython/abstract.h +include/python%%XYDOT%%%%ABI%%/cpython/bytearrayobject.h +include/python%%XYDOT%%%%ABI%%/cpython/bytesobject.h +include/python%%XYDOT%%%%ABI%%/cpython/cellobject.h +include/python%%XYDOT%%%%ABI%%/cpython/ceval.h +include/python%%XYDOT%%%%ABI%%/cpython/classobject.h +include/python%%XYDOT%%%%ABI%%/cpython/code.h +include/python%%XYDOT%%%%ABI%%/cpython/compile.h +include/python%%XYDOT%%%%ABI%%/cpython/context.h +include/python%%XYDOT%%%%ABI%%/cpython/dictobject.h +include/python%%XYDOT%%%%ABI%%/cpython/fileobject.h +include/python%%XYDOT%%%%ABI%%/cpython/fileutils.h +include/python%%XYDOT%%%%ABI%%/cpython/floatobject.h +include/python%%XYDOT%%%%ABI%%/cpython/frameobject.h +include/python%%XYDOT%%%%ABI%%/cpython/funcobject.h +include/python%%XYDOT%%%%ABI%%/cpython/genobject.h +include/python%%XYDOT%%%%ABI%%/cpython/import.h +include/python%%XYDOT%%%%ABI%%/cpython/initconfig.h +include/python%%XYDOT%%%%ABI%%/cpython/listobject.h +include/python%%XYDOT%%%%ABI%%/cpython/longintrepr.h +include/python%%XYDOT%%%%ABI%%/cpython/longobject.h +include/python%%XYDOT%%%%ABI%%/cpython/methodobject.h +include/python%%XYDOT%%%%ABI%%/cpython/object.h +include/python%%XYDOT%%%%ABI%%/cpython/objimpl.h +include/python%%XYDOT%%%%ABI%%/cpython/odictobject.h +include/python%%XYDOT%%%%ABI%%/cpython/picklebufobject.h +include/python%%XYDOT%%%%ABI%%/cpython/pyctype.h +include/python%%XYDOT%%%%ABI%%/cpython/pydebug.h +include/python%%XYDOT%%%%ABI%%/cpython/pyerrors.h +include/python%%XYDOT%%%%ABI%%/cpython/pyfpe.h +include/python%%XYDOT%%%%ABI%%/cpython/pylifecycle.h +include/python%%XYDOT%%%%ABI%%/cpython/pymem.h +include/python%%XYDOT%%%%ABI%%/cpython/pystate.h +include/python%%XYDOT%%%%ABI%%/cpython/pythonrun.h +include/python%%XYDOT%%%%ABI%%/cpython/pytime.h +include/python%%XYDOT%%%%ABI%%/cpython/sysmodule.h +include/python%%XYDOT%%%%ABI%%/cpython/traceback.h +include/python%%XYDOT%%%%ABI%%/cpython/tupleobject.h +include/python%%XYDOT%%%%ABI%%/cpython/unicodeobject.h +include/python%%XYDOT%%%%ABI%%/cpython/warnings.h +include/python%%XYDOT%%%%ABI%%/cpython/weakrefobject.h +include/python%%XYDOT%%%%ABI%%/datetime.h +include/python%%XYDOT%%%%ABI%%/descrobject.h +include/python%%XYDOT%%%%ABI%%/dictobject.h +include/python%%XYDOT%%%%ABI%%/dynamic_annotations.h +include/python%%XYDOT%%%%ABI%%/enumobject.h +include/python%%XYDOT%%%%ABI%%/errcode.h +include/python%%XYDOT%%%%ABI%%/exports.h +include/python%%XYDOT%%%%ABI%%/fileobject.h +include/python%%XYDOT%%%%ABI%%/fileutils.h +include/python%%XYDOT%%%%ABI%%/floatobject.h +include/python%%XYDOT%%%%ABI%%/frameobject.h +include/python%%XYDOT%%%%ABI%%/genericaliasobject.h +include/python%%XYDOT%%%%ABI%%/import.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_abstract.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_accu.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_asdl.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_ast.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_ast_state.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_atomic.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_atomic_funcs.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_bitutils.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_blocks_output_buffer.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_bytes_methods.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_call.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_ceval.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_code.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_compile.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_condvar.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_context.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_dict.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_dtoa.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_fileutils.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_floatobject.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_format.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_frame.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_gc.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_getopt.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_gil.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_hamt.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_hashtable.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_import.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_initconfig.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_interp.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_interpreteridobject.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_list.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_long.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_moduleobject.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_namespace.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_object.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_parser.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pathconfig.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pyarena.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pyerrors.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pyhash.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pylifecycle.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pymath.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pymem.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_pystate.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_runtime.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_strhex.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_structseq.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_symtable.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_sysmodule.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_traceback.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_tuple.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_ucnhash.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_unionobject.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_warnings.h +include/python%%XYDOT%%%%ABI%%/intrcheck.h +include/python%%XYDOT%%%%ABI%%/iterobject.h +include/python%%XYDOT%%%%ABI%%/listobject.h +include/python%%XYDOT%%%%ABI%%/longobject.h +include/python%%XYDOT%%%%ABI%%/marshal.h +include/python%%XYDOT%%%%ABI%%/memoryobject.h +include/python%%XYDOT%%%%ABI%%/methodobject.h +include/python%%XYDOT%%%%ABI%%/modsupport.h +include/python%%XYDOT%%%%ABI%%/moduleobject.h +include/python%%XYDOT%%%%ABI%%/object.h +include/python%%XYDOT%%%%ABI%%/objimpl.h +include/python%%XYDOT%%%%ABI%%/opcode.h +include/python%%XYDOT%%%%ABI%%/osdefs.h +include/python%%XYDOT%%%%ABI%%/osmodule.h +include/python%%XYDOT%%%%ABI%%/patchlevel.h +include/python%%XYDOT%%%%ABI%%/py_curses.h +include/python%%XYDOT%%%%ABI%%/pycapsule.h +include/python%%XYDOT%%%%ABI%%/pyconfig.h +include/python%%XYDOT%%%%ABI%%/pydtrace.h +include/python%%XYDOT%%%%ABI%%/pyerrors.h +include/python%%XYDOT%%%%ABI%%/pyexpat.h +include/python%%XYDOT%%%%ABI%%/pyframe.h +include/python%%XYDOT%%%%ABI%%/pyhash.h +include/python%%XYDOT%%%%ABI%%/pylifecycle.h +include/python%%XYDOT%%%%ABI%%/pymacconfig.h +include/python%%XYDOT%%%%ABI%%/pymacro.h +include/python%%XYDOT%%%%ABI%%/pymath.h +include/python%%XYDOT%%%%ABI%%/pymem.h +include/python%%XYDOT%%%%ABI%%/pyport.h +include/python%%XYDOT%%%%ABI%%/pystate.h +include/python%%XYDOT%%%%ABI%%/pystrcmp.h +include/python%%XYDOT%%%%ABI%%/pystrtod.h +include/python%%XYDOT%%%%ABI%%/pythonrun.h +include/python%%XYDOT%%%%ABI%%/pythread.h +include/python%%XYDOT%%%%ABI%%/rangeobject.h +include/python%%XYDOT%%%%ABI%%/setobject.h +include/python%%XYDOT%%%%ABI%%/sliceobject.h +include/python%%XYDOT%%%%ABI%%/structmember.h +include/python%%XYDOT%%%%ABI%%/structseq.h +include/python%%XYDOT%%%%ABI%%/sysmodule.h +include/python%%XYDOT%%%%ABI%%/token.h +include/python%%XYDOT%%%%ABI%%/traceback.h +include/python%%XYDOT%%%%ABI%%/tracemalloc.h +include/python%%XYDOT%%%%ABI%%/tupleobject.h +include/python%%XYDOT%%%%ABI%%/typeslots.h +include/python%%XYDOT%%%%ABI%%/unicodeobject.h +include/python%%XYDOT%%%%ABI%%/warnings.h +include/python%%XYDOT%%%%ABI%%/weakrefobject.h +lib/libpython%%XYDOT%%%%ABI%%.so +lib/libpython%%XYDOT%%%%ABI%%.so.1 +lib/libpython%%XYDOT%%%%ABI%%.so.1.0 +lib/libpython%%XYDOT%%%%ABI%%.so.1.0-gdb.py +lib/python%%XYDOT%%/LICENSE.txt +lib/python%%XYDOT%%/__future__.py +lib/python%%XYDOT%%/__hello__.py +lib/python%%XYDOT%%/__phello__/__init__.py +lib/python%%XYDOT%%/__phello__/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__phello__/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__phello__/__pycache__/__init__.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__phello__/__pycache__/spam.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__phello__/__pycache__/spam.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__phello__/__pycache__/spam.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__phello__/spam.py +lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/__hello__.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/__hello__.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/__hello__.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_aix_support.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_aix_support.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_aix_support.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_bootsubprocess.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_bootsubprocess.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_bootsubprocess.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/graphlib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/graphlib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/graphlib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-1.pyc *** 6981 LINES SKIPPED ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111241701.1AOH1hAr070934>