react-native-update 8.5.4 → 8.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (746) hide show
  1. package/harmony/src/main/cpp/HDiffPatch/CHANGELOG.md +153 -0
  2. package/harmony/src/main/cpp/HDiffPatch/LICENSE +48 -0
  3. package/harmony/src/main/cpp/HDiffPatch/Makefile +157 -0
  4. package/harmony/src/main/cpp/HDiffPatch/README.md +307 -0
  5. package/harmony/src/main/cpp/HDiffPatch/_atosize.h +83 -0
  6. package/harmony/src/main/cpp/HDiffPatch/_clock_for_demo.h +47 -0
  7. package/harmony/src/main/cpp/HDiffPatch/_dir_ignore.h +191 -0
  8. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +37 -0
  9. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +7 -0
  10. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  11. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  12. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +18 -0
  13. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +20 -0
  14. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +28 -0
  15. package/harmony/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +8 -0
  16. package/harmony/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
  17. package/harmony/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffZ.cbp +219 -0
  18. package/harmony/src/main/cpp/HDiffPatch/builds/codeblocks/HPatchZ.cbp +156 -0
  19. package/harmony/src/main/cpp/HDiffPatch/builds/codeblocks/unitTest.cbp +65 -0
  20. package/harmony/src/main/cpp/HDiffPatch/builds/vc/HDiffPatch.sln +105 -0
  21. package/harmony/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj +237 -0
  22. package/harmony/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +3 -0
  23. package/harmony/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj +318 -0
  24. package/harmony/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +3 -0
  25. package/harmony/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj +182 -0
  26. package/harmony/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj.user +3 -0
  27. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +30 -0
  28. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  29. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +408 -0
  30. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +573 -0
  31. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +396 -0
  32. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  33. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +361 -0
  34. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  35. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +411 -0
  36. package/harmony/src/main/cpp/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +504 -0
  37. package/harmony/src/main/cpp/HDiffPatch/checksum_plugin_demo.h +344 -0
  38. package/harmony/src/main/cpp/HDiffPatch/compress_parallel.cpp +166 -0
  39. package/harmony/src/main/cpp/HDiffPatch/compress_parallel.h +59 -0
  40. package/harmony/src/main/cpp/HDiffPatch/compress_plugin_demo.h +1152 -0
  41. package/harmony/src/main/cpp/HDiffPatch/decompress_plugin_demo.h +995 -0
  42. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +797 -0
  43. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +65 -0
  44. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +200 -0
  45. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +178 -0
  46. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +357 -0
  47. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  48. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +151 -0
  49. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +770 -0
  50. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +236 -0
  51. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  52. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
  53. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +53 -0
  54. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +61 -0
  55. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +331 -0
  56. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +144 -0
  57. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  58. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  59. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  60. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  61. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  62. package/harmony/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  63. package/harmony/src/main/cpp/HDiffPatch/file_for_patch.c +524 -0
  64. package/harmony/src/main/cpp/HDiffPatch/file_for_patch.h +259 -0
  65. package/harmony/src/main/cpp/HDiffPatch/hdiffz.cpp +1570 -0
  66. package/harmony/src/main/cpp/HDiffPatch/hpatch_dir_listener.h +290 -0
  67. package/harmony/src/main/cpp/HDiffPatch/hpatchz.c +1221 -0
  68. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1025 -0
  69. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.h +116 -0
  70. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +72 -0
  71. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +213 -0
  72. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +63 -0
  73. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +170 -0
  74. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +86 -0
  75. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  76. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +13 -0
  77. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +398 -0
  78. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +194 -0
  79. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +13 -0
  80. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +204 -0
  81. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +207 -0
  82. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +815 -0
  83. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +586 -0
  84. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +381 -0
  85. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +352 -0
  86. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +137 -0
  87. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +137 -0
  88. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +70 -0
  89. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +628 -0
  90. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +87 -0
  91. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +363 -0
  92. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +139 -0
  93. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +68 -0
  94. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +115 -0
  95. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +342 -0
  96. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +94 -0
  97. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  98. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.c +2292 -0
  99. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.h +215 -0
  100. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +165 -0
  101. package/harmony/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +251 -0
  102. package/harmony/src/main/cpp/HDiffPatch/libParallel/parallel_channel.cpp +174 -0
  103. package/harmony/src/main/cpp/HDiffPatch/libParallel/parallel_channel.h +73 -0
  104. package/harmony/src/main/cpp/HDiffPatch/libParallel/parallel_import.cpp +367 -0
  105. package/harmony/src/main/cpp/HDiffPatch/libParallel/parallel_import.h +92 -0
  106. package/harmony/src/main/cpp/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  107. package/harmony/src/main/cpp/HDiffPatch/test/hpatchz_test.cpp +292 -0
  108. package/harmony/src/main/cpp/HDiffPatch/test/testHashClash.cpp +436 -0
  109. package/harmony/src/main/cpp/HDiffPatch/test/unit_test.cpp +417 -0
  110. package/harmony/src/main/cpp/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  111. package/harmony/src/main/cpp/lzma/Asm/x86/7zAsm.asm +147 -0
  112. package/harmony/src/main/cpp/lzma/Asm/x86/7zCrcOpt.asm +147 -0
  113. package/harmony/src/main/cpp/lzma/Asm/x86/AesOpt.asm +237 -0
  114. package/harmony/src/main/cpp/lzma/Asm/x86/LzmaDecOpt.asm +1258 -0
  115. package/harmony/src/main/cpp/lzma/Asm/x86/XzCrc64Opt.asm +205 -0
  116. package/harmony/src/main/cpp/lzma/C/7z.h +202 -0
  117. package/harmony/src/main/cpp/lzma/C/7zAlloc.c +80 -0
  118. package/harmony/src/main/cpp/lzma/C/7zAlloc.h +19 -0
  119. package/harmony/src/main/cpp/lzma/C/7zArcIn.c +1771 -0
  120. package/harmony/src/main/cpp/lzma/C/7zBuf.c +36 -0
  121. package/harmony/src/main/cpp/lzma/C/7zBuf.h +35 -0
  122. package/harmony/src/main/cpp/lzma/C/7zBuf2.c +52 -0
  123. package/harmony/src/main/cpp/lzma/C/7zCrc.c +128 -0
  124. package/harmony/src/main/cpp/lzma/C/7zCrc.h +25 -0
  125. package/harmony/src/main/cpp/lzma/C/7zCrcOpt.c +115 -0
  126. package/harmony/src/main/cpp/lzma/C/7zDec.c +591 -0
  127. package/harmony/src/main/cpp/lzma/C/7zFile.c +286 -0
  128. package/harmony/src/main/cpp/lzma/C/7zFile.h +83 -0
  129. package/harmony/src/main/cpp/lzma/C/7zStream.c +176 -0
  130. package/harmony/src/main/cpp/lzma/C/7zTypes.h +375 -0
  131. package/harmony/src/main/cpp/lzma/C/7zVersion.h +27 -0
  132. package/harmony/src/main/cpp/lzma/C/7zVersion.rc +55 -0
  133. package/harmony/src/main/cpp/lzma/C/Aes.c +306 -0
  134. package/harmony/src/main/cpp/lzma/C/Aes.h +38 -0
  135. package/harmony/src/main/cpp/lzma/C/AesOpt.c +184 -0
  136. package/harmony/src/main/cpp/lzma/C/Alloc.c +455 -0
  137. package/harmony/src/main/cpp/lzma/C/Alloc.h +51 -0
  138. package/harmony/src/main/cpp/lzma/C/Bcj2.c +257 -0
  139. package/harmony/src/main/cpp/lzma/C/Bcj2.h +146 -0
  140. package/harmony/src/main/cpp/lzma/C/Bcj2Enc.c +311 -0
  141. package/harmony/src/main/cpp/lzma/C/Bra.c +230 -0
  142. package/harmony/src/main/cpp/lzma/C/Bra.h +64 -0
  143. package/harmony/src/main/cpp/lzma/C/Bra86.c +82 -0
  144. package/harmony/src/main/cpp/lzma/C/BraIA64.c +53 -0
  145. package/harmony/src/main/cpp/lzma/C/Compiler.h +33 -0
  146. package/harmony/src/main/cpp/lzma/C/CpuArch.c +218 -0
  147. package/harmony/src/main/cpp/lzma/C/CpuArch.h +336 -0
  148. package/harmony/src/main/cpp/lzma/C/Delta.c +64 -0
  149. package/harmony/src/main/cpp/lzma/C/Delta.h +19 -0
  150. package/harmony/src/main/cpp/lzma/C/DllSecur.c +108 -0
  151. package/harmony/src/main/cpp/lzma/C/DllSecur.h +20 -0
  152. package/harmony/src/main/cpp/lzma/C/LzFind.c +1127 -0
  153. package/harmony/src/main/cpp/lzma/C/LzFind.h +121 -0
  154. package/harmony/src/main/cpp/lzma/C/LzFindMt.c +853 -0
  155. package/harmony/src/main/cpp/lzma/C/LzFindMt.h +101 -0
  156. package/harmony/src/main/cpp/lzma/C/LzHash.h +57 -0
  157. package/harmony/src/main/cpp/lzma/C/Lzma2Dec.c +488 -0
  158. package/harmony/src/main/cpp/lzma/C/Lzma2Dec.h +120 -0
  159. package/harmony/src/main/cpp/lzma/C/Lzma2DecMt.c +1082 -0
  160. package/harmony/src/main/cpp/lzma/C/Lzma2DecMt.h +79 -0
  161. package/harmony/src/main/cpp/lzma/C/Lzma2Enc.c +803 -0
  162. package/harmony/src/main/cpp/lzma/C/Lzma2Enc.h +55 -0
  163. package/harmony/src/main/cpp/lzma/C/Lzma86.h +111 -0
  164. package/harmony/src/main/cpp/lzma/C/Lzma86Dec.c +54 -0
  165. package/harmony/src/main/cpp/lzma/C/Lzma86Enc.c +106 -0
  166. package/harmony/src/main/cpp/lzma/C/LzmaDec.c +1185 -0
  167. package/harmony/src/main/cpp/lzma/C/LzmaDec.h +234 -0
  168. package/harmony/src/main/cpp/lzma/C/LzmaEnc.c +2976 -0
  169. package/harmony/src/main/cpp/lzma/C/LzmaEnc.h +76 -0
  170. package/harmony/src/main/cpp/lzma/C/LzmaLib.c +40 -0
  171. package/harmony/src/main/cpp/lzma/C/LzmaLib.h +131 -0
  172. package/harmony/src/main/cpp/lzma/C/MtCoder.c +601 -0
  173. package/harmony/src/main/cpp/lzma/C/MtCoder.h +141 -0
  174. package/harmony/src/main/cpp/lzma/C/MtDec.c +1138 -0
  175. package/harmony/src/main/cpp/lzma/C/MtDec.h +201 -0
  176. package/harmony/src/main/cpp/lzma/C/Ppmd.h +85 -0
  177. package/harmony/src/main/cpp/lzma/C/Ppmd7.c +712 -0
  178. package/harmony/src/main/cpp/lzma/C/Ppmd7.h +142 -0
  179. package/harmony/src/main/cpp/lzma/C/Ppmd7Dec.c +191 -0
  180. package/harmony/src/main/cpp/lzma/C/Ppmd7Enc.c +187 -0
  181. package/harmony/src/main/cpp/lzma/C/Precomp.h +10 -0
  182. package/harmony/src/main/cpp/lzma/C/RotateDefs.h +30 -0
  183. package/harmony/src/main/cpp/lzma/C/Sha256.c +248 -0
  184. package/harmony/src/main/cpp/lzma/C/Sha256.h +26 -0
  185. package/harmony/src/main/cpp/lzma/C/Sort.c +141 -0
  186. package/harmony/src/main/cpp/lzma/C/Sort.h +18 -0
  187. package/harmony/src/main/cpp/lzma/C/Threads.c +95 -0
  188. package/harmony/src/main/cpp/lzma/C/Threads.h +70 -0
  189. package/harmony/src/main/cpp/lzma/C/ThreadsP.c +396 -0
  190. package/harmony/src/main/cpp/lzma/C/ThreadsP.h +31 -0
  191. package/harmony/src/main/cpp/lzma/C/Util/7z/7z.dsp +241 -0
  192. package/harmony/src/main/cpp/lzma/C/Util/7z/7z.dsw +29 -0
  193. package/harmony/src/main/cpp/lzma/C/Util/7z/7zMain.c +686 -0
  194. package/harmony/src/main/cpp/lzma/C/Util/7z/Precomp.c +4 -0
  195. package/harmony/src/main/cpp/lzma/C/Util/7z/Precomp.h +10 -0
  196. package/harmony/src/main/cpp/lzma/C/Util/7z/makefile +40 -0
  197. package/harmony/src/main/cpp/lzma/C/Util/7z/makefile.gcc +75 -0
  198. package/harmony/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.c +258 -0
  199. package/harmony/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsp +168 -0
  200. package/harmony/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  201. package/harmony/src/main/cpp/lzma/C/Util/Lzma/makefile +28 -0
  202. package/harmony/src/main/cpp/lzma/C/Util/Lzma/makefile.gcc +44 -0
  203. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  204. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsp +178 -0
  205. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  206. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLibExports.c +14 -0
  207. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/makefile +34 -0
  208. package/harmony/src/main/cpp/lzma/C/Util/LzmaLib/resource.rc +3 -0
  209. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  210. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.h +10 -0
  211. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.c +640 -0
  212. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  213. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  214. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/makefile +37 -0
  215. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/makefile_con +38 -0
  216. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/resource.rc +5 -0
  217. package/harmony/src/main/cpp/lzma/C/Util/SfxSetup/setup.ico +0 -0
  218. package/harmony/src/main/cpp/lzma/C/Xz.c +90 -0
  219. package/harmony/src/main/cpp/lzma/C/Xz.h +460 -0
  220. package/harmony/src/main/cpp/lzma/C/XzCrc64.c +86 -0
  221. package/harmony/src/main/cpp/lzma/C/XzCrc64.h +26 -0
  222. package/harmony/src/main/cpp/lzma/C/XzCrc64Opt.c +69 -0
  223. package/harmony/src/main/cpp/lzma/C/XzDec.c +2766 -0
  224. package/harmony/src/main/cpp/lzma/C/XzEnc.c +1329 -0
  225. package/harmony/src/main/cpp/lzma/C/XzEnc.h +60 -0
  226. package/harmony/src/main/cpp/lzma/C/XzIn.c +319 -0
  227. package/harmony/src/main/cpp/lzma/CPP/7zip/7zip.mak +240 -0
  228. package/harmony/src/main/cpp/lzma/CPP/7zip/Aes.mak +7 -0
  229. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  230. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +76 -0
  231. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +569 -0
  232. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.h +70 -0
  233. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +678 -0
  234. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.h +92 -0
  235. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +423 -0
  236. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +139 -0
  237. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +61 -0
  238. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +763 -0
  239. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.h +181 -0
  240. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +942 -0
  241. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  242. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.h +148 -0
  243. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1666 -0
  244. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.h +445 -0
  245. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zItem.h +202 -0
  246. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.cpp +901 -0
  247. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.h +335 -0
  248. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +174 -0
  249. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.h +22 -0
  250. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +21 -0
  251. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +22 -0
  252. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
  253. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +2500 -0
  254. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.h +139 -0
  255. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  256. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.h +8 -0
  257. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Archive.def +12 -0
  258. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Archive2.def +19 -0
  259. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/ArchiveExports.cpp +151 -0
  260. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1125 -0
  261. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  262. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  263. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +25 -0
  264. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +232 -0
  265. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.h +110 -0
  266. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +46 -0
  267. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
  268. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +88 -0
  269. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +28 -0
  270. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +191 -0
  271. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.h +89 -0
  272. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  273. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +37 -0
  274. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  275. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  276. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Common/StdAfx.h +8 -0
  277. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/DllExports2.cpp +122 -0
  278. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/IArchive.h +608 -0
  279. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  280. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/LzmaHandler.cpp +629 -0
  281. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/SplitHandler.cpp +359 -0
  282. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/StdAfx.h +8 -0
  283. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.cpp +1308 -0
  284. package/harmony/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  285. package/harmony/src/main/cpp/lzma/CPP/7zip/Asm.mak +9 -0
  286. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +1910 -0
  287. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  288. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  289. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +8 -0
  290. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile +154 -0
  291. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  292. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  293. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +8 -0
  294. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +96 -0
  295. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  296. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  297. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +8 -0
  298. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/makefile +116 -0
  299. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  300. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +799 -0
  301. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +477 -0
  302. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  303. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  304. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +8 -0
  305. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile +59 -0
  306. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +195 -0
  307. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  308. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  309. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  310. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +912 -0
  311. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  312. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +482 -0
  313. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  314. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +8 -0
  315. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile +134 -0
  316. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +5 -0
  317. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  318. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +86 -0
  319. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +137 -0
  320. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  321. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +803 -0
  322. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  323. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +364 -0
  324. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  325. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +13 -0
  326. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/makefile +117 -0
  327. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  328. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  329. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  330. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  331. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +988 -0
  332. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  333. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +241 -0
  334. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  335. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +14 -0
  336. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/makefile +153 -0
  337. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  338. package/harmony/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +50 -0
  339. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.cpp +250 -0
  340. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.h +120 -0
  341. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.cpp +536 -0
  342. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.h +192 -0
  343. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  344. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  345. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.cpp +475 -0
  346. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.h +166 -0
  347. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.cpp +435 -0
  348. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.h +205 -0
  349. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.cpp +163 -0
  350. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.h +92 -0
  351. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +127 -0
  352. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.h +48 -0
  353. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.cpp +367 -0
  354. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.h +252 -0
  355. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  356. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  357. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  358. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/MethodId.h +10 -0
  359. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.cpp +509 -0
  360. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.h +264 -0
  361. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.cpp +39 -0
  362. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.h +26 -0
  363. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  364. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.h +66 -0
  365. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  366. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.h +35 -0
  367. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/PropId.cpp +108 -0
  368. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/RegisterArc.h +78 -0
  369. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  370. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StdAfx.h +8 -0
  371. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.cpp +156 -0
  372. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.h +60 -0
  373. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.cpp +285 -0
  374. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.h +157 -0
  375. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.cpp +56 -0
  376. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.h +13 -0
  377. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  378. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.h +26 -0
  379. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.cpp +48 -0
  380. package/harmony/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  381. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +666 -0
  382. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.h +120 -0
  383. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  384. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  385. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.h +31 -0
  386. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  387. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.cpp +23 -0
  388. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.h +35 -0
  389. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/BranchRegister.cpp +41 -0
  390. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/ByteSwap.cpp +92 -0
  391. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/CodecExports.cpp +344 -0
  392. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.cpp +120 -0
  393. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.h +49 -0
  394. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  395. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/DeltaFilter.cpp +128 -0
  396. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +265 -0
  397. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.h +96 -0
  398. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +122 -0
  399. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.h +42 -0
  400. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  401. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +343 -0
  402. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  403. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +182 -0
  404. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.h +46 -0
  405. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  406. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +170 -0
  407. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.h +86 -0
  408. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +152 -0
  409. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.h +58 -0
  410. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  411. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/StdAfx.h +8 -0
  412. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.cpp +150 -0
  413. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.h +92 -0
  414. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.cpp +245 -0
  415. package/harmony/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.h +46 -0
  416. package/harmony/src/main/cpp/lzma/CPP/7zip/Crc.mak +8 -0
  417. package/harmony/src/main/cpp/lzma/CPP/7zip/Crc64.mak +8 -0
  418. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.cpp +280 -0
  419. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.h +118 -0
  420. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  421. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.cpp +112 -0
  422. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.h +57 -0
  423. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/MyAesReg.cpp +16 -0
  424. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.cpp +233 -0
  425. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.h +40 -0
  426. package/harmony/src/main/cpp/lzma/CPP/7zip/Crypto/StdAfx.h +8 -0
  427. package/harmony/src/main/cpp/lzma/CPP/7zip/GuiCommon.rc +84 -0
  428. package/harmony/src/main/cpp/lzma/CPP/7zip/Guid.txt +220 -0
  429. package/harmony/src/main/cpp/lzma/CPP/7zip/ICoder.h +399 -0
  430. package/harmony/src/main/cpp/lzma/CPP/7zip/IDecl.h +28 -0
  431. package/harmony/src/main/cpp/lzma/CPP/7zip/IPassword.h +23 -0
  432. package/harmony/src/main/cpp/lzma/CPP/7zip/IProgress.h +19 -0
  433. package/harmony/src/main/cpp/lzma/CPP/7zip/IStream.h +127 -0
  434. package/harmony/src/main/cpp/lzma/CPP/7zip/LzmaDec.mak +5 -0
  435. package/harmony/src/main/cpp/lzma/CPP/7zip/MyVersion.h +2 -0
  436. package/harmony/src/main/cpp/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  437. package/harmony/src/main/cpp/lzma/CPP/7zip/PropID.h +127 -0
  438. package/harmony/src/main/cpp/lzma/CPP/7zip/SubBuild.mak +3 -0
  439. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +993 -0
  440. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +235 -0
  441. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  442. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  443. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.h +8 -0
  444. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile +28 -0
  445. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  446. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1295 -0
  447. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +136 -0
  448. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +1715 -0
  449. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +403 -0
  450. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +155 -0
  451. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.h +10 -0
  452. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +161 -0
  453. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +112 -0
  454. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.cpp +3618 -0
  455. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.h +77 -0
  456. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  457. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  458. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/DirItem.h +190 -0
  459. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1096 -0
  460. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.h +42 -0
  461. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  462. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.cpp +482 -0
  463. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.h +94 -0
  464. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractMode.h +34 -0
  465. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +280 -0
  466. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  467. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.cpp +347 -0
  468. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.h +110 -0
  469. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +114 -0
  470. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1074 -0
  471. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.h +424 -0
  472. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3553 -0
  473. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.h +436 -0
  474. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +668 -0
  475. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  476. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  477. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.cpp +80 -0
  478. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  479. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  480. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  481. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/StdAfx.h +8 -0
  482. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.cpp +19 -0
  483. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.h +16 -0
  484. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.cpp +1704 -0
  485. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.h +200 -0
  486. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  487. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  488. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +771 -0
  489. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.h +162 -0
  490. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +233 -0
  491. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  492. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +70 -0
  493. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.h +55 -0
  494. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.cpp +94 -0
  495. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.h +26 -0
  496. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Common/ZipRegistry.h +130 -0
  497. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  498. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  499. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.mak +43 -0
  500. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.manifest +13 -0
  501. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +69 -0
  502. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.h +33 -0
  503. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +825 -0
  504. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +164 -0
  505. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.cpp +367 -0
  506. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.h +48 -0
  507. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/List.cpp +1359 -0
  508. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/List.h +27 -0
  509. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/Main.cpp +1154 -0
  510. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/MainAr.cpp +175 -0
  511. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  512. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +66 -0
  513. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +183 -0
  514. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.h +62 -0
  515. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  516. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.h +8 -0
  517. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +702 -0
  518. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +124 -0
  519. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +110 -0
  520. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  521. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile +64 -0
  522. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  523. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +37 -0
  524. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  525. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1025 -0
  526. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +21 -0
  527. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  528. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  529. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  530. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  531. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  532. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1037 -0
  533. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +328 -0
  534. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  535. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  536. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/LangUtils.h +40 -0
  537. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +76 -0
  538. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +122 -0
  539. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +69 -0
  540. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +91 -0
  541. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +17 -0
  542. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  543. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  544. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +14 -0
  545. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  546. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +196 -0
  547. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +170 -0
  548. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  549. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1337 -0
  550. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +351 -0
  551. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  552. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +48 -0
  553. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +80 -0
  554. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  555. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  556. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  557. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +95 -0
  558. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +255 -0
  559. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +62 -0
  560. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resource.h +177 -0
  561. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resourceGui.h +15 -0
  562. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  563. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +418 -0
  564. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  565. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  566. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  567. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +280 -0
  568. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +38 -0
  569. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  570. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  571. package/harmony/src/main/cpp/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  572. package/harmony/src/main/cpp/lzma/CPP/Build.mak +156 -0
  573. package/harmony/src/main/cpp/lzma/CPP/Common/AutoPtr.h +35 -0
  574. package/harmony/src/main/cpp/lzma/CPP/Common/CRC.cpp +7 -0
  575. package/harmony/src/main/cpp/lzma/CPP/Common/C_FileIO.cpp +92 -0
  576. package/harmony/src/main/cpp/lzma/CPP/Common/C_FileIO.h +53 -0
  577. package/harmony/src/main/cpp/lzma/CPP/Common/ComTry.h +21 -0
  578. package/harmony/src/main/cpp/lzma/CPP/Common/CommandLineParser.cpp +197 -0
  579. package/harmony/src/main/cpp/lzma/CPP/Common/CommandLineParser.h +63 -0
  580. package/harmony/src/main/cpp/lzma/CPP/Common/Common.h +43 -0
  581. package/harmony/src/main/cpp/lzma/CPP/Common/CrcReg.cpp +98 -0
  582. package/harmony/src/main/cpp/lzma/CPP/Common/Defs.h +15 -0
  583. package/harmony/src/main/cpp/lzma/CPP/Common/DynamicBuffer.h +64 -0
  584. package/harmony/src/main/cpp/lzma/CPP/Common/IntToString.cpp +193 -0
  585. package/harmony/src/main/cpp/lzma/CPP/Common/IntToString.h +28 -0
  586. package/harmony/src/main/cpp/lzma/CPP/Common/Lang.h +23 -0
  587. package/harmony/src/main/cpp/lzma/CPP/Common/ListFileUtils.cpp +132 -0
  588. package/harmony/src/main/cpp/lzma/CPP/Common/ListFileUtils.h +18 -0
  589. package/harmony/src/main/cpp/lzma/CPP/Common/MyBuffer.h +259 -0
  590. package/harmony/src/main/cpp/lzma/CPP/Common/MyBuffer2.h +100 -0
  591. package/harmony/src/main/cpp/lzma/CPP/Common/MyCom.h +277 -0
  592. package/harmony/src/main/cpp/lzma/CPP/Common/MyException.h +14 -0
  593. package/harmony/src/main/cpp/lzma/CPP/Common/MyGuidDef.h +54 -0
  594. package/harmony/src/main/cpp/lzma/CPP/Common/MyInitGuid.h +45 -0
  595. package/harmony/src/main/cpp/lzma/CPP/Common/MyLinux.h +42 -0
  596. package/harmony/src/main/cpp/lzma/CPP/Common/MyString.cpp +1659 -0
  597. package/harmony/src/main/cpp/lzma/CPP/Common/MyString.h +868 -0
  598. package/harmony/src/main/cpp/lzma/CPP/Common/MyTypes.h +35 -0
  599. package/harmony/src/main/cpp/lzma/CPP/Common/MyUnknown.h +17 -0
  600. package/harmony/src/main/cpp/lzma/CPP/Common/MyVector.cpp +3 -0
  601. package/harmony/src/main/cpp/lzma/CPP/Common/MyVector.h +634 -0
  602. package/harmony/src/main/cpp/lzma/CPP/Common/MyWindows.cpp +145 -0
  603. package/harmony/src/main/cpp/lzma/CPP/Common/MyWindows.h +231 -0
  604. package/harmony/src/main/cpp/lzma/CPP/Common/NewHandler.cpp +163 -0
  605. package/harmony/src/main/cpp/lzma/CPP/Common/NewHandler.h +88 -0
  606. package/harmony/src/main/cpp/lzma/CPP/Common/Sha256Reg.cpp +40 -0
  607. package/harmony/src/main/cpp/lzma/CPP/Common/StdAfx.h +8 -0
  608. package/harmony/src/main/cpp/lzma/CPP/Common/StdInStream.cpp +89 -0
  609. package/harmony/src/main/cpp/lzma/CPP/Common/StdInStream.h +38 -0
  610. package/harmony/src/main/cpp/lzma/CPP/Common/StdOutStream.cpp +163 -0
  611. package/harmony/src/main/cpp/lzma/CPP/Common/StdOutStream.h +71 -0
  612. package/harmony/src/main/cpp/lzma/CPP/Common/StringConvert.cpp +319 -0
  613. package/harmony/src/main/cpp/lzma/CPP/Common/StringConvert.h +88 -0
  614. package/harmony/src/main/cpp/lzma/CPP/Common/StringToInt.cpp +144 -0
  615. package/harmony/src/main/cpp/lzma/CPP/Common/StringToInt.h +21 -0
  616. package/harmony/src/main/cpp/lzma/CPP/Common/TextConfig.cpp +124 -0
  617. package/harmony/src/main/cpp/lzma/CPP/Common/TextConfig.h +19 -0
  618. package/harmony/src/main/cpp/lzma/CPP/Common/UTFConvert.cpp +288 -0
  619. package/harmony/src/main/cpp/lzma/CPP/Common/UTFConvert.h +12 -0
  620. package/harmony/src/main/cpp/lzma/CPP/Common/Wildcard.cpp +676 -0
  621. package/harmony/src/main/cpp/lzma/CPP/Common/Wildcard.h +149 -0
  622. package/harmony/src/main/cpp/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  623. package/harmony/src/main/cpp/lzma/CPP/Common/XzCrc64Reg.cpp +42 -0
  624. package/harmony/src/main/cpp/lzma/CPP/Windows/COM.h +70 -0
  625. package/harmony/src/main/cpp/lzma/CPP/Windows/CommonDialog.cpp +185 -0
  626. package/harmony/src/main/cpp/lzma/CPP/Windows/CommonDialog.h +23 -0
  627. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  628. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.h +65 -0
  629. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  630. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Dialog.cpp +251 -0
  631. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Dialog.h +170 -0
  632. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Edit.h +19 -0
  633. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  634. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ImageList.h +87 -0
  635. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ListView.cpp +155 -0
  636. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ListView.h +146 -0
  637. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  638. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.cpp +143 -0
  639. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  640. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ReBar.h +34 -0
  641. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Static.h +28 -0
  642. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  643. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/StdAfx.h +8 -0
  644. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  645. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  646. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Window2.cpp +200 -0
  647. package/harmony/src/main/cpp/lzma/CPP/Windows/Control/Window2.h +51 -0
  648. package/harmony/src/main/cpp/lzma/CPP/Windows/DLL.cpp +109 -0
  649. package/harmony/src/main/cpp/lzma/CPP/Windows/DLL.h +58 -0
  650. package/harmony/src/main/cpp/lzma/CPP/Windows/Defs.h +17 -0
  651. package/harmony/src/main/cpp/lzma/CPP/Windows/ErrorMsg.cpp +66 -0
  652. package/harmony/src/main/cpp/lzma/CPP/Windows/ErrorMsg.h +15 -0
  653. package/harmony/src/main/cpp/lzma/CPP/Windows/FileDir.cpp +714 -0
  654. package/harmony/src/main/cpp/lzma/CPP/Windows/FileDir.h +117 -0
  655. package/harmony/src/main/cpp/lzma/CPP/Windows/FileFind.cpp +749 -0
  656. package/harmony/src/main/cpp/lzma/CPP/Windows/FileFind.h +161 -0
  657. package/harmony/src/main/cpp/lzma/CPP/Windows/FileIO.cpp +432 -0
  658. package/harmony/src/main/cpp/lzma/CPP/Windows/FileIO.h +212 -0
  659. package/harmony/src/main/cpp/lzma/CPP/Windows/FileLink.cpp +440 -0
  660. package/harmony/src/main/cpp/lzma/CPP/Windows/FileMapping.cpp +12 -0
  661. package/harmony/src/main/cpp/lzma/CPP/Windows/FileMapping.h +66 -0
  662. package/harmony/src/main/cpp/lzma/CPP/Windows/FileName.cpp +839 -0
  663. package/harmony/src/main/cpp/lzma/CPP/Windows/FileName.h +115 -0
  664. package/harmony/src/main/cpp/lzma/CPP/Windows/FileSystem.cpp +131 -0
  665. package/harmony/src/main/cpp/lzma/CPP/Windows/FileSystem.h +27 -0
  666. package/harmony/src/main/cpp/lzma/CPP/Windows/Handle.h +37 -0
  667. package/harmony/src/main/cpp/lzma/CPP/Windows/MemoryLock.cpp +112 -0
  668. package/harmony/src/main/cpp/lzma/CPP/Windows/MemoryLock.h +40 -0
  669. package/harmony/src/main/cpp/lzma/CPP/Windows/NtCheck.h +46 -0
  670. package/harmony/src/main/cpp/lzma/CPP/Windows/PropVariant.cpp +347 -0
  671. package/harmony/src/main/cpp/lzma/CPP/Windows/PropVariant.h +114 -0
  672. package/harmony/src/main/cpp/lzma/CPP/Windows/PropVariantConv.cpp +138 -0
  673. package/harmony/src/main/cpp/lzma/CPP/Windows/PropVariantConv.h +37 -0
  674. package/harmony/src/main/cpp/lzma/CPP/Windows/Registry.cpp +390 -0
  675. package/harmony/src/main/cpp/lzma/CPP/Windows/Registry.h +84 -0
  676. package/harmony/src/main/cpp/lzma/CPP/Windows/ResourceString.cpp +103 -0
  677. package/harmony/src/main/cpp/lzma/CPP/Windows/ResourceString.h +16 -0
  678. package/harmony/src/main/cpp/lzma/CPP/Windows/SecurityUtils.cpp +181 -0
  679. package/harmony/src/main/cpp/lzma/CPP/Windows/SecurityUtils.h +167 -0
  680. package/harmony/src/main/cpp/lzma/CPP/Windows/Shell.cpp +358 -0
  681. package/harmony/src/main/cpp/lzma/CPP/Windows/Shell.h +94 -0
  682. package/harmony/src/main/cpp/lzma/CPP/Windows/StdAfx.h +8 -0
  683. package/harmony/src/main/cpp/lzma/CPP/Windows/Synchronization.cpp +10 -0
  684. package/harmony/src/main/cpp/lzma/CPP/Windows/Synchronization.h +164 -0
  685. package/harmony/src/main/cpp/lzma/CPP/Windows/System.cpp +142 -0
  686. package/harmony/src/main/cpp/lzma/CPP/Windows/System.h +40 -0
  687. package/harmony/src/main/cpp/lzma/CPP/Windows/Thread.h +38 -0
  688. package/harmony/src/main/cpp/lzma/CPP/Windows/TimeUtils.cpp +213 -0
  689. package/harmony/src/main/cpp/lzma/CPP/Windows/TimeUtils.h +32 -0
  690. package/harmony/src/main/cpp/lzma/CPP/Windows/Window.cpp +179 -0
  691. package/harmony/src/main/cpp/lzma/CPP/Windows/Window.h +284 -0
  692. package/harmony/src/main/cpp/lzma/CS/7zip/Common/CRC.cs +55 -0
  693. package/harmony/src/main/cpp/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  694. package/harmony/src/main/cpp/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  695. package/harmony/src/main/cpp/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  696. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  697. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  698. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  699. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  700. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  701. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  702. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  703. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  704. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +90 -0
  705. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  706. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  707. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  708. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  709. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  710. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  711. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  712. package/harmony/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  713. package/harmony/src/main/cpp/lzma/CS/7zip/ICoder.cs +157 -0
  714. package/harmony/src/main/cpp/lzma/DOC/7zC.txt +187 -0
  715. package/harmony/src/main/cpp/lzma/DOC/7zFormat.txt +469 -0
  716. package/harmony/src/main/cpp/lzma/DOC/Methods.txt +173 -0
  717. package/harmony/src/main/cpp/lzma/DOC/installer.txt +166 -0
  718. package/harmony/src/main/cpp/lzma/DOC/lzma-history.txt +446 -0
  719. package/harmony/src/main/cpp/lzma/DOC/lzma-sdk.txt +357 -0
  720. package/harmony/src/main/cpp/lzma/DOC/lzma-specification.txt +1176 -0
  721. package/harmony/src/main/cpp/lzma/DOC/lzma.txt +328 -0
  722. package/harmony/src/main/cpp/lzma/Java/SevenZip/CRC.java +52 -0
  723. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  724. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  725. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  726. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  727. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  728. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  729. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  730. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  731. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  732. package/harmony/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  733. package/harmony/src/main/cpp/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  734. package/harmony/src/main/cpp/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  735. package/harmony/src/main/cpp/lzma/Java/SevenZip/LzmaBench.java +392 -0
  736. package/harmony/src/main/cpp/lzma/bin/7zS2.sfx +0 -0
  737. package/harmony/src/main/cpp/lzma/bin/7zS2con.sfx +0 -0
  738. package/harmony/src/main/cpp/lzma/bin/7zSD.sfx +0 -0
  739. package/harmony/src/main/cpp/lzma/bin/7zdec.exe +0 -0
  740. package/harmony/src/main/cpp/lzma/bin/7zr.exe +0 -0
  741. package/harmony/src/main/cpp/lzma/bin/installer/config.txt +5 -0
  742. package/harmony/src/main/cpp/lzma/bin/installer/cr.bat +5 -0
  743. package/harmony/src/main/cpp/lzma/bin/lzma.exe +0 -0
  744. package/harmony/src/main/cpp/lzma/bin/x64/7zr.exe +0 -0
  745. package/lib/utils.ts +8 -7
  746. package/package.json +1 -1
