pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/py-notebook py-notebook: updated to 6.0.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a722e60b9098
branches:  trunk
changeset: 338286:a722e60b9098
user:      adam <adam%pkgsrc.org@localhost>
date:      Thu Aug 22 08:23:27 2019 +0000

description:
py-notebook: updated to 6.0.1

6.0.1

- Attempt to re-establish websocket connection to Gateway
- Add missing react-dom js to package data

6.0

This is the first major release of the Jupyter Notebook since version 5.0 (March 2017).

We encourage users to start trying JupyterLab, which has just announced it's 1.0 release in preparation
for a future transition.

- Remove Python 2.x support in favor of Python 3.5 and higher.
- Multiple accessibility enhancements and bug-fixes.
- Multiple translation enhancements and bug-fixes.
- Remove deprecated ANSI CSS styles.
- Native support to forward requests to Jupyter Gateway(s) (Embedded NB2KG).
- Use JavaScript to redirect users to notebook homepage.
- Enhanced SSL/TLS security by using PROTOCOL_TLS which selects the highest ssl/tls
  protocol version available that both the client and server support. When PROTOCOL_TLS
  is not available use PROTOCOL_SSLv23.
- Add ?no_track_activity=1 argument to allow API requests.
  to not be registered as activity (e.g. API calls by external activity monitors).
- Kernels shutting down due to an idle timeout is no longer considered
  an activity-updating event.
- Further improve compatibility with tornado 6 with improved
  checks for when websockets are closed.
- Launch the browser with a local file which redirects to the server address including
  the authentication token. This prevents another logged-in user from stealing the token
  from command line arguments and authenticating to the server.
  The single-use token previously used to mitigate this has been removed.
  Thanks to Dr. Owain Kenway for suggesting the local file approach.
- Respect nbconvert entrypoints as sources for exporters
- Update to CodeMirror to 5.37, which includes f-string syntax for Python 3.6.
- Update jquery-ui to 1.12
- Execute cells by clicking icon in input prompt.
- New "Save as" menu option.
- When serving on a loopback interface, protect against DNS rebinding by
  checking the Host header from the browser.
  This check can be disabled if necessary by setting
  NotebookApp.allow_remote_access.
  (Disabled by default while we work out some Mac issues in :ghissue:3754).
- Add kernel_info_timeout traitlet to enable restarting slow kernels.
- Add custom_display_host config option to override displayed URL.
- Add /metrics endpoint for Prometheus Metrics.
- Optimize large file uploads.
- Allow access control headers to be overriden in jupyter_notebook_config.py to support
  greater CORS and proxy configuration flexibility.
- Add support for terminals on windows.
- Add a "restart and run all" button to the toolbar.
- Frontend/extension-config: allow default json files in a .d directory.
- Allow setting token via jupyter_token env.
- Cull idle kernels using --MappingKernelManager.cull_idle_timeout.
- Allow read-only notebooks to be trusted.
- Convert JS tests to Selenium.


Security Fixes included in previous minor releases of Jupyter Notebook and also included in version 6.0.

- Fix Open Redirect vulnerability (CVE-2019-10255)
  where certain malicious URLs could redirect from the Jupyter login page
  to a malicious site after a successful login.

- Contains a security fix for a cross-site inclusion (XSSI) vulnerability (CVE-2019?9644),
  where files at a known URL could be included in a page from an unauthorized website if
  the user is logged into a Jupyter server. The fix involves setting the
  X-Content-Type-Options: nosniff header, and applying CSRF checks previously on all
  non-GET API requests to GET requests to API endpoints and the /files/ endpoint.

- Check Host header to more securely protect localhost deployments from DNS rebinding.
  This is a pre-emptive measure, not fixing a known vulnerability.
  Use .NotebookApp.allow_remote_access and .NotebookApp.local_hostnames to configure
  access.

- Upgrade bootstrap to 3.4, fixing an XSS vulnerability, which has been
  assigned CVE-2018-14041 <https://nvd.nist.gov/vuln/detail/CVE-2018-14041>_.

