react-native-update 10.34.3 → 10.34.4

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 (800) hide show
  1. package/harmony/pushy/src/main/cpp/HDiffPatch/CHANGELOG.md +34 -172
  2. package/harmony/pushy/src/main/cpp/HDiffPatch/LICENSE +4 -4
  3. package/harmony/pushy/src/main/cpp/HDiffPatch/Makefile +63 -379
  4. package/harmony/pushy/src/main/cpp/HDiffPatch/README.md +170 -415
  5. package/harmony/pushy/src/main/cpp/HDiffPatch/_atosize.h +10 -54
  6. package/harmony/pushy/src/main/cpp/HDiffPatch/_clock_for_demo.h +1 -13
  7. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +18 -171
  8. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +4 -5
  9. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +7 -38
  10. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +4 -15
  11. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +12 -22
  12. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +4 -22
  13. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
  14. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffZ.cbp +219 -0
  15. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HPatchZ.cbp +156 -0
  16. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/unitTest.cbp +65 -0
  17. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffPatch.sln +105 -155
  18. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj +236 -363
  19. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +3 -0
  20. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj +317 -347
  21. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +3 -0
  22. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj +181 -295
  23. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj.user +3 -0
  24. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -9
  25. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +14 -53
  26. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +32 -162
  27. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +22 -89
  28. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +13 -237
  29. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +2 -2
  30. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +14 -194
  31. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +10 -30
  32. package/harmony/pushy/src/main/cpp/HDiffPatch/checksum_plugin_demo.h +3 -458
  33. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.cpp +71 -106
  34. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.h +3 -3
  35. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_plugin_demo.h +110 -484
  36. package/harmony/pushy/src/main/cpp/HDiffPatch/decompress_plugin_demo.h +193 -835
  37. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +50 -99
  38. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +4 -18
  39. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +8 -147
  40. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +6 -18
  41. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +25 -7
  42. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +113 -5
  43. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +97 -163
  44. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +39 -49
  45. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +15 -15
  46. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +2 -18
  47. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +4 -8
  48. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +57 -72
  49. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +13 -18
  50. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +1 -1
  51. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +2 -2
  52. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +2 -2
  53. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +2 -2
  54. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +2 -2
  55. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +1 -1
  56. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.c +100 -311
  57. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.h +72 -53
  58. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz.cpp +487 -888
  59. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatch_dir_listener.h +28 -45
  60. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatchz.c +247 -812
  61. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +544 -1265
  62. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.h +38 -123
  63. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -115
  64. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +102 -272
  65. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +12 -22
  66. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +4 -18
  67. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +5 -7
  68. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/{divsufsort.cpp → divsufsort.c} +8 -5
  69. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +164 -91
  70. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +102 -5
  71. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +13 -0
  72. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +97 -1
  73. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +44 -23
  74. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +89 -54
  75. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +55 -48
  76. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +381 -0
  77. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +47 -110
  78. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +4 -11
  79. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +26 -53
  80. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +25 -103
  81. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +130 -271
  82. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +7 -17
  83. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +37 -628
  84. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +43 -203
  85. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +10 -14
  86. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +7 -22
  87. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +46 -132
  88. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +9 -48
  89. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.c +299 -650
  90. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.h +82 -120
  91. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +7 -87
  92. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +9 -119
  93. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.cpp +6 -2
  94. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.h +15 -192
  95. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.cpp +367 -0
  96. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.h +56 -31
  97. package/harmony/pushy/src/main/cpp/HDiffPatch/test/_private_searchBestParams.cpp +1 -1
  98. package/harmony/pushy/src/main/cpp/HDiffPatch/test/hpatchz_test.cpp +1 -0
  99. package/harmony/pushy/src/main/cpp/HDiffPatch/test/testHashClash.cpp +31 -225
  100. package/harmony/pushy/src/main/cpp/HDiffPatch/test/unit_test.cpp +94 -566
  101. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zAsm.asm +28 -222
  102. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zCrcOpt.asm +117 -228
  103. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/AesOpt.asm +173 -678
  104. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzmaDecOpt.asm +22 -103
  105. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/XzCrc64Opt.asm +167 -485
  106. package/harmony/pushy/src/main/cpp/lzma/C/7z.h +6 -8
  107. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.c +30 -39
  108. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.h +3 -3
  109. package/harmony/pushy/src/main/cpp/lzma/C/7zArcIn.c +217 -232
  110. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.h +3 -3
  111. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.c +68 -404
  112. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.h +6 -9
  113. package/harmony/pushy/src/main/cpp/lzma/C/7zCrcOpt.c +79 -163
  114. package/harmony/pushy/src/main/cpp/lzma/C/7zDec.c +78 -160
  115. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.c +58 -215
  116. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.h +6 -15
  117. package/harmony/pushy/src/main/cpp/lzma/C/7zStream.c +23 -46
  118. package/harmony/pushy/src/main/cpp/lzma/C/7zTypes.h +89 -311
  119. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.h +5 -5
  120. package/harmony/pushy/src/main/cpp/lzma/C/Aes.c +68 -191
  121. package/harmony/pushy/src/main/cpp/lzma/C/Aes.h +8 -30
  122. package/harmony/pushy/src/main/cpp/lzma/C/AesOpt.c +108 -926
  123. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.c +96 -246
  124. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.h +8 -33
  125. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.c +144 -177
  126. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.h +42 -228
  127. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2Enc.c +182 -377
  128. package/harmony/pushy/src/main/cpp/lzma/C/Bra.c +143 -622
  129. package/harmony/pushy/src/main/cpp/lzma/C/Bra.h +40 -81
  130. package/harmony/pushy/src/main/cpp/lzma/C/Bra86.c +58 -163
  131. package/harmony/pushy/src/main/cpp/lzma/C/BraIA64.c +48 -9
  132. package/harmony/pushy/src/main/cpp/lzma/C/Compiler.h +15 -228
  133. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.c +133 -885
  134. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.h +78 -428
  135. package/harmony/pushy/src/main/cpp/lzma/C/Delta.c +31 -136
  136. package/harmony/pushy/src/main/cpp/lzma/C/Delta.h +3 -3
  137. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.c +62 -53
  138. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.h +5 -5
  139. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.c +495 -1114
  140. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.h +25 -64
  141. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.c +400 -969
  142. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.h +24 -37
  143. package/harmony/pushy/src/main/cpp/lzma/C/LzHash.h +48 -25
  144. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.c +7 -12
  145. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.h +7 -8
  146. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.c +83 -96
  147. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.h +9 -11
  148. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.c +92 -96
  149. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.h +9 -12
  150. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86.h +3 -3
  151. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Dec.c +4 -3
  152. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Enc.c +6 -3
  153. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.c +206 -384
  154. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.h +8 -11
  155. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.c +315 -489
  156. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.h +9 -18
  157. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.c +3 -5
  158. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.h +14 -21
  159. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.c +87 -90
  160. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.h +25 -28
  161. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.c +88 -74
  162. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.h +20 -21
  163. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd.h +34 -118
  164. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.c +293 -712
  165. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.h +70 -109
  166. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Dec.c +116 -237
  167. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Enc.c +95 -245
  168. package/harmony/pushy/src/main/cpp/lzma/C/Precomp.h +5 -122
  169. package/harmony/pushy/src/main/cpp/lzma/C/RotateDefs.h +4 -24
  170. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.c +143 -387
  171. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.h +7 -67
  172. package/harmony/pushy/src/main/cpp/lzma/C/Sort.c +114 -241
  173. package/harmony/pushy/src/main/cpp/lzma/C/Sort.h +7 -4
  174. package/harmony/pushy/src/main/cpp/lzma/C/Threads.c +14 -731
  175. package/harmony/pushy/src/main/cpp/lzma/C/Threads.h +14 -204
  176. package/harmony/pushy/src/main/cpp/lzma/C/ThreadsP.c +396 -0
  177. package/harmony/pushy/src/main/cpp/lzma/C/ThreadsP.h +31 -0
  178. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsp +2 -10
  179. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7zMain.c +79 -282
  180. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.h +7 -10
  181. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile +3 -7
  182. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile.gcc +75 -32
  183. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.c +56 -111
  184. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -24
  185. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile +0 -2
  186. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile.gcc +41 -18
  187. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsp +2 -30
  188. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLibExports.c +6 -7
  189. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/makefile +2 -27
  190. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.h +7 -10
  191. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.c +22 -39
  192. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile +2 -9
  193. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile_con +1 -3
  194. package/harmony/pushy/src/main/cpp/lzma/C/Xz.c +3 -5
  195. package/harmony/pushy/src/main/cpp/lzma/C/Xz.h +47 -129
  196. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.c +43 -97
  197. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.h +8 -8
  198. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64Opt.c +36 -228
  199. package/harmony/pushy/src/main/cpp/lzma/C/XzDec.c +295 -405
  200. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.c +139 -194
  201. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.h +11 -15
  202. package/harmony/pushy/src/main/cpp/lzma/C/XzIn.c +134 -200
  203. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip.mak +6 -6
  204. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Aes.mak +1 -4
  205. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +13 -29
  206. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +90 -120
  207. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.h +6 -9
  208. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +140 -183
  209. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.h +20 -23
  210. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +57 -78
  211. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +44 -169
  212. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +17 -57
  213. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +109 -141
  214. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.h +57 -54
  215. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +116 -336
  216. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +1 -1
  217. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.h +9 -17
  218. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.cpp +136 -234
  219. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.h +26 -35
  220. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zItem.h +5 -10
  221. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.cpp +155 -280
  222. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.h +40 -51
  223. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +59 -67
  224. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.h +2 -6
  225. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +2 -8
  226. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +3 -12
  227. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +9 -23
  228. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +387 -975
  229. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.h +16 -44
  230. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.h +2 -5
  231. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive.def +0 -2
  232. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive2.def +0 -2
  233. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/ArchiveExports.cpp +8 -15
  234. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +87 -106
  235. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +57 -57
  236. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +1 -1
  237. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +8 -6
  238. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +43 -126
  239. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.h +18 -77
  240. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +9 -20
  241. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +23 -20
  242. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +9 -61
  243. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +3 -8
  244. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +27 -29
  245. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.h +26 -23
  246. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +2 -2
  247. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +8 -6
  248. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.h +2 -2
  249. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/StdAfx.h +2 -5
  250. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/DllExports2.cpp +10 -63
  251. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/IArchive.h +173 -319
  252. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/LzmaHandler.cpp +113 -92
  253. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/SplitHandler.cpp +53 -47
  254. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/StdAfx.h +2 -5
  255. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.cpp +208 -352
  256. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.h +2 -2
  257. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Asm.mak +3 -6
  258. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +47 -227
  259. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +2 -5
  260. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile +5 -19
  261. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +2 -5
  262. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +2 -4
  263. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +2 -5
  264. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/makefile +1 -6
  265. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +53 -71
  266. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +22 -85
  267. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +2 -5
  268. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile +4 -13
  269. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +166 -102
  270. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +4 -109
  271. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +30 -69
  272. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +2 -5
  273. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile +7 -10
  274. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +1 -5
  275. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +16 -16
  276. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +12 -9
  277. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +9 -7
  278. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +2 -2
  279. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +5 -74
  280. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +51 -58
  281. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +10 -3
  282. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/makefile +5 -9
  283. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +6 -92
  284. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +19 -46
  285. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +11 -3
  286. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/makefile +5 -11
  287. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -5
  288. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.cpp +28 -136
  289. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.h +5 -67
  290. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.cpp +62 -74
  291. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.h +24 -32
  292. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +7 -7
  293. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.h +2 -2
  294. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.cpp +100 -548
  295. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.h +86 -125
  296. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.cpp +116 -258
  297. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.h +76 -72
  298. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.cpp +15 -34
  299. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.h +9 -38
  300. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +82 -192
  301. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.h +28 -25
  302. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.cpp +52 -78
  303. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.h +83 -52
  304. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.h +2 -2
  305. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.h +2 -2
  306. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.cpp +67 -323
  307. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.h +38 -123
  308. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.cpp +8 -6
  309. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.h +13 -9
  310. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.cpp +12 -12
  311. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.h +7 -74
  312. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.cpp +5 -5
  313. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.h +13 -11
  314. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/PropId.cpp +1 -10
  315. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterArc.h +14 -16
  316. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterCodec.h +16 -16
  317. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StdAfx.h +2 -5
  318. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.cpp +50 -45
  319. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.h +21 -39
  320. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.cpp +42 -47
  321. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.h +53 -42
  322. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.cpp +4 -49
  323. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.h +2 -20
  324. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.cpp +4 -4
  325. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.h +5 -20
  326. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.cpp +9 -8
  327. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.h +5 -5
  328. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +355 -556
  329. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.h +59 -66
  330. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Register.cpp +2 -2
  331. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.cpp +6 -6
  332. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.h +13 -19
  333. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjRegister.cpp +2 -2
  334. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.cpp +5 -88
  335. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.h +18 -42
  336. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchRegister.cpp +16 -33
  337. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/ByteSwap.cpp +53 -52
  338. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CodecExports.cpp +30 -64
  339. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.cpp +22 -55
  340. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.h +26 -11
  341. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/DeltaFilter.cpp +28 -26
  342. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +28 -30
  343. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.h +54 -45
  344. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +12 -24
  345. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.h +22 -10
  346. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Register.cpp +1 -1
  347. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +26 -33
  348. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.h +51 -51
  349. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +40 -232
  350. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.h +14 -13
  351. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaRegister.cpp +1 -1
  352. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +35 -84
  353. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.h +41 -42
  354. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +25 -66
  355. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.h +17 -8
  356. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdRegister.cpp +1 -1
  357. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/StdAfx.h +2 -5
  358. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.cpp +12 -13
  359. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.h +32 -26
  360. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.cpp +16 -14
  361. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.h +20 -9
  362. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc.mak +1 -1
  363. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc64.mak +1 -1
  364. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.cpp +32 -67
  365. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.h +18 -30
  366. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +3 -3
  367. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.cpp +43 -208
  368. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.h +25 -90
  369. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAesReg.cpp +4 -17
  370. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.cpp +21 -29
  371. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.h +3 -4
  372. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/StdAfx.h +2 -5
  373. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/GuiCommon.rc +3 -38
  374. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Guid.txt +3 -26
  375. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/ICoder.h +172 -253
  376. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IDecl.h +7 -55
  377. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IPassword.h +12 -43
  378. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IProgress.h +9 -10
  379. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IStream.h +50 -133
  380. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec.mak +2 -4
  381. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersionInfo.rc +1 -1
  382. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/PropID.h +2 -53
  383. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +177 -329
  384. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +1 -97
  385. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.h +2 -5
  386. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile +1 -2
  387. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +183 -687
  388. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +15 -49
  389. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +913 -2275
  390. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +115 -353
  391. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +106 -127
  392. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.h +3 -9
  393. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +35 -272
  394. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +64 -134
  395. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.cpp +1200 -2608
  396. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.h +20 -64
  397. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.cpp +1 -1
  398. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.h +2 -2
  399. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DirItem.h +36 -253
  400. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +233 -774
  401. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.h +6 -2
  402. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExitCode.h +2 -2
  403. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.cpp +63 -156
  404. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.h +10 -23
  405. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractMode.h +2 -12
  406. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +6 -22
  407. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +4 -4
  408. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.cpp +65 -1991
  409. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.h +29 -241
  410. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +47 -45
  411. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +179 -442
  412. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.h +89 -147
  413. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +380 -529
  414. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.h +42 -75
  415. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +86 -163
  416. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.h +5 -5
  417. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Property.h +2 -2
  418. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.cpp +15 -23
  419. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.h +2 -2
  420. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.h +2 -2
  421. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/StdAfx.h +2 -5
  422. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.cpp +1 -2
  423. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.h +2 -5
  424. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.cpp +368 -595
  425. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.h +47 -68
  426. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.h +2 -2
  427. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +146 -444
  428. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.h +68 -103
  429. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +42 -111
  430. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.h +2 -2
  431. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +3 -7
  432. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.h +6 -11
  433. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.cpp +35 -25
  434. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.h +4 -8
  435. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ZipRegistry.h +9 -91
  436. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.cpp +4 -4
  437. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.h +2 -2
  438. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.mak +1 -4
  439. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.manifest +0 -3
  440. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +19 -48
  441. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.h +12 -18
  442. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +41 -162
  443. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +41 -88
  444. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.cpp +81 -140
  445. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.h +17 -27
  446. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.cpp +124 -182
  447. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.h +7 -22
  448. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Main.cpp +109 -590
  449. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/MainAr.cpp +2 -62
  450. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +3 -3
  451. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +10 -17
  452. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +10 -13
  453. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.h +9 -13
  454. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.h +2 -5
  455. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +24 -320
  456. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +26 -50
  457. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +5 -13
  458. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.h +2 -2
  459. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile +2 -6
  460. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +6 -12
  461. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.h +4 -4
  462. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +195 -302
  463. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +4 -15
  464. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +2 -2
  465. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +6 -6
  466. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/DialogSize.h +2 -2
  467. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +181 -416
  468. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +197 -216
  469. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +2 -2
  470. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/LangUtils.h +5 -13
  471. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +5 -48
  472. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +49 -215
  473. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +30 -50
  474. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +1 -3
  475. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +3 -5
  476. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +5 -5
  477. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +6 -6
  478. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -4
  479. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +10 -15
  480. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +17 -18
  481. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +130 -276
  482. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +52 -56
  483. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +1 -2
  484. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +3 -8
  485. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.h +2 -2
  486. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -9
  487. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +89 -185
  488. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +20 -23
  489. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resource.h +1 -23
  490. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -10
  491. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/Extract.rc +4 -4
  492. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +33 -36
  493. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +15 -15
  494. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +22 -39
  495. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +3 -4
  496. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/HashGUI.h +2 -2
  497. package/harmony/pushy/src/main/cpp/lzma/CPP/Build.mak +13 -109
  498. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/AutoPtr.h +14 -25
  499. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CRC.cpp +1 -1
  500. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.cpp +90 -1
  501. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.h +49 -2
  502. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ComTry.h +2 -2
  503. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.cpp +7 -41
  504. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.h +3 -3
  505. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common.h +29 -14
  506. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CrcReg.cpp +45 -24
  507. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Defs.h +2 -3
  508. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynamicBuffer.h +5 -17
  509. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.cpp +110 -132
  510. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.h +9 -35
  511. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Lang.h +5 -12
  512. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.cpp +31 -49
  513. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.h +4 -4
  514. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer.h +21 -59
  515. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer2.h +10 -95
  516. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyCom.h +81 -497
  517. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyException.h +2 -2
  518. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyGuidDef.h +9 -18
  519. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyInitGuid.h +5 -17
  520. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyLinux.h +2 -35
  521. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.cpp +164 -347
  522. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.h +35 -246
  523. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyTypes.h +8 -11
  524. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyUnknown.h +11 -2
  525. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.h +94 -184
  526. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.cpp +11 -158
  527. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.h +54 -148
  528. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.cpp +27 -204
  529. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.h +5 -38
  530. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Reg.cpp +16 -43
  531. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdAfx.h +2 -2
  532. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.cpp +11 -20
  533. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.h +5 -13
  534. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.cpp +39 -124
  535. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.h +11 -27
  536. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.cpp +15 -458
  537. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.h +2 -24
  538. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.cpp +89 -99
  539. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.h +2 -19
  540. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.cpp +11 -10
  541. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.h +2 -2
  542. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.cpp +102 -677
  543. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.h +5 -377
  544. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.cpp +84 -197
  545. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.h +25 -107
  546. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Reg.cpp +14 -11
  547. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/COM.h +8 -24
  548. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.cpp +113 -197
  549. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.h +12 -32
  550. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.cpp +4 -4
  551. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.h +10 -22
  552. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/CommandBar.h +6 -6
  553. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.cpp +47 -242
  554. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.h +51 -94
  555. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Edit.h +2 -2
  556. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.h +4 -4
  557. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.cpp +26 -33
  558. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.h +22 -32
  559. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ProgressBar.h +13 -13
  560. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.cpp +34 -56
  561. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.h +9 -9
  562. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ReBar.h +3 -3
  563. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Static.h +2 -2
  564. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StatusBar.h +5 -5
  565. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StdAfx.h +2 -5
  566. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ToolBar.h +3 -3
  567. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Trackbar.h +2 -2
  568. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.cpp +6 -8
  569. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.h +7 -9
  570. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.cpp +8 -77
  571. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.h +10 -55
  572. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Defs.h +4 -4
  573. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.cpp +2 -69
  574. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.h +2 -3
  575. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.cpp +80 -728
  576. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.h +7 -62
  577. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.cpp +56 -756
  578. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.h +19 -205
  579. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.cpp +47 -569
  580. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.h +28 -283
  581. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileLink.cpp +112 -369
  582. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.h +3 -3
  583. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.cpp +113 -185
  584. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.h +14 -41
  585. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.cpp +10 -66
  586. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.h +2 -6
  587. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Handle.h +4 -6
  588. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.cpp +14 -29
  589. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.h +2 -2
  590. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/NtCheck.h +2 -14
  591. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.cpp +56 -102
  592. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.h +9 -68
  593. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.cpp +14 -150
  594. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.h +3 -13
  595. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.cpp +128 -212
  596. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.h +20 -32
  597. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.cpp +4 -4
  598. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.h +2 -3
  599. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.cpp +18 -23
  600. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.h +56 -39
  601. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.cpp +58 -539
  602. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.h +14 -49
  603. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/StdAfx.h +2 -5
  604. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.cpp +0 -77
  605. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.h +18 -240
  606. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.cpp +38 -317
  607. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.h +5 -154
  608. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Thread.h +10 -18
  609. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.cpp +37 -291
  610. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.h +10 -124
  611. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.cpp +7 -7
  612. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.h +19 -98
  613. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +90 -0
  614. package/harmony/pushy/src/main/cpp/lzma/DOC/Methods.txt +2 -6
  615. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-history.txt +0 -205
  616. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-sdk.txt +13 -93
  617. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma.txt +13 -30
  618. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2.sfx +0 -0
  619. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2con.sfx +0 -0
  620. package/harmony/pushy/src/main/cpp/lzma/bin/7zSD.sfx +0 -0
  621. package/harmony/pushy/src/main/cpp/lzma/bin/7zdec.exe +0 -0
  622. package/harmony/pushy/src/main/cpp/lzma/bin/7zr.exe +0 -0
  623. package/harmony/pushy/src/main/cpp/lzma/bin/lzma.exe +0 -0
  624. package/harmony/pushy/src/main/cpp/lzma/bin/x64/7zr.exe +0 -0
  625. package/package.json +1 -1
  626. package/harmony/pushy/src/main/cpp/HDiffPatch/README_cn.md +0 -547
  627. package/harmony/pushy/src/main/cpp/HDiffPatch/_hextobytes.h +0 -112
  628. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.cpp +0 -389
  629. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.h +0 -73
  630. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.c +0 -266
  631. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.h +0 -58
  632. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.bat +0 -1
  633. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.sh +0 -1
  634. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/bzip2.vcxproj +0 -228
  635. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/hpatchz_test.vcxproj +0 -215
  636. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/libdeflate.vcxproj +0 -256
  637. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/longPathAware.exe.manifest +0 -7
  638. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/lzma.vcxproj +0 -271
  639. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/testHashClash.vcxproj +0 -228
  640. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zlib.vcxproj +0 -242
  641. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zstd.vcxproj +0 -287
  642. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
  643. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/libdeflate.xcodeproj/project.pbxproj +0 -286
  644. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zlib.xcodeproj/project.pbxproj +0 -308
  645. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.h +0 -33
  646. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.m +0 -33
  647. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.pbxproj +0 -774
  648. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.c +0 -31
  649. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.h +0 -42
  650. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_for_hpatch_lite.h +0 -74
  651. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.cpp +0 -478
  652. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.h +0 -222
  653. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.cpp +0 -14
  654. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.cpp +0 -168
  655. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.h +0 -44
  656. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/qsort_parallel.h +0 -125
  657. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.c +0 -243
  658. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.h +0 -51
  659. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.c +0 -153
  660. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.h +0 -54
  661. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.c +0 -158
  662. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.h +0 -49
  663. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.c +0 -294
  664. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.h +0 -59
  665. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_patch_private_mt.h +0 -217
  666. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.c +0 -349
  667. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.h +0 -110
  668. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.c +0 -366
  669. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.h +0 -91
  670. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_input_cache.h +0 -31
  671. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_types.h +0 -106
  672. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.c +0 -497
  673. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.h +0 -106
  674. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.cpp +0 -254
  675. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.h +0 -39
  676. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_sign_diff_type.h +0 -37
  677. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.cpp +0 -62
  678. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.h +0 -44
  679. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dict_decompress_plugin.h +0 -156
  680. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.cpp +0 -440
  681. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.h +0 -88
  682. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.cpp +0 -332
  683. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.h +0 -48
  684. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_types.h +0 -198
  685. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.cpp +0 -697
  686. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.h +0 -74
  687. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_private.h +0 -262
  688. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type.h +0 -174
  689. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type_private.h +0 -174
  690. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.cpp +0 -252
  691. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.h +0 -67
  692. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.cpp +0 -680
  693. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.h +0 -137
  694. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dict_compress_plugin.h +0 -83
  695. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.cpp +0 -125
  696. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.h +0 -56
  697. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/hsynz_plugin.h +0 -55
  698. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.cpp +0 -147
  699. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.h +0 -38
  700. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.cpp +0 -354
  701. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.h +0 -76
  702. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.cpp +0 -521
  703. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.h +0 -69
  704. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_hash_clash.h +0 -122
  705. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_private.h +0 -66
  706. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type.h +0 -36
  707. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type_private.h +0 -81
  708. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.cpp +0 -247
  709. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.h +0 -71
  710. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.cpp +0 -351
  711. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.h +0 -42
  712. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.cpp +0 -124
  713. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.h +0 -38
  714. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.cpp +0 -203
  715. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.h +0 -55
  716. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.cpp +0 -79
  717. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.h +0 -66
  718. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.cpp +0 -628
  719. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.h +0 -95
  720. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_code_table.h +0 -78
  721. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.c +0 -950
  722. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.h +0 -72
  723. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/7zAsm.S +0 -181
  724. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/LzmaDecOpt.S +0 -1487
  725. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzFindOpt.asm +0 -540
  726. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sha256Opt.asm +0 -275
  727. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sort.asm +0 -860
  728. package/harmony/pushy/src/main/cpp/lzma/C/7zWindows.h +0 -101
  729. package/harmony/pushy/src/main/cpp/lzma/C/7zip_gcc_c.mak +0 -360
  730. package/harmony/pushy/src/main/cpp/lzma/C/Asm_c.mak +0 -12
  731. package/harmony/pushy/src/main/cpp/lzma/C/LzFindOpt.c +0 -578
  732. package/harmony/pushy/src/main/cpp/lzma/C/Sha256Opt.c +0 -451
  733. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.c +0 -835
  734. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.h +0 -17
  735. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/Precomp.h +0 -13
  736. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.c +0 -4
  737. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.h +0 -13
  738. package/harmony/pushy/src/main/cpp/lzma/C/var_clang.mak +0 -11
  739. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_arm64.mak +0 -12
  740. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x64.mak +0 -11
  741. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x86.mak +0 -11
  742. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc.mak +0 -12
  743. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_arm64.mak +0 -12
  744. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x64.mak +0 -10
  745. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x86.mak +0 -10
  746. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_arm64.mak +0 -11
  747. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_x64.mak +0 -11
  748. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang.mak +0 -1
  749. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang_mac.mak +0 -1
  750. package/harmony/pushy/src/main/cpp/lzma/C/warn_gcc.mak +0 -51
  751. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip_gcc.mak +0 -1370
  752. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile.gcc +0 -279
  753. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile.gcc +0 -215
  754. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.cpp +0 -855
  755. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.h +0 -160
  756. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzFindOpt.mak +0 -7
  757. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec_gcc.mak +0 -14
  758. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sha256.mak +0 -13
  759. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sort.mak +0 -6
  760. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile.gcc +0 -72
  761. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile.gcc +0 -187
  762. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.cpp +0 -218
  763. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.h +0 -48
  764. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialogRes.h +0 -13
  765. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/StdAfx.h +0 -67
  766. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/7zG.exe.manifest +0 -23
  767. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang.mak +0 -3
  768. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_arm64.mak +0 -3
  769. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x64.mak +0 -3
  770. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x86.mak +0 -3
  771. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc.mak +0 -3
  772. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_arm64.mak +0 -3
  773. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x64.mak +0 -3
  774. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x86.mak +0 -3
  775. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_arm64.mak +0 -3
  776. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_x64.mak +0 -3
  777. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang.mak +0 -11
  778. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_arm64.mak +0 -19
  779. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x64.mak +0 -11
  780. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x86.mak +0 -11
  781. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc.mak +0 -12
  782. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_arm64.mak +0 -12
  783. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x64.mak +0 -11
  784. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x86.mak +0 -10
  785. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_arm64.mak +0 -13
  786. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_x64.mak +0 -11
  787. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang.mak +0 -3
  788. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang_mac.mak +0 -9
  789. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_gcc.mak +0 -55
  790. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common0.h +0 -330
  791. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.cpp +0 -93
  792. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.h +0 -41
  793. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/LzFindPrepare.cpp +0 -7
  794. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Prepare.cpp +0 -7
  795. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.cpp +0 -130
  796. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.h +0 -28
  797. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.cpp +0 -36
  798. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.h +0 -55
  799. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.cpp +0 -1251
  800. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.h +0 -19
