7zip-native 0.0.0-stage → 0.0.1

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 (1313) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -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 +433 -0
  10. package/dist/index.d.cts +59 -0
  11. package/dist/index.d.mts +59 -0
  12. package/dist/index.d.ts +59 -0
  13. package/dist/index.mjs +429 -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/linux-x64/7z.so +0 -0
  19. package/prebuilds/linux-x64/7zip_native.node +0 -0
  20. package/vendor/7zip/.gitattributes +2 -0
  21. package/vendor/7zip/Asm/arm/7zCrcOpt.asm +100 -0
  22. package/vendor/7zip/Asm/arm64/7zAsm.S +187 -0
  23. package/vendor/7zip/Asm/arm64/LzmaDecOpt.S +1487 -0
  24. package/vendor/7zip/Asm/x86/7zAsm.asm +341 -0
  25. package/vendor/7zip/Asm/x86/7zCrcOpt.asm +258 -0
  26. package/vendor/7zip/Asm/x86/AesOpt.asm +742 -0
  27. package/vendor/7zip/Asm/x86/LzFindOpt.asm +540 -0
  28. package/vendor/7zip/Asm/x86/LzmaDecOpt.asm +1339 -0
  29. package/vendor/7zip/Asm/x86/Sha1Opt.asm +263 -0
  30. package/vendor/7zip/Asm/x86/Sha256Opt.asm +275 -0
  31. package/vendor/7zip/Asm/x86/Sort.asm +860 -0
  32. package/vendor/7zip/Asm/x86/XzCrc64Opt.asm +523 -0
  33. package/vendor/7zip/C/7z.h +204 -0
  34. package/vendor/7zip/C/7zAlloc.c +89 -0
  35. package/vendor/7zip/C/7zAlloc.h +19 -0
  36. package/vendor/7zip/C/7zArcIn.c +1701 -0
  37. package/vendor/7zip/C/7zBuf.c +36 -0
  38. package/vendor/7zip/C/7zBuf.h +35 -0
  39. package/vendor/7zip/C/7zBuf2.c +52 -0
  40. package/vendor/7zip/C/7zCrc.c +420 -0
  41. package/vendor/7zip/C/7zCrc.h +28 -0
  42. package/vendor/7zip/C/7zCrcOpt.c +199 -0
  43. package/vendor/7zip/C/7zDec.c +672 -0
  44. package/vendor/7zip/C/7zFile.c +443 -0
  45. package/vendor/7zip/C/7zFile.h +91 -0
  46. package/vendor/7zip/C/7zStream.c +199 -0
  47. package/vendor/7zip/C/7zTypes.h +600 -0
  48. package/vendor/7zip/C/7zVersion.h +27 -0
  49. package/vendor/7zip/C/7zVersion.rc +55 -0
  50. package/vendor/7zip/C/7zWindows.h +107 -0
  51. package/vendor/7zip/C/7zip_gcc_c.mak +366 -0
  52. package/vendor/7zip/C/Aes.c +429 -0
  53. package/vendor/7zip/C/Aes.h +60 -0
  54. package/vendor/7zip/C/AesOpt.c +1002 -0
  55. package/vendor/7zip/C/Alloc.c +774 -0
  56. package/vendor/7zip/C/Alloc.h +76 -0
  57. package/vendor/7zip/C/Asm_c.mak +12 -0
  58. package/vendor/7zip/C/Bcj2.c +290 -0
  59. package/vendor/7zip/C/Bcj2.h +332 -0
  60. package/vendor/7zip/C/Bcj2Enc.c +509 -0
  61. package/vendor/7zip/C/Blake2.h +105 -0
  62. package/vendor/7zip/C/Blake2s.c +2672 -0
  63. package/vendor/7zip/C/Bra.c +709 -0
  64. package/vendor/7zip/C/Bra.h +105 -0
  65. package/vendor/7zip/C/Bra86.c +187 -0
  66. package/vendor/7zip/C/BraIA64.c +14 -0
  67. package/vendor/7zip/C/BwtSort.c +630 -0
  68. package/vendor/7zip/C/BwtSort.h +27 -0
  69. package/vendor/7zip/C/Compiler.h +287 -0
  70. package/vendor/7zip/C/CpuArch.c +970 -0
  71. package/vendor/7zip/C/CpuArch.h +719 -0
  72. package/vendor/7zip/C/Delta.c +169 -0
  73. package/vendor/7zip/C/Delta.h +19 -0
  74. package/vendor/7zip/C/DllSecur.c +99 -0
  75. package/vendor/7zip/C/DllSecur.h +20 -0
  76. package/vendor/7zip/C/HuffEnc.c +361 -0
  77. package/vendor/7zip/C/HuffEnc.h +23 -0
  78. package/vendor/7zip/C/LzFind.c +1746 -0
  79. package/vendor/7zip/C/LzFind.h +160 -0
  80. package/vendor/7zip/C/LzFindMt.c +1422 -0
  81. package/vendor/7zip/C/LzFindMt.h +114 -0
  82. package/vendor/7zip/C/LzFindOpt.c +578 -0
  83. package/vendor/7zip/C/LzHash.h +34 -0
  84. package/vendor/7zip/C/Lzma2Dec.c +493 -0
  85. package/vendor/7zip/C/Lzma2Dec.h +121 -0
  86. package/vendor/7zip/C/Lzma2DecMt.c +1095 -0
  87. package/vendor/7zip/C/Lzma2DecMt.h +81 -0
  88. package/vendor/7zip/C/Lzma2Enc.c +799 -0
  89. package/vendor/7zip/C/Lzma2Enc.h +58 -0
  90. package/vendor/7zip/C/Lzma86.h +111 -0
  91. package/vendor/7zip/C/Lzma86Dec.c +53 -0
  92. package/vendor/7zip/C/Lzma86Enc.c +103 -0
  93. package/vendor/7zip/C/LzmaDec.c +1367 -0
  94. package/vendor/7zip/C/LzmaDec.h +237 -0
  95. package/vendor/7zip/C/LzmaEnc.c +3154 -0
  96. package/vendor/7zip/C/LzmaEnc.h +85 -0
  97. package/vendor/7zip/C/LzmaLib.c +42 -0
  98. package/vendor/7zip/C/LzmaLib.h +138 -0
  99. package/vendor/7zip/C/Md5.c +206 -0
  100. package/vendor/7zip/C/Md5.h +34 -0
  101. package/vendor/7zip/C/MtCoder.c +604 -0
  102. package/vendor/7zip/C/MtCoder.h +144 -0
  103. package/vendor/7zip/C/MtDec.c +1124 -0
  104. package/vendor/7zip/C/MtDec.h +202 -0
  105. package/vendor/7zip/C/Ppmd.h +169 -0
  106. package/vendor/7zip/C/Ppmd7.c +1131 -0
  107. package/vendor/7zip/C/Ppmd7.h +181 -0
  108. package/vendor/7zip/C/Ppmd7Dec.c +312 -0
  109. package/vendor/7zip/C/Ppmd7Enc.c +340 -0
  110. package/vendor/7zip/C/Ppmd7aDec.c +295 -0
  111. package/vendor/7zip/C/Ppmd8.c +1574 -0
  112. package/vendor/7zip/C/Ppmd8.h +181 -0
  113. package/vendor/7zip/C/Ppmd8Dec.c +295 -0
  114. package/vendor/7zip/C/Ppmd8Enc.c +337 -0
  115. package/vendor/7zip/C/Precomp.h +127 -0
  116. package/vendor/7zip/C/RotateDefs.h +50 -0
  117. package/vendor/7zip/C/Sha1.c +441 -0
  118. package/vendor/7zip/C/Sha1.h +86 -0
  119. package/vendor/7zip/C/Sha1Opt.c +424 -0
  120. package/vendor/7zip/C/Sha256.c +492 -0
  121. package/vendor/7zip/C/Sha256.h +86 -0
  122. package/vendor/7zip/C/Sha256Opt.c +451 -0
  123. package/vendor/7zip/C/Sha3.c +359 -0
  124. package/vendor/7zip/C/Sha3.h +36 -0
  125. package/vendor/7zip/C/Sha512.c +711 -0
  126. package/vendor/7zip/C/Sha512.h +86 -0
  127. package/vendor/7zip/C/Sha512Opt.c +395 -0
  128. package/vendor/7zip/C/Sort.c +268 -0
  129. package/vendor/7zip/C/Sort.h +15 -0
  130. package/vendor/7zip/C/SwapBytes.c +835 -0
  131. package/vendor/7zip/C/SwapBytes.h +17 -0
  132. package/vendor/7zip/C/Threads.c +826 -0
  133. package/vendor/7zip/C/Threads.h +260 -0
  134. package/vendor/7zip/C/Util/7z/7z.dsp +249 -0
  135. package/vendor/7zip/C/Util/7z/7z.dsw +29 -0
  136. package/vendor/7zip/C/Util/7z/7zMain.c +1210 -0
  137. package/vendor/7zip/C/Util/7z/Precomp.c +4 -0
  138. package/vendor/7zip/C/Util/7z/Precomp.h +13 -0
  139. package/vendor/7zip/C/Util/7z/makefile +44 -0
  140. package/vendor/7zip/C/Util/7z/makefile.gcc +32 -0
  141. package/vendor/7zip/C/Util/7zipInstall/7zip.ico +0 -0
  142. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.c +1699 -0
  143. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsp +248 -0
  144. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsw +29 -0
  145. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.manifest +18 -0
  146. package/vendor/7zip/C/Util/7zipInstall/Precomp.c +4 -0
  147. package/vendor/7zip/C/Util/7zipInstall/Precomp.h +13 -0
  148. package/vendor/7zip/C/Util/7zipInstall/makefile +47 -0
  149. package/vendor/7zip/C/Util/7zipInstall/resource.h +9 -0
  150. package/vendor/7zip/C/Util/7zipInstall/resource.rc +48 -0
  151. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.c +1234 -0
  152. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsp +132 -0
  153. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsw +29 -0
  154. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.ico +0 -0
  155. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.manifest +18 -0
  156. package/vendor/7zip/C/Util/7zipUninstall/Precomp.c +4 -0
  157. package/vendor/7zip/C/Util/7zipUninstall/Precomp.h +13 -0
  158. package/vendor/7zip/C/Util/7zipUninstall/makefile +18 -0
  159. package/vendor/7zip/C/Util/7zipUninstall/resource.h +9 -0
  160. package/vendor/7zip/C/Util/7zipUninstall/resource.rc +48 -0
  161. package/vendor/7zip/C/Util/Lzma/LzmaUtil.c +313 -0
  162. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsp +192 -0
  163. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsw +29 -0
  164. package/vendor/7zip/C/Util/Lzma/Precomp.h +13 -0
  165. package/vendor/7zip/C/Util/Lzma/makefile +30 -0
  166. package/vendor/7zip/C/Util/Lzma/makefile.gcc +21 -0
  167. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.def +4 -0
  168. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  169. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  170. package/vendor/7zip/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  171. package/vendor/7zip/C/Util/LzmaLib/Precomp.c +4 -0
  172. package/vendor/7zip/C/Util/LzmaLib/Precomp.h +13 -0
  173. package/vendor/7zip/C/Util/LzmaLib/makefile +59 -0
  174. package/vendor/7zip/C/Util/LzmaLib/resource.rc +3 -0
  175. package/vendor/7zip/C/Util/SfxSetup/Precomp.c +4 -0
  176. package/vendor/7zip/C/Util/SfxSetup/Precomp.h +13 -0
  177. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.c +657 -0
  178. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  179. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  180. package/vendor/7zip/C/Util/SfxSetup/makefile +44 -0
  181. package/vendor/7zip/C/Util/SfxSetup/makefile_con +40 -0
  182. package/vendor/7zip/C/Util/SfxSetup/resource.rc +5 -0
  183. package/vendor/7zip/C/Util/SfxSetup/setup.ico +0 -0
  184. package/vendor/7zip/C/Xxh64.c +389 -0
  185. package/vendor/7zip/C/Xxh64.h +50 -0
  186. package/vendor/7zip/C/Xz.c +92 -0
  187. package/vendor/7zip/C/Xz.h +542 -0
  188. package/vendor/7zip/C/XzCrc64.c +140 -0
  189. package/vendor/7zip/C/XzCrc64.h +26 -0
  190. package/vendor/7zip/C/XzCrc64Opt.c +261 -0
  191. package/vendor/7zip/C/XzDec.c +2865 -0
  192. package/vendor/7zip/C/XzEnc.c +1374 -0
  193. package/vendor/7zip/C/XzEnc.h +62 -0
  194. package/vendor/7zip/C/XzIn.c +385 -0
  195. package/vendor/7zip/C/ZstdDec.c +4067 -0
  196. package/vendor/7zip/C/ZstdDec.h +173 -0
  197. package/vendor/7zip/C/var_clang.mak +11 -0
  198. package/vendor/7zip/C/var_clang_arm64.mak +12 -0
  199. package/vendor/7zip/C/var_clang_x64.mak +11 -0
  200. package/vendor/7zip/C/var_clang_x86.mak +11 -0
  201. package/vendor/7zip/C/var_gcc.mak +12 -0
  202. package/vendor/7zip/C/var_gcc_arm64.mak +12 -0
  203. package/vendor/7zip/C/var_gcc_x64.mak +10 -0
  204. package/vendor/7zip/C/var_gcc_x86.mak +10 -0
  205. package/vendor/7zip/C/var_mac_arm64.mak +13 -0
  206. package/vendor/7zip/C/var_mac_x64.mak +13 -0
  207. package/vendor/7zip/C/warn_clang.mak +1 -0
  208. package/vendor/7zip/C/warn_clang_mac.mak +1 -0
  209. package/vendor/7zip/C/warn_gcc.mak +51 -0
  210. package/vendor/7zip/CPP/7zip/7zip.mak +240 -0
  211. package/vendor/7zip/CPP/7zip/7zip_gcc.mak +1376 -0
  212. package/vendor/7zip/CPP/7zip/Aes.mak +10 -0
  213. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsp +650 -0
  214. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsw +29 -0
  215. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  216. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  217. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  218. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  219. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.cpp +702 -0
  220. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  221. package/vendor/7zip/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  222. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  223. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  224. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.cpp +800 -0
  225. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  226. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  227. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  228. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  229. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.cpp +1815 -0
  230. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.h +454 -0
  231. package/vendor/7zip/CPP/7zip/Archive/7z/7zItem.h +207 -0
  232. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  233. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.h +346 -0
  234. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  235. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  236. package/vendor/7zip/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  237. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  238. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  239. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +3087 -0
  240. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  241. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  242. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  243. package/vendor/7zip/CPP/7zip/Archive/7z/makefile +81 -0
  244. package/vendor/7zip/CPP/7zip/Archive/7z/resource.rc +11 -0
  245. package/vendor/7zip/CPP/7zip/Archive/ApfsHandler.cpp +4470 -0
  246. package/vendor/7zip/CPP/7zip/Archive/ApmHandler.cpp +420 -0
  247. package/vendor/7zip/CPP/7zip/Archive/ArHandler.cpp +844 -0
  248. package/vendor/7zip/CPP/7zip/Archive/Archive.def +15 -0
  249. package/vendor/7zip/CPP/7zip/Archive/Archive2.def +22 -0
  250. package/vendor/7zip/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  251. package/vendor/7zip/CPP/7zip/Archive/ArjHandler.cpp +977 -0
  252. package/vendor/7zip/CPP/7zip/Archive/AvbHandler.cpp +616 -0
  253. package/vendor/7zip/CPP/7zip/Archive/Base64Handler.cpp +488 -0
  254. package/vendor/7zip/CPP/7zip/Archive/Bz2Handler.cpp +482 -0
  255. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +122 -0
  256. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +28 -0
  257. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +1270 -0
  258. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.h +29 -0
  259. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
  260. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.h +41 -0
  261. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.cpp +485 -0
  262. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.h +169 -0
  263. package/vendor/7zip/CPP/7zip/Archive/Cab/CabItem.h +69 -0
  264. package/vendor/7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +19 -0
  265. package/vendor/7zip/CPP/7zip/Archive/Cab/StdAfx.h +11 -0
  266. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +790 -0
  267. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.h +27 -0
  268. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +1026 -0
  269. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.h +282 -0
  270. package/vendor/7zip/CPP/7zip/Archive/Chm/StdAfx.h +11 -0
  271. package/vendor/7zip/CPP/7zip/Archive/ComHandler.cpp +1449 -0
  272. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  273. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  274. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  275. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  276. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.cpp +90 -0
  277. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
  278. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  279. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  280. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  281. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  282. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  283. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  284. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  285. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  286. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  287. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  288. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +29 -0
  289. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +61 -0
  290. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  291. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  292. package/vendor/7zip/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  293. package/vendor/7zip/CPP/7zip/Archive/CpioHandler.cpp +1110 -0
  294. package/vendor/7zip/CPP/7zip/Archive/CramfsHandler.cpp +784 -0
  295. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.cpp +3 -0
  296. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.h +6 -0
  297. package/vendor/7zip/CPP/7zip/Archive/DllExports.cpp +96 -0
  298. package/vendor/7zip/CPP/7zip/Archive/DllExports2.cpp +184 -0
  299. package/vendor/7zip/CPP/7zip/Archive/DmgHandler.cpp +2336 -0
  300. package/vendor/7zip/CPP/7zip/Archive/ElfHandler.cpp +1284 -0
  301. package/vendor/7zip/CPP/7zip/Archive/ExtHandler.cpp +2860 -0
  302. package/vendor/7zip/CPP/7zip/Archive/FatHandler.cpp +1325 -0
  303. package/vendor/7zip/CPP/7zip/Archive/FlvHandler.cpp +521 -0
  304. package/vendor/7zip/CPP/7zip/Archive/GptHandler.cpp +473 -0
  305. package/vendor/7zip/CPP/7zip/Archive/GzHandler.cpp +1200 -0
  306. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.cpp +320 -0
  307. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.h +134 -0
  308. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.cpp +2631 -0
  309. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.h +87 -0
  310. package/vendor/7zip/CPP/7zip/Archive/IArchive.h +755 -0
  311. package/vendor/7zip/CPP/7zip/Archive/Icons/7z.ico +0 -0
  312. package/vendor/7zip/CPP/7zip/Archive/Icons/apfs.ico +0 -0
  313. package/vendor/7zip/CPP/7zip/Archive/Icons/arj.ico +0 -0
  314. package/vendor/7zip/CPP/7zip/Archive/Icons/bz2.ico +0 -0
  315. package/vendor/7zip/CPP/7zip/Archive/Icons/cab.ico +0 -0
  316. package/vendor/7zip/CPP/7zip/Archive/Icons/cpio.ico +0 -0
  317. package/vendor/7zip/CPP/7zip/Archive/Icons/deb.ico +0 -0
  318. package/vendor/7zip/CPP/7zip/Archive/Icons/dmg.ico +0 -0
  319. package/vendor/7zip/CPP/7zip/Archive/Icons/fat.ico +0 -0
  320. package/vendor/7zip/CPP/7zip/Archive/Icons/gz.ico +0 -0
  321. package/vendor/7zip/CPP/7zip/Archive/Icons/hfs.ico +0 -0
  322. package/vendor/7zip/CPP/7zip/Archive/Icons/iso.ico +0 -0
  323. package/vendor/7zip/CPP/7zip/Archive/Icons/lzh.ico +0 -0
  324. package/vendor/7zip/CPP/7zip/Archive/Icons/lzma.ico +0 -0
  325. package/vendor/7zip/CPP/7zip/Archive/Icons/ntfs.ico +0 -0
  326. package/vendor/7zip/CPP/7zip/Archive/Icons/rar.ico +0 -0
  327. package/vendor/7zip/CPP/7zip/Archive/Icons/rpm.ico +0 -0
  328. package/vendor/7zip/CPP/7zip/Archive/Icons/split.ico +0 -0
  329. package/vendor/7zip/CPP/7zip/Archive/Icons/squashfs.ico +0 -0
  330. package/vendor/7zip/CPP/7zip/Archive/Icons/tar.ico +0 -0
  331. package/vendor/7zip/CPP/7zip/Archive/Icons/vhd.ico +0 -0
  332. package/vendor/7zip/CPP/7zip/Archive/Icons/wim.ico +0 -0
  333. package/vendor/7zip/CPP/7zip/Archive/Icons/xar.ico +0 -0
  334. package/vendor/7zip/CPP/7zip/Archive/Icons/xz.ico +0 -0
  335. package/vendor/7zip/CPP/7zip/Archive/Icons/z.ico +0 -0
  336. package/vendor/7zip/CPP/7zip/Archive/Icons/zip.ico +0 -0
  337. package/vendor/7zip/CPP/7zip/Archive/Icons/zst.ico +0 -0
  338. package/vendor/7zip/CPP/7zip/Archive/IhexHandler.cpp +493 -0
  339. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +498 -0
  340. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.h +24 -0
  341. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +12 -0
  342. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.h +64 -0
  343. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +801 -0
  344. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.h +328 -0
  345. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoItem.h +316 -0
  346. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +21 -0
  347. package/vendor/7zip/CPP/7zip/Archive/Iso/StdAfx.h +11 -0
  348. package/vendor/7zip/CPP/7zip/Archive/LpHandler.cpp +1172 -0
  349. package/vendor/7zip/CPP/7zip/Archive/LvmHandler.cpp +1108 -0
  350. package/vendor/7zip/CPP/7zip/Archive/LzhHandler.cpp +719 -0
  351. package/vendor/7zip/CPP/7zip/Archive/LzmaHandler.cpp +606 -0
  352. package/vendor/7zip/CPP/7zip/Archive/MachoHandler.cpp +1075 -0
  353. package/vendor/7zip/CPP/7zip/Archive/MbrHandler.cpp +648 -0
  354. package/vendor/7zip/CPP/7zip/Archive/MslzHandler.cpp +389 -0
  355. package/vendor/7zip/CPP/7zip/Archive/MubHandler.cpp +248 -0
  356. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +295 -0
  357. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +97 -0
  358. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +703 -0
  359. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +30 -0
  360. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +6231 -0
  361. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.h +462 -0
  362. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +20 -0
  363. package/vendor/7zip/CPP/7zip/Archive/Nsis/StdAfx.h +11 -0
  364. package/vendor/7zip/CPP/7zip/Archive/NtfsHandler.cpp +2944 -0
  365. package/vendor/7zip/CPP/7zip/Archive/PeHandler.cpp +3427 -0
  366. package/vendor/7zip/CPP/7zip/Archive/PpmdHandler.cpp +414 -0
  367. package/vendor/7zip/CPP/7zip/Archive/QcowHandler.cpp +713 -0
  368. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.cpp +3483 -0
  369. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.h +527 -0
  370. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +1775 -0
  371. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.h +115 -0
  372. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHeader.h +209 -0
  373. package/vendor/7zip/CPP/7zip/Archive/Rar/RarItem.h +97 -0
  374. package/vendor/7zip/CPP/7zip/Archive/Rar/RarVol.h +136 -0
  375. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.cpp +3 -0
  376. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.h +11 -0
  377. package/vendor/7zip/CPP/7zip/Archive/RpmHandler.cpp +775 -0
  378. package/vendor/7zip/CPP/7zip/Archive/SparseHandler.cpp +558 -0
  379. package/vendor/7zip/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  380. package/vendor/7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2373 -0
  381. package/vendor/7zip/CPP/7zip/Archive/StdAfx.h +11 -0
  382. package/vendor/7zip/CPP/7zip/Archive/SwfHandler.cpp +996 -0
  383. package/vendor/7zip/CPP/7zip/Archive/Tar/StdAfx.h +11 -0
  384. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +1105 -0
  385. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.h +57 -0
  386. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +332 -0
  387. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +99 -0
  388. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.h +90 -0
  389. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.cpp +1151 -0
  390. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.h +151 -0
  391. package/vendor/7zip/CPP/7zip/Archive/Tar/TarItem.h +365 -0
  392. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.cpp +644 -0
  393. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.h +53 -0
  394. package/vendor/7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +31 -0
  395. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +563 -0
  396. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.h +74 -0
  397. package/vendor/7zip/CPP/7zip/Archive/Udf/StdAfx.h +11 -0
  398. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +427 -0
  399. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.h +32 -0
  400. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +1756 -0
  401. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.h +508 -0
  402. package/vendor/7zip/CPP/7zip/Archive/UefiHandler.cpp +1884 -0
  403. package/vendor/7zip/CPP/7zip/Archive/VdiHandler.cpp +433 -0
  404. package/vendor/7zip/CPP/7zip/Archive/VhdHandler.cpp +1106 -0
  405. package/vendor/7zip/CPP/7zip/Archive/VhdxHandler.cpp +2085 -0
  406. package/vendor/7zip/CPP/7zip/Archive/VmdkHandler.cpp +1530 -0
  407. package/vendor/7zip/CPP/7zip/Archive/Wim/StdAfx.h +11 -0
  408. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +1291 -0
  409. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.h +117 -0
  410. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +2008 -0
  411. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.cpp +2104 -0
  412. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.h +719 -0
  413. package/vendor/7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +29 -0
  414. package/vendor/7zip/CPP/7zip/Archive/XarHandler.cpp +1316 -0
  415. package/vendor/7zip/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  416. package/vendor/7zip/CPP/7zip/Archive/XzHandler.h +11 -0
  417. package/vendor/7zip/CPP/7zip/Archive/ZHandler.cpp +208 -0
  418. package/vendor/7zip/CPP/7zip/Archive/Zip/StdAfx.h +11 -0
  419. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +484 -0
  420. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +76 -0
  421. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +62 -0
  422. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +1679 -0
  423. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.h +94 -0
  424. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +626 -0
  425. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHeader.h +201 -0
  426. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +3474 -0
  427. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.h +456 -0
  428. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +464 -0
  429. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.h +356 -0
  430. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +428 -0
  431. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.h +103 -0
  432. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +38 -0
  433. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +2165 -0
  434. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +107 -0
  435. package/vendor/7zip/CPP/7zip/Archive/ZstdHandler.cpp +1147 -0
  436. package/vendor/7zip/CPP/7zip/Archive/makefile +23 -0
  437. package/vendor/7zip/CPP/7zip/Asm.mak +12 -0
  438. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsp +3324 -0
  439. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsw +29 -0
  440. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.cpp +3 -0
  441. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.h +11 -0
  442. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile +245 -0
  443. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile.gcc +354 -0
  444. package/vendor/7zip/CPP/7zip/Bundles/Alone/resource.rc +7 -0
  445. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.cpp +3 -0
  446. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.h +11 -0
  447. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile +31 -0
  448. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile.gcc +108 -0
  449. package/vendor/7zip/CPP/7zip/Bundles/Alone2/resource.rc +7 -0
  450. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  451. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  452. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  453. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  454. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  455. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile.gcc +276 -0
  456. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  457. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsp +2275 -0
  458. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsw +29 -0
  459. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.cpp +3 -0
  460. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.h +6 -0
  461. package/vendor/7zip/CPP/7zip/Bundles/Fm/makefile +82 -0
  462. package/vendor/7zip/CPP/7zip/Bundles/Fm/resource.rc +7 -0
  463. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.cpp +3 -0
  464. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.h +11 -0
  465. package/vendor/7zip/CPP/7zip/Bundles/Format7z/makefile +148 -0
  466. package/vendor/7zip/CPP/7zip/Bundles/Format7z/resource.rc +5 -0
  467. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp +3 -0
  468. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.h +11 -0
  469. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/makefile +116 -0
  470. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/resource.rc +5 -0
  471. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  472. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  473. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  474. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  475. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc.mak +310 -0
  476. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc_gcc.mak +395 -0
  477. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsp +3486 -0
  478. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsw +29 -0
  479. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.cpp +3 -0
  480. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.h +11 -0
  481. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile +20 -0
  482. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile.gcc +55 -0
  483. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/resource.rc +39 -0
  484. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  485. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  486. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  487. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  488. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +815 -0
  489. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  490. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  491. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  492. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  493. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  494. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  495. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  496. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  497. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  498. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  499. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  500. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  501. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  502. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  503. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  504. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  505. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  506. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  507. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  508. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  509. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  510. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  511. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +359 -0
  512. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  513. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  514. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  515. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  516. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  517. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  518. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  519. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  520. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  521. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  522. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  523. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  524. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  525. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  526. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  527. package/vendor/7zip/CPP/7zip/Bundles/makefile +19 -0
  528. package/vendor/7zip/CPP/7zip/Common/CWrappers.cpp +358 -0
  529. package/vendor/7zip/CPP/7zip/Common/CWrappers.h +182 -0
  530. package/vendor/7zip/CPP/7zip/Common/CreateCoder.cpp +548 -0
  531. package/vendor/7zip/CPP/7zip/Common/CreateCoder.h +200 -0
  532. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  533. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  534. package/vendor/7zip/CPP/7zip/Common/FileStreams.cpp +923 -0
  535. package/vendor/7zip/CPP/7zip/Common/FileStreams.h +205 -0
  536. package/vendor/7zip/CPP/7zip/Common/FilterCoder.cpp +582 -0
  537. package/vendor/7zip/CPP/7zip/Common/FilterCoder.h +201 -0
  538. package/vendor/7zip/CPP/7zip/Common/InBuffer.cpp +182 -0
  539. package/vendor/7zip/CPP/7zip/Common/InBuffer.h +121 -0
  540. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  541. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  542. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.cpp +395 -0
  543. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.h +221 -0
  544. package/vendor/7zip/CPP/7zip/Common/LockedStream.cpp +3 -0
  545. package/vendor/7zip/CPP/7zip/Common/LockedStream.h +6 -0
  546. package/vendor/7zip/CPP/7zip/Common/MemBlocks.cpp +215 -0
  547. package/vendor/7zip/CPP/7zip/Common/MemBlocks.h +72 -0
  548. package/vendor/7zip/CPP/7zip/Common/MethodId.cpp +3 -0
  549. package/vendor/7zip/CPP/7zip/Common/MethodId.h +10 -0
  550. package/vendor/7zip/CPP/7zip/Common/MethodProps.cpp +765 -0
  551. package/vendor/7zip/CPP/7zip/Common/MethodProps.h +348 -0
  552. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  553. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.h +160 -0
  554. package/vendor/7zip/CPP/7zip/Common/OffsetStream.cpp +37 -0
  555. package/vendor/7zip/CPP/7zip/Common/OffsetStream.h +22 -0
  556. package/vendor/7zip/CPP/7zip/Common/OutBuffer.cpp +111 -0
  557. package/vendor/7zip/CPP/7zip/Common/OutBuffer.h +133 -0
  558. package/vendor/7zip/CPP/7zip/Common/OutMemStream.cpp +158 -0
  559. package/vendor/7zip/CPP/7zip/Common/OutMemStream.h +104 -0
  560. package/vendor/7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
  561. package/vendor/7zip/CPP/7zip/Common/ProgressMt.h +43 -0
  562. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  563. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.h +33 -0
  564. package/vendor/7zip/CPP/7zip/Common/PropId.cpp +115 -0
  565. package/vendor/7zip/CPP/7zip/Common/RegisterArc.h +80 -0
  566. package/vendor/7zip/CPP/7zip/Common/RegisterCodec.h +106 -0
  567. package/vendor/7zip/CPP/7zip/Common/StdAfx.h +11 -0
  568. package/vendor/7zip/CPP/7zip/Common/StreamBinder.cpp +151 -0
  569. package/vendor/7zip/CPP/7zip/Common/StreamBinder.h +78 -0
  570. package/vendor/7zip/CPP/7zip/Common/StreamObjects.cpp +290 -0
  571. package/vendor/7zip/CPP/7zip/Common/StreamObjects.h +146 -0
  572. package/vendor/7zip/CPP/7zip/Common/StreamUtils.cpp +101 -0
  573. package/vendor/7zip/CPP/7zip/Common/StreamUtils.h +31 -0
  574. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  575. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.h +41 -0
  576. package/vendor/7zip/CPP/7zip/Common/VirtThread.cpp +47 -0
  577. package/vendor/7zip/CPP/7zip/Common/VirtThread.h +24 -0
  578. package/vendor/7zip/CPP/7zip/Compress/BZip2Const.h +71 -0
  579. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.cpp +28 -0
  580. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
  581. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.cpp +1777 -0
  582. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.h +388 -0
  583. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.cpp +1116 -0
  584. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.h +273 -0
  585. package/vendor/7zip/CPP/7zip/Compress/BZip2Register.cpp +25 -0
  586. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  587. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  588. package/vendor/7zip/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  589. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  590. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.h +37 -0
  591. package/vendor/7zip/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  592. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.cpp +32 -0
  593. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.h +225 -0
  594. package/vendor/7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
  595. package/vendor/7zip/CPP/7zip/Compress/BitmDecoder.h +106 -0
  596. package/vendor/7zip/CPP/7zip/Compress/BitmEncoder.h +90 -0
  597. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  598. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.h +59 -0
  599. package/vendor/7zip/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  600. package/vendor/7zip/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  601. package/vendor/7zip/CPP/7zip/Compress/Codec.def +7 -0
  602. package/vendor/7zip/CPP/7zip/Compress/CodecExports.cpp +378 -0
  603. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  604. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
  605. package/vendor/7zip/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  606. package/vendor/7zip/CPP/7zip/Compress/Deflate64Register.cpp +25 -0
  607. package/vendor/7zip/CPP/7zip/Compress/DeflateConst.h +131 -0
  608. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.cpp +566 -0
  609. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.h +154 -0
  610. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.cpp +1045 -0
  611. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.h +203 -0
  612. package/vendor/7zip/CPP/7zip/Compress/DeflateRegister.cpp +25 -0
  613. package/vendor/7zip/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  614. package/vendor/7zip/CPP/7zip/Compress/DllExports2Compress.cpp +38 -0
  615. package/vendor/7zip/CPP/7zip/Compress/DllExportsCompress.cpp +59 -0
  616. package/vendor/7zip/CPP/7zip/Compress/HuffmanDecoder.h +528 -0
  617. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +250 -0
  618. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.h +61 -0
  619. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +3 -0
  620. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +6 -0
  621. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
  622. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.h +102 -0
  623. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.cpp +950 -0
  624. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.h +63 -0
  625. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
  626. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.h +68 -0
  627. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  628. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  629. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  630. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  631. package/vendor/7zip/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  632. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  633. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  634. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  635. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  636. package/vendor/7zip/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  637. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.cpp +619 -0
  638. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.h +209 -0
  639. package/vendor/7zip/CPP/7zip/Compress/Lzx.h +61 -0
  640. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.cpp +1517 -0
  641. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.h +106 -0
  642. package/vendor/7zip/CPP/7zip/Compress/Mtf8.h +225 -0
  643. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  644. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  645. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  646. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  647. package/vendor/7zip/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  648. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.cpp +309 -0
  649. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.h +78 -0
  650. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.cpp +355 -0
  651. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.h +60 -0
  652. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.cpp +518 -0
  653. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.h +70 -0
  654. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.cpp +472 -0
  655. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.h +111 -0
  656. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.cpp +939 -0
  657. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.h +283 -0
  658. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.cpp +1153 -0
  659. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.h +195 -0
  660. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.cpp +2060 -0
  661. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.h +132 -0
  662. package/vendor/7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +33 -0
  663. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +290 -0
  664. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
  665. package/vendor/7zip/CPP/7zip/Compress/StdAfx.h +11 -0
  666. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.cpp +399 -0
  667. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.h +18 -0
  668. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  669. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.h +86 -0
  670. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  671. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.h +35 -0
  672. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.cpp +392 -0
  673. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.h +41 -0
  674. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.cpp +136 -0
  675. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.h +78 -0
  676. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
  677. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.h +42 -0
  678. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.cpp +437 -0
  679. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.h +98 -0
  680. package/vendor/7zip/CPP/7zip/Compress/makefile +7 -0
  681. package/vendor/7zip/CPP/7zip/Crc.mak +8 -0
  682. package/vendor/7zip/CPP/7zip/Crc64.mak +8 -0
  683. package/vendor/7zip/CPP/7zip/Crypto/7zAes.cpp +315 -0
  684. package/vendor/7zip/CPP/7zip/Crypto/7zAes.h +130 -0
  685. package/vendor/7zip/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  686. package/vendor/7zip/CPP/7zip/Crypto/Codec.def +4 -0
  687. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.cpp +94 -0
  688. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.h +31 -0
  689. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.cpp +53 -0
  690. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.h +27 -0
  691. package/vendor/7zip/CPP/7zip/Crypto/MyAes.cpp +277 -0
  692. package/vendor/7zip/CPP/7zip/Crypto/MyAes.h +122 -0
  693. package/vendor/7zip/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  694. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +48 -0
  695. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +19 -0
  696. package/vendor/7zip/CPP/7zip/Crypto/RandGen.cpp +242 -0
  697. package/vendor/7zip/CPP/7zip/Crypto/RandGen.h +41 -0
  698. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +130 -0
  699. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.h +54 -0
  700. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.cpp +273 -0
  701. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.h +97 -0
  702. package/vendor/7zip/CPP/7zip/Crypto/RarAes.cpp +202 -0
  703. package/vendor/7zip/CPP/7zip/Crypto/RarAes.h +54 -0
  704. package/vendor/7zip/CPP/7zip/Crypto/Sha1Cls.h +37 -0
  705. package/vendor/7zip/CPP/7zip/Crypto/StdAfx.h +11 -0
  706. package/vendor/7zip/CPP/7zip/Crypto/WzAes.cpp +231 -0
  707. package/vendor/7zip/CPP/7zip/Crypto/WzAes.h +161 -0
  708. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.cpp +114 -0
  709. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.h +80 -0
  710. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.cpp +265 -0
  711. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.h +73 -0
  712. package/vendor/7zip/CPP/7zip/GuiCommon.rc +119 -0
  713. package/vendor/7zip/CPP/7zip/Guid.txt +243 -0
  714. package/vendor/7zip/CPP/7zip/ICoder.h +480 -0
  715. package/vendor/7zip/CPP/7zip/IDecl.h +76 -0
  716. package/vendor/7zip/CPP/7zip/IPassword.h +54 -0
  717. package/vendor/7zip/CPP/7zip/IProgress.h +20 -0
  718. package/vendor/7zip/CPP/7zip/IStream.h +210 -0
  719. package/vendor/7zip/CPP/7zip/LzFindOpt.mak +7 -0
  720. package/vendor/7zip/CPP/7zip/LzmaDec.mak +7 -0
  721. package/vendor/7zip/CPP/7zip/LzmaDec_gcc.mak +14 -0
  722. package/vendor/7zip/CPP/7zip/MyVersion.h +2 -0
  723. package/vendor/7zip/CPP/7zip/MyVersionInfo.rc +2 -0
  724. package/vendor/7zip/CPP/7zip/PropID.h +178 -0
  725. package/vendor/7zip/CPP/7zip/Sha1.mak +13 -0
  726. package/vendor/7zip/CPP/7zip/Sha256.mak +13 -0
  727. package/vendor/7zip/CPP/7zip/Sort.mak +6 -0
  728. package/vendor/7zip/CPP/7zip/SubBuild.mak +3 -0
  729. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.cpp +2003 -0
  730. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.h +365 -0
  731. package/vendor/7zip/CPP/7zip/UI/Agent/AgentOut.cpp +776 -0
  732. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.cpp +1098 -0
  733. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.h +198 -0
  734. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolder.cpp +57 -0
  735. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOpen.cpp +243 -0
  736. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOut.cpp +457 -0
  737. package/vendor/7zip/CPP/7zip/UI/Agent/IFolderArchive.h +123 -0
  738. package/vendor/7zip/CPP/7zip/UI/Agent/StdAfx.h +11 -0
  739. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.cpp +208 -0
  740. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.h +22 -0
  741. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  742. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  743. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  744. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  745. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  746. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile +29 -0
  747. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  748. package/vendor/7zip/CPP/7zip/UI/Client7z/resource.rc +3 -0
  749. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1913 -0
  750. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  751. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3243 -0
  752. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.h +640 -0
  753. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  754. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  755. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +403 -0
  756. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  757. package/vendor/7zip/CPP/7zip/UI/Common/Bench.cpp +5036 -0
  758. package/vendor/7zip/CPP/7zip/UI/Common/Bench.h +121 -0
  759. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.cpp +343 -0
  760. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.h +28 -0
  761. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall2.cpp +327 -0
  762. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  763. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.h +11 -0
  764. package/vendor/7zip/CPP/7zip/UI/Common/DirItem.h +407 -0
  765. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  766. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  767. package/vendor/7zip/CPP/7zip/UI/Common/ExitCode.h +27 -0
  768. package/vendor/7zip/CPP/7zip/UI/Common/Extract.cpp +593 -0
  769. package/vendor/7zip/CPP/7zip/UI/Common/Extract.h +118 -0
  770. package/vendor/7zip/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  771. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.cpp +299 -0
  772. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  773. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  774. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.h +322 -0
  775. package/vendor/7zip/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  776. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.cpp +1354 -0
  777. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  778. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.cpp +3690 -0
  779. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  780. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.cpp +746 -0
  781. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  782. package/vendor/7zip/CPP/7zip/UI/Common/Property.h +14 -0
  783. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  784. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.h +10 -0
  785. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  786. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.h +10 -0
  787. package/vendor/7zip/CPP/7zip/UI/Common/StdAfx.h +11 -0
  788. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  789. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.h +19 -0
  790. package/vendor/7zip/CPP/7zip/UI/Common/Update.cpp +1931 -0
  791. package/vendor/7zip/CPP/7zip/UI/Common/Update.h +221 -0
  792. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  793. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  794. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.cpp +1078 -0
  795. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  796. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.cpp +303 -0
  797. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  798. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.cpp +75 -0
  799. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  800. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  801. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.h +30 -0
  802. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.cpp +599 -0
  803. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  804. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  805. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.h +14 -0
  806. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsp +1052 -0
  807. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsw +29 -0
  808. package/vendor/7zip/CPP/7zip/UI/Console/Console.mak +45 -0
  809. package/vendor/7zip/CPP/7zip/UI/Console/Console.manifest +16 -0
  810. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  811. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  812. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +954 -0
  813. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  814. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  815. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.h +58 -0
  816. package/vendor/7zip/CPP/7zip/UI/Console/List.cpp +1417 -0
  817. package/vendor/7zip/CPP/7zip/UI/Console/List.h +42 -0
  818. package/vendor/7zip/CPP/7zip/UI/Console/Main.cpp +1663 -0
  819. package/vendor/7zip/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  820. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  821. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  822. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  823. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  824. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  825. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.h +11 -0
  826. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +1012 -0
  827. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  828. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  829. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  830. package/vendor/7zip/CPP/7zip/UI/Console/makefile +68 -0
  831. package/vendor/7zip/CPP/7zip/UI/Console/makefile.gcc +184 -0
  832. package/vendor/7zip/CPP/7zip/UI/Console/resource.rc +7 -0
  833. package/vendor/7zip/CPP/7zip/UI/Explorer/7-zip.dll.manifest +1 -0
  834. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.cpp +1837 -0
  835. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.h +173 -0
  836. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenuFlags.h +27 -0
  837. package/vendor/7zip/CPP/7zip/UI/Explorer/DllExportsExplorer.cpp +268 -0
  838. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.def +9 -0
  839. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsp +620 -0
  840. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsw +29 -0
  841. package/vendor/7zip/CPP/7zip/UI/Explorer/MenuLogo.bmp +0 -0
  842. package/vendor/7zip/CPP/7zip/UI/Explorer/MyExplorerCommand.h +217 -0
  843. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  844. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  845. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.cpp +225 -0
  846. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.h +13 -0
  847. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.cpp +3 -0
  848. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.h +6 -0
  849. package/vendor/7zip/CPP/7zip/UI/Explorer/makefile +76 -0
  850. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.h +15 -0
  851. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.rc +10 -0
  852. package/vendor/7zip/CPP/7zip/UI/Explorer/resource2.rc +19 -0
  853. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.cpp +274 -0
  854. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.h +43 -0
  855. package/vendor/7zip/CPP/7zip/UI/Far/Far.cpp +588 -0
  856. package/vendor/7zip/CPP/7zip/UI/Far/Far.def +35 -0
  857. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsp +831 -0
  858. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsw +29 -0
  859. package/vendor/7zip/CPP/7zip/UI/Far/FarPlugin.h +560 -0
  860. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.cpp +523 -0
  861. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.h +203 -0
  862. package/vendor/7zip/CPP/7zip/UI/Far/Messages.h +136 -0
  863. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.cpp +145 -0
  864. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.h +37 -0
  865. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.cpp +937 -0
  866. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.h +97 -0
  867. package/vendor/7zip/CPP/7zip/UI/Far/PluginCommon.cpp +50 -0
  868. package/vendor/7zip/CPP/7zip/UI/Far/PluginDelete.cpp +144 -0
  869. package/vendor/7zip/CPP/7zip/UI/Far/PluginRead.cpp +301 -0
  870. package/vendor/7zip/CPP/7zip/UI/Far/PluginWrite.cpp +840 -0
  871. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.cpp +305 -0
  872. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.h +85 -0
  873. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.cpp +3 -0
  874. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.h +11 -0
  875. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.cpp +327 -0
  876. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.h +58 -0
  877. package/vendor/7zip/CPP/7zip/UI/Far/makefile +105 -0
  878. package/vendor/7zip/CPP/7zip/UI/Far/resource.rc +3 -0
  879. package/vendor/7zip/CPP/7zip/UI/FileManager/7zFM.exe.manifest +23 -0
  880. package/vendor/7zip/CPP/7zip/UI/FileManager/7zipLogo.ico +0 -0
  881. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.cpp +81 -0
  882. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.h +19 -0
  883. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.rc +26 -0
  884. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialogRes.h +8 -0
  885. package/vendor/7zip/CPP/7zip/UI/FileManager/Add.bmp +0 -0
  886. package/vendor/7zip/CPP/7zip/UI/FileManager/Add2.bmp +0 -0
  887. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.cpp +865 -0
  888. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.h +92 -0
  889. package/vendor/7zip/CPP/7zip/UI/FileManager/App.cpp +1004 -0
  890. package/vendor/7zip/CPP/7zip/UI/FileManager/App.h +314 -0
  891. package/vendor/7zip/CPP/7zip/UI/FileManager/AppState.h +95 -0
  892. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  893. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  894. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.rc +25 -0
  895. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.cpp +1873 -0
  896. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.h +10 -0
  897. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.rc +32 -0
  898. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2Res.h +9 -0
  899. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  900. package/vendor/7zip/CPP/7zip/UI/FileManager/ClassDefs.cpp +12 -0
  901. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  902. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  903. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.rc +16 -0
  904. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  905. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy.bmp +0 -0
  906. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy2.bmp +0 -0
  907. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.cpp +103 -0
  908. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.h +31 -0
  909. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.rc +20 -0
  910. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialogRes.h +8 -0
  911. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete.bmp +0 -0
  912. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete2.bmp +0 -0
  913. package/vendor/7zip/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  914. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.cpp +57 -0
  915. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.h +25 -0
  916. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.rc +15 -0
  917. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialogRes.h +2 -0
  918. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.cpp +159 -0
  919. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.h +30 -0
  920. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.rc +19 -0
  921. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage2.rc +14 -0
  922. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPageRes.h +15 -0
  923. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.cpp +109 -0
  924. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.h +10 -0
  925. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract.bmp +0 -0
  926. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract2.bmp +0 -0
  927. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1284 -0
  928. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  929. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.cpp +1230 -0
  930. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsp +1699 -0
  931. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsw +29 -0
  932. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.ico +0 -0
  933. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.mak +102 -0
  934. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.cpp +512 -0
  935. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.h +52 -0
  936. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.cpp +1179 -0
  937. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.h +220 -0
  938. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolderCopy.cpp +871 -0
  939. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.cpp +394 -0
  940. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.h +27 -0
  941. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.cpp +78 -0
  942. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.h +33 -0
  943. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.cpp +172 -0
  944. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.h +32 -0
  945. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.rc +23 -0
  946. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage2.rc +11 -0
  947. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPageRes.h +12 -0
  948. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  949. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  950. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.cpp +78 -0
  951. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.h +10 -0
  952. package/vendor/7zip/CPP/7zip/UI/FileManager/IFolder.h +187 -0
  953. package/vendor/7zip/CPP/7zip/UI/FileManager/Info.bmp +0 -0
  954. package/vendor/7zip/CPP/7zip/UI/FileManager/Info2.bmp +0 -0
  955. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.cpp +359 -0
  956. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.h +36 -0
  957. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.rc +40 -0
  958. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPageRes.h +9 -0
  959. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.cpp +333 -0
  960. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  961. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.cpp +402 -0
  962. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.h +34 -0
  963. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.rc +38 -0
  964. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialogRes.h +22 -0
  965. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.cpp +321 -0
  966. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.h +46 -0
  967. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.rc +14 -0
  968. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialogRes.h +2 -0
  969. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  970. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  971. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.rc +49 -0
  972. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  973. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.cpp +439 -0
  974. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.h +57 -0
  975. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.rc +24 -0
  976. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage2.rc +28 -0
  977. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPageRes.h +15 -0
  978. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.cpp +76 -0
  979. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.h +25 -0
  980. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.rc +14 -0
  981. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialogRes.h +3 -0
  982. package/vendor/7zip/CPP/7zip/UI/FileManager/Move.bmp +0 -0
  983. package/vendor/7zip/CPP/7zip/UI/FileManager/Move2.bmp +0 -0
  984. package/vendor/7zip/CPP/7zip/UI/FileManager/MyCom2.h +46 -0
  985. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.cpp +964 -0
  986. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.h +40 -0
  987. package/vendor/7zip/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  988. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.cpp +276 -0
  989. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.h +36 -0
  990. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.cpp +86 -0
  991. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.h +69 -0
  992. package/vendor/7zip/CPP/7zip/UI/FileManager/OptionsDialog.cpp +89 -0
  993. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  994. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  995. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  996. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  997. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.cpp +1177 -0
  998. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.h +1020 -0
  999. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCopy.cpp +477 -0
  1000. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCrc.cpp +422 -0
  1001. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelDrag.cpp +3006 -0
  1002. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelFolderChange.cpp +1122 -0
  1003. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItemOpen.cpp +1836 -0
  1004. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItems.cpp +1476 -0
  1005. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelKey.cpp +357 -0
  1006. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelListNotify.cpp +838 -0
  1007. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelMenu.cpp +1160 -0
  1008. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelOperations.cpp +533 -0
  1009. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSelect.cpp +317 -0
  1010. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSort.cpp +288 -0
  1011. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSplitFile.cpp +562 -0
  1012. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  1013. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  1014. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  1015. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  1016. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginInterface.h +32 -0
  1017. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginLoader.h +33 -0
  1018. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.cpp +3 -0
  1019. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.h +6 -0
  1020. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  1021. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  1022. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  1023. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1484 -0
  1024. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  1025. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  1026. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  1027. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  1028. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  1029. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  1030. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  1031. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.rc +109 -0
  1032. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  1033. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.cpp +167 -0
  1034. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.h +31 -0
  1035. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.cpp +145 -0
  1036. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.h +29 -0
  1037. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.cpp +194 -0
  1038. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.h +50 -0
  1039. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.cpp +342 -0
  1040. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.h +24 -0
  1041. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.cpp +453 -0
  1042. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.h +37 -0
  1043. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.rc +22 -0
  1044. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage2.rc +37 -0
  1045. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPageRes.h +23 -0
  1046. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.cpp +114 -0
  1047. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.h +28 -0
  1048. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.rc +16 -0
  1049. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialogRes.h +8 -0
  1050. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.cpp +96 -0
  1051. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.h +15 -0
  1052. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.cpp +3 -0
  1053. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  1054. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.cpp +39 -0
  1055. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.h +11 -0
  1056. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.cpp +352 -0
  1057. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  1058. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.cpp +472 -0
  1059. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.h +126 -0
  1060. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.rc +43 -0
  1061. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPageRes.h +9 -0
  1062. package/vendor/7zip/CPP/7zip/UI/FileManager/Test.bmp +0 -0
  1063. package/vendor/7zip/CPP/7zip/UI/FileManager/Test2.bmp +0 -0
  1064. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.cpp +193 -0
  1065. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.h +32 -0
  1066. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.cpp +147 -0
  1067. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.h +49 -0
  1068. package/vendor/7zip/CPP/7zip/UI/FileManager/VerCtrl.cpp +428 -0
  1069. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.cpp +315 -0
  1070. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.h +115 -0
  1071. package/vendor/7zip/CPP/7zip/UI/FileManager/makefile +110 -0
  1072. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.h +199 -0
  1073. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.rc +296 -0
  1074. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  1075. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.rc +30 -0
  1076. package/vendor/7zip/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  1077. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.cpp +1921 -0
  1078. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.h +15 -0
  1079. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.rc +288 -0
  1080. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialogRes.h +79 -0
  1081. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.cpp +3821 -0
  1082. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.h +483 -0
  1083. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.rc +233 -0
  1084. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialogRes.h +125 -0
  1085. package/vendor/7zip/CPP/7zip/UI/GUI/CompressOptionsDialog.rc +79 -0
  1086. package/vendor/7zip/CPP/7zip/UI/GUI/Extract.rc +59 -0
  1087. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.cpp +420 -0
  1088. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  1089. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  1090. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  1091. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  1092. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  1093. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  1094. package/vendor/7zip/CPP/7zip/UI/GUI/FM.ico +0 -0
  1095. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.cpp +502 -0
  1096. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsp +1275 -0
  1097. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsw +29 -0
  1098. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.cpp +341 -0
  1099. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  1100. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.cpp +3 -0
  1101. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.h +6 -0
  1102. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.cpp +295 -0
  1103. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.h +31 -0
  1104. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.cpp +130 -0
  1105. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.h +53 -0
  1106. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.cpp +605 -0
  1107. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.h +33 -0
  1108. package/vendor/7zip/CPP/7zip/UI/GUI/makefile +148 -0
  1109. package/vendor/7zip/CPP/7zip/UI/GUI/resource.rc +26 -0
  1110. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.h +2 -0
  1111. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.rc +10 -0
  1112. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.h +10 -0
  1113. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.rc +15 -0
  1114. package/vendor/7zip/CPP/7zip/UI/makefile +12 -0
  1115. package/vendor/7zip/CPP/7zip/cmpl_clang.mak +3 -0
  1116. package/vendor/7zip/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  1117. package/vendor/7zip/CPP/7zip/cmpl_clang_x64.mak +3 -0
  1118. package/vendor/7zip/CPP/7zip/cmpl_clang_x86.mak +3 -0
  1119. package/vendor/7zip/CPP/7zip/cmpl_gcc.mak +3 -0
  1120. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm.mak +3 -0
  1121. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  1122. package/vendor/7zip/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  1123. package/vendor/7zip/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  1124. package/vendor/7zip/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  1125. package/vendor/7zip/CPP/7zip/cmpl_mac_x64.mak +3 -0
  1126. package/vendor/7zip/CPP/7zip/makefile +10 -0
  1127. package/vendor/7zip/CPP/7zip/var_clang.mak +11 -0
  1128. package/vendor/7zip/CPP/7zip/var_clang_arm64.mak +19 -0
  1129. package/vendor/7zip/CPP/7zip/var_clang_x64.mak +11 -0
  1130. package/vendor/7zip/CPP/7zip/var_clang_x86.mak +11 -0
  1131. package/vendor/7zip/CPP/7zip/var_gcc.mak +12 -0
  1132. package/vendor/7zip/CPP/7zip/var_gcc_arm.mak +34 -0
  1133. package/vendor/7zip/CPP/7zip/var_gcc_arm64.mak +12 -0
  1134. package/vendor/7zip/CPP/7zip/var_gcc_x64.mak +11 -0
  1135. package/vendor/7zip/CPP/7zip/var_gcc_x86.mak +10 -0
  1136. package/vendor/7zip/CPP/7zip/var_mac_arm64.mak +13 -0
  1137. package/vendor/7zip/CPP/7zip/var_mac_x64.mak +13 -0
  1138. package/vendor/7zip/CPP/7zip/warn_clang.mak +3 -0
  1139. package/vendor/7zip/CPP/7zip/warn_clang_mac.mak +9 -0
  1140. package/vendor/7zip/CPP/7zip/warn_gcc.mak +55 -0
  1141. package/vendor/7zip/CPP/Build.mak +259 -0
  1142. package/vendor/7zip/CPP/Common/AutoPtr.h +46 -0
  1143. package/vendor/7zip/CPP/Common/CRC.cpp +7 -0
  1144. package/vendor/7zip/CPP/Common/C_FileIO.cpp +3 -0
  1145. package/vendor/7zip/CPP/Common/C_FileIO.h +6 -0
  1146. package/vendor/7zip/CPP/Common/CksumReg.cpp +55 -0
  1147. package/vendor/7zip/CPP/Common/ComTry.h +21 -0
  1148. package/vendor/7zip/CPP/Common/CommandLineParser.cpp +231 -0
  1149. package/vendor/7zip/CPP/Common/CommandLineParser.h +63 -0
  1150. package/vendor/7zip/CPP/Common/Common.h +28 -0
  1151. package/vendor/7zip/CPP/Common/Common0.h +342 -0
  1152. package/vendor/7zip/CPP/Common/CrcReg.cpp +77 -0
  1153. package/vendor/7zip/CPP/Common/Defs.h +16 -0
  1154. package/vendor/7zip/CPP/Common/DynLimBuf.cpp +93 -0
  1155. package/vendor/7zip/CPP/Common/DynLimBuf.h +41 -0
  1156. package/vendor/7zip/CPP/Common/DynamicBuffer.h +76 -0
  1157. package/vendor/7zip/CPP/Common/IntToString.cpp +215 -0
  1158. package/vendor/7zip/CPP/Common/IntToString.h +54 -0
  1159. package/vendor/7zip/CPP/Common/Lang.cpp +173 -0
  1160. package/vendor/7zip/CPP/Common/Lang.h +30 -0
  1161. package/vendor/7zip/CPP/Common/ListFileUtils.cpp +150 -0
  1162. package/vendor/7zip/CPP/Common/ListFileUtils.h +18 -0
  1163. package/vendor/7zip/CPP/Common/LzFindPrepare.cpp +7 -0
  1164. package/vendor/7zip/CPP/Common/Md5Reg.cpp +44 -0
  1165. package/vendor/7zip/CPP/Common/MyBuffer.h +343 -0
  1166. package/vendor/7zip/CPP/Common/MyBuffer2.h +185 -0
  1167. package/vendor/7zip/CPP/Common/MyCom.h +693 -0
  1168. package/vendor/7zip/CPP/Common/MyException.h +14 -0
  1169. package/vendor/7zip/CPP/Common/MyGuidDef.h +63 -0
  1170. package/vendor/7zip/CPP/Common/MyInitGuid.h +57 -0
  1171. package/vendor/7zip/CPP/Common/MyLinux.h +75 -0
  1172. package/vendor/7zip/CPP/Common/MyMap.cpp +140 -0
  1173. package/vendor/7zip/CPP/Common/MyMap.h +28 -0
  1174. package/vendor/7zip/CPP/Common/MyString.cpp +1842 -0
  1175. package/vendor/7zip/CPP/Common/MyString.h +1079 -0
  1176. package/vendor/7zip/CPP/Common/MyTypes.h +38 -0
  1177. package/vendor/7zip/CPP/Common/MyUnknown.h +8 -0
  1178. package/vendor/7zip/CPP/Common/MyVector.cpp +3 -0
  1179. package/vendor/7zip/CPP/Common/MyVector.h +772 -0
  1180. package/vendor/7zip/CPP/Common/MyWindows.cpp +292 -0
  1181. package/vendor/7zip/CPP/Common/MyWindows.h +325 -0
  1182. package/vendor/7zip/CPP/Common/MyXml.cpp +349 -0
  1183. package/vendor/7zip/CPP/Common/MyXml.h +45 -0
  1184. package/vendor/7zip/CPP/Common/NewHandler.cpp +340 -0
  1185. package/vendor/7zip/CPP/Common/NewHandler.h +121 -0
  1186. package/vendor/7zip/CPP/Common/Random.cpp +28 -0
  1187. package/vendor/7zip/CPP/Common/Random.h +14 -0
  1188. package/vendor/7zip/CPP/Common/Sha1Prepare.cpp +7 -0
  1189. package/vendor/7zip/CPP/Common/Sha1Reg.cpp +67 -0
  1190. package/vendor/7zip/CPP/Common/Sha256Prepare.cpp +7 -0
  1191. package/vendor/7zip/CPP/Common/Sha256Reg.cpp +67 -0
  1192. package/vendor/7zip/CPP/Common/Sha3Reg.cpp +76 -0
  1193. package/vendor/7zip/CPP/Common/Sha512Prepare.cpp +7 -0
  1194. package/vendor/7zip/CPP/Common/Sha512Reg.cpp +83 -0
  1195. package/vendor/7zip/CPP/Common/StdAfx.h +8 -0
  1196. package/vendor/7zip/CPP/Common/StdInStream.cpp +98 -0
  1197. package/vendor/7zip/CPP/Common/StdInStream.h +46 -0
  1198. package/vendor/7zip/CPP/Common/StdOutStream.cpp +271 -0
  1199. package/vendor/7zip/CPP/Common/StdOutStream.h +87 -0
  1200. package/vendor/7zip/CPP/Common/StringConvert.cpp +762 -0
  1201. package/vendor/7zip/CPP/Common/StringConvert.h +110 -0
  1202. package/vendor/7zip/CPP/Common/StringToInt.cpp +154 -0
  1203. package/vendor/7zip/CPP/Common/StringToInt.h +38 -0
  1204. package/vendor/7zip/CPP/Common/TextConfig.cpp +123 -0
  1205. package/vendor/7zip/CPP/Common/TextConfig.h +19 -0
  1206. package/vendor/7zip/CPP/Common/UTFConvert.cpp +863 -0
  1207. package/vendor/7zip/CPP/Common/UTFConvert.h +384 -0
  1208. package/vendor/7zip/CPP/Common/Wildcard.cpp +789 -0
  1209. package/vendor/7zip/CPP/Common/Wildcard.h +231 -0
  1210. package/vendor/7zip/CPP/Common/Xxh64Reg.cpp +97 -0
  1211. package/vendor/7zip/CPP/Common/XzCrc64Init.cpp +7 -0
  1212. package/vendor/7zip/CPP/Common/XzCrc64Reg.cpp +39 -0
  1213. package/vendor/7zip/CPP/Windows/COM.cpp +41 -0
  1214. package/vendor/7zip/CPP/Windows/COM.h +86 -0
  1215. package/vendor/7zip/CPP/Windows/Clipboard.cpp +130 -0
  1216. package/vendor/7zip/CPP/Windows/Clipboard.h +28 -0
  1217. package/vendor/7zip/CPP/Windows/CommonDialog.cpp +269 -0
  1218. package/vendor/7zip/CPP/Windows/CommonDialog.h +43 -0
  1219. package/vendor/7zip/CPP/Windows/Console.cpp +10 -0
  1220. package/vendor/7zip/CPP/Windows/Console.h +52 -0
  1221. package/vendor/7zip/CPP/Windows/Control/ComboBox.cpp +75 -0
  1222. package/vendor/7zip/CPP/Windows/Control/ComboBox.h +79 -0
  1223. package/vendor/7zip/CPP/Windows/Control/CommandBar.h +52 -0
  1224. package/vendor/7zip/CPP/Windows/Control/Dialog.cpp +446 -0
  1225. package/vendor/7zip/CPP/Windows/Control/Dialog.h +213 -0
  1226. package/vendor/7zip/CPP/Windows/Control/Edit.h +19 -0
  1227. package/vendor/7zip/CPP/Windows/Control/ImageList.cpp +10 -0
  1228. package/vendor/7zip/CPP/Windows/Control/ImageList.h +87 -0
  1229. package/vendor/7zip/CPP/Windows/Control/ListView.cpp +162 -0
  1230. package/vendor/7zip/CPP/Windows/Control/ListView.h +156 -0
  1231. package/vendor/7zip/CPP/Windows/Control/ProgressBar.h +35 -0
  1232. package/vendor/7zip/CPP/Windows/Control/PropertyPage.cpp +165 -0
  1233. package/vendor/7zip/CPP/Windows/Control/PropertyPage.h +50 -0
  1234. package/vendor/7zip/CPP/Windows/Control/ReBar.h +34 -0
  1235. package/vendor/7zip/CPP/Windows/Control/Static.h +28 -0
  1236. package/vendor/7zip/CPP/Windows/Control/StatusBar.h +42 -0
  1237. package/vendor/7zip/CPP/Windows/Control/StdAfx.h +11 -0
  1238. package/vendor/7zip/CPP/Windows/Control/ToolBar.h +43 -0
  1239. package/vendor/7zip/CPP/Windows/Control/Trackbar.h +27 -0
  1240. package/vendor/7zip/CPP/Windows/Control/Window2.cpp +202 -0
  1241. package/vendor/7zip/CPP/Windows/Control/Window2.h +53 -0
  1242. package/vendor/7zip/CPP/Windows/DLL.cpp +178 -0
  1243. package/vendor/7zip/CPP/Windows/DLL.h +103 -0
  1244. package/vendor/7zip/CPP/Windows/ErrorMsg.cpp +133 -0
  1245. package/vendor/7zip/CPP/Windows/ErrorMsg.h +16 -0
  1246. package/vendor/7zip/CPP/Windows/FileDir.cpp +1388 -0
  1247. package/vendor/7zip/CPP/Windows/FileDir.h +173 -0
  1248. package/vendor/7zip/CPP/Windows/FileFind.cpp +1458 -0
  1249. package/vendor/7zip/CPP/Windows/FileFind.h +345 -0
  1250. package/vendor/7zip/CPP/Windows/FileIO.cpp +1188 -0
  1251. package/vendor/7zip/CPP/Windows/FileIO.h +508 -0
  1252. package/vendor/7zip/CPP/Windows/FileLink.cpp +697 -0
  1253. package/vendor/7zip/CPP/Windows/FileMapping.cpp +12 -0
  1254. package/vendor/7zip/CPP/Windows/FileMapping.h +66 -0
  1255. package/vendor/7zip/CPP/Windows/FileName.cpp +911 -0
  1256. package/vendor/7zip/CPP/Windows/FileName.h +142 -0
  1257. package/vendor/7zip/CPP/Windows/FileSystem.cpp +187 -0
  1258. package/vendor/7zip/CPP/Windows/FileSystem.h +31 -0
  1259. package/vendor/7zip/CPP/Windows/Handle.h +39 -0
  1260. package/vendor/7zip/CPP/Windows/MemoryGlobal.cpp +36 -0
  1261. package/vendor/7zip/CPP/Windows/MemoryGlobal.h +55 -0
  1262. package/vendor/7zip/CPP/Windows/MemoryLock.cpp +127 -0
  1263. package/vendor/7zip/CPP/Windows/MemoryLock.h +40 -0
  1264. package/vendor/7zip/CPP/Windows/Menu.cpp +265 -0
  1265. package/vendor/7zip/CPP/Windows/Menu.h +170 -0
  1266. package/vendor/7zip/CPP/Windows/NationalTime.cpp +37 -0
  1267. package/vendor/7zip/CPP/Windows/NationalTime.h +20 -0
  1268. package/vendor/7zip/CPP/Windows/Net.cpp +398 -0
  1269. package/vendor/7zip/CPP/Windows/Net.h +87 -0
  1270. package/vendor/7zip/CPP/Windows/NtCheck.h +58 -0
  1271. package/vendor/7zip/CPP/Windows/ProcessMessages.cpp +22 -0
  1272. package/vendor/7zip/CPP/Windows/ProcessMessages.h +12 -0
  1273. package/vendor/7zip/CPP/Windows/ProcessUtils.cpp +102 -0
  1274. package/vendor/7zip/CPP/Windows/ProcessUtils.h +138 -0
  1275. package/vendor/7zip/CPP/Windows/PropVariant.cpp +393 -0
  1276. package/vendor/7zip/CPP/Windows/PropVariant.h +173 -0
  1277. package/vendor/7zip/CPP/Windows/PropVariantConv.cpp +274 -0
  1278. package/vendor/7zip/CPP/Windows/PropVariantConv.h +47 -0
  1279. package/vendor/7zip/CPP/Windows/PropVariantUtils.cpp +161 -0
  1280. package/vendor/7zip/CPP/Windows/PropVariantUtils.h +34 -0
  1281. package/vendor/7zip/CPP/Windows/Registry.cpp +474 -0
  1282. package/vendor/7zip/CPP/Windows/Registry.h +96 -0
  1283. package/vendor/7zip/CPP/Windows/ResourceString.cpp +103 -0
  1284. package/vendor/7zip/CPP/Windows/ResourceString.h +17 -0
  1285. package/vendor/7zip/CPP/Windows/SecurityUtils.cpp +186 -0
  1286. package/vendor/7zip/CPP/Windows/SecurityUtils.h +154 -0
  1287. package/vendor/7zip/CPP/Windows/Shell.cpp +839 -0
  1288. package/vendor/7zip/CPP/Windows/Shell.h +129 -0
  1289. package/vendor/7zip/CPP/Windows/StdAfx.h +11 -0
  1290. package/vendor/7zip/CPP/Windows/Synchronization.cpp +87 -0
  1291. package/vendor/7zip/CPP/Windows/Synchronization.h +386 -0
  1292. package/vendor/7zip/CPP/Windows/System.cpp +423 -0
  1293. package/vendor/7zip/CPP/Windows/System.h +209 -0
  1294. package/vendor/7zip/CPP/Windows/SystemInfo.cpp +1312 -0
  1295. package/vendor/7zip/CPP/Windows/SystemInfo.h +19 -0
  1296. package/vendor/7zip/CPP/Windows/Thread.h +46 -0
  1297. package/vendor/7zip/CPP/Windows/TimeUtils.cpp +467 -0
  1298. package/vendor/7zip/CPP/Windows/TimeUtils.h +154 -0
  1299. package/vendor/7zip/CPP/Windows/WinDefs.h +17 -0
  1300. package/vendor/7zip/CPP/Windows/Window.cpp +179 -0
  1301. package/vendor/7zip/CPP/Windows/Window.h +363 -0
  1302. package/vendor/7zip/DOC/7zC.txt +187 -0
  1303. package/vendor/7zip/DOC/7zFormat.txt +469 -0
  1304. package/vendor/7zip/DOC/7zip.hhp +84 -0
  1305. package/vendor/7zip/DOC/7zip.wxs +403 -0
  1306. package/vendor/7zip/DOC/License.txt +151 -0
  1307. package/vendor/7zip/DOC/Methods.txt +177 -0
  1308. package/vendor/7zip/DOC/copying.txt +502 -0
  1309. package/vendor/7zip/DOC/lzma.txt +345 -0
  1310. package/vendor/7zip/DOC/readme.txt +299 -0
  1311. package/vendor/7zip/DOC/src-history.txt +884 -0
  1312. package/vendor/7zip/DOC/unRarLicense.txt +41 -0
  1313. package/vendor/7zip/README.md +2 -0
