bcj filter library
Project description
In data compression, BCJ, short for Branch-Call-Jump, refers to a technique that improves the compression of machine code of executable binaries by replacing relative branch addresses with absolute ones. This allows a LZMA compressor to identify duplicate targets and archive higher compression rate.
BCJ is used in 7-zip compression utility as default filter for executable binaries.
pybcj is a python bindings with BCJ implementation by C language. The C codes are derived from p7zip, portable 7-zip implementation. pybcj support Intel/Amd x86/x86_64, Arm/Arm64, ArmThumb, Sparc, PPC, and IA64.
Development status
A development status is considered as Alpha state.
Installation
As usual, you can install pybcj using python standard pip command.
pip install pybcj
Alternatively, one can also use conda:
conda install -c conda-forge pybcj
WARNING
When use it on MSYS2/Mingw64 environment, please set environment variable SETUPTOOLS_USE_DISTUTILS=stdlib to install.
License
Copyright (C) 2020,2021 Hiroshi Miura
7-Zip Copyright (C) 1999-2010 Igor Pavlov
LZMA SDK Copyright (C) 1999-2010 Igor Pavlov
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
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 pybcj-0.5.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e91b87ab73ce2b78fb159cc60a0eccfced18976e06b1d50e084b98708a2a39c1 |
|
MD5 | 3dfb1474c3a18f969c5d983b83e53c6c |
|
BLAKE2b-256 | 878bccd0ecdcc27cfb40f67d20381cbed3726522635d9369f808e4df9db74077 |
Hashes for pybcj-0.5.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09b098a5fc5e38d5ac4813d4150ff82720a608a200d8faf6aca5fd31d635e3cb |
|
MD5 | e30404bea0705e2d248b2d2097d66cae |
|
BLAKE2b-256 | 57ce84e0683b0bf5fe4d5cc91c497c157ba446e3880b51d87fd8c92f97777598 |
Hashes for pybcj-0.5.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac4063cf9f7c236f2028567d6203c0985b2a5f940c873c8582549c78dcfe99ad |
|
MD5 | 8178a37c0a96d3587d2e57bd414ef3dc |
|
BLAKE2b-256 | cecc889d962ec21b64e551b59036ce67ec48e01122bb46e0108d3747904e1fc7 |
Hashes for pybcj-0.5.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4efef959a291c6cd02738c1f47f396f8e02c3deff5bc073fd2fa18630ff2d9a |
|
MD5 | 4b810e81e5171511e19045b2bb8759fd |
|
BLAKE2b-256 | 3e3d2c1b2b68be0b525f12439ca5f18c31348cf21c755950ff40b0c8e8380054 |
Hashes for pybcj-0.5.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f89e713ef5805ca1a9c1bc49edd0150cc3d1c830346290b918e7f90f919ba3c |
|
MD5 | fec79ec31aac65b85d21e26b3ac21252 |
|
BLAKE2b-256 | e435f594a81e9e41e4b30d2f518ff28db99f4a206ae6cbf75ca9ac10c0a18e0e |
Hashes for pybcj-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cef56697772815e99f97018ed9cf13a43c5fce228ba877dd9791f40f4f241804 |
|
MD5 | 04ac06464984e5bb63092aec4c2adbcc |
|
BLAKE2b-256 | 37aac5fe13674723e1c92d21fc0b5f9d742d3de32909b3fa2a2494e9caa34ba3 |
Hashes for pybcj-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97f2b4c243ea89a33bfb7db8fde5eab66485926400065b306b7dcffe5f76bb1e |
|
MD5 | 4a922926197eb0427346f1bd3b16553e |
|
BLAKE2b-256 | 86b2f0c6fde77110ed51686712088346f083f6197d901cb8b332cb2d114ca27c |
Hashes for pybcj-0.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a7c75c489bbf9050d88b3ba53470770f8bc8451410b2cb335ef3f5bd22fff5a |
|
MD5 | 256d7a2d8e4a1ee629f606c16e023330 |
|
BLAKE2b-256 | 951a06010a3cf470430857bd11599c375eca005be0fd2eae42c84273274988b2 |
Hashes for pybcj-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2793af477c8964c674553ec829de388ed148db3f59165c0651075193103b73c |
|
MD5 | e81ea1ba2ab189600053b118f8dc0d1e |
|
BLAKE2b-256 | bdabd63caf43876900af24b8a138e2b6fede8d34e8aa835333baa60cea6e0617 |
Hashes for pybcj-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cbd923aa605aac735cb09e3732184cd49dad82ef9f9a902150907735130c923 |
|
MD5 | 7ccebeb69ad188377c29524ef4600bd7 |
|
BLAKE2b-256 | 83078aba4b11e766584affcaa5fb178d7a926236c5cae8ed1e3b9b8d36625c8a |
Hashes for pybcj-0.5.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d1a5fce6d1afe6150e6a21504c05d1e0fec413d51ad10bf30369c8381c4b79c |
|
MD5 | 9e6f7aa1a2df8606ba8deea45402dbb3 |
|
BLAKE2b-256 | 90d3775b7fa4aa2e83d46364c6ab7009a9cdeaf8246ac76650178b31212b73d2 |
Hashes for pybcj-0.5.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f5f55432bdc807145513a836db38aeba19a632ef6b3b5e18349f528611acd4 |
|
MD5 | b2dd540b4a8f12de46678b1c70369de5 |
|
BLAKE2b-256 | b51a293ccb1f7ef1ae59501a2a7187e447d4d449af71583504cedeafa13275a4 |
Hashes for pybcj-0.5.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6e76f7ce144b787f4dad84bb168fbca0d4ff6a079cc9bdb76e7418e58d011e7 |
|
MD5 | 747b5aba9f4f6822f09fece38cb4047c |
|
BLAKE2b-256 | 7d1ba4dd1b6d29c535457d30ac63cdd42a23bc92d2a601b7834e6b7837c832e1 |
Hashes for pybcj-0.5.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6eb63ce9d5ba10173718c9d8c9ccb29f2307c1c424e0cfe6bed49cb67579231 |
|
MD5 | 2def7105f25ff1e9fde8d215f444bdc6 |
|
BLAKE2b-256 | 3b2e811016a989df21f735ba583d34668fa93f87cb4477433b9a99f091945874 |
Hashes for pybcj-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f8943d11782ab2d196dbc0a9a5471defee65c1876d400d30b356161e618c37e |
|
MD5 | c878f36b78f4c524ce66cbd86940624a |
|
BLAKE2b-256 | 2a1a90037dec64f58a1653abe79e2575094f0b366b8da7cf41455019cf23936c |
Hashes for pybcj-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e87db05aaf7d0eaf9dea3347b2d042959b525c223d6043550781081ff5789df9 |
|
MD5 | 2b32b800336ff9dd7c6d27a2295ab3ed |
|
BLAKE2b-256 | 6e7d085c85ac3404399c9bc6b7509534cce38b0054d0fc26f3011a974b29558c |
Hashes for pybcj-0.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f01c8468cf4a097e3bf88e37d7552afbe4294456a2bb7eee817b5b4b2fd433 |
|
MD5 | 4327c1dba6ec8e03b19e5d296331ff9a |
|
BLAKE2b-256 | dcc931fec851e5030d6bdb59ea91d89243ef664111bcb05878b2592cc823a6cb |
Hashes for pybcj-0.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eff8f9a2a6d6dff38a5cc2634daf5370997b6e1da4ae601d95132b964bbea3ca |
|
MD5 | fc58725b3d7f7f351cdce38ddeba0315 |
|
BLAKE2b-256 | 78153ab71a7deb79e13b8720cb43099c982cadb0ac47cb9507f34d8c16827b52 |
Hashes for pybcj-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e19c0aeb38baa9ba32037d2612e98b894c23a3b719281eeb23a1a48241fae073 |
|
MD5 | c094d8bc3c7fc13f3a2fba339b6eee59 |
|
BLAKE2b-256 | 07874041712e939e1aa58da56f164ebfff6e93c47f59ced4e06c64586d44d181 |
Hashes for pybcj-0.5.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19e60bac8daf0d6657a51f8f3292babc9d7a5f54db6b899f89c181ac254e8bb8 |
|
MD5 | 901ad55f992f42a4fc73eaed7ef9a5af |
|
BLAKE2b-256 | 305975e7c9acd5d0989bd2b18819ae78d8133ae10cd6e1d619612acd4471e7d0 |
Hashes for pybcj-0.5.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cf249a2f73f84255e4c7a692ff0293cb83b58adafa40266f6523e5fdfe7734b |
|
MD5 | 83bd599cd5a20923060400cb9019b5a8 |
|
BLAKE2b-256 | c3eba76c1501cf58a4397e30148b8703d3d4a192dbe187f515430649f32e5873 |
Hashes for pybcj-0.5.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1bc9a6685b88750857ff748a0819b8c04728cc792e1a9d3de9652a87ef026b7 |
|
MD5 | 1390e4c7c2e02481215aee026f52ee5c |
|
BLAKE2b-256 | 56fef355d62fdc164bbf9d6fbf2856bdca8686a3290473007d897437b4fc5677 |
Hashes for pybcj-0.5.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ddf01cf8b176889d546027fe2ed5680d04303b0574cddfaee0eefce263e4ef |
|
MD5 | 228dd5639bed260ce2b942b520502935 |
|
BLAKE2b-256 | e0d435aa86ea34be00fc3a364823133bf6c81fae3a91543e857bc04ca4e6276a |
Hashes for pybcj-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4e187714d9912c151f7e2ad3133424621177fd1c85c31d13e023f7fd0dacdf7 |
|
MD5 | abf724d33dc5abb59fa0be133febb77e |
|
BLAKE2b-256 | fb1c0b207b0d84c13abf1a7aaf4f09e2d56815f3099d690a2cf5ccdf65afa001 |
Hashes for pybcj-0.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5339ae16f7e69f344967ef072b3ccf629fd5d18ca0318f74b977ed3618b18767 |
|
MD5 | 74677376bf1a507c956ff179ea3d4563 |
|
BLAKE2b-256 | f7032cf976b86ce1265b940f6a7ecb50970e87dc7a8abb14a18bb678c9507af2 |
Hashes for pybcj-0.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cae1a5170eb3829d8a5fcf8875925f02f6ca396a5b6d62f32376504f870c5f50 |
|
MD5 | b8d6ce2027c9f270eca55c5e5fe841b8 |
|
BLAKE2b-256 | d46293aa546ca8ec5950e7cfd1bdce077aa1af9683b069537b21ca431af43c6f |
Hashes for pybcj-0.5.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 947be0eaa81028e505e12051aacca67b288d5645158ebdbe526f67e052857a8f |
|
MD5 | 60fffcc4053cfeb2fb34c7e30abd031d |
|
BLAKE2b-256 | 166f81239f244b7eff8a0eafeb282c1b72c46ad3e9d18593cdaf917ea8e8d2db |
Hashes for pybcj-0.5.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 383a9aed11860e1faee6915b8b1caba1dd0d160b67e02811e5d121f3390f01f7 |
|
MD5 | 051af6e68d56528058bcc5d65d489e83 |
|
BLAKE2b-256 | 09c713e1c67d0cfa45c637c94b42e6c8c9100e33d4142dd13cf51389b5d4d47f |
Hashes for pybcj-0.5.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6394e58405eb59388211ef160db259b11033d12c3fb30f59dd1be6f8a50a4e |
|
MD5 | 92e3f8ef30d48093d76c6f83a8ca11d8 |
|
BLAKE2b-256 | ef02dc77723ac68afdd7016ed7c7711f21845e928cd8d103bf2597438e4be033 |
Hashes for pybcj-0.5.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882b6135277afae4408dfd8a7e4810dc4c8dba31848585ca55b06a47e94b34e5 |
|
MD5 | 58ce6419a72afd675182b0e2c7640fa5 |
|
BLAKE2b-256 | 4663ff6484dc7adeec6dbedc5b6b951b9c47b3213a0e7d9b2393c665ccb1d419 |
Hashes for pybcj-0.5.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a26aec18eb7215a5e992b71969cf4f072a4fec9faafec974e78c196329ac2a |
|
MD5 | 7b91225fdfb8d185805fdf4083551171 |
|
BLAKE2b-256 | 60f61cf15f79d2b1145ecf197b063fa5b8d02d60da8739776e8990e103ac9498 |
Hashes for pybcj-0.5.1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbd679110b155d7366f2df918eb4752a86e7946c78d37a37a73d1b021acc6123 |
|
MD5 | 3c5c94feb8cb55159280e8b7fd34c44a |
|
BLAKE2b-256 | 8d1c298888b0f90ac6730287da31f8869548c51f6370cb1c924e601672edd9bd |
Hashes for pybcj-0.5.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97e475c2809515833fd85e99134f631a141700b17b927db39f318212891db2da |
|
MD5 | afcd10c3c16456d45f77044c8b3d50fc |
|
BLAKE2b-256 | a631be66e3908cde6d8583b59e938c8ec9261767865ce3522811aed241c917b3 |
Hashes for pybcj-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f811365e7c48b6215b2698293db00d63398554eb3d0b9f78e0c790a6d1371ad7 |
|
MD5 | 3d3b40f5b2700b8d28f8838c698f88f8 |
|
BLAKE2b-256 | 3ed7cd7c6315ec0ff9b0e741d98113ffe79e4a3abe1a121294bbda06de06d64d |
Hashes for pybcj-0.5.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bca4c64381dbe54139f993c20acbc6790f82a7b083240e77bd2d2dc4650b052 |
|
MD5 | 5393902d78627237fdf27ee142ccae12 |
|
BLAKE2b-256 | 7d1aab6a8bf68f006814b929cd27ef05a2a1ab90a8f7b8c31141514c42d220a5 |
Hashes for pybcj-0.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eb4023c9fcecaac275b75975daa883b2ae0a155cb4a6d0e6ae3d7a42f523bc0 |
|
MD5 | 4de601c1fc1b3bc517f40c2da91cf4be |
|
BLAKE2b-256 | 2579a36241f4af842613ef3d0d99b7190f6887ccc06f4433488c25bbebba00bb |
Hashes for pybcj-0.5.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8ff29eab07fe1e58ce7886ff05589c1d80b93fbb68a449200055cffceafc197 |
|
MD5 | f15ee4dbb1070a4aa21231e812e05f6a |
|
BLAKE2b-256 | 1884c6890c1faf2afc73800513e53391f0ba1d33303809fc3582f2fff03c5c1b |
Hashes for pybcj-0.5.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa367fb031075364575f5b77f8f3d00a8df4a4faa36597d07c443beece73f585 |
|
MD5 | 4e22e507f41888010e413b6d2140f4d4 |
|
BLAKE2b-256 | d08d88cdafb18a636b3a147edb6cbf0bb404cf6d181d53d442587684dba61c8c |
Hashes for pybcj-0.5.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef5e7350ecd2427f5eff391ffb6499cca0070e3850e4e46ebf18cc970cbb4696 |
|
MD5 | 4159a2149a566cc81fd6d3e4c29a36e7 |
|
BLAKE2b-256 | f83624994671c6da8ae33a58b6bd5ba80a7052da2c93055bd156f07dd7d36339 |
Hashes for pybcj-0.5.1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38fce11b4a8742542c65883dba405637baa680348934cf186e87765a5100bf7e |
|
MD5 | e196c3bec598e86a0f3a41040777ae6b |
|
BLAKE2b-256 | 77189a6bf7510dfc481bc8f110f288b6d56658a1a72dcbda4838b9cb2d5994b3 |
Hashes for pybcj-0.5.1-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb57faff89fa08d0d4d8bd68b7eb1aea57b5ed3a074202e2d3909f388348202f |
|
MD5 | a09db0e62887b57f203f61b55f655f1b |
|
BLAKE2b-256 | 772bf0c5392291bab33e5ec37c24f9554bac5b4a1c4e7a178488c9483a7d85f5 |
Hashes for pybcj-0.5.1-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5084e9a3c063fecbd287ddba39e423c39eba3ed3d67d89502ff855c262c60a7 |
|
MD5 | d19839e66d4efa80905c4188f3186a07 |
|
BLAKE2b-256 | 83fd0bda2eb92ec26bbb4b8850351f5be0ade8bd289a3494743b8e4bd7791acc |
Hashes for pybcj-0.5.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b71d70e5dcceb2b998afd4764ca59e3bb1102e7cb311f0f8bc26e771e3136a29 |
|
MD5 | 5df8fa9e60aebf780ec01af3ca4d4428 |
|
BLAKE2b-256 | 68bc186985d50741e8a0416c493749e28ddc6c63663dca300fb884578c2ffc7f |
Hashes for pybcj-0.5.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06b4c656000d75481d4c481f958a33590455f03faed6a73c602eb20037be7df4 |
|
MD5 | 4fbc5964720b1dc03fcdad7d925b32cd |
|
BLAKE2b-256 | bedea030fd0479662a7d34e977a10fd300fc2d2f49a070487398467247c05e0e |
Hashes for pybcj-0.5.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 665028b9c091c3af5517baea86d530c8fa118e5b76d90f2072e99ffb2861b038 |
|
MD5 | f048d670c9d7cb79daddd61c19176c91 |
|
BLAKE2b-256 | c1822996300ee0fb627e69dfde609b3c8896c5381d5407a96e6f0d109b96a691 |
Hashes for pybcj-0.5.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f36b878901e9e8ff48c15f9b44b61ab69d1d5f9a6ab28170227f272e72dee31 |
|
MD5 | 5d2e38b1149902b5207b89fc0a4872a3 |
|
BLAKE2b-256 | e43d000a436e9498279f5b801d0b7e2062e0981357bd9baf936c044db25b8dc1 |