7zip-native 0.0.0-stage → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -2
  3. package/THIRD_PARTY_NOTICES.md +23 -0
  4. package/bench/args.mts +69 -0
  5. package/bench/benchmark.mts +102 -0
  6. package/bench/compare.mts +546 -0
  7. package/bench/concurrency.mts +196 -0
  8. package/binding.gyp +51 -0
  9. package/dist/index.cjs +528 -0
  10. package/dist/index.d.cts +63 -0
  11. package/dist/index.d.mts +63 -0
  12. package/dist/index.d.ts +63 -0
  13. package/dist/index.mjs +524 -0
  14. package/docs/architecture.md +112 -0
  15. package/examples/basic.mts +19 -0
  16. package/native/addon.cpp +2154 -0
  17. package/package.json +85 -5
  18. package/prebuilds/darwin-arm64/7zip_native.node +0 -0
  19. package/prebuilds/darwin-arm64/lib7z.dylib +0 -0
  20. package/prebuilds/darwin-x64/7zip_native.node +0 -0
  21. package/prebuilds/darwin-x64/lib7z.dylib +0 -0
  22. package/prebuilds/linux-arm/7z.so +0 -0
  23. package/prebuilds/linux-arm/7zip_native.node +0 -0
  24. package/prebuilds/linux-arm64/7z.so +0 -0
  25. package/prebuilds/linux-arm64/7zip_native.node +0 -0
  26. package/prebuilds/linux-ia32/7z.so +0 -0
  27. package/prebuilds/linux-ia32/7zip_native.node +0 -0
  28. package/prebuilds/linux-x64/7z.so +0 -0
  29. package/prebuilds/linux-x64/7zip_native.node +0 -0
  30. package/prebuilds/win32-arm64/7z.dll +0 -0
  31. package/prebuilds/win32-arm64/7zip_native.node +0 -0
  32. package/prebuilds/win32-x64/7z.dll +0 -0
  33. package/prebuilds/win32-x64/7zip_native.node +0 -0
  34. package/vendor/7zip/.gitattributes +2 -0
  35. package/vendor/7zip/Asm/arm/7zCrcOpt.asm +100 -0
  36. package/vendor/7zip/Asm/arm64/7zAsm.S +187 -0
  37. package/vendor/7zip/Asm/arm64/LzmaDecOpt.S +1487 -0
  38. package/vendor/7zip/Asm/x86/7zAsm.asm +341 -0
  39. package/vendor/7zip/Asm/x86/7zCrcOpt.asm +258 -0
  40. package/vendor/7zip/Asm/x86/AesOpt.asm +742 -0
  41. package/vendor/7zip/Asm/x86/LzFindOpt.asm +540 -0
  42. package/vendor/7zip/Asm/x86/LzmaDecOpt.asm +1339 -0
  43. package/vendor/7zip/Asm/x86/Sha1Opt.asm +263 -0
  44. package/vendor/7zip/Asm/x86/Sha256Opt.asm +275 -0
  45. package/vendor/7zip/Asm/x86/Sort.asm +860 -0
  46. package/vendor/7zip/Asm/x86/XzCrc64Opt.asm +523 -0
  47. package/vendor/7zip/C/7z.h +204 -0
  48. package/vendor/7zip/C/7zAlloc.c +89 -0
  49. package/vendor/7zip/C/7zAlloc.h +19 -0
  50. package/vendor/7zip/C/7zArcIn.c +1701 -0
  51. package/vendor/7zip/C/7zBuf.c +36 -0
  52. package/vendor/7zip/C/7zBuf.h +35 -0
  53. package/vendor/7zip/C/7zBuf2.c +52 -0
  54. package/vendor/7zip/C/7zCrc.c +420 -0
  55. package/vendor/7zip/C/7zCrc.h +28 -0
  56. package/vendor/7zip/C/7zCrcOpt.c +199 -0
  57. package/vendor/7zip/C/7zDec.c +672 -0
  58. package/vendor/7zip/C/7zFile.c +443 -0
  59. package/vendor/7zip/C/7zFile.h +91 -0
  60. package/vendor/7zip/C/7zStream.c +199 -0
  61. package/vendor/7zip/C/7zTypes.h +600 -0
  62. package/vendor/7zip/C/7zVersion.h +27 -0
  63. package/vendor/7zip/C/7zVersion.rc +55 -0
  64. package/vendor/7zip/C/7zWindows.h +107 -0
  65. package/vendor/7zip/C/7zip_gcc_c.mak +366 -0
  66. package/vendor/7zip/C/Aes.c +429 -0
  67. package/vendor/7zip/C/Aes.h +60 -0
  68. package/vendor/7zip/C/AesOpt.c +1002 -0
  69. package/vendor/7zip/C/Alloc.c +774 -0
  70. package/vendor/7zip/C/Alloc.h +76 -0
  71. package/vendor/7zip/C/Asm_c.mak +12 -0
  72. package/vendor/7zip/C/Bcj2.c +290 -0
  73. package/vendor/7zip/C/Bcj2.h +332 -0
  74. package/vendor/7zip/C/Bcj2Enc.c +509 -0
  75. package/vendor/7zip/C/Blake2.h +105 -0
  76. package/vendor/7zip/C/Blake2s.c +2672 -0
  77. package/vendor/7zip/C/Bra.c +709 -0
  78. package/vendor/7zip/C/Bra.h +105 -0
  79. package/vendor/7zip/C/Bra86.c +187 -0
  80. package/vendor/7zip/C/BraIA64.c +14 -0
  81. package/vendor/7zip/C/BwtSort.c +630 -0
  82. package/vendor/7zip/C/BwtSort.h +27 -0
  83. package/vendor/7zip/C/Compiler.h +287 -0
  84. package/vendor/7zip/C/CpuArch.c +970 -0
  85. package/vendor/7zip/C/CpuArch.h +719 -0
  86. package/vendor/7zip/C/Delta.c +169 -0
  87. package/vendor/7zip/C/Delta.h +19 -0
  88. package/vendor/7zip/C/DllSecur.c +99 -0
  89. package/vendor/7zip/C/DllSecur.h +20 -0
  90. package/vendor/7zip/C/HuffEnc.c +361 -0
  91. package/vendor/7zip/C/HuffEnc.h +23 -0
  92. package/vendor/7zip/C/LzFind.c +1746 -0
  93. package/vendor/7zip/C/LzFind.h +160 -0
  94. package/vendor/7zip/C/LzFindMt.c +1422 -0
  95. package/vendor/7zip/C/LzFindMt.h +114 -0
  96. package/vendor/7zip/C/LzFindOpt.c +578 -0
  97. package/vendor/7zip/C/LzHash.h +34 -0
  98. package/vendor/7zip/C/Lzma2Dec.c +493 -0
  99. package/vendor/7zip/C/Lzma2Dec.h +121 -0
  100. package/vendor/7zip/C/Lzma2DecMt.c +1095 -0
  101. package/vendor/7zip/C/Lzma2DecMt.h +81 -0
  102. package/vendor/7zip/C/Lzma2Enc.c +799 -0
  103. package/vendor/7zip/C/Lzma2Enc.h +58 -0
  104. package/vendor/7zip/C/Lzma86.h +111 -0
  105. package/vendor/7zip/C/Lzma86Dec.c +53 -0
  106. package/vendor/7zip/C/Lzma86Enc.c +103 -0
  107. package/vendor/7zip/C/LzmaDec.c +1367 -0
  108. package/vendor/7zip/C/LzmaDec.h +237 -0
  109. package/vendor/7zip/C/LzmaEnc.c +3154 -0
  110. package/vendor/7zip/C/LzmaEnc.h +85 -0
  111. package/vendor/7zip/C/LzmaLib.c +42 -0
  112. package/vendor/7zip/C/LzmaLib.h +138 -0
  113. package/vendor/7zip/C/Md5.c +206 -0
  114. package/vendor/7zip/C/Md5.h +34 -0
  115. package/vendor/7zip/C/MtCoder.c +604 -0
  116. package/vendor/7zip/C/MtCoder.h +144 -0
  117. package/vendor/7zip/C/MtDec.c +1124 -0
  118. package/vendor/7zip/C/MtDec.h +202 -0
  119. package/vendor/7zip/C/Ppmd.h +169 -0
  120. package/vendor/7zip/C/Ppmd7.c +1131 -0
  121. package/vendor/7zip/C/Ppmd7.h +181 -0
  122. package/vendor/7zip/C/Ppmd7Dec.c +312 -0
  123. package/vendor/7zip/C/Ppmd7Enc.c +340 -0
  124. package/vendor/7zip/C/Ppmd7aDec.c +295 -0
  125. package/vendor/7zip/C/Ppmd8.c +1574 -0
  126. package/vendor/7zip/C/Ppmd8.h +181 -0
  127. package/vendor/7zip/C/Ppmd8Dec.c +295 -0
  128. package/vendor/7zip/C/Ppmd8Enc.c +337 -0
  129. package/vendor/7zip/C/Precomp.h +127 -0
  130. package/vendor/7zip/C/RotateDefs.h +50 -0
  131. package/vendor/7zip/C/Sha1.c +441 -0
  132. package/vendor/7zip/C/Sha1.h +86 -0
  133. package/vendor/7zip/C/Sha1Opt.c +424 -0
  134. package/vendor/7zip/C/Sha256.c +492 -0
  135. package/vendor/7zip/C/Sha256.h +86 -0
  136. package/vendor/7zip/C/Sha256Opt.c +451 -0
  137. package/vendor/7zip/C/Sha3.c +359 -0
  138. package/vendor/7zip/C/Sha3.h +36 -0
  139. package/vendor/7zip/C/Sha512.c +711 -0
  140. package/vendor/7zip/C/Sha512.h +86 -0
  141. package/vendor/7zip/C/Sha512Opt.c +395 -0
  142. package/vendor/7zip/C/Sort.c +268 -0
  143. package/vendor/7zip/C/Sort.h +15 -0
  144. package/vendor/7zip/C/SwapBytes.c +835 -0
  145. package/vendor/7zip/C/SwapBytes.h +17 -0
  146. package/vendor/7zip/C/Threads.c +826 -0
  147. package/vendor/7zip/C/Threads.h +260 -0
  148. package/vendor/7zip/C/Util/7z/7z.dsp +249 -0
  149. package/vendor/7zip/C/Util/7z/7z.dsw +29 -0
  150. package/vendor/7zip/C/Util/7z/7zMain.c +1210 -0
  151. package/vendor/7zip/C/Util/7z/Precomp.c +4 -0
  152. package/vendor/7zip/C/Util/7z/Precomp.h +13 -0
  153. package/vendor/7zip/C/Util/7z/makefile +44 -0
  154. package/vendor/7zip/C/Util/7z/makefile.gcc +32 -0
  155. package/vendor/7zip/C/Util/7zipInstall/7zip.ico +0 -0
  156. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.c +1699 -0
  157. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsp +248 -0
  158. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsw +29 -0
  159. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.manifest +18 -0
  160. package/vendor/7zip/C/Util/7zipInstall/Precomp.c +4 -0
  161. package/vendor/7zip/C/Util/7zipInstall/Precomp.h +13 -0
  162. package/vendor/7zip/C/Util/7zipInstall/makefile +47 -0
  163. package/vendor/7zip/C/Util/7zipInstall/resource.h +9 -0
  164. package/vendor/7zip/C/Util/7zipInstall/resource.rc +48 -0
  165. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.c +1234 -0
  166. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsp +132 -0
  167. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsw +29 -0
  168. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.ico +0 -0
  169. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.manifest +18 -0
  170. package/vendor/7zip/C/Util/7zipUninstall/Precomp.c +4 -0
  171. package/vendor/7zip/C/Util/7zipUninstall/Precomp.h +13 -0
  172. package/vendor/7zip/C/Util/7zipUninstall/makefile +18 -0
  173. package/vendor/7zip/C/Util/7zipUninstall/resource.h +9 -0
  174. package/vendor/7zip/C/Util/7zipUninstall/resource.rc +48 -0
  175. package/vendor/7zip/C/Util/Lzma/LzmaUtil.c +313 -0
  176. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsp +192 -0
  177. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsw +29 -0
  178. package/vendor/7zip/C/Util/Lzma/Precomp.h +13 -0
  179. package/vendor/7zip/C/Util/Lzma/makefile +30 -0
  180. package/vendor/7zip/C/Util/Lzma/makefile.gcc +21 -0
  181. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.def +4 -0
  182. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  183. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  184. package/vendor/7zip/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  185. package/vendor/7zip/C/Util/LzmaLib/Precomp.c +4 -0
  186. package/vendor/7zip/C/Util/LzmaLib/Precomp.h +13 -0
  187. package/vendor/7zip/C/Util/LzmaLib/makefile +59 -0
  188. package/vendor/7zip/C/Util/LzmaLib/resource.rc +3 -0
  189. package/vendor/7zip/C/Util/SfxSetup/Precomp.c +4 -0
  190. package/vendor/7zip/C/Util/SfxSetup/Precomp.h +13 -0
  191. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.c +657 -0
  192. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  193. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  194. package/vendor/7zip/C/Util/SfxSetup/makefile +44 -0
  195. package/vendor/7zip/C/Util/SfxSetup/makefile_con +40 -0
  196. package/vendor/7zip/C/Util/SfxSetup/resource.rc +5 -0
  197. package/vendor/7zip/C/Util/SfxSetup/setup.ico +0 -0
  198. package/vendor/7zip/C/Xxh64.c +389 -0
  199. package/vendor/7zip/C/Xxh64.h +50 -0
  200. package/vendor/7zip/C/Xz.c +92 -0
  201. package/vendor/7zip/C/Xz.h +542 -0
  202. package/vendor/7zip/C/XzCrc64.c +140 -0
  203. package/vendor/7zip/C/XzCrc64.h +26 -0
  204. package/vendor/7zip/C/XzCrc64Opt.c +261 -0
  205. package/vendor/7zip/C/XzDec.c +2865 -0
  206. package/vendor/7zip/C/XzEnc.c +1374 -0
  207. package/vendor/7zip/C/XzEnc.h +62 -0
  208. package/vendor/7zip/C/XzIn.c +385 -0
  209. package/vendor/7zip/C/ZstdDec.c +4067 -0
  210. package/vendor/7zip/C/ZstdDec.h +173 -0
  211. package/vendor/7zip/C/var_clang.mak +11 -0
  212. package/vendor/7zip/C/var_clang_arm64.mak +12 -0
  213. package/vendor/7zip/C/var_clang_x64.mak +11 -0
  214. package/vendor/7zip/C/var_clang_x86.mak +11 -0
  215. package/vendor/7zip/C/var_gcc.mak +12 -0
  216. package/vendor/7zip/C/var_gcc_arm64.mak +12 -0
  217. package/vendor/7zip/C/var_gcc_x64.mak +10 -0
  218. package/vendor/7zip/C/var_gcc_x86.mak +10 -0
  219. package/vendor/7zip/C/var_mac_arm64.mak +13 -0
  220. package/vendor/7zip/C/var_mac_x64.mak +13 -0
  221. package/vendor/7zip/C/warn_clang.mak +1 -0
  222. package/vendor/7zip/C/warn_clang_mac.mak +1 -0
  223. package/vendor/7zip/C/warn_gcc.mak +51 -0
  224. package/vendor/7zip/CPP/7zip/7zip.mak +240 -0
  225. package/vendor/7zip/CPP/7zip/7zip_gcc.mak +1376 -0
  226. package/vendor/7zip/CPP/7zip/Aes.mak +10 -0
  227. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsp +650 -0
  228. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsw +29 -0
  229. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  230. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  231. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  232. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  233. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.cpp +702 -0
  234. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  235. package/vendor/7zip/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  236. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  237. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  238. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.cpp +800 -0
  239. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  240. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  241. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  242. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  243. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.cpp +1815 -0
  244. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.h +454 -0
  245. package/vendor/7zip/CPP/7zip/Archive/7z/7zItem.h +207 -0
  246. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  247. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.h +346 -0
  248. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  249. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  250. package/vendor/7zip/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  251. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  252. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  253. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +3087 -0
  254. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  255. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  256. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  257. package/vendor/7zip/CPP/7zip/Archive/7z/makefile +81 -0
  258. package/vendor/7zip/CPP/7zip/Archive/7z/resource.rc +11 -0
  259. package/vendor/7zip/CPP/7zip/Archive/ApfsHandler.cpp +4470 -0
  260. package/vendor/7zip/CPP/7zip/Archive/ApmHandler.cpp +420 -0
  261. package/vendor/7zip/CPP/7zip/Archive/ArHandler.cpp +844 -0
  262. package/vendor/7zip/CPP/7zip/Archive/Archive.def +15 -0
  263. package/vendor/7zip/CPP/7zip/Archive/Archive2.def +22 -0
  264. package/vendor/7zip/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  265. package/vendor/7zip/CPP/7zip/Archive/ArjHandler.cpp +977 -0
  266. package/vendor/7zip/CPP/7zip/Archive/AvbHandler.cpp +616 -0
  267. package/vendor/7zip/CPP/7zip/Archive/Base64Handler.cpp +488 -0
  268. package/vendor/7zip/CPP/7zip/Archive/Bz2Handler.cpp +482 -0
  269. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +122 -0
  270. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +28 -0
  271. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +1270 -0
  272. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.h +29 -0
  273. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
  274. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.h +41 -0
  275. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.cpp +485 -0
  276. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.h +169 -0
  277. package/vendor/7zip/CPP/7zip/Archive/Cab/CabItem.h +69 -0
  278. package/vendor/7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +19 -0
  279. package/vendor/7zip/CPP/7zip/Archive/Cab/StdAfx.h +11 -0
  280. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +790 -0
  281. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.h +27 -0
  282. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +1026 -0
  283. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.h +282 -0
  284. package/vendor/7zip/CPP/7zip/Archive/Chm/StdAfx.h +11 -0
  285. package/vendor/7zip/CPP/7zip/Archive/ComHandler.cpp +1449 -0
  286. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  287. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  288. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  289. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  290. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.cpp +90 -0
  291. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
  292. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  293. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  294. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  295. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  296. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  297. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  298. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  299. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  300. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  301. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  302. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +29 -0
  303. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +61 -0
  304. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  305. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  306. package/vendor/7zip/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  307. package/vendor/7zip/CPP/7zip/Archive/CpioHandler.cpp +1110 -0
  308. package/vendor/7zip/CPP/7zip/Archive/CramfsHandler.cpp +784 -0
  309. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.cpp +3 -0
  310. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.h +6 -0
  311. package/vendor/7zip/CPP/7zip/Archive/DllExports.cpp +96 -0
  312. package/vendor/7zip/CPP/7zip/Archive/DllExports2.cpp +184 -0
  313. package/vendor/7zip/CPP/7zip/Archive/DmgHandler.cpp +2336 -0
  314. package/vendor/7zip/CPP/7zip/Archive/ElfHandler.cpp +1284 -0
  315. package/vendor/7zip/CPP/7zip/Archive/ExtHandler.cpp +2860 -0
  316. package/vendor/7zip/CPP/7zip/Archive/FatHandler.cpp +1325 -0
  317. package/vendor/7zip/CPP/7zip/Archive/FlvHandler.cpp +521 -0
  318. package/vendor/7zip/CPP/7zip/Archive/GptHandler.cpp +473 -0
  319. package/vendor/7zip/CPP/7zip/Archive/GzHandler.cpp +1200 -0
  320. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.cpp +320 -0
  321. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.h +134 -0
  322. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.cpp +2631 -0
  323. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.h +87 -0
  324. package/vendor/7zip/CPP/7zip/Archive/IArchive.h +755 -0
  325. package/vendor/7zip/CPP/7zip/Archive/Icons/7z.ico +0 -0
  326. package/vendor/7zip/CPP/7zip/Archive/Icons/apfs.ico +0 -0
  327. package/vendor/7zip/CPP/7zip/Archive/Icons/arj.ico +0 -0
  328. package/vendor/7zip/CPP/7zip/Archive/Icons/bz2.ico +0 -0
  329. package/vendor/7zip/CPP/7zip/Archive/Icons/cab.ico +0 -0
  330. package/vendor/7zip/CPP/7zip/Archive/Icons/cpio.ico +0 -0
  331. package/vendor/7zip/CPP/7zip/Archive/Icons/deb.ico +0 -0
  332. package/vendor/7zip/CPP/7zip/Archive/Icons/dmg.ico +0 -0
  333. package/vendor/7zip/CPP/7zip/Archive/Icons/fat.ico +0 -0
  334. package/vendor/7zip/CPP/7zip/Archive/Icons/gz.ico +0 -0
  335. package/vendor/7zip/CPP/7zip/Archive/Icons/hfs.ico +0 -0
  336. package/vendor/7zip/CPP/7zip/Archive/Icons/iso.ico +0 -0
  337. package/vendor/7zip/CPP/7zip/Archive/Icons/lzh.ico +0 -0
  338. package/vendor/7zip/CPP/7zip/Archive/Icons/lzma.ico +0 -0
  339. package/vendor/7zip/CPP/7zip/Archive/Icons/ntfs.ico +0 -0
  340. package/vendor/7zip/CPP/7zip/Archive/Icons/rar.ico +0 -0
  341. package/vendor/7zip/CPP/7zip/Archive/Icons/rpm.ico +0 -0
  342. package/vendor/7zip/CPP/7zip/Archive/Icons/split.ico +0 -0
  343. package/vendor/7zip/CPP/7zip/Archive/Icons/squashfs.ico +0 -0
  344. package/vendor/7zip/CPP/7zip/Archive/Icons/tar.ico +0 -0
  345. package/vendor/7zip/CPP/7zip/Archive/Icons/vhd.ico +0 -0
  346. package/vendor/7zip/CPP/7zip/Archive/Icons/wim.ico +0 -0
  347. package/vendor/7zip/CPP/7zip/Archive/Icons/xar.ico +0 -0
  348. package/vendor/7zip/CPP/7zip/Archive/Icons/xz.ico +0 -0
  349. package/vendor/7zip/CPP/7zip/Archive/Icons/z.ico +0 -0
  350. package/vendor/7zip/CPP/7zip/Archive/Icons/zip.ico +0 -0
  351. package/vendor/7zip/CPP/7zip/Archive/Icons/zst.ico +0 -0
  352. package/vendor/7zip/CPP/7zip/Archive/IhexHandler.cpp +493 -0
  353. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +498 -0
  354. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.h +24 -0
  355. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +12 -0
  356. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.h +64 -0
  357. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +801 -0
  358. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.h +328 -0
  359. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoItem.h +316 -0
  360. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +21 -0
  361. package/vendor/7zip/CPP/7zip/Archive/Iso/StdAfx.h +11 -0
  362. package/vendor/7zip/CPP/7zip/Archive/LpHandler.cpp +1172 -0
  363. package/vendor/7zip/CPP/7zip/Archive/LvmHandler.cpp +1108 -0
  364. package/vendor/7zip/CPP/7zip/Archive/LzhHandler.cpp +719 -0
  365. package/vendor/7zip/CPP/7zip/Archive/LzmaHandler.cpp +606 -0
  366. package/vendor/7zip/CPP/7zip/Archive/MachoHandler.cpp +1075 -0
  367. package/vendor/7zip/CPP/7zip/Archive/MbrHandler.cpp +648 -0
  368. package/vendor/7zip/CPP/7zip/Archive/MslzHandler.cpp +389 -0
  369. package/vendor/7zip/CPP/7zip/Archive/MubHandler.cpp +248 -0
  370. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +295 -0
  371. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +97 -0
  372. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +703 -0
  373. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +30 -0
  374. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +6231 -0
  375. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.h +462 -0
  376. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +20 -0
  377. package/vendor/7zip/CPP/7zip/Archive/Nsis/StdAfx.h +11 -0
  378. package/vendor/7zip/CPP/7zip/Archive/NtfsHandler.cpp +2944 -0
  379. package/vendor/7zip/CPP/7zip/Archive/PeHandler.cpp +3427 -0
  380. package/vendor/7zip/CPP/7zip/Archive/PpmdHandler.cpp +414 -0
  381. package/vendor/7zip/CPP/7zip/Archive/QcowHandler.cpp +713 -0
  382. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.cpp +3483 -0
  383. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.h +527 -0
  384. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +1775 -0
  385. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.h +115 -0
  386. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHeader.h +209 -0
  387. package/vendor/7zip/CPP/7zip/Archive/Rar/RarItem.h +97 -0
  388. package/vendor/7zip/CPP/7zip/Archive/Rar/RarVol.h +136 -0
  389. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.cpp +3 -0
  390. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.h +11 -0
  391. package/vendor/7zip/CPP/7zip/Archive/RpmHandler.cpp +775 -0
  392. package/vendor/7zip/CPP/7zip/Archive/SparseHandler.cpp +558 -0
  393. package/vendor/7zip/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  394. package/vendor/7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2373 -0
  395. package/vendor/7zip/CPP/7zip/Archive/StdAfx.h +11 -0
  396. package/vendor/7zip/CPP/7zip/Archive/SwfHandler.cpp +996 -0
  397. package/vendor/7zip/CPP/7zip/Archive/Tar/StdAfx.h +11 -0
  398. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +1105 -0
  399. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.h +57 -0
  400. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +332 -0
  401. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +99 -0
  402. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.h +90 -0
  403. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.cpp +1151 -0
  404. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.h +151 -0
  405. package/vendor/7zip/CPP/7zip/Archive/Tar/TarItem.h +365 -0
  406. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.cpp +644 -0
  407. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.h +53 -0
  408. package/vendor/7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +31 -0
  409. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +563 -0
  410. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.h +74 -0
  411. package/vendor/7zip/CPP/7zip/Archive/Udf/StdAfx.h +11 -0
  412. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +427 -0
  413. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.h +32 -0
  414. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +1756 -0
  415. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.h +508 -0
  416. package/vendor/7zip/CPP/7zip/Archive/UefiHandler.cpp +1884 -0
  417. package/vendor/7zip/CPP/7zip/Archive/VdiHandler.cpp +433 -0
  418. package/vendor/7zip/CPP/7zip/Archive/VhdHandler.cpp +1106 -0
  419. package/vendor/7zip/CPP/7zip/Archive/VhdxHandler.cpp +2085 -0
  420. package/vendor/7zip/CPP/7zip/Archive/VmdkHandler.cpp +1530 -0
  421. package/vendor/7zip/CPP/7zip/Archive/Wim/StdAfx.h +11 -0
  422. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +1291 -0
  423. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.h +117 -0
  424. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +2008 -0
  425. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.cpp +2104 -0
  426. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.h +719 -0
  427. package/vendor/7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +29 -0
  428. package/vendor/7zip/CPP/7zip/Archive/XarHandler.cpp +1316 -0
  429. package/vendor/7zip/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  430. package/vendor/7zip/CPP/7zip/Archive/XzHandler.h +11 -0
  431. package/vendor/7zip/CPP/7zip/Archive/ZHandler.cpp +208 -0
  432. package/vendor/7zip/CPP/7zip/Archive/Zip/StdAfx.h +11 -0
  433. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +484 -0
  434. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +76 -0
  435. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +62 -0
  436. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +1679 -0
  437. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.h +94 -0
  438. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +626 -0
  439. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHeader.h +201 -0
  440. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +3474 -0
  441. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.h +456 -0
  442. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +464 -0
  443. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.h +356 -0
  444. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +428 -0
  445. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.h +103 -0
  446. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +38 -0
  447. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +2165 -0
  448. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +107 -0
  449. package/vendor/7zip/CPP/7zip/Archive/ZstdHandler.cpp +1147 -0
  450. package/vendor/7zip/CPP/7zip/Archive/makefile +23 -0
  451. package/vendor/7zip/CPP/7zip/Asm.mak +12 -0
  452. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsp +3324 -0
  453. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsw +29 -0
  454. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.cpp +3 -0
  455. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.h +11 -0
  456. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile +245 -0
  457. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile.gcc +354 -0
  458. package/vendor/7zip/CPP/7zip/Bundles/Alone/resource.rc +7 -0
  459. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.cpp +3 -0
  460. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.h +11 -0
  461. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile +31 -0
  462. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile.gcc +108 -0
  463. package/vendor/7zip/CPP/7zip/Bundles/Alone2/resource.rc +7 -0
  464. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  465. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  466. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  467. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  468. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  469. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile.gcc +276 -0
  470. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  471. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsp +2275 -0
  472. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsw +29 -0
  473. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.cpp +3 -0
  474. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.h +6 -0
  475. package/vendor/7zip/CPP/7zip/Bundles/Fm/makefile +82 -0
  476. package/vendor/7zip/CPP/7zip/Bundles/Fm/resource.rc +7 -0
  477. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.cpp +3 -0
  478. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.h +11 -0
  479. package/vendor/7zip/CPP/7zip/Bundles/Format7z/makefile +148 -0
  480. package/vendor/7zip/CPP/7zip/Bundles/Format7z/resource.rc +5 -0
  481. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp +3 -0
  482. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.h +11 -0
  483. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/makefile +116 -0
  484. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/resource.rc +5 -0
  485. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  486. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  487. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  488. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  489. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc.mak +310 -0
  490. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc_gcc.mak +395 -0
  491. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsp +3486 -0
  492. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsw +29 -0
  493. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.cpp +3 -0
  494. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.h +11 -0
  495. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile +20 -0
  496. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile.gcc +55 -0
  497. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/resource.rc +39 -0
  498. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  499. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  500. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  501. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  502. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +815 -0
  503. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  504. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  505. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  506. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  507. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  508. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  509. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  510. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  511. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  512. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  513. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  514. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  515. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  516. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  517. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  518. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  519. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  520. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  521. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  522. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  523. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  524. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  525. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +359 -0
  526. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  527. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  528. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  529. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  530. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  531. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  532. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  533. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  534. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  535. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  536. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  537. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  538. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  539. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  540. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  541. package/vendor/7zip/CPP/7zip/Bundles/makefile +19 -0
  542. package/vendor/7zip/CPP/7zip/Common/CWrappers.cpp +358 -0
  543. package/vendor/7zip/CPP/7zip/Common/CWrappers.h +182 -0
  544. package/vendor/7zip/CPP/7zip/Common/CreateCoder.cpp +548 -0
  545. package/vendor/7zip/CPP/7zip/Common/CreateCoder.h +200 -0
  546. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  547. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  548. package/vendor/7zip/CPP/7zip/Common/FileStreams.cpp +923 -0
  549. package/vendor/7zip/CPP/7zip/Common/FileStreams.h +205 -0
  550. package/vendor/7zip/CPP/7zip/Common/FilterCoder.cpp +582 -0
  551. package/vendor/7zip/CPP/7zip/Common/FilterCoder.h +201 -0
  552. package/vendor/7zip/CPP/7zip/Common/InBuffer.cpp +182 -0
  553. package/vendor/7zip/CPP/7zip/Common/InBuffer.h +121 -0
  554. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  555. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  556. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.cpp +395 -0
  557. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.h +221 -0
  558. package/vendor/7zip/CPP/7zip/Common/LockedStream.cpp +3 -0
  559. package/vendor/7zip/CPP/7zip/Common/LockedStream.h +6 -0
  560. package/vendor/7zip/CPP/7zip/Common/MemBlocks.cpp +215 -0
  561. package/vendor/7zip/CPP/7zip/Common/MemBlocks.h +72 -0
  562. package/vendor/7zip/CPP/7zip/Common/MethodId.cpp +3 -0
  563. package/vendor/7zip/CPP/7zip/Common/MethodId.h +10 -0
  564. package/vendor/7zip/CPP/7zip/Common/MethodProps.cpp +765 -0
  565. package/vendor/7zip/CPP/7zip/Common/MethodProps.h +348 -0
  566. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  567. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.h +160 -0
  568. package/vendor/7zip/CPP/7zip/Common/OffsetStream.cpp +37 -0
  569. package/vendor/7zip/CPP/7zip/Common/OffsetStream.h +22 -0
  570. package/vendor/7zip/CPP/7zip/Common/OutBuffer.cpp +111 -0
  571. package/vendor/7zip/CPP/7zip/Common/OutBuffer.h +133 -0
  572. package/vendor/7zip/CPP/7zip/Common/OutMemStream.cpp +158 -0
  573. package/vendor/7zip/CPP/7zip/Common/OutMemStream.h +104 -0
  574. package/vendor/7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
  575. package/vendor/7zip/CPP/7zip/Common/ProgressMt.h +43 -0
  576. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  577. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.h +33 -0
  578. package/vendor/7zip/CPP/7zip/Common/PropId.cpp +115 -0
  579. package/vendor/7zip/CPP/7zip/Common/RegisterArc.h +80 -0
  580. package/vendor/7zip/CPP/7zip/Common/RegisterCodec.h +106 -0
  581. package/vendor/7zip/CPP/7zip/Common/StdAfx.h +11 -0
  582. package/vendor/7zip/CPP/7zip/Common/StreamBinder.cpp +151 -0
  583. package/vendor/7zip/CPP/7zip/Common/StreamBinder.h +78 -0
  584. package/vendor/7zip/CPP/7zip/Common/StreamObjects.cpp +290 -0
  585. package/vendor/7zip/CPP/7zip/Common/StreamObjects.h +146 -0
  586. package/vendor/7zip/CPP/7zip/Common/StreamUtils.cpp +101 -0
  587. package/vendor/7zip/CPP/7zip/Common/StreamUtils.h +31 -0
  588. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  589. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.h +41 -0
  590. package/vendor/7zip/CPP/7zip/Common/VirtThread.cpp +47 -0
  591. package/vendor/7zip/CPP/7zip/Common/VirtThread.h +24 -0
  592. package/vendor/7zip/CPP/7zip/Compress/BZip2Const.h +71 -0
  593. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.cpp +28 -0
  594. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
  595. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.cpp +1777 -0
  596. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.h +388 -0
  597. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.cpp +1116 -0
  598. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.h +273 -0
  599. package/vendor/7zip/CPP/7zip/Compress/BZip2Register.cpp +25 -0
  600. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  601. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  602. package/vendor/7zip/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  603. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  604. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.h +37 -0
  605. package/vendor/7zip/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  606. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.cpp +32 -0
  607. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.h +225 -0
  608. package/vendor/7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
  609. package/vendor/7zip/CPP/7zip/Compress/BitmDecoder.h +106 -0
  610. package/vendor/7zip/CPP/7zip/Compress/BitmEncoder.h +90 -0
  611. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  612. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.h +59 -0
  613. package/vendor/7zip/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  614. package/vendor/7zip/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  615. package/vendor/7zip/CPP/7zip/Compress/Codec.def +7 -0
  616. package/vendor/7zip/CPP/7zip/Compress/CodecExports.cpp +378 -0
  617. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  618. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
  619. package/vendor/7zip/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  620. package/vendor/7zip/CPP/7zip/Compress/Deflate64Register.cpp +25 -0
  621. package/vendor/7zip/CPP/7zip/Compress/DeflateConst.h +131 -0
  622. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.cpp +566 -0
  623. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.h +154 -0
  624. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.cpp +1045 -0
  625. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.h +203 -0
  626. package/vendor/7zip/CPP/7zip/Compress/DeflateRegister.cpp +25 -0
  627. package/vendor/7zip/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  628. package/vendor/7zip/CPP/7zip/Compress/DllExports2Compress.cpp +38 -0
  629. package/vendor/7zip/CPP/7zip/Compress/DllExportsCompress.cpp +59 -0
  630. package/vendor/7zip/CPP/7zip/Compress/HuffmanDecoder.h +528 -0
  631. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +250 -0
  632. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.h +61 -0
  633. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +3 -0
  634. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +6 -0
  635. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
  636. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.h +102 -0
  637. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.cpp +950 -0
  638. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.h +63 -0
  639. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
  640. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.h +68 -0
  641. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  642. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  643. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  644. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  645. package/vendor/7zip/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  646. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  647. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  648. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  649. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  650. package/vendor/7zip/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  651. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.cpp +619 -0
  652. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.h +209 -0
  653. package/vendor/7zip/CPP/7zip/Compress/Lzx.h +61 -0
  654. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.cpp +1517 -0
  655. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.h +106 -0
  656. package/vendor/7zip/CPP/7zip/Compress/Mtf8.h +225 -0
  657. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  658. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  659. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  660. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  661. package/vendor/7zip/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  662. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.cpp +309 -0
  663. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.h +78 -0
  664. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.cpp +355 -0
  665. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.h +60 -0
  666. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.cpp +518 -0
  667. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.h +70 -0
  668. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.cpp +472 -0
  669. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.h +111 -0
  670. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.cpp +939 -0
  671. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.h +283 -0
  672. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.cpp +1153 -0
  673. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.h +195 -0
  674. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.cpp +2060 -0
  675. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.h +132 -0
  676. package/vendor/7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +33 -0
  677. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +290 -0
  678. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
  679. package/vendor/7zip/CPP/7zip/Compress/StdAfx.h +11 -0
  680. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.cpp +399 -0
  681. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.h +18 -0
  682. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  683. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.h +86 -0
  684. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  685. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.h +35 -0
  686. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.cpp +392 -0
  687. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.h +41 -0
  688. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.cpp +136 -0
  689. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.h +78 -0
  690. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
  691. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.h +42 -0
  692. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.cpp +437 -0
  693. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.h +98 -0
  694. package/vendor/7zip/CPP/7zip/Compress/makefile +7 -0
  695. package/vendor/7zip/CPP/7zip/Crc.mak +8 -0
  696. package/vendor/7zip/CPP/7zip/Crc64.mak +8 -0
  697. package/vendor/7zip/CPP/7zip/Crypto/7zAes.cpp +315 -0
  698. package/vendor/7zip/CPP/7zip/Crypto/7zAes.h +130 -0
  699. package/vendor/7zip/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  700. package/vendor/7zip/CPP/7zip/Crypto/Codec.def +4 -0
  701. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.cpp +94 -0
  702. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.h +31 -0
  703. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.cpp +53 -0
  704. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.h +27 -0
  705. package/vendor/7zip/CPP/7zip/Crypto/MyAes.cpp +277 -0
  706. package/vendor/7zip/CPP/7zip/Crypto/MyAes.h +122 -0
  707. package/vendor/7zip/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  708. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +48 -0
  709. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +19 -0
  710. package/vendor/7zip/CPP/7zip/Crypto/RandGen.cpp +242 -0
  711. package/vendor/7zip/CPP/7zip/Crypto/RandGen.h +41 -0
  712. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +130 -0
  713. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.h +54 -0
  714. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.cpp +273 -0
  715. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.h +97 -0
  716. package/vendor/7zip/CPP/7zip/Crypto/RarAes.cpp +202 -0
  717. package/vendor/7zip/CPP/7zip/Crypto/RarAes.h +54 -0
  718. package/vendor/7zip/CPP/7zip/Crypto/Sha1Cls.h +37 -0
  719. package/vendor/7zip/CPP/7zip/Crypto/StdAfx.h +11 -0
  720. package/vendor/7zip/CPP/7zip/Crypto/WzAes.cpp +231 -0
  721. package/vendor/7zip/CPP/7zip/Crypto/WzAes.h +161 -0
  722. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.cpp +114 -0
  723. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.h +80 -0
  724. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.cpp +265 -0
  725. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.h +73 -0
  726. package/vendor/7zip/CPP/7zip/GuiCommon.rc +119 -0
  727. package/vendor/7zip/CPP/7zip/Guid.txt +243 -0
  728. package/vendor/7zip/CPP/7zip/ICoder.h +480 -0
  729. package/vendor/7zip/CPP/7zip/IDecl.h +76 -0
  730. package/vendor/7zip/CPP/7zip/IPassword.h +54 -0
  731. package/vendor/7zip/CPP/7zip/IProgress.h +20 -0
  732. package/vendor/7zip/CPP/7zip/IStream.h +210 -0
  733. package/vendor/7zip/CPP/7zip/LzFindOpt.mak +7 -0
  734. package/vendor/7zip/CPP/7zip/LzmaDec.mak +7 -0
  735. package/vendor/7zip/CPP/7zip/LzmaDec_gcc.mak +14 -0
  736. package/vendor/7zip/CPP/7zip/MyVersion.h +2 -0
  737. package/vendor/7zip/CPP/7zip/MyVersionInfo.rc +2 -0
  738. package/vendor/7zip/CPP/7zip/PropID.h +178 -0
  739. package/vendor/7zip/CPP/7zip/Sha1.mak +13 -0
  740. package/vendor/7zip/CPP/7zip/Sha256.mak +13 -0
  741. package/vendor/7zip/CPP/7zip/Sort.mak +6 -0
  742. package/vendor/7zip/CPP/7zip/SubBuild.mak +3 -0
  743. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.cpp +2003 -0
  744. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.h +365 -0
  745. package/vendor/7zip/CPP/7zip/UI/Agent/AgentOut.cpp +776 -0
  746. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.cpp +1098 -0
  747. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.h +198 -0
  748. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolder.cpp +57 -0
  749. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOpen.cpp +243 -0
  750. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOut.cpp +457 -0
  751. package/vendor/7zip/CPP/7zip/UI/Agent/IFolderArchive.h +123 -0
  752. package/vendor/7zip/CPP/7zip/UI/Agent/StdAfx.h +11 -0
  753. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.cpp +208 -0
  754. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.h +22 -0
  755. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  756. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  757. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  758. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  759. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  760. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile +29 -0
  761. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  762. package/vendor/7zip/CPP/7zip/UI/Client7z/resource.rc +3 -0
  763. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1913 -0
  764. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  765. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3243 -0
  766. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.h +640 -0
  767. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  768. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  769. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +403 -0
  770. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  771. package/vendor/7zip/CPP/7zip/UI/Common/Bench.cpp +5036 -0
  772. package/vendor/7zip/CPP/7zip/UI/Common/Bench.h +121 -0
  773. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.cpp +343 -0
  774. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.h +28 -0
  775. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall2.cpp +327 -0
  776. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  777. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.h +11 -0
  778. package/vendor/7zip/CPP/7zip/UI/Common/DirItem.h +407 -0
  779. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  780. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  781. package/vendor/7zip/CPP/7zip/UI/Common/ExitCode.h +27 -0
  782. package/vendor/7zip/CPP/7zip/UI/Common/Extract.cpp +593 -0
  783. package/vendor/7zip/CPP/7zip/UI/Common/Extract.h +118 -0
  784. package/vendor/7zip/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  785. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.cpp +299 -0
  786. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  787. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  788. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.h +322 -0
  789. package/vendor/7zip/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  790. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.cpp +1354 -0
  791. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  792. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.cpp +3690 -0
  793. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  794. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.cpp +746 -0
  795. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  796. package/vendor/7zip/CPP/7zip/UI/Common/Property.h +14 -0
  797. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  798. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.h +10 -0
  799. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  800. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.h +10 -0
  801. package/vendor/7zip/CPP/7zip/UI/Common/StdAfx.h +11 -0
  802. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  803. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.h +19 -0
  804. package/vendor/7zip/CPP/7zip/UI/Common/Update.cpp +1931 -0
  805. package/vendor/7zip/CPP/7zip/UI/Common/Update.h +221 -0
  806. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  807. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  808. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.cpp +1078 -0
  809. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  810. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.cpp +303 -0
  811. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  812. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.cpp +75 -0
  813. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  814. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  815. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.h +30 -0
  816. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.cpp +599 -0
  817. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  818. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  819. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.h +14 -0
  820. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsp +1052 -0
  821. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsw +29 -0
  822. package/vendor/7zip/CPP/7zip/UI/Console/Console.mak +45 -0
  823. package/vendor/7zip/CPP/7zip/UI/Console/Console.manifest +16 -0
  824. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  825. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  826. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +954 -0
  827. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  828. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  829. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.h +58 -0
  830. package/vendor/7zip/CPP/7zip/UI/Console/List.cpp +1417 -0
  831. package/vendor/7zip/CPP/7zip/UI/Console/List.h +42 -0
  832. package/vendor/7zip/CPP/7zip/UI/Console/Main.cpp +1663 -0
  833. package/vendor/7zip/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  834. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  835. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  836. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  837. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  838. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  839. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.h +11 -0
  840. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +1012 -0
  841. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  842. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  843. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  844. package/vendor/7zip/CPP/7zip/UI/Console/makefile +68 -0
  845. package/vendor/7zip/CPP/7zip/UI/Console/makefile.gcc +184 -0
  846. package/vendor/7zip/CPP/7zip/UI/Console/resource.rc +7 -0
  847. package/vendor/7zip/CPP/7zip/UI/Explorer/7-zip.dll.manifest +1 -0
  848. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.cpp +1837 -0
  849. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.h +173 -0
  850. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenuFlags.h +27 -0
  851. package/vendor/7zip/CPP/7zip/UI/Explorer/DllExportsExplorer.cpp +268 -0
  852. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.def +9 -0
  853. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsp +620 -0
  854. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsw +29 -0
  855. package/vendor/7zip/CPP/7zip/UI/Explorer/MenuLogo.bmp +0 -0
  856. package/vendor/7zip/CPP/7zip/UI/Explorer/MyExplorerCommand.h +217 -0
  857. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  858. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  859. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.cpp +225 -0
  860. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.h +13 -0
  861. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.cpp +3 -0
  862. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.h +6 -0
  863. package/vendor/7zip/CPP/7zip/UI/Explorer/makefile +76 -0
  864. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.h +15 -0
  865. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.rc +10 -0
  866. package/vendor/7zip/CPP/7zip/UI/Explorer/resource2.rc +19 -0
  867. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.cpp +274 -0
  868. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.h +43 -0
  869. package/vendor/7zip/CPP/7zip/UI/Far/Far.cpp +588 -0
  870. package/vendor/7zip/CPP/7zip/UI/Far/Far.def +35 -0
  871. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsp +831 -0
  872. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsw +29 -0
  873. package/vendor/7zip/CPP/7zip/UI/Far/FarPlugin.h +560 -0
  874. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.cpp +523 -0
  875. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.h +203 -0
  876. package/vendor/7zip/CPP/7zip/UI/Far/Messages.h +136 -0
  877. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.cpp +145 -0
  878. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.h +37 -0
  879. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.cpp +937 -0
  880. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.h +97 -0
  881. package/vendor/7zip/CPP/7zip/UI/Far/PluginCommon.cpp +50 -0
  882. package/vendor/7zip/CPP/7zip/UI/Far/PluginDelete.cpp +144 -0
  883. package/vendor/7zip/CPP/7zip/UI/Far/PluginRead.cpp +301 -0
  884. package/vendor/7zip/CPP/7zip/UI/Far/PluginWrite.cpp +840 -0
  885. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.cpp +305 -0
  886. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.h +85 -0
  887. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.cpp +3 -0
  888. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.h +11 -0
  889. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.cpp +327 -0
  890. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.h +58 -0
  891. package/vendor/7zip/CPP/7zip/UI/Far/makefile +105 -0
  892. package/vendor/7zip/CPP/7zip/UI/Far/resource.rc +3 -0
  893. package/vendor/7zip/CPP/7zip/UI/FileManager/7zFM.exe.manifest +23 -0
  894. package/vendor/7zip/CPP/7zip/UI/FileManager/7zipLogo.ico +0 -0
  895. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.cpp +81 -0
  896. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.h +19 -0
  897. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.rc +26 -0
  898. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialogRes.h +8 -0
  899. package/vendor/7zip/CPP/7zip/UI/FileManager/Add.bmp +0 -0
  900. package/vendor/7zip/CPP/7zip/UI/FileManager/Add2.bmp +0 -0
  901. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.cpp +865 -0
  902. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.h +92 -0
  903. package/vendor/7zip/CPP/7zip/UI/FileManager/App.cpp +1004 -0
  904. package/vendor/7zip/CPP/7zip/UI/FileManager/App.h +314 -0
  905. package/vendor/7zip/CPP/7zip/UI/FileManager/AppState.h +95 -0
  906. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  907. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  908. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.rc +25 -0
  909. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.cpp +1873 -0
  910. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.h +10 -0
  911. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.rc +32 -0
  912. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2Res.h +9 -0
  913. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  914. package/vendor/7zip/CPP/7zip/UI/FileManager/ClassDefs.cpp +12 -0
  915. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  916. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  917. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.rc +16 -0
  918. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  919. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy.bmp +0 -0
  920. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy2.bmp +0 -0
  921. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.cpp +103 -0
  922. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.h +31 -0
  923. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.rc +20 -0
  924. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialogRes.h +8 -0
  925. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete.bmp +0 -0
  926. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete2.bmp +0 -0
  927. package/vendor/7zip/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  928. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.cpp +57 -0
  929. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.h +25 -0
  930. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.rc +15 -0
  931. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialogRes.h +2 -0
  932. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.cpp +159 -0
  933. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.h +30 -0
  934. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.rc +19 -0
  935. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage2.rc +14 -0
  936. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPageRes.h +15 -0
  937. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.cpp +109 -0
  938. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.h +10 -0
  939. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract.bmp +0 -0
  940. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract2.bmp +0 -0
  941. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1284 -0
  942. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  943. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.cpp +1230 -0
  944. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsp +1699 -0
  945. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsw +29 -0
  946. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.ico +0 -0
  947. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.mak +102 -0
  948. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.cpp +512 -0
  949. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.h +52 -0
  950. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.cpp +1179 -0
  951. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.h +220 -0
  952. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolderCopy.cpp +871 -0
  953. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.cpp +394 -0
  954. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.h +27 -0
  955. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.cpp +78 -0
  956. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.h +33 -0
  957. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.cpp +172 -0
  958. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.h +32 -0
  959. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.rc +23 -0
  960. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage2.rc +11 -0
  961. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPageRes.h +12 -0
  962. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  963. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  964. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.cpp +78 -0
  965. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.h +10 -0
  966. package/vendor/7zip/CPP/7zip/UI/FileManager/IFolder.h +187 -0
  967. package/vendor/7zip/CPP/7zip/UI/FileManager/Info.bmp +0 -0
  968. package/vendor/7zip/CPP/7zip/UI/FileManager/Info2.bmp +0 -0
  969. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.cpp +359 -0
  970. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.h +36 -0
  971. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.rc +40 -0
  972. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPageRes.h +9 -0
  973. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.cpp +333 -0
  974. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  975. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.cpp +402 -0
  976. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.h +34 -0
  977. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.rc +38 -0
  978. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialogRes.h +22 -0
  979. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.cpp +321 -0
  980. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.h +46 -0
  981. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.rc +14 -0
  982. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialogRes.h +2 -0
  983. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  984. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  985. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.rc +49 -0
  986. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  987. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.cpp +439 -0
  988. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.h +57 -0
  989. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.rc +24 -0
  990. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage2.rc +28 -0
  991. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPageRes.h +15 -0
  992. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.cpp +76 -0
  993. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.h +25 -0
  994. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.rc +14 -0
  995. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialogRes.h +3 -0
  996. package/vendor/7zip/CPP/7zip/UI/FileManager/Move.bmp +0 -0
  997. package/vendor/7zip/CPP/7zip/UI/FileManager/Move2.bmp +0 -0
  998. package/vendor/7zip/CPP/7zip/UI/FileManager/MyCom2.h +46 -0
  999. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.cpp +964 -0
  1000. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.h +40 -0
  1001. package/vendor/7zip/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  1002. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.cpp +276 -0
  1003. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.h +36 -0
  1004. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.cpp +86 -0
  1005. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.h +69 -0
  1006. package/vendor/7zip/CPP/7zip/UI/FileManager/OptionsDialog.cpp +89 -0
  1007. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  1008. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  1009. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  1010. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  1011. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.cpp +1177 -0
  1012. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.h +1020 -0
  1013. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCopy.cpp +477 -0
  1014. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCrc.cpp +422 -0
  1015. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelDrag.cpp +3006 -0
  1016. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelFolderChange.cpp +1122 -0
  1017. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItemOpen.cpp +1836 -0
  1018. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItems.cpp +1476 -0
  1019. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelKey.cpp +357 -0
  1020. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelListNotify.cpp +838 -0
  1021. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelMenu.cpp +1160 -0
  1022. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelOperations.cpp +533 -0
  1023. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSelect.cpp +317 -0
  1024. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSort.cpp +288 -0
  1025. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSplitFile.cpp +562 -0
  1026. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  1027. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  1028. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  1029. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  1030. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginInterface.h +32 -0
  1031. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginLoader.h +33 -0
  1032. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.cpp +3 -0
  1033. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.h +6 -0
  1034. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  1035. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  1036. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  1037. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1484 -0
  1038. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  1039. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  1040. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  1041. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  1042. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  1043. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  1044. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  1045. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.rc +109 -0
  1046. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  1047. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.cpp +167 -0
  1048. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.h +31 -0
  1049. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.cpp +145 -0
  1050. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.h +29 -0
  1051. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.cpp +194 -0
  1052. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.h +50 -0
  1053. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.cpp +342 -0
  1054. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.h +24 -0
  1055. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.cpp +453 -0
  1056. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.h +37 -0
  1057. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.rc +22 -0
  1058. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage2.rc +37 -0
  1059. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPageRes.h +23 -0
  1060. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.cpp +114 -0
  1061. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.h +28 -0
  1062. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.rc +16 -0
  1063. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialogRes.h +8 -0
  1064. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.cpp +96 -0
  1065. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.h +15 -0
  1066. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.cpp +3 -0
  1067. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  1068. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.cpp +39 -0
  1069. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.h +11 -0
  1070. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.cpp +352 -0
  1071. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  1072. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.cpp +472 -0
  1073. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.h +126 -0
  1074. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.rc +43 -0
  1075. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPageRes.h +9 -0
  1076. package/vendor/7zip/CPP/7zip/UI/FileManager/Test.bmp +0 -0
  1077. package/vendor/7zip/CPP/7zip/UI/FileManager/Test2.bmp +0 -0
  1078. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.cpp +193 -0
  1079. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.h +32 -0
  1080. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.cpp +147 -0
  1081. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.h +49 -0
  1082. package/vendor/7zip/CPP/7zip/UI/FileManager/VerCtrl.cpp +428 -0
  1083. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.cpp +315 -0
  1084. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.h +115 -0
  1085. package/vendor/7zip/CPP/7zip/UI/FileManager/makefile +110 -0
  1086. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.h +199 -0
  1087. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.rc +296 -0
  1088. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  1089. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.rc +30 -0
  1090. package/vendor/7zip/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  1091. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.cpp +1921 -0
  1092. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.h +15 -0
  1093. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.rc +288 -0
  1094. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialogRes.h +79 -0
  1095. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.cpp +3821 -0
  1096. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.h +483 -0
  1097. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.rc +233 -0
  1098. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialogRes.h +125 -0
  1099. package/vendor/7zip/CPP/7zip/UI/GUI/CompressOptionsDialog.rc +79 -0
  1100. package/vendor/7zip/CPP/7zip/UI/GUI/Extract.rc +59 -0
  1101. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.cpp +420 -0
  1102. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  1103. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  1104. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  1105. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  1106. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  1107. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  1108. package/vendor/7zip/CPP/7zip/UI/GUI/FM.ico +0 -0
  1109. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.cpp +502 -0
  1110. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsp +1275 -0
  1111. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsw +29 -0
  1112. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.cpp +341 -0
  1113. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  1114. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.cpp +3 -0
  1115. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.h +6 -0
  1116. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.cpp +295 -0
  1117. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.h +31 -0
  1118. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.cpp +130 -0
  1119. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.h +53 -0
  1120. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.cpp +605 -0
  1121. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.h +33 -0
  1122. package/vendor/7zip/CPP/7zip/UI/GUI/makefile +148 -0
  1123. package/vendor/7zip/CPP/7zip/UI/GUI/resource.rc +26 -0
  1124. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.h +2 -0
  1125. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.rc +10 -0
  1126. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.h +10 -0
  1127. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.rc +15 -0
  1128. package/vendor/7zip/CPP/7zip/UI/makefile +12 -0
  1129. package/vendor/7zip/CPP/7zip/cmpl_clang.mak +3 -0
  1130. package/vendor/7zip/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  1131. package/vendor/7zip/CPP/7zip/cmpl_clang_x64.mak +3 -0
  1132. package/vendor/7zip/CPP/7zip/cmpl_clang_x86.mak +3 -0
  1133. package/vendor/7zip/CPP/7zip/cmpl_gcc.mak +3 -0
  1134. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm.mak +3 -0
  1135. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  1136. package/vendor/7zip/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  1137. package/vendor/7zip/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  1138. package/vendor/7zip/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  1139. package/vendor/7zip/CPP/7zip/cmpl_mac_x64.mak +3 -0
  1140. package/vendor/7zip/CPP/7zip/makefile +10 -0
  1141. package/vendor/7zip/CPP/7zip/var_clang.mak +11 -0
  1142. package/vendor/7zip/CPP/7zip/var_clang_arm64.mak +19 -0
  1143. package/vendor/7zip/CPP/7zip/var_clang_x64.mak +11 -0
  1144. package/vendor/7zip/CPP/7zip/var_clang_x86.mak +11 -0
  1145. package/vendor/7zip/CPP/7zip/var_gcc.mak +12 -0
  1146. package/vendor/7zip/CPP/7zip/var_gcc_arm.mak +34 -0
  1147. package/vendor/7zip/CPP/7zip/var_gcc_arm64.mak +12 -0
  1148. package/vendor/7zip/CPP/7zip/var_gcc_x64.mak +11 -0
  1149. package/vendor/7zip/CPP/7zip/var_gcc_x86.mak +10 -0
  1150. package/vendor/7zip/CPP/7zip/var_mac_arm64.mak +13 -0
  1151. package/vendor/7zip/CPP/7zip/var_mac_x64.mak +13 -0
  1152. package/vendor/7zip/CPP/7zip/warn_clang.mak +3 -0
  1153. package/vendor/7zip/CPP/7zip/warn_clang_mac.mak +9 -0
  1154. package/vendor/7zip/CPP/7zip/warn_gcc.mak +55 -0
  1155. package/vendor/7zip/CPP/Build.mak +259 -0
  1156. package/vendor/7zip/CPP/Common/AutoPtr.h +46 -0
  1157. package/vendor/7zip/CPP/Common/CRC.cpp +7 -0
  1158. package/vendor/7zip/CPP/Common/C_FileIO.cpp +3 -0
  1159. package/vendor/7zip/CPP/Common/C_FileIO.h +6 -0
  1160. package/vendor/7zip/CPP/Common/CksumReg.cpp +55 -0
  1161. package/vendor/7zip/CPP/Common/ComTry.h +21 -0
  1162. package/vendor/7zip/CPP/Common/CommandLineParser.cpp +231 -0
  1163. package/vendor/7zip/CPP/Common/CommandLineParser.h +63 -0
  1164. package/vendor/7zip/CPP/Common/Common.h +28 -0
  1165. package/vendor/7zip/CPP/Common/Common0.h +342 -0
  1166. package/vendor/7zip/CPP/Common/CrcReg.cpp +77 -0
  1167. package/vendor/7zip/CPP/Common/Defs.h +16 -0
  1168. package/vendor/7zip/CPP/Common/DynLimBuf.cpp +93 -0
  1169. package/vendor/7zip/CPP/Common/DynLimBuf.h +41 -0
  1170. package/vendor/7zip/CPP/Common/DynamicBuffer.h +76 -0
  1171. package/vendor/7zip/CPP/Common/IntToString.cpp +215 -0
  1172. package/vendor/7zip/CPP/Common/IntToString.h +54 -0
  1173. package/vendor/7zip/CPP/Common/Lang.cpp +173 -0
  1174. package/vendor/7zip/CPP/Common/Lang.h +30 -0
  1175. package/vendor/7zip/CPP/Common/ListFileUtils.cpp +150 -0
  1176. package/vendor/7zip/CPP/Common/ListFileUtils.h +18 -0
  1177. package/vendor/7zip/CPP/Common/LzFindPrepare.cpp +7 -0
  1178. package/vendor/7zip/CPP/Common/Md5Reg.cpp +44 -0
  1179. package/vendor/7zip/CPP/Common/MyBuffer.h +343 -0
  1180. package/vendor/7zip/CPP/Common/MyBuffer2.h +185 -0
  1181. package/vendor/7zip/CPP/Common/MyCom.h +693 -0
  1182. package/vendor/7zip/CPP/Common/MyException.h +14 -0
  1183. package/vendor/7zip/CPP/Common/MyGuidDef.h +63 -0
  1184. package/vendor/7zip/CPP/Common/MyInitGuid.h +57 -0
  1185. package/vendor/7zip/CPP/Common/MyLinux.h +75 -0
  1186. package/vendor/7zip/CPP/Common/MyMap.cpp +140 -0
  1187. package/vendor/7zip/CPP/Common/MyMap.h +28 -0
  1188. package/vendor/7zip/CPP/Common/MyString.cpp +1842 -0
  1189. package/vendor/7zip/CPP/Common/MyString.h +1079 -0
  1190. package/vendor/7zip/CPP/Common/MyTypes.h +38 -0
  1191. package/vendor/7zip/CPP/Common/MyUnknown.h +8 -0
  1192. package/vendor/7zip/CPP/Common/MyVector.cpp +3 -0
  1193. package/vendor/7zip/CPP/Common/MyVector.h +772 -0
  1194. package/vendor/7zip/CPP/Common/MyWindows.cpp +292 -0
  1195. package/vendor/7zip/CPP/Common/MyWindows.h +325 -0
  1196. package/vendor/7zip/CPP/Common/MyXml.cpp +349 -0
  1197. package/vendor/7zip/CPP/Common/MyXml.h +45 -0
  1198. package/vendor/7zip/CPP/Common/NewHandler.cpp +340 -0
  1199. package/vendor/7zip/CPP/Common/NewHandler.h +121 -0
  1200. package/vendor/7zip/CPP/Common/Random.cpp +28 -0
  1201. package/vendor/7zip/CPP/Common/Random.h +14 -0
  1202. package/vendor/7zip/CPP/Common/Sha1Prepare.cpp +7 -0
  1203. package/vendor/7zip/CPP/Common/Sha1Reg.cpp +67 -0
  1204. package/vendor/7zip/CPP/Common/Sha256Prepare.cpp +7 -0
  1205. package/vendor/7zip/CPP/Common/Sha256Reg.cpp +67 -0
  1206. package/vendor/7zip/CPP/Common/Sha3Reg.cpp +76 -0
  1207. package/vendor/7zip/CPP/Common/Sha512Prepare.cpp +7 -0
  1208. package/vendor/7zip/CPP/Common/Sha512Reg.cpp +83 -0
  1209. package/vendor/7zip/CPP/Common/StdAfx.h +8 -0
  1210. package/vendor/7zip/CPP/Common/StdInStream.cpp +98 -0
  1211. package/vendor/7zip/CPP/Common/StdInStream.h +46 -0
  1212. package/vendor/7zip/CPP/Common/StdOutStream.cpp +271 -0
  1213. package/vendor/7zip/CPP/Common/StdOutStream.h +87 -0
  1214. package/vendor/7zip/CPP/Common/StringConvert.cpp +762 -0
  1215. package/vendor/7zip/CPP/Common/StringConvert.h +110 -0
  1216. package/vendor/7zip/CPP/Common/StringToInt.cpp +154 -0
  1217. package/vendor/7zip/CPP/Common/StringToInt.h +38 -0
  1218. package/vendor/7zip/CPP/Common/TextConfig.cpp +123 -0
  1219. package/vendor/7zip/CPP/Common/TextConfig.h +19 -0
  1220. package/vendor/7zip/CPP/Common/UTFConvert.cpp +863 -0
  1221. package/vendor/7zip/CPP/Common/UTFConvert.h +384 -0
  1222. package/vendor/7zip/CPP/Common/Wildcard.cpp +789 -0
  1223. package/vendor/7zip/CPP/Common/Wildcard.h +231 -0
  1224. package/vendor/7zip/CPP/Common/Xxh64Reg.cpp +97 -0
  1225. package/vendor/7zip/CPP/Common/XzCrc64Init.cpp +7 -0
  1226. package/vendor/7zip/CPP/Common/XzCrc64Reg.cpp +39 -0
  1227. package/vendor/7zip/CPP/Windows/COM.cpp +41 -0
  1228. package/vendor/7zip/CPP/Windows/COM.h +86 -0
  1229. package/vendor/7zip/CPP/Windows/Clipboard.cpp +130 -0
  1230. package/vendor/7zip/CPP/Windows/Clipboard.h +28 -0
  1231. package/vendor/7zip/CPP/Windows/CommonDialog.cpp +269 -0
  1232. package/vendor/7zip/CPP/Windows/CommonDialog.h +43 -0
  1233. package/vendor/7zip/CPP/Windows/Console.cpp +10 -0
  1234. package/vendor/7zip/CPP/Windows/Console.h +52 -0
  1235. package/vendor/7zip/CPP/Windows/Control/ComboBox.cpp +75 -0
  1236. package/vendor/7zip/CPP/Windows/Control/ComboBox.h +79 -0
  1237. package/vendor/7zip/CPP/Windows/Control/CommandBar.h +52 -0
  1238. package/vendor/7zip/CPP/Windows/Control/Dialog.cpp +446 -0
  1239. package/vendor/7zip/CPP/Windows/Control/Dialog.h +213 -0
  1240. package/vendor/7zip/CPP/Windows/Control/Edit.h +19 -0
  1241. package/vendor/7zip/CPP/Windows/Control/ImageList.cpp +10 -0
  1242. package/vendor/7zip/CPP/Windows/Control/ImageList.h +87 -0
  1243. package/vendor/7zip/CPP/Windows/Control/ListView.cpp +162 -0
  1244. package/vendor/7zip/CPP/Windows/Control/ListView.h +156 -0
  1245. package/vendor/7zip/CPP/Windows/Control/ProgressBar.h +35 -0
  1246. package/vendor/7zip/CPP/Windows/Control/PropertyPage.cpp +165 -0
  1247. package/vendor/7zip/CPP/Windows/Control/PropertyPage.h +50 -0
  1248. package/vendor/7zip/CPP/Windows/Control/ReBar.h +34 -0
  1249. package/vendor/7zip/CPP/Windows/Control/Static.h +28 -0
  1250. package/vendor/7zip/CPP/Windows/Control/StatusBar.h +42 -0
  1251. package/vendor/7zip/CPP/Windows/Control/StdAfx.h +11 -0
  1252. package/vendor/7zip/CPP/Windows/Control/ToolBar.h +43 -0
  1253. package/vendor/7zip/CPP/Windows/Control/Trackbar.h +27 -0
  1254. package/vendor/7zip/CPP/Windows/Control/Window2.cpp +202 -0
  1255. package/vendor/7zip/CPP/Windows/Control/Window2.h +53 -0
  1256. package/vendor/7zip/CPP/Windows/DLL.cpp +178 -0
  1257. package/vendor/7zip/CPP/Windows/DLL.h +103 -0
  1258. package/vendor/7zip/CPP/Windows/ErrorMsg.cpp +133 -0
  1259. package/vendor/7zip/CPP/Windows/ErrorMsg.h +16 -0
  1260. package/vendor/7zip/CPP/Windows/FileDir.cpp +1388 -0
  1261. package/vendor/7zip/CPP/Windows/FileDir.h +173 -0
  1262. package/vendor/7zip/CPP/Windows/FileFind.cpp +1458 -0
  1263. package/vendor/7zip/CPP/Windows/FileFind.h +345 -0
  1264. package/vendor/7zip/CPP/Windows/FileIO.cpp +1188 -0
  1265. package/vendor/7zip/CPP/Windows/FileIO.h +508 -0
  1266. package/vendor/7zip/CPP/Windows/FileLink.cpp +697 -0
  1267. package/vendor/7zip/CPP/Windows/FileMapping.cpp +12 -0
  1268. package/vendor/7zip/CPP/Windows/FileMapping.h +66 -0
  1269. package/vendor/7zip/CPP/Windows/FileName.cpp +911 -0
  1270. package/vendor/7zip/CPP/Windows/FileName.h +142 -0
  1271. package/vendor/7zip/CPP/Windows/FileSystem.cpp +187 -0
  1272. package/vendor/7zip/CPP/Windows/FileSystem.h +31 -0
  1273. package/vendor/7zip/CPP/Windows/Handle.h +39 -0
  1274. package/vendor/7zip/CPP/Windows/MemoryGlobal.cpp +36 -0
  1275. package/vendor/7zip/CPP/Windows/MemoryGlobal.h +55 -0
  1276. package/vendor/7zip/CPP/Windows/MemoryLock.cpp +127 -0
  1277. package/vendor/7zip/CPP/Windows/MemoryLock.h +40 -0
  1278. package/vendor/7zip/CPP/Windows/Menu.cpp +265 -0
  1279. package/vendor/7zip/CPP/Windows/Menu.h +170 -0
  1280. package/vendor/7zip/CPP/Windows/NationalTime.cpp +37 -0
  1281. package/vendor/7zip/CPP/Windows/NationalTime.h +20 -0
  1282. package/vendor/7zip/CPP/Windows/Net.cpp +398 -0
  1283. package/vendor/7zip/CPP/Windows/Net.h +87 -0
  1284. package/vendor/7zip/CPP/Windows/NtCheck.h +58 -0
  1285. package/vendor/7zip/CPP/Windows/ProcessMessages.cpp +22 -0
  1286. package/vendor/7zip/CPP/Windows/ProcessMessages.h +12 -0
  1287. package/vendor/7zip/CPP/Windows/ProcessUtils.cpp +102 -0
  1288. package/vendor/7zip/CPP/Windows/ProcessUtils.h +138 -0
  1289. package/vendor/7zip/CPP/Windows/PropVariant.cpp +393 -0
  1290. package/vendor/7zip/CPP/Windows/PropVariant.h +173 -0
  1291. package/vendor/7zip/CPP/Windows/PropVariantConv.cpp +274 -0
  1292. package/vendor/7zip/CPP/Windows/PropVariantConv.h +47 -0
  1293. package/vendor/7zip/CPP/Windows/PropVariantUtils.cpp +161 -0
  1294. package/vendor/7zip/CPP/Windows/PropVariantUtils.h +34 -0
  1295. package/vendor/7zip/CPP/Windows/Registry.cpp +474 -0
  1296. package/vendor/7zip/CPP/Windows/Registry.h +96 -0
  1297. package/vendor/7zip/CPP/Windows/ResourceString.cpp +103 -0
  1298. package/vendor/7zip/CPP/Windows/ResourceString.h +17 -0
  1299. package/vendor/7zip/CPP/Windows/SecurityUtils.cpp +186 -0
  1300. package/vendor/7zip/CPP/Windows/SecurityUtils.h +154 -0
  1301. package/vendor/7zip/CPP/Windows/Shell.cpp +839 -0
  1302. package/vendor/7zip/CPP/Windows/Shell.h +129 -0
  1303. package/vendor/7zip/CPP/Windows/StdAfx.h +11 -0
  1304. package/vendor/7zip/CPP/Windows/Synchronization.cpp +87 -0
  1305. package/vendor/7zip/CPP/Windows/Synchronization.h +386 -0
  1306. package/vendor/7zip/CPP/Windows/System.cpp +423 -0
  1307. package/vendor/7zip/CPP/Windows/System.h +209 -0
  1308. package/vendor/7zip/CPP/Windows/SystemInfo.cpp +1312 -0
  1309. package/vendor/7zip/CPP/Windows/SystemInfo.h +19 -0
  1310. package/vendor/7zip/CPP/Windows/Thread.h +46 -0
  1311. package/vendor/7zip/CPP/Windows/TimeUtils.cpp +467 -0
  1312. package/vendor/7zip/CPP/Windows/TimeUtils.h +154 -0
  1313. package/vendor/7zip/CPP/Windows/WinDefs.h +17 -0
  1314. package/vendor/7zip/CPP/Windows/Window.cpp +179 -0
  1315. package/vendor/7zip/CPP/Windows/Window.h +363 -0
  1316. package/vendor/7zip/DOC/7zC.txt +187 -0
  1317. package/vendor/7zip/DOC/7zFormat.txt +469 -0
  1318. package/vendor/7zip/DOC/7zip.hhp +84 -0
  1319. package/vendor/7zip/DOC/7zip.wxs +403 -0
  1320. package/vendor/7zip/DOC/License.txt +151 -0
  1321. package/vendor/7zip/DOC/Methods.txt +177 -0
  1322. package/vendor/7zip/DOC/copying.txt +502 -0
  1323. package/vendor/7zip/DOC/lzma.txt +345 -0
  1324. package/vendor/7zip/DOC/readme.txt +299 -0
  1325. package/vendor/7zip/DOC/src-history.txt +884 -0
  1326. package/vendor/7zip/DOC/unRarLicense.txt +41 -0
  1327. package/vendor/7zip/README.md +2 -0