@@ -0,0 +1,1913 @@
1
+ // ArchiveCommandLine.cpp
2
+
3
+ #include "StdAfx.h"
4
+ #undef printf
5
+ #undef sprintf
6
+
7
+ #ifdef _WIN32
8
+ #ifndef UNDER_CE
9
+ #include <io.h>
10
+ #endif
11
+ #else
12
+ // for isatty()
13
+ #include <unistd.h>
14
+ #endif
15
+
16
+ #include <stdio.h>
17
+
18
+ #ifdef Z7_LARGE_PAGES
19
+ #include "../../../../C/Alloc.h"
20
+ #endif
21
+
22
+ #include "../../../Common/IntToString.h"
23
+ #include "../../../Common/ListFileUtils.h"
24
+ #include "../../../Common/MyException.h"
25
+ #include "../../../Common/StringConvert.h"
26
+ #include "../../../Common/StringToInt.h"
27
+
28
+ #include "../../../Windows/ErrorMsg.h"
29
+ #include "../../../Windows/FileDir.h"
30
+ #include "../../../Windows/FileName.h"
31
+ #include "../../../Windows/PropVariantConv.h"
32
+ #include "../../../Windows/System.h"
33
+ #ifdef _WIN32
34
+ #include "../../../Windows/FileMapping.h"
35
+ #include "../../../Windows/MemoryLock.h"
36
+ #include "../../../Windows/Synchronization.h"
37
+ #endif
38
+
39
+ #include "ArchiveCommandLine.h"
40
+ #include "EnumDirItems.h"
41
+ #include "Update.h"
42
+ #include "UpdateAction.h"
43
+
44
+ extern bool g_CaseSensitive;
45
+ extern bool g_PathTrailReplaceMode;
46
+
47
+ #ifdef Z7_LARGE_PAGES
48
+ extern
49
+ bool g_LargePagesMode;
50
+ bool g_LargePagesMode = false;
51
+ #endif
52
+
53
+ /*
54
+ #ifdef ENV_HAVE_LSTAT
55
+ EXTERN_C_BEGIN
56
+ extern int global_use_lstat;
57
+ EXTERN_C_END
58
+ #endif
59
+ */
60
+
61
+ #ifdef UNDER_CE
62
+
63
+ #define MY_IS_TERMINAL(x) false;
64
+
65
+ #else
66
+
67
+ static bool MY_IS_TERMINAL(FILE *x)
68
+ {
69
+ #ifdef _WIN32
70
+ /*
71
+ crt/stdio.h:
72
+ typedef struct _iobuf FILE;
73
+ #define stdin (&_iob[0])
74
+ #define stdout (&_iob[1])
75
+ #define stderr (&_iob[2])
76
+ */
77
+ // fprintf(stderr, "\nMY_IS_TERMINAL = %p", x);
78
+ const int fd = _fileno(x);
79
+ /* (fd) is 0, 1 or 2 in console program.
80
+ docs: If stdout or stderr is not associated with
81
+ an output stream (for example, in a Windows application
82
+ without a console window), the file descriptor returned is -2.
83
+ In previous versions, the file descriptor returned was -1.
84
+ */
85
+ if (fd < 0) // is not associated with an output stream application (without a console window)
86
+ return false;
87
+ // fprintf(stderr, "\n\nstderr _fileno(%p) = %d", x, fd);
88
+ if (!_isatty(fd))
89
+ return false;
90
+ // fprintf(stderr, "\nisatty_val = true");
91
+ const HANDLE h = (HANDLE)_get_osfhandle(fd);
92
+ /* _get_osfhandle() returns intptr_t in new SDK, or long in MSVC6.
93
+ Also it can return (INVALID_HANDLE_VALUE).
94
+ docs: _get_osfhandle also returns the special value -2 when
95
+ the file descriptor is not associated with a stream
96
+ in old msvcrt.dll: it returns (-1) for incorrect value
97
+ */
98
+ // fprintf(stderr, "\n_get_osfhandle() = %p", (void *)h);
99
+ if (h == NULL || h == INVALID_HANDLE_VALUE)
100
+ return false;
101
+ DWORD st;
102
+ // fprintf(stderr, "\nGetConsoleMode() = %u", (unsigned)GetConsoleMode(h, &st));
103
+ return GetConsoleMode(h, &st) != 0;
104
+ #else
105
+ return isatty(fileno(x)) != 0;
106
+ #endif
107
+ }
108
+
109
+ #endif
110
+
111
+ using namespace NCommandLineParser;
112
+ using namespace NWindows;
113
+ using namespace NFile;
114
+
115
+ static bool StringToUInt32(const wchar_t *s, UInt32 &v)
116
+ {
117
+ if (*s == 0)
118
+ return false;
119
+ const wchar_t *end;
120
+ v = ConvertStringToUInt32(s, &end);
121
+ return *end == 0;
122
+ }
123
+
124
+
125
+ namespace NKey {
126
+ enum Enum
127
+ {
128
+ kHelp1 = 0,
129
+ kHelp2,
130
+ kHelp3,
131
+
132
+ kDisableHeaders,
133
+ kDisablePercents,
134
+ kShowTime,
135
+ kLogLevel,
136
+
137
+ kOutStream,
138
+ kErrStream,
139
+ kPercentStream,
140
+
141
+ kYes,
142
+
143
+ kShowDialog,
144
+ kOverwrite,
145
+
146
+ kArchiveType,
147
+ kExcludedArcType,
148
+
149
+ kProperty,
150
+ kOutputDir,
151
+ kWorkingDir,
152
+
153
+ kInclude,
154
+ kExclude,
155
+ kArInclude,
156
+ kArExclude,
157
+ kNoArName,
158
+
159
+ kUpdate,
160
+ kVolume,
161
+ kRecursed,
162
+
163
+ kAffinity,
164
+ kSfx,
165
+ kEmail,
166
+ kHash,
167
+ // kHashGenFile,
168
+ kHashDir,
169
+ kExtractMemLimit,
170
+
171
+ kStdIn,
172
+ kStdOut,
173
+
174
+ kLargePages,
175
+ kListfileCharSet,
176
+ kConsoleCharSet,
177
+ kTechMode,
178
+ kListFields,
179
+ kListPathSlash,
180
+ kListTimestampUTC,
181
+
182
+ kPreserveATime,
183
+ kShareForWrite,
184
+ kStopAfterOpenError,
185
+ kCaseSensitive,
186
+ kArcNameMode,
187
+
188
+ kUseSlashMark,
189
+ kDisableWildcardParsing,
190
+ kElimDup,
191
+ kFullPathMode,
192
+ kOutDirMode,
193
+
194
+ kHardLinks,
195
+ kSymLinks_AllowDangerous,
196
+ kSymLinks,
197
+ kNtSecurity,
198
+
199
+ kStoreOwnerId,
200
+ kStoreOwnerName,
201
+
202
+ kZoneFile,
203
+ kAltStreams,
204
+ kReplaceColonForAltStream,
205
+ kWriteToAltStreamIfColon,
206
+
207
+ kNameTrailReplace,
208
+
209
+ kDeleteAfterCompressing,
210
+ kSetArcMTime
211
+
212
+ #ifndef Z7_NO_CRYPTO
213
+ , kPassword
214
+ #endif
215
+ };
216
+
217
+ }
218
+
219
+
220
+ static const wchar_t kRecursedIDChar = 'r';
221
+ static const char * const kRecursedPostCharSet = "0-";
222
+
223
+ static const char * const k_ArcNameMode_PostCharSet = "sea";
224
+
225
+ static const char * const k_Stream_PostCharSet = "012";
226
+
227
+ static inline EArcNameMode ParseArcNameMode(int postCharIndex)
228
+ {
229
+ switch (postCharIndex)
230
+ {
231
+ case 1: return k_ArcNameMode_Exact;
232
+ case 2: return k_ArcNameMode_Add;
233
+ default: return k_ArcNameMode_Smart;
234
+ }
235
+ }
236
+
237
+ namespace NRecursedPostCharIndex {
238
+ enum EEnum
239
+ {
240
+ kWildcardRecursionOnly = 0,
241
+ kNoRecursion = 1
242
+ };
243
+ }
244
+
245
+ // static const char
246
+ #define kImmediateNameID '!'
247
+ #ifdef _WIN32
248
+ #define kMapNameID '#'
249
+ #endif
250
+ #define kFileListID '@'
251
+
252
+ static const Byte kSomeCludePostStringMinSize = 2; // at least <@|!><N>ame must be
253
+ static const Byte kSomeCludeAfterRecursedPostStringMinSize = 2; // at least <@|!><N>ame must be
254
+
255
+ static const char * const kOverwritePostCharSet = "asut";
256
+
257
+ static const NExtract::NOverwriteMode::EEnum k_OverwriteModes[] =
258
+ {
259
+ NExtract::NOverwriteMode::kOverwrite,
260
+ NExtract::NOverwriteMode::kSkip,
261
+ NExtract::NOverwriteMode::kRename,
262
+ NExtract::NOverwriteMode::kRenameExisting
263
+ };
264
+
265
+
266
+
267
+ #define SWFRM_3(t, mu, mi) t, mu, mi, NULL
268
+
269
+ #define SWFRM_1(t) SWFRM_3(t, false, 0)
270
+ #define SWFRM_SIMPLE SWFRM_1(NSwitchType::kSimple)
271
+ #define SWFRM_MINUS SWFRM_1(NSwitchType::kMinus)
272
+ #define SWFRM_STRING SWFRM_1(NSwitchType::kString)
273
+
274
+ #define SWFRM_STRING_SINGL(mi) SWFRM_3(NSwitchType::kString, false, mi)
275
+ #define SWFRM_STRING_MULT(mi) SWFRM_3(NSwitchType::kString, true, mi)
276
+
277
+
278
+ static const CSwitchForm kSwitchForms[] =
279
+ {
280
+ { "?", SWFRM_SIMPLE },
281
+ { "h", SWFRM_SIMPLE },
282
+ { "-help", SWFRM_SIMPLE },
283
+
284
+ { "ba", SWFRM_SIMPLE },
285
+ { "bd", SWFRM_SIMPLE },
286
+ { "bt", SWFRM_SIMPLE },
287
+ { "bb", SWFRM_STRING_SINGL(0) },
288
+
289
+ { "bso", NSwitchType::kChar, false, 1, k_Stream_PostCharSet },
290
+ { "bse", NSwitchType::kChar, false, 1, k_Stream_PostCharSet },
291
+ { "bsp", NSwitchType::kChar, false, 1, k_Stream_PostCharSet },
292
+
293
+ { "y", SWFRM_SIMPLE },
294
+
295
+ { "ad", SWFRM_SIMPLE },
296
+ { "ao", NSwitchType::kChar, false, 1, kOverwritePostCharSet},
297
+
298
+ { "t", SWFRM_STRING_SINGL(1) },
299
+ { "stx", SWFRM_STRING_MULT(1) },
300
+
301
+ { "m", SWFRM_STRING_MULT(1) },
302
+ { "o", SWFRM_STRING_SINGL(1) },
303
+ { "w", SWFRM_STRING },
304
+
305
+ { "i", SWFRM_STRING_MULT(kSomeCludePostStringMinSize) },
306
+ { "x", SWFRM_STRING_MULT(kSomeCludePostStringMinSize) },
307
+ { "ai", SWFRM_STRING_MULT(kSomeCludePostStringMinSize) },
308
+ { "ax", SWFRM_STRING_MULT(kSomeCludePostStringMinSize) },
309
+ { "an", SWFRM_SIMPLE },
310
+
311
+ { "u", SWFRM_STRING_MULT(1) },
312
+ { "v", SWFRM_STRING_MULT(1) },
313
+ { "r", NSwitchType::kChar, false, 0, kRecursedPostCharSet },
314
+
315
+ { "stm", SWFRM_STRING },
316
+ { "sfx", SWFRM_STRING },
317
+ { "seml", SWFRM_STRING_SINGL(0) },
318
+ { "scrc", SWFRM_STRING_MULT(0) },
319
+ // { "scrf", SWFRM_STRING_SINGL(1) },
320
+ { "shd", SWFRM_STRING_SINGL(1) },
321
+ { "smemx", SWFRM_STRING },
322
+
323
+ { "si", SWFRM_STRING },
324
+ { "so", SWFRM_SIMPLE },
325
+
326
+ { "slp", SWFRM_STRING },
327
+ { "scs", SWFRM_STRING },
328
+ { "scc", SWFRM_STRING },
329
+ { "slt", SWFRM_SIMPLE },
330
+ { "slf", SWFRM_STRING_SINGL(1) },
331
+ { "slsl", SWFRM_MINUS },
332
+ { "slmu", SWFRM_MINUS },
333
+
334
+ { "ssp", SWFRM_SIMPLE },
335
+ { "ssw", SWFRM_SIMPLE },
336
+ { "sse", SWFRM_SIMPLE },
337
+ { "ssc", SWFRM_MINUS },
338
+ { "sa", NSwitchType::kChar, false, 1, k_ArcNameMode_PostCharSet },
339
+
340
+ { "spm", SWFRM_STRING_SINGL(0) },
341
+ { "spd", SWFRM_SIMPLE },
342
+ { "spe", SWFRM_MINUS },
343
+ { "spf", SWFRM_STRING_SINGL(0) },
344
+ { "spo", NSwitchType::kChar, false, 1, "dcr" }, // kOutDirMode
345
+
346
+ { "snh", SWFRM_MINUS },
347
+ { "snld", SWFRM_STRING },
348
+ { "snl", SWFRM_MINUS },
349
+ { "sni", SWFRM_SIMPLE },
350
+
351
+ { "snoi", SWFRM_MINUS },
352
+ { "snon", SWFRM_MINUS },
353
+
354
+ { "snz", SWFRM_STRING_SINGL(0) },
355
+ { "sns", SWFRM_MINUS },
356
+ { "snr", SWFRM_SIMPLE },
357
+ { "snc", SWFRM_SIMPLE },
358
+
359
+ { "snt", SWFRM_MINUS },
360
+
361
+ { "sdel", SWFRM_SIMPLE },
362
+ { "stl", SWFRM_SIMPLE }
363
+
364
+ #ifndef Z7_NO_CRYPTO
365
+ , { "p", SWFRM_STRING }
366
+ #endif
367
+ };
368
+
369
+ static const char * const kUniversalWildcard = "*";
370
+ static const unsigned kMinNonSwitchWords = 1;
371
+ static const unsigned kCommandIndex = 0;
372
+
373
+ // static const char * const kUserErrorMessage = "Incorrect command line";
374
+ // static const char * const kCannotFindListFile = "Cannot find listfile";
375
+ static const char * const kIncorrectListFile = "Incorrect item in listfile.\nCheck charset encoding and -scs switch.";
376
+ static const char * const kTerminalOutError = "I won't write compressed data to a terminal";
377
+ static const char * const kSameTerminalError = "I won't write data and program's messages to same stream";
378
+ static const char * const kEmptyFilePath = "Empty file path";
379
+
380
+ bool CArcCommand::IsFromExtractGroup() const
381
+ {
382
+ switch ((int)CommandType)
383
+ {
384
+ case NCommandType::kTest:
385
+ case NCommandType::kExtract:
386
+ case NCommandType::kExtractFull:
387
+ return true;
388
+ default:
389
+ return false;
390
+ }
391
+ }
392
+
393
+ NExtract::NPathMode::EEnum CArcCommand::GetPathMode() const
394
+ {
395
+ switch ((int)CommandType)
396
+ {
397
+ case NCommandType::kTest:
398
+ case NCommandType::kExtractFull:
399
+ return NExtract::NPathMode::kFullPaths;
400
+ default:
401
+ return NExtract::NPathMode::kNoPaths;
402
+ }
403
+ }
404
+
405
+ bool CArcCommand::IsFromUpdateGroup() const
406
+ {
407
+ switch ((int)CommandType)
408
+ {
409
+ case NCommandType::kAdd:
410
+ case NCommandType::kUpdate:
411
+ case NCommandType::kDelete:
412
+ case NCommandType::kRename:
413
+ return true;
414
+ default:
415
+ return false;
416
+ }
417
+ }
418
+
419
+ static NRecursedType::EEnum GetRecursedTypeFromIndex(int index)
420
+ {
421
+ switch (index)
422
+ {
423
+ case NRecursedPostCharIndex::kWildcardRecursionOnly:
424
+ return NRecursedType::kWildcardOnlyRecursed;
425
+ case NRecursedPostCharIndex::kNoRecursion:
426
+ return NRecursedType::kNonRecursed;
427
+ default:
428
+ return NRecursedType::kRecursed;
429
+ }
430
+ }
431
+
432
+ static const char * const g_Commands = "audtexlbih";
433
+
434
+ static bool ParseArchiveCommand(const UString &commandString, CArcCommand &command)
435
+ {
436
+ UString s (commandString);
437
+ s.MakeLower_Ascii();
438
+ if (s.Len() == 1)
439
+ {
440
+ if (s[0] > 0x7F)
441
+ return false;
442
+ int index = FindCharPosInString(g_Commands, (char)s[0]);
443
+ if (index < 0)
444
+ return false;
445
+ command.CommandType = (NCommandType::EEnum)index;
446
+ return true;
447
+ }
448
+ if (s.Len() == 2 && s[0] == 'r' && s[1] == 'n')
449
+ {
450
+ command.CommandType = (NCommandType::kRename);
451
+ return true;
452
+ }
453
+ return false;
454
+ }
455
+
456
+ // ------------------------------------------------------------------
457
+ // filenames functions
458
+
459
+ struct CNameOption
460
+ {
461
+ bool Include;
462
+ bool WildcardMatching;
463
+ Byte MarkMode;
464
+ NRecursedType::EEnum RecursedType;
465
+
466
+ CNameOption():
467
+ Include(true),
468
+ WildcardMatching(true),
469
+ MarkMode(NWildcard::kMark_FileOrDir),
470
+ RecursedType(NRecursedType::kNonRecursed)
471
+ {}
472
+ };
473
+
474
+
475
+ static void AddNameToCensor(NWildcard::CCensor &censor,
476
+ const CNameOption &nop, const UString &name)
477
+ {
478
+ bool recursed = false;
479
+
480
+ switch ((int)nop.RecursedType)
481
+ {
482
+ case NRecursedType::kWildcardOnlyRecursed:
483
+ recursed = DoesNameContainWildcard(name);
484
+ break;
485
+ case NRecursedType::kRecursed:
486
+ recursed = true;
487
+ break;
488
+ default:
489
+ break;
490
+ }
491
+
492
+ NWildcard::CCensorPathProps props;
493
+ props.Recursive = recursed;
494
+ props.WildcardMatching = nop.WildcardMatching;
495
+ props.MarkMode = nop.MarkMode;
496
+ censor.AddPreItem(nop.Include, name, props);
497
+ }
498
+
499
+ #ifndef Z7_EXTRACT_ONLY
500
+ static void AddRenamePair(CObjectVector<CRenamePair> *renamePairs,
501
+ const UString &oldName, const UString &newName, NRecursedType::EEnum type,
502
+ bool wildcardMatching)
503
+ {
504
+ CRenamePair &pair = renamePairs->AddNew();
505
+ pair.OldName = oldName;
506
+ pair.NewName = newName;
507
+ pair.RecursedType = type;
508
+ pair.WildcardParsing = wildcardMatching;
509
+
510
+ if (!pair.Prepare())
511
+ {
512
+ UString val;
513
+ val += pair.OldName;
514
+ val.Add_LF();
515
+ val += pair.NewName;
516
+ val.Add_LF();
517
+ if (type == NRecursedType::kRecursed)
518
+ val += "-r";
519
+ else if (type == NRecursedType::kWildcardOnlyRecursed)
520
+ val += "-r0";
521
+ throw CArcCmdLineException("Unsupported rename command:", val);
522
+ }
523
+ }
524
+ #endif
525
+
526
+ static void AddToCensorFromListFile(
527
+ CObjectVector<CRenamePair> *renamePairs,
528
+ NWildcard::CCensor &censor,
529
+ const CNameOption &nop, LPCWSTR fileName, UInt32 codePage)
530
+ {
531
+ UStringVector names;
532
+ /*
533
+ if (!NFind::DoesFileExist_FollowLink(us2fs(fileName)))
534
+ throw CArcCmdLineException(kCannotFindListFile, fileName);
535
+ */
536
+ DWORD lastError = 0;
537
+ if (!ReadNamesFromListFile2(us2fs(fileName), names, codePage, lastError))
538
+ {
539
+ if (lastError != 0)
540
+ {
541
+ UString m;
542
+ m = "The file operation error for listfile";
543
+ m.Add_LF();
544
+ m += NError::MyFormatMessage(lastError);
545
+ throw CArcCmdLineException(m, fileName);
546
+ }
547
+ throw CArcCmdLineException(kIncorrectListFile, fileName);
548
+ }
549
+ if (renamePairs)
550
+ {
551
+ #ifndef Z7_EXTRACT_ONLY
552
+ if ((names.Size() & 1) != 0)
553
+ throw CArcCmdLineException(kIncorrectListFile, fileName);
554
+ for (unsigned i = 0; i < names.Size(); i += 2)
555
+ {
556
+ // change type !!!!
557
+ AddRenamePair(renamePairs, names[i], names[i + 1], nop.RecursedType, nop.WildcardMatching);
558
+ }
559
+ #else
560
+ throw "not implemented";
561
+ #endif
562
+ }
563
+ else
564
+ FOR_VECTOR (i, names)
565
+ AddNameToCensor(censor, nop, names[i]);
566
+ }
567
+
568
+ static void AddToCensorFromNonSwitchesStrings(
569
+ CObjectVector<CRenamePair> *renamePairs,
570
+ unsigned startIndex,
571
+ NWildcard::CCensor &censor,
572
+ const UStringVector &nonSwitchStrings,
573
+ int stopSwitchIndex,
574
+ const CNameOption &nop,
575
+ bool thereAreSwitchIncludes, UInt32 codePage)
576
+ {
577
+ // another default
578
+ if ((renamePairs || nonSwitchStrings.Size() == startIndex) && !thereAreSwitchIncludes)
579
+ {
580
+ /* for rename command: -i switch sets the mask for archive item reading.
581
+ if (thereAreSwitchIncludes), { we don't use UniversalWildcard. }
582
+ also for non-rename command: we set UniversalWildcard, only if there are no nonSwitches. */
583
+ // we use default fileds in (CNameOption) for UniversalWildcard.
584
+ CNameOption nop2;
585
+ // recursive mode is not important for UniversalWildcard (*)
586
+ // nop2.RecursedType = nop.RecursedType; // we don't need it
587
+ /*
588
+ nop2.RecursedType = NRecursedType::kNonRecursed;
589
+ nop2.Include = true;
590
+ nop2.WildcardMatching = true;
591
+ nop2.MarkMode = NWildcard::kMark_FileOrDir;
592
+ */
593
+ AddNameToCensor(censor, nop2, UString(kUniversalWildcard));
594
+ }
595
+
596
+ int oldIndex = -1;
597
+
598
+ if (stopSwitchIndex < 0)
599
+ stopSwitchIndex = (int)nonSwitchStrings.Size();
600
+
601
+ for (unsigned i = startIndex; i < nonSwitchStrings.Size(); i++)
602
+ {
603
+ const UString &s = nonSwitchStrings[i];
604
+ if (s.IsEmpty())
605
+ throw CArcCmdLineException(kEmptyFilePath);
606
+ if (i < (unsigned)stopSwitchIndex && s[0] == kFileListID)
607
+ AddToCensorFromListFile(renamePairs, censor, nop, s.Ptr(1), codePage);
608
+ else if (renamePairs)
609
+ {
610
+ #ifndef Z7_EXTRACT_ONLY
611
+ if (oldIndex == -1)
612
+ oldIndex = (int)i;
613
+ else
614
+ {
615
+ // NRecursedType::EEnum type is used for global wildcard (-i! switches)
616
+ AddRenamePair(renamePairs, nonSwitchStrings[(unsigned)oldIndex], s, NRecursedType::kNonRecursed, nop.WildcardMatching);
617
+ // AddRenamePair(renamePairs, nonSwitchStrings[oldIndex], s, type);
618
+ oldIndex = -1;
619
+ }
620
+ #else
621
+ throw "not implemented";
622
+ #endif
623
+ }
624
+ else
625
+ AddNameToCensor(censor, nop, s);
626
+ }
627
+
628
+ if (oldIndex != -1)
629
+ {
630
+ throw CArcCmdLineException("There is no second file name for rename pair:", nonSwitchStrings[(unsigned)oldIndex]);
631
+ }
632
+ }
633
+
634
+ #ifdef _WIN32
635
+
636
+ struct CEventSetEnd
637
+ {
638
+ UString Name;
639
+
640
+ CEventSetEnd(const wchar_t *name): Name(name) {}
641
+ ~CEventSetEnd()
642
+ {
643
+ NSynchronization::CManualResetEvent event;
644
+ if (event.Open(EVENT_MODIFY_STATE, false, GetSystemString(Name)) == 0)
645
+ event.Set();
646
+ }
647
+ };
648
+
649
+ static const char * const k_IncorrectMapCommand = "Incorrect Map command";
650
+
651
+ static const char *ParseMapWithPaths(
652
+ NWildcard::CCensor &censor,
653
+ const UString &s2,
654
+ const CNameOption &nop)
655
+ {
656
+ UString s (s2);
657
+ const int pos = s.Find(L':');
658
+ if (pos < 0)
659
+ return k_IncorrectMapCommand;
660
+ const int pos2 = s.Find(L':', (unsigned)(pos + 1));
661
+ if (pos2 < 0)
662
+ return k_IncorrectMapCommand;
663
+
664
+ CEventSetEnd eventSetEnd((const wchar_t *)s + (unsigned)(pos2 + 1));
665
+ s.DeleteFrom((unsigned)pos2);
666
+ UInt32 size;
667
+ if (!StringToUInt32(s.Ptr((unsigned)(pos + 1)), size)
668
+ || size < sizeof(wchar_t)
669
+ || size > ((UInt32)1 << 31)
670
+ || size % sizeof(wchar_t) != 0)
671
+ return "Unsupported Map data size";
672
+
673
+ s.DeleteFrom((unsigned)pos);
674
+ CFileMapping map;
675
+ if (map.Open(FILE_MAP_READ, GetSystemString(s)) != 0)
676
+ return "Cannot open mapping";
677
+ const LPVOID data = map.Map(FILE_MAP_READ, 0, size);
678
+ if (!data)
679
+ return "MapViewOfFile error";
680
+ CFileUnmapper unmapper(data);
681
+
682
+ UString name;
683
+ const wchar_t *p = (const wchar_t *)data;
684
+ if (*p != 0) // data format marker
685
+ return "Unsupported Map data";
686
+ const UInt32 numChars = size / sizeof(wchar_t);
687
+ for (UInt32 i = 1; i < numChars; i++)
688
+ {
689
+ const wchar_t c = p[i];
690
+ if (c == 0)
691
+ {
692
+ // MessageBoxW(0, name, L"7-Zip", 0);
693
+ AddNameToCensor(censor, nop, name);
694
+ name.Empty();
695
+ }
696
+ else
697
+ name += c;
698
+ }
699
+ if (!name.IsEmpty())
700
+ return "Map data error";
701
+
702
+ return NULL;
703
+ }
704
+
705
+ #endif
706
+
707
+ static void AddSwitchWildcardsToCensor(
708
+ NWildcard::CCensor &censor,
709
+ const UStringVector &strings,
710
+ const CNameOption &nop,
711
+ UInt32 codePage)
712
+ {
713
+ const char *errorMessage = NULL;
714
+ unsigned i;
715
+ for (i = 0; i < strings.Size(); i++)
716
+ {
717
+ const UString &name = strings[i];
718
+ unsigned pos = 0;
719
+
720
+ if (name.Len() < kSomeCludePostStringMinSize)
721
+ {
722
+ errorMessage = "Too short switch";
723
+ break;
724
+ }
725
+
726
+ if (!nop.Include)
727
+ {
728
+ if (name.IsEqualTo_Ascii_NoCase("td"))
729
+ {
730
+ censor.ExcludeDirItems = true;
731
+ continue;
732
+ }
733
+ if (name.IsEqualTo_Ascii_NoCase("tf"))
734
+ {
735
+ censor.ExcludeFileItems = true;
736
+ continue;
737
+ }
738
+ }
739
+
740
+ CNameOption nop2 = nop;
741
+
742
+ bool type_WasUsed = false;
743
+ bool recursed_WasUsed = false;
744
+ bool matching_WasUsed = false;
745
+ bool error = false;
746
+
747
+ for (;;)
748
+ {
749
+ wchar_t c = ::MyCharLower_Ascii(name[pos]);
750
+ if (c == kRecursedIDChar)
751
+ {
752
+ if (recursed_WasUsed)
753
+ {
754
+ error = true;
755
+ break;
756
+ }
757
+ recursed_WasUsed = true;
758
+ pos++;
759
+ c = name[pos];
760
+ int index = -1;
761
+ if (c <= 0x7F)
762
+ index = FindCharPosInString(kRecursedPostCharSet, (char)c);
763
+ nop2.RecursedType = GetRecursedTypeFromIndex(index);
764
+ if (index >= 0)
765
+ {
766
+ pos++;
767
+ continue;
768
+ }
769
+ }
770
+
771
+ if (c == 'w')
772
+ {
773
+ if (matching_WasUsed)
774
+ {
775
+ error = true;
776
+ break;
777
+ }
778
+ matching_WasUsed = true;
779
+ nop2.WildcardMatching = true;
780
+ pos++;
781
+ if (name[pos] == '-')
782
+ {
783
+ nop2.WildcardMatching = false;
784
+ pos++;
785
+ }
786
+ }
787
+ else if (c == 'm')
788
+ {
789
+ if (type_WasUsed)
790
+ {
791
+ error = true;
792
+ break;
793
+ }
794
+ type_WasUsed = true;
795
+ pos++;
796
+ nop2.MarkMode = NWildcard::kMark_StrictFile;
797
+ c = name[pos];
798
+ if (c == '-')
799
+ {
800
+ nop2.MarkMode = NWildcard::kMark_FileOrDir;
801
+ pos++;
802
+ }
803
+ else if (c == '2')
804
+ {
805
+ nop2.MarkMode = NWildcard::kMark_StrictFile_IfWildcard;
806
+ pos++;
807
+ }
808
+ }
809
+ else
810
+ break;
811
+ }
812
+
813
+ if (error)
814
+ {
815
+ errorMessage = "inorrect switch";
816
+ break;
817
+ }
818
+
819
+ if (name.Len() < pos + kSomeCludeAfterRecursedPostStringMinSize)
820
+ {
821
+ errorMessage = "Too short switch";
822
+ break;
823
+ }
824
+
825
+ const UString tail = name.Ptr(pos + 1);
826
+
827
+ const wchar_t c = name[pos];
828
+
829
+ if (c == kImmediateNameID)
830
+ AddNameToCensor(censor, nop2, tail);
831
+ else if (c == kFileListID)
832
+ AddToCensorFromListFile(NULL, censor, nop2, tail, codePage);
833
+ #ifdef _WIN32
834
+ else if (c == kMapNameID)
835
+ {
836
+ errorMessage = ParseMapWithPaths(censor, tail, nop2);
837
+ if (errorMessage)
838
+ break;
839
+ }
840
+ #endif
841
+ else
842
+ {
843
+ errorMessage = "Incorrect wildcard type marker";
844
+ break;
845
+ }
846
+ }
847
+
848
+ if (i != strings.Size())
849
+ throw CArcCmdLineException(errorMessage, strings[i]);
850
+ }
851
+
852
+ /*
853
+ static NUpdateArchive::NPairAction::EEnum GetUpdatePairActionType(int i)
854
+ {
855
+ switch (i)
856
+ {
857
+ case NUpdateArchive::NPairAction::kIgnore: return NUpdateArchive::NPairAction::kIgnore;
858
+ case NUpdateArchive::NPairAction::kCopy: return NUpdateArchive::NPairAction::kCopy;
859
+ case NUpdateArchive::NPairAction::kCompress: return NUpdateArchive::NPairAction::kCompress;
860
+ case NUpdateArchive::NPairAction::kCompressAsAnti: return NUpdateArchive::NPairAction::kCompressAsAnti;
861
+ }
862
+ throw 98111603;
863
+ }
864
+ */
865
+
866
+ static const char * const kUpdatePairStateIDSet = "pqrxyzw";
867
+ static const int kUpdatePairStateNotSupportedActions[] = {2, 2, 1, -1, -1, -1, -1};
868
+
869
+ static const unsigned kNumUpdatePairActions = 4;
870
+ static const char * const kUpdateIgnoreItselfPostStringID = "-";
871
+ static const wchar_t kUpdateNewArchivePostCharID = '!';
872
+
873
+
874
+ static bool ParseUpdateCommandString2(const UString &command,
875
+ NUpdateArchive::CActionSet &actionSet, UString &postString)
876
+ {
877
+ for (unsigned i = 0; i < command.Len();)
878
+ {
879
+ wchar_t c = MyCharLower_Ascii(command[i]);
880
+ int statePos = FindCharPosInString(kUpdatePairStateIDSet, (char)c);
881
+ if (c > 0x7F || statePos < 0)
882
+ {
883
+ postString = command.Ptr(i);
884
+ return true;
885
+ }
886
+ i++;
887
+ if (i >= command.Len())
888
+ return false;
889
+ c = command[i];
890
+ if (c < '0' || c >= (wchar_t)('0' + kNumUpdatePairActions))
891
+ return false;
892
+ unsigned actionPos = (unsigned)(c - '0');
893
+ actionSet.StateActions[(unsigned)statePos] = (NUpdateArchive::NPairAction::EEnum)(actionPos);
894
+ if (kUpdatePairStateNotSupportedActions[(unsigned)statePos] == (int)actionPos)
895
+ return false;
896
+ i++;
897
+ }
898
+ postString.Empty();
899
+ return true;
900
+ }
901
+
902
+ static void ParseUpdateCommandString(CUpdateOptions &options,
903
+ const UStringVector &updatePostStrings,
904
+ const NUpdateArchive::CActionSet &defaultActionSet)
905
+ {
906
+ const char *errorMessage = "incorrect update switch command";
907
+ unsigned i;
908
+ for (i = 0; i < updatePostStrings.Size(); i++)
909
+ {
910
+ const UString &updateString = updatePostStrings[i];
911
+ if (updateString.IsEqualTo(kUpdateIgnoreItselfPostStringID))
912
+ {
913
+ if (options.UpdateArchiveItself)
914
+ {
915
+ options.UpdateArchiveItself = false;
916
+ options.Commands.Delete(0);
917
+ }
918
+ }
919
+ else
920
+ {
921
+ NUpdateArchive::CActionSet actionSet = defaultActionSet;
922
+
923
+ UString postString;
924
+ if (!ParseUpdateCommandString2(updateString, actionSet, postString))
925
+ break;
926
+ if (postString.IsEmpty())
927
+ {
928
+ if (options.UpdateArchiveItself)
929
+ options.Commands[0].ActionSet = actionSet;
930
+ }
931
+ else
932
+ {
933
+ if (postString[0] != kUpdateNewArchivePostCharID)
934
+ break;
935
+ CUpdateArchiveCommand uc;
936
+ UString archivePath = postString.Ptr(1);
937
+ if (archivePath.IsEmpty())
938
+ break;
939
+ uc.UserArchivePath = archivePath;
940
+ uc.ActionSet = actionSet;
941
+ options.Commands.Add(uc);
942
+ }
943
+ }
944
+ }
945
+ if (i != updatePostStrings.Size())
946
+ throw CArcCmdLineException(errorMessage, updatePostStrings[i]);
947
+ }
948
+
949
+ bool ParseComplexSize(const wchar_t *s, UInt64 &result);
950
+
951
+ static void SetAddCommandOptions(
952
+ NCommandType::EEnum commandType,
953
+ const CParser &parser,
954
+ CUpdateOptions &options)
955
+ {
956
+ NUpdateArchive::CActionSet defaultActionSet;
957
+ switch ((int)commandType)
958
+ {
959
+ case NCommandType::kAdd:
960
+ defaultActionSet = NUpdateArchive::k_ActionSet_Add;
961
+ break;
962
+ case NCommandType::kDelete:
963
+ defaultActionSet = NUpdateArchive::k_ActionSet_Delete;
964
+ break;
965
+ default:
966
+ defaultActionSet = NUpdateArchive::k_ActionSet_Update;
967
+ }
968
+
969
+ options.UpdateArchiveItself = true;
970
+
971
+ options.Commands.Clear();
972
+ CUpdateArchiveCommand updateMainCommand;
973
+ updateMainCommand.ActionSet = defaultActionSet;
974
+ options.Commands.Add(updateMainCommand);
975
+ if (parser[NKey::kUpdate].ThereIs)
976
+ ParseUpdateCommandString(options, parser[NKey::kUpdate].PostStrings,
977
+ defaultActionSet);
978
+ if (parser[NKey::kWorkingDir].ThereIs)
979
+ {
980
+ const UString &postString = parser[NKey::kWorkingDir].PostStrings[0];
981
+ if (postString.IsEmpty())
982
+ NDir::MyGetTempPath(options.WorkingDir);
983
+ else
984
+ options.WorkingDir = us2fs(postString);
985
+ }
986
+ options.SfxMode = parser[NKey::kSfx].ThereIs;
987
+ if (options.SfxMode)
988
+ options.SfxModule = us2fs(parser[NKey::kSfx].PostStrings[0]);
989
+
990
+ if (parser[NKey::kVolume].ThereIs)
991
+ {
992
+ const UStringVector &sv = parser[NKey::kVolume].PostStrings;
993
+ FOR_VECTOR (i, sv)
994
+ {
995
+ UInt64 size;
996
+ if (!ParseComplexSize(sv[i], size))
997
+ throw CArcCmdLineException("Incorrect volume size:", sv[i]);
998
+ if (i == sv.Size() - 1 && size == 0)
999
+ throw CArcCmdLineException("zero size last volume is not allowed");
1000
+ options.VolumesSizes.Add(size);
1001
+ }
1002
+ }
1003
+ }
1004
+
1005
+ static void SetMethodOptions(const CParser &parser, CObjectVector<CProperty> &properties)
1006
+ {
1007
+ if (parser[NKey::kProperty].ThereIs)
1008
+ {
1009
+ FOR_VECTOR (i, parser[NKey::kProperty].PostStrings)
1010
+ {
1011
+ CProperty prop;
1012
+ prop.Name = parser[NKey::kProperty].PostStrings[i];
1013
+ int index = prop.Name.Find(L'=');
1014
+ if (index >= 0)
1015
+ {
1016
+ prop.Value = prop.Name.Ptr((unsigned)(index + 1));
1017
+ prop.Name.DeleteFrom((unsigned)index);
1018
+ }
1019
+ properties.Add(prop);
1020
+ }
1021
+ }
1022
+ }
1023
+
1024
+
1025
+ static inline void SetStreamMode(const CSwitchResult &sw, unsigned &res)
1026
+ {
1027
+ if (sw.ThereIs)
1028
+ res = (unsigned)sw.PostCharIndex;
1029
+ }
1030
+
1031
+
1032
+ #if defined(_WIN32) && !defined(UNDER_CE)
1033
+ static void PrintHex(UString &s, UInt64 v)
1034
+ {
1035
+ char temp[32];
1036
+ ConvertUInt64ToHex(v, temp);
1037
+ s += temp;
1038
+ }
1039
+ #endif
1040
+
1041
+
1042
+ #if 0 && defined(Z7_LARGE_PAGES) && defined(__linux__)
1043
+ bool Get_HugePageSize(UInt64 &pageSize);
1044
+ extern "C" { extern size_t g_LargePageSize; }
1045
+ #endif
1046
+
1047
+
1048
+ void CArcCmdLineParser::Parse1(const UStringVector &commandStrings,
1049
+ CArcCmdLineOptions &options)
1050
+ {
1051
+ Parse1Log.Empty();
1052
+ if (!parser.ParseStrings(kSwitchForms, Z7_ARRAY_SIZE(kSwitchForms), commandStrings))
1053
+ throw CArcCmdLineException(parser.ErrorMessage, parser.ErrorLine);
1054
+
1055
+ options.IsInTerminal = MY_IS_TERMINAL(stdin);
1056
+ options.IsStdOutTerminal = MY_IS_TERMINAL(stdout);
1057
+ options.IsStdErrTerminal = MY_IS_TERMINAL(stderr);
1058
+
1059
+ options.HelpMode = parser[NKey::kHelp1].ThereIs || parser[NKey::kHelp2].ThereIs || parser[NKey::kHelp3].ThereIs;
1060
+ options.YesToAll = parser[NKey::kYes].ThereIs;
1061
+
1062
+ options.StdInMode = parser[NKey::kStdIn].ThereIs;
1063
+ options.StdOutMode = parser[NKey::kStdOut].ThereIs;
1064
+ options.EnableHeaders = !parser[NKey::kDisableHeaders].ThereIs;
1065
+ if (parser[NKey::kListFields].ThereIs)
1066
+ {
1067
+ const UString &s = parser[NKey::kListFields].PostStrings[0];
1068
+ options.ListFields = GetAnsiString(s);
1069
+ }
1070
+ if (parser[NKey::kListPathSlash].ThereIs)
1071
+ {
1072
+ options.ListPathSeparatorSlash.Val = !parser[NKey::kListPathSlash].WithMinus;
1073
+ options.ListPathSeparatorSlash.Def = true;
1074
+ }
1075
+ if (parser[NKey::kListTimestampUTC].ThereIs)
1076
+ g_Timestamp_Show_UTC = !parser[NKey::kListTimestampUTC].WithMinus;
1077
+ options.TechMode = parser[NKey::kTechMode].ThereIs;
1078
+ options.ShowTime = parser[NKey::kShowTime].ThereIs;
1079
+
1080
+ if (parser[NKey::kDisablePercents].ThereIs)
1081
+ options.DisablePercents = true;
1082
+
1083
+ if (parser[NKey::kDisablePercents].ThereIs
1084
+ || options.StdOutMode
1085
+ || !options.IsStdOutTerminal)
1086
+ options.Number_for_Percents = k_OutStream_disabled;
1087
+
1088
+ if (options.StdOutMode)
1089
+ options.Number_for_Out = k_OutStream_disabled;
1090
+
1091
+ SetStreamMode(parser[NKey::kOutStream], options.Number_for_Out);
1092
+ SetStreamMode(parser[NKey::kErrStream], options.Number_for_Errors);
1093
+ SetStreamMode(parser[NKey::kPercentStream], options.Number_for_Percents);
1094
+
1095
+ if (parser[NKey::kLogLevel].ThereIs)
1096
+ {
1097
+ const UString &s = parser[NKey::kLogLevel].PostStrings[0];
1098
+ if (s.IsEmpty())
1099
+ options.LogLevel = 1;
1100
+ else
1101
+ {
1102
+ UInt32 v;
1103
+ if (!StringToUInt32(s, v))
1104
+ throw CArcCmdLineException("Unsupported switch postfix -bb", s);
1105
+ options.LogLevel = (unsigned)v;
1106
+ }
1107
+ }
1108
+
1109
+ if (parser[NKey::kCaseSensitive].ThereIs)
1110
+ {
1111
+ options.CaseSensitive =
1112
+ g_CaseSensitive = !parser[NKey::kCaseSensitive].WithMinus;
1113
+ options.CaseSensitive_Change = true;
1114
+ }
1115
+
1116
+
1117
+ #if defined(_WIN32) && !defined(UNDER_CE)
1118
+ NSecurity::EnablePrivilege_SymLink();
1119
+ #endif
1120
+
1121
+ // options.LargePages = false;
1122
+
1123
+ #if defined(Z7_LARGE_PAGES)
1124
+ if (parser[NKey::kLargePages].ThereIs)
1125
+ {
1126
+ const UString &s = parser[NKey::kLargePages].PostStrings[0];
1127
+ UInt32 slp_Risk = 1;
1128
+ unsigned flags = 0;
1129
+ unsigned cmd = 0;
1130
+ size_t pageSize = 0;
1131
+ size_t threshold = 0;
1132
+
1133
+ if (s.IsEqualTo("-"))
1134
+ slp_Risk = 0;
1135
+ else if (!s.IsEmpty())
1136
+ {
1137
+ unsigned index = 0;
1138
+ while (index < s.Len())
1139
+ {
1140
+ const bool isStart = (index == 0);
1141
+ UString s2;
1142
+ {
1143
+ const int pos = s.Find(L':', index);
1144
+ if (pos < 0)
1145
+ {
1146
+ s2 = s.Ptr(index);
1147
+ index = s.Len();
1148
+ }
1149
+ else
1150
+ {
1151
+ s2 = s.Mid(index, (unsigned)pos - index);
1152
+ index = (unsigned)pos + 1;
1153
+ }
1154
+ }
1155
+ if (s2.IsEmpty())
1156
+ continue;
1157
+
1158
+ if (isStart)
1159
+ {
1160
+ if (StringToUInt32(s2, slp_Risk))
1161
+ continue;
1162
+ }
1163
+ else if (s2.IsPrefixedBy_Ascii_NoCase("ps"))
1164
+ {
1165
+ UInt32 ps = 0;
1166
+ if (StringToUInt32(s2.Ptr(2), ps))
1167
+ {
1168
+ if (ps < sizeof(size_t) * 8)
1169
+ {
1170
+ pageSize = (size_t)1 << ps;
1171
+ flags |= Z7_LARGE_PAGES_FLAG_DIRECT_PAGE_SIZE;
1172
+ continue;
1173
+ }
1174
+ }
1175
+ }
1176
+ else if (s2.IsPrefixedBy_Ascii_NoCase("min"))
1177
+ {
1178
+ UInt32 ps = 0;
1179
+ if (StringToUInt32(s2.Ptr(3), ps))
1180
+ {
1181
+ if (ps < sizeof(size_t) * 8)
1182
+ {
1183
+ threshold = (size_t)1 << ps;
1184
+ flags |= Z7_LARGE_PAGES_FLAG_DIRECT_THRESHOLD;
1185
+ continue;
1186
+ }
1187
+ }
1188
+ }
1189
+ else if (s2.IsEqualTo_Ascii_NoCase("failstop"))
1190
+ {
1191
+ flags |= Z7_LARGE_PAGES_FLAG_FAIL_STOP;
1192
+ continue;
1193
+ }
1194
+ else if (s2.IsEqualTo_Ascii_NoCase("nomadvise"))
1195
+ {
1196
+ cmd = Z7_LARGE_PAGES_FLAG_NO_MADVISE;
1197
+ continue;
1198
+ }
1199
+ else if (s2.IsEqualTo_Ascii_NoCase("nohuge"))
1200
+ {
1201
+ cmd = Z7_LARGE_PAGES_FLAG_NO_HUGEPAGE;
1202
+ continue;
1203
+ }
1204
+ throw CArcCmdLineException("Unsupported switch postfix for -slp", s);
1205
+ }
1206
+ }
1207
+
1208
+ if (slp_Risk <=
1209
+ #if defined(_WIN32) && !defined(UNDER_CE)
1210
+ (unsigned)NSecurity::Get_LargePages_RiskLevel()
1211
+ #else
1212
+ 0
1213
+ #endif
1214
+ )
1215
+ cmd = Z7_LARGE_PAGES_FLAG_NO_PAGECODE;
1216
+ if (cmd == 0)
1217
+ cmd = Z7_LARGE_PAGES_FLAG_USE_HUGEPAGE;
1218
+ flags |= cmd;
1219
+
1220
+ #if 0 && defined(Z7_LARGE_PAGES) && defined(__linux__)
1221
+ if ((flags & Z7_LARGE_PAGES_FLAG_DIRECT_PAGE_SIZE) == 0)
1222
+ {
1223
+ UInt64 pageSize64;
1224
+ if (g_LargePageSize
1225
+ && Get_HugePageSize(pageSize64)
1226
+ && (pageSize64 & (pageSize64 - 1)) == 0
1227
+ && pageSize64 <= (1u << 25))
1228
+ {
1229
+ pageSize = (size_t)pageSize64;
1230
+ flags |= Z7_LARGE_PAGES_FLAG_DIRECT_PAGE_SIZE;
1231
+ printf("\npageSize=0x%x\n", (unsigned)pageSize);
1232
+ }
1233
+ }
1234
+ #endif
1235
+
1236
+ #if defined(Z7_LARGE_PAGES)
1237
+ z7_LargePage_Set(flags, pageSize, threshold);
1238
+ if (flags & Z7_LARGE_PAGES_FLAG_USE_HUGEPAGE)
1239
+ {
1240
+ // note: this process also can inherit that Privilege from parent process
1241
+ g_LargePagesMode = true;
1242
+ #if defined(_WIN32) && !defined(UNDER_CE)
1243
+ if (!NSecurity::EnablePrivilege_LockMemory())
1244
+ {
1245
+ g_LargePagesMode = false;
1246
+ if (flags & Z7_LARGE_PAGES_FLAG_FAIL_STOP)
1247
+ throw CSystemException(GetLastError_noZero_HRESULT());
1248
+ }
1249
+ #endif
1250
+ }
1251
+ #endif
1252
+ }
1253
+ #endif // Z7_LARGE_PAGES
1254
+
1255
+
1256
+ #ifndef UNDER_CE
1257
+
1258
+ if (parser[NKey::kAffinity].ThereIs)
1259
+ {
1260
+ const UString &s = parser[NKey::kAffinity].PostStrings[0];
1261
+ if (!s.IsEmpty())
1262
+ {
1263
+ AString a;
1264
+ a.SetFromWStr_if_Ascii(s);
1265
+ Parse1Log += "Set process affinity mask: ";
1266
+
1267
+ bool isError = false;
1268
+
1269
+ #ifdef _WIN32
1270
+
1271
+ UInt64 v = 0;
1272
+ {
1273
+ const char *end;
1274
+ v = ConvertHexStringToUInt64(a, &end);
1275
+ if (*end != 0)
1276
+ a.Empty();
1277
+ }
1278
+ if (a.IsEmpty())
1279
+ isError = true;
1280
+ else
1281
+ {
1282
+ #ifndef _WIN64
1283
+ if (v >= ((UInt64)1 << 32))
1284
+ throw CArcCmdLineException("unsupported value -stm", s);
1285
+ else
1286
+ #endif
1287
+ {
1288
+ PrintHex(Parse1Log, v);
1289
+ if (!SetProcessAffinityMask(GetCurrentProcess(), (DWORD_PTR)v))
1290
+ {
1291
+ const DWORD lastError = GetLastError();
1292
+ Parse1Log += " : ERROR : ";
1293
+ Parse1Log += NError::MyFormatMessage(lastError);
1294
+ }
1295
+ }
1296
+ }
1297
+
1298
+ #else // _WIN32
1299
+
1300
+ if (a.Len() != s.Len())
1301
+ isError = true;
1302
+ else
1303
+ {
1304
+ Parse1Log += a;
1305
+ NSystem::CProcessAffinity aff;
1306
+ aff.CpuZero();
1307
+ unsigned cpu = 0;
1308
+ unsigned i = a.Len();
1309
+ while (i)
1310
+ {
1311
+ unsigned v = (Byte)a[--i];
1312
+ Z7_PARSE_HEX_DIGIT(v, { isError = true; break; })
1313
+ for (unsigned mask = 1; mask != 1u << 4; mask <<= 1, cpu++)
1314
+ if (v & mask)
1315
+ aff.CpuSet(cpu);
1316
+ }
1317
+ if (!isError)
1318
+ if (!aff.SetProcAffinity())
1319
+ {
1320
+ const DWORD lastError = GetLastError();
1321
+ Parse1Log += " : ERROR : ";
1322
+ Parse1Log += NError::MyFormatMessage(lastError);
1323
+ }
1324
+ }
1325
+ #endif // _WIN32
1326
+
1327
+ if (isError)
1328
+ throw CArcCmdLineException("Unsupported switch postfix -stm", s);
1329
+
1330
+ Parse1Log.Add_LF();
1331
+ }
1332
+ }
1333
+
1334
+ #endif
1335
+ }
1336
+
1337
+
1338
+
1339
+ struct CCodePagePair
1340
+ {
1341
+ const char *Name;
1342
+ UInt32 CodePage;
1343
+ };
1344
+
1345
+ static const unsigned kNumByteOnlyCodePages = 3;
1346
+
1347
+ static const CCodePagePair g_CodePagePairs[] =
1348
+ {
1349
+ { "utf-8", CP_UTF8 },
1350
+ { "win", CP_ACP },
1351
+ { "dos", CP_OEMCP },
1352
+ { "utf-16le", Z7_WIN_CP_UTF16 },
1353
+ { "utf-16be", Z7_WIN_CP_UTF16BE }
1354
+ };
1355
+
1356
+ static Int32 FindCharset(const NCommandLineParser::CParser &parser, unsigned keyIndex,
1357
+ bool byteOnlyCodePages, Int32 defaultVal)
1358
+ {
1359
+ if (!parser[keyIndex].ThereIs)
1360
+ return defaultVal;
1361
+
1362
+ UString name (parser[keyIndex].PostStrings.Back());
1363
+ UInt32 v;
1364
+ if (StringToUInt32(name, v))
1365
+ if (v < ((UInt32)1 << 16))
1366
+ return (Int32)v;
1367
+ name.MakeLower_Ascii();
1368
+ const unsigned num = byteOnlyCodePages ? kNumByteOnlyCodePages : Z7_ARRAY_SIZE(g_CodePagePairs);
1369
+ for (unsigned i = 0;; i++)
1370
+ {
1371
+ if (i == num) // to disable warnings from different compilers
1372
+ throw CArcCmdLineException("Unsupported charset:", name);
1373
+ const CCodePagePair &pair = g_CodePagePairs[i];
1374
+ if (name.IsEqualTo(pair.Name))
1375
+ return (Int32)pair.CodePage;
1376
+ }
1377
+ }
1378
+
1379
+
1380
+ static void SetBoolPair(NCommandLineParser::CParser &parser, unsigned switchID, CBoolPair &bp)
1381
+ {
1382
+ bp.Def = parser[switchID].ThereIs;
1383
+ if (bp.Def)
1384
+ bp.Val = !parser[switchID].WithMinus;
1385
+ }
1386
+
1387
+
1388
+ static bool ParseSizeString(const wchar_t *s, UInt64 &res)
1389
+ {
1390
+ const wchar_t *end;
1391
+ const UInt64 v = ConvertStringToUInt64(s, &end);
1392
+ if (s == end)
1393
+ return false;
1394
+ const wchar_t c = *end;
1395
+
1396
+ if (c == 0)
1397
+ {
1398
+ res = v;
1399
+ return true;
1400
+ }
1401
+ if (end[1] != 0)
1402
+ return false;
1403
+
1404
+ unsigned numBits;
1405
+ switch (MyCharLower_Ascii(c))
1406
+ {
1407
+ case 'b': numBits = 0; break;
1408
+ case 'k': numBits = 10; break;
1409
+ case 'm': numBits = 20; break;
1410
+ case 'g': numBits = 30; break;
1411
+ case 't': numBits = 40; break;
1412
+ default: return false;
1413
+ }
1414
+ const UInt64 val2 = v << numBits;
1415
+ if ((val2 >> numBits) != v)
1416
+ return false;
1417
+ res = val2;
1418
+ return true;
1419
+ }
1420
+
1421
+ void CArcCmdLineParser::Parse2(CArcCmdLineOptions &options)
1422
+ {
1423
+ const UStringVector &nonSwitchStrings = parser.NonSwitchStrings;
1424
+ const unsigned numNonSwitchStrings = nonSwitchStrings.Size();
1425
+ if (numNonSwitchStrings < kMinNonSwitchWords)
1426
+ throw CArcCmdLineException("The command must be specified");
1427
+
1428
+ if (!ParseArchiveCommand(nonSwitchStrings[kCommandIndex], options.Command))
1429
+ throw CArcCmdLineException("Unsupported command:", nonSwitchStrings[kCommandIndex]);
1430
+
1431
+ if (parser[NKey::kHash].ThereIs)
1432
+ options.HashMethods = parser[NKey::kHash].PostStrings;
1433
+
1434
+ /*
1435
+ if (parser[NKey::kHashGenFile].ThereIs)
1436
+ {
1437
+ const UString &s = parser[NKey::kHashGenFile].PostStrings[0];
1438
+ for (unsigned i = 0 ; i < s.Len();)
1439
+ {
1440
+ const wchar_t c = s[i++];
1441
+ if (!options.HashOptions.ParseFlagCharOption(c, true))
1442
+ {
1443
+ if (c != '=')
1444
+ throw CArcCmdLineException("Unsupported hash mode switch:", s);
1445
+ options.HashOptions.HashFilePath = s.Ptr(i);
1446
+ break;
1447
+ }
1448
+ }
1449
+ }
1450
+ */
1451
+
1452
+ if (parser[NKey::kHashDir].ThereIs)
1453
+ options.ExtractOptions.HashDir = parser[NKey::kHashDir].PostStrings[0];
1454
+
1455
+ if (parser[NKey::kExtractMemLimit].ThereIs)
1456
+ {
1457
+ const UString &s = parser[NKey::kExtractMemLimit].PostStrings[0];
1458
+ if (!ParseSizeString(s, options.ExtractOptions.NtOptions.MemLimit))
1459
+ throw CArcCmdLineException("Unsupported -smemx:", s);
1460
+ }
1461
+
1462
+ if (parser[NKey::kElimDup].ThereIs)
1463
+ {
1464
+ options.ExtractOptions.ElimDup.Def = true;
1465
+ options.ExtractOptions.ElimDup.Val = !parser[NKey::kElimDup].WithMinus;
1466
+ }
1467
+
1468
+ NWildcard::ECensorPathMode censorPathMode = NWildcard::k_RelatPath;
1469
+ bool fullPathMode = parser[NKey::kFullPathMode].ThereIs;
1470
+ if (fullPathMode)
1471
+ {
1472
+ censorPathMode = NWildcard::k_AbsPath;
1473
+ const UString &s = parser[NKey::kFullPathMode].PostStrings[0];
1474
+ if (!s.IsEmpty())
1475
+ {
1476
+ if (s.IsEqualTo("2"))
1477
+ censorPathMode = NWildcard::k_FullPath;
1478
+ else
1479
+ throw CArcCmdLineException("Unsupported -spf:", s);
1480
+ }
1481
+ }
1482
+
1483
+ if (parser[NKey::kNameTrailReplace].ThereIs)
1484
+ g_PathTrailReplaceMode = !parser[NKey::kNameTrailReplace].WithMinus;
1485
+
1486
+ CNameOption nop;
1487
+
1488
+ if (parser[NKey::kRecursed].ThereIs)
1489
+ nop.RecursedType = GetRecursedTypeFromIndex(parser[NKey::kRecursed].PostCharIndex);
1490
+
1491
+ if (parser[NKey::kDisableWildcardParsing].ThereIs)
1492
+ nop.WildcardMatching = false;
1493
+
1494
+ if (parser[NKey::kUseSlashMark].ThereIs)
1495
+ {
1496
+ const UString &s = parser[NKey::kUseSlashMark].PostStrings[0];
1497
+ if (s.IsEmpty())
1498
+ nop.MarkMode = NWildcard::kMark_StrictFile;
1499
+ else if (s.IsEqualTo_Ascii_NoCase("-"))
1500
+ nop.MarkMode = NWildcard::kMark_FileOrDir;
1501
+ else if (s.IsEqualTo_Ascii_NoCase("2"))
1502
+ nop.MarkMode = NWildcard::kMark_StrictFile_IfWildcard;
1503
+ else
1504
+ throw CArcCmdLineException("Unsupported -spm:", s);
1505
+ }
1506
+
1507
+
1508
+ options.ConsoleCodePage = FindCharset(parser, NKey::kConsoleCharSet, true, -1);
1509
+
1510
+ const UInt32 codePage = (UInt32)FindCharset(parser, NKey::kListfileCharSet, false, CP_UTF8);
1511
+
1512
+ bool thereAreSwitchIncludes = false;
1513
+
1514
+ if (parser[NKey::kInclude].ThereIs)
1515
+ {
1516
+ thereAreSwitchIncludes = true;
1517
+ nop.Include = true;
1518
+ AddSwitchWildcardsToCensor(options.Censor,
1519
+ parser[NKey::kInclude].PostStrings, nop, codePage);
1520
+ }
1521
+
1522
+ if (parser[NKey::kExclude].ThereIs)
1523
+ {
1524
+ nop.Include = false;
1525
+ AddSwitchWildcardsToCensor(options.Censor,
1526
+ parser[NKey::kExclude].PostStrings, nop, codePage);
1527
+ }
1528
+
1529
+ unsigned curCommandIndex = kCommandIndex + 1;
1530
+ bool thereIsArchiveName = !parser[NKey::kNoArName].ThereIs &&
1531
+ options.Command.CommandType != NCommandType::kBenchmark &&
1532
+ options.Command.CommandType != NCommandType::kInfo &&
1533
+ options.Command.CommandType != NCommandType::kHash;
1534
+
1535
+ const bool isExtractGroupCommand = options.Command.IsFromExtractGroup();
1536
+ const bool isExtractOrList = isExtractGroupCommand || options.Command.CommandType == NCommandType::kList;
1537
+ const bool isRename = options.Command.CommandType == NCommandType::kRename;
1538
+ options.UpdateOptions.RenameMode = isRename;
1539
+
1540
+ if ((isExtractOrList || isRename) && options.StdInMode)
1541
+ thereIsArchiveName = false;
1542
+
1543
+ if (parser[NKey::kArcNameMode].ThereIs)
1544
+ options.UpdateOptions.ArcNameMode = ParseArcNameMode(parser[NKey::kArcNameMode].PostCharIndex);
1545
+
1546
+ if (thereIsArchiveName)
1547
+ {
1548
+ if (curCommandIndex >= numNonSwitchStrings)
1549
+ throw CArcCmdLineException("Cannot find archive name");
1550
+ options.ArchiveName = nonSwitchStrings[curCommandIndex++];
1551
+ if (options.ArchiveName.IsEmpty())
1552
+ throw CArcCmdLineException("Archive name cannot by empty");
1553
+ #ifdef _WIN32
1554
+ // options.ArchiveName.Replace(L'/', WCHAR_PATH_SEPARATOR);
1555
+ #endif
1556
+ }
1557
+
1558
+ nop.Include = true;
1559
+ AddToCensorFromNonSwitchesStrings(isRename ? &options.UpdateOptions.RenamePairs : NULL,
1560
+ curCommandIndex, options.Censor,
1561
+ nonSwitchStrings, parser.StopSwitchIndex,
1562
+ nop,
1563
+ thereAreSwitchIncludes, codePage);
1564
+
1565
+ #ifndef Z7_NO_CRYPTO
1566
+ options.PasswordEnabled = parser[NKey::kPassword].ThereIs;
1567
+ if (options.PasswordEnabled)
1568
+ options.Password = parser[NKey::kPassword].PostStrings[0];
1569
+ #endif
1570
+
1571
+ options.ShowDialog = parser[NKey::kShowDialog].ThereIs;
1572
+
1573
+ if (parser[NKey::kArchiveType].ThereIs)
1574
+ options.ArcType = parser[NKey::kArchiveType].PostStrings[0];
1575
+
1576
+ options.ExcludedArcTypes = parser[NKey::kExcludedArcType].PostStrings;
1577
+
1578
+ SetMethodOptions(parser, options.Properties);
1579
+
1580
+ if (parser[NKey::kNtSecurity].ThereIs) options.NtSecurity.SetTrueTrue();
1581
+
1582
+ SetBoolPair(parser, NKey::kAltStreams, options.AltStreams);
1583
+ SetBoolPair(parser, NKey::kHardLinks, options.HardLinks);
1584
+ SetBoolPair(parser, NKey::kSymLinks, options.SymLinks);
1585
+
1586
+ SetBoolPair(parser, NKey::kStoreOwnerId, options.StoreOwnerId);
1587
+ SetBoolPair(parser, NKey::kStoreOwnerName, options.StoreOwnerName);
1588
+ /*
1589
+ bool supportSymLink = options.SymLinks.Val;
1590
+ if (!options.SymLinks.Def)
1591
+ {
1592
+ if (isExtractOrList)
1593
+ supportSymLink = true;
1594
+ else
1595
+ supportSymLink = false;
1596
+ }
1597
+ #ifdef ENV_HAVE_LSTAT
1598
+ if (supportSymLink)
1599
+ global_use_lstat = 1;
1600
+ else
1601
+ global_use_lstat = 0;
1602
+ #endif
1603
+ */
1604
+
1605
+ if (isExtractOrList)
1606
+ {
1607
+ CExtractOptionsBase &eo = options.ExtractOptions;
1608
+
1609
+ eo.ExcludeDirItems = options.Censor.ExcludeDirItems;
1610
+ eo.ExcludeFileItems = options.Censor.ExcludeFileItems;
1611
+
1612
+ {
1613
+ CExtractNtOptions &nt = eo.NtOptions;
1614
+ nt.NtSecurity = options.NtSecurity;
1615
+
1616
+ nt.AltStreams = options.AltStreams;
1617
+ if (!options.AltStreams.Def)
1618
+ nt.AltStreams.Val = true;
1619
+
1620
+ nt.HardLinks = options.HardLinks;
1621
+ if (!options.HardLinks.Def)
1622
+ nt.HardLinks.Val = true;
1623
+
1624
+ nt.SymLinks = options.SymLinks;
1625
+ if (!options.SymLinks.Def)
1626
+ nt.SymLinks.Val = true;
1627
+
1628
+ if (parser[NKey::kSymLinks_AllowDangerous].ThereIs)
1629
+ {
1630
+ const UString &s = parser[NKey::kSymLinks_AllowDangerous].PostStrings[0];
1631
+ UInt32 v = 9; // default value for "-snld" instead of default = 5 without "-snld".
1632
+ if (!s.IsEmpty())
1633
+ if (!StringToUInt32(s, v))
1634
+ throw CArcCmdLineException("Unsupported switch postfix -snld", s);
1635
+ nt.SymLinks_DangerousLevel = (unsigned)v;
1636
+ }
1637
+
1638
+ nt.ReplaceColonForAltStream = parser[NKey::kReplaceColonForAltStream].ThereIs;
1639
+ nt.WriteToAltStreamIfColon = parser[NKey::kWriteToAltStreamIfColon].ThereIs;
1640
+
1641
+ nt.ExtractOwner = options.StoreOwnerId.Val; // StoreOwnerName
1642
+
1643
+ if (parser[NKey::kPreserveATime].ThereIs)
1644
+ nt.PreserveATime = true;
1645
+ if (parser[NKey::kShareForWrite].ThereIs)
1646
+ nt.OpenShareForWrite = true;
1647
+ }
1648
+
1649
+ if (parser[NKey::kZoneFile].ThereIs)
1650
+ {
1651
+ eo.ZoneMode = NExtract::NZoneIdMode::kAll;
1652
+ const UString &s = parser[NKey::kZoneFile].PostStrings[0];
1653
+ if (!s.IsEmpty())
1654
+ {
1655
+ if (s.IsEqualTo("0")) eo.ZoneMode = NExtract::NZoneIdMode::kNone;
1656
+ else if (s.IsEqualTo("1")) eo.ZoneMode = NExtract::NZoneIdMode::kAll;
1657
+ else if (s.IsEqualTo("2")) eo.ZoneMode = NExtract::NZoneIdMode::kOffice;
1658
+ else
1659
+ throw CArcCmdLineException("Unsupported -snz:", s);
1660
+ }
1661
+ }
1662
+
1663
+ options.Censor.AddPathsToCensor(NWildcard::k_AbsPath);
1664
+ options.Censor.ExtendExclude();
1665
+
1666
+ // are there paths that look as non-relative (!Prefix.IsEmpty())
1667
+ if (!options.Censor.AllAreRelative())
1668
+ throw CArcCmdLineException("Cannot use absolute pathnames for this command");
1669
+
1670
+ NWildcard::CCensor &arcCensor = options.arcCensor;
1671
+
1672
+ CNameOption nopArc;
1673
+ // nopArc.RecursedType = NRecursedType::kNonRecursed; // default: we don't want recursing for archives, if -r specified
1674
+ // is it OK, external switches can disable WildcardMatching and MarcMode for arc.
1675
+ nopArc.WildcardMatching = nop.WildcardMatching;
1676
+ nopArc.MarkMode = nop.MarkMode;
1677
+
1678
+ if (parser[NKey::kArInclude].ThereIs)
1679
+ {
1680
+ nopArc.Include = true;
1681
+ AddSwitchWildcardsToCensor(arcCensor, parser[NKey::kArInclude].PostStrings, nopArc, codePage);
1682
+ }
1683
+ if (parser[NKey::kArExclude].ThereIs)
1684
+ {
1685
+ nopArc.Include = false;
1686
+ AddSwitchWildcardsToCensor(arcCensor, parser[NKey::kArExclude].PostStrings, nopArc, codePage);
1687
+ }
1688
+
1689
+ if (thereIsArchiveName)
1690
+ {
1691
+ nopArc.Include = true;
1692
+ AddNameToCensor(arcCensor, nopArc, options.ArchiveName);
1693
+ }
1694
+
1695
+ arcCensor.AddPathsToCensor(NWildcard::k_RelatPath);
1696
+
1697
+ #ifdef _WIN32
1698
+ ConvertToLongNames(arcCensor);
1699
+ #endif
1700
+
1701
+ arcCensor.ExtendExclude();
1702
+
1703
+ if (options.StdInMode)
1704
+ options.ArcName_for_StdInMode = parser[NKey::kStdIn].PostStrings.Front();
1705
+
1706
+ if (isExtractGroupCommand)
1707
+ {
1708
+ if (options.StdOutMode)
1709
+ {
1710
+ if (
1711
+ options.Number_for_Percents == k_OutStream_stdout
1712
+ // || options.Number_for_Out == k_OutStream_stdout
1713
+ // || options.Number_for_Errors == k_OutStream_stdout
1714
+ ||
1715
+ (
1716
+ (options.IsStdOutTerminal && options.IsStdErrTerminal)
1717
+ &&
1718
+ (
1719
+ options.Number_for_Percents != k_OutStream_disabled
1720
+ // || options.Number_for_Out != k_OutStream_disabled
1721
+ // || options.Number_for_Errors != k_OutStream_disabled
1722
+ )
1723
+ )
1724
+ )
1725
+ throw CArcCmdLineException(kSameTerminalError);
1726
+ }
1727
+
1728
+ if (parser[NKey::kOutputDir].ThereIs)
1729
+ {
1730
+ eo.OutputDir = us2fs(parser[NKey::kOutputDir].PostStrings[0]);
1731
+ #ifdef _WIN32
1732
+ NFile::NName::NormalizeDirSeparators(eo.OutputDir);
1733
+ #endif
1734
+ NFile::NName::NormalizeDirPathPrefix(eo.OutputDir);
1735
+ }
1736
+ if (parser[NKey::kOutDirMode].ThereIs)
1737
+ {
1738
+ const int index = parser[NKey::kOutDirMode].PostCharIndex;
1739
+ eo.OutDirMode =
1740
+ (index == 0) ? NExtractOutDirMode::k_Direct :
1741
+ (index == 1) ? NExtractOutDirMode::k_AddArcName :
1742
+ NExtractOutDirMode::k_ReplaceAsterisk;
1743
+ }
1744
+
1745
+ eo.OverwriteMode = NExtract::NOverwriteMode::kAsk;
1746
+ if (parser[NKey::kOverwrite].ThereIs)
1747
+ {
1748
+ eo.OverwriteMode = k_OverwriteModes[(unsigned)parser[NKey::kOverwrite].PostCharIndex];
1749
+ eo.OverwriteMode_Force = true;
1750
+ }
1751
+ else if (options.YesToAll)
1752
+ {
1753
+ eo.OverwriteMode = NExtract::NOverwriteMode::kOverwrite;
1754
+ eo.OverwriteMode_Force = true;
1755
+ }
1756
+ }
1757
+
1758
+ eo.PathMode = options.Command.GetPathMode();
1759
+ if (censorPathMode == NWildcard::k_AbsPath)
1760
+ {
1761
+ eo.PathMode = NExtract::NPathMode::kAbsPaths;
1762
+ eo.PathMode_Force = true;
1763
+ }
1764
+ else if (censorPathMode == NWildcard::k_FullPath)
1765
+ {
1766
+ eo.PathMode = NExtract::NPathMode::kFullPaths;
1767
+ eo.PathMode_Force = true;
1768
+ }
1769
+ }
1770
+ else if (options.Command.IsFromUpdateGroup())
1771
+ {
1772
+ if (parser[NKey::kArInclude].ThereIs)
1773
+ throw CArcCmdLineException("-ai switch is not supported for this command");
1774
+
1775
+ CUpdateOptions &updateOptions = options.UpdateOptions;
1776
+
1777
+ SetAddCommandOptions(options.Command.CommandType, parser, updateOptions);
1778
+
1779
+ updateOptions.MethodMode.Properties = options.Properties;
1780
+
1781
+ if (parser[NKey::kPreserveATime].ThereIs)
1782
+ updateOptions.PreserveATime = true;
1783
+ if (parser[NKey::kShareForWrite].ThereIs)
1784
+ updateOptions.OpenShareForWrite = true;
1785
+ if (parser[NKey::kStopAfterOpenError].ThereIs)
1786
+ updateOptions.StopAfterOpenError = true;
1787
+
1788
+ updateOptions.PathMode = censorPathMode;
1789
+
1790
+ updateOptions.AltStreams = options.AltStreams;
1791
+ updateOptions.NtSecurity = options.NtSecurity;
1792
+ updateOptions.HardLinks = options.HardLinks;
1793
+ updateOptions.SymLinks = options.SymLinks;
1794
+
1795
+ updateOptions.StoreOwnerId = options.StoreOwnerId;
1796
+ updateOptions.StoreOwnerName = options.StoreOwnerName;
1797
+
1798
+ updateOptions.EMailMode = parser[NKey::kEmail].ThereIs;
1799
+ if (updateOptions.EMailMode)
1800
+ {
1801
+ updateOptions.EMailAddress = parser[NKey::kEmail].PostStrings.Front();
1802
+ if (updateOptions.EMailAddress.Len() > 0)
1803
+ if (updateOptions.EMailAddress[0] == L'.')
1804
+ {
1805
+ updateOptions.EMailRemoveAfter = true;
1806
+ updateOptions.EMailAddress.Delete(0);
1807
+ }
1808
+ }
1809
+
1810
+ updateOptions.StdOutMode = options.StdOutMode;
1811
+ updateOptions.StdInMode = options.StdInMode;
1812
+
1813
+ updateOptions.DeleteAfterCompressing = parser[NKey::kDeleteAfterCompressing].ThereIs;
1814
+ updateOptions.SetArcMTime = parser[NKey::kSetArcMTime].ThereIs;
1815
+
1816
+ if (updateOptions.StdOutMode && updateOptions.EMailMode)
1817
+ throw CArcCmdLineException("stdout mode and email mode cannot be combined");
1818
+
1819
+ if (updateOptions.StdOutMode)
1820
+ {
1821
+ if (options.IsStdOutTerminal)
1822
+ throw CArcCmdLineException(kTerminalOutError);
1823
+
1824
+ if (options.Number_for_Percents == k_OutStream_stdout
1825
+ || options.Number_for_Out == k_OutStream_stdout
1826
+ || options.Number_for_Errors == k_OutStream_stdout)
1827
+ throw CArcCmdLineException(kSameTerminalError);
1828
+ }
1829
+
1830
+ if (updateOptions.StdInMode)
1831
+ updateOptions.StdInFileName = parser[NKey::kStdIn].PostStrings.Front();
1832
+
1833
+ if (options.Command.CommandType == NCommandType::kRename)
1834
+ if (updateOptions.Commands.Size() != 1)
1835
+ throw CArcCmdLineException("Only one archive can be created with rename command");
1836
+ }
1837
+ else if (options.Command.CommandType == NCommandType::kBenchmark)
1838
+ {
1839
+ options.NumIterations = 1;
1840
+ options.NumIterations_Defined = false;
1841
+ if (curCommandIndex < numNonSwitchStrings)
1842
+ {
1843
+ if (!StringToUInt32(nonSwitchStrings[curCommandIndex], options.NumIterations))
1844
+ throw CArcCmdLineException("Incorrect number of benchmark iterations", nonSwitchStrings[curCommandIndex]);
1845
+ curCommandIndex++;
1846
+ options.NumIterations_Defined = true;
1847
+ }
1848
+ }
1849
+ else if (options.Command.CommandType == NCommandType::kHash)
1850
+ {
1851
+ options.Censor.AddPathsToCensor(censorPathMode);
1852
+ options.Censor.ExtendExclude();
1853
+
1854
+ CHashOptions &hashOptions = options.HashOptions;
1855
+ hashOptions.PathMode = censorPathMode;
1856
+ hashOptions.Methods = options.HashMethods;
1857
+ // hashOptions.HashFilePath = options.HashFilePath;
1858
+ if (parser[NKey::kPreserveATime].ThereIs)
1859
+ hashOptions.PreserveATime = true;
1860
+ if (parser[NKey::kShareForWrite].ThereIs)
1861
+ hashOptions.OpenShareForWrite = true;
1862
+ hashOptions.StdInMode = options.StdInMode;
1863
+ hashOptions.AltStreamsMode = options.AltStreams.Val;
1864
+ hashOptions.SymLinks = options.SymLinks;
1865
+ }
1866
+ else if (options.Command.CommandType == NCommandType::kInfo)
1867
+ {
1868
+ }
1869
+ else
1870
+ throw 20150919;
1871
+ }
1872
+
1873
+
1874
+
1875
+ #ifndef _WIN32
1876
+
1877
+ static AString g_ModuleDirPrefix;
1878
+
1879
+ void Set_ModuleDirPrefix_From_ProgArg0(const char *s);
1880
+ void Set_ModuleDirPrefix_From_ProgArg0(const char *s)
1881
+ {
1882
+ AString a (s);
1883
+ int sep = a.ReverseFind_PathSepar();
1884
+ a.DeleteFrom((unsigned)(sep + 1));
1885
+ g_ModuleDirPrefix = a;
1886
+ }
1887
+
1888
+ namespace NWindows {
1889
+ namespace NDLL {
1890
+
1891
+ FString GetModuleDirPrefix();
1892
+ FString GetModuleDirPrefix()
1893
+ {
1894
+ FString s;
1895
+
1896
+ s = fas2fs(g_ModuleDirPrefix);
1897
+ if (s.IsEmpty())
1898
+ s = FTEXT(".") FSTRING_PATH_SEPARATOR;
1899
+ return s;
1900
+ /*
1901
+ setenv("_7ZIP_HOME_DIR", "/test/", 0);
1902
+ const char *home = getenv("_7ZIP_HOME_DIR");
1903
+ if (home)
1904
+ s = home;
1905
+ else
1906
+ s = FTEXT(".") FSTRING_PATH_SEPARATOR;
1907
+ return s;
1908
+ */
1909
+ }
1910
+
1911
+ }}
1912
+
1913
+ #endif // ! _WIN32