@@ -1,5 +1,5 @@
1
1
  /* Ppmd7.c -- PPMdH codec
2
- 2023-09-07 : Igor Pavlov : Public domain
2
+ 2018-07-04 : Igor Pavlov : Public domain
3
3
  This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
4
4
 
5
5
  #include "Precomp.h"
@@ -8,23 +8,21 @@ This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
8
8
 
9
9
  #include "Ppmd7.h"
10
10
 
11
- /* define PPMD7_ORDER_0_SUPPPORT to suport order-0 mode, unsupported by orignal PPMd var.H. code */
12
- // #define PPMD7_ORDER_0_SUPPPORT
13
-
14
- MY_ALIGN(16)
15
- static const Byte PPMD7_kExpEscape[16] = { 25, 14, 9, 7, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
16
- MY_ALIGN(16)
17
- static const UInt16 PPMD7_kInitBinEsc[] = { 0x3CDD, 0x1F3F, 0x59BF, 0x48F3, 0x64A1, 0x5ABC, 0x6632, 0x6051};
11
+ const Byte PPMD7_kExpEscape[16] = { 25, 14, 9, 7, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
12
+ static const UInt16 kInitBinEsc[] = { 0x3CDD, 0x1F3F, 0x59BF, 0x48F3, 0x64A1, 0x5ABC, 0x6632, 0x6051};
18
13
 
19
14
  #define MAX_FREQ 124
20
15
  #define UNIT_SIZE 12
21
16
 
22
17
  #define U2B(nu) ((UInt32)(nu) * UNIT_SIZE)
23
18
  #define U2I(nu) (p->Units2Indx[(size_t)(nu) - 1])
24
- #define I2U(indx) ((unsigned)p->Indx2Units[indx])
25
- #define I2U_UInt16(indx) ((UInt16)p->Indx2Units[indx])
19
+ #define I2U(indx) (p->Indx2Units[indx])
26
20
 
27
- #define REF(ptr) Ppmd_GetRef(p, ptr)
21
+ #ifdef PPMD_32BIT
22
+ #define REF(ptr) (ptr)
23
+ #else
24
+ #define REF(ptr) ((UInt32)((Byte *)(ptr) - (p)->Base))
25
+ #endif
28
26
 
29
27
  #define STATS_REF(ptr) ((CPpmd_State_Ref)REF(ptr))
30
28
 
@@ -33,11 +31,17 @@ static const UInt16 PPMD7_kInitBinEsc[] = { 0x3CDD, 0x1F3F, 0x59BF, 0x48F3, 0x64
33
31
  #define ONE_STATE(ctx) Ppmd7Context_OneState(ctx)
34
32
  #define SUFFIX(ctx) CTX((ctx)->Suffix)
35
33
 
36
- typedef CPpmd7_Context * PPMD7_CTX_PTR;
34
+ typedef CPpmd7_Context * CTX_PTR;
37
35
 
38
36
  struct CPpmd7_Node_;
39
37
 
40
- typedef Ppmd_Ref_Type(struct CPpmd7_Node_) CPpmd7_Node_Ref;
38
+ typedef
39
+ #ifdef PPMD_32BIT
40
+ struct CPpmd7_Node_ *
41
+ #else
42
+ UInt32
43
+ #endif
44
+ CPpmd7_Node_Ref;
41
45
 
42
46
  typedef struct CPpmd7_Node_
43
47
  {
@@ -47,13 +51,17 @@ typedef struct CPpmd7_Node_
47
51
  CPpmd7_Node_Ref Prev;
48
52
  } CPpmd7_Node;
49
53
 
50
- #define NODE(r) Ppmd_GetPtr_Type(p, r, CPpmd7_Node)
54
+ #ifdef PPMD_32BIT
55
+ #define NODE(ptr) (ptr)
56
+ #else
57
+ #define NODE(offs) ((CPpmd7_Node *)(p->Base + (offs)))
58
+ #endif
51
59
 
52
60
  void Ppmd7_Construct(CPpmd7 *p)
53
61
  {
54
62
  unsigned i, k, m;
55
63
 
56
- p->Base = NULL;
64
+ p->Base = 0;
57
65
 
58
66
  for (i = 0, k = 0; i < PPMD_NUM_INDEXES; i++)
59
67
  {
@@ -69,7 +77,6 @@ void Ppmd7_Construct(CPpmd7 *p)
69
77
 
70
78
  for (i = 0; i < 3; i++)
71
79
  p->NS2Indx[i] = (Byte)i;
72
-
73
80
  for (m = i, k = 1; i < 256; i++)
74
81
  {
75
82
  p->NS2Indx[i] = (Byte)m;
@@ -77,245 +84,183 @@ void Ppmd7_Construct(CPpmd7 *p)
77
84
  k = (++m) - 2;
78
85
  }
79
86
 
80
- memcpy(p->ExpEscape, PPMD7_kExpEscape, 16);
87
+ memset(p->HB2Flag, 0, 0x40);
88
+ memset(p->HB2Flag + 0x40, 8, 0x100 - 0x40);
81
89
  }
82
90
 
83
-
84
91
  void Ppmd7_Free(CPpmd7 *p, ISzAllocPtr alloc)
85
92
  {
86
93
  ISzAlloc_Free(alloc, p->Base);
87
94
  p->Size = 0;
88
- p->Base = NULL;
95
+ p->Base = 0;
89
96
  }
90
97
 
91
-
92
98
  BoolInt Ppmd7_Alloc(CPpmd7 *p, UInt32 size, ISzAllocPtr alloc)
93
99
  {
94
100
  if (!p->Base || p->Size != size)
95
101
  {
102
+ size_t size2;
96
103
  Ppmd7_Free(p, alloc);
97
- p->AlignOffset = (4 - size) & 3;
98
- if ((p->Base = (Byte *)ISzAlloc_Alloc(alloc, p->AlignOffset + size)) == NULL)
104
+ size2 = 0
105
+ #ifndef PPMD_32BIT
106
+ + UNIT_SIZE
107
+ #endif
108
+ ;
109
+ p->AlignOffset =
110
+ #ifdef PPMD_32BIT
111
+ (4 - size) & 3;
112
+ #else
113
+ 4 - (size & 3);
114
+ #endif
115
+ if ((p->Base = (Byte *)ISzAlloc_Alloc(alloc, p->AlignOffset + size + size2)) == 0)
99
116
  return False;
100
117
  p->Size = size;
101
118
  }
102
119
  return True;
103
120
  }
104
121
 
105
-
106
-
107
- // ---------- Internal Memory Allocator ----------
108
-
109
- /* We can use CPpmd7_Node in list of free units (as in Ppmd8)
110
- But we still need one additional list walk pass in Ppmd7_GlueFreeBlocks().
111
- So we use simple CPpmd_Void_Ref instead of CPpmd7_Node in Ppmd7_InsertNode() / Ppmd7_RemoveNode()
112
- */
113
-
114
- #define EMPTY_NODE 0
115
-
116
-
117
- static void Ppmd7_InsertNode(CPpmd7 *p, void *node, unsigned indx)
122
+ static void InsertNode(CPpmd7 *p, void *node, unsigned indx)
118
123
  {
119
124
  *((CPpmd_Void_Ref *)node) = p->FreeList[indx];
120
- // ((CPpmd7_Node *)node)->Next = (CPpmd7_Node_Ref)p->FreeList[indx];
121
-
122
125
  p->FreeList[indx] = REF(node);
123
-
124
126
  }
125
127
 
126
-
127
- static void *Ppmd7_RemoveNode(CPpmd7 *p, unsigned indx)
128
+ static void *RemoveNode(CPpmd7 *p, unsigned indx)
128
129
  {
129
130
  CPpmd_Void_Ref *node = (CPpmd_Void_Ref *)Ppmd7_GetPtr(p, p->FreeList[indx]);
130
131
  p->FreeList[indx] = *node;
131
- // CPpmd7_Node *node = NODE((CPpmd7_Node_Ref)p->FreeList[indx]);
132
- // p->FreeList[indx] = node->Next;
133
132
  return node;
134
133
  }
135
134
 
136
-
137
- static void Ppmd7_SplitBlock(CPpmd7 *p, void *ptr, unsigned oldIndx, unsigned newIndx)
135
+ static void SplitBlock(CPpmd7 *p, void *ptr, unsigned oldIndx, unsigned newIndx)
138
136
  {
139
137
  unsigned i, nu = I2U(oldIndx) - I2U(newIndx);
140
138
  ptr = (Byte *)ptr + U2B(I2U(newIndx));
141
139
  if (I2U(i = U2I(nu)) != nu)
142
140
  {
143
141
  unsigned k = I2U(--i);
144
- Ppmd7_InsertNode(p, ((Byte *)ptr) + U2B(k), nu - k - 1);
142
+ InsertNode(p, ((Byte *)ptr) + U2B(k), nu - k - 1);
145
143
  }
146
- Ppmd7_InsertNode(p, ptr, i);
144
+ InsertNode(p, ptr, i);
147
145
  }
148
146
 
149
-
150
- /* we use CPpmd7_Node_Union union to solve XLC -O2 strict pointer aliasing problem */
151
-
152
- typedef union
147
+ static void GlueFreeBlocks(CPpmd7 *p)
153
148
  {
154
- CPpmd7_Node Node;
155
- CPpmd7_Node_Ref NextRef;
156
- } CPpmd7_Node_Union;
157
-
158
- /* Original PPmdH (Ppmd7) code uses doubly linked list in Ppmd7_GlueFreeBlocks()
159
- we use single linked list similar to Ppmd8 code */
160
-
149
+ #ifdef PPMD_32BIT
150
+ CPpmd7_Node headItem;
151
+ CPpmd7_Node_Ref head = &headItem;
152
+ #else
153
+ CPpmd7_Node_Ref head = p->AlignOffset + p->Size;
154
+ #endif
155
+
156
+ CPpmd7_Node_Ref n = head;
157
+ unsigned i;
161
158
 
162
- static void Ppmd7_GlueFreeBlocks(CPpmd7 *p)
163
- {
164
- /*
165
- we use first UInt16 field of 12-bytes UNITs as record type stamp
166
- CPpmd_State { Byte Symbol; Byte Freq; : Freq != 0
167
- CPpmd7_Context { UInt16 NumStats; : NumStats != 0
168
- CPpmd7_Node { UInt16 Stamp : Stamp == 0 for free record
169
- : Stamp == 1 for head record and guard
170
- Last 12-bytes UNIT in array is always contains 12-bytes order-0 CPpmd7_Context record.
171
- */
172
- CPpmd7_Node_Ref head, n = 0;
173
-
174
159
  p->GlueCount = 255;
175
160
 
176
-
177
- /* we set guard NODE at LoUnit */
178
- if (p->LoUnit != p->HiUnit)
179
- ((CPpmd7_Node *)(void *)p->LoUnit)->Stamp = 1;
180
-
161
+ /* create doubly-linked list of free blocks */
162
+ for (i = 0; i < PPMD_NUM_INDEXES; i++)
181
163
  {
182
- /* Create list of free blocks.
183
- We still need one additional list walk pass before Glue. */
184
- unsigned i;
185
- for (i = 0; i < PPMD_NUM_INDEXES; i++)
164
+ UInt16 nu = I2U(i);
165
+ CPpmd7_Node_Ref next = (CPpmd7_Node_Ref)p->FreeList[i];
166
+ p->FreeList[i] = 0;
167
+ while (next != 0)
186
168
  {
187
- const UInt16 nu = I2U_UInt16(i);
188
- CPpmd7_Node_Ref next = (CPpmd7_Node_Ref)p->FreeList[i];
189
- p->FreeList[i] = 0;
190
- while (next != 0)
191
- {
192
- /* Don't change the order of the following commands: */
193
- CPpmd7_Node_Union *un = (CPpmd7_Node_Union *)NODE(next);
194
- const CPpmd7_Node_Ref tmp = next;
195
- next = un->NextRef;
196
- un->Node.Stamp = EMPTY_NODE;
197
- un->Node.NU = nu;
198
- un->Node.Next = n;
199
- n = tmp;
200
- }
169
+ CPpmd7_Node *node = NODE(next);
170
+ node->Next = n;
171
+ n = NODE(n)->Prev = next;
172
+ next = *(const CPpmd7_Node_Ref *)node;
173
+ node->Stamp = 0;
174
+ node->NU = (UInt16)nu;
201
175
  }
202
176
  }
203
-
204
- head = n;
205
- /* Glue and Fill must walk the list in same direction */
177
+ NODE(head)->Stamp = 1;
178
+ NODE(head)->Next = n;
179
+ NODE(n)->Prev = head;
180
+ if (p->LoUnit != p->HiUnit)
181
+ ((CPpmd7_Node *)p->LoUnit)->Stamp = 1;
182
+
183
+ /* Glue free blocks */
184
+ while (n != head)
206
185
  {
207
- /* Glue free blocks */
208
- CPpmd7_Node_Ref *prev = &head;
209
- while (n)
186
+ CPpmd7_Node *node = NODE(n);
187
+ UInt32 nu = (UInt32)node->NU;
188
+ for (;;)
210
189
  {
211
- CPpmd7_Node *node = NODE(n);
212
- UInt32 nu = node->NU;
213
- n = node->Next;
214
- if (nu == 0)
215
- {
216
- *prev = n;
217
- continue;
218
- }
219
- prev = &node->Next;
220
- for (;;)
221
- {
222
- CPpmd7_Node *node2 = node + nu;
223
- nu += node2->NU;
224
- if (node2->Stamp != EMPTY_NODE || nu >= 0x10000)
225
- break;
226
- node->NU = (UInt16)nu;
227
- node2->NU = 0;
228
- }
190
+ CPpmd7_Node *node2 = NODE(n) + nu;
191
+ nu += node2->NU;
192
+ if (node2->Stamp != 0 || nu >= 0x10000)
193
+ break;
194
+ NODE(node2->Prev)->Next = node2->Next;
195
+ NODE(node2->Next)->Prev = node2->Prev;
196
+ node->NU = (UInt16)nu;
229
197
  }
198
+ n = node->Next;
230
199
  }
231
-
200
+
232
201
  /* Fill lists of free blocks */
233
- for (n = head; n != 0;)
202
+ for (n = NODE(head)->Next; n != head;)
234
203
  {
235
204
  CPpmd7_Node *node = NODE(n);
236
- UInt32 nu = node->NU;
237
- unsigned i;
238
- n = node->Next;
239
- if (nu == 0)
240
- continue;
241
- for (; nu > 128; nu -= 128, node += 128)
242
- Ppmd7_InsertNode(p, node, PPMD_NUM_INDEXES - 1);
205
+ unsigned nu;
206
+ CPpmd7_Node_Ref next = node->Next;
207
+ for (nu = node->NU; nu > 128; nu -= 128, node += 128)
208
+ InsertNode(p, node, PPMD_NUM_INDEXES - 1);
243
209
  if (I2U(i = U2I(nu)) != nu)
244
210
  {
245
211
  unsigned k = I2U(--i);
246
- Ppmd7_InsertNode(p, node + k, (unsigned)nu - k - 1);
212
+ InsertNode(p, node + k, nu - k - 1);
247
213
  }
248
- Ppmd7_InsertNode(p, node, i);
214
+ InsertNode(p, node, i);
215
+ n = next;
249
216
  }
250
217
  }
251
218
 
252
-
253
- Z7_NO_INLINE
254
- static void *Ppmd7_AllocUnitsRare(CPpmd7 *p, unsigned indx)
219
+ static void *AllocUnitsRare(CPpmd7 *p, unsigned indx)
255
220
  {
256
221
  unsigned i;
257
-
222
+ void *retVal;
258
223
  if (p->GlueCount == 0)
259
224
  {
260
- Ppmd7_GlueFreeBlocks(p);
225
+ GlueFreeBlocks(p);
261
226
  if (p->FreeList[indx] != 0)
262
- return Ppmd7_RemoveNode(p, indx);
227
+ return RemoveNode(p, indx);
263
228
  }
264
-
265
229
  i = indx;
266
-
267
230
  do
268
231
  {
269
232
  if (++i == PPMD_NUM_INDEXES)
270
233
  {
271
234
  UInt32 numBytes = U2B(I2U(indx));
272
- Byte *us = p->UnitsStart;
273
235
  p->GlueCount--;
274
- return ((UInt32)(us - p->Text) > numBytes) ? (p->UnitsStart = us - numBytes) : NULL;
236
+ return ((UInt32)(p->UnitsStart - p->Text) > numBytes) ? (p->UnitsStart -= numBytes) : (NULL);
275
237
  }
276
238
  }
277
239
  while (p->FreeList[i] == 0);
278
-
279
- {
280
- void *block = Ppmd7_RemoveNode(p, i);
281
- Ppmd7_SplitBlock(p, block, i, indx);
282
- return block;
283
- }
240
+ retVal = RemoveNode(p, i);
241
+ SplitBlock(p, retVal, i, indx);
242
+ return retVal;
284
243
  }
285
244
 
286
-
287
- static void *Ppmd7_AllocUnits(CPpmd7 *p, unsigned indx)
245
+ static void *AllocUnits(CPpmd7 *p, unsigned indx)
288
246
  {
247
+ UInt32 numBytes;
289
248
  if (p->FreeList[indx] != 0)
290
- return Ppmd7_RemoveNode(p, indx);
249
+ return RemoveNode(p, indx);
250
+ numBytes = U2B(I2U(indx));
251
+ if (numBytes <= (UInt32)(p->HiUnit - p->LoUnit))
291
252
  {
292
- UInt32 numBytes = U2B(I2U(indx));
293
- Byte *lo = p->LoUnit;
294
- if ((UInt32)(p->HiUnit - lo) >= numBytes)
295
- {
296
- p->LoUnit = lo + numBytes;
297
- return lo;
298
- }
253
+ void *retVal = p->LoUnit;
254
+ p->LoUnit += numBytes;
255
+ return retVal;
299
256
  }
300
- return Ppmd7_AllocUnitsRare(p, indx);
257
+ return AllocUnitsRare(p, indx);
301
258
  }
302
259
 
260
+ #define MyMem12Cpy(dest, src, num) \
261
+ { UInt32 *d = (UInt32 *)dest; const UInt32 *s = (const UInt32 *)src; UInt32 n = num; \
262
+ do { d[0] = s[0]; d[1] = s[1]; d[2] = s[2]; s += 3; d += 3; } while (--n); }
303
263
 
304
- #define MEM_12_CPY(dest, src, num) \
305
- { UInt32 *d = (UInt32 *)(dest); \
306
- const UInt32 *z = (const UInt32 *)(src); \
307
- unsigned n = (num); \
308
- do { \
309
- d[0] = z[0]; \
310
- d[1] = z[1]; \
311
- d[2] = z[2]; \
312
- z += 3; \
313
- d += 3; \
314
- } while (--n); \
315
- }
316
-
317
-
318
- /*
319
264
  static void *ShrinkUnits(CPpmd7 *p, void *oldPtr, unsigned oldNU, unsigned newNU)
320
265
  {
321
266
  unsigned i0 = U2I(oldNU);
@@ -324,33 +269,28 @@ static void *ShrinkUnits(CPpmd7 *p, void *oldPtr, unsigned oldNU, unsigned newNU
324
269
  return oldPtr;
325
270
  if (p->FreeList[i1] != 0)
326
271
  {
327
- void *ptr = Ppmd7_RemoveNode(p, i1);
328
- MEM_12_CPY(ptr, oldPtr, newNU)
329
- Ppmd7_InsertNode(p, oldPtr, i0);
272
+ void *ptr = RemoveNode(p, i1);
273
+ MyMem12Cpy(ptr, oldPtr, newNU);
274
+ InsertNode(p, oldPtr, i0);
330
275
  return ptr;
331
276
  }
332
- Ppmd7_SplitBlock(p, oldPtr, i0, i1);
277
+ SplitBlock(p, oldPtr, i0, i1);
333
278
  return oldPtr;
334
279
  }
335
- */
336
280
 
281
+ #define SUCCESSOR(p) ((CPpmd_Void_Ref)((p)->SuccessorLow | ((UInt32)(p)->SuccessorHigh << 16)))
337
282
 
338
- #define SUCCESSOR(p) Ppmd_GET_SUCCESSOR(p)
339
283
  static void SetSuccessor(CPpmd_State *p, CPpmd_Void_Ref v)
340
284
  {
341
- Ppmd_SET_SUCCESSOR(p, v)
285
+ (p)->SuccessorLow = (UInt16)((UInt32)(v) & 0xFFFF);
286
+ (p)->SuccessorHigh = (UInt16)(((UInt32)(v) >> 16) & 0xFFFF);
342
287
  }
343
288
 
344
-
345
-
346
- Z7_NO_INLINE
347
- static
348
- void Ppmd7_RestartModel(CPpmd7 *p)
289
+ static void RestartModel(CPpmd7 *p)
349
290
  {
350
- unsigned i, k;
291
+ unsigned i, k, m;
351
292
 
352
293
  memset(p->FreeList, 0, sizeof(p->FreeList));
353
-
354
294
  p->Text = p->Base + p->AlignOffset;
355
295
  p->HiUnit = p->Text + p->Size;
356
296
  p->LoUnit = p->UnitsStart = p->HiUnit - p->Size / 8 / UNIT_SIZE * 7 * UNIT_SIZE;
@@ -360,110 +300,57 @@ void Ppmd7_RestartModel(CPpmd7 *p)
360
300
  p->RunLength = p->InitRL = -(Int32)((p->MaxOrder < 12) ? p->MaxOrder : 12) - 1;
361
301
  p->PrevSuccess = 0;
362
302
 
303
+ p->MinContext = p->MaxContext = (CTX_PTR)(p->HiUnit -= UNIT_SIZE); /* AllocContext(p); */
304
+ p->MinContext->Suffix = 0;
305
+ p->MinContext->NumStats = 256;
306
+ p->MinContext->SummFreq = 256 + 1;
307
+ p->FoundState = (CPpmd_State *)p->LoUnit; /* AllocUnits(p, PPMD_NUM_INDEXES - 1); */
308
+ p->LoUnit += U2B(256 / 2);
309
+ p->MinContext->Stats = REF(p->FoundState);
310
+ for (i = 0; i < 256; i++)
363
311
  {
364
- CPpmd7_Context *mc = (PPMD7_CTX_PTR)(void *)(p->HiUnit -= UNIT_SIZE); /* AllocContext(p); */
365
- CPpmd_State *s = (CPpmd_State *)p->LoUnit; /* Ppmd7_AllocUnits(p, PPMD_NUM_INDEXES - 1); */
366
-
367
- p->LoUnit += U2B(256 / 2);
368
- p->MaxContext = p->MinContext = mc;
369
- p->FoundState = s;
370
-
371
- mc->NumStats = 256;
372
- mc->Union2.SummFreq = 256 + 1;
373
- mc->Union4.Stats = REF(s);
374
- mc->Suffix = 0;
375
-
376
- for (i = 0; i < 256; i++, s++)
377
- {
378
- s->Symbol = (Byte)i;
379
- s->Freq = 1;
380
- SetSuccessor(s, 0);
381
- }
382
-
383
- #ifdef PPMD7_ORDER_0_SUPPPORT
384
- if (p->MaxOrder == 0)
385
- {
386
- CPpmd_Void_Ref r = REF(mc);
387
- s = p->FoundState;
388
- for (i = 0; i < 256; i++, s++)
389
- SetSuccessor(s, r);
390
- return;
391
- }
392
- #endif
312
+ CPpmd_State *s = &p->FoundState[i];
313
+ s->Symbol = (Byte)i;
314
+ s->Freq = 1;
315
+ SetSuccessor(s, 0);
393
316
  }
394
317
 
395
318
  for (i = 0; i < 128; i++)
396
-
397
-
398
-
399
319
  for (k = 0; k < 8; k++)
400
320
  {
401
- unsigned m;
402
321
  UInt16 *dest = p->BinSumm[i] + k;
403
- const UInt16 val = (UInt16)(PPMD_BIN_SCALE - PPMD7_kInitBinEsc[k] / (i + 2));
322
+ UInt16 val = (UInt16)(PPMD_BIN_SCALE - kInitBinEsc[k] / (i + 2));
404
323
  for (m = 0; m < 64; m += 8)
405
324
  dest[m] = val;
406
325
  }
407
-
408
-
326
+
409
327
  for (i = 0; i < 25; i++)
410
- {
411
-
412
- CPpmd_See *s = p->See[i];
413
-
414
-
415
-
416
- unsigned summ = ((5 * i + 10) << (PPMD_PERIOD_BITS - 4));
417
- for (k = 0; k < 16; k++, s++)
328
+ for (k = 0; k < 16; k++)
418
329
  {
419
- s->Summ = (UInt16)summ;
420
- s->Shift = (PPMD_PERIOD_BITS - 4);
330
+ CPpmd_See *s = &p->See[i][k];
331
+ s->Summ = (UInt16)((5 * i + 10) << (s->Shift = PPMD_PERIOD_BITS - 4));
421
332
  s->Count = 4;
422
333
  }
423
- }
424
-
425
- p->DummySee.Summ = 0; /* unused */
426
- p->DummySee.Shift = PPMD_PERIOD_BITS;
427
- p->DummySee.Count = 64; /* unused */
428
334
  }
429
335
 
430
-
431
336
  void Ppmd7_Init(CPpmd7 *p, unsigned maxOrder)
432
337
  {
433
338
  p->MaxOrder = maxOrder;
434
-
435
- Ppmd7_RestartModel(p);
339
+ RestartModel(p);
340
+ p->DummySee.Shift = PPMD_PERIOD_BITS;
341
+ p->DummySee.Summ = 0; /* unused */
342
+ p->DummySee.Count = 64; /* unused */
436
343
  }
437
344
 
438
-
439
-
440
- /*
441
- Ppmd7_CreateSuccessors()
442
- It's called when (FoundState->Successor) is RAW-Successor,
443
- that is the link to position in Raw text.
444
- So we create Context records and write the links to
445
- FoundState->Successor and to identical RAW-Successors in suffix
446
- contexts of MinContex.
447
-
448
- The function returns:
449
- if (OrderFall == 0) then MinContext is already at MAX order,
450
- { return pointer to new or existing context of same MAX order }
451
- else
452
- { return pointer to new real context that will be (Order+1) in comparison with MinContext
453
-
454
- also it can return pointer to real context of same order,
455
- */
456
-
457
- Z7_NO_INLINE
458
- static PPMD7_CTX_PTR Ppmd7_CreateSuccessors(CPpmd7 *p)
345
+ static CTX_PTR CreateSuccessors(CPpmd7 *p, BoolInt skip)
459
346
  {
460
- PPMD7_CTX_PTR c = p->MinContext;
347
+ CPpmd_State upState;
348
+ CTX_PTR c = p->MinContext;
461
349
  CPpmd_Byte_Ref upBranch = (CPpmd_Byte_Ref)SUCCESSOR(p->FoundState);
462
- Byte newSym, newFreq;
463
- unsigned numPs = 0;
464
350
  CPpmd_State *ps[PPMD7_MAX_ORDER];
465
-
466
- if (p->OrderFall != 0)
351
+ unsigned numPs = 0;
352
+
353
+ if (!skip)
467
354
  ps[numPs++] = p->FoundState;
468
355
 
469
356
  while (c->Suffix)
@@ -471,83 +358,54 @@ static PPMD7_CTX_PTR Ppmd7_CreateSuccessors(CPpmd7 *p)
471
358
  CPpmd_Void_Ref successor;
472
359
  CPpmd_State *s;
473
360
  c = SUFFIX(c);
474
-
475
-
476
361
  if (c->NumStats != 1)
477
362
  {
478
- Byte sym = p->FoundState->Symbol;
479
- for (s = STATS(c); s->Symbol != sym; s++);
480
-
363
+ for (s = STATS(c); s->Symbol != p->FoundState->Symbol; s++);
481
364
  }
482
365
  else
483
- {
484
366
  s = ONE_STATE(c);
485
-
486
- }
487
367
  successor = SUCCESSOR(s);
488
368
  if (successor != upBranch)
489
369
  {
490
- // (c) is real record Context here,
491
370
  c = CTX(successor);
492
371
  if (numPs == 0)
493
- {
494
- // (c) is real record MAX Order Context here,
495
- // So we don't need to create any new contexts.
496
372
  return c;
497
- }
498
373
  break;
499
374
  }
500
375
  ps[numPs++] = s;
501
376
  }
502
377
 
503
- // All created contexts will have single-symbol with new RAW-Successor
504
- // All new RAW-Successors will point to next position in RAW text
505
- // after FoundState->Successor
506
-
507
- newSym = *(const Byte *)Ppmd7_GetPtr(p, upBranch);
508
- upBranch++;
509
-
378
+ upState.Symbol = *(const Byte *)Ppmd7_GetPtr(p, upBranch);
379
+ SetSuccessor(&upState, upBranch + 1);
510
380
 
511
381
  if (c->NumStats == 1)
512
- newFreq = ONE_STATE(c)->Freq;
382
+ upState.Freq = ONE_STATE(c)->Freq;
513
383
  else
514
384
  {
515
385
  UInt32 cf, s0;
516
386
  CPpmd_State *s;
517
- for (s = STATS(c); s->Symbol != newSym; s++);
518
- cf = (UInt32)s->Freq - 1;
519
- s0 = (UInt32)c->Union2.SummFreq - c->NumStats - cf;
520
- /*
521
- cf - is frequency of symbol that will be Successor in new context records.
522
- s0 - is commulative frequency sum of another symbols from parent context.
523
- max(newFreq)= (s->Freq + 1), when (s0 == 1)
524
- we have requirement (Ppmd7Context_OneState()->Freq <= 128) in BinSumm[]
525
- so (s->Freq < 128) - is requirement for multi-symbol contexts
526
- */
527
- newFreq = (Byte)(1 + ((2 * cf <= s0) ? (5 * cf > s0) : (2 * cf + s0 - 1) / (2 * s0) + 1));
387
+ for (s = STATS(c); s->Symbol != upState.Symbol; s++);
388
+ cf = s->Freq - 1;
389
+ s0 = c->SummFreq - c->NumStats - cf;
390
+ upState.Freq = (Byte)(1 + ((2 * cf <= s0) ? (5 * cf > s0) : ((2 * cf + 3 * s0 - 1) / (2 * s0))));
528
391
  }
529
392
 
530
- // Create new single-symbol contexts from low order to high order in loop
531
-
532
393
  do
533
394
  {
534
- PPMD7_CTX_PTR c1;
535
- /* = AllocContext(p); */
395
+ /* Create Child */
396
+ CTX_PTR c1; /* = AllocContext(p); */
536
397
  if (p->HiUnit != p->LoUnit)
537
- c1 = (PPMD7_CTX_PTR)(void *)(p->HiUnit -= UNIT_SIZE);
398
+ c1 = (CTX_PTR)(p->HiUnit -= UNIT_SIZE);
538
399
  else if (p->FreeList[0] != 0)
539
- c1 = (PPMD7_CTX_PTR)Ppmd7_RemoveNode(p, 0);
400
+ c1 = (CTX_PTR)RemoveNode(p, 0);
540
401
  else
541
402
  {
542
- c1 = (PPMD7_CTX_PTR)Ppmd7_AllocUnitsRare(p, 0);
403
+ c1 = (CTX_PTR)AllocUnitsRare(p, 0);
543
404
  if (!c1)
544
405
  return NULL;
545
406
  }
546
-
547
407
  c1->NumStats = 1;
548
- ONE_STATE(c1)->Symbol = newSym;
549
- ONE_STATE(c1)->Freq = newFreq;
550
- SetSuccessor(ONE_STATE(c1), upBranch);
408
+ *ONE_STATE(c1) = upState;
551
409
  c1->Suffix = REF(c);
552
410
  SetSuccessor(ps[--numPs], REF(c1));
553
411
  c = c1;
@@ -557,26 +415,21 @@ static PPMD7_CTX_PTR Ppmd7_CreateSuccessors(CPpmd7 *p)
557
415
  return c;
558
416
  }
559
417
 
418
+ static void SwapStates(CPpmd_State *t1, CPpmd_State *t2)
419
+ {
420
+ CPpmd_State tmp = *t1;
421
+ *t1 = *t2;
422
+ *t2 = tmp;
423
+ }
560
424
 
561
-
562
- #define SWAP_STATES(s) \
563
- { CPpmd_State tmp = s[0]; s[0] = s[-1]; s[-1] = tmp; }
564
-
565
-
566
- void Ppmd7_UpdateModel(CPpmd7 *p);
567
- Z7_NO_INLINE
568
- void Ppmd7_UpdateModel(CPpmd7 *p)
425
+ static void UpdateModel(CPpmd7 *p)
569
426
  {
570
- CPpmd_Void_Ref maxSuccessor, minSuccessor;
571
- PPMD7_CTX_PTR c, mc;
427
+ CPpmd_Void_Ref successor, fSuccessor = SUCCESSOR(p->FoundState);
428
+ CTX_PTR c;
572
429
  unsigned s0, ns;
573
-
574
-
575
-
430
+
576
431
  if (p->FoundState->Freq < MAX_FREQ / 4 && p->MinContext->Suffix != 0)
577
432
  {
578
- /* Update Freqs in Suffix Context */
579
-
580
433
  c = SUFFIX(p->MinContext);
581
434
 
582
435
  if (c->NumStats == 1)
@@ -588,273 +441,166 @@ void Ppmd7_UpdateModel(CPpmd7 *p)
588
441
  else
589
442
  {
590
443
  CPpmd_State *s = STATS(c);
591
- Byte sym = p->FoundState->Symbol;
592
-
593
- if (s->Symbol != sym)
444
+ if (s->Symbol != p->FoundState->Symbol)
594
445
  {
595
- do
596
- {
597
- // s++; if (s->Symbol == sym) break;
598
- s++;
599
- }
600
- while (s->Symbol != sym);
601
-
446
+ do { s++; } while (s->Symbol != p->FoundState->Symbol);
602
447
  if (s[0].Freq >= s[-1].Freq)
603
448
  {
604
- SWAP_STATES(s)
449
+ SwapStates(&s[0], &s[-1]);
605
450
  s--;
606
451
  }
607
452
  }
608
-
609
453
  if (s->Freq < MAX_FREQ - 9)
610
454
  {
611
- s->Freq = (Byte)(s->Freq + 2);
612
- c->Union2.SummFreq = (UInt16)(c->Union2.SummFreq + 2);
455
+ s->Freq += 2;
456
+ c->SummFreq += 2;
613
457
  }
614
458
  }
615
459
  }
616
460
 
617
-
618
461
  if (p->OrderFall == 0)
619
462
  {
620
- /* MAX ORDER context */
621
- /* (FoundState->Successor) is RAW-Successor. */
622
- p->MaxContext = p->MinContext = Ppmd7_CreateSuccessors(p);
623
- if (!p->MinContext)
463
+ p->MinContext = p->MaxContext = CreateSuccessors(p, True);
464
+ if (p->MinContext == 0)
624
465
  {
625
- Ppmd7_RestartModel(p);
466
+ RestartModel(p);
626
467
  return;
627
468
  }
628
469
  SetSuccessor(p->FoundState, REF(p->MinContext));
629
470
  return;
630
471
  }
631
-
632
-
633
- /* NON-MAX ORDER context */
634
472
 
473
+ *p->Text++ = p->FoundState->Symbol;
474
+ successor = REF(p->Text);
475
+ if (p->Text >= p->UnitsStart)
635
476
  {
636
- Byte *text = p->Text;
637
- *text++ = p->FoundState->Symbol;
638
- p->Text = text;
639
- if (text >= p->UnitsStart)
640
- {
641
- Ppmd7_RestartModel(p);
642
- return;
643
- }
644
- maxSuccessor = REF(text);
477
+ RestartModel(p);
478
+ return;
645
479
  }
646
480
 
647
- minSuccessor = SUCCESSOR(p->FoundState);
648
-
649
- if (minSuccessor)
481
+ if (fSuccessor)
650
482
  {
651
- // there is Successor for FoundState in MinContext.
652
- // So the next context will be one order higher than MinContext.
653
-
654
- if (minSuccessor <= maxSuccessor)
483
+ if (fSuccessor <= successor)
655
484
  {
656
- // minSuccessor is RAW-Successor. So we will create real contexts records:
657
- PPMD7_CTX_PTR cs = Ppmd7_CreateSuccessors(p);
658
- if (!cs)
485
+ CTX_PTR cs = CreateSuccessors(p, False);
486
+ if (cs == NULL)
659
487
  {
660
- Ppmd7_RestartModel(p);
488
+ RestartModel(p);
661
489
  return;
662
490
  }
663
- minSuccessor = REF(cs);
491
+ fSuccessor = REF(cs);
664
492
  }
665
-
666
- // minSuccessor now is real Context pointer that points to existing (Order+1) context
667
-
668
493
  if (--p->OrderFall == 0)
669
494
  {
670
- /*
671
- if we move to MaxOrder context, then minSuccessor will be common Succesor for both:
672
- MinContext that is (MaxOrder - 1)
673
- MaxContext that is (MaxOrder)
674
- so we don't need new RAW-Successor, and we can use real minSuccessor
675
- as succssors for both MinContext and MaxContext.
676
- */
677
- maxSuccessor = minSuccessor;
678
-
679
- /*
680
- if (MaxContext != MinContext)
681
- {
682
- there was order fall from MaxOrder and we don't need current symbol
683
- to transfer some RAW-Succesors to real contexts.
684
- So we roll back pointer in raw data for one position.
685
- }
686
- */
495
+ successor = fSuccessor;
687
496
  p->Text -= (p->MaxContext != p->MinContext);
688
497
  }
689
498
  }
690
499
  else
691
500
  {
692
- /*
693
- FoundState has NULL-Successor here.
694
- And only root 0-order context can contain NULL-Successors.
695
- We change Successor in FoundState to RAW-Successor,
696
- And next context will be same 0-order root Context.
697
- */
698
- SetSuccessor(p->FoundState, maxSuccessor);
699
- minSuccessor = REF(p->MinContext);
501
+ SetSuccessor(p->FoundState, successor);
502
+ fSuccessor = REF(p->MinContext);
700
503
  }
701
-
702
- mc = p->MinContext;
703
- c = p->MaxContext;
704
-
705
- p->MaxContext = p->MinContext = CTX(minSuccessor);
706
-
707
- if (c == mc)
708
- return;
709
-
710
- // s0 : is pure Escape Freq
711
- s0 = mc->Union2.SummFreq - (ns = mc->NumStats) - ((unsigned)p->FoundState->Freq - 1);
712
-
713
- do
504
+
505
+ s0 = p->MinContext->SummFreq - (ns = p->MinContext->NumStats) - (p->FoundState->Freq - 1);
506
+
507
+ for (c = p->MaxContext; c != p->MinContext; c = SUFFIX(c))
714
508
  {
715
509
  unsigned ns1;
716
- UInt32 sum;
717
-
510
+ UInt32 cf, sf;
718
511
  if ((ns1 = c->NumStats) != 1)
719
512
  {
720
513
  if ((ns1 & 1) == 0)
721
514
  {
722
515
  /* Expand for one UNIT */
723
- const unsigned oldNU = ns1 >> 1;
724
- const unsigned i = U2I(oldNU);
516
+ unsigned oldNU = ns1 >> 1;
517
+ unsigned i = U2I(oldNU);
725
518
  if (i != U2I((size_t)oldNU + 1))
726
519
  {
727
- void *ptr = Ppmd7_AllocUnits(p, i + 1);
520
+ void *ptr = AllocUnits(p, i + 1);
728
521
  void *oldPtr;
729
522
  if (!ptr)
730
523
  {
731
- Ppmd7_RestartModel(p);
524
+ RestartModel(p);
732
525
  return;
733
526
  }
734
527
  oldPtr = STATS(c);
735
- MEM_12_CPY(ptr, oldPtr, oldNU)
736
- Ppmd7_InsertNode(p, oldPtr, i);
737
- c->Union4.Stats = STATS_REF(ptr);
528
+ MyMem12Cpy(ptr, oldPtr, oldNU);
529
+ InsertNode(p, oldPtr, i);
530
+ c->Stats = STATS_REF(ptr);
738
531
  }
739
532
  }
740
- sum = c->Union2.SummFreq;
741
- /* max increase of Escape_Freq is 3 here.
742
- total increase of Union2.SummFreq for all symbols is less than 256 here */
743
- sum += (UInt32)(unsigned)((2 * ns1 < ns) + 2 * ((unsigned)(4 * ns1 <= ns) & (sum <= 8 * ns1)));
744
- /* original PPMdH uses 16-bit variable for (sum) here.
745
- But (sum < 0x9000). So we don't truncate (sum) to 16-bit */
746
- // sum = (UInt16)sum;
533
+ c->SummFreq = (UInt16)(c->SummFreq + (2 * ns1 < ns) + 2 * ((4 * ns1 <= ns) & (c->SummFreq <= 8 * ns1)));
747
534
  }
748
535
  else
749
536
  {
750
- // instead of One-symbol context we create 2-symbol context
751
- CPpmd_State *s = (CPpmd_State*)Ppmd7_AllocUnits(p, 0);
537
+ CPpmd_State *s = (CPpmd_State*)AllocUnits(p, 0);
752
538
  if (!s)
753
539
  {
754
- Ppmd7_RestartModel(p);
540
+ RestartModel(p);
755
541
  return;
756
542
  }
757
- {
758
- unsigned freq = c->Union2.State2.Freq;
759
- // s = *ONE_STATE(c);
760
- s->Symbol = c->Union2.State2.Symbol;
761
- s->Successor_0 = c->Union4.State4.Successor_0;
762
- s->Successor_1 = c->Union4.State4.Successor_1;
763
- // SetSuccessor(s, c->Union4.Stats); // call it only for debug purposes to check the order of
764
- // (Successor_0 and Successor_1) in LE/BE.
765
- c->Union4.Stats = REF(s);
766
- if (freq < MAX_FREQ / 4 - 1)
767
- freq <<= 1;
768
- else
769
- freq = MAX_FREQ - 4;
770
- // (max(s->freq) == 120), when we convert from 1-symbol into 2-symbol context
771
- s->Freq = (Byte)freq;
772
- // max(InitEsc = PPMD7_kExpEscape[*]) is 25. So the max(escapeFreq) is 26 here
773
- sum = (UInt32)(freq + p->InitEsc + (ns > 3));
774
- }
543
+ *s = *ONE_STATE(c);
544
+ c->Stats = REF(s);
545
+ if (s->Freq < MAX_FREQ / 4 - 1)
546
+ s->Freq <<= 1;
547
+ else
548
+ s->Freq = MAX_FREQ - 4;
549
+ c->SummFreq = (UInt16)(s->Freq + p->InitEsc + (ns > 3));
550
+ }
551
+ cf = 2 * (UInt32)p->FoundState->Freq * (c->SummFreq + 6);
552
+ sf = (UInt32)s0 + c->SummFreq;
553
+ if (cf < 6 * sf)
554
+ {
555
+ cf = 1 + (cf > sf) + (cf >= 4 * sf);
556
+ c->SummFreq += 3;
557
+ }
558
+ else
559
+ {
560
+ cf = 4 + (cf >= 9 * sf) + (cf >= 12 * sf) + (cf >= 15 * sf);
561
+ c->SummFreq = (UInt16)(c->SummFreq + cf);
775
562
  }
776
-
777
563
  {
778
564
  CPpmd_State *s = STATS(c) + ns1;
779
- UInt32 cf = 2 * (sum + 6) * (UInt32)p->FoundState->Freq;
780
- UInt32 sf = (UInt32)s0 + sum;
565
+ SetSuccessor(s, successor);
781
566
  s->Symbol = p->FoundState->Symbol;
782
- c->NumStats = (UInt16)(ns1 + 1);
783
- SetSuccessor(s, maxSuccessor);
784
-
785
- if (cf < 6 * sf)
786
- {
787
- cf = (UInt32)1 + (cf > sf) + (cf >= 4 * sf);
788
- sum += 3;
789
- /* It can add (0, 1, 2) to Escape_Freq */
790
- }
791
- else
792
- {
793
- cf = (UInt32)4 + (cf >= 9 * sf) + (cf >= 12 * sf) + (cf >= 15 * sf);
794
- sum += cf;
795
- }
796
-
797
- c->Union2.SummFreq = (UInt16)sum;
798
567
  s->Freq = (Byte)cf;
568
+ c->NumStats = (UInt16)(ns1 + 1);
799
569
  }
800
- c = SUFFIX(c);
801
570
  }
802
- while (c != mc);
571
+ p->MaxContext = p->MinContext = CTX(fSuccessor);
803
572
  }
804
573
 
805
-
806
-
807
- Z7_NO_INLINE
808
- static void Ppmd7_Rescale(CPpmd7 *p)
574
+ static void Rescale(CPpmd7 *p)
809
575
  {
810
576
  unsigned i, adder, sumFreq, escFreq;
811
577
  CPpmd_State *stats = STATS(p->MinContext);
812
578
  CPpmd_State *s = p->FoundState;
813
-
814
- /* Sort the list by Freq */
815
- if (s != stats)
816
579
  {
817
580
  CPpmd_State tmp = *s;
818
- do
581
+ for (; s != stats; s--)
819
582
  s[0] = s[-1];
820
- while (--s != stats);
821
583
  *s = tmp;
822
584
  }
823
-
824
- sumFreq = s->Freq;
825
- escFreq = p->MinContext->Union2.SummFreq - sumFreq;
826
-
827
- /*
828
- if (p->OrderFall == 0), adder = 0 : it's allowed to remove symbol from MAX Order context
829
- if (p->OrderFall != 0), adder = 1 : it's NOT allowed to remove symbol from NON-MAX Order context
830
- */
831
-
585
+ escFreq = p->MinContext->SummFreq - s->Freq;
586
+ s->Freq += 4;
832
587
  adder = (p->OrderFall != 0);
833
-
834
- #ifdef PPMD7_ORDER_0_SUPPPORT
835
- adder |= (p->MaxOrder == 0); // we don't remove symbols from order-0 context
836
- #endif
837
-
838
- sumFreq = (sumFreq + 4 + adder) >> 1;
839
- i = (unsigned)p->MinContext->NumStats - 1;
840
- s->Freq = (Byte)sumFreq;
588
+ s->Freq = (Byte)((s->Freq + adder) >> 1);
589
+ sumFreq = s->Freq;
841
590
 
591
+ i = p->MinContext->NumStats - 1;
842
592
  do
843
593
  {
844
- unsigned freq = (++s)->Freq;
845
- escFreq -= freq;
846
- freq = (freq + adder) >> 1;
847
- sumFreq += freq;
848
- s->Freq = (Byte)freq;
849
- if (freq > s[-1].Freq)
594
+ escFreq -= (++s)->Freq;
595
+ s->Freq = (Byte)((s->Freq + adder) >> 1);
596
+ sumFreq += s->Freq;
597
+ if (s[0].Freq > s[-1].Freq)
850
598
  {
851
- CPpmd_State tmp = *s;
852
599
  CPpmd_State *s1 = s;
600
+ CPpmd_State tmp = *s1;
853
601
  do
854
- {
855
602
  s1[0] = s1[-1];
856
- }
857
- while (--s1 != stats && freq > s1[-1].Freq);
603
+ while (--s1 != stats && tmp.Freq > s1[-1].Freq);
858
604
  *s1 = tmp;
859
605
  }
860
606
  }
@@ -862,90 +608,48 @@ static void Ppmd7_Rescale(CPpmd7 *p)
862
608
 
863
609
  if (s->Freq == 0)
864
610
  {
865
- /* Remove all items with Freq == 0 */
866
- CPpmd7_Context *mc;
867
- unsigned numStats, numStatsNew, n0, n1;
868
-
869
- i = 0; do { i++; } while ((--s)->Freq == 0);
870
-
871
- /* We increase (escFreq) for the number of removed symbols.
872
- So we will have (0.5) increase for Escape_Freq in avarage per
873
- removed symbol after Escape_Freq halving */
611
+ unsigned numStats = p->MinContext->NumStats;
612
+ unsigned n0, n1;
613
+ do { i++; } while ((--s)->Freq == 0);
874
614
  escFreq += i;
875
- mc = p->MinContext;
876
- numStats = mc->NumStats;
877
- numStatsNew = numStats - i;
878
- mc->NumStats = (UInt16)(numStatsNew);
879
- n0 = (numStats + 1) >> 1;
880
-
881
- if (numStatsNew == 1)
615
+ p->MinContext->NumStats = (UInt16)(p->MinContext->NumStats - i);
616
+ if (p->MinContext->NumStats == 1)
882
617
  {
883
- /* Create Single-Symbol context */
884
- unsigned freq = stats->Freq;
885
-
618
+ CPpmd_State tmp = *stats;
886
619
  do
887
620
  {
621
+ tmp.Freq = (Byte)(tmp.Freq - (tmp.Freq >> 1));
888
622
  escFreq >>= 1;
889
- freq = (freq + 1) >> 1;
890
623
  }
891
624
  while (escFreq > 1);
892
-
893
- s = ONE_STATE(mc);
894
- *s = *stats;
895
- s->Freq = (Byte)freq; // (freq <= 260 / 4)
896
- p->FoundState = s;
897
- Ppmd7_InsertNode(p, stats, U2I(n0));
625
+ InsertNode(p, stats, U2I(((numStats + 1) >> 1)));
626
+ *(p->FoundState = ONE_STATE(p->MinContext)) = tmp;
898
627
  return;
899
628
  }
900
-
901
- n1 = (numStatsNew + 1) >> 1;
629
+ n0 = (numStats + 1) >> 1;
630
+ n1 = (p->MinContext->NumStats + 1) >> 1;
902
631
  if (n0 != n1)
903
- {
904
- // p->MinContext->Union4.Stats = STATS_REF(ShrinkUnits(p, stats, n0, n1));
905
- unsigned i0 = U2I(n0);
906
- unsigned i1 = U2I(n1);
907
- if (i0 != i1)
908
- {
909
- if (p->FreeList[i1] != 0)
910
- {
911
- void *ptr = Ppmd7_RemoveNode(p, i1);
912
- p->MinContext->Union4.Stats = STATS_REF(ptr);
913
- MEM_12_CPY(ptr, (const void *)stats, n1)
914
- Ppmd7_InsertNode(p, stats, i0);
915
- }
916
- else
917
- Ppmd7_SplitBlock(p, stats, i0, i1);
918
- }
919
- }
920
- }
921
- {
922
- CPpmd7_Context *mc = p->MinContext;
923
- mc->Union2.SummFreq = (UInt16)(sumFreq + escFreq - (escFreq >> 1));
924
- // Escape_Freq halving here
925
- p->FoundState = STATS(mc);
632
+ p->MinContext->Stats = STATS_REF(ShrinkUnits(p, stats, n0, n1));
926
633
  }
634
+ p->MinContext->SummFreq = (UInt16)(sumFreq + escFreq - (escFreq >> 1));
635
+ p->FoundState = STATS(p->MinContext);
927
636
  }
928
637
 
929
-
930
638
  CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *escFreq)
931
639
  {
932
640
  CPpmd_See *see;
933
- const CPpmd7_Context *mc = p->MinContext;
934
- unsigned numStats = mc->NumStats;
935
- if (numStats != 256)
641
+ unsigned nonMasked = p->MinContext->NumStats - numMasked;
642
+ if (p->MinContext->NumStats != 256)
936
643
  {
937
- unsigned nonMasked = numStats - numMasked;
938
- see = p->See[(unsigned)p->NS2Indx[(size_t)nonMasked - 1]]
939
- + (nonMasked < (unsigned)SUFFIX(mc)->NumStats - numStats)
940
- + 2 * (unsigned)(mc->Union2.SummFreq < 11 * numStats)
941
- + 4 * (unsigned)(numMasked > nonMasked) +
644
+ see = p->See[(unsigned)p->NS2Indx[(size_t)nonMasked - 1]] +
645
+ (nonMasked < (unsigned)SUFFIX(p->MinContext)->NumStats - p->MinContext->NumStats) +
646
+ 2 * (unsigned)(p->MinContext->SummFreq < 11 * p->MinContext->NumStats) +
647
+ 4 * (unsigned)(numMasked > nonMasked) +
942
648
  p->HiBitsFlag;
943
649
  {
944
- // if (see->Summ) field is larger than 16-bit, we need only low 16 bits of Summ
945
- const unsigned summ = (UInt16)see->Summ; // & 0xFFFF
946
- const unsigned r = (summ >> see->Shift);
947
- see->Summ = (UInt16)(summ - r);
948
- *escFreq = (UInt32)(r + (r == 0));
650
+ unsigned r = (see->Summ >> see->Shift);
651
+ see->Summ = (UInt16)(see->Summ - r);
652
+ *escFreq = r + (r == 0);
949
653
  }
950
654
  }
951
655
  else
@@ -956,176 +660,53 @@ CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *escFreq)
956
660
  return see;
957
661
  }
958
662
 
959
-
960
- static void Ppmd7_NextContext(CPpmd7 *p)
663
+ static void NextContext(CPpmd7 *p)
961
664
  {
962
- PPMD7_CTX_PTR c = CTX(SUCCESSOR(p->FoundState));
963
- if (p->OrderFall == 0 && (const Byte *)c > p->Text)
964
- p->MaxContext = p->MinContext = c;
665
+ CTX_PTR c = CTX(SUCCESSOR(p->FoundState));
666
+ if (p->OrderFall == 0 && (Byte *)c > p->Text)
667
+ p->MinContext = p->MaxContext = c;
965
668
  else
966
- Ppmd7_UpdateModel(p);
669
+ UpdateModel(p);
967
670
  }
968
671
 
969
-
970
672
  void Ppmd7_Update1(CPpmd7 *p)
971
673
  {
972
674
  CPpmd_State *s = p->FoundState;
973
- unsigned freq = s->Freq;
974
- freq += 4;
975
- p->MinContext->Union2.SummFreq = (UInt16)(p->MinContext->Union2.SummFreq + 4);
976
- s->Freq = (Byte)freq;
977
- if (freq > s[-1].Freq)
675
+ s->Freq += 4;
676
+ p->MinContext->SummFreq += 4;
677
+ if (s[0].Freq > s[-1].Freq)
978
678
  {
979
- SWAP_STATES(s)
679
+ SwapStates(&s[0], &s[-1]);
980
680
  p->FoundState = --s;
981
- if (freq > MAX_FREQ)
982
- Ppmd7_Rescale(p);
681
+ if (s->Freq > MAX_FREQ)
682
+ Rescale(p);
983
683
  }
984
- Ppmd7_NextContext(p);
684
+ NextContext(p);
985
685
  }
986
686
 
987
-
988
687
  void Ppmd7_Update1_0(CPpmd7 *p)
989
688
  {
990
- CPpmd_State *s = p->FoundState;
991
- CPpmd7_Context *mc = p->MinContext;
992
- unsigned freq = s->Freq;
993
- const unsigned summFreq = mc->Union2.SummFreq;
994
- p->PrevSuccess = (2 * freq > summFreq);
995
- p->RunLength += (Int32)p->PrevSuccess;
996
- mc->Union2.SummFreq = (UInt16)(summFreq + 4);
997
- freq += 4;
998
- s->Freq = (Byte)freq;
999
- if (freq > MAX_FREQ)
1000
- Ppmd7_Rescale(p);
1001
- Ppmd7_NextContext(p);
689
+ p->PrevSuccess = (2 * p->FoundState->Freq > p->MinContext->SummFreq);
690
+ p->RunLength += p->PrevSuccess;
691
+ p->MinContext->SummFreq += 4;
692
+ if ((p->FoundState->Freq += 4) > MAX_FREQ)
693
+ Rescale(p);
694
+ NextContext(p);
1002
695
  }
1003
696
 
1004
-
1005
- /*
1006
697
  void Ppmd7_UpdateBin(CPpmd7 *p)
1007
698
  {
1008
- unsigned freq = p->FoundState->Freq;
1009
- p->FoundState->Freq = (Byte)(freq + (freq < 128));
699
+ p->FoundState->Freq = (Byte)(p->FoundState->Freq + (p->FoundState->Freq < 128 ? 1: 0));
1010
700
  p->PrevSuccess = 1;
1011
701
  p->RunLength++;
1012
- Ppmd7_NextContext(p);
702
+ NextContext(p);
1013
703
  }
1014
- */
1015
704
 
1016
705
  void Ppmd7_Update2(CPpmd7 *p)
1017
706
  {
1018
- CPpmd_State *s = p->FoundState;
1019
- unsigned freq = s->Freq;
1020
- freq += 4;
707
+ p->MinContext->SummFreq += 4;
708
+ if ((p->FoundState->Freq += 4) > MAX_FREQ)
709
+ Rescale(p);
1021
710
  p->RunLength = p->InitRL;
1022
- p->MinContext->Union2.SummFreq = (UInt16)(p->MinContext->Union2.SummFreq + 4);
1023
- s->Freq = (Byte)freq;
1024
- if (freq > MAX_FREQ)
1025
- Ppmd7_Rescale(p);
1026
- Ppmd7_UpdateModel(p);
1027
- }
1028
-
1029
-
1030
-
1031
- /*
1032
- PPMd Memory Map:
1033
- {
1034
- [ 0 ] contains subset of original raw text, that is required to create context
1035
- records, Some symbols are not written, when max order context was reached
1036
- [ Text ] free area
1037
- [ UnitsStart ] CPpmd_State vectors and CPpmd7_Context records
1038
- [ LoUnit ] free area for CPpmd_State and CPpmd7_Context items
1039
- [ HiUnit ] CPpmd7_Context records
1040
- [ Size ] end of array
711
+ UpdateModel(p);
1041
712
  }
1042
-
1043
- These addresses don't cross at any time.
1044
- And the following condtions is true for addresses:
1045
- (0 <= Text < UnitsStart <= LoUnit <= HiUnit <= Size)
1046
-
1047
- Raw text is BYTE--aligned.
1048
- the data in block [ UnitsStart ... Size ] contains 12-bytes aligned UNITs.
1049
-
1050
- Last UNIT of array at offset (Size - 12) is root order-0 CPpmd7_Context record.
1051
- The code can free UNITs memory blocks that were allocated to store CPpmd_State vectors.
1052
- The code doesn't free UNITs allocated for CPpmd7_Context records.
1053
-
1054
- The code calls Ppmd7_RestartModel(), when there is no free memory for allocation.
1055
- And Ppmd7_RestartModel() changes the state to orignal start state, with full free block.
1056
-
1057
-
1058
- The code allocates UNITs with the following order:
1059
-
1060
- Allocation of 1 UNIT for Context record
1061
- - from free space (HiUnit) down to (LoUnit)
1062
- - from FreeList[0]
1063
- - Ppmd7_AllocUnitsRare()
1064
-
1065
- Ppmd7_AllocUnits() for CPpmd_State vectors:
1066
- - from FreeList[i]
1067
- - from free space (LoUnit) up to (HiUnit)
1068
- - Ppmd7_AllocUnitsRare()
1069
-
1070
- Ppmd7_AllocUnitsRare()
1071
- - if (GlueCount == 0)
1072
- { Glue lists, GlueCount = 255, allocate from FreeList[i]] }
1073
- - loop for all higher sized FreeList[...] lists
1074
- - from (UnitsStart - Text), GlueCount--
1075
- - ERROR
1076
-
1077
-
1078
- Each Record with Context contains the CPpmd_State vector, where each
1079
- CPpmd_State contains the link to Successor.
1080
- There are 3 types of Successor:
1081
- 1) NULL-Successor - NULL pointer. NULL-Successor links can be stored
1082
- only in 0-order Root Context Record.
1083
- We use 0 value as NULL-Successor
1084
- 2) RAW-Successor - the link to position in raw text,
1085
- that "RAW-Successor" is being created after first
1086
- occurrence of new symbol for some existing context record.
1087
- (RAW-Successor > 0).
1088
- 3) RECORD-Successor - the link to CPpmd7_Context record of (Order+1),
1089
- that record is being created when we go via RAW-Successor again.
1090
-
1091
- For any successors at any time: the following condtions are true for Successor links:
1092
- (NULL-Successor < RAW-Successor < UnitsStart <= RECORD-Successor)
1093
-
1094
-
1095
- ---------- Symbol Frequency, SummFreq and Range in Range_Coder ----------
1096
-
1097
- CPpmd7_Context::SummFreq = Sum(Stats[].Freq) + Escape_Freq
1098
-
1099
- The PPMd code tries to fulfill the condition:
1100
- (SummFreq <= (256 * 128 = RC::kBot))
1101
-
1102
- We have (Sum(Stats[].Freq) <= 256 * 124), because of (MAX_FREQ = 124)
1103
- So (4 = 128 - 124) is average reserve for Escape_Freq for each symbol.
1104
- If (CPpmd_State::Freq) is not aligned for 4, the reserve can be 5, 6 or 7.
1105
- SummFreq and Escape_Freq can be changed in Ppmd7_Rescale() and *Update*() functions.
1106
- Ppmd7_Rescale() can remove symbols only from max-order contexts. So Escape_Freq can increase after multiple calls of Ppmd7_Rescale() for
1107
- max-order context.
1108
-
1109
- When the PPMd code still break (Total <= RC::Range) condition in range coder,
1110
- we have two ways to resolve that problem:
1111
- 1) we can report error, if we want to keep compatibility with original PPMd code that has no fix for such cases.
1112
- 2) we can reduce (Total) value to (RC::Range) by reducing (Escape_Freq) part of (Total) value.
1113
- */
1114
-
1115
- #undef MAX_FREQ
1116
- #undef UNIT_SIZE
1117
- #undef U2B
1118
- #undef U2I
1119
- #undef I2U
1120
- #undef I2U_UInt16
1121
- #undef REF
1122
- #undef STATS_REF
1123
- #undef CTX
1124
- #undef STATS
1125
- #undef ONE_STATE
1126
- #undef SUFFIX
1127
- #undef NODE
1128
- #undef EMPTY_NODE
1129
- #undef MEM_12_CPY
1130
- #undef SUCCESSOR
1131
- #undef SWAP_STATES