Lightweight in-process concurrent programming
Project description
Greenlets are lightweight coroutines for in-process concurrent programming.
The “greenlet” package is a spin-off of Stackless, a version of CPython that supports micro-threads called “tasklets”. Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on “channels”.
A “greenlet”, on the other hand, is a still more primitive notion of micro-thread with no implicit scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. You can build custom scheduled micro-threads on top of greenlet; however, it seems that greenlets are useful on their own as a way to make advanced control flow structures. For example, we can recreate generators; the difference with Python’s own generators is that our generators can call nested functions and the nested functions can yield values too. (Additionally, you don’t need a “yield” keyword. See the example in test_generator.py).
Greenlets are provided as a C extension module for the regular unmodified interpreter.
Who is using Greenlet?
There are several libraries that use Greenlet as a more flexible alternative to Python’s built in coroutine support:
Getting Greenlet
The easiest way to get Greenlet is to install it with pip:
pip install greenlet
Source code archives and binary distributions are vailable on the python package index at https://pypi-hypernode.com/project/greenlet
The source code repository is hosted on github: https://github.com/python-greenlet/greenlet
Documentation is available on readthedocs.org: https://greenlet.readthedocs.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for greenlet-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c557c809eeee215b87e8a7cbfb2d783fb5598a78342c29ade561440abae7d22 |
|
MD5 | 6be00ebcf439bdf9d69c8c9206141b86 |
|
BLAKE2b-256 | a3b99cfd5551a173ffcdd583162911a7ffc84187f13963123b44130673999fc8 |
Hashes for greenlet-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc407b68e0a874e7ece60f6639df46309376882152345508be94da608cc0b831 |
|
MD5 | 52a69da65d7cd17f89878878914441d3 |
|
BLAKE2b-256 | 2a1226a7444dade32ca926fc5f79ce991de4ca847b428ea75fd2471441769a6f |
Hashes for greenlet-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d928e2e3c3906e0a29b43dc26d9b3d6e36921eee276786c4e7ad9ff5665c78a |
|
MD5 | 2dee29b4c0ed2160544cd4aabbf21ae1 |
|
BLAKE2b-256 | 04dd517dfe48fbfabedd0b99c44949c8331cb165a5be4571832c157f5f171c72 |
Hashes for greenlet-1.1.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 258f9612aba0d06785143ee1cbf2d7361801c95489c0bd10c69d163ec5254a16 |
|
MD5 | 0033203e8d9fc308aaee61df2bf0da1e |
|
BLAKE2b-256 | c19e6cb9a71eabcc8ae050be35adb0d2d90a28333961d9d7ae3ed0f5a2c384ff |
Hashes for greenlet-1.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa4230234d02e6f32f189fd40b59d5a968fe77e80f59c9c933384fe8ba535535 |
|
MD5 | 5781af61ad53d4a8b9d764dbcdd3be94 |
|
BLAKE2b-256 | 5dfe208e96d2b1bc106c65b94817959f6efd6a41d27ddc6f6f61d7015e5e76c8 |
Hashes for greenlet-1.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adb94a28225005890d4cf73648b5131e885c7b4b17bc762779f061844aabcc11 |
|
MD5 | 597954c57be75e02e89be039a8342dea |
|
BLAKE2b-256 | c98d8eebb8de49d4cfd3f64281b61004ab08dc400f9b5f7ccbe9e83fe25819e9 |
Hashes for greenlet-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d7ac89e6094a0a8f8dc46aa61898e9e1aec79b0f8b47b2400dd51a44dbc832 |
|
MD5 | aa53e4806f688ae63b6dfd0c888183a1 |
|
BLAKE2b-256 | 844f46100bccaf7ed2d75d99a6f47e9b701983629a5d9e2e28e7ed63984beca0 |
Hashes for greenlet-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f92731609d6625e1cc26ff5757db4d32b6b810d2a3363b0ff94ff573e5901f6f |
|
MD5 | df0eed51a9b9ab1f38cc96ea1a3a4b2f |
|
BLAKE2b-256 | 8485bd579482b2a3bb0b1249f87f6ef808f34196e261d7f2a57316204659d275 |
Hashes for greenlet-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70bd1bb271e9429e2793902dfd194b653221904a07cbf207c3139e2672d17959 |
|
MD5 | a048375b06027c58366da3ccbed65662 |
|
BLAKE2b-256 | 075919d7eef15b9977f3d244d64947c45a8e57c193ad793843b4813437696166 |
Hashes for greenlet-1.1.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7db68f15486d412b8e2cfcd584bf3b3a000911d25779d081cbbae76d71bd1a7e |
|
MD5 | c8ddc7fcacaa438fc07036edb5196e7f |
|
BLAKE2b-256 | 1407e4aef4004224de57682383e8978c7fef427d80decb10a0cfa4410be70d5b |
Hashes for greenlet-1.1.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03f28a5ea20201e70ab70518d151116ce939b412961c33827519ce620957d44c |
|
MD5 | 73cd736cf8adedd98364e17ca5b38fff |
|
BLAKE2b-256 | a45f68d838b39414f71920b5fc02e2fb16626d35d7cee46442b12e117573b4be |
Hashes for greenlet-1.1.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096cb0217d1505826ba3d723e8981096f2622cde1eb91af9ed89a17c10aa1f3e |
|
MD5 | 9bc8ed51454ca7b39e288a21734c59bd |
|
BLAKE2b-256 | fa376e0c27052a3ecb094241c0b6e1fd0844b2167a9bc790a3ab4ef8ad69fd91 |
Hashes for greenlet-1.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 206295d270f702bc27dbdbd7651e8ebe42d319139e0d90217b2074309a200da8 |
|
MD5 | e096994f2b78c46b5341d177cde141b3 |
|
BLAKE2b-256 | 767502949455e365fe0f47958e956aa688d185178e7280d73695e5c831cbbe0d |
Hashes for greenlet-1.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22002259e5b7828b05600a762579fa2f8b33373ad95a0ee57b4d6109d0e589ad |
|
MD5 | b72d268b64d6d78d65e74de179ba9500 |
|
BLAKE2b-256 | 5942869a4b66d9027ec89a27f4f66bdc09174015393a9c49f9a7bcfa41dbef92 |
Hashes for greenlet-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be13a18cec649ebaab835dff269e914679ef329204704869f2f167b2c163a9da |
|
MD5 | 8dbe20b5b0f815f10abf4a5de5561797 |
|
BLAKE2b-256 | 95bccbc4b06f7114e59eb390273a265b1a5c35c8edcf9a438d0676e3db6ad725 |
Hashes for greenlet-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 408071b64e52192869129a205e5b463abda36eff0cebb19d6e63369440e4dc99 |
|
MD5 | 0f66239bbb8d3596d436d7c277bc2870 |
|
BLAKE2b-256 | fbbcb599fb2b7b828bf52813f5c6fba7986d080021a2aba488ccbf92bc3c193a |
Hashes for greenlet-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7920e3eccd26b7f4c661b746002f5ec5f0928076bd738d38d894bb359ce51927 |
|
MD5 | 4410bd76aee9cd2ab903b699c02ffb0c |
|
BLAKE2b-256 | d070f6a33afbcd38190e517844ae76e5fec4efb105523d958bcf7365ba3ac0a9 |
Hashes for greenlet-1.1.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9017ff5fc2522e45562882ff481128631bf35da444775bc2776ac5c61d8bcae |
|
MD5 | 7852c22abe3a8256de5e1b5989a2f665 |
|
BLAKE2b-256 | 0ce53bdba374b66ddf3c07cc52bf94f250b10e5300c6b34a1f2ac45a6c251414 |
Hashes for greenlet-1.1.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad80bb338cf9f8129c049837a42a43451fc7c8b57ad56f8e6d32e7697b115505 |
|
MD5 | 847e3b33c7953a4d146b6a2ecd36b330 |
|
BLAKE2b-256 | aea00449308efd3c170231e5ee1f16a9e032920c7a0706eaa1e45d1ea8e1ea9e |
Hashes for greenlet-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1580087ab493c6b43e66f2bdd165d9e3c1e86ef83f6c2c44a29f2869d2c5bd5 |
|
MD5 | c43560afcf8a910c4666697cfce5386b |
|
BLAKE2b-256 | fd963e37d93929e10ed904f108155a8a4f874e4c96465d6f5f7625260ac7e2e1 |
Hashes for greenlet-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8833e27949ea32d27f7e96930fa29404dd4f2feb13cce483daf52e8842ec246a |
|
MD5 | 128aefa4bbf1380aa3bf2f7edde467f0 |
|
BLAKE2b-256 | 613a6f3435fe240e11a009eda09264e81a93c5bb1a5bff126fccde021e31166b |
Hashes for greenlet-1.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0de64d419b1cb1bfd4ea544bedea4b535ef3ae1e150b0f2609da14bbf48a4a5f |
|
MD5 | 4cca5e1f4e2808978a28f16f16f84722 |
|
BLAKE2b-256 | 5b7c83f42a52996132b2dde511396ec4bac7c4e4146e4ce303c7b4e35bf9296f |
Hashes for greenlet-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c70c7dd733a4c56838d1f1781e769081a25fade879510c5b5f0df76956abfa05 |
|
MD5 | 9e78da8f0d23ed1e831f0c457ff9865c |
|
BLAKE2b-256 | 9b0af4d770a65abc28affe6796787534da3f6ce34202caa0af93494bfd2d2501 |
Hashes for greenlet-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bdcff4b9051fb1aa4bba4fceff6a5f770c6be436408efd99b76fc827f2a9319 |
|
MD5 | 2952dc502b3ba3784e7092147e403a09 |
|
BLAKE2b-256 | 83ceb95ac11c8dfd446e6ad0e18064afc37c92448f72f5df11086ad146670305 |
Hashes for greenlet-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14927b15c953f8f2d2a8dffa224aa78d7759ef95284d4c39e1745cf36e8cdd2c |
|
MD5 | abcc0f30ccc439ac6aa81e61ca65b706 |
|
BLAKE2b-256 | dfd10fa245da9430087b671f81a4ce70fc93178fbb6a7fb8effcd42191ffbc21 |
Hashes for greenlet-1.1.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b1d08f2e7f2048d77343279c4d4faa7aef168b3e36039cba1917fffb781a8ed |
|
MD5 | 571529724a88558c7b45869706bf0f92 |
|
BLAKE2b-256 | bbeac838bae79013f1106092f8cc6b28a60f86fdd7ade899c636f12ff736cdd7 |
Hashes for greenlet-1.1.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16183fa53bc1a037c38d75fdc59d6208181fa28024a12a7f64bb0884434c91ea |
|
MD5 | 0ef4aa0362495b0ac6b2201ae963b490 |
|
BLAKE2b-256 | eed339767bcd86bad5b64dfe3e19a7ce07ecaa33a47cd434a222221db56adba6 |
Hashes for greenlet-1.1.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b97c9a144bbeec7039cca44df117efcbeed7209543f5695201cacf05ba3b5857 |
|
MD5 | 7cc8aa6f66f80d7fed02ea2276912e08 |
|
BLAKE2b-256 | b0421d66b5b61a6510f3510135d1c3b9ab0b000334c3a8a50ddcba788885dece |
Hashes for greenlet-1.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c35872b2916ab5a240d52a94314c963476c989814ba9b519bc842e5b61b464bb |
|
MD5 | f95ffb3d5827cb195e839e3a21ca775b |
|
BLAKE2b-256 | f7ef84b46f0d598fcf8015b9a31a71817424ac36bcadd61f0b81f5aaa23e13dc |
Hashes for greenlet-1.1.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3096286a6072553b5dbd5efbefc22297e9d06a05ac14ba017233fedaed7584a8 |
|
MD5 | 8b960c705f4a36e37577c10a9ac50200 |
|
BLAKE2b-256 | 5d1a60039978c939ec9af7bebf916b8fc912209482bf7dcc2bb2c8bfbbdd5ead |
Hashes for greenlet-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca1c4a569232c063615f9e70ff9a1e2fee8c66a6fb5caf0f5e8b21a396deec3e |
|
MD5 | 8ea304bf62b462c90922752e45ce4b1e |
|
BLAKE2b-256 | 548fab5a5487a4b1e52638bc34c3e233796149830c3e817664b669712e6cfa2d |
Hashes for greenlet-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a6b035aa2c5fcf3dbbf0e3a8a5bc75286fc2d4e6f9cfa738788b433ec894919 |
|
MD5 | 923ddf74874a39680e49cff4ed847248 |
|
BLAKE2b-256 | f415c757f39fbd788a44a20832663796733f2682cf66e5acc66edacd3245ab2a |
Hashes for greenlet-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfe7eac0d253915116ed0cd160a15a88981a1d194c1ef151e862a5c7d2f853d3 |
|
MD5 | ee8ccbe9b52b7612bb9503b7b848acf5 |
|
BLAKE2b-256 | 222613d255e3de65154f698da5917e6402a331e32afcccaed017013a34d9babb |
Hashes for greenlet-1.1.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be9768e56f92d1d7cd94185bab5856f3c5589a50d221c166cc2ad5eb134bd1dc |
|
MD5 | 65d0af9992fed0507640f2ddb8a7cc79 |
|
BLAKE2b-256 | 3a69ab29ca1811986826aa28d0d544a459fbda474e1265c9338d9186d46f7373 |
Hashes for greenlet-1.1.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 598bcfd841e0b1d88e32e6a5ea48348a2c726461b05ff057c1b8692be9443c6e |
|
MD5 | a1eba35ebcbee5efdc6a5b5e511f0120 |
|
BLAKE2b-256 | 411e2f070528abefc41bf11b9b4f6ec44924f3f623951813c513e8155d97f5aa |
Hashes for greenlet-1.1.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2325123ff3a8ecc10ca76f062445efef13b6cf5a23389e2df3c02a4a527b89bc |
|
MD5 | 40f9a439abb4c73e0d09715cbab17a09 |
|
BLAKE2b-256 | b68dc45d01379c2daed81cb927984da2e3edc52dd9ff0068267d97e08180337f |
Hashes for greenlet-1.1.0-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c767458511a59f6f597bfb0032a1c82a52c29ae228c2c0a6865cfeaeaac4c5f5 |
|
MD5 | fe6e2df25e2c875dd0f77f1793480385 |
|
BLAKE2b-256 | 80dbc39aa9a2f728c5e14a67c3fcdced0fb0cb3a1b8e125da056723f3886288c |
Hashes for greenlet-1.1.0-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 944fbdd540712d5377a8795c840a97ff71e7f3221d3fddc98769a15a87b36131 |
|
MD5 | 395f869f89b69c2b0e6d626777de4763 |
|
BLAKE2b-256 | e85563fd89058d8e61c0c9c0eaab263bb0f85dc5552615be1ce9c44e2f02a474 |
Hashes for greenlet-1.1.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ecb43b04480e6bafc45cb1b4b67c785e183ce12c079473359e04a709333b08 |
|
MD5 | 37e2fa4757a197ea1ec6532e1a8b2ff3 |
|
BLAKE2b-256 | 347928a633176b67725e182350395dd70286f1c1484355b6ace17af85cf529c8 |
Hashes for greenlet-1.1.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3090631fecdf7e983d183d0fad7ea72cfb12fa9212461a9b708ff7907ffff47 |
|
MD5 | 02b772c15c30060fb47ea78eaae9a23f |
|
BLAKE2b-256 | 8b4786c91afc4864e84b1765b105c60e92d36efd2a848d9df32c23bbdcca6e4b |
Hashes for greenlet-1.1.0-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d13da093d44dee7535b91049e44dd2b5540c2a0e15df168404d3dd2626e0ec5 |
|
MD5 | 4786b37ce154e4a45512f13c69bfd502 |
|
BLAKE2b-256 | 73a55b7fa4ff87e61e6c27086561d780e44fb7cc6be81e6610d115d4d98a0349 |
Hashes for greenlet-1.1.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f75e7f237428755d00e7460239a2482fa7e3970db56c8935bd60da3f0733e56 |
|
MD5 | 46e8e91299df10ec971b92bfc312966d |
|
BLAKE2b-256 | 0fff7fc70efc282d32685745f1a6a35624cd9e53ee4ce035610727074504565f |
Hashes for greenlet-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da862b8f7de577bc421323714f63276acb2f759ab8c5e33335509f0b89e06b8f |
|
MD5 | 13c2d0070ff4637ec3ce720a386bc9cf |
|
BLAKE2b-256 | 2a1c9c7273e7ac5d3305e7fecef5ff6348a45bdcb8e2b6593d5dd390c7809aec |
Hashes for greenlet-1.1.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed1377feed808c9c1139bdb6a61bcbf030c236dd288d6fca71ac26906ab03ba6 |
|
MD5 | 8d72fe4c7652a3922762d52a196ce743 |
|
BLAKE2b-256 | 944013103971d963ff7218587c7db100e67e9207e39f16550136096961460ec2 |
Hashes for greenlet-1.1.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b33b51ab057f8a20b497ffafdb1e79256db0c03ef4f5e3d52e7497200e11f821 |
|
MD5 | 14567401c6c488b03907173806b6e16f |
|
BLAKE2b-256 | ce3a755e0ac705415e2534898890a8c5d5c0e993322b847d383676ef06a27a71 |
Hashes for greenlet-1.1.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76ed710b4e953fc31c663b079d317c18f40235ba2e3d55f70ff80794f7b57922 |
|
MD5 | 43489160e347e5384483924a834cb699 |
|
BLAKE2b-256 | 0d2b856819a06fe3d2cba3c1b608ef6335beff3eb486dfdbc0a968a4e48fc043 |
Hashes for greenlet-1.1.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f42ad188466d946f1b3afc0a9e1a266ac8926461ee0786c06baac6bd71f8a6f3 |
|
MD5 | ae79658f1033cf3536b359144ee57d2c |
|
BLAKE2b-256 | b1e5f272d3facfb35379334a71e495fcea0c9844b86d48f8ed8d5fb2995c25ec |
Hashes for greenlet-1.1.0-cp27-cp27m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60848099b76467ef09b62b0f4512e7e6f0a2c977357a036de602b653667f5f4c |
|
MD5 | e6deb1b1cce801e3f17b043ac6d57af7 |
|
BLAKE2b-256 | 44f650ae97a7294ce19d64496fe1d0bfec263db78753c6bd1558a54f338778de |