- Contains a security fix preventing malicious directory names
  from being able to execute javascript.

- Contains a security fix preventing nbconvert endpoints from executing javascript with
  access to the server API. CVE request pending.

diffstat:

 www/py-notebook/Makefile |   10 ++--
 www/py-notebook/PLIST    |  102 +++++++++++++++++++++++++++++++++++-----------
 www/py-notebook/distinfo |   10 ++--
 3 files changed, 86 insertions(+), 36 deletions(-)

diffs (268 lines):

diff -r c95929437df4 -r a722e60b9098 www/py-notebook/Makefile
--- a/www/py-notebook/Makefile  Thu Aug 22 08:21:11 2019 +0000
+++ b/www/py-notebook/Makefile  Thu Aug 22 08:23:27 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.15 2019/07/22 08:42:50 nia Exp $
+# $NetBSD: Makefile,v 1.16 2019/08/22 08:23:27 adam Exp $
 
-DISTNAME=      notebook-5.7.8
+DISTNAME=      notebook-6.0.1
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    www python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=n/notebook/}
@@ -13,14 +13,14 @@
 DEPENDS+=      ${PYPKGPREFIX}-Send2Trash-[0-9]*:../../sysutils/py-Send2Trash
 DEPENDS+=      ${PYPKGPREFIX}-ipykernel-[0-9]*:../../devel/py-ipykernel
 DEPENDS+=      ${PYPKGPREFIX}-ipython_genutils-[0-9]*:../../devel/py-ipython_genutils
