react-native-update 10.59.2 → 10.61.0

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 (877) hide show
  1. package/README-CN.md +13 -7
  2. package/README.md +15 -6
  3. package/android/build.gradle +25 -33
  4. package/android/jni/Android.mk +18 -24
  5. package/android/jni/Application.mk +3 -1
  6. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  7. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  8. package/android/lib/x86/librnpushy.so +0 -0
  9. package/android/lib/x86_64/librnpushy.so +0 -0
  10. package/android/proguard.pro +9 -7
  11. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +3 -8
  12. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +24 -6
  13. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  14. package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +50 -51
  15. package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +12 -13
  16. package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +3 -0
  17. package/android/src/main/java/cn/reactnative/modules/update/CrashHold.java +22 -30
  18. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +284 -452
  19. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +8 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -3
  21. package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +1 -1
  22. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +39 -8
  23. package/android/src/main/java/cn/reactnative/modules/update/HttpClients.java +63 -0
  24. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -45
  25. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +68 -116
  26. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +10 -2
  27. package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +1 -1
  28. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +53 -62
  29. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +9 -24
  30. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  31. package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +42 -80
  32. package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +22 -39
  33. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +474 -500
  34. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  35. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +44 -0
  36. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +265 -188
  37. package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +1 -1
  38. package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +75 -17
  39. package/android/src/main/java/cn/reactnative/modules/update/{UpdateModuleImpl.java → UpdateModule.java} +114 -96
  40. package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +16 -19
  41. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  42. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +71 -0
  43. package/cpp/android_jni/archive_limits_jni.cpp +83 -0
  44. package/cpp/android_jni/install_record_jni.cpp +89 -0
  45. package/cpp/android_jni/jni_log.h +30 -0
  46. package/cpp/android_jni/jni_natives.h +46 -0
  47. package/cpp/android_jni/jni_registration.cpp +146 -0
  48. package/cpp/android_jni/jni_util.h +160 -0
  49. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  50. package/cpp/android_jni/update_core_android.cpp +448 -0
  51. package/cpp/android_jni/update_flow_jni.cpp +150 -0
  52. package/{android/jni → cpp/hpatch}/hpatch.c +5 -5
  53. package/{android/jni → cpp/hpatch}/hpatch.h +4 -1
  54. package/cpp/patch_core/archive_limits.cpp +194 -0
  55. package/cpp/patch_core/archive_limits.h +101 -10
  56. package/cpp/patch_core/archive_patch_core.cpp +98 -15
  57. package/cpp/patch_core/archive_patch_core.h +51 -0
  58. package/cpp/patch_core/digest.h +5 -4
  59. package/cpp/patch_core/error_codes.h +15 -11
  60. package/cpp/patch_core/install_record.cpp +430 -0
  61. package/cpp/patch_core/install_record.h +165 -9
  62. package/cpp/patch_core/native_texts.h +102 -0
  63. package/cpp/patch_core/patch_core.cpp +62 -16
  64. package/cpp/patch_core/patch_core.h +27 -7
  65. package/cpp/patch_core/patch_manifest.cpp +201 -0
  66. package/cpp/patch_core/patch_manifest.h +74 -0
  67. package/cpp/patch_core/resume_plan.cpp +226 -0
  68. package/cpp/patch_core/resume_plan.h +88 -0
  69. package/cpp/patch_core/state_ops.h +5 -3
  70. package/cpp/update_flow_core/flow_json.cpp +82 -8
  71. package/cpp/update_flow_core/flow_json.h +21 -0
  72. package/cpp/update_flow_core/native_config.cpp +436 -0
  73. package/cpp/update_flow_core/native_config.h +84 -0
  74. package/cpp/update_flow_core/native_round.cpp +321 -0
  75. package/cpp/update_flow_core/native_round.h +94 -0
  76. package/cpp/update_flow_core/round_engine.cpp +456 -0
  77. package/cpp/update_flow_core/round_engine.h +106 -0
  78. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  79. package/cpp/update_flow_core/update_flow_core.h +2 -2
  80. package/harmony/hvigor-plugin.ts +11 -19
  81. package/harmony/pushy/src/main/cpp/CMakeLists.txt +19 -26
  82. package/harmony/pushy/src/main/cpp/PushyPackage.h +2 -2
  83. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +57 -94
  84. package/harmony/pushy/src/main/cpp/pushy.cpp +817 -518
  85. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +55 -75
  86. package/harmony/pushy/src/main/ets/DownloadTask.ts +279 -539
  87. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +6 -6
  88. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -15
  89. package/harmony/pushy/src/main/ets/EventHub.ts +1 -1
  90. package/harmony/pushy/src/main/ets/InstallRecord.ts +54 -151
  91. package/harmony/pushy/src/main/ets/Logger.ts +20 -34
  92. package/harmony/pushy/src/main/ets/NativePatchCore.ts +150 -41
  93. package/harmony/pushy/src/main/ets/PushyConfiguration.ts +8 -85
  94. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  95. package/harmony/pushy/src/main/ets/PushyTurboModule.ts +11 -25
  96. package/harmony/pushy/src/main/ets/SaveFile.ts +99 -18
  97. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +291 -543
  98. package/harmony/pushy/src/main/ets/Texts.ts +8 -7
  99. package/harmony/pushy/src/main/ets/UpdateContext.ts +245 -152
  100. package/harmony/pushy.har +0 -0
  101. package/ios/RCTPushy/RCTPushy+Launch.mm +190 -0
  102. package/ios/RCTPushy/RCTPushy.h +12 -0
  103. package/ios/RCTPushy/RCTPushy.mm +135 -2666
  104. package/ios/RCTPushy/RCTPushyCommon.h +28 -0
  105. package/ios/RCTPushy/RCTPushyConfiguration.h +0 -8
  106. package/ios/RCTPushy/RCTPushyConfiguration.mm +40 -123
  107. package/ios/RCTPushy/RCTPushyDownloader.mm +152 -198
  108. package/ios/RCTPushy/RCTPushyInstallRecord.mm +101 -0
  109. package/ios/RCTPushy/RCTPushyInstaller.mm +732 -0
  110. package/ios/RCTPushy/RCTPushyInternal.h +185 -0
  111. package/ios/RCTPushy/RCTPushyOrchestrator.mm +969 -0
  112. package/ios/RCTPushy/RCTPushyState.mm +382 -0
  113. package/package.json +46 -25
  114. package/react-native-update.podspec +73 -82
  115. package/src/client.ts +126 -1633
  116. package/src/clientActivation.ts +324 -0
  117. package/src/clientCheck.ts +405 -0
  118. package/src/clientDownload.ts +448 -0
  119. package/src/clientNativeConfig.ts +171 -0
  120. package/src/clientReporter.ts +398 -0
  121. package/src/clientState.ts +51 -0
  122. package/src/context.ts +1 -1
  123. package/src/core.ts +39 -10
  124. package/src/endpoint.ts +22 -8
  125. package/src/error.ts +18 -35
  126. package/src/i18n.ts +18 -83
  127. package/src/locales/en.ts +1 -5
  128. package/src/locales/zh.ts +1 -5
  129. package/src/provider.tsx +86 -67
  130. package/src/telemetry.ts +0 -13
  131. package/src/type.ts +0 -15
  132. package/src/updateFlowCore.ts +116 -10
  133. package/src/utils.ts +49 -42
  134. package/android/jni/HDiffPatch/.travis.yml +0 -33
  135. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  136. package/android/jni/HDiffPatch/Makefile +0 -157
  137. package/android/jni/HDiffPatch/_atosize.h +0 -83
  138. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  139. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  140. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  141. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  142. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  143. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  144. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  145. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  146. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  147. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  148. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  149. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  150. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  151. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  152. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  153. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  154. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  155. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  156. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  157. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  158. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  159. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  160. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  161. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  162. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  163. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  164. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  165. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  166. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  167. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  168. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  169. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  170. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  171. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  172. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  173. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  174. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  175. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  176. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  177. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  178. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  179. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  180. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  181. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  182. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  183. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  184. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  185. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  186. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  187. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  188. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  189. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  190. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  191. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  192. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  193. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  194. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  195. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  196. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  197. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  198. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  199. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  200. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  201. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  202. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  203. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  204. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  205. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  206. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  207. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  208. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  209. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  210. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  211. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  212. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  213. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  214. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  215. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  216. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  217. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  218. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  219. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  220. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  221. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  222. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  223. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  224. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  225. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  226. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  227. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  228. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  229. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  230. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  231. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  232. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  233. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  234. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  235. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  236. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  237. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  238. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  239. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  240. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  241. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  242. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  243. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  244. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  245. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  246. package/android/jni/lzma/C/7z.h +0 -202
  247. package/android/jni/lzma/C/7zAlloc.c +0 -80
  248. package/android/jni/lzma/C/7zAlloc.h +0 -19
  249. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  250. package/android/jni/lzma/C/7zBuf.c +0 -36
  251. package/android/jni/lzma/C/7zBuf.h +0 -35
  252. package/android/jni/lzma/C/7zBuf2.c +0 -52
  253. package/android/jni/lzma/C/7zCrc.c +0 -128
  254. package/android/jni/lzma/C/7zCrc.h +0 -25
  255. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  256. package/android/jni/lzma/C/7zDec.c +0 -591
  257. package/android/jni/lzma/C/7zFile.c +0 -286
  258. package/android/jni/lzma/C/7zFile.h +0 -83
  259. package/android/jni/lzma/C/7zStream.c +0 -176
  260. package/android/jni/lzma/C/7zVersion.h +0 -27
  261. package/android/jni/lzma/C/7zVersion.rc +0 -55
  262. package/android/jni/lzma/C/Aes.c +0 -306
  263. package/android/jni/lzma/C/Aes.h +0 -38
  264. package/android/jni/lzma/C/AesOpt.c +0 -184
  265. package/android/jni/lzma/C/Alloc.c +0 -455
  266. package/android/jni/lzma/C/Alloc.h +0 -51
  267. package/android/jni/lzma/C/Bcj2.c +0 -257
  268. package/android/jni/lzma/C/Bcj2.h +0 -146
  269. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  270. package/android/jni/lzma/C/Bra.c +0 -230
  271. package/android/jni/lzma/C/Bra.h +0 -64
  272. package/android/jni/lzma/C/Bra86.c +0 -82
  273. package/android/jni/lzma/C/BraIA64.c +0 -53
  274. package/android/jni/lzma/C/CpuArch.c +0 -218
  275. package/android/jni/lzma/C/CpuArch.h +0 -336
  276. package/android/jni/lzma/C/Delta.c +0 -64
  277. package/android/jni/lzma/C/Delta.h +0 -19
  278. package/android/jni/lzma/C/DllSecur.c +0 -108
  279. package/android/jni/lzma/C/DllSecur.h +0 -20
  280. package/android/jni/lzma/C/LzFind.c +0 -1127
  281. package/android/jni/lzma/C/LzFind.h +0 -121
  282. package/android/jni/lzma/C/LzFindMt.c +0 -853
  283. package/android/jni/lzma/C/LzFindMt.h +0 -101
  284. package/android/jni/lzma/C/LzHash.h +0 -57
  285. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  286. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  287. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  288. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  289. package/android/jni/lzma/C/Lzma86.h +0 -111
  290. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  291. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  292. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  293. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  294. package/android/jni/lzma/C/LzmaLib.c +0 -40
  295. package/android/jni/lzma/C/LzmaLib.h +0 -131
  296. package/android/jni/lzma/C/MtCoder.c +0 -601
  297. package/android/jni/lzma/C/MtCoder.h +0 -141
  298. package/android/jni/lzma/C/MtDec.c +0 -1138
  299. package/android/jni/lzma/C/MtDec.h +0 -201
  300. package/android/jni/lzma/C/Ppmd.h +0 -85
  301. package/android/jni/lzma/C/Ppmd7.c +0 -712
  302. package/android/jni/lzma/C/Ppmd7.h +0 -142
  303. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  304. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  305. package/android/jni/lzma/C/RotateDefs.h +0 -30
  306. package/android/jni/lzma/C/Sha256.c +0 -248
  307. package/android/jni/lzma/C/Sha256.h +0 -26
  308. package/android/jni/lzma/C/Sort.c +0 -141
  309. package/android/jni/lzma/C/Sort.h +0 -18
  310. package/android/jni/lzma/C/Threads.c +0 -95
  311. package/android/jni/lzma/C/Threads.h +0 -70
  312. package/android/jni/lzma/C/ThreadsP.c +0 -396
  313. package/android/jni/lzma/C/ThreadsP.h +0 -31
  314. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  315. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  316. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  317. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  318. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  319. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  320. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  321. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  322. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  323. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  324. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  325. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  326. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  327. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  328. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  329. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  330. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  331. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  332. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  333. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  334. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  335. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  336. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  337. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  338. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  339. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  340. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  341. package/android/jni/lzma/C/Xz.c +0 -90
  342. package/android/jni/lzma/C/Xz.h +0 -460
  343. package/android/jni/lzma/C/XzCrc64.c +0 -86
  344. package/android/jni/lzma/C/XzCrc64.h +0 -26
  345. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  346. package/android/jni/lzma/C/XzDec.c +0 -2766
  347. package/android/jni/lzma/C/XzEnc.c +0 -1329
  348. package/android/jni/lzma/C/XzEnc.h +0 -60
  349. package/android/jni/lzma/C/XzIn.c +0 -319
  350. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  351. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  352. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  353. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  354. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  355. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  356. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  357. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  358. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  359. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  360. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  361. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  362. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  363. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  364. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  365. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  366. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  367. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  368. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  369. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  370. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  371. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  372. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  373. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  374. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  375. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  376. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  377. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  378. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  379. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  380. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  381. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  382. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  383. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  384. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  385. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  386. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  387. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  388. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  389. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  390. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  391. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  392. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  393. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  394. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  395. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  396. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  397. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  398. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  399. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  400. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  401. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  402. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  403. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  404. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  405. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  406. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  407. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  408. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  409. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  410. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  411. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  413. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  414. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  415. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  416. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  417. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  418. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  419. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  420. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  421. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  422. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  423. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  424. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  425. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  426. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  427. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  428. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  429. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  430. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  431. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  432. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  433. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  434. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  435. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  436. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  437. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  438. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  439. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  440. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  441. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  442. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  443. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  444. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  445. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  446. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  447. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  448. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  449. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  450. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  451. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  452. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  453. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  454. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  455. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  456. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  457. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  458. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  459. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  460. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  461. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  462. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  463. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  464. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  465. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  466. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  467. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  468. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  469. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  470. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  471. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  472. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  473. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  474. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  475. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  476. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  477. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  478. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  479. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  480. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  481. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  482. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  483. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  484. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  485. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  486. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  487. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  488. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  489. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  490. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  491. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  492. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  493. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  494. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  495. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  496. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  497. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  498. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  499. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  500. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  501. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  502. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  503. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  504. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  505. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  506. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  507. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  508. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  509. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  510. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  511. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  512. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  513. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  514. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  515. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  516. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  517. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  518. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  519. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  520. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  521. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  522. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  523. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  524. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  525. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  526. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  527. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  528. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  529. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  530. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  531. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  532. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  533. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  534. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  535. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  536. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  537. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  538. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  539. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  540. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  541. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  542. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  543. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  544. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  545. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  546. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  547. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  548. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  549. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  550. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  551. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  552. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  553. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  554. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  555. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  556. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  557. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  558. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  559. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  560. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  561. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  562. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  563. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  564. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  565. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  566. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  567. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  568. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  569. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  570. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  571. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  572. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  574. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  575. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  576. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  577. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  578. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  579. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  580. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  581. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  582. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  583. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  584. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  585. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  586. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  587. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  588. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  589. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  590. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  591. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  592. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  593. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  594. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  595. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  596. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  597. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  598. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  599. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  600. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  601. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  602. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  603. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  604. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  605. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  606. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  607. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  608. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  609. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  610. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  611. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  612. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  613. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  614. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  615. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  616. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  617. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  618. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  619. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  620. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  621. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  623. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  624. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  625. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  626. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  627. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  628. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  629. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  631. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  632. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  633. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  634. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  635. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  636. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  637. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  638. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  639. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  640. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  641. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  642. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  643. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  644. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  645. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  646. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  647. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  648. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  649. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  650. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  651. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  652. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  653. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  654. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  655. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  656. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  657. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  658. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  659. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  660. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  661. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  662. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  663. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  664. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  665. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  666. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  667. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  668. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  669. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  670. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  671. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  672. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  673. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  674. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  675. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  676. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  677. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  678. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  679. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  680. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  681. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  682. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  683. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  684. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  685. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  686. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  687. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  688. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  689. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  690. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  691. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  692. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  693. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  694. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  695. package/android/jni/lzma/CPP/Build.mak +0 -156
  696. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  697. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  698. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  699. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  700. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  701. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  702. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  703. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  704. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  705. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  706. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  707. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  708. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  709. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  710. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  711. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  712. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  713. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  714. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  715. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  716. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  717. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  718. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  719. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  720. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  721. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  722. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  723. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  724. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  725. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  726. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  727. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  728. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  729. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  730. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  731. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  732. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  733. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  734. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  735. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  736. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  737. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  738. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  739. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  740. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  741. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  742. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  743. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  744. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  745. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  746. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  747. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  748. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  749. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  750. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  751. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  752. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  753. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  754. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  755. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  756. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  757. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  758. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  759. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  760. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  761. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  762. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  763. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  764. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  765. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  766. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  767. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  768. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  769. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  770. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  771. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  772. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  773. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  774. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  775. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  776. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  777. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  778. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  779. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  780. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  781. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  782. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  783. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  784. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  785. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  786. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  787. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  788. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  789. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  790. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  791. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  792. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  793. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  794. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  795. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  796. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  797. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  798. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  799. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  800. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  801. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  802. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  803. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  804. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  805. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  806. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  807. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  808. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  809. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  810. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  811. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  812. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  813. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  814. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  815. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  816. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  817. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  818. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  819. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  820. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  821. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  822. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  823. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  824. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  825. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  826. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  827. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  828. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  829. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  830. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  831. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  832. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  833. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  834. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  835. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  836. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  837. package/android/jni/lzma/DOC/7zC.txt +0 -187
  838. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  839. package/android/jni/lzma/DOC/Methods.txt +0 -173
  840. package/android/jni/lzma/DOC/installer.txt +0 -166
  841. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  842. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  843. package/android/jni/lzma/DOC/lzma.txt +0 -328
  844. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  845. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  846. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  847. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  848. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  849. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  850. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  851. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  852. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  853. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  854. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  855. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  856. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  857. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  858. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  859. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  860. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  861. package/android/jni/lzma/bin/7zdec.exe +0 -0
  862. package/android/jni/lzma/bin/7zr.exe +0 -0
  863. package/android/jni/lzma/bin/installer/config.txt +0 -5
  864. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  865. package/android/jni/lzma/bin/lzma.exe +0 -0
  866. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  867. package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +0 -6
  868. package/android/src/main/java/cn/reactnative/modules/update/PushyConfiguration.java +0 -104
  869. package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +0 -37
  870. package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +0 -121
  871. package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +0 -125
  872. package/cpp/patch_core/jni_natives.h +0 -27
  873. package/cpp/patch_core/jni_registration.cpp +0 -103
  874. package/cpp/patch_core/jni_util.h +0 -60
  875. package/cpp/patch_core/patch_core_android.cpp +0 -97
  876. package/cpp/patch_core/update_core_android.cpp +0 -485
  877. package/cpp/update_flow_core/update_flow_jni.cpp +0 -150