@@ -0,0 +1,1756 @@
1
+ // Archive/UdfIn.cpp
2
+
3
+ #include "StdAfx.h"
4
+
5
+ // #define SHOW_DEBUG_INFO
6
+
7
+ #ifdef SHOW_DEBUG_INFO
8
+ #include <stdio.h>
9
+ #endif
10
+
11
+ #include "../../../../C/CpuArch.h"
12
+
13
+ #include "../../../Windows/PropVariantUtils.h"
14
+
15
+ #include "../../Common/RegisterArc.h"
16
+ #include "../../Common/StreamUtils.h"
17
+
18
+ #include "UdfIn.h"
19
+
20
+ #ifdef SHOW_DEBUG_INFO
21
+ #define PRF(x) x
22
+ #else
23
+ #define PRF(x)
24
+ #endif
25
+
26
+ #define Get16(p) GetUi16(p)
27
+ #define Get32(p) GetUi32(p)
28
+ #define Get64(p) GetUi64(p)
29
+
30
+ #define G16(_offs_, dest) dest = Get16(p + (_offs_))
31
+ #define G32(_offs_, dest) dest = Get32(p + (_offs_))
32
+ #define G64(_offs_, dest) dest = Get64(p + (_offs_))
33
+
34
+ namespace NArchive {
35
+ namespace NUdf {
36
+
37
+ static const unsigned kNumPartitionsMax = 64;
38
+ static const unsigned kNumLogVolumesMax = 64;
39
+ static const unsigned kNumRecursionLevelsMax = 1 << 10;
40
+ static const unsigned kNumItemsMax = 1 << 27;
41
+ static const unsigned kNumFilesMax = 1 << 28;
42
+ static const unsigned kNumRefsMax = 1 << 28;
43
+ static const UInt32 kNumExtentsMax = (UInt32)1 << 30;
44
+ static const UInt64 kFileNameLengthTotalMax = (UInt64)1 << 33;
45
+ static const UInt64 kInlineExtentsSizeMax = (UInt64)1 << 33;
46
+
47
+ #define CRC16_INIT_VAL 0
48
+ #define CRC16_UPDATE_BYTE(crc, b) ((UInt16)(g_Crc16Table[(((crc) >> 8) ^ (b)) & 0xFF] ^ ((crc) << 8)))
49
+
50
+ #define kCrc16Poly 0x1021
51
+ static UInt16 g_Crc16Table[256];
52
+
53
+ static void Z7_FASTCALL Crc16GenerateTable(void)
54
+ {
55
+ UInt32 i;
56
+ for (i = 0; i < 256; i++)
57
+ {
58
+ UInt32 r = (i << 8);
59
+ for (unsigned j = 0; j < 8; j++)
60
+ r = ((r << 1) ^ (kCrc16Poly & ((UInt32)0 - (r >> 15)))) & 0xFFFF;
61
+ g_Crc16Table[i] = (UInt16)r;
62
+ }
63
+ }
64
+
65
+ static UInt32 Z7_FASTCALL Crc16Calc(const void *data, size_t size)
66
+ {
67
+ UInt32 v = CRC16_INIT_VAL;
68
+ const Byte *p = (const Byte *)data;
69
+ const Byte *pEnd = p + size;
70
+ for (; p != pEnd; p++)
71
+ v = CRC16_UPDATE_BYTE(v, *p);
72
+ return v;
73
+ }
74
+
75
+ static struct CCrc16TableInit { CCrc16TableInit() { Crc16GenerateTable(); } } g_Crc16TableInit;
76
+
77
+
78
+ // ---------- ECMA Part 1 ----------
79
+
80
+ void CDString::Parse(const Byte *p, unsigned size)
81
+ {
82
+ Data.CopyFrom(p, size);
83
+ }
84
+
85
+ static UString ParseDString(const Byte *data, unsigned size)
86
+ {
87
+ UString res;
88
+ if (size != 0)
89
+ {
90
+ wchar_t *p;
91
+ const Byte type = *data++;
92
+ size--;
93
+ if (type == 8)
94
+ {
95
+ p = res.GetBuf(size);
96
+ for (unsigned i = 0; i < size; i++)
97
+ {
98
+ const wchar_t c = data[i];
99
+ if (c == 0)
100
+ break;
101
+ *p++ = c;
102
+ }
103
+ }
104
+ else if (type == 16)
105
+ {
106
+ size &= ~(unsigned)1;
107
+ p = res.GetBuf(size / 2);
108
+ for (unsigned i = 0; i < size; i += 2)
109
+ {
110
+ const wchar_t c = GetBe16(data + i);
111
+ if (c == 0)
112
+ break;
113
+ *p++ = c;
114
+ }
115
+ }
116
+ else
117
+ {
118
+ res = "[unknown]";
119
+ return res;
120
+ }
121
+ *p = 0;
122
+ res.ReleaseBuf_SetLen((unsigned)(p - (const wchar_t *)res));
123
+ }
124
+ return res;
125
+ }
126
+
127
+ UString CDString32::GetString() const
128
+ {
129
+ const unsigned size = Data[sizeof(Data) - 1];
130
+ return ParseDString(Data, MyMin(size, (unsigned)(sizeof(Data) - 1)));
131
+ }
132
+
133
+ UString CDString128::GetString() const
134
+ {
135
+ const unsigned size = Data[sizeof(Data) - 1];
136
+ return ParseDString(Data, MyMin(size, (unsigned)(sizeof(Data) - 1)));
137
+ }
138
+
139
+ UString CDString::GetString() const { return ParseDString(Data, (unsigned)Data.Size()); }
140
+
141
+ void CTime::Parse(const Byte *p) { memcpy(Data, p, sizeof(Data)); }
142
+
143
+
144
+ static void AddCommentChars(UString &dest, const char *s, size_t size)
145
+ {
146
+ for (size_t i = 0; i < size; i++)
147
+ {
148
+ char c = s[i];
149
+ if (c == 0)
150
+ break;
151
+ if (c < 0x20)
152
+ c = '_';
153
+ dest += (wchar_t)c;
154
+ }
155
+ }
156
+
157
+
158
+ void CRegId::Parse(const Byte *p)
159
+ {
160
+ Flags = p[0];
161
+ memcpy(Id, p + 1, sizeof(Id));
162
+ memcpy(Suffix, p + 24, sizeof(Suffix));
163
+ }
164
+
165
+ void CRegId::AddCommentTo(UString &s) const
166
+ {
167
+ AddCommentChars(s, Id, sizeof(Id));
168
+ }
169
+
170
+ void CRegId::AddUdfVersionTo(UString &s) const
171
+ {
172
+ // use it only for "Domain Identifier Suffix" and "UDF Identifier Suffix"
173
+ // UDF 2.1.5.3
174
+ // Revision in hex (3 digits)
175
+ const Byte minor = Suffix[0];
176
+ const Byte major = Suffix[1];
177
+ if (major != 0 || minor != 0)
178
+ {
179
+ char temp[16];
180
+ ConvertUInt32ToHex(major, temp);
181
+ s += temp;
182
+ s.Add_Dot();
183
+ ConvertUInt32ToHex8Digits(minor, temp);
184
+ s += &temp[8 - 2];
185
+ }
186
+ }
187
+
188
+
189
+ // ---------- ECMA Part 3: Volume Structure ----------
190
+
191
+ void CExtent::Parse(const Byte *p)
192
+ {
193
+ /* Len shall be less than < 2^30.
194
+ Unless otherwise specified, the length shall be an integral multiple of the logical sector size.
195
+ If (Len == 0), no extent is specified and (Pos) shall contain 0 */
196
+ G32 (0, Len);
197
+ G32 (4, Pos);
198
+ }
199
+
200
+
201
+ // ECMA 3/7.2
202
+
203
+ struct CTag
204
+ {
205
+ UInt16 Id;
206
+ // UInt16 Version;
207
+ // Byte Checksum;
208
+ // UInt16 SerialNumber;
209
+ // UInt16 Crc;
210
+ UInt16 CrcLen;
211
+ // UInt32 TagLocation; // the number of the logical sector
212
+
213
+ HRESULT Parse(const Byte *p, size_t size);
214
+ };
215
+
216
+ HRESULT CTag::Parse(const Byte *p, size_t size)
217
+ {
218
+ if (size < 16)
219
+ return S_FALSE;
220
+ {
221
+ unsigned sum = 0;
222
+ for (unsigned i = 0; i < 16; i++)
223
+ sum = sum + p[i];
224
+ if ((Byte)(sum - p[4]) != p[4] || p[5] != 0)
225
+ return S_FALSE;
226
+ }
227
+ Id = Get16(p);
228
+ const UInt16 Version = Get16(p + 2);
229
+ if (Version != 2 && Version != 3)
230
+ return S_FALSE;
231
+ // SerialNumber = Get16(p + 6);
232
+ const UInt32 crc = Get16(p + 8);
233
+ CrcLen = Get16(p + 10);
234
+ // TagLocation = Get32(p + 12);
235
+
236
+ if (size >= 16 + (size_t)CrcLen)
237
+ if (crc == Crc16Calc(p + 16, (size_t)CrcLen))
238
+ return S_OK;
239
+ return S_FALSE;
240
+ }
241
+
242
+ // ECMA 3/7.2.1
243
+
244
+ enum EDescriptorType
245
+ {
246
+ DESC_TYPE_SpoaringTable = 0, // UDF
247
+ DESC_TYPE_PrimVol = 1,
248
+ DESC_TYPE_AnchorVolPtr = 2,
249
+ DESC_TYPE_VolPtr = 3,
250
+ DESC_TYPE_ImplUseVol = 4,
251
+ DESC_TYPE_Partition = 5,
252
+ DESC_TYPE_LogicalVol = 6,
253
+ DESC_TYPE_UnallocSpace = 7,
254
+ DESC_TYPE_Terminating = 8,
255
+ DESC_TYPE_LogicalVolIntegrity = 9,
256
+ DESC_TYPE_FileSet = 256,
257
+ DESC_TYPE_FileId = 257,
258
+ DESC_TYPE_AllocationExtent = 258,
259
+ DESC_TYPE_Indirect = 259,
260
+ DESC_TYPE_Terminal = 260,
261
+ DESC_TYPE_File = 261,
262
+ DESC_TYPE_ExtendedAttrHeader = 262,
263
+ DESC_TYPE_UnallocatedSpaceEntry = 263,
264
+ DESC_TYPE_SpaceBitmap = 264,
265
+ DESC_TYPE_PartitionIntegrity = 265,
266
+ DESC_TYPE_ExtendedFile = 266
267
+ };
268
+
269
+
270
+ void CLogBlockAddr::Parse(const Byte *p)
271
+ {
272
+ G32 (0, Pos);
273
+ G16 (4, PartitionRef);
274
+ }
275
+
276
+ void CShortAllocDesc::Parse(const Byte *p)
277
+ {
278
+ G32 (0, Len);
279
+ G32 (4, Pos);
280
+ }
281
+
282
+ /*
283
+ void CADImpUse::Parse(const Byte *p)
284
+ {
285
+ G16 (0, Flags);
286
+ G32 (2, UdfUniqueId);
287
+ }
288
+ */
289
+
290
+ void CLongAllocDesc::Parse(const Byte *p)
291
+ {
292
+ G32 (0, Len);
293
+ Location.Parse(p + 4);
294
+ // memcpy(ImplUse, p + 10, sizeof(ImplUse));
295
+ // adImpUse.Parse(ImplUse);
296
+ }
297
+
298
+
299
+ void CPrimeVol::Parse(const Byte *p)
300
+ {
301
+ // G32 (16, VolumeDescriptorSequenceNumber);
302
+ G32 (20, PrimaryVolumeDescriptorNumber);
303
+ VolumeId.Parse(p + 24);
304
+ G16 (56, VolumeSequenceNumber);
305
+ G16 (58, MaximumVolumeSequenceNumber);
306
+ // G16 (60, InterchangeLevel);
307
+ // G16 (62, MaximumInterchangeLevel);
308
+ // G32 (64, CharacterSetList)
309
+ // G32 (68, MaximumCharacterSetList)
310
+ VolumeSetId.Parse(p + 72);
311
+ // 200 64 Descriptor Character Set charspec (1/7.2.1)
312
+ // 264 64 Explanatory Character Set charspec (1/7.2.1)
313
+ // VolumeAbstract.Parse(p + 328);
314
+ // VolumeCopyrightNotice.Parse(p + 336);
315
+ ApplicationId.Parse(p + 344);
316
+ RecordingTime.Parse(p + 376);
317
+ ImplId.Parse(p + 388);
318
+ // 420 64 Implementation Use bytes
319
+ // G32 (484, PredecessorVolumeDescriptorSequenceLocation);
320
+ // G16 (488, Flags);
321
+ }
322
+
323
+
324
+
325
+ bool CInArchive::CheckExtent(unsigned volIndex, unsigned partitionRef, UInt32 blockPos, UInt32 len) const
326
+ {
327
+ const CLogVol &vol = LogVols[volIndex];
328
+ if (partitionRef >= vol.PartitionMaps.Size())
329
+ return false;
330
+ const CPartition &partition = Partitions[vol.PartitionMaps[partitionRef].PartitionIndex];
331
+ return ((UInt64)blockPos * vol.BlockSize + len) <= ((UInt64)partition.Len << SecLogSize);
332
+ }
333
+
334
+ bool CInArchive::CheckItemExtents(unsigned volIndex, const CItem &item) const
335
+ {
336
+ FOR_VECTOR (i, item.Extents)
337
+ {
338
+ const CMyExtent &e = item.Extents[i];
339
+ if (!CheckExtent(volIndex, e.PartitionRef, e.Pos, e.GetLen()))
340
+ return false;
341
+ }
342
+ return true;
343
+ }
344
+
345
+ HRESULT CInArchive::Read(unsigned volIndex, unsigned partitionRef, UInt32 blockPos, UInt32 len, Byte *buf)
346
+ {
347
+ if (!CheckExtent(volIndex, partitionRef, blockPos, len))
348
+ return S_FALSE;
349
+ const CLogVol &vol = LogVols[volIndex];
350
+ const CPartition &partition = Partitions[vol.PartitionMaps[partitionRef].PartitionIndex];
351
+ UInt64 offset = ((UInt64)partition.Pos << SecLogSize) + (UInt64)blockPos * vol.BlockSize;
352
+ RINOK(InStream_SeekSet(_stream, offset))
353
+ offset += len;
354
+ UpdatePhySize(offset);
355
+ const HRESULT res = ReadStream_FALSE(_stream, buf, len);
356
+ if (res == S_FALSE && offset > FileSize)
357
+ UnexpectedEnd = true;
358
+ return res;
359
+ }
360
+
361
+ HRESULT CInArchive::ReadLad(unsigned volIndex, const CLongAllocDesc &lad, Byte *buf)
362
+ {
363
+ return Read(volIndex, lad.Location.PartitionRef, lad.Location.Pos, lad.GetLen(), (Byte *)buf);
364
+ }
365
+
366
+ HRESULT CInArchive::ReadFromFile(unsigned volIndex, const CItem &item, CByteBuffer &buf)
367
+ {
368
+ if (item.Size >= (UInt32)1 << 30)
369
+ return S_FALSE;
370
+ if (item.IsInline)
371
+ {
372
+ buf = item.InlineData;
373
+ return S_OK;
374
+ }
375
+ buf.Alloc((size_t)item.Size);
376
+ size_t pos = 0;
377
+ FOR_VECTOR (i, item.Extents)
378
+ {
379
+ const CMyExtent &e = item.Extents[i];
380
+ const UInt32 len = e.GetLen();
381
+ RINOK(Read(volIndex, e.PartitionRef, e.Pos, len, (Byte *)buf + pos))
382
+ pos += len;
383
+ }
384
+ return S_OK;
385
+ }
386
+
387
+
388
+ void CIcbTag::Parse(const Byte *p)
389
+ {
390
+ // G32 (0, PriorDirectNum);
391
+ // G16 (4, StrategyType);
392
+ // G16 (6, StrategyParam);
393
+ // G16 (8, MaxNumOfEntries);
394
+ FileType = p[11];
395
+ // ParentIcb.Parse(p + 12);
396
+ G16 (18, Flags);
397
+ }
398
+
399
+
400
+ // ECMA 4/14.9 File Entry
401
+ // UDF FileEntry 2.3.6
402
+
403
+ // ECMA 4/14.17 Extended File Entry
404
+
405
+ void CItem::Parse(const Byte *p)
406
+ {
407
+ // (-1) can be stored in Uid/Gid.
408
+ // G32 (36, Uid);
409
+ // G32 (40, Gid);
410
+ // G32 (44, Permissions);
411
+ G16 (48, FileLinkCount);
412
+ // RecordFormat = p[50];
413
+ // RecordDisplayAttr = p[51];
414
+ // G32 (52, RecordLen);
415
+ G64 (56, Size);
416
+ if (IsExtended)
417
+ {
418
+ // The sum of all Information Length fields for all streams of a file (including the default stream). If this file has no
419
+ // streams, the Object Size shall be equal to the Information Length.
420
+ // G64 (64, ObjectSize);
421
+ p += 8;
422
+ }
423
+ G64 (64, NumLogBlockRecorded);
424
+ ATime.Parse(p + 72);
425
+ MTime.Parse(p + 84);
426
+ if (IsExtended)
427
+ {
428
+ CreateTime.Parse(p + 96);
429
+ p += 12;
430
+ }
431
+ AttribTime.Parse(p + 96);
432
+ // G32 (108, CheckPoint);
433
+ /*
434
+ if (IsExtended)
435
+ {
436
+ // Get32(p + 112); // reserved
437
+ p += 4;
438
+ }
439
+ // ExtendedAttrIcb.Parse(p + 112);
440
+ if (IsExtended)
441
+ {
442
+ StreamDirectoryIcb.Parse(p + 128);
443
+ p += 16;
444
+ }
445
+ */
446
+
447
+ // ImplId.Parse(p + 128);
448
+ // G64 (160, UniqueId);
449
+ }
450
+
451
+
452
+ // ECMA 4/14.4
453
+ // UDF 2.3.4
454
+
455
+ /*
456
+ File Characteristics:
457
+ Deleted bit:
458
+ ECMA: If set to ONE, shall mean this File Identifier Descriptor
459
+ identifies a file that has been deleted;
460
+ UDF: If the space for the file or directory is deallocated,
461
+ the implementation shall set the ICB field to zero.
462
+ ECMA 167 4/8.6 requires that the File Identifiers of all FIDs in a directory shall be unique.
463
+ The implementations shall follow these rules when a Deleted bit is set:
464
+ rewrire the compression ID of the File Identifier: 8 -> 254, 16 -> 255.
465
+ */
466
+
467
+ struct CFileId
468
+ {
469
+ // UInt16 FileVersion;
470
+ Byte FileCharacteristics;
471
+ // CByteBuffer ImplUse;
472
+ CDString Id;
473
+ CLongAllocDesc Icb;
474
+
475
+ bool IsItLink_Dir () const { return (FileCharacteristics & FILEID_CHARACS_Dir) != 0; }
476
+ bool IsItLink_Deleted() const { return (FileCharacteristics & FILEID_CHARACS_Deleted) != 0; }
477
+ bool IsItLink_Parent () const { return (FileCharacteristics & FILEID_CHARACS_Parent) != 0; }
478
+
479
+ size_t Parse(const Byte *p, size_t size);
480
+ };
481
+
482
+ size_t CFileId::Parse(const Byte *p, size_t size)
483
+ {
484
+ const unsigned k_FileId_FixedSize = 38;
485
+ if (size < k_FileId_FixedSize)
486
+ return 0;
487
+ CTag tag;
488
+ if (tag.Parse(p, size) != S_OK)
489
+ return 0;
490
+ if (tag.Id != DESC_TYPE_FileId)
491
+ return 0;
492
+ // FileVersion = Get16(p + 16);
493
+ // UDF: There shall be only one version of a file as specified below with the value being set to 1.
494
+
495
+ FileCharacteristics = p[18];
496
+ const unsigned idLen = p[19];
497
+ Icb.Parse(p + 20);
498
+ const unsigned impLen = Get16(p + 36);
499
+ if (size < k_FileId_FixedSize + idLen + impLen)
500
+ return 0;
501
+ size_t processed = k_FileId_FixedSize;
502
+ // ImplUse.CopyFrom(p + processed, impLen);
503
+ processed += impLen;
504
+ Id.Parse(p + processed, idLen);
505
+ processed += idLen;
506
+ // const size_t processed2 = processed;
507
+ for (; processed & 3; processed++)
508
+ if (processed >= size || p[processed])
509
+ return 0;
510
+ // some program can create non-standard UDF file where CrcLen doesn't include Padding data
511
+ if ((size_t)tag.CrcLen + 16 != processed
512
+ // && (size_t)tag.CrcLen + 16 != processed2 // we can enable this check to support non-standard UDF
513
+ )
514
+ return 0;
515
+ return processed;
516
+ }
517
+
518
+
519
+
520
+ HRESULT CInArchive::ReadFileItem(unsigned volIndex, unsigned fsIndex, const CLongAllocDesc &lad, bool isDir, int numRecurseAllowed)
521
+ {
522
+ if (Files.Size() % 100 == 0)
523
+ RINOK(_progress->SetCompleted(Files.Size(), _processedProgressBytes))
524
+ if (numRecurseAllowed-- == 0)
525
+ return S_FALSE;
526
+ CFile &file = Files.Back();
527
+ const CLogVol &vol = LogVols[volIndex];
528
+ const unsigned partitionRef = lad.Location.PartitionRef;
529
+ if (partitionRef >= vol.PartitionMaps.Size())
530
+ return S_FALSE;
531
+ CPartition &partition = Partitions[vol.PartitionMaps[partitionRef].PartitionIndex];
532
+
533
+ const UInt32 key = lad.Location.Pos;
534
+ UInt32 value;
535
+ const UInt32 kRecursedErrorValue = (UInt32)(Int32)-1;
536
+ if (partition.Map.Find(key, value))
537
+ {
538
+ if (value == kRecursedErrorValue)
539
+ return S_FALSE;
540
+ file.ItemIndex = (int)(Int32)value;
541
+ }
542
+ else
543
+ {
544
+ value = Items.Size();
545
+ file.ItemIndex = (int)(Int32)value;
546
+ if (partition.Map.Set(key, kRecursedErrorValue))
547
+ return S_FALSE;
548
+ RINOK(ReadItem(volIndex, (int)fsIndex, lad, isDir, numRecurseAllowed))
549
+ if (!partition.Map.Set(key, value))
550
+ return S_FALSE;
551
+ }
552
+ return S_OK;
553
+ }
554
+
555
+
556
+ // (fsIndex = -1) means that it's metadata file
557
+
558
+ HRESULT CInArchive::ReadItem(unsigned volIndex, int fsIndex, const CLongAllocDesc &lad, bool isDir, int numRecurseAllowed)
559
+ {
560
+ if (Items.Size() >= kNumItemsMax)
561
+ return S_FALSE;
562
+ CItem &item = Items.AddNew();
563
+
564
+ const CLogVol &vol = LogVols[volIndex];
565
+
566
+ const size_t size = lad.GetLen();
567
+ if (size != vol.BlockSize)
568
+ return S_FALSE;
569
+
570
+ CByteBuffer buf(size);
571
+ RINOK(ReadLad(volIndex, lad, buf))
572
+
573
+ CTag tag;
574
+ const Byte *p = buf;
575
+ RINOK(tag.Parse(p, size))
576
+
577
+ item.IsExtended = (tag.Id == DESC_TYPE_ExtendedFile);
578
+ const size_t kExtendOffset = item.IsExtended ? 40 : 0;
579
+
580
+ if (size < kExtendOffset + 176)
581
+ return S_FALSE;
582
+ if (tag.Id != DESC_TYPE_File &&
583
+ tag.Id != DESC_TYPE_ExtendedFile)
584
+ return S_FALSE;
585
+
586
+ item.IcbTag.Parse(p + 16);
587
+
588
+ // maybe another FileType values are possible in rare cases.
589
+ // Shoud we ignore FileType here?
590
+ if (fsIndex < 0)
591
+ {
592
+ // if (item.IcbTag.FileType == ICB_FILE_TYPE_DIR) return S_FALSE;
593
+ if (item.IcbTag.FileType != ICB_FILE_TYPE_METADATA &&
594
+ item.IcbTag.FileType != ICB_FILE_TYPE_METADATA_MIRROR &&
595
+ item.IcbTag.FileType != ICB_FILE_TYPE_METADATA_BITMAP)
596
+ return S_FALSE;
597
+ }
598
+ else if (
599
+ item.IcbTag.FileType != ICB_FILE_TYPE_DIR &&
600
+ item.IcbTag.FileType != ICB_FILE_TYPE_FILE &&
601
+ item.IcbTag.FileType != ICB_FILE_TYPE_REAL_TIME_FILE) // M2TS files in /BDMV/STREAM/ in Blu-ray movie
602
+ return S_FALSE;
603
+
604
+ item.Parse(p);
605
+
606
+ _processedProgressBytes += (UInt64)item.NumLogBlockRecorded * vol.BlockSize + size;
607
+
608
+ const UInt32 extendedAttrLen = Get32(p + 168 + kExtendOffset);
609
+ const UInt32 allocDescriptorsLen = Get32(p + 172 + kExtendOffset);
610
+
611
+ if ((extendedAttrLen & 3) != 0)
612
+ return S_FALSE;
613
+ size_t pos = 176 + kExtendOffset;
614
+ if (extendedAttrLen > size - pos)
615
+ return S_FALSE;
616
+ /*
617
+ if (extendedAttrLen != 16)
618
+ {
619
+ if (extendedAttrLen < 24)
620
+ return S_FALSE;
621
+ CTag attrTag;
622
+ RINOK(attrTag.Parse(p + pos, size));
623
+ if (attrTag.Id != DESC_TYPE_ExtendedAttrHeader)
624
+ return S_FALSE;
625
+ // UInt32 implAttrLocation = Get32(p + pos + 16);
626
+ // UInt32 applicationlAttrLocation = Get32(p + pos + 20);
627
+ }
628
+ */
629
+ pos += extendedAttrLen;
630
+
631
+ const int descType = item.IcbTag.GetDescriptorType();
632
+ if (allocDescriptorsLen > size - pos)
633
+ return S_FALSE;
634
+ if (descType == ICB_DESC_TYPE_INLINE)
635
+ {
636
+ item.IsInline = true;
637
+ item.InlineData.CopyFrom(p + pos, allocDescriptorsLen);
638
+ }
639
+ else
640
+ {
641
+ item.IsInline = false;
642
+ if (descType != ICB_DESC_TYPE_SHORT && descType != ICB_DESC_TYPE_LONG)
643
+ return S_FALSE;
644
+ for (UInt32 i = 0; i < allocDescriptorsLen;)
645
+ {
646
+ CMyExtent e;
647
+ if (descType == ICB_DESC_TYPE_SHORT)
648
+ {
649
+ if (i + 8 > allocDescriptorsLen)
650
+ return S_FALSE;
651
+ CShortAllocDesc sad;
652
+ sad.Parse(p + pos + i);
653
+ e.Pos = sad.Pos;
654
+ e.Len = sad.Len;
655
+ e.PartitionRef = lad.Location.PartitionRef;
656
+ i += 8;
657
+ }
658
+ else
659
+ {
660
+ if (i + 16 > allocDescriptorsLen)
661
+ return S_FALSE;
662
+ CLongAllocDesc ladNew;
663
+ ladNew.Parse(p + pos + i);
664
+ e.Pos = ladNew.Location.Pos;
665
+ e.PartitionRef = ladNew.Location.PartitionRef;
666
+ e.Len = ladNew.Len;
667
+ i += 16;
668
+ }
669
+ item.Extents.Add(e);
670
+ }
671
+ }
672
+
673
+ if (isDir != item.IcbTag.IsDir())
674
+ return S_FALSE;
675
+
676
+ if (item.IcbTag.IsDir())
677
+ {
678
+ if (fsIndex < 0)
679
+ return S_FALSE;
680
+
681
+ if (!item.CheckChunkSizes() || !CheckItemExtents(volIndex, item))
682
+ return S_FALSE;
683
+ CByteBuffer buf2;
684
+ RINOK(ReadFromFile(volIndex, item, buf2))
685
+ item.Size = 0;
686
+ item.Extents.ClearAndFree();
687
+ item.InlineData.Free();
688
+
689
+ const Byte *p2 = buf2;
690
+ size_t size2 = buf2.Size();
691
+ while (size2 != 0)
692
+ {
693
+ CFileId fileId;
694
+ {
695
+ const size_t cur = fileId.Parse(p2, size2);
696
+ if (cur == 0)
697
+ return S_FALSE;
698
+ p2 += cur;
699
+ size2 -= cur;
700
+ }
701
+ if (fileId.IsItLink_Parent())
702
+ continue;
703
+ if (fileId.IsItLink_Deleted())
704
+ continue;
705
+ {
706
+ CFile file;
707
+ // file.FileVersion = fileId.FileVersion;
708
+ // file.FileCharacteristics = fileId.FileCharacteristics;
709
+ // file.ImplUse = fileId.ImplUse;
710
+ file.Id = fileId.Id;
711
+
712
+ _fileNameLengthTotal += file.Id.Data.Size();
713
+ if (_fileNameLengthTotal > kFileNameLengthTotalMax)
714
+ return S_FALSE;
715
+
716
+ item.SubFiles.Add(Files.Size());
717
+ if (Files.Size() >= kNumFilesMax)
718
+ return S_FALSE;
719
+ Files.Add(file);
720
+ RINOK(ReadFileItem(volIndex, (unsigned)fsIndex, fileId.Icb,
721
+ fileId.IsItLink_Dir(), numRecurseAllowed))
722
+ }
723
+ }
724
+ }
725
+ else
726
+ {
727
+ if ((UInt32)item.Extents.Size() > kNumExtentsMax - _numExtents)
728
+ return S_FALSE;
729
+ _numExtents += item.Extents.Size();
730
+
731
+ if (item.InlineData.Size() > kInlineExtentsSizeMax - _inlineExtentsSize)
732
+ return S_FALSE;
733
+ _inlineExtentsSize += item.InlineData.Size();
734
+ }
735
+
736
+ return S_OK;
737
+ }
738
+
739
+
740
+ HRESULT CInArchive::FillRefs(CFileSet &fs, unsigned fileIndex, int parent, int numRecurseAllowed)
741
+ {
742
+ if ((_numRefs & 0xFFF) == 0)
743
+ {
744
+ RINOK(_progress->SetCompleted())
745
+ }
746
+ if (numRecurseAllowed-- == 0)
747
+ return S_FALSE;
748
+ if (_numRefs >= kNumRefsMax)
749
+ return S_FALSE;
750
+ _numRefs++;
751
+ CRef ref;
752
+ ref.FileIndex = fileIndex;
753
+ ref.Parent = parent;
754
+ parent = (int)fs.Refs.Size();
755
+ fs.Refs.Add(ref);
756
+ const CItem &item = Items[Files[fileIndex].ItemIndex];
757
+ FOR_VECTOR (i, item.SubFiles)
758
+ {
759
+ RINOK(FillRefs(fs, item.SubFiles[i], parent, numRecurseAllowed))
760
+ }
761
+ return S_OK;
762
+ }
763
+
764
+
765
+ API_FUNC_IsArc IsArc_Udf(const Byte *p, size_t size)
766
+ {
767
+ UInt32 res = k_IsArc_Res_NO;
768
+ unsigned SecLogSize;
769
+ for (SecLogSize = 11;; SecLogSize -= 2)
770
+ {
771
+ if (SecLogSize < 9)
772
+ return res;
773
+ const UInt32 offset = (UInt32)256 << SecLogSize;
774
+ const UInt32 bufSize = (UInt32)1 << SecLogSize;
775
+ if (offset + bufSize > size)
776
+ res = k_IsArc_Res_NEED_MORE;
777
+ else
778
+ {
779
+ CTag tag;
780
+ if (tag.Parse(p + offset, bufSize) == S_OK)
781
+ if (tag.Id == DESC_TYPE_AnchorVolPtr)
782
+ {
783
+ if (Get32(p + offset + 12) == 256 && // TagLocation
784
+ tag.CrcLen >= 16)
785
+ return k_IsArc_Res_YES;
786
+ }
787
+ }
788
+ }
789
+ }
790
+
791
+
792
+ HRESULT CInArchive::Open2()
793
+ {
794
+ Clear();
795
+ UInt64 fileSize;
796
+ RINOK(InStream_GetSize_SeekToEnd(_stream, fileSize))
797
+ FileSize = fileSize;
798
+
799
+ // Some UDFs contain additional pad zeros (2 KB).
800
+ // Seek to STREAM_SEEK_END for direct DVD reading can return 8 KB more, so we check last 16 KB.
801
+ // And when we read last block, result read size can be smaller than required size.
802
+
803
+ /*
804
+ const size_t kBufSize = 1 << 14;
805
+ Byte buf[kBufSize];
806
+ size_t readSize = (fileSize < kBufSize) ? (size_t)fileSize : kBufSize;
807
+ RINOK(InStream_SeekSet(_stream, fileSize - readSize))
808
+ RINOK(ReadStream(_stream, buf, &readSize));
809
+ size_t i = readSize;
810
+ for (;;)
811
+ {
812
+ const size_t kSecSizeMin = 1 << 8;
813
+ if (i < kSecSizeMin)
814
+ return S_FALSE;
815
+ i -= kSecSizeMin;
816
+ SecLogSize = (readSize - i < ((size_t)1 << 11)) ? 8 : 11;
817
+ CTag tag;
818
+ if (tag.Parse(buf + i, (1 << SecLogSize)) == S_OK)
819
+ if (tag.Id == DESC_TYPE_AnchorVolPtr)
820
+ break;
821
+ }
822
+ PhySize = fileSize;
823
+ CExtent extentVDS;
824
+ extentVDS.Parse(buf + i + 16);
825
+ */
826
+
827
+ /*
828
+ An Anchor Volume Descriptor Pointer structure shall be recorded in at
829
+ least 2 of the following 3 locations on the media:
830
+ Logical Sector 256.
831
+ Logical Sector (N - 256).
832
+ N
833
+ */
834
+
835
+ const size_t kBufSize = 1 << 11;
836
+ Byte buf[kBufSize];
837
+
838
+ for (SecLogSize = 11;; SecLogSize -= 2)
839
+ {
840
+ // Windows 10 uses unusual (SecLogSize = 9)
841
+ if (SecLogSize < 9)
842
+ return S_FALSE;
843
+ const UInt32 offset = (UInt32)256 << SecLogSize;
844
+ if (offset >= fileSize)
845
+ continue;
846
+ RINOK(InStream_SeekSet(_stream, offset))
847
+ const size_t bufSize = (size_t)1 << SecLogSize;
848
+ size_t readSize = bufSize;
849
+ RINOK(ReadStream(_stream, buf, &readSize))
850
+ if (readSize == bufSize)
851
+ {
852
+ CTag tag;
853
+ if (tag.Parse(buf, readSize) == S_OK)
854
+ if (tag.Id == DESC_TYPE_AnchorVolPtr)
855
+ {
856
+ if (Get32(buf + 12) == 256 &&
857
+ tag.CrcLen >= 16) // TagLocation
858
+ break;
859
+ }
860
+ }
861
+ }
862
+ {
863
+ const UInt32 temp = (UInt32)(256 + 1) << SecLogSize;
864
+ PhySize = temp;
865
+ }
866
+ IsArc = true;
867
+
868
+ // UDF 2.2.3 AnchorVolumeDescriptorPointer
869
+
870
+ CExtent extentVDS;
871
+ extentVDS.Parse(buf + 16);
872
+ {
873
+ CExtent extentVDS2;
874
+ extentVDS2.Parse(buf + 24);
875
+ UpdatePhySize(extentVDS);
876
+ UpdatePhySize(extentVDS2);
877
+ }
878
+
879
+ for (UInt32 location = 0; ; location++)
880
+ {
881
+ if (location >= (extentVDS.Len >> SecLogSize))
882
+ return S_FALSE;
883
+
884
+ const size_t bufSize = (size_t)1 << SecLogSize;
885
+ {
886
+ const UInt64 offs = ((UInt64)extentVDS.Pos + location) << SecLogSize;
887
+ RINOK(InStream_SeekSet(_stream, offs))
888
+ const HRESULT res = ReadStream_FALSE(_stream, buf, bufSize);
889
+ if (res == S_FALSE && offs + bufSize > FileSize)
890
+ UnexpectedEnd = true;
891
+ RINOK(res)
892
+ }
893
+
894
+ CTag tag;
895
+ RINOK(tag.Parse(buf, bufSize))
896
+
897
+ if (tag.Id == DESC_TYPE_Terminating)
898
+ break;
899
+
900
+ if (tag.Id == DESC_TYPE_PrimVol)
901
+ {
902
+ CPrimeVol &pm = PrimeVols.AddNew();
903
+ pm.Parse(buf);
904
+ continue;
905
+ }
906
+
907
+ if (tag.Id == DESC_TYPE_Partition)
908
+ {
909
+ // Partition Descriptor
910
+ // ECMA 3/10.5
911
+ // UDF 2.2.14
912
+ if (Partitions.Size() >= kNumPartitionsMax)
913
+ return S_FALSE;
914
+ CPartition partition;
915
+ // const UInt32 volDescSeqNumer = Get32(buf + 16);
916
+ partition.Flags = Get16(buf + 20);
917
+ partition.Number = Get16(buf + 22);
918
+ partition.ContentsId.Parse(buf + 24);
919
+
920
+ // memcpy(partition.ContentsUse, buf + 56, sizeof(partition.ContentsUse));
921
+ // ContentsUse contains Partition Header Description.
922
+ // ECMA 4/14.3
923
+ // UDF PartitionHeaderDescriptor 2.3.3
924
+
925
+ partition.AccessType = Get32(buf + 184);
926
+ partition.Pos = Get32(buf + 188);
927
+ partition.Len = Get32(buf + 192);
928
+ partition.ImplId.Parse(buf + 196);
929
+ // memcpy(partition.ImplUse, buf + 228, sizeof(partition.ImplUse));
930
+
931
+ PRF(printf("\nPartition number = %2d pos = %d len = %d", partition.Number, partition.Pos, partition.Len));
932
+ Partitions.Add(partition);
933
+ continue;
934
+ }
935
+
936
+ if (tag.Id == DESC_TYPE_LogicalVol)
937
+ {
938
+ /* Logical Volume Descriptor
939
+ ECMA 3/10.6
940
+ UDF 2.60 2.2.4 */
941
+
942
+ if (LogVols.Size() >= kNumLogVolumesMax)
943
+ return S_FALSE;
944
+ CLogVol &vol = LogVols.AddNew();
945
+
946
+ vol.Id.Parse(buf + 84);
947
+ vol.BlockSize = Get32(buf + 212);
948
+ if (vol.BlockSize != ((UInt32)1 << SecLogSize))
949
+ {
950
+ // UDF 2.2.4.2 LogicalBlockSize
951
+ // UDF probably doesn't allow different sizes
952
+ return S_FALSE;
953
+ }
954
+ /*
955
+ if (vol.BlockSize < 512 || vol.BlockSize > ((UInt32)1 << 30))
956
+ return S_FALSE;
957
+ */
958
+
959
+ vol.DomainId.Parse(buf + 216);
960
+
961
+ // ECMA 4/3.1
962
+ // UDF 2.2.4.4 LogicalVolumeContentsUse
963
+ /* the extent in which the first File Set Descriptor Sequence
964
+ of the logical volume is recorded */
965
+ vol.FileSetLocation.Parse(buf + 248);
966
+ // memcpy(vol.ContentsUse, buf + 248, sizeof(vol.ContentsUse));
967
+
968
+ vol.ImplId.Parse(buf + 272);
969
+ // memcpy(vol.ImplUse, buf + 304, sizeof(vol.ImplUse));
970
+ // vol.IntegritySequenceExtent.Parse(buf + 432);
971
+
972
+ const UInt32 mapTableLen = Get32(buf + 264);
973
+ const UInt32 numPartitionMaps = Get32(buf + 268);
974
+ if (numPartitionMaps > kNumPartitionsMax)
975
+ return S_FALSE;
976
+
977
+ PRF(printf("\nLogicalVol numPartitionMaps = %2d", numPartitionMaps));
978
+
979
+ size_t pos = 440;
980
+ if (mapTableLen > bufSize - pos)
981
+ return S_FALSE;
982
+ const size_t posLimit = pos + mapTableLen;
983
+
984
+ for (UInt32 i = 0; i < numPartitionMaps; i++)
985
+ {
986
+ // ECMA 3/10.7 Partition maps
987
+ if (pos + 2 > posLimit)
988
+ return S_FALSE;
989
+ CPartitionMap pm;
990
+ pm.Type = buf[pos + 0];
991
+ // pm.Length = buf[pos + 1];
992
+ const Byte len = buf[pos + 1];
993
+ if (pos + len > posLimit)
994
+ return S_FALSE;
995
+
996
+ // memcpy(pm.Data, buf + pos + 2, pm.Length - 2);
997
+ if (pm.Type == 1)
998
+ {
999
+ // ECMA 3/10.7.2
1000
+ if (len != 6)
1001
+ return S_FALSE;
1002
+ pm.VolumeSequenceNumber = Get16(buf + pos + 2);
1003
+ pm.PartitionNumber = Get16(buf + pos + 4);
1004
+ PRF(printf("\nPartitionMap type 1 PartitionNumber = %2d", pm.PartitionNumber));
1005
+ }
1006
+ else if (pm.Type == 2)
1007
+ {
1008
+ if (len != 64)
1009
+ return S_FALSE;
1010
+ /* ECMA 10.7.3 / Type 2 Partition Map
1011
+ 62 bytes: Partition Identifier. */
1012
+
1013
+ /* UDF
1014
+ 2.2.8 "*UDF Virtual Partition"
1015
+ 2.2.9 "*UDF Sparable Partition"
1016
+ 2.2.10 "*UDF Metadata Partition"
1017
+ */
1018
+
1019
+ if (Get16(buf + pos + 2) != 0) // reserved
1020
+ return S_FALSE;
1021
+
1022
+ pm.PartitionTypeId.Parse(buf + pos + 4);
1023
+ pm.VolumeSequenceNumber = Get16(buf + pos + 36);
1024
+ pm.PartitionNumber = Get16(buf + pos + 38);
1025
+
1026
+ if (memcmp(pm.PartitionTypeId.Id, "*UDF Metadata Partition", 23) != 0)
1027
+ return S_FALSE;
1028
+
1029
+ // UDF 2.2.10 Metadata Partition Map
1030
+ pm.MetadataFileLocation = Get32(buf + pos + 40);
1031
+ // pm.MetadataMirrorFileLocation = Get32(buf + pos + 44);
1032
+ // pm.MetadataBitmapFileLocation = Get32(buf + pos + 48);
1033
+ // pm.AllocationUnitSize = Get32(buf + pos + 52);
1034
+ // pm.AlignmentUnitSize = Get16(buf + pos + 56);
1035
+ // pm.Flags = buf[pos + 58];
1036
+
1037
+ PRF(printf("\nPartitionMap type 2 PartitionNumber = %2d", pm.PartitionNumber));
1038
+ // Unsupported = true;
1039
+ // return S_FALSE;
1040
+ }
1041
+ else
1042
+ return S_FALSE;
1043
+ pos += len;
1044
+ vol.PartitionMaps.Add(pm);
1045
+ }
1046
+ continue;
1047
+ }
1048
+
1049
+ /*
1050
+ if (tag.Id == DESC_TYPE_UnallocSpace)
1051
+ {
1052
+ // UInt32 volDescSeqNumer = Get32(buf + 16);
1053
+ const UInt32 numAlocDescs = Get32(buf + 20);
1054
+ // we need examples for (numAlocDescs != 0) case
1055
+ if (numAlocDescs > (bufSize - 24) / 8)
1056
+ return S_FALSE;
1057
+ for (UInt32 i = 0; i < numAlocDescs; i++)
1058
+ {
1059
+ CExtent e;
1060
+ e.Parse(buf + 24 + i * 8);
1061
+ }
1062
+ continue;
1063
+ }
1064
+ else
1065
+ continue;
1066
+ */
1067
+ }
1068
+
1069
+ UInt64 totalSize = 0;
1070
+
1071
+ unsigned volIndex;
1072
+ for (volIndex = 0; volIndex < LogVols.Size(); volIndex++)
1073
+ {
1074
+ CLogVol &vol = LogVols[volIndex];
1075
+ FOR_VECTOR (pmIndex, vol.PartitionMaps)
1076
+ {
1077
+ CPartitionMap &pm = vol.PartitionMaps[pmIndex];
1078
+ for (unsigned i = 0;; i++)
1079
+ {
1080
+ if (i == Partitions.Size())
1081
+ return S_FALSE;
1082
+ CPartition &part = Partitions[i];
1083
+ if (part.Number == pm.PartitionNumber)
1084
+ {
1085
+ pm.PartitionIndex = i;
1086
+ if (pm.Type == 2)
1087
+ break;
1088
+
1089
+ /*
1090
+ if (part.VolIndex >= 0)
1091
+ {
1092
+ // it's for 2.60. Fix it
1093
+ if (part.VolIndex != (int)volIndex)
1094
+ return S_FALSE;
1095
+ // return S_FALSE;
1096
+ }
1097
+ part.VolIndex = volIndex;
1098
+ */
1099
+
1100
+ totalSize += (UInt64)part.Len << SecLogSize;
1101
+ break;
1102
+ }
1103
+ }
1104
+ }
1105
+ }
1106
+
1107
+ for (volIndex = 0; volIndex < LogVols.Size(); volIndex++)
1108
+ {
1109
+ CLogVol &vol = LogVols[volIndex];
1110
+ FOR_VECTOR (pmIndex, vol.PartitionMaps)
1111
+ {
1112
+ CPartitionMap &pm = vol.PartitionMaps[pmIndex];
1113
+ if (pm.Type != 2)
1114
+ continue;
1115
+
1116
+ {
1117
+ CLongAllocDesc lad;
1118
+ lad.Len = vol.BlockSize;
1119
+ lad.Location.Pos = pm.MetadataFileLocation;
1120
+ // lad.Location.Pos = pm.MetadataMirrorFileLocation;
1121
+
1122
+ lad.Location.PartitionRef = (UInt16)pmIndex;
1123
+
1124
+ /* we need correct PartitionMaps[lad.Location.PartitionRef].PartitionIndex.
1125
+ so we can use pmIndex or find (Type==1) PartitionMap */
1126
+ FOR_VECTOR (pmIndex2, vol.PartitionMaps)
1127
+ {
1128
+ const CPartitionMap &pm2 = vol.PartitionMaps[pmIndex2];
1129
+ if (pm2.PartitionNumber == pm.PartitionNumber && pm2.Type == 1)
1130
+ {
1131
+ lad.Location.PartitionRef = (UInt16)pmIndex2;
1132
+ break;
1133
+ }
1134
+ }
1135
+
1136
+ RINOK(ReadItem(volIndex,
1137
+ -1, // (fsIndex = -1) means that it's metadata
1138
+ lad,
1139
+ false, // isDir
1140
+ 1)) // numRecurseAllowed
1141
+ }
1142
+ {
1143
+ const CItem &item = Items.Back();
1144
+ if (!CheckItemExtents(volIndex, item))
1145
+ return S_FALSE;
1146
+ if (item.Extents.Size() != 1)
1147
+ {
1148
+ if (item.Extents.Size() < 1)
1149
+ return S_FALSE;
1150
+ /* Windows 10 writes empty record item.Extents[1].
1151
+ we ignore such extent here */
1152
+ for (unsigned k = 1; k < item.Extents.Size(); k++)
1153
+ {
1154
+ const CMyExtent &e = item.Extents[k];
1155
+ if (e.GetLen() != 0)
1156
+ return S_FALSE;
1157
+ }
1158
+ }
1159
+
1160
+ const CMyExtent &e = item.Extents[0];
1161
+ const CPartition &part = Partitions[pm.PartitionIndex];
1162
+ CPartition mp = part;
1163
+ mp.IsMetadata = true;
1164
+ // mp.Number = part.Number;
1165
+ mp.Pos = part.Pos + e.Pos;
1166
+ mp.Len = e.Len >> SecLogSize;
1167
+ pm.PartitionIndex = Partitions.Add(mp);
1168
+ }
1169
+ // Items.DeleteBack(); // we can delete that metadata item
1170
+
1171
+ /*
1172
+ // short version of code to read metadata file.
1173
+ RINOK(CInArchive::Read(volIndex, pmIndex, pm.MetadataFileLocation, 224, buf));
1174
+ CTag tag;
1175
+ RINOK(tag.Parse(buf, 224));
1176
+ if (tag.Id != DESC_TYPE_ExtendedFile)
1177
+ return S_FALSE;
1178
+ CShortAllocDesc sad;
1179
+ sad.Parse(buf + 216);
1180
+ const CPartition &part = Partitions[pm.PartitionIndex];
1181
+ CPartition mp = part;
1182
+ mp.IsMetadata = true;
1183
+ // mp.Number = part.Number;
1184
+ mp.Pos = part.Pos + sad.Pos;
1185
+ mp.Len = sad.Len >> SecLogSize;
1186
+ pm.PartitionIndex = Partitions.Add(mp);
1187
+ */
1188
+ }
1189
+ }
1190
+
1191
+ RINOK(_progress->SetTotal(totalSize))
1192
+
1193
+ PRF(printf("\n Read files"));
1194
+
1195
+ for (volIndex = 0; volIndex < LogVols.Size(); volIndex++)
1196
+ {
1197
+ CLogVol &vol = LogVols[volIndex];
1198
+
1199
+ PRF(printf("\nLogVol %2d", volIndex));
1200
+
1201
+ CLongAllocDesc nextExtent = vol.FileSetLocation;
1202
+ // while (nextExtent.ExtentLen != 0)
1203
+ // for (int i = 0; i < 1; i++)
1204
+ {
1205
+ if (nextExtent.GetLen() < 512)
1206
+ return S_FALSE;
1207
+ CByteBuffer buf2(nextExtent.GetLen());
1208
+ RINOK(ReadLad(volIndex, nextExtent, buf2))
1209
+ const Byte *p = buf2;
1210
+ const size_t size = nextExtent.GetLen();
1211
+
1212
+ CTag tag;
1213
+ RINOK(tag.Parse(p, size))
1214
+
1215
+ /*
1216
+ // commented in 22.01
1217
+ if (tag.Id == DESC_TYPE_ExtendedFile)
1218
+ {
1219
+ // ECMA 4 / 14.17
1220
+ // 2.60 ??
1221
+ return S_FALSE;
1222
+ }
1223
+ */
1224
+
1225
+ if (tag.Id != DESC_TYPE_FileSet)
1226
+ return S_FALSE;
1227
+
1228
+ PRF(printf("\n FileSet"));
1229
+ CFileSet fs;
1230
+ fs.RecordingTime.Parse(p + 16);
1231
+ // fs.InterchangeLevel = Get16(p + 18);
1232
+ // fs.MaxInterchangeLevel = Get16(p + 20);
1233
+ fs.FileSetNumber = Get32(p + 40);
1234
+ fs.FileSetDescNumber = Get32(p + 44);
1235
+
1236
+ fs.LogicalVolumeId.Parse(p + 112);
1237
+ fs.Id.Parse(p + 304);
1238
+ fs.CopyrightId.Parse(p + 336);
1239
+ fs.AbstractId.Parse(p + 368);
1240
+
1241
+ fs.RootDirICB.Parse(p + 400);
1242
+ fs.DomainId.Parse(p + 416);
1243
+
1244
+ // fs.SystemStreamDirICB.Parse(p + 464);
1245
+
1246
+ vol.FileSets.Add(fs);
1247
+
1248
+ // nextExtent.Parse(p + 448);
1249
+ }
1250
+
1251
+ FOR_VECTOR (fsIndex, vol.FileSets)
1252
+ {
1253
+ CFileSet &fs = vol.FileSets[fsIndex];
1254
+ const unsigned fileIndex = Files.Size();
1255
+ Files.AddNew();
1256
+ RINOK(ReadFileItem(volIndex, fsIndex, fs.RootDirICB,
1257
+ true, // isDir
1258
+ kNumRecursionLevelsMax))
1259
+ RINOK(FillRefs(fs, fileIndex, -1, kNumRecursionLevelsMax))
1260
+ }
1261
+ }
1262
+
1263
+
1264
+ for (volIndex = 0; volIndex < LogVols.Size(); volIndex++)
1265
+ {
1266
+ const CLogVol &vol = LogVols[volIndex];
1267
+ // bool showFileSetName = (vol.FileSets.Size() > 1);
1268
+ FOR_VECTOR (fsIndex, vol.FileSets)
1269
+ {
1270
+ const CFileSet &fs = vol.FileSets[fsIndex];
1271
+ for (unsigned i =
1272
+ // ((showVolName || showFileSetName) ? 0 : 1)
1273
+ 0; i < fs.Refs.Size(); i++)
1274
+ {
1275
+ const CRef &ref = vol.FileSets[fsIndex].Refs[i];
1276
+ const CFile &file = Files[ref.FileIndex];
1277
+ const CItem &item = Items[file.ItemIndex];
1278
+ UInt64 size = item.Size;
1279
+
1280
+ if (!item.IsRecAndAlloc() || !item.CheckChunkSizes() || !CheckItemExtents(volIndex, item))
1281
+ continue;
1282
+
1283
+ FOR_VECTOR (extentIndex, item.Extents)
1284
+ {
1285
+ const CMyExtent &extent = item.Extents[extentIndex];
1286
+ const UInt32 len = extent.GetLen();
1287
+ if (len == 0)
1288
+ continue;
1289
+ if (size < len)
1290
+ break;
1291
+
1292
+ const unsigned partitionIndex = vol.PartitionMaps[extent.PartitionRef].PartitionIndex;
1293
+ const UInt32 logBlockNumber = extent.Pos;
1294
+ const CPartition &partition = Partitions[partitionIndex];
1295
+ const UInt64 offset = ((UInt64)partition.Pos << SecLogSize) +
1296
+ (UInt64)logBlockNumber * vol.BlockSize;
1297
+ UpdatePhySize(offset + len);
1298
+ }
1299
+ }
1300
+ }
1301
+ }
1302
+
1303
+ {
1304
+ const UInt32 secMask = ((UInt32)1 << SecLogSize) - 1;
1305
+ PhySize = (PhySize + secMask) & ~(UInt64)secMask;
1306
+ }
1307
+
1308
+ NoEndAnchor = true;
1309
+
1310
+ if (PhySize < fileSize)
1311
+ {
1312
+ UInt64 rem = fileSize - PhySize;
1313
+ const size_t secSize = (size_t)1 << SecLogSize;
1314
+
1315
+ RINOK(InStream_SeekSet(_stream, PhySize))
1316
+
1317
+ // some UDF images contain ZEROs before "Anchor Volume Descriptor Pointer" at the end
1318
+
1319
+ for (unsigned sec = 0; sec < 1024; sec++)
1320
+ {
1321
+ if (rem == 0)
1322
+ break;
1323
+
1324
+ size_t readSize = secSize;
1325
+ if (readSize > rem)
1326
+ readSize = (size_t)rem;
1327
+
1328
+ RINOK(ReadStream(_stream, buf, &readSize))
1329
+
1330
+ if (readSize == 0)
1331
+ break;
1332
+
1333
+ // some udf contain many EndAnchors
1334
+ if (readSize == secSize /* && NoEndAnchor */)
1335
+ {
1336
+ CTag tag;
1337
+ if (tag.Parse(buf, readSize) == S_OK
1338
+ && tag.Id == DESC_TYPE_AnchorVolPtr
1339
+ && Get32(buf + 12) == (UInt32)((fileSize - rem) >> SecLogSize))
1340
+ {
1341
+ NoEndAnchor = false;
1342
+ rem -= readSize;
1343
+ PhySize = fileSize - rem;
1344
+ continue;
1345
+ }
1346
+ }
1347
+
1348
+ size_t i;
1349
+ for (i = 0; i < readSize && buf[i] == 0; i++);
1350
+ if (i != readSize)
1351
+ break;
1352
+ rem -= readSize;
1353
+ }
1354
+
1355
+ if (rem == 0)
1356
+ PhySize = fileSize;
1357
+ }
1358
+
1359
+ return S_OK;
1360
+ }
1361
+
1362
+
1363
+ HRESULT CInArchive::Open(IInStream *inStream, CProgressVirt *progress)
1364
+ {
1365
+ _progress = progress;
1366
+ _stream = inStream;
1367
+ HRESULT res = Open2();
1368
+ if (res == S_FALSE && IsArc && !UnexpectedEnd)
1369
+ Unsupported = true;
1370
+ return res;
1371
+
1372
+ /*
1373
+ HRESULT res;
1374
+ try
1375
+ {
1376
+ res = Open2();
1377
+ }
1378
+ catch(...)
1379
+ {
1380
+ // Clear();
1381
+ // res = S_FALSE;
1382
+ _stream.Release();
1383
+ throw;
1384
+ }
1385
+ _stream.Release();
1386
+ return res;
1387
+ */
1388
+ }
1389
+
1390
+ void CInArchive::Clear()
1391
+ {
1392
+ IsArc = false;
1393
+ Unsupported = false;
1394
+ UnexpectedEnd = false;
1395
+ NoEndAnchor = false;
1396
+
1397
+ PhySize = 0;
1398
+ FileSize = 0;
1399
+
1400
+ Partitions.Clear();
1401
+ LogVols.Clear();
1402
+ PrimeVols.Clear();
1403
+ Items.Clear();
1404
+ Files.Clear();
1405
+ _fileNameLengthTotal = 0;
1406
+ _numRefs = 0;
1407
+ _numExtents = 0;
1408
+ _inlineExtentsSize = 0;
1409
+ _processedProgressBytes = 0;
1410
+ }
1411
+
1412
+
1413
+ static const char * const g_PartitionTypes[] =
1414
+ {
1415
+ "Pseudo-Overwritable" // UDF
1416
+ , "Read-Only"
1417
+ , "Write-Once"
1418
+ , "Rewritable"
1419
+ , "Overwritable"
1420
+ };
1421
+
1422
+
1423
+ static void AddComment_Align(UString &s)
1424
+ {
1425
+ s += " ";
1426
+ }
1427
+
1428
+ static void AddComment_PropName(UString &s, const char *name)
1429
+ {
1430
+ AddComment_Align(s);
1431
+ s += name;
1432
+ s += ": ";
1433
+ }
1434
+
1435
+ static void AddComment_UInt32(UString &s, const char *name, UInt32 val)
1436
+ {
1437
+ AddComment_PropName(s, name);
1438
+ s.Add_UInt32(val);
1439
+ s.Add_LF();
1440
+ }
1441
+
1442
+ static void AddComment_UInt32_2(UString &s, const char *name, UInt32 val)
1443
+ {
1444
+ AddComment_Align(s);
1445
+ AddComment_UInt32(s, name, val);
1446
+ }
1447
+
1448
+
1449
+ static void AddComment_UInt64(UString &s, const char *name, UInt64 val)
1450
+ {
1451
+ AddComment_PropName(s, name);
1452
+ s.Add_UInt64(val);
1453
+ s.Add_LF();
1454
+ }
1455
+
1456
+ static void AddComment_RegId(UString &s, const char *name, const CRegId &ri)
1457
+ {
1458
+ AddComment_PropName(s, name);
1459
+ ri.AddCommentTo(s);
1460
+ s.Add_LF();
1461
+ }
1462
+
1463
+ static void AddComment_RegId_Domain(UString &s, const char *name, const CRegId &ri)
1464
+ {
1465
+ AddComment_PropName(s, name);
1466
+ ri.AddCommentTo(s);
1467
+ {
1468
+ UString s2;
1469
+ ri.AddUdfVersionTo(s2);
1470
+ if (!s2.IsEmpty())
1471
+ {
1472
+ s += "::";
1473
+ s += s2;
1474
+ }
1475
+ }
1476
+ s.Add_LF();
1477
+ }
1478
+
1479
+
1480
+ // UDF 6.3.1 OS Class
1481
+
1482
+ static const char * const g_OsClasses[] =
1483
+ {
1484
+ NULL
1485
+ , "DOS"
1486
+ , "OS/2"
1487
+ , "Macintosh OS"
1488
+ , "UNIX"
1489
+ , "Windows 9x"
1490
+ , "Windows NT"
1491
+ , "OS/400"
1492
+ , "BeOS"
1493
+ , "Windows CE"
1494
+ };
1495
+
1496
+ // UDF 6.3.2 OS Identifier
1497
+
1498
+ static const char * const g_OsIds_Unix[] =
1499
+ {
1500
+ NULL // "Generic"
1501
+ , "AIX"
1502
+ , "SUN OS / Solaris"
1503
+ , "HP/UX"
1504
+ , "Silicon Graphics Irix"
1505
+ , "Linux"
1506
+ , "MKLinux"
1507
+ , "FreeBSD"
1508
+ , "NetBSD"
1509
+ };
1510
+
1511
+ static void AddOs_Class_Id(UString &s, const Byte *p)
1512
+ {
1513
+ // UDF 2.1.5.3 Implementation Identifier Suffix
1514
+ // Appendix 6.3 Operating System Identifiers.
1515
+ const Byte osClass = p[0];
1516
+ if (osClass != 0)
1517
+ {
1518
+ s += "::";
1519
+ s += TypeToString(g_OsClasses, Z7_ARRAY_SIZE(g_OsClasses), osClass);
1520
+ }
1521
+ const Byte osId = p[1];
1522
+ if (osId != 0)
1523
+ {
1524
+ s += "::";
1525
+ if (osClass == 4) // unix
1526
+ {
1527
+ s += TypeToString(g_OsIds_Unix, Z7_ARRAY_SIZE(g_OsIds_Unix), osId);
1528
+ }
1529
+ else
1530
+ s.Add_UInt32(osId);
1531
+ }
1532
+ }
1533
+
1534
+
1535
+ static void AddComment_RegId_Impl(UString &s, const char *name, const CRegId &ri)
1536
+ {
1537
+ AddComment_PropName(s, name);
1538
+ ri.AddCommentTo(s);
1539
+ {
1540
+ AddOs_Class_Id(s, ri.Suffix);
1541
+ }
1542
+ s.Add_LF();
1543
+ }
1544
+
1545
+
1546
+ static void AddComment_RegId_UdfId(UString &s, const char *name, const CRegId &ri)
1547
+ {
1548
+ AddComment_PropName(s, name);
1549
+ ri.AddCommentTo(s);
1550
+ {
1551
+ // UDF 2.1.5.3
1552
+ // UDF Identifier Suffix format
1553
+ UString s2;
1554
+ ri.AddUdfVersionTo(s2);
1555
+ if (!s2.IsEmpty())
1556
+ {
1557
+ s += "::";
1558
+ s += s2;
1559
+ }
1560
+ AddOs_Class_Id(s, &ri.Suffix[2]);
1561
+ }
1562
+ s.Add_LF();
1563
+ }
1564
+
1565
+ static void AddComment_DString32(UString &s, const char *name, const CDString32 &d)
1566
+ {
1567
+ AddComment_Align(s);
1568
+ AddComment_PropName(s, name);
1569
+ s += d.GetString();
1570
+ s.Add_LF();
1571
+ }
1572
+
1573
+ UString CInArchive::GetComment() const
1574
+ {
1575
+ UString s;
1576
+ {
1577
+ s += "Primary Volumes:";
1578
+ s.Add_LF();
1579
+ FOR_VECTOR (i, PrimeVols)
1580
+ {
1581
+ if (i != 0)
1582
+ s.Add_LF();
1583
+ const CPrimeVol &pv = PrimeVols[i];
1584
+ // AddComment_UInt32(s, "VolumeDescriptorSequenceNumber", pv.VolumeDescriptorSequenceNumber);
1585
+ // if (PrimeVols.Size() != 1 || pv.PrimaryVolumeDescriptorNumber != 0)
1586
+ AddComment_UInt32(s, "PrimaryVolumeDescriptorNumber", pv.PrimaryVolumeDescriptorNumber);
1587
+ // if (pv.MaximumVolumeSequenceNumber != 1 || pv.VolumeSequenceNumber != 1)
1588
+ AddComment_UInt32(s, "VolumeSequenceNumber", pv.VolumeSequenceNumber);
1589
+ if (pv.MaximumVolumeSequenceNumber != 1)
1590
+ AddComment_UInt32(s, "MaximumVolumeSequenceNumber", pv.MaximumVolumeSequenceNumber);
1591
+ AddComment_PropName(s, "VolumeId");
1592
+ s += pv.VolumeId.GetString();
1593
+ s.Add_LF();
1594
+ AddComment_PropName(s, "VolumeSetId");
1595
+ s += pv.VolumeSetId.GetString();
1596
+ s.Add_LF();
1597
+ // AddComment_UInt32(s, "InterchangeLevel", pv.InterchangeLevel);
1598
+ // AddComment_UInt32(s, "MaximumInterchangeLevel", pv.MaximumInterchangeLevel);
1599
+ AddComment_RegId(s, "ApplicationId", pv.ApplicationId);
1600
+ AddComment_RegId_Impl(s, "ImplementationId", pv.ImplId);
1601
+ }
1602
+ }
1603
+ {
1604
+ s += "Partitions:";
1605
+ s.Add_LF();
1606
+ FOR_VECTOR (i, Partitions)
1607
+ {
1608
+ if (i != 0)
1609
+ s.Add_LF();
1610
+ const CPartition &part = Partitions[i];
1611
+ AddComment_UInt32(s, "PartitionIndex", i);
1612
+ AddComment_UInt32(s, "PartitionNumber", part.Number);
1613
+ if (part.IsMetadata)
1614
+ AddComment_UInt32(s, "IsMetadata", 1);
1615
+ else
1616
+ {
1617
+ AddComment_RegId(s, "ContentsId", part.ContentsId);
1618
+ AddComment_RegId_Impl(s, "ImplementationId", part.ImplId);
1619
+ AddComment_PropName(s, "AccessType");
1620
+ s += TypeToString(g_PartitionTypes, Z7_ARRAY_SIZE(g_PartitionTypes), part.AccessType);
1621
+ s.Add_LF();
1622
+ }
1623
+ AddComment_UInt64(s, "Size", (UInt64)part.Len << SecLogSize);
1624
+ AddComment_UInt64(s, "Pos", (UInt64)part.Pos << SecLogSize);
1625
+ }
1626
+ }
1627
+ s += "Logical Volumes:";
1628
+ s.Add_LF();
1629
+ {
1630
+ FOR_VECTOR (i, LogVols)
1631
+ {
1632
+ if (i != 0)
1633
+ s.Add_LF();
1634
+ const CLogVol &vol = LogVols[i];
1635
+ if (LogVols.Size() != 1)
1636
+ AddComment_UInt32(s, "Number", i);
1637
+ AddComment_PropName(s, "Id");
1638
+ s += vol.Id.GetString();
1639
+ s.Add_LF();
1640
+ AddComment_UInt32(s, "BlockSize", vol.BlockSize);
1641
+ AddComment_RegId_Domain(s, "DomainId", vol.DomainId);
1642
+ AddComment_RegId_Impl(s, "ImplementationId", vol.ImplId);
1643
+ // AddComment_UInt64(s, "IntegritySequenceExtent_Len", vol.IntegritySequenceExtent.Len);
1644
+ // AddComment_UInt64(s, "IntegritySequenceExtent_Pos", (UInt64)vol.IntegritySequenceExtent.Pos << SecLogSize);
1645
+
1646
+ s += " Partition Maps:";
1647
+ s.Add_LF();
1648
+ {
1649
+ FOR_VECTOR (j, vol.PartitionMaps)
1650
+ {
1651
+ if (j != 0)
1652
+ s.Add_LF();
1653
+ const CPartitionMap &pm = vol.PartitionMaps[j];
1654
+ AddComment_UInt32_2(s, "PartitionMap", j);
1655
+ AddComment_UInt32_2(s, "Type", pm.Type);
1656
+ AddComment_UInt32_2(s, "VolumeSequenceNumber", pm.VolumeSequenceNumber);
1657
+ AddComment_UInt32_2(s, "PartitionNumber", pm.PartitionNumber);
1658
+ if (pm.Type == 2)
1659
+ {
1660
+ AddComment_UInt32_2(s, "MetadataFileLocation", pm.MetadataFileLocation);
1661
+ // AddComment_UInt32_2(s, "MetadataMirrorFileLocation", pm.MetadataMirrorFileLocation);
1662
+ // AddComment_UInt32_2(s, "MetadataBitmapFileLocation", pm.MetadataBitmapFileLocation);
1663
+ // AddComment_UInt32_2(s, "AllocationUnitSize", pm.AllocationUnitSize);
1664
+ // AddComment_UInt32_2(s, "AlignmentUnitSize", pm.AlignmentUnitSize);
1665
+ // AddComment_UInt32_2(s, "Flags", pm.Flags);
1666
+ AddComment_Align(s); AddComment_RegId_UdfId(s, "PartitionTypeId", pm.PartitionTypeId);
1667
+ }
1668
+ }
1669
+ }
1670
+ s += " File Sets:";
1671
+ s.Add_LF();
1672
+ {
1673
+ FOR_VECTOR (j, vol.FileSets)
1674
+ {
1675
+ if (j != 0)
1676
+ s.Add_LF();
1677
+ const CFileSet &fs = vol.FileSets[j];
1678
+ AddComment_Align(s); AddComment_UInt32(s, "FileSetNumber", fs.FileSetNumber);
1679
+ AddComment_Align(s); AddComment_UInt32(s, "FileSetDescNumber", fs.FileSetDescNumber);
1680
+
1681
+ AddComment_Align(s);
1682
+ AddComment_PropName(s, "LogicalVolumeId");
1683
+ s += fs.LogicalVolumeId.GetString();
1684
+ s.Add_LF();
1685
+
1686
+ AddComment_DString32(s, "Id", fs.Id);
1687
+ AddComment_DString32(s, "CopyrightId", fs.CopyrightId);
1688
+ AddComment_DString32(s, "AbstractId", fs.AbstractId);
1689
+
1690
+ AddComment_Align(s);
1691
+ AddComment_RegId_Domain(s, "DomainId", fs.DomainId);
1692
+ }
1693
+ }
1694
+ }
1695
+ }
1696
+ return s;
1697
+ }
1698
+
1699
+ static UString GetSpecName(const UString &name)
1700
+ {
1701
+ UString name2 = name;
1702
+ name2.Trim();
1703
+ if (name2.IsEmpty())
1704
+ return UString("[]");
1705
+ return name;
1706
+ }
1707
+
1708
+ static void UpdateWithName(UString &res, const UString &addString)
1709
+ {
1710
+ if (res.IsEmpty())
1711
+ res = addString;
1712
+ else
1713
+ res.Insert(0, addString + WCHAR_PATH_SEPARATOR);
1714
+ }
1715
+
1716
+ UString CInArchive::GetItemPath(unsigned volIndex, unsigned fsIndex, unsigned refIndex,
1717
+ bool showVolName, bool showFsName) const
1718
+ {
1719
+ // showVolName = true;
1720
+ const CLogVol &vol = LogVols[volIndex];
1721
+ const CFileSet &fs = vol.FileSets[fsIndex];
1722
+
1723
+ UString name;
1724
+
1725
+ for (;;)
1726
+ {
1727
+ const CRef &ref = fs.Refs[refIndex];
1728
+ // we break on root file (that probably has empty name)
1729
+ if (ref.Parent < 0)
1730
+ break;
1731
+ refIndex = (unsigned)ref.Parent;
1732
+ UpdateWithName(name, GetSpecName(Files[ref.FileIndex].GetName()));
1733
+ }
1734
+
1735
+ if (showFsName)
1736
+ {
1737
+ UString newName ("File Set ");
1738
+ newName.Add_UInt32(fsIndex);
1739
+ UpdateWithName(name, newName);
1740
+ }
1741
+
1742
+ if (showVolName)
1743
+ {
1744
+ UString newName;
1745
+ newName.Add_UInt32(volIndex);
1746
+ UString newName2 = vol.GetName();
1747
+ if (newName2.IsEmpty())
1748
+ newName2 = "Volume";
1749
+ newName.Add_Minus();
1750
+ newName += newName2;
1751
+ UpdateWithName(name, newName);
1752
+ }
1753
+ return name;
1754
+ }
1755
+
1756
+ }}