-DEPENDS+=      ${PYPKGPREFIX}-jupyter_client>=5.2.0:../../devel/py-jupyter_client
+DEPENDS+=      ${PYPKGPREFIX}-jupyter_client>=5.3.1:../../devel/py-jupyter_client
 DEPENDS+=      ${PYPKGPREFIX}-jupyter_core>=4.4.0:../../devel/py-jupyter_core
 DEPENDS+=      ${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
 DEPENDS+=      ${PYPKGPREFIX}-nbconvert-[0-9]*:../../www/py-nbconvert
 DEPENDS+=      ${PYPKGPREFIX}-nbformat-[0-9]*:../../www/py-nbformat
 DEPENDS+=      ${PYPKGPREFIX}-prometheus_client-[0-9]*:../../net/py-prometheus_client
 DEPENDS+=      ${PYPKGPREFIX}-terminado>=0.8.1:../../www/py-terminado
-DEPENDS+=      ${PYPKGPREFIX}-tornado>=4:../../www/py-tornado
+DEPENDS+=      ${PYPKGPREFIX}-tornado>=5:../../www/py-tornado
 DEPENDS+=      ${PYPKGPREFIX}-traitlets>=4.2.1:../../devel/py-traitlets
 DEPENDS+=      ${PYPKGPREFIX}-zmq>=17.0.0:../../net/py-zmq
 
@@ -31,7 +31,7 @@
 post-install:
 .for name in bundlerextension nbextension notebook serverextension
        cd ${DESTDIR}${PREFIX}/bin && \
-               ${MV} jupyter-${name} jupyter-${name}-${PYVERSSUFFIX} || ${TRUE}
+       ${MV} jupyter-${name} jupyter-${name}-${PYVERSSUFFIX} || ${TRUE}
 .endfor
 
 .include "../../lang/python/egg.mk"
diff -r c95929437df4 -r a722e60b9098 www/py-notebook/PLIST
--- a/www/py-notebook/PLIST     Thu Aug 22 08:21:11 2019 +0000
+++ b/www/py-notebook/PLIST     Thu Aug 22 08:23:27 2019 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.9 2019/04/25 13:19:48 adam Exp $
+@comment $NetBSD: PLIST,v 1.10 2019/08/22 08:23:27 adam Exp $
 bin/jupyter-bundlerextension-${PYVERSSUFFIX}
 bin/jupyter-nbextension-${PYVERSSUFFIX}
 bin/jupyter-notebook-${PYVERSSUFFIX}
@@ -113,6 +113,15 @@
 ${PYSITELIB}/notebook/files/handlers.py
 ${PYSITELIB}/notebook/files/handlers.pyc
 ${PYSITELIB}/notebook/files/handlers.pyo
+${PYSITELIB}/notebook/gateway/__init__.py
+${PYSITELIB}/notebook/gateway/__init__.pyc
+${PYSITELIB}/notebook/gateway/__init__.pyo
+${PYSITELIB}/notebook/gateway/handlers.py
+${PYSITELIB}/notebook/gateway/handlers.pyc
+${PYSITELIB}/notebook/gateway/handlers.pyo
+${PYSITELIB}/notebook/gateway/managers.py
+${PYSITELIB}/notebook/gateway/managers.pyc
+${PYSITELIB}/notebook/gateway/managers.pyo
 ${PYSITELIB}/notebook/i18n/__init__.py
 ${PYSITELIB}/notebook/i18n/__init__.pyc
 ${PYSITELIB}/notebook/i18n/__init__.pyo
@@ -140,9 +149,6 @@
 ${PYSITELIB}/notebook/log.py
 ${PYSITELIB}/notebook/log.pyc
 ${PYSITELIB}/notebook/log.pyo
-${PYSITELIB}/notebook/metrics.py
-${PYSITELIB}/notebook/metrics.pyc
-${PYSITELIB}/notebook/metrics.pyo
 ${PYSITELIB}/notebook/nbconvert/__init__.py
 ${PYSITELIB}/notebook/nbconvert/__init__.pyc
 ${PYSITELIB}/notebook/nbconvert/__init__.pyo
@@ -167,6 +173,15 @@
 ${PYSITELIB}/notebook/notebookapp.py
 ${PYSITELIB}/notebook/notebookapp.pyc
 ${PYSITELIB}/notebook/notebookapp.pyo
+${PYSITELIB}/notebook/prometheus/__init__.py
+${PYSITELIB}/notebook/prometheus/__init__.pyc
+${PYSITELIB}/notebook/prometheus/__init__.pyo
+${PYSITELIB}/notebook/prometheus/log_functions.py
+${PYSITELIB}/notebook/prometheus/log_functions.pyc
+${PYSITELIB}/notebook/prometheus/log_functions.pyo
+${PYSITELIB}/notebook/prometheus/metrics.py
+${PYSITELIB}/notebook/prometheus/metrics.pyc
+${PYSITELIB}/notebook/prometheus/metrics.pyo
 ${PYSITELIB}/notebook/serverextensions.py
 ${PYSITELIB}/notebook/serverextensions.pyc
 ${PYSITELIB}/notebook/serverextensions.pyo
@@ -306,6 +321,7 @@
 ${PYSITELIB}/notebook/services/shutdown.py
 ${PYSITELIB}/notebook/services/shutdown.pyc
 ${PYSITELIB}/notebook/services/shutdown.pyo
+${PYSITELIB}/notebook/static/acc_overwrite.less
 ${PYSITELIB}/notebook/static/auth/css/override.css
 ${PYSITELIB}/notebook/static/auth/js/loginmain.js
 ${PYSITELIB}/notebook/static/auth/js/loginwidget.js
@@ -1372,6 +1388,7 @@
 ${PYSITELIB}/notebook/static/components/codemirror/theme/xq-light.css
 ${PYSITELIB}/notebook/static/components/codemirror/theme/yeti.css
 ${PYSITELIB}/notebook/static/components/codemirror/theme/zenburn.css
+${PYSITELIB}/notebook/static/components/create-react-class/index.js
 ${PYSITELIB}/notebook/static/components/es6-promise/promise.js
 ${PYSITELIB}/notebook/static/components/es6-promise/promise.min.js
 ${PYSITELIB}/notebook/static/components/font-awesome/css/font-awesome.css
@@ -1407,9 +1424,8 @@
 ${PYSITELIB}/notebook/static/components/moment/min/moment-with-locales.min.js
 ${PYSITELIB}/notebook/static/components/moment/min/moment.min.js
 ${PYSITELIB}/notebook/static/components/moment/moment.js
-${PYSITELIB}/notebook/static/components/preact-compat/index.js
-${PYSITELIB}/notebook/static/components/preact/index.js
-${PYSITELIB}/notebook/static/components/proptypes/index.js
+${PYSITELIB}/notebook/static/components/react/react-dom.production.min.js
+${PYSITELIB}/notebook/static/components/react/react.production.min.js
 ${PYSITELIB}/notebook/static/components/requirejs-plugins/src/json.js
 ${PYSITELIB}/notebook/static/components/requirejs-text/text.js
 ${PYSITELIB}/notebook/static/components/requirejs/require.js
@@ -1528,34 +1544,20 @@
 ${PYSITELIB}/notebook/tests/launchnotebook.pyo
 ${PYSITELIB}/notebook/tests/mockextension/index.js
 ${PYSITELIB}/notebook/tests/notebook/attachments.js
-${PYSITELIB}/notebook/tests/notebook/buffering.js
-${PYSITELIB}/notebook/tests/notebook/clipboard_multiselect.js
 ${PYSITELIB}/notebook/tests/notebook/display_id.js
-${PYSITELIB}/notebook/tests/notebook/display_image.js
 ${PYSITELIB}/notebook/tests/notebook/dualmode.js
-${PYSITELIB}/notebook/tests/notebook/dualmode_arrows.js
-${PYSITELIB}/notebook/tests/notebook/dualmode_cellmode.js
-${PYSITELIB}/notebook/tests/notebook/dualmode_clipboard.js
-${PYSITELIB}/notebook/tests/notebook/dualmode_execute.js
-${PYSITELIB}/notebook/tests/notebook/dualmode_markdown.js
 ${PYSITELIB}/notebook/tests/notebook/dualmode_merge.js
 ${PYSITELIB}/notebook/tests/notebook/execute_code.js
 ${PYSITELIB}/notebook/tests/notebook/execute_selected_cells.js
 ${PYSITELIB}/notebook/tests/notebook/inject_js.js
 ${PYSITELIB}/notebook/tests/notebook/interrupt.js
-${PYSITELIB}/notebook/tests/notebook/isolated_svg.js
 ${PYSITELIB}/notebook/tests/notebook/kernel_menu.js
 ${PYSITELIB}/notebook/tests/notebook/markdown.js
-${PYSITELIB}/notebook/tests/notebook/merge_cells_api.js
 ${PYSITELIB}/notebook/tests/notebook/move_multiselection.js
-${PYSITELIB}/notebook/tests/notebook/multiselect.js
-${PYSITELIB}/notebook/tests/notebook/multiselect_toggle.js
 ${PYSITELIB}/notebook/tests/notebook/notifications.js
 ${PYSITELIB}/notebook/tests/notebook/output.js
 ${PYSITELIB}/notebook/tests/notebook/roundtrip.js
 ${PYSITELIB}/notebook/tests/notebook/safe_append_output.js
-${PYSITELIB}/notebook/tests/notebook/save.js
-${PYSITELIB}/notebook/tests/notebook/shutdown.js
 ${PYSITELIB}/notebook/tests/notebook/tags.js
 ${PYSITELIB}/notebook/tests/selenium/__init__.py
 ${PYSITELIB}/notebook/tests/selenium/__init__.pyc
@@ -1566,33 +1568,75 @@
 ${PYSITELIB}/notebook/tests/selenium/quick_selenium.py
 ${PYSITELIB}/notebook/tests/selenium/quick_selenium.pyc
 ${PYSITELIB}/notebook/tests/selenium/quick_selenium.pyo
+${PYSITELIB}/notebook/tests/selenium/test_buffering.py
+${PYSITELIB}/notebook/tests/selenium/test_buffering.pyc
+${PYSITELIB}/notebook/tests/selenium/test_buffering.pyo
+${PYSITELIB}/notebook/tests/selenium/test_clipboard_multiselect.py
+${PYSITELIB}/notebook/tests/selenium/test_clipboard_multiselect.pyc
+${PYSITELIB}/notebook/tests/selenium/test_clipboard_multiselect.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_dashboard_nav.py
 ${PYSITELIB}/notebook/tests/selenium/test_dashboard_nav.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_dashboard_nav.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_deletecell.py
 ${PYSITELIB}/notebook/tests/selenium/test_deletecell.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_deletecell.pyo
+${PYSITELIB}/notebook/tests/selenium/test_display_image.py
+${PYSITELIB}/notebook/tests/selenium/test_display_image.pyc
+${PYSITELIB}/notebook/tests/selenium/test_display_image.pyo
+${PYSITELIB}/notebook/tests/selenium/test_display_isolation.py
+${PYSITELIB}/notebook/tests/selenium/test_display_isolation.pyc
+${PYSITELIB}/notebook/tests/selenium/test_display_isolation.pyo
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_arrows.py
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_arrows.pyc
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_arrows.pyo
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_cellmode.py
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_cellmode.pyc
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_cellmode.pyo
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_clipboard.py
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_clipboard.pyc
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_clipboard.pyo
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_execute.py
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_execute.pyc
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_execute.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_dualmode_insertcell.py
 ${PYSITELIB}/notebook/tests/selenium/test_dualmode_insertcell.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_dualmode_insertcell.pyo
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_markdown.py
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_markdown.pyc
+${PYSITELIB}/notebook/tests/selenium/test_dualmode_markdown.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_find_and_replace.py
 ${PYSITELIB}/notebook/tests/selenium/test_find_and_replace.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_find_and_replace.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_markdown.py
 ${PYSITELIB}/notebook/tests/selenium/test_markdown.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_markdown.pyo
+${PYSITELIB}/notebook/tests/selenium/test_merge_cells.py
+${PYSITELIB}/notebook/tests/selenium/test_merge_cells.pyc
+${PYSITELIB}/notebook/tests/selenium/test_merge_cells.pyo
+${PYSITELIB}/notebook/tests/selenium/test_multiselect.py
+${PYSITELIB}/notebook/tests/selenium/test_multiselect.pyc
+${PYSITELIB}/notebook/tests/selenium/test_multiselect.pyo
+${PYSITELIB}/notebook/tests/selenium/test_multiselect_toggle.py
+${PYSITELIB}/notebook/tests/selenium/test_multiselect_toggle.pyc
+${PYSITELIB}/notebook/tests/selenium/test_multiselect_toggle.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_prompt_numbers.py
 ${PYSITELIB}/notebook/tests/selenium/test_prompt_numbers.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_prompt_numbers.pyo
+${PYSITELIB}/notebook/tests/selenium/test_save.py
+${PYSITELIB}/notebook/tests/selenium/test_save.pyc
+${PYSITELIB}/notebook/tests/selenium/test_save.pyo
 ${PYSITELIB}/notebook/tests/selenium/test_save_as_notebook.py
 ${PYSITELIB}/notebook/tests/selenium/test_save_as_notebook.pyc
 ${PYSITELIB}/notebook/tests/selenium/test_save_as_notebook.pyo
-${PYSITELIB}/notebook/tests/selenium/undelete.py
-${PYSITELIB}/notebook/tests/selenium/undelete.pyc
-${PYSITELIB}/notebook/tests/selenium/undelete.pyo
+${PYSITELIB}/notebook/tests/selenium/test_shutdown.py
+${PYSITELIB}/notebook/tests/selenium/test_shutdown.pyc
+${PYSITELIB}/notebook/tests/selenium/test_shutdown.pyo
+${PYSITELIB}/notebook/tests/selenium/test_undelete.py
+${PYSITELIB}/notebook/tests/selenium/test_undelete.pyc
+${PYSITELIB}/notebook/tests/selenium/test_undelete.pyo
 ${PYSITELIB}/notebook/tests/selenium/utils.py
-${PLIST.py3x}${PYSITELIB}/notebook/tests/selenium/utils.pyc
-${PLIST.py3x}${PYSITELIB}/notebook/tests/selenium/utils.pyo
+${PYSITELIB}/notebook/tests/selenium/utils.pyc
+${PYSITELIB}/notebook/tests/selenium/utils.pyo
 ${PYSITELIB}/notebook/tests/services/kernel.js
 ${PYSITELIB}/notebook/tests/services/serialize.js
 ${PYSITELIB}/notebook/tests/services/session.js
@@ -1602,6 +1646,9 @@
 ${PYSITELIB}/notebook/tests/test_files.py
 ${PYSITELIB}/notebook/tests/test_files.pyc
 ${PYSITELIB}/notebook/tests/test_files.pyo
+${PYSITELIB}/notebook/tests/test_gateway.py
+${PYSITELIB}/notebook/tests/test_gateway.pyc
+${PYSITELIB}/notebook/tests/test_gateway.pyo
 ${PYSITELIB}/notebook/tests/test_i18n.py
 ${PYSITELIB}/notebook/tests/test_i18n.pyc
 ${PYSITELIB}/notebook/tests/test_i18n.pyo
@@ -1636,6 +1683,9 @@
 ${PYSITELIB}/notebook/tree/tests/__init__.py
 ${PYSITELIB}/notebook/tree/tests/__init__.pyc
 ${PYSITELIB}/notebook/tree/tests/__init__.pyo
+${PYSITELIB}/notebook/tree/tests/handlers.py
+${PYSITELIB}/notebook/tree/tests/handlers.pyc
+${PYSITELIB}/notebook/tree/tests/handlers.pyo
 ${PYSITELIB}/notebook/tree/tests/test_tree_handler.py
 ${PYSITELIB}/notebook/tree/tests/test_tree_handler.pyc
 ${PYSITELIB}/notebook/tree/tests/test_tree_handler.pyo
diff -r c95929437df4 -r a722e60b9098 www/py-notebook/distinfo
--- a/www/py-notebook/distinfo  Thu Aug 22 08:21:11 2019 +0000
+++ b/www/py-notebook/distinfo  Thu Aug 22 08:23:27 2019 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.10 2019/04/25 13:19:48 adam Exp $
+$NetBSD: distinfo,v 1.11 2019/08/22 08:23:27 adam Exp $
 
-SHA1 (notebook-5.7.8.tar.gz) = 99a2236320a503b7b32b9bfc51cd5d3537d70637
-RMD160 (notebook-5.7.8.tar.gz) = 4e6a19afed2729b93308f7eadfe971e22d4afeb0
-SHA512 (notebook-5.7.8.tar.gz) = 1cccb23ce6810df85b3b600c0e2e5d6599be5551ea5243c7b1a9c73ed45c34dea8b16b0fbb3624aefb9eda848bce2fdcea1f3add8df3f00a90c13a9b01ea3f07
-Size (notebook-5.7.8.tar.gz) = 13371684 bytes
+SHA1 (notebook-6.0.1.tar.gz) = b9e62e669c28c318e0fec6c7ea4cb52de7e06232
+RMD160 (notebook-6.0.1.tar.gz) = 9c661bb817d2186e37bd27ca2acb8ec5c4699935
+SHA512 (notebook-6.0.1.tar.gz) = d159bd95148661ca1a1063eff8c51047a0024bc320dacf00d88cc01f90cb1e6e607ea4ae41ed6938f770b294e9bcae0b24387d48c5c005822443979f88378aa9
+Size (notebook-6.0.1.tar.gz) = 13419800 bytes



Home | Main Index | Thread Index | Old Index