@@ -1,1666 +0,0 @@
1
- // 7zIn.cpp
2
-
3
- #include "StdAfx.h"
4
-
5
- #ifdef _WIN32
6
- #include <wchar.h>
7
- #else
8
- #include <ctype.h>
9
- #endif
10
-
11
- #include "../../../../C/7zCrc.h"
12
- #include "../../../../C/CpuArch.h"
13
-
14
- #include "../../Common/StreamObjects.h"
15
- #include "../../Common/StreamUtils.h"
16
-
17
- #include "7zDecode.h"
18
- #include "7zIn.h"
19
-
20
- #define Get16(p) GetUi16(p)
21
- #define Get32(p) GetUi32(p)
22
- #define Get64(p) GetUi64(p)
23
-
24
- // define FORMAT_7Z_RECOVERY if you want to recover multivolume archives with empty StartHeader
25
- #ifndef _SFX
26
- #define FORMAT_7Z_RECOVERY
27
- #endif
28
-
29
- using namespace NWindows;
30
- using namespace NCOM;
31
-
32
- namespace NArchive {
33
- namespace N7z {
34
-
35
- unsigned BoolVector_CountSum(const CBoolVector &v)
36
- {
37
- unsigned sum = 0;
38
- const unsigned size = v.Size();
39
- for (unsigned i = 0; i < size; i++)
40
- if (v[i])
41
- sum++;
42
- return sum;
43
- }
44
-
45
- static inline bool BoolVector_Item_IsValidAndTrue(const CBoolVector &v, unsigned i)
46
- {
47
- return (i < v.Size() ? v[i] : false);
48
- }
49
-
50
- static void BoolVector_Fill_False(CBoolVector &v, unsigned size)
51
- {
52
- v.ClearAndSetSize(size);
53
- bool *p = &v[0];
54
- for (unsigned i = 0; i < size; i++)
55
- p[i] = false;
56
- }
57
-
58
-
59
- class CInArchiveException {};
60
- class CUnsupportedFeatureException: public CInArchiveException {};
61
-
62
- static void ThrowException() { throw CInArchiveException(); }
63
- static inline void ThrowEndOfData() { ThrowException(); }
64
- static inline void ThrowUnsupported() { throw CUnsupportedFeatureException(); }
65
- static inline void ThrowIncorrect() { ThrowException(); }
66
-
67
- class CStreamSwitch
68
- {
69
- CInArchive *_archive;
70
- bool _needRemove;
71
- bool _needUpdatePos;
72
- public:
73
- CStreamSwitch(): _needRemove(false), _needUpdatePos(false) {}
74
- ~CStreamSwitch() { Remove(); }
75
- void Remove();
76
- void Set(CInArchive *archive, const Byte *data, size_t size, bool needUpdatePos);
77
- void Set(CInArchive *archive, const CByteBuffer &byteBuffer);
78
- void Set(CInArchive *archive, const CObjectVector<CByteBuffer> *dataVector);
79
- };
80
-
81
- void CStreamSwitch::Remove()
82
- {
83
- if (_needRemove)
84
- {
85
- if (_archive->_inByteBack->GetRem() != 0)
86
- _archive->ThereIsHeaderError = true;
87
- _archive->DeleteByteStream(_needUpdatePos);
88
- _needRemove = false;
89
- }
90
- }
91
-
92
- void CStreamSwitch::Set(CInArchive *archive, const Byte *data, size_t size, bool needUpdatePos)
93
- {
94
- Remove();
95
- _archive = archive;
96
- _archive->AddByteStream(data, size);
97
- _needRemove = true;
98
- _needUpdatePos = needUpdatePos;
99
- }
100
-
101
- void CStreamSwitch::Set(CInArchive *archive, const CByteBuffer &byteBuffer)
102
- {
103
- Set(archive, byteBuffer, byteBuffer.Size(), false);
104
- }
105
-
106
- void CStreamSwitch::Set(CInArchive *archive, const CObjectVector<CByteBuffer> *dataVector)
107
- {
108
- Remove();
109
- Byte external = archive->ReadByte();
110
- if (external != 0)
111
- {
112
- if (!dataVector)
113
- ThrowIncorrect();
114
- CNum dataIndex = archive->ReadNum();
115
- if (dataIndex >= dataVector->Size())
116
- ThrowIncorrect();
117
- Set(archive, (*dataVector)[dataIndex]);
118
- }
119
- }
120
-
121
- void CInArchive::AddByteStream(const Byte *buf, size_t size)
122
- {
123
- if (_numInByteBufs == kNumBufLevelsMax)
124
- ThrowIncorrect();
125
- _inByteBack = &_inByteVector[_numInByteBufs++];
126
- _inByteBack->Init(buf, size);
127
- }
128
-
129
-
130
- Byte CInByte2::ReadByte()
131
- {
132
- if (_pos >= _size)
133
- ThrowEndOfData();
134
- return _buffer[_pos++];
135
- }
136
-
137
- void CInByte2::ReadBytes(Byte *data, size_t size)
138
- {
139
- if (size == 0)
140
- return;
141
- if (size > _size - _pos)
142
- ThrowEndOfData();
143
- memcpy(data, _buffer + _pos, size);
144
- _pos += size;
145
- }
146
-
147
- void CInByte2::SkipData(UInt64 size)
148
- {
149
- if (size > _size - _pos)
150
- ThrowEndOfData();
151
- _pos += (size_t)size;
152
- }
153
-
154
- void CInByte2::SkipData()
155
- {
156
- SkipData(ReadNumber());
157
- }
158
-
159
- static UInt64 ReadNumberSpec(const Byte *p, size_t size, size_t &processed)
160
- {
161
- if (size == 0)
162
- {
163
- processed = 0;
164
- return 0;
165
- }
166
-
167
- unsigned b = *p++;
168
- size--;
169
-
170
- if ((b & 0x80) == 0)
171
- {
172
- processed = 1;
173
- return b;
174
- }
175
-
176
- if (size == 0)
177
- {
178
- processed = 0;
179
- return 0;
180
- }
181
-
182
- UInt64 value = (UInt64)*p;
183
- p++;
184
- size--;
185
-
186
- for (unsigned i = 1; i < 8; i++)
187
- {
188
- unsigned mask = (unsigned)0x80 >> i;
189
- if ((b & mask) == 0)
190
- {
191
- UInt64 high = b & (mask - 1);
192
- value |= (high << (i * 8));
193
- processed = i + 1;
194
- return value;
195
- }
196
-
197
- if (size == 0)
198
- {
199
- processed = 0;
200
- return 0;
201
- }
202
-
203
- value |= ((UInt64)*p << (i * 8));
204
- p++;
205
- size--;
206
- }
207
-
208
- processed = 9;
209
- return value;
210
- }
211
-
212
- UInt64 CInByte2::ReadNumber()
213
- {
214
- size_t processed;
215
- UInt64 res = ReadNumberSpec(_buffer + _pos, _size - _pos, processed);
216
- if (processed == 0)
217
- ThrowEndOfData();
218
- _pos += processed;
219
- return res;
220
- }
221
-
222
- CNum CInByte2::ReadNum()
223
- {
224
- /*
225
- if (_pos < _size)
226
- {
227
- Byte val = _buffer[_pos];
228
- if ((unsigned)val < 0x80)
229
- {
230
- _pos++;
231
- return (unsigned)val;
232
- }
233
- }
234
- */
235
- UInt64 value = ReadNumber();
236
- if (value > kNumMax)
237
- ThrowUnsupported();
238
- return (CNum)value;
239
- }
240
-
241
- UInt32 CInByte2::ReadUInt32()
242
- {
243
- if (_pos + 4 > _size)
244
- ThrowEndOfData();
245
- UInt32 res = Get32(_buffer + _pos);
246
- _pos += 4;
247
- return res;
248
- }
249
-
250
- UInt64 CInByte2::ReadUInt64()
251
- {
252
- if (_pos + 8 > _size)
253
- ThrowEndOfData();
254
- UInt64 res = Get64(_buffer + _pos);
255
- _pos += 8;
256
- return res;
257
- }
258
-
259
- #define CHECK_SIGNATURE if (p[0] != '7' || p[1] != 'z' || p[2] != 0xBC || p[3] != 0xAF || p[4] != 0x27 || p[5] != 0x1C) return false;
260
-
261
- static inline bool TestSignature(const Byte *p)
262
- {
263
- CHECK_SIGNATURE
264
- return CrcCalc(p + 12, 20) == Get32(p + 8);
265
- }
266
-
267
- #ifdef FORMAT_7Z_RECOVERY
268
- static inline bool TestSignature2(const Byte *p)
269
- {
270
- CHECK_SIGNATURE;
271
- if (CrcCalc(p + 12, 20) == Get32(p + 8))
272
- return true;
273
- for (unsigned i = 8; i < kHeaderSize; i++)
274
- if (p[i] != 0)
275
- return false;
276
- return (p[6] != 0 || p[7] != 0);
277
- }
278
- #else
279
- #define TestSignature2(p) TestSignature(p)
280
- #endif
281
-
282
- HRESULT CInArchive::FindAndReadSignature(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
283
- {
284
- RINOK(ReadStream_FALSE(stream, _header, kHeaderSize));
285
-
286
- if (TestSignature2(_header))
287
- return S_OK;
288
- if (searchHeaderSizeLimit && *searchHeaderSizeLimit == 0)
289
- return S_FALSE;
290
-
291
- const UInt32 kBufSize = 1 << 15;
292
- CByteArr buf(kBufSize);
293
- memcpy(buf, _header, kHeaderSize);
294
- UInt64 offset = 0;
295
-
296
- for (;;)
297
- {
298
- UInt32 readSize = kBufSize - kHeaderSize;
299
- if (searchHeaderSizeLimit)
300
- {
301
- UInt64 rem = *searchHeaderSizeLimit - offset;
302
- if (readSize > rem)
303
- readSize = (UInt32)rem;
304
- if (readSize == 0)
305
- return S_FALSE;
306
- }
307
-
308
- UInt32 processed = 0;
309
- RINOK(stream->Read(buf + kHeaderSize, readSize, &processed));
310
- if (processed == 0)
311
- return S_FALSE;
312
-
313
- for (UInt32 pos = 0;;)
314
- {
315
- const Byte *p = buf + pos + 1;
316
- const Byte *lim = buf + processed;
317
- for (; p <= lim; p += 4)
318
- {
319
- if (p[0] == '7') break;
320
- if (p[1] == '7') { p += 1; break; }
321
- if (p[2] == '7') { p += 2; break; }
322
- if (p[3] == '7') { p += 3; break; }
323
- };
324
- if (p > lim)
325
- break;
326
- pos = (UInt32)(p - buf);
327
- if (TestSignature(p))
328
- {
329
- memcpy(_header, p, kHeaderSize);
330
- _arhiveBeginStreamPosition += offset + pos;
331
- return stream->Seek(_arhiveBeginStreamPosition + kHeaderSize, STREAM_SEEK_SET, NULL);
332
- }
333
- }
334
-
335
- offset += processed;
336
- memmove(buf, buf + processed, kHeaderSize);
337
- }
338
- }
339
-
340
- // S_FALSE means that file is not archive
341
- HRESULT CInArchive::Open(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
342
- {
343
- HeadersSize = 0;
344
- Close();
345
- RINOK(stream->Seek(0, STREAM_SEEK_CUR, &_arhiveBeginStreamPosition))
346
- RINOK(stream->Seek(0, STREAM_SEEK_END, &_fileEndPosition))
347
- RINOK(stream->Seek(_arhiveBeginStreamPosition, STREAM_SEEK_SET, NULL))
348
- RINOK(FindAndReadSignature(stream, searchHeaderSizeLimit));
349
- _stream = stream;
350
- return S_OK;
351
- }
352
-
353
- void CInArchive::Close()
354
- {
355
- _numInByteBufs = 0;
356
- _stream.Release();
357
- ThereIsHeaderError = false;
358
- }
359
-
360
- void CInArchive::ReadArchiveProperties(CInArchiveInfo & /* archiveInfo */)
361
- {
362
- for (;;)
363
- {
364
- if (ReadID() == NID::kEnd)
365
- break;
366
- SkipData();
367
- }
368
- }
369
-
370
- // CFolder &folder can be non empty. So we must set all fields
371
-
372
- void CInByte2::ParseFolder(CFolder &folder)
373
- {
374
- UInt32 numCoders = ReadNum();
375
-
376
- if (numCoders == 0)
377
- ThrowUnsupported();
378
-
379
- folder.Coders.SetSize(numCoders);
380
-
381
- UInt32 numInStreams = 0;
382
- UInt32 i;
383
- for (i = 0; i < numCoders; i++)
384
- {
385
- CCoderInfo &coder = folder.Coders[i];
386
- {
387
- Byte mainByte = ReadByte();
388
- if ((mainByte & 0xC0) != 0)
389
- ThrowUnsupported();
390
- unsigned idSize = (mainByte & 0xF);
391
- if (idSize > 8 || idSize > GetRem())
392
- ThrowUnsupported();
393
- const Byte *longID = GetPtr();
394
- UInt64 id = 0;
395
- for (unsigned j = 0; j < idSize; j++)
396
- id = ((id << 8) | longID[j]);
397
- SkipDataNoCheck(idSize);
398
- coder.MethodID = id;
399
-
400
- if ((mainByte & 0x10) != 0)
401
- {
402
- coder.NumStreams = ReadNum();
403
- /* numOutStreams = */ ReadNum();
404
- }
405
- else
406
- {
407
- coder.NumStreams = 1;
408
- }
409
-
410
- if ((mainByte & 0x20) != 0)
411
- {
412
- CNum propsSize = ReadNum();
413
- coder.Props.Alloc((size_t)propsSize);
414
- ReadBytes((Byte *)coder.Props, (size_t)propsSize);
415
- }
416
- else
417
- coder.Props.Free();
418
- }
419
- numInStreams += coder.NumStreams;
420
- }
421
-
422
- UInt32 numBonds = numCoders - 1;
423
- folder.Bonds.SetSize(numBonds);
424
- for (i = 0; i < numBonds; i++)
425
- {
426
- CBond &bp = folder.Bonds[i];
427
- bp.PackIndex = ReadNum();
428
- bp.UnpackIndex = ReadNum();
429
- }
430
-
431
- if (numInStreams < numBonds)
432
- ThrowUnsupported();
433
- UInt32 numPackStreams = numInStreams - numBonds;
434
- folder.PackStreams.SetSize(numPackStreams);
435
-
436
- if (numPackStreams == 1)
437
- {
438
- for (i = 0; i < numInStreams; i++)
439
- if (folder.FindBond_for_PackStream(i) < 0)
440
- {
441
- folder.PackStreams[0] = i;
442
- break;
443
- }
444
- if (i == numInStreams)
445
- ThrowUnsupported();
446
- }
447
- else
448
- for (i = 0; i < numPackStreams; i++)
449
- folder.PackStreams[i] = ReadNum();
450
- }
451
-
452
- void CFolders::ParseFolderInfo(unsigned folderIndex, CFolder &folder) const
453
- {
454
- size_t startPos = FoCodersDataOffset[folderIndex];
455
- CInByte2 inByte;
456
- inByte.Init(CodersData + startPos, FoCodersDataOffset[folderIndex + 1] - startPos);
457
- inByte.ParseFolder(folder);
458
- if (inByte.GetRem() != 0)
459
- throw 20120424;
460
- }
461
-
462
-
463
- void CDatabase::GetPath(unsigned index, UString &path) const
464
- {
465
- path.Empty();
466
- if (!NameOffsets || !NamesBuf)
467
- return;
468
-
469
- size_t offset = NameOffsets[index];
470
- size_t size = NameOffsets[index + 1] - offset;
471
-
472
- if (size >= (1 << 28))
473
- return;
474
-
475
- wchar_t *s = path.GetBuf((unsigned)size - 1);
476
-
477
- const Byte *p = ((const Byte *)NamesBuf + offset * 2);
478
-
479
- #if defined(_WIN32) && defined(MY_CPU_LE)
480
-
481
- wmemcpy(s, (const wchar_t *)p, size);
482
-
483
- #else
484
-
485
- for (size_t i = 0; i < size; i++)
486
- {
487
- *s = Get16(p);
488
- p += 2;
489
- s++;
490
- }
491
-
492
- #endif
493
-
494
- path.ReleaseBuf_SetLen((unsigned)size - 1);
495
- }
496
-
497
- HRESULT CDatabase::GetPath_Prop(unsigned index, PROPVARIANT *path) const throw()
498
- {
499
- PropVariant_Clear(path);
500
- if (!NameOffsets || !NamesBuf)
501
- return S_OK;
502
-
503
- size_t offset = NameOffsets[index];
504
- size_t size = NameOffsets[index + 1] - offset;
505
-
506
- if (size >= (1 << 14))
507
- return S_OK;
508
-
509
- RINOK(PropVarEm_Alloc_Bstr(path, (unsigned)size - 1));
510
- wchar_t *s = path->bstrVal;
511
-
512
- const Byte *p = ((const Byte *)NamesBuf + offset * 2);
513
-
514
- for (size_t i = 0; i < size; i++)
515
- {
516
- wchar_t c = Get16(p);
517
- p += 2;
518
- #if WCHAR_PATH_SEPARATOR != L'/'
519
- if (c == L'/')
520
- c = WCHAR_PATH_SEPARATOR;
521
- #endif
522
- *s++ = c;
523
- }
524
-
525
- return S_OK;
526
-
527
- /*
528
- unsigned cur = index;
529
- unsigned size = 0;
530
-
531
- for (int i = 0;; i++)
532
- {
533
- size_t len = NameOffsets[cur + 1] - NameOffsets[cur];
534
- size += (unsigned)len;
535
- if (i > 256 || len > (1 << 14) || size > (1 << 14))
536
- return PropVarEm_Set_Str(path, "[TOO-LONG]");
537
- cur = Files[cur].Parent;
538
- if (cur < 0)
539
- break;
540
- }
541
- size--;
542
-
543
- RINOK(PropVarEm_Alloc_Bstr(path, size));
544
- wchar_t *s = path->bstrVal;
545
- s += size;
546
- *s = 0;
547
- cur = index;
548
-
549
- for (;;)
550
- {
551
- unsigned len = (unsigned)(NameOffsets[cur + 1] - NameOffsets[cur] - 1);
552
- const Byte *p = (const Byte *)NamesBuf + (NameOffsets[cur + 1] * 2) - 2;
553
- for (; len != 0; len--)
554
- {
555
- p -= 2;
556
- --s;
557
- wchar_t c = Get16(p);
558
- if (c == '/')
559
- c = WCHAR_PATH_SEPARATOR;
560
- *s = c;
561
- }
562
-
563
- const CFileItem &file = Files[cur];
564
- cur = file.Parent;
565
- if (cur < 0)
566
- return S_OK;
567
- *(--s) = (file.IsAltStream ? ':' : WCHAR_PATH_SEPARATOR);
568
- }
569
- */
570
- }
571
-
572
- void CInArchive::WaitId(UInt64 id)
573
- {
574
- for (;;)
575
- {
576
- UInt64 type = ReadID();
577
- if (type == id)
578
- return;
579
- if (type == NID::kEnd)
580
- ThrowIncorrect();
581
- SkipData();
582
- }
583
- }
584
-
585
-
586
- void CInArchive::Read_UInt32_Vector(CUInt32DefVector &v)
587
- {
588
- unsigned numItems = v.Defs.Size();
589
- v.Vals.ClearAndSetSize(numItems);
590
- UInt32 *p = &v.Vals[0];
591
- const bool *defs = &v.Defs[0];
592
- for (unsigned i = 0; i < numItems; i++)
593
- {
594
- UInt32 a = 0;
595
- if (defs[i])
596
- a = ReadUInt32();
597
- p[i] = a;
598
- }
599
- }
600
-
601
-
602
- void CInArchive::ReadHashDigests(unsigned numItems, CUInt32DefVector &crcs)
603
- {
604
- ReadBoolVector2(numItems, crcs.Defs);
605
- Read_UInt32_Vector(crcs);
606
- }
607
-
608
-
609
- #define k_Scan_NumCoders_MAX 64
610
- #define k_Scan_NumCodersStreams_in_Folder_MAX 64
611
-
612
- void CInArchive::ReadPackInfo(CFolders &f)
613
- {
614
- CNum numPackStreams = ReadNum();
615
-
616
- WaitId(NID::kSize);
617
- f.PackPositions.Alloc(numPackStreams + 1);
618
- f.NumPackStreams = numPackStreams;
619
- UInt64 sum = 0;
620
- for (CNum i = 0; i < numPackStreams; i++)
621
- {
622
- f.PackPositions[i] = sum;
623
- UInt64 packSize = ReadNumber();
624
- sum += packSize;
625
- if (sum < packSize)
626
- ThrowIncorrect();
627
- }
628
- f.PackPositions[numPackStreams] = sum;
629
-
630
- UInt64 type;
631
- for (;;)
632
- {
633
- type = ReadID();
634
- if (type == NID::kEnd)
635
- return;
636
- if (type == NID::kCRC)
637
- {
638
- CUInt32DefVector PackCRCs;
639
- ReadHashDigests(numPackStreams, PackCRCs);
640
- continue;
641
- }
642
- SkipData();
643
- }
644
- }
645
-
646
- void CInArchive::ReadUnpackInfo(
647
- const CObjectVector<CByteBuffer> *dataVector,
648
- CFolders &folders)
649
- {
650
- WaitId(NID::kFolder);
651
- CNum numFolders = ReadNum();
652
-
653
- CNum numCodersOutStreams = 0;
654
- {
655
- CStreamSwitch streamSwitch;
656
- streamSwitch.Set(this, dataVector);
657
- const Byte *startBufPtr = _inByteBack->GetPtr();
658
- folders.NumFolders = numFolders;
659
-
660
- folders.FoStartPackStreamIndex.Alloc(numFolders + 1);
661
- folders.FoToMainUnpackSizeIndex.Alloc(numFolders);
662
- folders.FoCodersDataOffset.Alloc(numFolders + 1);
663
- folders.FoToCoderUnpackSizes.Alloc(numFolders + 1);
664
-
665
- CBoolVector StreamUsed;
666
- CBoolVector CoderUsed;
667
-
668
- CNum packStreamIndex = 0;
669
- CNum fo;
670
- CInByte2 *inByte = _inByteBack;
671
-
672
- for (fo = 0; fo < numFolders; fo++)
673
- {
674
- UInt32 indexOfMainStream = 0;
675
- UInt32 numPackStreams = 0;
676
- folders.FoCodersDataOffset[fo] = _inByteBack->GetPtr() - startBufPtr;
677
-
678
- CNum numInStreams = 0;
679
- CNum numCoders = inByte->ReadNum();
680
-
681
- if (numCoders == 0 || numCoders > k_Scan_NumCoders_MAX)
682
- ThrowUnsupported();
683
-
684
- for (CNum ci = 0; ci < numCoders; ci++)
685
- {
686
- Byte mainByte = inByte->ReadByte();
687
- if ((mainByte & 0xC0) != 0)
688
- ThrowUnsupported();
689
-
690
- unsigned idSize = (mainByte & 0xF);
691
- if (idSize > 8)
692
- ThrowUnsupported();
693
- if (idSize > inByte->GetRem())
694
- ThrowEndOfData();
695
- const Byte *longID = inByte->GetPtr();
696
- UInt64 id = 0;
697
- for (unsigned j = 0; j < idSize; j++)
698
- id = ((id << 8) | longID[j]);
699
- inByte->SkipDataNoCheck(idSize);
700
- if (folders.ParsedMethods.IDs.Size() < 128)
701
- folders.ParsedMethods.IDs.AddToUniqueSorted(id);
702
-
703
- CNum coderInStreams = 1;
704
- if ((mainByte & 0x10) != 0)
705
- {
706
- coderInStreams = inByte->ReadNum();
707
- if (coderInStreams > k_Scan_NumCodersStreams_in_Folder_MAX)
708
- ThrowUnsupported();
709
- if (inByte->ReadNum() != 1)
710
- ThrowUnsupported();
711
- }
712
-
713
- numInStreams += coderInStreams;
714
- if (numInStreams > k_Scan_NumCodersStreams_in_Folder_MAX)
715
- ThrowUnsupported();
716
-
717
- if ((mainByte & 0x20) != 0)
718
- {
719
- CNum propsSize = inByte->ReadNum();
720
- if (propsSize > inByte->GetRem())
721
- ThrowEndOfData();
722
- if (id == k_LZMA2 && propsSize == 1)
723
- {
724
- Byte v = *_inByteBack->GetPtr();
725
- if (folders.ParsedMethods.Lzma2Prop < v)
726
- folders.ParsedMethods.Lzma2Prop = v;
727
- }
728
- else if (id == k_LZMA && propsSize == 5)
729
- {
730
- UInt32 dicSize = GetUi32(_inByteBack->GetPtr() + 1);
731
- if (folders.ParsedMethods.LzmaDic < dicSize)
732
- folders.ParsedMethods.LzmaDic = dicSize;
733
- }
734
- inByte->SkipDataNoCheck((size_t)propsSize);
735
- }
736
- }
737
-
738
- if (numCoders == 1 && numInStreams == 1)
739
- {
740
- indexOfMainStream = 0;
741
- numPackStreams = 1;
742
- }
743
- else
744
- {
745
- UInt32 i;
746
- CNum numBonds = numCoders - 1;
747
- if (numInStreams < numBonds)
748
- ThrowUnsupported();
749
-
750
- BoolVector_Fill_False(StreamUsed, numInStreams);
751
- BoolVector_Fill_False(CoderUsed, numCoders);
752
-
753
- for (i = 0; i < numBonds; i++)
754
- {
755
- CNum index = ReadNum();
756
- if (index >= numInStreams || StreamUsed[index])
757
- ThrowUnsupported();
758
- StreamUsed[index] = true;
759
-
760
- index = ReadNum();
761
- if (index >= numCoders || CoderUsed[index])
762
- ThrowUnsupported();
763
- CoderUsed[index] = true;
764
- }
765
-
766
- numPackStreams = numInStreams - numBonds;
767
-
768
- if (numPackStreams != 1)
769
- for (i = 0; i < numPackStreams; i++)
770
- {
771
- CNum index = inByte->ReadNum(); // PackStreams
772
- if (index >= numInStreams || StreamUsed[index])
773
- ThrowUnsupported();
774
- StreamUsed[index] = true;
775
- }
776
-
777
- for (i = 0; i < numCoders; i++)
778
- if (!CoderUsed[i])
779
- {
780
- indexOfMainStream = i;
781
- break;
782
- }
783
-
784
- if (i == numCoders)
785
- ThrowUnsupported();
786
- }
787
-
788
- folders.FoToCoderUnpackSizes[fo] = numCodersOutStreams;
789
- numCodersOutStreams += numCoders;
790
- folders.FoStartPackStreamIndex[fo] = packStreamIndex;
791
- if (numPackStreams > folders.NumPackStreams - packStreamIndex)
792
- ThrowIncorrect();
793
- packStreamIndex += numPackStreams;
794
- folders.FoToMainUnpackSizeIndex[fo] = (Byte)indexOfMainStream;
795
- }
796
-
797
- size_t dataSize = _inByteBack->GetPtr() - startBufPtr;
798
- folders.FoToCoderUnpackSizes[fo] = numCodersOutStreams;
799
- folders.FoStartPackStreamIndex[fo] = packStreamIndex;
800
- folders.FoCodersDataOffset[fo] = _inByteBack->GetPtr() - startBufPtr;
801
- folders.CodersData.CopyFrom(startBufPtr, dataSize);
802
-
803
- // if (folders.NumPackStreams != packStreamIndex) ThrowUnsupported();
804
- }
805
-
806
- WaitId(NID::kCodersUnpackSize);
807
- folders.CoderUnpackSizes.Alloc(numCodersOutStreams);
808
- for (CNum i = 0; i < numCodersOutStreams; i++)
809
- folders.CoderUnpackSizes[i] = ReadNumber();
810
-
811
- for (;;)
812
- {
813
- UInt64 type = ReadID();
814
- if (type == NID::kEnd)
815
- return;
816
- if (type == NID::kCRC)
817
- {
818
- ReadHashDigests(numFolders, folders.FolderCRCs);
819
- continue;
820
- }
821
- SkipData();
822
- }
823
- }
824
-
825
- void CInArchive::ReadSubStreamsInfo(
826
- CFolders &folders,
827
- CRecordVector<UInt64> &unpackSizes,
828
- CUInt32DefVector &digests)
829
- {
830
- folders.NumUnpackStreamsVector.Alloc(folders.NumFolders);
831
- CNum i;
832
- for (i = 0; i < folders.NumFolders; i++)
833
- folders.NumUnpackStreamsVector[i] = 1;
834
-
835
- UInt64 type;
836
-
837
- for (;;)
838
- {
839
- type = ReadID();
840
- if (type == NID::kNumUnpackStream)
841
- {
842
- for (i = 0; i < folders.NumFolders; i++)
843
- folders.NumUnpackStreamsVector[i] = ReadNum();
844
- continue;
845
- }
846
- if (type == NID::kCRC || type == NID::kSize || type == NID::kEnd)
847
- break;
848
- SkipData();
849
- }
850
-
851
- if (type == NID::kSize)
852
- {
853
- for (i = 0; i < folders.NumFolders; i++)
854
- {
855
- // v3.13 incorrectly worked with empty folders
856
- // v4.07: we check that folder is empty
857
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
858
- if (numSubstreams == 0)
859
- continue;
860
- UInt64 sum = 0;
861
- for (CNum j = 1; j < numSubstreams; j++)
862
- {
863
- UInt64 size = ReadNumber();
864
- unpackSizes.Add(size);
865
- sum += size;
866
- if (sum < size)
867
- ThrowIncorrect();
868
- }
869
- UInt64 folderUnpackSize = folders.GetFolderUnpackSize(i);
870
- if (folderUnpackSize < sum)
871
- ThrowIncorrect();
872
- unpackSizes.Add(folderUnpackSize - sum);
873
- }
874
- type = ReadID();
875
- }
876
- else
877
- {
878
- for (i = 0; i < folders.NumFolders; i++)
879
- {
880
- /* v9.26 - v9.29 incorrectly worked:
881
- if (folders.NumUnpackStreamsVector[i] == 0), it threw error */
882
- CNum val = folders.NumUnpackStreamsVector[i];
883
- if (val > 1)
884
- ThrowIncorrect();
885
- if (val == 1)
886
- unpackSizes.Add(folders.GetFolderUnpackSize(i));
887
- }
888
- }
889
-
890
- unsigned numDigests = 0;
891
- for (i = 0; i < folders.NumFolders; i++)
892
- {
893
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
894
- if (numSubstreams != 1 || !folders.FolderCRCs.ValidAndDefined(i))
895
- numDigests += numSubstreams;
896
- }
897
-
898
- for (;;)
899
- {
900
- if (type == NID::kEnd)
901
- break;
902
- if (type == NID::kCRC)
903
- {
904
- // CUInt32DefVector digests2;
905
- // ReadHashDigests(numDigests, digests2);
906
- CBoolVector digests2;
907
- ReadBoolVector2(numDigests, digests2);
908
-
909
- digests.ClearAndSetSize(unpackSizes.Size());
910
-
911
- unsigned k = 0;
912
- unsigned k2 = 0;
913
-
914
- for (i = 0; i < folders.NumFolders; i++)
915
- {
916
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
917
- if (numSubstreams == 1 && folders.FolderCRCs.ValidAndDefined(i))
918
- {
919
- digests.Defs[k] = true;
920
- digests.Vals[k] = folders.FolderCRCs.Vals[i];
921
- k++;
922
- }
923
- else for (CNum j = 0; j < numSubstreams; j++)
924
- {
925
- bool defined = digests2[k2++];
926
- digests.Defs[k] = defined;
927
- UInt32 crc = 0;
928
- if (defined)
929
- crc = ReadUInt32();
930
- digests.Vals[k] = crc;
931
- k++;
932
- }
933
- }
934
- // if (k != unpackSizes.Size()) throw 1234567;
935
- }
936
- else
937
- SkipData();
938
-
939
- type = ReadID();
940
- }
941
-
942
- if (digests.Defs.Size() != unpackSizes.Size())
943
- {
944
- digests.ClearAndSetSize(unpackSizes.Size());
945
- unsigned k = 0;
946
- for (i = 0; i < folders.NumFolders; i++)
947
- {
948
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
949
- if (numSubstreams == 1 && folders.FolderCRCs.ValidAndDefined(i))
950
- {
951
- digests.Defs[k] = true;
952
- digests.Vals[k] = folders.FolderCRCs.Vals[i];
953
- k++;
954
- }
955
- else for (CNum j = 0; j < numSubstreams; j++)
956
- {
957
- digests.Defs[k] = false;
958
- digests.Vals[k] = 0;
959
- k++;
960
- }
961
- }
962
- }
963
- }
964
-
965
- void CInArchive::ReadStreamsInfo(
966
- const CObjectVector<CByteBuffer> *dataVector,
967
- UInt64 &dataOffset,
968
- CFolders &folders,
969
- CRecordVector<UInt64> &unpackSizes,
970
- CUInt32DefVector &digests)
971
- {
972
- UInt64 type = ReadID();
973
-
974
- if (type == NID::kPackInfo)
975
- {
976
- dataOffset = ReadNumber();
977
- ReadPackInfo(folders);
978
- type = ReadID();
979
- }
980
-
981
- if (type == NID::kUnpackInfo)
982
- {
983
- ReadUnpackInfo(dataVector, folders);
984
- type = ReadID();
985
- }
986
-
987
- if (folders.NumFolders != 0 && !folders.PackPositions)
988
- {
989
- // if there are folders, we need PackPositions also
990
- folders.PackPositions.Alloc(1);
991
- folders.PackPositions[0] = 0;
992
- }
993
-
994
- if (type == NID::kSubStreamsInfo)
995
- {
996
- ReadSubStreamsInfo(folders, unpackSizes, digests);
997
- type = ReadID();
998
- }
999
- else
1000
- {
1001
- folders.NumUnpackStreamsVector.Alloc(folders.NumFolders);
1002
- /* If digests.Defs.Size() == 0, it means that there are no crcs.
1003
- So we don't need to fill digests with values. */
1004
- // digests.Vals.ClearAndSetSize(folders.NumFolders);
1005
- // BoolVector_Fill_False(digests.Defs, folders.NumFolders);
1006
- for (CNum i = 0; i < folders.NumFolders; i++)
1007
- {
1008
- folders.NumUnpackStreamsVector[i] = 1;
1009
- unpackSizes.Add(folders.GetFolderUnpackSize(i));
1010
- // digests.Vals[i] = 0;
1011
- }
1012
- }
1013
-
1014
- if (type != NID::kEnd)
1015
- ThrowIncorrect();
1016
- }
1017
-
1018
- void CInArchive::ReadBoolVector(unsigned numItems, CBoolVector &v)
1019
- {
1020
- v.ClearAndSetSize(numItems);
1021
- Byte b = 0;
1022
- Byte mask = 0;
1023
- bool *p = &v[0];
1024
- for (unsigned i = 0; i < numItems; i++)
1025
- {
1026
- if (mask == 0)
1027
- {
1028
- b = ReadByte();
1029
- mask = 0x80;
1030
- }
1031
- p[i] = ((b & mask) != 0);
1032
- mask >>= 1;
1033
- }
1034
- }
1035
-
1036
- void CInArchive::ReadBoolVector2(unsigned numItems, CBoolVector &v)
1037
- {
1038
- Byte allAreDefined = ReadByte();
1039
- if (allAreDefined == 0)
1040
- {
1041
- ReadBoolVector(numItems, v);
1042
- return;
1043
- }
1044
- v.ClearAndSetSize(numItems);
1045
- bool *p = &v[0];
1046
- for (unsigned i = 0; i < numItems; i++)
1047
- p[i] = true;
1048
- }
1049
-
1050
- void CInArchive::ReadUInt64DefVector(const CObjectVector<CByteBuffer> &dataVector,
1051
- CUInt64DefVector &v, unsigned numItems)
1052
- {
1053
- ReadBoolVector2(numItems, v.Defs);
1054
-
1055
- CStreamSwitch streamSwitch;
1056
- streamSwitch.Set(this, &dataVector);
1057
-
1058
- v.Vals.ClearAndSetSize(numItems);
1059
- UInt64 *p = &v.Vals[0];
1060
- const bool *defs = &v.Defs[0];
1061
-
1062
- for (unsigned i = 0; i < numItems; i++)
1063
- {
1064
- UInt64 t = 0;
1065
- if (defs[i])
1066
- t = ReadUInt64();
1067
- p[i] = t;
1068
- }
1069
- }
1070
-
1071
- HRESULT CInArchive::ReadAndDecodePackedStreams(
1072
- DECL_EXTERNAL_CODECS_LOC_VARS
1073
- UInt64 baseOffset,
1074
- UInt64 &dataOffset, CObjectVector<CByteBuffer> &dataVector
1075
- _7Z_DECODER_CRYPRO_VARS_DECL
1076
- )
1077
- {
1078
- CFolders folders;
1079
- CRecordVector<UInt64> unpackSizes;
1080
- CUInt32DefVector digests;
1081
-
1082
- ReadStreamsInfo(NULL,
1083
- dataOffset,
1084
- folders,
1085
- unpackSizes,
1086
- digests);
1087
-
1088
- CDecoder decoder(_useMixerMT);
1089
-
1090
- for (CNum i = 0; i < folders.NumFolders; i++)
1091
- {
1092
- CByteBuffer &data = dataVector.AddNew();
1093
- UInt64 unpackSize64 = folders.GetFolderUnpackSize(i);
1094
- size_t unpackSize = (size_t)unpackSize64;
1095
- if (unpackSize != unpackSize64)
1096
- ThrowUnsupported();
1097
- data.Alloc(unpackSize);
1098
-
1099
- CBufPtrSeqOutStream *outStreamSpec = new CBufPtrSeqOutStream;
1100
- CMyComPtr<ISequentialOutStream> outStream = outStreamSpec;
1101
- outStreamSpec->Init(data, unpackSize);
1102
-
1103
- bool dataAfterEnd_Error = false;
1104
-
1105
- HRESULT result = decoder.Decode(
1106
- EXTERNAL_CODECS_LOC_VARS
1107
- _stream, baseOffset + dataOffset,
1108
- folders, i,
1109
- NULL, // *unpackSize
1110
-
1111
- outStream,
1112
- NULL, // *compressProgress
1113
-
1114
- NULL // **inStreamMainRes
1115
- , dataAfterEnd_Error
1116
-
1117
- _7Z_DECODER_CRYPRO_VARS
1118
- #if !defined(_7ZIP_ST)
1119
- , false // mtMode
1120
- , 1 // numThreads
1121
- , 0 // memUsage
1122
- #endif
1123
- );
1124
-
1125
- RINOK(result);
1126
-
1127
- if (dataAfterEnd_Error)
1128
- ThereIsHeaderError = true;
1129
-
1130
- if (folders.FolderCRCs.ValidAndDefined(i))
1131
- if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
1132
- ThrowIncorrect();
1133
- }
1134
-
1135
- if (folders.PackPositions)
1136
- HeadersSize += folders.PackPositions[folders.NumPackStreams];
1137
-
1138
- return S_OK;
1139
- }
1140
-
1141
- HRESULT CInArchive::ReadHeader(
1142
- DECL_EXTERNAL_CODECS_LOC_VARS
1143
- CDbEx &db
1144
- _7Z_DECODER_CRYPRO_VARS_DECL
1145
- )
1146
- {
1147
- UInt64 type = ReadID();
1148
-
1149
- if (type == NID::kArchiveProperties)
1150
- {
1151
- ReadArchiveProperties(db.ArcInfo);
1152
- type = ReadID();
1153
- }
1154
-
1155
- CObjectVector<CByteBuffer> dataVector;
1156
-
1157
- if (type == NID::kAdditionalStreamsInfo)
1158
- {
1159
- HRESULT result = ReadAndDecodePackedStreams(
1160
- EXTERNAL_CODECS_LOC_VARS
1161
- db.ArcInfo.StartPositionAfterHeader,
1162
- db.ArcInfo.DataStartPosition2,
1163
- dataVector
1164
- _7Z_DECODER_CRYPRO_VARS
1165
- );
1166
- RINOK(result);
1167
- db.ArcInfo.DataStartPosition2 += db.ArcInfo.StartPositionAfterHeader;
1168
- type = ReadID();
1169
- }
1170
-
1171
- CRecordVector<UInt64> unpackSizes;
1172
- CUInt32DefVector digests;
1173
-
1174
- if (type == NID::kMainStreamsInfo)
1175
- {
1176
- ReadStreamsInfo(&dataVector,
1177
- db.ArcInfo.DataStartPosition,
1178
- (CFolders &)db,
1179
- unpackSizes,
1180
- digests);
1181
- db.ArcInfo.DataStartPosition += db.ArcInfo.StartPositionAfterHeader;
1182
- type = ReadID();
1183
- }
1184
-
1185
- if (type == NID::kFilesInfo)
1186
- {
1187
-
1188
- const CNum numFiles = ReadNum();
1189
-
1190
- db.ArcInfo.FileInfoPopIDs.Add(NID::kSize);
1191
- // if (!db.PackSizes.IsEmpty())
1192
- db.ArcInfo.FileInfoPopIDs.Add(NID::kPackInfo);
1193
- if (numFiles > 0 && !digests.Defs.IsEmpty())
1194
- db.ArcInfo.FileInfoPopIDs.Add(NID::kCRC);
1195
-
1196
- CBoolVector emptyStreamVector;
1197
- CBoolVector emptyFileVector;
1198
- CBoolVector antiFileVector;
1199
- CNum numEmptyStreams = 0;
1200
-
1201
- for (;;)
1202
- {
1203
- const UInt64 type2 = ReadID();
1204
- if (type2 == NID::kEnd)
1205
- break;
1206
- UInt64 size = ReadNumber();
1207
- if (size > _inByteBack->GetRem())
1208
- ThrowIncorrect();
1209
- CStreamSwitch switchProp;
1210
- switchProp.Set(this, _inByteBack->GetPtr(), (size_t)size, true);
1211
- bool addPropIdToList = true;
1212
- bool isKnownType = true;
1213
- if (type2 > ((UInt32)1 << 30))
1214
- isKnownType = false;
1215
- else switch ((UInt32)type2)
1216
- {
1217
- case NID::kName:
1218
- {
1219
- CStreamSwitch streamSwitch;
1220
- streamSwitch.Set(this, &dataVector);
1221
- size_t rem = _inByteBack->GetRem();
1222
- db.NamesBuf.Alloc(rem);
1223
- ReadBytes(db.NamesBuf, rem);
1224
- db.NameOffsets.Alloc(numFiles + 1);
1225
- size_t pos = 0;
1226
- unsigned i;
1227
- for (i = 0; i < numFiles; i++)
1228
- {
1229
- size_t curRem = (rem - pos) / 2;
1230
- const UInt16 *buf = (const UInt16 *)(db.NamesBuf + pos);
1231
- size_t j;
1232
- for (j = 0; j < curRem && buf[j] != 0; j++);
1233
- if (j == curRem)
1234
- ThrowEndOfData();
1235
- db.NameOffsets[i] = pos / 2;
1236
- pos += j * 2 + 2;
1237
- }
1238
- db.NameOffsets[i] = pos / 2;
1239
- if (pos != rem)
1240
- ThereIsHeaderError = true;
1241
- break;
1242
- }
1243
-
1244
- case NID::kWinAttrib:
1245
- {
1246
- ReadBoolVector2(numFiles, db.Attrib.Defs);
1247
- CStreamSwitch streamSwitch;
1248
- streamSwitch.Set(this, &dataVector);
1249
- Read_UInt32_Vector(db.Attrib);
1250
- break;
1251
- }
1252
-
1253
- /*
1254
- case NID::kIsAux:
1255
- {
1256
- ReadBoolVector(numFiles, db.IsAux);
1257
- break;
1258
- }
1259
- case NID::kParent:
1260
- {
1261
- db.IsTree = true;
1262
- // CBoolVector boolVector;
1263
- // ReadBoolVector2(numFiles, boolVector);
1264
- // CStreamSwitch streamSwitch;
1265
- // streamSwitch.Set(this, &dataVector);
1266
- CBoolVector boolVector;
1267
- ReadBoolVector2(numFiles, boolVector);
1268
-
1269
- db.ThereAreAltStreams = false;
1270
- for (i = 0; i < numFiles; i++)
1271
- {
1272
- CFileItem &file = db.Files[i];
1273
- // file.Parent = -1;
1274
- // if (boolVector[i])
1275
- file.Parent = (int)ReadUInt32();
1276
- file.IsAltStream = !boolVector[i];
1277
- if (file.IsAltStream)
1278
- db.ThereAreAltStreams = true;
1279
- }
1280
- break;
1281
- }
1282
- */
1283
- case NID::kEmptyStream:
1284
- {
1285
- ReadBoolVector(numFiles, emptyStreamVector);
1286
- numEmptyStreams = BoolVector_CountSum(emptyStreamVector);
1287
- emptyFileVector.Clear();
1288
- antiFileVector.Clear();
1289
- break;
1290
- }
1291
- case NID::kEmptyFile: ReadBoolVector(numEmptyStreams, emptyFileVector); break;
1292
- case NID::kAnti: ReadBoolVector(numEmptyStreams, antiFileVector); break;
1293
- case NID::kStartPos: ReadUInt64DefVector(dataVector, db.StartPos, (unsigned)numFiles); break;
1294
- case NID::kCTime: ReadUInt64DefVector(dataVector, db.CTime, (unsigned)numFiles); break;
1295
- case NID::kATime: ReadUInt64DefVector(dataVector, db.ATime, (unsigned)numFiles); break;
1296
- case NID::kMTime: ReadUInt64DefVector(dataVector, db.MTime, (unsigned)numFiles); break;
1297
- case NID::kDummy:
1298
- {
1299
- for (UInt64 j = 0; j < size; j++)
1300
- if (ReadByte() != 0)
1301
- ThereIsHeaderError = true;
1302
- addPropIdToList = false;
1303
- break;
1304
- }
1305
- /*
1306
- case NID::kNtSecure:
1307
- {
1308
- try
1309
- {
1310
- {
1311
- CStreamSwitch streamSwitch;
1312
- streamSwitch.Set(this, &dataVector);
1313
- UInt32 numDescriptors = ReadUInt32();
1314
- size_t offset = 0;
1315
- db.SecureOffsets.Clear();
1316
- for (i = 0; i < numDescriptors; i++)
1317
- {
1318
- UInt32 size = ReadUInt32();
1319
- db.SecureOffsets.Add(offset);
1320
- offset += size;
1321
- }
1322
- // ThrowIncorrect();;
1323
- db.SecureOffsets.Add(offset);
1324
- db.SecureBuf.SetCapacity(offset);
1325
- for (i = 0; i < numDescriptors; i++)
1326
- {
1327
- offset = db.SecureOffsets[i];
1328
- ReadBytes(db.SecureBuf + offset, db.SecureOffsets[i + 1] - offset);
1329
- }
1330
- db.SecureIDs.Clear();
1331
- for (unsigned i = 0; i < numFiles; i++)
1332
- {
1333
- db.SecureIDs.Add(ReadNum());
1334
- // db.SecureIDs.Add(ReadUInt32());
1335
- }
1336
- // ReadUInt32();
1337
- if (_inByteBack->GetRem() != 0)
1338
- ThrowIncorrect();;
1339
- }
1340
- }
1341
- catch(CInArchiveException &)
1342
- {
1343
- ThereIsHeaderError = true;
1344
- addPropIdToList = isKnownType = false;
1345
- db.ClearSecure();
1346
- }
1347
- break;
1348
- }
1349
- */
1350
- default:
1351
- addPropIdToList = isKnownType = false;
1352
- }
1353
- if (isKnownType)
1354
- {
1355
- if (addPropIdToList)
1356
- db.ArcInfo.FileInfoPopIDs.Add(type2);
1357
- }
1358
- else
1359
- {
1360
- db.UnsupportedFeatureWarning = true;
1361
- _inByteBack->SkipRem();
1362
- }
1363
- // SkipData worked incorrectly in some versions before v4.59 (7zVer <= 0.02)
1364
- if (_inByteBack->GetRem() != 0)
1365
- ThrowIncorrect();
1366
- }
1367
-
1368
- type = ReadID(); // Read (NID::kEnd) end of headers
1369
-
1370
- if (numFiles - numEmptyStreams != unpackSizes.Size())
1371
- ThrowUnsupported();
1372
-
1373
- CNum emptyFileIndex = 0;
1374
- CNum sizeIndex = 0;
1375
-
1376
- const CNum numAntiItems = BoolVector_CountSum(antiFileVector);
1377
-
1378
- if (numAntiItems != 0)
1379
- db.IsAnti.ClearAndSetSize(numFiles);
1380
-
1381
- db.Files.ClearAndSetSize(numFiles);
1382
-
1383
- for (CNum i = 0; i < numFiles; i++)
1384
- {
1385
- CFileItem &file = db.Files[i];
1386
- bool isAnti;
1387
- file.Crc = 0;
1388
- if (!BoolVector_Item_IsValidAndTrue(emptyStreamVector, i))
1389
- {
1390
- file.HasStream = true;
1391
- file.IsDir = false;
1392
- isAnti = false;
1393
- file.Size = unpackSizes[sizeIndex];
1394
- file.CrcDefined = digests.ValidAndDefined(sizeIndex);
1395
- if (file.CrcDefined)
1396
- file.Crc = digests.Vals[sizeIndex];
1397
- sizeIndex++;
1398
- }
1399
- else
1400
- {
1401
- file.HasStream = false;
1402
- file.IsDir = !BoolVector_Item_IsValidAndTrue(emptyFileVector, emptyFileIndex);
1403
- isAnti = BoolVector_Item_IsValidAndTrue(antiFileVector, emptyFileIndex);
1404
- emptyFileIndex++;
1405
- file.Size = 0;
1406
- file.CrcDefined = false;
1407
- }
1408
- if (numAntiItems != 0)
1409
- db.IsAnti[i] = isAnti;
1410
- }
1411
-
1412
- }
1413
-
1414
- db.FillLinks();
1415
-
1416
- if (type != NID::kEnd || _inByteBack->GetRem() != 0)
1417
- {
1418
- db.UnsupportedFeatureWarning = true;
1419
- // ThrowIncorrect();
1420
- }
1421
-
1422
- return S_OK;
1423
- }
1424
-
1425
-
1426
- void CDbEx::FillLinks()
1427
- {
1428
- FolderStartFileIndex.Alloc(NumFolders);
1429
- FileIndexToFolderIndexMap.Alloc(Files.Size());
1430
-
1431
- CNum folderIndex = 0;
1432
- CNum indexInFolder = 0;
1433
- unsigned i;
1434
-
1435
- for (i = 0; i < Files.Size(); i++)
1436
- {
1437
- bool emptyStream = !Files[i].HasStream;
1438
- if (indexInFolder == 0)
1439
- {
1440
- if (emptyStream)
1441
- {
1442
- FileIndexToFolderIndexMap[i] = kNumNoIndex;
1443
- continue;
1444
- }
1445
- // v3.13 incorrectly worked with empty folders
1446
- // v4.07: we skip empty folders
1447
- for (;;)
1448
- {
1449
- if (folderIndex >= NumFolders)
1450
- ThrowIncorrect();
1451
- FolderStartFileIndex[folderIndex] = i;
1452
- if (NumUnpackStreamsVector[folderIndex] != 0)
1453
- break;
1454
- folderIndex++;
1455
- }
1456
- }
1457
- FileIndexToFolderIndexMap[i] = folderIndex;
1458
- if (emptyStream)
1459
- continue;
1460
- if (++indexInFolder >= NumUnpackStreamsVector[folderIndex])
1461
- {
1462
- folderIndex++;
1463
- indexInFolder = 0;
1464
- }
1465
- }
1466
-
1467
- if (indexInFolder != 0)
1468
- {
1469
- folderIndex++;
1470
- // 18.06
1471
- ThereIsHeaderError = true;
1472
- // ThrowIncorrect();
1473
- }
1474
-
1475
- for (;;)
1476
- {
1477
- if (folderIndex >= NumFolders)
1478
- return;
1479
- FolderStartFileIndex[folderIndex] = i;
1480
- if (NumUnpackStreamsVector[folderIndex] != 0)
1481
- {
1482
- // 18.06
1483
- ThereIsHeaderError = true;
1484
- // ThrowIncorrect();
1485
- }
1486
- folderIndex++;
1487
- }
1488
- }
1489
-
1490
-
1491
- HRESULT CInArchive::ReadDatabase2(
1492
- DECL_EXTERNAL_CODECS_LOC_VARS
1493
- CDbEx &db
1494
- _7Z_DECODER_CRYPRO_VARS_DECL
1495
- )
1496
- {
1497
- db.Clear();
1498
- db.ArcInfo.StartPosition = _arhiveBeginStreamPosition;
1499
-
1500
- db.ArcInfo.Version.Major = _header[6];
1501
- db.ArcInfo.Version.Minor = _header[7];
1502
-
1503
- if (db.ArcInfo.Version.Major != kMajorVersion)
1504
- {
1505
- // db.UnsupportedVersion = true;
1506
- return S_FALSE;
1507
- }
1508
-
1509
- UInt64 nextHeaderOffset = Get64(_header + 12);
1510
- UInt64 nextHeaderSize = Get64(_header + 20);
1511
- UInt32 nextHeaderCRC = Get32(_header + 28);
1512
-
1513
- #ifdef FORMAT_7Z_RECOVERY
1514
- UInt32 crcFromArc = Get32(_header + 8);
1515
- if (crcFromArc == 0 && nextHeaderOffset == 0 && nextHeaderSize == 0 && nextHeaderCRC == 0)
1516
- {
1517
- UInt64 cur, fileSize;
1518
- RINOK(_stream->Seek(0, STREAM_SEEK_CUR, &cur));
1519
- const unsigned kCheckSize = 512;
1520
- Byte buf[kCheckSize];
1521
- RINOK(_stream->Seek(0, STREAM_SEEK_END, &fileSize));
1522
- UInt64 rem = fileSize - cur;
1523
- unsigned checkSize = kCheckSize;
1524
- if (rem < kCheckSize)
1525
- checkSize = (unsigned)(rem);
1526
- if (checkSize < 3)
1527
- return S_FALSE;
1528
- RINOK(_stream->Seek(fileSize - checkSize, STREAM_SEEK_SET, NULL));
1529
- RINOK(ReadStream_FALSE(_stream, buf, (size_t)checkSize));
1530
-
1531
- if (buf[checkSize - 1] != 0)
1532
- return S_FALSE;
1533
-
1534
- unsigned i;
1535
- for (i = checkSize - 2;; i--)
1536
- {
1537
- if (buf[i] == NID::kEncodedHeader && buf[i + 1] == NID::kPackInfo ||
1538
- buf[i] == NID::kHeader && buf[i + 1] == NID::kMainStreamsInfo)
1539
- break;
1540
- if (i == 0)
1541
- return S_FALSE;
1542
- }
1543
- nextHeaderSize = checkSize - i;
1544
- nextHeaderOffset = rem - nextHeaderSize;
1545
- nextHeaderCRC = CrcCalc(buf + i, (size_t)nextHeaderSize);
1546
- RINOK(_stream->Seek(cur, STREAM_SEEK_SET, NULL));
1547
- db.StartHeaderWasRecovered = true;
1548
- }
1549
- else
1550
- #endif
1551
- {
1552
- // Crc was tested already at signature check
1553
- // if (CrcCalc(_header + 12, 20) != crcFromArchive) ThrowIncorrect();
1554
- }
1555
-
1556
- db.ArcInfo.StartPositionAfterHeader = _arhiveBeginStreamPosition + kHeaderSize;
1557
- db.PhySize = kHeaderSize;
1558
-
1559
- db.IsArc = false;
1560
- if ((Int64)nextHeaderOffset < 0 ||
1561
- nextHeaderSize > ((UInt64)1 << 62))
1562
- return S_FALSE;
1563
- if (nextHeaderSize == 0)
1564
- {
1565
- if (nextHeaderOffset != 0)
1566
- return S_FALSE;
1567
- db.IsArc = true;
1568
- return S_OK;
1569
- }
1570
-
1571
- if (!db.StartHeaderWasRecovered)
1572
- db.IsArc = true;
1573
-
1574
- HeadersSize += kHeaderSize + nextHeaderSize;
1575
- db.PhySize = kHeaderSize + nextHeaderOffset + nextHeaderSize;
1576
- if (_fileEndPosition - db.ArcInfo.StartPositionAfterHeader < nextHeaderOffset + nextHeaderSize)
1577
- {
1578
- db.UnexpectedEnd = true;
1579
- return S_FALSE;
1580
- }
1581
- RINOK(_stream->Seek(nextHeaderOffset, STREAM_SEEK_CUR, NULL));
1582
-
1583
- size_t nextHeaderSize_t = (size_t)nextHeaderSize;
1584
- if (nextHeaderSize_t != nextHeaderSize)
1585
- return E_OUTOFMEMORY;
1586
- CByteBuffer buffer2(nextHeaderSize_t);
1587
-
1588
- RINOK(ReadStream_FALSE(_stream, buffer2, nextHeaderSize_t));
1589
-
1590
- if (CrcCalc(buffer2, nextHeaderSize_t) != nextHeaderCRC)
1591
- ThrowIncorrect();
1592
-
1593
- if (!db.StartHeaderWasRecovered)
1594
- db.PhySizeWasConfirmed = true;
1595
-
1596
- CStreamSwitch streamSwitch;
1597
- streamSwitch.Set(this, buffer2);
1598
-
1599
- CObjectVector<CByteBuffer> dataVector;
1600
-
1601
- UInt64 type = ReadID();
1602
- if (type != NID::kHeader)
1603
- {
1604
- if (type != NID::kEncodedHeader)
1605
- ThrowIncorrect();
1606
- HRESULT result = ReadAndDecodePackedStreams(
1607
- EXTERNAL_CODECS_LOC_VARS
1608
- db.ArcInfo.StartPositionAfterHeader,
1609
- db.ArcInfo.DataStartPosition2,
1610
- dataVector
1611
- _7Z_DECODER_CRYPRO_VARS
1612
- );
1613
- RINOK(result);
1614
- if (dataVector.Size() == 0)
1615
- return S_OK;
1616
- if (dataVector.Size() > 1)
1617
- ThrowIncorrect();
1618
- streamSwitch.Remove();
1619
- streamSwitch.Set(this, dataVector.Front());
1620
- if (ReadID() != NID::kHeader)
1621
- ThrowIncorrect();
1622
- }
1623
-
1624
- db.IsArc = true;
1625
-
1626
- db.HeadersSize = HeadersSize;
1627
-
1628
- return ReadHeader(
1629
- EXTERNAL_CODECS_LOC_VARS
1630
- db
1631
- _7Z_DECODER_CRYPRO_VARS
1632
- );
1633
- }
1634
-
1635
-
1636
- HRESULT CInArchive::ReadDatabase(
1637
- DECL_EXTERNAL_CODECS_LOC_VARS
1638
- CDbEx &db
1639
- _7Z_DECODER_CRYPRO_VARS_DECL
1640
- )
1641
- {
1642
- try
1643
- {
1644
- HRESULT res = ReadDatabase2(
1645
- EXTERNAL_CODECS_LOC_VARS db
1646
- _7Z_DECODER_CRYPRO_VARS
1647
- );
1648
- if (ThereIsHeaderError)
1649
- db.ThereIsHeaderError = true;
1650
- if (res == E_NOTIMPL)
1651
- ThrowUnsupported();
1652
- return res;
1653
- }
1654
- catch(CUnsupportedFeatureException &)
1655
- {
1656
- db.UnsupportedFeatureError = true;
1657
- return S_FALSE;
1658
- }
1659
- catch(CInArchiveException &)
1660
- {
1661
- db.ThereIsHeaderError = true;
1662
- return S_FALSE;
1663
- }
1664
- }
1665
-
1666
- }}