@@ -0,0 +1,352 @@
1
+ //adler_roll.c
2
+ /*
3
+ The MIT License (MIT)
4
+ Copyright (c) 2017 HouSisong
5
+
6
+ Permission is hereby granted, free of charge, to any person
7
+ obtaining a copy of this software and associated documentation
8
+ files (the "Software"), to deal in the Software without
9
+ restriction, including without limitation the rights to use,
10
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the
12
+ Software is furnished to do so, subject to the following
13
+ conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
+ OTHER DEALINGS IN THE SOFTWARE.
26
+ */
27
+
28
+ #include "adler_roll.h"
29
+ #include <assert.h>
30
+
31
+ #define MAX_DATA 255
32
+
33
+ # define _adler32_BASE 65521 //largest prime that is less than 2^32
34
+ # define _adler_mod(v,BASE) ((v)%(BASE))
35
+ # define _adler_border1(v,BASE) { (v)=((v)<(BASE))?(v):((v)-(BASE)); }
36
+ # define _adler_border2(v,BASE) { _adler_border1(v,BASE); _adler_border1(v,BASE); }
37
+ # define _adler_border3(v,BASE) { _adler_border1(v,((BASE)*2)); _adler_border1(v,BASE); }
38
+
39
+ # define _fast_adler32_BASE (1<<16)
40
+ # define _fast_adler_mod(v,BASE) ((v)&((BASE)-1))
41
+ # define _fast_adler_border1(v,BASE) { (v)=_fast_adler_mod(v,BASE); }
42
+ # define _fast_adler_border2(v,BASE) _fast_adler_border1(v,BASE)
43
+ # define _fast_adler_border3(v,BASE) _fast_adler_border1(v,BASE)
44
+
45
+ # define _adler64_BASE 0xFFFFFFFBull
46
+ # define _fast_adler64_BASE ((uint64_t)1<<32)
47
+
48
+ static const uint64_t __fast_adler_table[256]=/*create by _gen_fast_adler_table*/{
49
+ 0xe9834671b5e6a199ull,0x0914fc228c715a7full,0x9d31fb3962abb5afull,0xa3d3c03569f00344ull,
50
+ 0x399a5b7264db3b1cull,0x0c036c4f959bb01eull,0x4dc75b77344fbc39ull,0x0ab026b325be7198ull,
51
+ 0xe6a1281ebab2d5e6ull,0x53346d230eb13df7ull,0xb363ede943437647ull,0xdea89be55783a9ebull,
52
+ 0x7b58e5534a2e1c06ull,0xc1fafc95d3979639ull,0xb0db4075b5ec388cull,0x4cde0617c573fb3dull,
53
+ 0xd77edb524b86ee95ull,0x6527c8e8100140c5ull,0x3bb6faa98b8e01cbull,0xd11925ac9f77583eull,
54
+ 0x59380e038ae986f0ull,0xad9eb6013a9b560bull,0x36b3f8940f16648eull,0x14a50768fe25d3b7ull,
55
+ 0x06cd0894aaed25fdull,0x5833a3c9667abac1ull,0xd9674e5e92bfd5cfull,0xa36fa10b00b7f263ull,
56
+ 0xcb11edb612338782ull,0xd10e177fca15bc13ull,0x762153c14c60b16cull,0x6f8d3213059207f3ull,
57
+ 0xdba6f8b4ef298d69ull,0x409f815015056856ull,0xf15a0a043b7609d6ull,0x8ad571be53b2fcc9ull,
58
+ 0xe127ab04a40dcc34ull,0xfe33ae6bdd1a7d81ull,0x45791ae110e26f52ull,0xc52818409208538cull,
59
+ 0xa7b050a1444fee94ull,0xaa159ddd0e053633ull,0x70e88e7ac3c99a7bull,0x5627f1ae40f5c699ull,
60
+ 0x90550ccc7c216685ull,0x22ca3af35b565b88ull,0x856d11ad3f5c8372ull,0x70e5fc79d749378cull,
61
+ 0x5fbea93e0ad88005ull,0xb2108f9f9119cf5eull,0xd01b096bd069b0e6ull,0x9d2e92ef3bbbef86ull,
62
+ 0xd853a1a88b0b3b0bull,0x314507667773f1f2ull,0x935a1c0796cefd47ull,0x4d75b877b6f5245aull,
63
+ 0xf291709dc4e0ae38ull,0xeaf6717b5d4a7395ull,0x14ab729d353013a2ull,0x8d2f277620560099ull,
64
+ 0x4832d5cd7ce6ccb9ull,0x0cac0dd3d4519fa3ull,0x0360ed98008ba27dull,0x12f6b6ad6fb2f7c0ull,
65
+ 0x82441585694823ddull,0x09aa5ce12317f193ull,0x4a06eddb92dffce9ull,0x9561318180095313ull,
66
+ 0x2dd5ab173a4b5d4bull,0xd4297df4b4ad20beull,0x61036b5e881cb3c5ull,0x5ca6be400d271952ull,
67
+ 0xd1a392881c13ed9aull,0x76bd0c5785d5c7ffull,0x8ee9e2bc900595daull,0x77b940bfadeaeb12ull,
68
+ 0x1e1a09de6589001cull,0x3bd372be4c31dc7full,0x37279e1b86af13ebull,0xb9e4d0d09329fcc0ull,
69
+ 0x00800dd5d0d7f7b6ull,0xd9b49a97a9cd017full,0x107a9974c6b9318cull,0x1e030a540e3d65c5ull,
70
+ 0x298db8ca71a2ae9aull,0x7c7e43c4dd7e2ea6ull,0x5f35be6141d5b0d5ull,0x33b43e0cbc4a4198ull,
71
+ 0xd2cfb061a0e21f24ull,0x8c91798460963539ull,0x08f07c80c86fc710ull,0x1287cd98044d34fbull,
72
+ 0xa0aeab0bbebea104ull,0xd75dc20eb775e218ull,0x88cab942c79211cbull,0x69a032d119caa6e3ull,
73
+ 0x3658c36c3d9db18bull,0xaa2bd1e88deb277cull,0xebd02f0ca6ea28e4ull,0x0d6e86659de0ccd9ull,
74
+ 0x68189e89ca028b95ull,0xf4c654ee5b18e944ull,0x26d7a9ea03824598ull,0xc6b26613bbb5de59ull,
75
+ 0x5abd6d3388152a10ull,0x33a9fe838fb51b5cull,0x4cc280948b82720eull,0x5442aac86687f674ull,
76
+ 0x99f94f7d1369f26full,0xe3b5bb2549dd656eull,0xceab6332e9d7524aull,0x5e730186a8d417d5ull,
77
+ 0x38cda2e23ff82ff0ull,0xb1eb6f6f9da9e9f2ull,0xc3fe12ade2643584ull,0x18054b2e6a6621ceull,
78
+ 0x55c725b1880c75bbull,0x04747a86d6e226a9ull,0xde31e4b63ba442afull,0x90be6f0656b265b8ull,
79
+ 0xe6004b58d491b721ull,0xb13531527e737445ull,0xd9ae2437689bee09ull,0x761828fc1e4160bcull,
80
+ 0xdae6bc729e290dc5ull,0x5198300db64afb06ull,0x0800732342d6d3f1ull,0xa1606c218cf682e4ull,
81
+ 0x1838e333280f674eull,0xf32f3622c8b9929full,0x6faa5847b2a5e48bull,0x9bc9239301e76beaull,
82
+ 0x6af6da13021eaf55ull,0xb41a06eb9c2568f1ull,0x2d2b1e3bf2355c05ull,0x23392705f4be24f2ull,
83
+ 0x2fa3b21fdfb99b28ull,0x4c63f66993a13011ull,0x461b744d68e5f030ull,0x6b2c411820684fffull,
84
+ 0xfec175cf5e25963aull,0xb2b9843c5ab1cd22ull,0xd093bb54d4dd0d58ull,0xc2d82a015f47006eull,
85
+ 0xb8bda6068a424df4ull,0xc2da2f437df54d84ull,0x420ba10e8cfe1791ull,0x79bb721e68d9f0daull,
86
+ 0x19503b244e702ff8ull,0x580545e65e50ca27ull,0x9e87d8215f4982dbull,0x932033429b61963dull,
87
+ 0x5d0dad04736a072eull,0x99a6b1bf9450b7abull,0xa1ea44d7ad94fa9aull,0xd8a3f135f31c000bull,
88
+ 0xa5d03bd92fe1da41ull,0x8f9e79ca39ddfb4bull,0x6584ff87614bde5cull,0x792d069e7b4a784bull,
89
+ 0x778b05310f6d0f8dull,0xb5e5dbc7ea76bbb7ull,0x2218383ba0377ffaull,0x9f2f7c072313b362ull,
90
+ 0x9d1685de8a0964cfull,0x84682b60bcce4d80ull,0x81d3ec4549ae98deull,0x20e39c141f8119f9ull,
91
+ 0xfa621384bce8e620ull,0x55b71475a3fa41ddull,0x6e9edf35257df71full,0x189fd107e19ec182ull,
92
+ 0xaad8659b07716f2dull,0x0f3ac47780f8039cull,0xc7742a5a925db153ull,0x809b118230253df4ull,
93
+ 0xd82d45081d351f76ull,0x65701b3e7eabc10aull,0xbca8d9efa9708035ull,0x163061807a1e2829ull,
94
+ 0x8c6275a12ad461e8ull,0xfb2bc26167e58ce9ull,0x7b8556c19061dadeull,0x7e2bf8d6fb047568ull,
95
+ 0x66863c313613fa7cull,0x1564597faca39945ull,0xb58e9c23d4ad6bbfull,0xeba2bfdc1563e12dull,
96
+ 0xdfeed88c67234d07ull,0xce23a19b5a995781ull,0x0ea1fb79123c03cfull,0x67e694c0befec0bfull,
97
+ 0xee5d2bbedcb6ef2aull,0x8a5c162274a3ff1aull,0xd7f55f1f338fa292ull,0xdf2b314f6aa8c581ull,
98
+ 0x6767ff9557aa37bbull,0xbf3a8e66b9ada0c2ull,0x354522f82cdf9a5cull,0x44b1e3f9ff6ee3aaull,
99
+ 0xf5571375ca4067bcull,0x93dd20c8d9382754ull,0xc8cc026c489d6ba0ull,0xd8afbb930cf35324ull,
100
+ 0xf6b1e4d4c3cdbaafull,0x6a8db0a2af31b927ull,0xcd93545ebd2bfdd4ull,0xe988dc92a3076071ull,
101
+ 0x3d835895a5a99432ull,0x3e6db869fcb9f96dull,0x9324623048594b04ull,0x17aee587ded33cadull,
102
+ 0x9a4f7e29b3cf7654ull,0xb6e38f02a2db00a4ull,0x9a7f4482033c93b9ull,0xdbaf95093bad1701ull,
103
+ 0x25c5a2eae9fafbc4ull,0x778f84c6b2a945f0ull,0x220b78ed985ba402ull,0xa856b484ef3f2728ull,
104
+ 0x02ed74be46e39db2ull,0x4bba27d36b9a61cfull,0x3be8c7cef4403efdull,0xaa45492dda915d43ull,
105
+ 0xf26cd77c5e31fb24ull,0xdd194a89fc88f48eull,0x3a5eb8dbb47c0dceull,0x6d1828851df3e8c9ull,
106
+ 0xc47572193ec6ac80ull,0xd0f0c6fa90b43371ull,0x42746c648581fb76ull,0xd0b052bbd93f2866ull,
107
+ 0x20194469aa76e6aeull,0x0d4bff2c846cd9a0ull,0x58101dfee696b5f4ull,0xb09bb5eb0f6797ecull,
108
+ 0x179613f4316af61eull,0xf25438934a674e5dull,0x566e87958450c6bfull,0xe09e404ca452bcf5ull,
109
+ 0x10d604d7d5acf7d9ull,0x5f1ee02d80e62ec4ull,0x094272f2b03a3adcull,0x7c53663013c68fe6ull,
110
+ 0xdfc16f8c66e87e96ull,0x513669ffcc854cbcull,0x7b6e2e4729891f10ull,0x366d835f1e25842eull,
111
+ 0xb59420af3feb2f8aull,0xc880ce98aab484c7ull,0xf27daa46241716e1ull,0x167b40b03178b385ull,
112
+ 0xfa1ba16937e78784ull,0x21e6ec6ca0b50cf4ull,0xe984c351976999a1ull,0x84d3c2fbb222e66dull };
113
+ /*
114
+ #include <set>
115
+ //gen table better than CRC32Table:{0,0x77073096,..,0x2D02EF8D} or CRC64Table
116
+ static bool _gen_fast_adler_table(unsigned int rand_seed,bool isPrint=true){
117
+ std::set<uint32_t> check_set;
118
+ if (isPrint) printf("{\n");
119
+ for (int y=64-1; y>=0; --y) {
120
+ if (isPrint) printf(" ");
121
+ for (int x=8-1; x>=0; --x) {
122
+ uint32_t v=0;
123
+ v=(v<<8)|(unsigned char)rand_r(&rand_seed);
124
+ v=(v<<8)|(unsigned char)rand_r(&rand_seed);
125
+ v=(v<<8)|(unsigned char)rand_r(&rand_seed);
126
+ v=(v<<8)|(unsigned char)rand_r(&rand_seed);
127
+ {//check
128
+ if (check_set.find(v&0xFFFF)!=check_set.end()) return false;
129
+ check_set.insert(v&0xFFFF);
130
+ if (check_set.find(v>>16)!=check_set.end()) return false;
131
+ check_set.insert(v>>16);
132
+ }
133
+ if (isPrint){
134
+ if (x%2==1){
135
+ printf("0x%08x",v);
136
+ }else{
137
+ printf("%08xull",v);
138
+ if (x>0) printf(",");
139
+ }
140
+ }
141
+ }
142
+ if (isPrint) printf((y>0)?",\n":" };\n\n");
143
+ }
144
+ return true;
145
+ }
146
+ static bool _gen_fast_adler_table(){
147
+ bool result=false;
148
+ for (unsigned int i=0; i<1000000000;++i) {
149
+ if (!_gen_fast_adler_table(i,false)) continue;
150
+ printf("rand_seed: %u\n",i);
151
+ result=_gen_fast_adler_table(i,true);
152
+ }
153
+ assert(result);
154
+ return result;
155
+ }
156
+ static bool _null=_gen_fast_adler_table(10735);
157
+ */
158
+ const uint16_t* _private_fast_adler32_table =(const uint16_t*)&__fast_adler_table[0];
159
+ const uint32_t* _private_fast_adler64_table =(const uint32_t*)&__fast_adler_table[0];
160
+ const uint64_t* _private_fast_adler128_table =(const uint64_t*)&__fast_adler_table[0];
161
+
162
+ #define fast_adler_add1(_table, adler,sum,pdata){ \
163
+ (adler) += _table[(unsigned char)(*pdata++)]; \
164
+ (sum) += (adler); \
165
+ }
166
+
167
+ #define fast_adler_add2(_c_t,_table,adler,sum,pdata){ \
168
+ _c_t a0=_table[(unsigned char)*pdata++]; \
169
+ _c_t a1=_table[(unsigned char)*pdata++]; \
170
+ a0+=adler; \
171
+ adler=a0+a1; \
172
+ sum+=a0*2+a1; \
173
+ }
174
+
175
+ #define adler_add1(adler,sum,pdata){ \
176
+ (adler) += *pdata++; \
177
+ (sum) += (adler); \
178
+ }
179
+
180
+ #define adler_add2(_c_t,adler,sum,pdata){ \
181
+ _c_t a0=*pdata++; \
182
+ _c_t a1=*pdata++; \
183
+ a0+=adler; \
184
+ adler=a0+a1; \
185
+ sum+=a0*2+a1; \
186
+ }
187
+
188
+ #define _adler_add8(_c_t,adler,sum,pdata){ \
189
+ adler_add2(_c_t,adler,sum,pdata); \
190
+ adler_add2(_c_t,adler,sum,pdata); \
191
+ adler_add2(_c_t,adler,sum,pdata); \
192
+ adler_add2(_c_t,adler,sum,pdata); \
193
+ }
194
+
195
+ //limit: 255*n*(n+1)/2 + (n+1)(65521-1) <= 2^32-1
196
+ // => max(n)=5552
197
+ //limit: 255*255*n*(n+1)/2 + (n+1)(0xFFFFFFFB-1) <= 2^64-1
198
+ // => max(n) >>> 5552
199
+ #define kFNBest 5552 // ==(8*2*347)
200
+ #define _adler_append(uint_t,half_bit,BASE,mod,border1, adler,pdata,n){ \
201
+ uint_t sum=adler>>half_bit; \
202
+ adler&=(((uint_t)1<<half_bit)-1);\
203
+ _case8: \
204
+ switch(n){ \
205
+ case 8: { adler_add1(adler,sum,pdata); } \
206
+ case 7: { adler_add1(adler,sum,pdata); } \
207
+ case 6: { adler_add1(adler,sum,pdata); } \
208
+ case 5: { adler_add1(adler,sum,pdata); } \
209
+ case 4: { adler_add1(adler,sum,pdata); } \
210
+ case 3: { adler_add1(adler,sum,pdata); } \
211
+ case 2: { adler_add1(adler,sum,pdata); } \
212
+ case 1: { adler_add1(adler,sum,pdata); } \
213
+ case 0: { sum =mod(sum,BASE); \
214
+ border1(adler,BASE); \
215
+ return adler | (sum<<half_bit); } \
216
+ default: { /* continue */ } \
217
+ } \
218
+ while(n>=kFNBest){ \
219
+ size_t fn; \
220
+ n-=kFNBest; \
221
+ fn=(kFNBest>>3);\
222
+ do{ \
223
+ _adler_add8(uint_t,adler,sum,pdata);\
224
+ }while(--fn); \
225
+ sum =mod(sum,BASE); \
226
+ adler=mod(adler,BASE); \
227
+ } \
228
+ if (n>8) { \
229
+ do{ \
230
+ _adler_add8(uint_t,adler,sum,pdata);\
231
+ n-=8; \
232
+ } while(n>=8); \
233
+ adler=mod(adler,BASE); \
234
+ } \
235
+ goto _case8; \
236
+ }
237
+
238
+
239
+ #define _fast_adler_append(SUM,ADLER,return_SUMADLER,_c_t,_table, _adler,pdata,n){ \
240
+ _c_t sum =(_c_t)SUM(_adler); \
241
+ _c_t adler=(_c_t)ADLER(_adler); \
242
+ _case8: \
243
+ switch(n){ \
244
+ case 8: { fast_adler_add1(_table,adler,sum,pdata); } \
245
+ case 7: { fast_adler_add1(_table,adler,sum,pdata); } \
246
+ case 6: { fast_adler_add1(_table,adler,sum,pdata); } \
247
+ case 5: { fast_adler_add1(_table,adler,sum,pdata); } \
248
+ case 4: { fast_adler_add1(_table,adler,sum,pdata); } \
249
+ case 3: { fast_adler_add1(_table,adler,sum,pdata); } \
250
+ case 2: { fast_adler_add1(_table,adler,sum,pdata); } \
251
+ case 1: { fast_adler_add1(_table,adler,sum,pdata); } \
252
+ case 0: { return_SUMADLER(sum,adler); } \
253
+ default:{ /* continue */} \
254
+ } \
255
+ do{ \
256
+ fast_adler_add2(_c_t,_table,adler,sum,pdata); \
257
+ fast_adler_add2(_c_t,_table,adler,sum,pdata); \
258
+ fast_adler_add2(_c_t,_table,adler,sum,pdata); \
259
+ fast_adler_add2(_c_t,_table,adler,sum,pdata); \
260
+ n-=8; \
261
+ } while(n>=8); \
262
+ goto _case8; \
263
+ }
264
+
265
+ #define _adler_roll(uint_t,half_bit,BASE,mod,border2,kBestBlockSize,\
266
+ adler,blockSize,out_data,in_data){ \
267
+ uint_t sum=adler>>half_bit; \
268
+ adler&=(((uint_t)1<<half_bit)-1); \
269
+ /* [0..B-1] + [0..255] + B - [0..255] => [0+0+B-255..B-1+255+B-0]*/ \
270
+ adler+=in_data+(uint_t)(BASE-out_data); /* => [B-255..B*2-1+255] */ \
271
+ border2(adler,BASE); \
272
+ /* [0..B-1] + [0..B-1] + B-1 - [0..B-1] => [(B-1)-(B-1)..B-1+B-1+B-1]*/ \
273
+ blockSize=(blockSize<=kBestBlockSize)?blockSize:mod(blockSize,BASE); \
274
+ sum=sum+adler+(uint_t)((BASE-ADLER_INITIAL) - mod(blockSize*out_data,BASE)); \
275
+ border2(sum,BASE); \
276
+ return adler | (sum<<half_bit); \
277
+ }
278
+
279
+ #define _adler_by_combine(uint_t,half_bit,BASE,mod,border2,border3, \
280
+ adler_left,adler_right,len_right){ \
281
+ const uint_t kMask=((uint_t)1<<half_bit)-1; \
282
+ uint_t rem= mod(len_right,BASE); \
283
+ uint_t adler= adler_left&kMask; \
284
+ uint_t sum = rem * adler; \
285
+ adler+= (adler_right&kMask) \
286
+ + (BASE-ADLER_INITIAL); \
287
+ sum = mod(sum,BASE); \
288
+ sum += (adler_left>>half_bit) \
289
+ + (adler_right>>half_bit) \
290
+ + (BASE-rem)*ADLER_INITIAL; \
291
+ border2(adler,BASE); \
292
+ border3(sum,BASE); \
293
+ return adler | (sum<<half_bit); \
294
+ }
295
+
296
+ #define _fast_adler_by_combine(SUM,ADLER,return_SUMADLER,_c_t, \
297
+ adler_left,adler_right,len_right){ \
298
+ _c_t rem = (_c_t)len_right; \
299
+ _c_t sum = rem * (_c_t)ADLER(adler_left); \
300
+ _c_t adler= (_c_t)ADLER(adler_left) \
301
+ + (_c_t)ADLER(adler_right) \
302
+ - ADLER_INITIAL; \
303
+ sum += (_c_t)SUM(adler_left)+(_c_t)SUM(adler_right) \
304
+ - rem*ADLER_INITIAL; \
305
+ return_SUMADLER(sum,adler); \
306
+ }
307
+
308
+
309
+ //limit: if all result in uint32_t
310
+ //blockSize*255 <= 2^32-1
311
+ // => max(blockSize)=(2^32-1)/255 ( =16843009 =(1<<24)+65793 )
312
+ static const size_t adler_roll_kBestBlockSize=((size_t)(~(size_t)0))/MAX_DATA;
313
+ static const uint64_t adler64_roll_kBestBlockSize=((uint64_t)(~(uint64_t)0))/MAX_DATA;
314
+
315
+ uint32_t adler32_append(uint32_t adler,const adler_data_t* pdata,size_t n)
316
+ _adler_append(uint32_t,16,_adler32_BASE,_adler_mod,_adler_border1, adler,pdata,n)
317
+ uint32_t adler32_roll(uint32_t adler,size_t blockSize,adler_data_t out_data,adler_data_t in_data)
318
+ _adler_roll(uint32_t,16,_adler32_BASE,_adler_mod,_adler_border2,
319
+ adler_roll_kBestBlockSize, adler,blockSize, out_data,in_data)
320
+ uint32_t adler32_by_combine(uint32_t adler_left,uint32_t adler_right,size_t len_right)
321
+ _adler_by_combine(uint32_t,16,_adler32_BASE,_adler_mod,_adler_border2,_adler_border3,
322
+ adler_left,adler_right,len_right)
323
+
324
+ uint64_t adler64_append(uint64_t adler,const adler_data_t* pdata,size_t n)
325
+ _adler_append(uint64_t,32,_adler64_BASE,_adler_mod,_adler_border1, adler,pdata,n)
326
+ uint64_t adler64_roll(uint64_t adler,uint64_t blockSize,adler_data_t out_data,adler_data_t in_data)
327
+ _adler_roll(uint64_t,32,_adler64_BASE,_adler_mod,_adler_border2,
328
+ adler64_roll_kBestBlockSize,adler,blockSize, out_data,in_data)
329
+ uint64_t adler64_by_combine(uint64_t adler_left,uint64_t adler_right,uint64_t len_right)
330
+ _adler_by_combine(uint64_t,32,_adler64_BASE,_adler_mod,_adler_border2,_adler_border3,
331
+ adler_left,adler_right,len_right)
332
+
333
+ uint32_t fast_adler32_append(uint32_t _adler,const adler_data_t* pdata,size_t n)
334
+ _fast_adler_append(__private_fast32_SUM,__private_fast32_ADLER,__private_fast32_SUMADLER,
335
+ uint32_t,_private_fast_adler32_table, _adler,pdata,n)
336
+ uint32_t fast_adler32_by_combine(uint32_t adler_left,uint32_t adler_right,size_t len_right)
337
+ _fast_adler_by_combine(__private_fast32_SUM,__private_fast32_ADLER,__private_fast32_SUMADLER,
338
+ uint32_t, adler_left,adler_right,len_right)
339
+
340
+ uint64_t fast_adler64_append(uint64_t _adler,const adler_data_t* pdata,size_t n)
341
+ _fast_adler_append(__private_fast64_SUM,__private_fast64_ADLER,__private_fast64_SUMADLER,
342
+ size_t, _private_fast_adler64_table, _adler,pdata,n)
343
+ uint64_t fast_adler64_by_combine(uint64_t adler_left,uint64_t adler_right,uint64_t len_right)
344
+ _fast_adler_by_combine(__private_fast64_SUM,__private_fast64_ADLER,__private_fast64_SUMADLER,
345
+ uint32_t, adler_left,adler_right,len_right)
346
+
347
+ adler128_t fast_adler128_append(adler128_t _adler,const adler_data_t* pdata,size_t n)
348
+ _fast_adler_append(__private_fast128_SUM,__private_fast128_ADLER,__private_fast128_SUMADLER,
349
+ uint64_t, _private_fast_adler128_table, _adler,pdata,n)
350
+ adler128_t fast_adler128_by_combine(adler128_t adler_left,adler128_t adler_right,uint64_t len_right)
351
+ _fast_adler_by_combine(__private_fast128_SUM,__private_fast128_ADLER,__private_fast128_SUMADLER,
352
+ uint64_t, adler_left,adler_right,len_right)
@@ -0,0 +1,137 @@
1
+ //adler_roll.h
2
+ //support: adler32,adler64,roll,fast roll,combine
3
+ //https://github.com/madler/zlib/blob/master/adler32.c not find roll
4
+ //
5
+ /*
6
+ The MIT License (MIT)
7
+ Copyright (c) 2017 HouSisong
8
+
9
+ Permission is hereby granted, free of charge, to any person
10
+ obtaining a copy of this software and associated documentation
11
+ files (the "Software"), to deal in the Software without
12
+ restriction, including without limitation the rights to use,
13
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the
15
+ Software is furnished to do so, subject to the following
16
+ conditions:
17
+
18
+ The above copyright notice and this permission notice shall be
19
+ included in all copies of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
26
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28
+ OTHER DEALINGS IN THE SOFTWARE.
29
+ */
30
+
31
+ #ifndef adler_roll_h
32
+ #define adler_roll_h
33
+ #include <stddef.h> //for size_t
34
+ #ifdef __cplusplus
35
+ extern "C" {
36
+ #endif
37
+
38
+ #ifndef adler_data_t
39
+ # define adler_data_t unsigned char
40
+ #endif
41
+
42
+ #if defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
43
+ # include <stdint.h> //for uint16_t,uint32_t,uint64_t
44
+ #else
45
+ # ifdef _MSC_VER
46
+ # if (_MSC_VER >= 1300)
47
+ typedef unsigned __int16 uint16_t;
48
+ typedef unsigned __int32 uint32_t;
49
+ # else
50
+ typedef unsigned short uint16_t;
51
+ typedef unsigned int uint32_t;
52
+ # endif
53
+ typedef unsigned __int64 uint64_t;
54
+ # else
55
+ typedef unsigned short uint16_t;
56
+ typedef unsigned int uint32_t;
57
+ typedef unsigned long long uint64_t;
58
+ # endif
59
+ #endif
60
+
61
+ #ifdef _MSC_VER
62
+ # define __adler_inline _inline
63
+ #else
64
+ # define __adler_inline inline
65
+ #endif
66
+
67
+ #ifndef ADLER_INITIAL
68
+ #define ADLER_INITIAL 1 //must 0 or 1
69
+ #endif
70
+
71
+ #define __private_fast_adler_roll(SUM,ADLER,return_SUMADLER,_c_t,_table,_tb_t, \
72
+ adler,blockSize,out_data,in_data){ \
73
+ _tb_t out_v = _table[(unsigned char)(out_data)]; \
74
+ _c_t sum = (_c_t)SUM(adler); \
75
+ _c_t radler= (_c_t)ADLER(adler) + _table[(unsigned char)(in_data)] -out_v; \
76
+ sum = sum + radler - ADLER_INITIAL-((_c_t)blockSize)*out_v; \
77
+ return_SUMADLER(sum,radler); \
78
+ }
79
+
80
+ #define adler32_start(pdata,n) adler32_append(ADLER_INITIAL,pdata,n)
81
+ uint32_t adler32_append(uint32_t adler,const adler_data_t* pdata,size_t n);
82
+ uint32_t adler32_roll(uint32_t adler,size_t blockSize,adler_data_t out_data,adler_data_t in_data);
83
+ uint32_t adler32_by_combine(uint32_t adler_left,uint32_t adler_right,size_t len_right);
84
+
85
+ #define adler64_start(pdata,n) adler64_append(ADLER_INITIAL,pdata,n)
86
+ uint64_t adler64_append(uint64_t adler,const adler_data_t* pdata,size_t n);
87
+ uint64_t adler64_roll(uint64_t adler,uint64_t blockSize,adler_data_t out_data,adler_data_t in_data);
88
+ uint64_t adler64_by_combine(uint64_t adler_left,uint64_t adler_right,uint64_t len_right);
89
+
90
+ #define fast_adler32_start(pdata,n) fast_adler32_append(ADLER_INITIAL,pdata,n)
91
+ uint32_t fast_adler32_append(uint32_t adler,const adler_data_t* pdata,size_t n);
92
+ extern const uint16_t* _private_fast_adler32_table;
93
+ # define __private_fast32_SUM(xadler) ((xadler)>>16)
94
+ # define __private_fast32_ADLER(xadler) (xadler)
95
+ # define __private_fast32_SUMADLER(xsum,xadler) return (((xadler)&(((uint32_t)1<<16)-1)) | ((xsum)<<16))
96
+ __adler_inline static
97
+ uint32_t fast_adler32_roll(uint32_t adler,size_t blockSize,adler_data_t out_data,adler_data_t in_data)
98
+ __private_fast_adler_roll(__private_fast32_SUM,__private_fast32_ADLER,__private_fast32_SUMADLER,
99
+ uint32_t, _private_fast_adler32_table,uint16_t, adler,blockSize,out_data,in_data)
100
+ uint32_t fast_adler32_by_combine(uint32_t adler_left,uint32_t adler_right,size_t len_right);
101
+
102
+ #define fast_adler64_start(pdata,n) fast_adler64_append(ADLER_INITIAL,pdata,n)
103
+ uint64_t fast_adler64_append(uint64_t adler,const adler_data_t* pdata,size_t n);
104
+ extern const uint32_t* _private_fast_adler64_table;
105
+ # define __private_fast64_SUM(xadler) ((xadler)>>32)
106
+ # define __private_fast64_ADLER(xadler) (xadler)
107
+ # define __private_fast64_SUMADLER(xsum,xadler) return ((uint32_t)(xadler) | ((uint64_t)(xsum)<<32))
108
+ __adler_inline static
109
+ uint64_t fast_adler64_roll(uint64_t adler,uint64_t blockSize,adler_data_t out_data,adler_data_t in_data)
110
+ __private_fast_adler_roll(__private_fast64_SUM,__private_fast64_ADLER,__private_fast64_SUMADLER,
111
+ uint32_t, _private_fast_adler64_table,uint32_t, adler,blockSize,out_data,in_data)
112
+ uint64_t fast_adler64_by_combine(uint64_t adler_left,uint64_t adler_right,uint64_t len_right);
113
+
114
+ typedef struct adler128_t{
115
+ uint64_t adler;
116
+ uint64_t sum;
117
+ } adler128_t;
118
+ static const adler128_t ADLER128_INITIAL = {ADLER_INITIAL,0};
119
+
120
+ #define fast_adler128_start(pdata,n) fast_adler128_append(ADLER128_INITIAL,pdata,n)
121
+ adler128_t fast_adler128_append(adler128_t adler,const adler_data_t* pdata,size_t n);
122
+ extern const uint64_t* _private_fast_adler128_table;
123
+ # define __private_fast128_SUM(xadler) (xadler.sum)
124
+ # define __private_fast128_ADLER(xadler) (xadler.adler)
125
+ # define __private_fast128_SUMADLER(xsum,xadler) { adler128_t _rt ={xadler,xsum}; return _rt; }
126
+ __adler_inline static
127
+ adler128_t fast_adler128_roll(adler128_t adler,uint64_t blockSize,adler_data_t out_data,adler_data_t in_data)
128
+ __private_fast_adler_roll(__private_fast128_SUM,__private_fast128_ADLER,__private_fast128_SUMADLER,
129
+ uint64_t, _private_fast_adler128_table,uint64_t, adler,blockSize,out_data,in_data)
130
+ adler128_t fast_adler128_by_combine(adler128_t adler_left,adler128_t adler_right,uint64_t len_right);
131
+
132
+
133
+ #ifdef __cplusplus
134
+ }
135
+ #endif
136
+
137
+ #endif
@@ -0,0 +1,137 @@
1
+ //bloom_filter.h
2
+ //bloom过滤的一个定制实现.
3
+ /*
4
+ The MIT License (MIT)
5
+ Copyright (c) 2017 HouSisong
6
+
7
+ Permission is hereby granted, free of charge, to any person
8
+ obtaining a copy of this software and associated documentation
9
+ files (the "Software"), to deal in the Software without
10
+ restriction, including without limitation the rights to use,
11
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the
13
+ Software is furnished to do so, subject to the following
14
+ conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+
29
+ #ifndef bloom_filter_h
30
+ #define bloom_filter_h
31
+ #include <string.h> //memset
32
+ #include <assert.h>
33
+ #include <stdexcept>//std::runtime_error
34
+ namespace hdiff_private{
35
+
36
+ class TBitSet{
37
+ public:
38
+ inline TBitSet():m_bits(0),m_bitSize(0){}
39
+ inline ~TBitSet(){ clear(0); }
40
+
41
+ inline void set(size_t bitIndex){
42
+ assert(bitIndex<m_bitSize);
43
+ m_bits[bitIndex>>kBaseShr] |= ((base_t)1<<(bitIndex&kBaseMask));
44
+ }
45
+ inline bool is_hit(size_t bitIndex)const{
46
+ //assert(bitIndex<m_bitSize);
47
+ return 0!=(m_bits[bitIndex>>kBaseShr] & ((base_t)1<<(bitIndex&kBaseMask)));
48
+ }
49
+
50
+ inline size_t size()const{return m_bitSize; }
51
+
52
+ void clear(size_t newBitSize){
53
+ size_t count=bitSizeToCount(newBitSize);
54
+ if (newBitSize==m_bitSize){
55
+ if (count>0) memset(m_bits,0,count*sizeof(base_t));
56
+ }else{
57
+ m_bitSize=newBitSize;
58
+ if (m_bits) { delete [] m_bits; m_bits=0; }
59
+ if (count>0){
60
+ m_bits=new base_t[count];
61
+ memset(m_bits,0,count*sizeof(base_t));
62
+ }
63
+ }
64
+ }
65
+ private:
66
+ inline static size_t bitSizeToCount(size_t bitSize){ return (bitSize+(kBaseTBits-1))/kBaseTBits; }
67
+ typedef size_t base_t;
68
+ enum {
69
+ kBaseShr=(sizeof(base_t)==8)?6:((sizeof(base_t)==4)?5:0),
70
+ kBaseTBits=(1<<kBaseShr),
71
+ kBaseMask=kBaseTBits-1 };
72
+ //assert(kBaseTBits==sizeof(base_t)*8);
73
+ struct __private_TBitSet_check_base_t_size { char _[(kBaseTBits==sizeof(base_t)*8)?1:-1]; };
74
+ base_t* m_bits;
75
+ size_t m_bitSize;
76
+ };
77
+
78
+
79
+ template <class T>
80
+ class TBloomFilter{
81
+ public:
82
+ inline TBloomFilter():m_bitSetMask(0){}
83
+ void init(size_t dataCount){
84
+ ++dataCount;
85
+ m_bitSetMask=getMask(dataCount);//mask is 2^N-1
86
+ m_bitSet.clear(m_bitSetMask+1);
87
+ }
88
+ inline void insert(T data){
89
+ m_bitSet.set(hash0(data));
90
+ m_bitSet.set(hash1(data));
91
+ m_bitSet.set(hash2(data));
92
+ }
93
+ inline bool is_hit(T data)const{
94
+ return m_bitSet.is_hit(hash0(data))
95
+ && m_bitSet.is_hit(hash1(data))
96
+ && m_bitSet.is_hit(hash2(data));
97
+ }
98
+ private:
99
+ TBitSet m_bitSet;
100
+ size_t m_bitSetMask;
101
+ enum { kZoom=32 };
102
+ static size_t getMask(size_t dataCount){
103
+ size_t bitSize=dataCount*kZoom;
104
+ if ((bitSize/kZoom)!=dataCount)
105
+ throw std::runtime_error("TBloomFilter::getMask() bitSize too large error!");
106
+ unsigned int bit=10;
107
+ while ( (((size_t)1<<bit)<bitSize) && (bit<sizeof(size_t)*8-1) )
108
+ ++bit;
109
+ return ((size_t)1<<bit)-1;
110
+ }
111
+
112
+ inline size_t hash0(T key)const { return (key^(key>>(sizeof(T)*4)))&m_bitSetMask; }
113
+ inline size_t hash1(T key)const { return ((~key)+(key << (sizeof(T)*2+1))+1)%m_bitSetMask; }
114
+ inline size_t hash2(T key)const {
115
+ size_t h=(sizeof(T)>4)?_hash2_64(key):_hash2_32((size_t)key); return h%(m_bitSetMask-1); }
116
+ static size_t _hash2_32(size_t key){//from: https://gist.github.com/badboy/6267743
117
+ const size_t c2=0x27d4eb2d; // a prime or an odd constant
118
+ key = (key ^ 61) ^ (key >> 16);
119
+ key = key + (key << 3);
120
+ key = key ^ (key >> 4);
121
+ key = key * c2;
122
+ key = key ^ (key >> 15);
123
+ return key;
124
+ }
125
+ static size_t _hash2_64(T key){
126
+ key = (~key) + (key << 18); // key = (key << 18) - key - 1;
127
+ key = key ^ (key >> 31);
128
+ key = key * 21; // key = (key + (key << 2)) + (key << 4);
129
+ key = key ^ (key >> 11);
130
+ key = key + (key << 6);
131
+ key = key ^ (key >> 22);
132
+ return (size_t)key;
133
+ }
134
+ };
135
+
136
+ }//namespace hdiff_private
137
+ #endif /* bloom_filter_h */