node-liblzma 1.0.4 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (880) hide show
  1. package/History.md +5 -0
  2. package/README.md +65 -37
  3. package/binding.gyp +671 -43
  4. package/package.json +39 -24
  5. package/prebuilds/linux-x64/node_lzma.node +0 -0
  6. package/prebuilds/mac-x64/node_lzma.node +0 -0
  7. package/prebuilds/win-x64/node_lzma.node +0 -0
  8. package/scripts/download_extract_deps.py +29 -0
  9. package/scripts/prebuildify.py +13 -0
  10. package/scripts/walk_sources.py +7 -0
  11. package/src/bindings/module.cpp +86 -86
  12. package/src/bindings/node-liblzma.cpp +292 -273
  13. package/src/bindings/node-liblzma.hpp +62 -90
  14. package/src/lzma.coffee +25 -18
  15. package/.npmignore +0 -1
  16. package/.travis.yml +0 -35
  17. package/build/Makefile +0 -329
  18. package/build/Release/.deps/Release/node-liblzma.node.d +0 -1
  19. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
  20. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/module.o.d +0 -89
  21. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o.d +0 -89
  22. package/build/Release/.deps/Release/obj.target/node-liblzma.node.d +0 -1
  23. package/build/Release/.deps/home/o2/dev/node-liblzma/build/node-liblzma.node.d +0 -1
  24. package/build/Release/node-liblzma.node +0 -0
  25. package/build/Release/obj.target/action_after_build.stamp +0 -0
  26. package/build/Release/obj.target/node-liblzma/src/bindings/module.o +0 -0
  27. package/build/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o +0 -0
  28. package/build/Release/obj.target/node-liblzma.node +0 -0
  29. package/build/action_after_build.target.mk +0 -32
  30. package/build/binding.Makefile +0 -6
  31. package/build/config.gypi +0 -143
  32. package/build/node-liblzma.node +0 -0
  33. package/build/node-liblzma.target.mk +0 -144
  34. package/build.yml +0 -65
  35. package/deps/xz/ABOUT-NLS +0 -1327
  36. package/deps/xz/AUTHORS +0 -27
  37. package/deps/xz/COPYING +0 -65
  38. package/deps/xz/COPYING.GPLv2 +0 -339
  39. package/deps/xz/COPYING.GPLv3 +0 -674
  40. package/deps/xz/COPYING.LGPLv2.1 +0 -502
  41. package/deps/xz/ChangeLog +0 -14953
  42. package/deps/xz/Doxyfile +0 -1234
  43. package/deps/xz/Doxyfile.in +0 -1234
  44. package/deps/xz/INSTALL +0 -554
  45. package/deps/xz/INSTALL.generic +0 -365
  46. package/deps/xz/Makefile +0 -1067
  47. package/deps/xz/Makefile.am +0 -109
  48. package/deps/xz/Makefile.in +0 -1067
  49. package/deps/xz/NEWS +0 -505
  50. package/deps/xz/PACKAGERS +0 -231
  51. package/deps/xz/README +0 -308
  52. package/deps/xz/THANKS +0 -116
  53. package/deps/xz/TODO +0 -111
  54. package/deps/xz/aclocal.m4 +0 -1225
  55. package/deps/xz/autogen.sh +0 -22
  56. package/deps/xz/autom4te.cache/output.0 +0 -21751
  57. package/deps/xz/autom4te.cache/output.1 +0 -21751
  58. package/deps/xz/autom4te.cache/requests +0 -415
  59. package/deps/xz/autom4te.cache/traces.0 +0 -6996
  60. package/deps/xz/autom4te.cache/traces.1 +0 -1783
  61. package/deps/xz/build-aux/compile +0 -347
  62. package/deps/xz/build-aux/config.guess +0 -1558
  63. package/deps/xz/build-aux/config.rpath +0 -672
  64. package/deps/xz/build-aux/config.sub +0 -1791
  65. package/deps/xz/build-aux/depcomp +0 -791
  66. package/deps/xz/build-aux/install-sh +0 -527
  67. package/deps/xz/build-aux/ltmain.sh +0 -9661
  68. package/deps/xz/build-aux/manconv.sh +0 -58
  69. package/deps/xz/build-aux/missing +0 -215
  70. package/deps/xz/build-aux/version.sh +0 -24
  71. package/deps/xz/config.h +0 -487
  72. package/deps/xz/config.h.in +0 -486
  73. package/deps/xz/config.h.in~ +0 -485
  74. package/deps/xz/config.log +0 -5446
  75. package/deps/xz/config.status +0 -2587
  76. package/deps/xz/configure +0 -21751
  77. package/deps/xz/configure.ac +0 -842
  78. package/deps/xz/debug/.deps/crc32.Po +0 -1
  79. package/deps/xz/debug/.deps/full_flush.Po +0 -1
  80. package/deps/xz/debug/.deps/hex2bin.Po +0 -1
  81. package/deps/xz/debug/.deps/known_sizes.Po +0 -1
  82. package/deps/xz/debug/.deps/memusage.Po +0 -1
  83. package/deps/xz/debug/.deps/repeat.Po +0 -1
  84. package/deps/xz/debug/.deps/sync_flush.Po +0 -1
  85. package/deps/xz/debug/Makefile +0 -691
  86. package/deps/xz/debug/Makefile.am +0 -30
  87. package/deps/xz/debug/Makefile.in +0 -691
  88. package/deps/xz/debug/README +0 -17
  89. package/deps/xz/debug/crc32.c +0 -39
  90. package/deps/xz/debug/full_flush.c +0 -103
  91. package/deps/xz/debug/hex2bin.c +0 -53
  92. package/deps/xz/debug/known_sizes.c +0 -129
  93. package/deps/xz/debug/memusage.c +0 -51
  94. package/deps/xz/debug/repeat.c +0 -36
  95. package/deps/xz/debug/sync_flush.c +0 -125
  96. package/deps/xz/debug/translation.bash +0 -100
  97. package/deps/xz/doc/examples/00_README.txt +0 -31
  98. package/deps/xz/doc/examples/01_compress_easy.c +0 -297
  99. package/deps/xz/doc/examples/02_decompress.c +0 -287
  100. package/deps/xz/doc/examples/03_compress_custom.c +0 -193
  101. package/deps/xz/doc/examples/04_compress_easy_mt.c +0 -206
  102. package/deps/xz/doc/examples/Makefile +0 -24
  103. package/deps/xz/doc/examples_old/xz_pipe_comp.c +0 -127
  104. package/deps/xz/doc/examples_old/xz_pipe_decomp.c +0 -123
  105. package/deps/xz/doc/faq.txt +0 -224
  106. package/deps/xz/doc/history.txt +0 -150
  107. package/deps/xz/doc/lzma-file-format.txt +0 -166
  108. package/deps/xz/doc/man/pdf-a4/lzmainfo-a4.pdf +0 -0
  109. package/deps/xz/doc/man/pdf-a4/xz-a4.pdf +0 -0
  110. package/deps/xz/doc/man/pdf-a4/xzdec-a4.pdf +0 -0
  111. package/deps/xz/doc/man/pdf-a4/xzdiff-a4.pdf +0 -0
  112. package/deps/xz/doc/man/pdf-a4/xzgrep-a4.pdf +0 -0
  113. package/deps/xz/doc/man/pdf-a4/xzless-a4.pdf +0 -0
  114. package/deps/xz/doc/man/pdf-a4/xzmore-a4.pdf +0 -0
  115. package/deps/xz/doc/man/pdf-letter/lzmainfo-letter.pdf +0 -0
  116. package/deps/xz/doc/man/pdf-letter/xz-letter.pdf +0 -0
  117. package/deps/xz/doc/man/pdf-letter/xzdec-letter.pdf +0 -0
  118. package/deps/xz/doc/man/pdf-letter/xzdiff-letter.pdf +0 -0
  119. package/deps/xz/doc/man/pdf-letter/xzgrep-letter.pdf +0 -0
  120. package/deps/xz/doc/man/pdf-letter/xzless-letter.pdf +0 -0
  121. package/deps/xz/doc/man/pdf-letter/xzmore-letter.pdf +0 -0
  122. package/deps/xz/doc/man/txt/lzmainfo.txt +0 -40
  123. package/deps/xz/doc/man/txt/xz.txt +0 -1483
  124. package/deps/xz/doc/man/txt/xzdec.txt +0 -80
  125. package/deps/xz/doc/man/txt/xzdiff.txt +0 -36
  126. package/deps/xz/doc/man/txt/xzgrep.txt +0 -39
  127. package/deps/xz/doc/man/txt/xzless.txt +0 -39
  128. package/deps/xz/doc/man/txt/xzmore.txt +0 -34
  129. package/deps/xz/doc/xz-file-format.txt +0 -1150
  130. package/deps/xz/dos/INSTALL.txt +0 -79
  131. package/deps/xz/dos/Makefile +0 -147
  132. package/deps/xz/dos/README.txt +0 -123
  133. package/deps/xz/dos/config.h +0 -130
  134. package/deps/xz/extra/7z2lzma/7z2lzma.bash +0 -115
  135. package/deps/xz/extra/scanlzma/scanlzma.c +0 -84
  136. package/deps/xz/include/lzma/base.h +0 -654
  137. package/deps/xz/include/lzma/bcj.h +0 -90
  138. package/deps/xz/include/lzma/block.h +0 -581
  139. package/deps/xz/include/lzma/check.h +0 -150
  140. package/deps/xz/include/lzma/container.h +0 -619
  141. package/deps/xz/include/lzma/delta.h +0 -77
  142. package/deps/xz/include/lzma/filter.h +0 -425
  143. package/deps/xz/include/lzma/hardware.h +0 -64
  144. package/deps/xz/include/lzma/index.h +0 -682
  145. package/deps/xz/include/lzma/index_hash.h +0 -107
  146. package/deps/xz/include/lzma/lzma12.h +0 -420
  147. package/deps/xz/include/lzma/stream_flags.h +0 -223
  148. package/deps/xz/include/lzma/version.h +0 -121
  149. package/deps/xz/include/lzma/vli.h +0 -166
  150. package/deps/xz/include/lzma.h +0 -321
  151. package/deps/xz/lib/.deps/getopt.Po +0 -1
  152. package/deps/xz/lib/.deps/getopt1.Po +0 -1
  153. package/deps/xz/lib/Makefile +0 -566
  154. package/deps/xz/lib/Makefile.am +0 -32
  155. package/deps/xz/lib/Makefile.in +0 -566
  156. package/deps/xz/lib/getopt.c +0 -1197
  157. package/deps/xz/lib/getopt.in.h +0 -226
  158. package/deps/xz/lib/getopt1.c +0 -171
  159. package/deps/xz/lib/getopt_int.h +0 -131
  160. package/deps/xz/lib/liblzma.a +0 -0
  161. package/deps/xz/lib/liblzma.la +0 -41
  162. package/deps/xz/lib/pkgconfig/liblzma.pc +0 -19
  163. package/deps/xz/libtool +0 -10221
  164. package/deps/xz/m4/ax_pthread.m4 +0 -332
  165. package/deps/xz/m4/codeset.m4 +0 -21
  166. package/deps/xz/m4/fcntl-o.m4 +0 -81
  167. package/deps/xz/m4/getopt.m4 +0 -71
  168. package/deps/xz/m4/gettext.m4 +0 -383
  169. package/deps/xz/m4/glibc2.m4 +0 -30
  170. package/deps/xz/m4/glibc21.m4 +0 -30
  171. package/deps/xz/m4/iconv.m4 +0 -199
  172. package/deps/xz/m4/intdiv0.m4 +0 -84
  173. package/deps/xz/m4/intl.m4 +0 -294
  174. package/deps/xz/m4/intldir.m4 +0 -19
  175. package/deps/xz/m4/intlmacosx.m4 +0 -51
  176. package/deps/xz/m4/intmax.m4 +0 -33
  177. package/deps/xz/m4/inttypes-pri.m4 +0 -36
  178. package/deps/xz/m4/inttypes_h.m4 +0 -26
  179. package/deps/xz/m4/lcmessage.m4 +0 -31
  180. package/deps/xz/m4/lib-ld.m4 +0 -110
  181. package/deps/xz/m4/lib-link.m4 +0 -774
  182. package/deps/xz/m4/lib-prefix.m4 +0 -224
  183. package/deps/xz/m4/libtool.m4 +0 -7997
  184. package/deps/xz/m4/lock.m4 +0 -37
  185. package/deps/xz/m4/longlong.m4 +0 -106
  186. package/deps/xz/m4/ltoptions.m4 +0 -384
  187. package/deps/xz/m4/ltsugar.m4 +0 -123
  188. package/deps/xz/m4/ltversion.m4 +0 -23
  189. package/deps/xz/m4/lt~obsolete.m4 +0 -98
  190. package/deps/xz/m4/nls.m4 +0 -32
  191. package/deps/xz/m4/po.m4 +0 -449
  192. package/deps/xz/m4/posix-shell.m4 +0 -63
  193. package/deps/xz/m4/printf-posix.m4 +0 -45
  194. package/deps/xz/m4/progtest.m4 +0 -92
  195. package/deps/xz/m4/size_max.m4 +0 -75
  196. package/deps/xz/m4/stdint_h.m4 +0 -26
  197. package/deps/xz/m4/threadlib.m4 +0 -347
  198. package/deps/xz/m4/tuklib_common.m4 +0 -22
  199. package/deps/xz/m4/tuklib_cpucores.m4 +0 -148
  200. package/deps/xz/m4/tuklib_integer.m4 +0 -74
  201. package/deps/xz/m4/tuklib_mbstr.m4 +0 -30
  202. package/deps/xz/m4/tuklib_physmem.m4 +0 -212
  203. package/deps/xz/m4/tuklib_progname.m4 +0 -25
  204. package/deps/xz/m4/uintmax_t.m4 +0 -30
  205. package/deps/xz/m4/visibility.m4 +0 -74
  206. package/deps/xz/m4/wchar_t.m4 +0 -20
  207. package/deps/xz/m4/wint_t.m4 +0 -28
  208. package/deps/xz/m4/xsize.m4 +0 -13
  209. package/deps/xz/macosx/build.sh +0 -113
  210. package/deps/xz/po/LINGUAS +0 -6
  211. package/deps/xz/po/Makefile +0 -549
  212. package/deps/xz/po/Makefile.in +0 -444
  213. package/deps/xz/po/Makefile.in.in +0 -444
  214. package/deps/xz/po/Makevars +0 -46
  215. package/deps/xz/po/Makevars.template +0 -41
  216. package/deps/xz/po/POTFILES +0 -12
  217. package/deps/xz/po/POTFILES.in +0 -13
  218. package/deps/xz/po/Rules-quot +0 -47
  219. package/deps/xz/po/boldquot.sed +0 -10
  220. package/deps/xz/po/cs.gmo +0 -0
  221. package/deps/xz/po/cs.po +0 -989
  222. package/deps/xz/po/de.gmo +0 -0
  223. package/deps/xz/po/de.po +0 -990
  224. package/deps/xz/po/en@boldquot.header +0 -25
  225. package/deps/xz/po/en@quot.header +0 -22
  226. package/deps/xz/po/fr.gmo +0 -0
  227. package/deps/xz/po/fr.po +0 -974
  228. package/deps/xz/po/insert-header.sin +0 -23
  229. package/deps/xz/po/it.gmo +0 -0
  230. package/deps/xz/po/it.po +0 -975
  231. package/deps/xz/po/pl.gmo +0 -0
  232. package/deps/xz/po/pl.po +0 -964
  233. package/deps/xz/po/quot.sed +0 -6
  234. package/deps/xz/po/remove-potcdate.sin +0 -19
  235. package/deps/xz/po/stamp-po +0 -1
  236. package/deps/xz/po/vi.gmo +0 -0
  237. package/deps/xz/po/vi.po +0 -970
  238. package/deps/xz/po/xz.pot +0 -854
  239. package/deps/xz/share/doc/xz/AUTHORS +0 -27
  240. package/deps/xz/share/doc/xz/COPYING +0 -65
  241. package/deps/xz/share/doc/xz/COPYING.GPLv2 +0 -339
  242. package/deps/xz/share/doc/xz/NEWS +0 -505
  243. package/deps/xz/share/doc/xz/README +0 -308
  244. package/deps/xz/share/doc/xz/THANKS +0 -116
  245. package/deps/xz/share/doc/xz/TODO +0 -111
  246. package/deps/xz/share/doc/xz/examples/00_README.txt +0 -31
  247. package/deps/xz/share/doc/xz/examples/01_compress_easy.c +0 -297
  248. package/deps/xz/share/doc/xz/examples/02_decompress.c +0 -287
  249. package/deps/xz/share/doc/xz/examples/03_compress_custom.c +0 -193
  250. package/deps/xz/share/doc/xz/examples/04_compress_easy_mt.c +0 -206
  251. package/deps/xz/share/doc/xz/examples/Makefile +0 -24
  252. package/deps/xz/share/doc/xz/examples_old/xz_pipe_comp.c +0 -127
  253. package/deps/xz/share/doc/xz/examples_old/xz_pipe_decomp.c +0 -123
  254. package/deps/xz/share/doc/xz/faq.txt +0 -224
  255. package/deps/xz/share/doc/xz/history.txt +0 -150
  256. package/deps/xz/share/doc/xz/lzma-file-format.txt +0 -166
  257. package/deps/xz/share/doc/xz/xz-file-format.txt +0 -1150
  258. package/deps/xz/share/locale/cs/LC_MESSAGES/xz.mo +0 -0
  259. package/deps/xz/share/locale/de/LC_MESSAGES/xz.mo +0 -0
  260. package/deps/xz/share/locale/fr/LC_MESSAGES/xz.mo +0 -0
  261. package/deps/xz/share/locale/it/LC_MESSAGES/xz.mo +0 -0
  262. package/deps/xz/share/locale/pl/LC_MESSAGES/xz.mo +0 -0
  263. package/deps/xz/share/locale/vi/LC_MESSAGES/xz.mo +0 -0
  264. package/deps/xz/src/Makefile +0 -674
  265. package/deps/xz/src/Makefile.am +0 -42
  266. package/deps/xz/src/Makefile.in +0 -674
  267. package/deps/xz/src/common/common_w32res.rc +0 -50
  268. package/deps/xz/src/common/mythread.h +0 -521
  269. package/deps/xz/src/common/sysdefs.h +0 -202
  270. package/deps/xz/src/common/tuklib_common.h +0 -71
  271. package/deps/xz/src/common/tuklib_config.h +0 -7
  272. package/deps/xz/src/common/tuklib_cpucores.c +0 -91
  273. package/deps/xz/src/common/tuklib_cpucores.h +0 -23
  274. package/deps/xz/src/common/tuklib_exit.c +0 -57
  275. package/deps/xz/src/common/tuklib_exit.h +0 -25
  276. package/deps/xz/src/common/tuklib_gettext.h +0 -44
  277. package/deps/xz/src/common/tuklib_integer.h +0 -523
  278. package/deps/xz/src/common/tuklib_mbstr.h +0 -66
  279. package/deps/xz/src/common/tuklib_mbstr_fw.c +0 -31
  280. package/deps/xz/src/common/tuklib_mbstr_width.c +0 -64
  281. package/deps/xz/src/common/tuklib_open_stdxxx.c +0 -57
  282. package/deps/xz/src/common/tuklib_open_stdxxx.h +0 -23
  283. package/deps/xz/src/common/tuklib_physmem.c +0 -215
  284. package/deps/xz/src/common/tuklib_physmem.h +0 -28
  285. package/deps/xz/src/common/tuklib_progname.c +0 -50
  286. package/deps/xz/src/common/tuklib_progname.h +0 -32
  287. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_decoder.Plo +0 -269
  288. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_encoder.Plo +0 -263
  289. package/deps/xz/src/liblzma/.deps/liblzma_la-arm.Plo +0 -263
  290. package/deps/xz/src/liblzma/.deps/liblzma_la-armthumb.Plo +0 -263
  291. package/deps/xz/src/liblzma/.deps/liblzma_la-auto_decoder.Plo +0 -263
  292. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_decoder.Plo +0 -261
  293. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_encoder.Plo +0 -273
  294. package/deps/xz/src/liblzma/.deps/liblzma_la-block_decoder.Plo +0 -268
  295. package/deps/xz/src/liblzma/.deps/liblzma_la-block_encoder.Plo +0 -268
  296. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_decoder.Plo +0 -263
  297. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_encoder.Plo +0 -263
  298. package/deps/xz/src/liblzma/.deps/liblzma_la-block_util.Plo +0 -260
  299. package/deps/xz/src/liblzma/.deps/liblzma_la-check.Plo +0 -261
  300. package/deps/xz/src/liblzma/.deps/liblzma_la-common.Plo +0 -258
  301. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_fast.Plo +0 -263
  302. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_small.Plo +0 -1
  303. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_table.Plo +0 -260
  304. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_x86.Plo +0 -1
  305. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_fast.Plo +0 -263
  306. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_small.Plo +0 -1
  307. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_table.Plo +0 -260
  308. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_x86.Plo +0 -1
  309. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_common.Plo +0 -263
  310. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_decoder.Plo +0 -265
  311. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_encoder.Plo +0 -265
  312. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_buffer_encoder.Plo +0 -261
  313. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_decoder_memusage.Plo +0 -261
  314. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder.Plo +0 -261
  315. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder_memusage.Plo +0 -261
  316. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_preset.Plo +0 -261
  317. package/deps/xz/src/liblzma/.deps/liblzma_la-fastpos_table.Plo +0 -261
  318. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_decoder.Plo +0 -261
  319. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_encoder.Plo +0 -261
  320. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_common.Plo +0 -261
  321. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_decoder.Plo +0 -283
  322. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_encoder.Plo +0 -283
  323. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_decoder.Plo +0 -261
  324. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_encoder.Plo +0 -261
  325. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_cputhreads.Plo +0 -260
  326. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_physmem.Plo +0 -260
  327. package/deps/xz/src/liblzma/.deps/liblzma_la-ia64.Plo +0 -263
  328. package/deps/xz/src/liblzma/.deps/liblzma_la-index.Plo +0 -262
  329. package/deps/xz/src/liblzma/.deps/liblzma_la-index_decoder.Plo +0 -266
  330. package/deps/xz/src/liblzma/.deps/liblzma_la-index_encoder.Plo +0 -268
  331. package/deps/xz/src/liblzma/.deps/liblzma_la-index_hash.Plo +0 -265
  332. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_decoder.Plo +0 -261
  333. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder.Plo +0 -286
  334. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder_mf.Plo +0 -286
  335. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_decoder.Plo +0 -266
  336. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_encoder.Plo +0 -268
  337. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_decoder.Plo +0 -274
  338. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder.Plo +0 -285
  339. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_fast.Plo +0 -300
  340. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_normal.Plo +0 -303
  341. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_presets.Plo +0 -259
  342. package/deps/xz/src/liblzma/.deps/liblzma_la-outqueue.Plo +0 -260
  343. package/deps/xz/src/liblzma/.deps/liblzma_la-powerpc.Plo +0 -263
  344. package/deps/xz/src/liblzma/.deps/liblzma_la-price_table.Plo +0 -266
  345. package/deps/xz/src/liblzma/.deps/liblzma_la-sha256.Plo +0 -261
  346. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_coder.Plo +0 -263
  347. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_decoder.Plo +0 -263
  348. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_encoder.Plo +0 -263
  349. package/deps/xz/src/liblzma/.deps/liblzma_la-sparc.Plo +0 -263
  350. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_decoder.Plo +0 -261
  351. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_encoder.Plo +0 -261
  352. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_decoder.Plo +0 -263
  353. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder.Plo +0 -263
  354. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder_mt.Plo +0 -273
  355. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_common.Plo +0 -261
  356. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_decoder.Plo +0 -261
  357. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_encoder.Plo +0 -261
  358. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_cpucores.Plo +0 -170
  359. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_physmem.Plo +0 -170
  360. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_decoder.Plo +0 -258
  361. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_encoder.Plo +0 -258
  362. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_size.Plo +0 -258
  363. package/deps/xz/src/liblzma/.deps/liblzma_la-x86.Plo +0 -263
  364. package/deps/xz/src/liblzma/.libs/liblzma.a +0 -0
  365. package/deps/xz/src/liblzma/.libs/liblzma.lai +0 -41
  366. package/deps/xz/src/liblzma/Makefile +0 -1858
  367. package/deps/xz/src/liblzma/Makefile.am +0 -122
  368. package/deps/xz/src/liblzma/Makefile.in +0 -1858
  369. package/deps/xz/src/liblzma/api/Makefile +0 -608
  370. package/deps/xz/src/liblzma/api/Makefile.am +0 -23
  371. package/deps/xz/src/liblzma/api/Makefile.in +0 -608
  372. package/deps/xz/src/liblzma/api/lzma/base.h +0 -654
  373. package/deps/xz/src/liblzma/api/lzma/bcj.h +0 -90
  374. package/deps/xz/src/liblzma/api/lzma/block.h +0 -581
  375. package/deps/xz/src/liblzma/api/lzma/check.h +0 -150
  376. package/deps/xz/src/liblzma/api/lzma/container.h +0 -619
  377. package/deps/xz/src/liblzma/api/lzma/delta.h +0 -77
  378. package/deps/xz/src/liblzma/api/lzma/filter.h +0 -425
  379. package/deps/xz/src/liblzma/api/lzma/hardware.h +0 -64
  380. package/deps/xz/src/liblzma/api/lzma/index.h +0 -682
  381. package/deps/xz/src/liblzma/api/lzma/index_hash.h +0 -107
  382. package/deps/xz/src/liblzma/api/lzma/lzma12.h +0 -420
  383. package/deps/xz/src/liblzma/api/lzma/stream_flags.h +0 -223
  384. package/deps/xz/src/liblzma/api/lzma/version.h +0 -121
  385. package/deps/xz/src/liblzma/api/lzma/vli.h +0 -166
  386. package/deps/xz/src/liblzma/api/lzma.h +0 -321
  387. package/deps/xz/src/liblzma/check/Makefile.inc +0 -53
  388. package/deps/xz/src/liblzma/check/check.c +0 -174
  389. package/deps/xz/src/liblzma/check/check.h +0 -162
  390. package/deps/xz/src/liblzma/check/crc32_fast.c +0 -82
  391. package/deps/xz/src/liblzma/check/crc32_small.c +0 -61
  392. package/deps/xz/src/liblzma/check/crc32_table.c +0 -19
  393. package/deps/xz/src/liblzma/check/crc32_table_be.h +0 -525
  394. package/deps/xz/src/liblzma/check/crc32_table_le.h +0 -525
  395. package/deps/xz/src/liblzma/check/crc32_tablegen.c +0 -117
  396. package/deps/xz/src/liblzma/check/crc32_x86.S +0 -304
  397. package/deps/xz/src/liblzma/check/crc64_fast.c +0 -72
  398. package/deps/xz/src/liblzma/check/crc64_small.c +0 -53
  399. package/deps/xz/src/liblzma/check/crc64_table.c +0 -19
  400. package/deps/xz/src/liblzma/check/crc64_table_be.h +0 -521
  401. package/deps/xz/src/liblzma/check/crc64_table_le.h +0 -521
  402. package/deps/xz/src/liblzma/check/crc64_tablegen.c +0 -88
  403. package/deps/xz/src/liblzma/check/crc64_x86.S +0 -287
  404. package/deps/xz/src/liblzma/check/crc_macros.h +0 -30
  405. package/deps/xz/src/liblzma/check/sha256.c +0 -196
  406. package/deps/xz/src/liblzma/common/Makefile.inc +0 -76
  407. package/deps/xz/src/liblzma/common/alone_decoder.c +0 -238
  408. package/deps/xz/src/liblzma/common/alone_decoder.h +0 -23
  409. package/deps/xz/src/liblzma/common/alone_encoder.c +0 -157
  410. package/deps/xz/src/liblzma/common/auto_decoder.c +0 -186
  411. package/deps/xz/src/liblzma/common/block_buffer_decoder.c +0 -80
  412. package/deps/xz/src/liblzma/common/block_buffer_encoder.c +0 -337
  413. package/deps/xz/src/liblzma/common/block_buffer_encoder.h +0 -24
  414. package/deps/xz/src/liblzma/common/block_decoder.c +0 -252
  415. package/deps/xz/src/liblzma/common/block_decoder.h +0 -22
  416. package/deps/xz/src/liblzma/common/block_encoder.c +0 -217
  417. package/deps/xz/src/liblzma/common/block_encoder.h +0 -47
  418. package/deps/xz/src/liblzma/common/block_header_decoder.c +0 -124
  419. package/deps/xz/src/liblzma/common/block_header_encoder.c +0 -132
  420. package/deps/xz/src/liblzma/common/block_util.c +0 -90
  421. package/deps/xz/src/liblzma/common/common.c +0 -443
  422. package/deps/xz/src/liblzma/common/common.h +0 -318
  423. package/deps/xz/src/liblzma/common/easy_buffer_encoder.c +0 -27
  424. package/deps/xz/src/liblzma/common/easy_decoder_memusage.c +0 -24
  425. package/deps/xz/src/liblzma/common/easy_encoder.c +0 -24
  426. package/deps/xz/src/liblzma/common/easy_encoder_memusage.c +0 -24
  427. package/deps/xz/src/liblzma/common/easy_preset.c +0 -27
  428. package/deps/xz/src/liblzma/common/easy_preset.h +0 -32
  429. package/deps/xz/src/liblzma/common/filter_buffer_decoder.c +0 -88
  430. package/deps/xz/src/liblzma/common/filter_buffer_encoder.c +0 -55
  431. package/deps/xz/src/liblzma/common/filter_common.c +0 -337
  432. package/deps/xz/src/liblzma/common/filter_common.h +0 -48
  433. package/deps/xz/src/liblzma/common/filter_decoder.c +0 -184
  434. package/deps/xz/src/liblzma/common/filter_decoder.h +0 -23
  435. package/deps/xz/src/liblzma/common/filter_encoder.c +0 -286
  436. package/deps/xz/src/liblzma/common/filter_encoder.h +0 -27
  437. package/deps/xz/src/liblzma/common/filter_flags_decoder.c +0 -46
  438. package/deps/xz/src/liblzma/common/filter_flags_encoder.c +0 -56
  439. package/deps/xz/src/liblzma/common/hardware_cputhreads.c +0 -22
  440. package/deps/xz/src/liblzma/common/hardware_physmem.c +0 -25
  441. package/deps/xz/src/liblzma/common/index.c +0 -1246
  442. package/deps/xz/src/liblzma/common/index.h +0 -73
  443. package/deps/xz/src/liblzma/common/index_decoder.c +0 -345
  444. package/deps/xz/src/liblzma/common/index_encoder.c +0 -254
  445. package/deps/xz/src/liblzma/common/index_encoder.h +0 -23
  446. package/deps/xz/src/liblzma/common/index_hash.c +0 -334
  447. package/deps/xz/src/liblzma/common/memcmplen.h +0 -175
  448. package/deps/xz/src/liblzma/common/outqueue.c +0 -184
  449. package/deps/xz/src/liblzma/common/outqueue.h +0 -156
  450. package/deps/xz/src/liblzma/common/stream_buffer_decoder.c +0 -91
  451. package/deps/xz/src/liblzma/common/stream_buffer_encoder.c +0 -141
  452. package/deps/xz/src/liblzma/common/stream_decoder.c +0 -462
  453. package/deps/xz/src/liblzma/common/stream_decoder.h +0 -22
  454. package/deps/xz/src/liblzma/common/stream_encoder.c +0 -332
  455. package/deps/xz/src/liblzma/common/stream_encoder_mt.c +0 -1131
  456. package/deps/xz/src/liblzma/common/stream_flags_common.c +0 -47
  457. package/deps/xz/src/liblzma/common/stream_flags_common.h +0 -33
  458. package/deps/xz/src/liblzma/common/stream_flags_decoder.c +0 -82
  459. package/deps/xz/src/liblzma/common/stream_flags_encoder.c +0 -86
  460. package/deps/xz/src/liblzma/common/vli_decoder.c +0 -86
  461. package/deps/xz/src/liblzma/common/vli_encoder.c +0 -69
  462. package/deps/xz/src/liblzma/common/vli_size.c +0 -30
  463. package/deps/xz/src/liblzma/delta/Makefile.inc +0 -23
  464. package/deps/xz/src/liblzma/delta/delta_common.c +0 -70
  465. package/deps/xz/src/liblzma/delta/delta_common.h +0 -20
  466. package/deps/xz/src/liblzma/delta/delta_decoder.c +0 -76
  467. package/deps/xz/src/liblzma/delta/delta_decoder.h +0 -26
  468. package/deps/xz/src/liblzma/delta/delta_encoder.c +0 -121
  469. package/deps/xz/src/liblzma/delta/delta_encoder.h +0 -24
  470. package/deps/xz/src/liblzma/delta/delta_private.h +0 -37
  471. package/deps/xz/src/liblzma/liblzma.la +0 -41
  472. package/deps/xz/src/liblzma/liblzma.map +0 -108
  473. package/deps/xz/src/liblzma/liblzma.pc +0 -19
  474. package/deps/xz/src/liblzma/liblzma.pc.in +0 -19
  475. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.lo +0 -12
  476. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.o +0 -0
  477. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.lo +0 -12
  478. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.o +0 -0
  479. package/deps/xz/src/liblzma/liblzma_la-arm.lo +0 -12
  480. package/deps/xz/src/liblzma/liblzma_la-arm.o +0 -0
  481. package/deps/xz/src/liblzma/liblzma_la-armthumb.lo +0 -12
  482. package/deps/xz/src/liblzma/liblzma_la-armthumb.o +0 -0
  483. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.lo +0 -12
  484. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.o +0 -0
  485. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.lo +0 -12
  486. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.o +0 -0
  487. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.lo +0 -12
  488. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.o +0 -0
  489. package/deps/xz/src/liblzma/liblzma_la-block_decoder.lo +0 -12
  490. package/deps/xz/src/liblzma/liblzma_la-block_decoder.o +0 -0
  491. package/deps/xz/src/liblzma/liblzma_la-block_encoder.lo +0 -12
  492. package/deps/xz/src/liblzma/liblzma_la-block_encoder.o +0 -0
  493. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.lo +0 -12
  494. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.o +0 -0
  495. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.lo +0 -12
  496. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.o +0 -0
  497. package/deps/xz/src/liblzma/liblzma_la-block_util.lo +0 -12
  498. package/deps/xz/src/liblzma/liblzma_la-block_util.o +0 -0
  499. package/deps/xz/src/liblzma/liblzma_la-check.lo +0 -12
  500. package/deps/xz/src/liblzma/liblzma_la-check.o +0 -0
  501. package/deps/xz/src/liblzma/liblzma_la-common.lo +0 -12
  502. package/deps/xz/src/liblzma/liblzma_la-common.o +0 -0
  503. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.lo +0 -12
  504. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.o +0 -0
  505. package/deps/xz/src/liblzma/liblzma_la-crc32_table.lo +0 -12
  506. package/deps/xz/src/liblzma/liblzma_la-crc32_table.o +0 -0
  507. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.lo +0 -12
  508. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.o +0 -0
  509. package/deps/xz/src/liblzma/liblzma_la-crc64_table.lo +0 -12
  510. package/deps/xz/src/liblzma/liblzma_la-crc64_table.o +0 -0
  511. package/deps/xz/src/liblzma/liblzma_la-delta_common.lo +0 -12
  512. package/deps/xz/src/liblzma/liblzma_la-delta_common.o +0 -0
  513. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.lo +0 -12
  514. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.o +0 -0
  515. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.lo +0 -12
  516. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.o +0 -0
  517. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.lo +0 -12
  518. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.o +0 -0
  519. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.lo +0 -12
  520. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.o +0 -0
  521. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.lo +0 -12
  522. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.o +0 -0
  523. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.lo +0 -12
  524. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.o +0 -0
  525. package/deps/xz/src/liblzma/liblzma_la-easy_preset.lo +0 -12
  526. package/deps/xz/src/liblzma/liblzma_la-easy_preset.o +0 -0
  527. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.lo +0 -12
  528. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.o +0 -0
  529. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.lo +0 -12
  530. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.o +0 -0
  531. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.lo +0 -12
  532. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.o +0 -0
  533. package/deps/xz/src/liblzma/liblzma_la-filter_common.lo +0 -12
  534. package/deps/xz/src/liblzma/liblzma_la-filter_common.o +0 -0
  535. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.lo +0 -12
  536. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.o +0 -0
  537. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.lo +0 -12
  538. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.o +0 -0
  539. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.lo +0 -12
  540. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.o +0 -0
  541. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.lo +0 -12
  542. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.o +0 -0
  543. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.lo +0 -12
  544. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.o +0 -0
  545. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.lo +0 -12
  546. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.o +0 -0
  547. package/deps/xz/src/liblzma/liblzma_la-ia64.lo +0 -12
  548. package/deps/xz/src/liblzma/liblzma_la-ia64.o +0 -0
  549. package/deps/xz/src/liblzma/liblzma_la-index.lo +0 -12
  550. package/deps/xz/src/liblzma/liblzma_la-index.o +0 -0
  551. package/deps/xz/src/liblzma/liblzma_la-index_decoder.lo +0 -12
  552. package/deps/xz/src/liblzma/liblzma_la-index_decoder.o +0 -0
  553. package/deps/xz/src/liblzma/liblzma_la-index_encoder.lo +0 -12
  554. package/deps/xz/src/liblzma/liblzma_la-index_encoder.o +0 -0
  555. package/deps/xz/src/liblzma/liblzma_la-index_hash.lo +0 -12
  556. package/deps/xz/src/liblzma/liblzma_la-index_hash.o +0 -0
  557. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.lo +0 -12
  558. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.o +0 -0
  559. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.lo +0 -12
  560. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.o +0 -0
  561. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.lo +0 -12
  562. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.o +0 -0
  563. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.lo +0 -12
  564. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.o +0 -0
  565. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.lo +0 -12
  566. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.o +0 -0
  567. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.lo +0 -12
  568. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.o +0 -0
  569. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.lo +0 -12
  570. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.o +0 -0
  571. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.lo +0 -12
  572. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.o +0 -0
  573. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.lo +0 -12
  574. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.o +0 -0
  575. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.lo +0 -12
  576. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.o +0 -0
  577. package/deps/xz/src/liblzma/liblzma_la-outqueue.lo +0 -12
  578. package/deps/xz/src/liblzma/liblzma_la-outqueue.o +0 -0
  579. package/deps/xz/src/liblzma/liblzma_la-powerpc.lo +0 -12
  580. package/deps/xz/src/liblzma/liblzma_la-powerpc.o +0 -0
  581. package/deps/xz/src/liblzma/liblzma_la-price_table.lo +0 -12
  582. package/deps/xz/src/liblzma/liblzma_la-price_table.o +0 -0
  583. package/deps/xz/src/liblzma/liblzma_la-sha256.lo +0 -12
  584. package/deps/xz/src/liblzma/liblzma_la-sha256.o +0 -0
  585. package/deps/xz/src/liblzma/liblzma_la-simple_coder.lo +0 -12
  586. package/deps/xz/src/liblzma/liblzma_la-simple_coder.o +0 -0
  587. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.lo +0 -12
  588. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.o +0 -0
  589. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.lo +0 -12
  590. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.o +0 -0
  591. package/deps/xz/src/liblzma/liblzma_la-sparc.lo +0 -12
  592. package/deps/xz/src/liblzma/liblzma_la-sparc.o +0 -0
  593. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.lo +0 -12
  594. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.o +0 -0
  595. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.lo +0 -12
  596. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.o +0 -0
  597. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.lo +0 -12
  598. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.o +0 -0
  599. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.lo +0 -12
  600. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.o +0 -0
  601. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.lo +0 -12
  602. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.o +0 -0
  603. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.lo +0 -12
  604. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.o +0 -0
  605. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.lo +0 -12
  606. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.o +0 -0
  607. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.lo +0 -12
  608. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.o +0 -0
  609. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.lo +0 -12
  610. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.o +0 -0
  611. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.lo +0 -12
  612. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.o +0 -0
  613. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.lo +0 -12
  614. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.o +0 -0
  615. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.lo +0 -12
  616. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.o +0 -0
  617. package/deps/xz/src/liblzma/liblzma_la-vli_size.lo +0 -12
  618. package/deps/xz/src/liblzma/liblzma_la-vli_size.o +0 -0
  619. package/deps/xz/src/liblzma/liblzma_la-x86.lo +0 -12
  620. package/deps/xz/src/liblzma/liblzma_la-x86.o +0 -0
  621. package/deps/xz/src/liblzma/liblzma_w32res.rc +0 -12
  622. package/deps/xz/src/liblzma/lz/Makefile.inc +0 -22
  623. package/deps/xz/src/liblzma/lz/lz_decoder.c +0 -300
  624. package/deps/xz/src/liblzma/lz/lz_decoder.h +0 -235
  625. package/deps/xz/src/liblzma/lz/lz_encoder.c +0 -605
  626. package/deps/xz/src/liblzma/lz/lz_encoder.h +0 -328
  627. package/deps/xz/src/liblzma/lz/lz_encoder_hash.h +0 -108
  628. package/deps/xz/src/liblzma/lz/lz_encoder_hash_table.h +0 -68
  629. package/deps/xz/src/liblzma/lz/lz_encoder_mf.c +0 -744
  630. package/deps/xz/src/liblzma/lzma/Makefile.inc +0 -43
  631. package/deps/xz/src/liblzma/lzma/fastpos.h +0 -141
  632. package/deps/xz/src/liblzma/lzma/fastpos_table.c +0 -519
  633. package/deps/xz/src/liblzma/lzma/fastpos_tablegen.c +0 -56
  634. package/deps/xz/src/liblzma/lzma/lzma2_decoder.c +0 -304
  635. package/deps/xz/src/liblzma/lzma/lzma2_decoder.h +0 -29
  636. package/deps/xz/src/liblzma/lzma/lzma2_encoder.c +0 -403
  637. package/deps/xz/src/liblzma/lzma/lzma2_encoder.h +0 -43
  638. package/deps/xz/src/liblzma/lzma/lzma_common.h +0 -224
  639. package/deps/xz/src/liblzma/lzma/lzma_decoder.c +0 -1061
  640. package/deps/xz/src/liblzma/lzma/lzma_decoder.h +0 -53
  641. package/deps/xz/src/liblzma/lzma/lzma_encoder.c +0 -676
  642. package/deps/xz/src/liblzma/lzma/lzma_encoder.h +0 -55
  643. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +0 -169
  644. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +0 -854
  645. package/deps/xz/src/liblzma/lzma/lzma_encoder_presets.c +0 -63
  646. package/deps/xz/src/liblzma/lzma/lzma_encoder_private.h +0 -148
  647. package/deps/xz/src/liblzma/rangecoder/Makefile.inc +0 -21
  648. package/deps/xz/src/liblzma/rangecoder/price.h +0 -92
  649. package/deps/xz/src/liblzma/rangecoder/price_table.c +0 -22
  650. package/deps/xz/src/liblzma/rangecoder/price_tablegen.c +0 -87
  651. package/deps/xz/src/liblzma/rangecoder/range_common.h +0 -73
  652. package/deps/xz/src/liblzma/rangecoder/range_decoder.h +0 -185
  653. package/deps/xz/src/liblzma/rangecoder/range_encoder.h +0 -231
  654. package/deps/xz/src/liblzma/simple/Makefile.inc +0 -47
  655. package/deps/xz/src/liblzma/simple/arm.c +0 -71
  656. package/deps/xz/src/liblzma/simple/armthumb.c +0 -76
  657. package/deps/xz/src/liblzma/simple/ia64.c +0 -112
  658. package/deps/xz/src/liblzma/simple/powerpc.c +0 -75
  659. package/deps/xz/src/liblzma/simple/simple_coder.c +0 -277
  660. package/deps/xz/src/liblzma/simple/simple_coder.h +0 -72
  661. package/deps/xz/src/liblzma/simple/simple_decoder.c +0 -40
  662. package/deps/xz/src/liblzma/simple/simple_decoder.h +0 -22
  663. package/deps/xz/src/liblzma/simple/simple_encoder.c +0 -38
  664. package/deps/xz/src/liblzma/simple/simple_encoder.h +0 -23
  665. package/deps/xz/src/liblzma/simple/simple_private.h +0 -76
  666. package/deps/xz/src/liblzma/simple/sparc.c +0 -83
  667. package/deps/xz/src/liblzma/simple/x86.c +0 -156
  668. package/deps/xz/src/liblzma/validate_map.sh +0 -68
  669. package/deps/xz/src/lzmainfo/.deps/lzmainfo-lzmainfo.Po +0 -1
  670. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_exit.Po +0 -1
  671. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_progname.Po +0 -1
  672. package/deps/xz/src/lzmainfo/Makefile +0 -802
  673. package/deps/xz/src/lzmainfo/Makefile.am +0 -39
  674. package/deps/xz/src/lzmainfo/Makefile.in +0 -802
  675. package/deps/xz/src/lzmainfo/lzmainfo.1 +0 -60
  676. package/deps/xz/src/lzmainfo/lzmainfo.c +0 -219
  677. package/deps/xz/src/lzmainfo/lzmainfo_w32res.rc +0 -12
  678. package/deps/xz/src/scripts/Makefile +0 -642
  679. package/deps/xz/src/scripts/Makefile.am +0 -55
  680. package/deps/xz/src/scripts/Makefile.in +0 -642
  681. package/deps/xz/src/scripts/xzdiff +0 -200
  682. package/deps/xz/src/scripts/xzdiff.1 +0 -77
  683. package/deps/xz/src/scripts/xzdiff.in +0 -200
  684. package/deps/xz/src/scripts/xzgrep +0 -215
  685. package/deps/xz/src/scripts/xzgrep.1 +0 -98
  686. package/deps/xz/src/scripts/xzgrep.in +0 -215
  687. package/deps/xz/src/scripts/xzless +0 -58
  688. package/deps/xz/src/scripts/xzless.1 +0 -69
  689. package/deps/xz/src/scripts/xzless.in +0 -58
  690. package/deps/xz/src/scripts/xzmore +0 -78
  691. package/deps/xz/src/scripts/xzmore.1 +0 -55
  692. package/deps/xz/src/scripts/xzmore.in +0 -78
  693. package/deps/xz/src/xz/.deps/xz-args.Po +0 -1
  694. package/deps/xz/src/xz/.deps/xz-coder.Po +0 -1
  695. package/deps/xz/src/xz/.deps/xz-file_io.Po +0 -1
  696. package/deps/xz/src/xz/.deps/xz-hardware.Po +0 -1
  697. package/deps/xz/src/xz/.deps/xz-list.Po +0 -1
  698. package/deps/xz/src/xz/.deps/xz-main.Po +0 -1
  699. package/deps/xz/src/xz/.deps/xz-message.Po +0 -1
  700. package/deps/xz/src/xz/.deps/xz-mytime.Po +0 -1
  701. package/deps/xz/src/xz/.deps/xz-options.Po +0 -1
  702. package/deps/xz/src/xz/.deps/xz-signals.Po +0 -1
  703. package/deps/xz/src/xz/.deps/xz-suffix.Po +0 -1
  704. package/deps/xz/src/xz/.deps/xz-tuklib_exit.Po +0 -1
  705. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_fw.Po +0 -1
  706. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_width.Po +0 -1
  707. package/deps/xz/src/xz/.deps/xz-tuklib_open_stdxxx.Po +0 -1
  708. package/deps/xz/src/xz/.deps/xz-tuklib_progname.Po +0 -1
  709. package/deps/xz/src/xz/.deps/xz-util.Po +0 -1
  710. package/deps/xz/src/xz/Makefile +0 -1066
  711. package/deps/xz/src/xz/Makefile.am +0 -107
  712. package/deps/xz/src/xz/Makefile.in +0 -1066
  713. package/deps/xz/src/xz/args.c +0 -684
  714. package/deps/xz/src/xz/args.h +0 -44
  715. package/deps/xz/src/xz/coder.c +0 -919
  716. package/deps/xz/src/xz/coder.h +0 -76
  717. package/deps/xz/src/xz/file_io.c +0 -1184
  718. package/deps/xz/src/xz/file_io.h +0 -150
  719. package/deps/xz/src/xz/hardware.c +0 -150
  720. package/deps/xz/src/xz/hardware.h +0 -37
  721. package/deps/xz/src/xz/list.c +0 -1186
  722. package/deps/xz/src/xz/list.h +0 -18
  723. package/deps/xz/src/xz/main.c +0 -307
  724. package/deps/xz/src/xz/main.h +0 -30
  725. package/deps/xz/src/xz/message.c +0 -1258
  726. package/deps/xz/src/xz/message.h +0 -167
  727. package/deps/xz/src/xz/mytime.c +0 -89
  728. package/deps/xz/src/xz/mytime.h +0 -47
  729. package/deps/xz/src/xz/options.c +0 -363
  730. package/deps/xz/src/xz/options.h +0 -31
  731. package/deps/xz/src/xz/private.h +0 -59
  732. package/deps/xz/src/xz/signals.c +0 -209
  733. package/deps/xz/src/xz/signals.h +0 -43
  734. package/deps/xz/src/xz/suffix.c +0 -399
  735. package/deps/xz/src/xz/suffix.h +0 -28
  736. package/deps/xz/src/xz/util.c +0 -288
  737. package/deps/xz/src/xz/util.h +0 -123
  738. package/deps/xz/src/xz/xz.1 +0 -2786
  739. package/deps/xz/src/xz/xz_w32res.rc +0 -12
  740. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_exit.Po +0 -1
  741. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_progname.Po +0 -1
  742. package/deps/xz/src/xzdec/.deps/lzmadec-xzdec.Po +0 -1
  743. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_exit.Po +0 -1
  744. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_progname.Po +0 -1
  745. package/deps/xz/src/xzdec/.deps/xzdec-xzdec.Po +0 -1
  746. package/deps/xz/src/xzdec/Makefile +0 -901
  747. package/deps/xz/src/xzdec/Makefile.am +0 -82
  748. package/deps/xz/src/xzdec/Makefile.in +0 -901
  749. package/deps/xz/src/xzdec/lzmadec_w32res.rc +0 -12
  750. package/deps/xz/src/xzdec/xzdec.1 +0 -146
  751. package/deps/xz/src/xzdec/xzdec.c +0 -323
  752. package/deps/xz/src/xzdec/xzdec_w32res.rc +0 -12
  753. package/deps/xz/stamp-h1 +0 -1
  754. package/deps/xz/tests/.deps/create_compress_files.Po +0 -1
  755. package/deps/xz/tests/.deps/test_bcj_exact_size.Po +0 -1
  756. package/deps/xz/tests/.deps/test_block_header.Po +0 -1
  757. package/deps/xz/tests/.deps/test_check.Po +0 -1
  758. package/deps/xz/tests/.deps/test_filter_flags.Po +0 -1
  759. package/deps/xz/tests/.deps/test_index.Po +0 -1
  760. package/deps/xz/tests/.deps/test_stream_flags.Po +0 -1
  761. package/deps/xz/tests/Makefile +0 -832
  762. package/deps/xz/tests/Makefile.am +0 -57
  763. package/deps/xz/tests/Makefile.in +0 -832
  764. package/deps/xz/tests/bcj_test.c +0 -65
  765. package/deps/xz/tests/compress_prepared_bcj_sparc +0 -0
  766. package/deps/xz/tests/compress_prepared_bcj_x86 +0 -0
  767. package/deps/xz/tests/create_compress_files.c +0 -158
  768. package/deps/xz/tests/files/README +0 -240
  769. package/deps/xz/tests/files/bad-0-backward_size.xz +0 -0
  770. package/deps/xz/tests/files/bad-0-empty-truncated.xz +0 -0
  771. package/deps/xz/tests/files/bad-0-footer_magic.xz +0 -0
  772. package/deps/xz/tests/files/bad-0-header_magic.xz +0 -0
  773. package/deps/xz/tests/files/bad-0-nonempty_index.xz +0 -0
  774. package/deps/xz/tests/files/bad-0cat-alone.xz +0 -0
  775. package/deps/xz/tests/files/bad-0cat-header_magic.xz +0 -0
  776. package/deps/xz/tests/files/bad-0catpad-empty.xz +0 -0
  777. package/deps/xz/tests/files/bad-0pad-empty.xz +0 -0
  778. package/deps/xz/tests/files/bad-1-block_header-1.xz +0 -0
  779. package/deps/xz/tests/files/bad-1-block_header-2.xz +0 -0
  780. package/deps/xz/tests/files/bad-1-block_header-3.xz +0 -0
  781. package/deps/xz/tests/files/bad-1-block_header-4.xz +0 -0
  782. package/deps/xz/tests/files/bad-1-block_header-5.xz +0 -0
  783. package/deps/xz/tests/files/bad-1-block_header-6.xz +0 -0
  784. package/deps/xz/tests/files/bad-1-check-crc32.xz +0 -0
  785. package/deps/xz/tests/files/bad-1-check-crc64.xz +0 -0
  786. package/deps/xz/tests/files/bad-1-check-sha256.xz +0 -0
  787. package/deps/xz/tests/files/bad-1-lzma2-1.xz +0 -0
  788. package/deps/xz/tests/files/bad-1-lzma2-2.xz +0 -0
  789. package/deps/xz/tests/files/bad-1-lzma2-3.xz +0 -0
  790. package/deps/xz/tests/files/bad-1-lzma2-4.xz +0 -0
  791. package/deps/xz/tests/files/bad-1-lzma2-5.xz +0 -0
  792. package/deps/xz/tests/files/bad-1-lzma2-6.xz +0 -0
  793. package/deps/xz/tests/files/bad-1-lzma2-7.xz +0 -0
  794. package/deps/xz/tests/files/bad-1-lzma2-8.xz +0 -0
  795. package/deps/xz/tests/files/bad-1-stream_flags-1.xz +0 -0
  796. package/deps/xz/tests/files/bad-1-stream_flags-2.xz +0 -0
  797. package/deps/xz/tests/files/bad-1-stream_flags-3.xz +0 -0
  798. package/deps/xz/tests/files/bad-1-vli-1.xz +0 -0
  799. package/deps/xz/tests/files/bad-1-vli-2.xz +0 -0
  800. package/deps/xz/tests/files/bad-2-compressed_data_padding.xz +0 -0
  801. package/deps/xz/tests/files/bad-2-index-1.xz +0 -0
  802. package/deps/xz/tests/files/bad-2-index-2.xz +0 -0
  803. package/deps/xz/tests/files/bad-2-index-3.xz +0 -0
  804. package/deps/xz/tests/files/bad-2-index-4.xz +0 -0
  805. package/deps/xz/tests/files/bad-2-index-5.xz +0 -0
  806. package/deps/xz/tests/files/good-0-empty.xz +0 -0
  807. package/deps/xz/tests/files/good-0cat-empty.xz +0 -0
  808. package/deps/xz/tests/files/good-0catpad-empty.xz +0 -0
  809. package/deps/xz/tests/files/good-0pad-empty.xz +0 -0
  810. package/deps/xz/tests/files/good-1-3delta-lzma2.xz +0 -0
  811. package/deps/xz/tests/files/good-1-block_header-1.xz +0 -0
  812. package/deps/xz/tests/files/good-1-block_header-2.xz +0 -0
  813. package/deps/xz/tests/files/good-1-block_header-3.xz +0 -0
  814. package/deps/xz/tests/files/good-1-check-crc32.xz +0 -0
  815. package/deps/xz/tests/files/good-1-check-crc64.xz +0 -0
  816. package/deps/xz/tests/files/good-1-check-none.xz +0 -0
  817. package/deps/xz/tests/files/good-1-check-sha256.xz +0 -0
  818. package/deps/xz/tests/files/good-1-delta-lzma2.tiff.xz +0 -0
  819. package/deps/xz/tests/files/good-1-lzma2-1.xz +0 -0
  820. package/deps/xz/tests/files/good-1-lzma2-2.xz +0 -0
  821. package/deps/xz/tests/files/good-1-lzma2-3.xz +0 -0
  822. package/deps/xz/tests/files/good-1-lzma2-4.xz +0 -0
  823. package/deps/xz/tests/files/good-1-lzma2-5.xz +0 -0
  824. package/deps/xz/tests/files/good-1-sparc-lzma2.xz +0 -0
  825. package/deps/xz/tests/files/good-1-x86-lzma2.xz +0 -0
  826. package/deps/xz/tests/files/good-2-lzma2.xz +0 -0
  827. package/deps/xz/tests/files/unsupported-block_header.xz +0 -0
  828. package/deps/xz/tests/files/unsupported-check.xz +0 -0
  829. package/deps/xz/tests/files/unsupported-filter_flags-1.xz +0 -0
  830. package/deps/xz/tests/files/unsupported-filter_flags-2.xz +0 -0
  831. package/deps/xz/tests/files/unsupported-filter_flags-3.xz +0 -0
  832. package/deps/xz/tests/test_bcj_exact_size.c +0 -113
  833. package/deps/xz/tests/test_block_header.c +0 -240
  834. package/deps/xz/tests/test_check.c +0 -83
  835. package/deps/xz/tests/test_compress.sh +0 -142
  836. package/deps/xz/tests/test_files.sh +0 -57
  837. package/deps/xz/tests/test_filter_flags.c +0 -258
  838. package/deps/xz/tests/test_index.c +0 -659
  839. package/deps/xz/tests/test_scripts.sh +0 -76
  840. package/deps/xz/tests/test_stream_flags.c +0 -180
  841. package/deps/xz/tests/tests.h +0 -124
  842. package/deps/xz/tests/xzgrep_expected_output +0 -39
  843. package/deps/xz/windows/INSTALL-MSVC.txt +0 -47
  844. package/deps/xz/windows/INSTALL-MinGW.txt +0 -138
  845. package/deps/xz/windows/README-Windows.txt +0 -122
  846. package/deps/xz/windows/build.bash +0 -203
  847. package/deps/xz/windows/config.h +0 -142
  848. package/deps/xz/windows/liblzma.vcxproj +0 -354
  849. package/deps/xz/windows/liblzma_dll.vcxproj +0 -383
  850. package/deps/xz/windows/xz_win.sln +0 -48
  851. package/lib/lzma.js +0 -377
  852. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -319
  853. package/node_modules/node-pre-gyp/LICENSE +0 -27
  854. package/node_modules/node-pre-gyp/README.md +0 -570
  855. package/node_modules/node-pre-gyp/appveyor.yml +0 -30
  856. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -131
  857. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  858. package/node_modules/node-pre-gyp/lib/build.js +0 -43
  859. package/node_modules/node-pre-gyp/lib/clean.js +0 -23
  860. package/node_modules/node-pre-gyp/lib/configure.js +0 -48
  861. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  862. package/node_modules/node-pre-gyp/lib/install.js +0 -215
  863. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -192
  864. package/node_modules/node-pre-gyp/lib/package.js +0 -46
  865. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -25
  866. package/node_modules/node-pre-gyp/lib/publish.js +0 -77
  867. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -13
  868. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -13
  869. package/node_modules/node-pre-gyp/lib/reveal.js +0 -31
  870. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -73
  871. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -49
  872. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -41
  873. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1222
  874. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  875. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -94
  876. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  877. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  878. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  879. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -308
  880. package/node_modules/node-pre-gyp/package.json +0 -136
@@ -1,1150 +0,0 @@
1
-
2
- The .xz File Format
3
- ===================
4
-
5
- Version 1.0.4 (2009-08-27)
6
-
7
-
8
- 0. Preface
9
- 0.1. Notices and Acknowledgements
10
- 0.2. Getting the Latest Version
11
- 0.3. Version History
12
- 1. Conventions
13
- 1.1. Byte and Its Representation
14
- 1.2. Multibyte Integers
15
- 2. Overall Structure of .xz File
16
- 2.1. Stream
17
- 2.1.1. Stream Header
18
- 2.1.1.1. Header Magic Bytes
19
- 2.1.1.2. Stream Flags
20
- 2.1.1.3. CRC32
21
- 2.1.2. Stream Footer
22
- 2.1.2.1. CRC32
23
- 2.1.2.2. Backward Size
24
- 2.1.2.3. Stream Flags
25
- 2.1.2.4. Footer Magic Bytes
26
- 2.2. Stream Padding
27
- 3. Block
28
- 3.1. Block Header
29
- 3.1.1. Block Header Size
30
- 3.1.2. Block Flags
31
- 3.1.3. Compressed Size
32
- 3.1.4. Uncompressed Size
33
- 3.1.5. List of Filter Flags
34
- 3.1.6. Header Padding
35
- 3.1.7. CRC32
36
- 3.2. Compressed Data
37
- 3.3. Block Padding
38
- 3.4. Check
39
- 4. Index
40
- 4.1. Index Indicator
41
- 4.2. Number of Records
42
- 4.3. List of Records
43
- 4.3.1. Unpadded Size
44
- 4.3.2. Uncompressed Size
45
- 4.4. Index Padding
46
- 4.5. CRC32
47
- 5. Filter Chains
48
- 5.1. Alignment
49
- 5.2. Security
50
- 5.3. Filters
51
- 5.3.1. LZMA2
52
- 5.3.2. Branch/Call/Jump Filters for Executables
53
- 5.3.3. Delta
54
- 5.3.3.1. Format of the Encoded Output
55
- 5.4. Custom Filter IDs
56
- 5.4.1. Reserved Custom Filter ID Ranges
57
- 6. Cyclic Redundancy Checks
58
- 7. References
59
-
60
-
61
- 0. Preface
62
-
63
- This document describes the .xz file format (filename suffix
64
- ".xz", MIME type "application/x-xz"). It is intended that this
65
- this format replace the old .lzma format used by LZMA SDK and
66
- LZMA Utils.
67
-
68
-
69
- 0.1. Notices and Acknowledgements
70
-
71
- This file format was designed by Lasse Collin
72
- <lasse.collin@tukaani.org> and Igor Pavlov.
73
-
74
- Special thanks for helping with this document goes to
75
- Ville Koskinen. Thanks for helping with this document goes to
76
- Mark Adler, H. Peter Anvin, Mikko Pouru, and Lars Wirzenius.
77
-
78
- This document has been put into the public domain.
79
-
80
-
81
- 0.2. Getting the Latest Version
82
-
83
- The latest official version of this document can be downloaded
84
- from <http://tukaani.org/xz/xz-file-format.txt>.
85
-
86
- Specific versions of this document have a filename
87
- xz-file-format-X.Y.Z.txt where X.Y.Z is the version number.
88
- For example, the version 1.0.0 of this document is available
89
- at <http://tukaani.org/xz/xz-file-format-1.0.0.txt>.
90
-
91
-
92
- 0.3. Version History
93
-
94
- Version Date Description
95
-
96
- 1.0.4 2009-08-27 Language improvements in Sections 1.2,
97
- 2.1.1.2, 3.1.1, 3.1.2, and 5.3.1
98
-
99
- 1.0.3 2009-06-05 Spelling fixes in Sections 5.1 and 5.4
100
-
101
- 1.0.2 2009-06-04 Typo fixes in Sections 4 and 5.3.1
102
-
103
- 1.0.1 2009-06-01 Typo fix in Section 0.3 and minor
104
- clarifications to Sections 2, 2.2,
105
- 3.3, 4.4, and 5.3.2
106
-
107
- 1.0.0 2009-01-14 The first official version
108
-
109
-
110
- 1. Conventions
111
-
112
- The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD",
113
- "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
114
- document are to be interpreted as described in [RFC-2119].
115
-
116
- Indicating a warning means displaying a message, returning
117
- appropriate exit status, or doing something else to let the
118
- user know that something worth warning occurred. The operation
119
- SHOULD still finish if a warning is indicated.
120
-
121
- Indicating an error means displaying a message, returning
122
- appropriate exit status, or doing something else to let the
123
- user know that something prevented successfully finishing the
124
- operation. The operation MUST be aborted once an error has
125
- been indicated.
126
-
127
-
128
- 1.1. Byte and Its Representation
129
-
130
- In this document, byte is always 8 bits.
131
-
132
- A "null byte" has all bits unset. That is, the value of a null
133
- byte is 0x00.
134
-
135
- To represent byte blocks, this document uses notation that
136
- is similar to the notation used in [RFC-1952]:
137
-
138
- +-------+
139
- | Foo | One byte.
140
- +-------+
141
-
142
- +---+---+
143
- | Foo | Two bytes; that is, some of the vertical bars
144
- +---+---+ can be missing.
145
-
146
- +=======+
147
- | Foo | Zero or more bytes.
148
- +=======+
149
-
150
- In this document, a boxed byte or a byte sequence declared
151
- using this notation is called "a field". The example field
152
- above would be called "the Foo field" or plain "Foo".
153
-
154
- If there are many fields, they may be split to multiple lines.
155
- This is indicated with an arrow ("--->"):
156
-
157
- +=====+
158
- | Foo |
159
- +=====+
160
-
161
- +=====+
162
- ---> | Bar |
163
- +=====+
164
-
165
- The above is equivalent to this:
166
-
167
- +=====+=====+
168
- | Foo | Bar |
169
- +=====+=====+
170
-
171
-
172
- 1.2. Multibyte Integers
173
-
174
- Multibyte integers of static length, such as CRC values,
175
- are stored in little endian byte order (least significant
176
- byte first).
177
-
178
- When smaller values are more likely than bigger values (for
179
- example file sizes), multibyte integers are encoded in a
180
- variable-length representation:
181
- - Numbers in the range [0, 127] are copied as is, and take
182
- one byte of space.
183
- - Bigger numbers will occupy two or more bytes. All but the
184
- last byte of the multibyte representation have the highest
185
- (eighth) bit set.
186
-
187
- For now, the value of the variable-length integers is limited
188
- to 63 bits, which limits the encoded size of the integer to
189
- nine bytes. These limits may be increased in the future if
190
- needed.
191
-
192
- The following C code illustrates encoding and decoding of
193
- variable-length integers. The functions return the number of
194
- bytes occupied by the integer (1-9), or zero on error.
195
-
196
- #include <stddef.h>
197
- #include <inttypes.h>
198
-
199
- size_t
200
- encode(uint8_t buf[static 9], uint64_t num)
201
- {
202
- if (num > UINT64_MAX / 2)
203
- return 0;
204
-
205
- size_t i = 0;
206
-
207
- while (num >= 0x80) {
208
- buf[i++] = (uint8_t)(num) | 0x80;
209
- num >>= 7;
210
- }
211
-
212
- buf[i++] = (uint8_t)(num);
213
-
214
- return i;
215
- }
216
-
217
- size_t
218
- decode(const uint8_t buf[], size_t size_max, uint64_t *num)
219
- {
220
- if (size_max == 0)
221
- return 0;
222
-
223
- if (size_max > 9)
224
- size_max = 9;
225
-
226
- *num = buf[0] & 0x7F;
227
- size_t i = 0;
228
-
229
- while (buf[i++] & 0x80) {
230
- if (i >= size_max || buf[i] == 0x00)
231
- return 0;
232
-
233
- *num |= (uint64_t)(buf[i] & 0x7F) << (i * 7);
234
- }
235
-
236
- return i;
237
- }
238
-
239
-
240
- 2. Overall Structure of .xz File
241
-
242
- A standalone .xz files consist of one or more Streams which may
243
- have Stream Padding between or after them:
244
-
245
- +========+================+========+================+
246
- | Stream | Stream Padding | Stream | Stream Padding | ...
247
- +========+================+========+================+
248
-
249
- The sizes of Stream and Stream Padding are always multiples
250
- of four bytes, thus the size of every valid .xz file MUST be
251
- a multiple of four bytes.
252
-
253
- While a typical file contains only one Stream and no Stream
254
- Padding, a decoder handling standalone .xz files SHOULD support
255
- files that have more than one Stream or Stream Padding.
256
-
257
- In contrast to standalone .xz files, when the .xz file format
258
- is used as an internal part of some other file format or
259
- communication protocol, it usually is expected that the decoder
260
- stops after the first Stream, and doesn't look for Stream
261
- Padding or possibly other Streams.
262
-
263
-
264
- 2.1. Stream
265
-
266
- +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+
267
- | Stream Header | Block | Block | ... | Block |
268
- +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+
269
-
270
- +=======+-+-+-+-+-+-+-+-+-+-+-+-+
271
- ---> | Index | Stream Footer |
272
- +=======+-+-+-+-+-+-+-+-+-+-+-+-+
273
-
274
- All the above fields have a size that is a multiple of four. If
275
- Stream is used as an internal part of another file format, it
276
- is RECOMMENDED to make the Stream start at an offset that is
277
- a multiple of four bytes.
278
-
279
- Stream Header, Index, and Stream Footer are always present in
280
- a Stream. The maximum size of the Index field is 16 GiB (2^34).
281
-
282
- There are zero or more Blocks. The maximum number of Blocks is
283
- limited only by the maximum size of the Index field.
284
-
285
- Total size of a Stream MUST be less than 8 EiB (2^63 bytes).
286
- The same limit applies to the total amount of uncompressed
287
- data stored in a Stream.
288
-
289
- If an implementation supports handling .xz files with multiple
290
- concatenated Streams, it MAY apply the above limits to the file
291
- as a whole instead of limiting per Stream basis.
292
-
293
-
294
- 2.1.1. Stream Header
295
-
296
- +---+---+---+---+---+---+-------+------+--+--+--+--+
297
- | Header Magic Bytes | Stream Flags | CRC32 |
298
- +---+---+---+---+---+---+-------+------+--+--+--+--+
299
-
300
-
301
- 2.1.1.1. Header Magic Bytes
302
-
303
- The first six (6) bytes of the Stream are so called Header
304
- Magic Bytes. They can be used to identify the file type.
305
-
306
- Using a C array and ASCII:
307
- const uint8_t HEADER_MAGIC[6]
308
- = { 0xFD, '7', 'z', 'X', 'Z', 0x00 };
309
-
310
- In plain hexadecimal:
311
- FD 37 7A 58 5A 00
312
-
313
- Notes:
314
- - The first byte (0xFD) was chosen so that the files cannot
315
- be erroneously detected as being in .lzma format, in which
316
- the first byte is in the range [0x00, 0xE0].
317
- - The sixth byte (0x00) was chosen to prevent applications
318
- from misdetecting the file as a text file.
319
-
320
- If the Header Magic Bytes don't match, the decoder MUST
321
- indicate an error.
322
-
323
-
324
- 2.1.1.2. Stream Flags
325
-
326
- The first byte of Stream Flags is always a null byte. In the
327
- future, this byte may be used to indicate a new Stream version
328
- or other Stream properties.
329
-
330
- The second byte of Stream Flags is a bit field:
331
-
332
- Bit(s) Mask Description
333
- 0-3 0x0F Type of Check (see Section 3.4):
334
- ID Size Check name
335
- 0x00 0 bytes None
336
- 0x01 4 bytes CRC32
337
- 0x02 4 bytes (Reserved)
338
- 0x03 4 bytes (Reserved)
339
- 0x04 8 bytes CRC64
340
- 0x05 8 bytes (Reserved)
341
- 0x06 8 bytes (Reserved)
342
- 0x07 16 bytes (Reserved)
343
- 0x08 16 bytes (Reserved)
344
- 0x09 16 bytes (Reserved)
345
- 0x0A 32 bytes SHA-256
346
- 0x0B 32 bytes (Reserved)
347
- 0x0C 32 bytes (Reserved)
348
- 0x0D 64 bytes (Reserved)
349
- 0x0E 64 bytes (Reserved)
350
- 0x0F 64 bytes (Reserved)
351
- 4-7 0xF0 Reserved for future use; MUST be zero for now.
352
-
353
- Implementations SHOULD support at least the Check IDs 0x00
354
- (None) and 0x01 (CRC32). Supporting other Check IDs is
355
- OPTIONAL. If an unsupported Check is used, the decoder SHOULD
356
- indicate a warning or error.
357
-
358
- If any reserved bit is set, the decoder MUST indicate an error.
359
- It is possible that there is a new field present which the
360
- decoder is not aware of, and can thus parse the Stream Header
361
- incorrectly.
362
-
363
-
364
- 2.1.1.3. CRC32
365
-
366
- The CRC32 is calculated from the Stream Flags field. It is
367
- stored as an unsigned 32-bit little endian integer. If the
368
- calculated value does not match the stored one, the decoder
369
- MUST indicate an error.
370
-
371
- The idea is that Stream Flags would always be two bytes, even
372
- if new features are needed. This way old decoders will be able
373
- to verify the CRC32 calculated from Stream Flags, and thus
374
- distinguish between corrupt files (CRC32 doesn't match) and
375
- files that the decoder doesn't support (CRC32 matches but
376
- Stream Flags has reserved bits set).
377
-
378
-
379
- 2.1.2. Stream Footer
380
-
381
- +-+-+-+-+---+---+---+---+-------+------+----------+---------+
382
- | CRC32 | Backward Size | Stream Flags | Footer Magic Bytes |
383
- +-+-+-+-+---+---+---+---+-------+------+----------+---------+
384
-
385
-
386
- 2.1.2.1. CRC32
387
-
388
- The CRC32 is calculated from the Backward Size and Stream Flags
389
- fields. It is stored as an unsigned 32-bit little endian
390
- integer. If the calculated value does not match the stored one,
391
- the decoder MUST indicate an error.
392
-
393
- The reason to have the CRC32 field before the Backward Size and
394
- Stream Flags fields is to keep the four-byte fields aligned to
395
- a multiple of four bytes.
396
-
397
-
398
- 2.1.2.2. Backward Size
399
-
400
- Backward Size is stored as a 32-bit little endian integer,
401
- which indicates the size of the Index field as multiple of
402
- four bytes, minimum value being four bytes:
403
-
404
- real_backward_size = (stored_backward_size + 1) * 4;
405
-
406
- If the stored value does not match the real size of the Index
407
- field, the decoder MUST indicate an error.
408
-
409
- Using a fixed-size integer to store Backward Size makes
410
- it slightly simpler to parse the Stream Footer when the
411
- application needs to parse the Stream backwards.
412
-
413
-
414
- 2.1.2.3. Stream Flags
415
-
416
- This is a copy of the Stream Flags field from the Stream
417
- Header. The information stored to Stream Flags is needed
418
- when parsing the Stream backwards. The decoder MUST compare
419
- the Stream Flags fields in both Stream Header and Stream
420
- Footer, and indicate an error if they are not identical.
421
-
422
-
423
- 2.1.2.4. Footer Magic Bytes
424
-
425
- As the last step of the decoding process, the decoder MUST
426
- verify the existence of Footer Magic Bytes. If they don't
427
- match, an error MUST be indicated.
428
-
429
- Using a C array and ASCII:
430
- const uint8_t FOOTER_MAGIC[2] = { 'Y', 'Z' };
431
-
432
- In hexadecimal:
433
- 59 5A
434
-
435
- The primary reason to have Footer Magic Bytes is to make
436
- it easier to detect incomplete files quickly, without
437
- uncompressing. If the file does not end with Footer Magic Bytes
438
- (excluding Stream Padding described in Section 2.2), it cannot
439
- be undamaged, unless someone has intentionally appended garbage
440
- after the end of the Stream.
441
-
442
-
443
- 2.2. Stream Padding
444
-
445
- Only the decoders that support decoding of concatenated Streams
446
- MUST support Stream Padding.
447
-
448
- Stream Padding MUST contain only null bytes. To preserve the
449
- four-byte alignment of consecutive Streams, the size of Stream
450
- Padding MUST be a multiple of four bytes. Empty Stream Padding
451
- is allowed. If these requirements are not met, the decoder MUST
452
- indicate an error.
453
-
454
- Note that non-empty Stream Padding is allowed at the end of the
455
- file; there doesn't need to be a new Stream after non-empty
456
- Stream Padding. This can be convenient in certain situations
457
- [GNU-tar].
458
-
459
- The possibility of Stream Padding MUST be taken into account
460
- when designing an application that parses Streams backwards,
461
- and the application supports concatenated Streams.
462
-
463
-
464
- 3. Block
465
-
466
- +==============+=================+===============+=======+
467
- | Block Header | Compressed Data | Block Padding | Check |
468
- +==============+=================+===============+=======+
469
-
470
-
471
- 3.1. Block Header
472
-
473
- +-------------------+-------------+=================+
474
- | Block Header Size | Block Flags | Compressed Size |
475
- +-------------------+-------------+=================+
476
-
477
- +===================+======================+
478
- ---> | Uncompressed Size | List of Filter Flags |
479
- +===================+======================+
480
-
481
- +================+--+--+--+--+
482
- ---> | Header Padding | CRC32 |
483
- +================+--+--+--+--+
484
-
485
-
486
- 3.1.1. Block Header Size
487
-
488
- This field overlaps with the Index Indicator field (see
489
- Section 4.1).
490
-
491
- This field contains the size of the Block Header field,
492
- including the Block Header Size field itself. Valid values are
493
- in the range [0x01, 0xFF], which indicate the size of the Block
494
- Header as multiples of four bytes, minimum size being eight
495
- bytes:
496
-
497
- real_header_size = (encoded_header_size + 1) * 4;
498
-
499
- If a Block Header bigger than 1024 bytes is needed in the
500
- future, a new field can be added between the Block Header and
501
- Compressed Data fields. The presence of this new field would
502
- be indicated in the Block Header field.
503
-
504
-
505
- 3.1.2. Block Flags
506
-
507
- The Block Flags field is a bit field:
508
-
509
- Bit(s) Mask Description
510
- 0-1 0x03 Number of filters (1-4)
511
- 2-5 0x3C Reserved for future use; MUST be zero for now.
512
- 6 0x40 The Compressed Size field is present.
513
- 7 0x80 The Uncompressed Size field is present.
514
-
515
- If any reserved bit is set, the decoder MUST indicate an error.
516
- It is possible that there is a new field present which the
517
- decoder is not aware of, and can thus parse the Block Header
518
- incorrectly.
519
-
520
-
521
- 3.1.3. Compressed Size
522
-
523
- This field is present only if the appropriate bit is set in
524
- the Block Flags field (see Section 3.1.2).
525
-
526
- The Compressed Size field contains the size of the Compressed
527
- Data field, which MUST be non-zero. Compressed Size is stored
528
- using the encoding described in Section 1.2. If the Compressed
529
- Size doesn't match the size of the Compressed Data field, the
530
- decoder MUST indicate an error.
531
-
532
-
533
- 3.1.4. Uncompressed Size
534
-
535
- This field is present only if the appropriate bit is set in
536
- the Block Flags field (see Section 3.1.2).
537
-
538
- The Uncompressed Size field contains the size of the Block
539
- after uncompressing. Uncompressed Size is stored using the
540
- encoding described in Section 1.2. If the Uncompressed Size
541
- does not match the real uncompressed size, the decoder MUST
542
- indicate an error.
543
-
544
- Storing the Compressed Size and Uncompressed Size fields serves
545
- several purposes:
546
- - The decoder knows how much memory it needs to allocate
547
- for a temporary buffer in multithreaded mode.
548
- - Simple error detection: wrong size indicates a broken file.
549
- - Seeking forwards to a specific location in streamed mode.
550
-
551
- It should be noted that the only reliable way to determine
552
- the real uncompressed size is to uncompress the Block,
553
- because the Block Header and Index fields may contain
554
- (intentionally or unintentionally) invalid information.
555
-
556
-
557
- 3.1.5. List of Filter Flags
558
-
559
- +================+================+ +================+
560
- | Filter 0 Flags | Filter 1 Flags | ... | Filter n Flags |
561
- +================+================+ +================+
562
-
563
- The number of Filter Flags fields is stored in the Block Flags
564
- field (see Section 3.1.2).
565
-
566
- The format of each Filter Flags field is as follows:
567
-
568
- +===========+====================+===================+
569
- | Filter ID | Size of Properties | Filter Properties |
570
- +===========+====================+===================+
571
-
572
- Both Filter ID and Size of Properties are stored using the
573
- encoding described in Section 1.2. Size of Properties indicates
574
- the size of the Filter Properties field as bytes. The list of
575
- officially defined Filter IDs and the formats of their Filter
576
- Properties are described in Section 5.3.
577
-
578
- Filter IDs greater than or equal to 0x4000_0000_0000_0000
579
- (2^62) are reserved for implementation-specific internal use.
580
- These Filter IDs MUST never be used in List of Filter Flags.
581
-
582
-
583
- 3.1.6. Header Padding
584
-
585
- This field contains as many null byte as it is needed to make
586
- the Block Header have the size specified in Block Header Size.
587
- If any of the bytes are not null bytes, the decoder MUST
588
- indicate an error. It is possible that there is a new field
589
- present which the decoder is not aware of, and can thus parse
590
- the Block Header incorrectly.
591
-
592
-
593
- 3.1.7. CRC32
594
-
595
- The CRC32 is calculated over everything in the Block Header
596
- field except the CRC32 field itself. It is stored as an
597
- unsigned 32-bit little endian integer. If the calculated
598
- value does not match the stored one, the decoder MUST indicate
599
- an error.
600
-
601
- By verifying the CRC32 of the Block Header before parsing the
602
- actual contents allows the decoder to distinguish between
603
- corrupt and unsupported files.
604
-
605
-
606
- 3.2. Compressed Data
607
-
608
- The format of Compressed Data depends on Block Flags and List
609
- of Filter Flags. Excluding the descriptions of the simplest
610
- filters in Section 5.3, the format of the filter-specific
611
- encoded data is out of scope of this document.
612
-
613
-
614
- 3.3. Block Padding
615
-
616
- Block Padding MUST contain 0-3 null bytes to make the size of
617
- the Block a multiple of four bytes. This can be needed when
618
- the size of Compressed Data is not a multiple of four. If any
619
- of the bytes in Block Padding are not null bytes, the decoder
620
- MUST indicate an error.
621
-
622
-
623
- 3.4. Check
624
-
625
- The type and size of the Check field depends on which bits
626
- are set in the Stream Flags field (see Section 2.1.1.2).
627
-
628
- The Check, when used, is calculated from the original
629
- uncompressed data. If the calculated Check does not match the
630
- stored one, the decoder MUST indicate an error. If the selected
631
- type of Check is not supported by the decoder, it SHOULD
632
- indicate a warning or error.
633
-
634
-
635
- 4. Index
636
-
637
- +-----------------+===================+
638
- | Index Indicator | Number of Records |
639
- +-----------------+===================+
640
-
641
- +=================+===============+-+-+-+-+
642
- ---> | List of Records | Index Padding | CRC32 |
643
- +=================+===============+-+-+-+-+
644
-
645
- Index serves several purposes. Using it, one can
646
- - verify that all Blocks in a Stream have been processed;
647
- - find out the uncompressed size of a Stream; and
648
- - quickly access the beginning of any Block (random access).
649
-
650
-
651
- 4.1. Index Indicator
652
-
653
- This field overlaps with the Block Header Size field (see
654
- Section 3.1.1). The value of Index Indicator is always 0x00.
655
-
656
-
657
- 4.2. Number of Records
658
-
659
- This field indicates how many Records there are in the List
660
- of Records field, and thus how many Blocks there are in the
661
- Stream. The value is stored using the encoding described in
662
- Section 1.2. If the decoder has decoded all the Blocks of the
663
- Stream, and then notices that the Number of Records doesn't
664
- match the real number of Blocks, the decoder MUST indicate an
665
- error.
666
-
667
-
668
- 4.3. List of Records
669
-
670
- List of Records consists of as many Records as indicated by the
671
- Number of Records field:
672
-
673
- +========+========+
674
- | Record | Record | ...
675
- +========+========+
676
-
677
- Each Record contains information about one Block:
678
-
679
- +===============+===================+
680
- | Unpadded Size | Uncompressed Size |
681
- +===============+===================+
682
-
683
- If the decoder has decoded all the Blocks of the Stream, it
684
- MUST verify that the contents of the Records match the real
685
- Unpadded Size and Uncompressed Size of the respective Blocks.
686
-
687
- Implementation hint: It is possible to verify the Index with
688
- constant memory usage by calculating for example SHA-256 of
689
- both the real size values and the List of Records, then
690
- comparing the hash values. Implementing this using
691
- non-cryptographic hash like CRC32 SHOULD be avoided unless
692
- small code size is important.
693
-
694
- If the decoder supports random-access reading, it MUST verify
695
- that Unpadded Size and Uncompressed Size of every completely
696
- decoded Block match the sizes stored in the Index. If only
697
- partial Block is decoded, the decoder MUST verify that the
698
- processed sizes don't exceed the sizes stored in the Index.
699
-
700
-
701
- 4.3.1. Unpadded Size
702
-
703
- This field indicates the size of the Block excluding the Block
704
- Padding field. That is, Unpadded Size is the size of the Block
705
- Header, Compressed Data, and Check fields. Unpadded Size is
706
- stored using the encoding described in Section 1.2. The value
707
- MUST never be zero; with the current structure of Blocks, the
708
- actual minimum value for Unpadded Size is five.
709
-
710
- Implementation note: Because the size of the Block Padding
711
- field is not included in Unpadded Size, calculating the total
712
- size of a Stream or doing random-access reading requires
713
- calculating the actual size of the Blocks by rounding Unpadded
714
- Sizes up to the next multiple of four.
715
-
716
- The reason to exclude Block Padding from Unpadded Size is to
717
- ease making a raw copy of Compressed Data without Block
718
- Padding. This can be useful, for example, if someone wants
719
- to convert Streams to some other file format quickly.
720
-
721
-
722
- 4.3.2. Uncompressed Size
723
-
724
- This field indicates the Uncompressed Size of the respective
725
- Block as bytes. The value is stored using the encoding
726
- described in Section 1.2.
727
-
728
-
729
- 4.4. Index Padding
730
-
731
- This field MUST contain 0-3 null bytes to pad the Index to
732
- a multiple of four bytes. If any of the bytes are not null
733
- bytes, the decoder MUST indicate an error.
734
-
735
-
736
- 4.5. CRC32
737
-
738
- The CRC32 is calculated over everything in the Index field
739
- except the CRC32 field itself. The CRC32 is stored as an
740
- unsigned 32-bit little endian integer. If the calculated
741
- value does not match the stored one, the decoder MUST indicate
742
- an error.
743
-
744
-
745
- 5. Filter Chains
746
-
747
- The Block Flags field defines how many filters are used. When
748
- more than one filter is used, the filters are chained; that is,
749
- the output of one filter is the input of another filter. The
750
- following figure illustrates the direction of data flow.
751
-
752
- v Uncompressed Data ^
753
- | Filter 0 |
754
- Encoder | Filter 1 | Decoder
755
- | Filter n |
756
- v Compressed Data ^
757
-
758
-
759
- 5.1. Alignment
760
-
761
- Alignment of uncompressed input data is usually the job of
762
- the application producing the data. For example, to get the
763
- best results, an archiver tool should make sure that all
764
- PowerPC executable files in the archive stream start at
765
- offsets that are multiples of four bytes.
766
-
767
- Some filters, for example LZMA2, can be configured to take
768
- advantage of specified alignment of input data. Note that
769
- taking advantage of aligned input can be beneficial also when
770
- a filter is not the first filter in the chain. For example,
771
- if you compress PowerPC executables, you may want to use the
772
- PowerPC filter and chain that with the LZMA2 filter. Because
773
- not only the input but also the output alignment of the PowerPC
774
- filter is four bytes, it is now beneficial to set LZMA2
775
- settings so that the LZMA2 encoder can take advantage of its
776
- four-byte-aligned input data.
777
-
778
- The output of the last filter in the chain is stored to the
779
- Compressed Data field, which is is guaranteed to be aligned
780
- to a multiple of four bytes relative to the beginning of the
781
- Stream. This can increase
782
- - speed, if the filtered data is handled multiple bytes at
783
- a time by the filter-specific encoder and decoder,
784
- because accessing aligned data in computer memory is
785
- usually faster; and
786
- - compression ratio, if the output data is later compressed
787
- with an external compression tool.
788
-
789
-
790
- 5.2. Security
791
-
792
- If filters would be allowed to be chained freely, it would be
793
- possible to create malicious files, that would be very slow to
794
- decode. Such files could be used to create denial of service
795
- attacks.
796
-
797
- Slow files could occur when multiple filters are chained:
798
-
799
- v Compressed input data
800
- | Filter 1 decoder (last filter)
801
- | Filter 0 decoder (non-last filter)
802
- v Uncompressed output data
803
-
804
- The decoder of the last filter in the chain produces a lot of
805
- output from little input. Another filter in the chain takes the
806
- output of the last filter, and produces very little output
807
- while consuming a lot of input. As a result, a lot of data is
808
- moved inside the filter chain, but the filter chain as a whole
809
- gets very little work done.
810
-
811
- To prevent this kind of slow files, there are restrictions on
812
- how the filters can be chained. These restrictions MUST be
813
- taken into account when designing new filters.
814
-
815
- The maximum number of filters in the chain has been limited to
816
- four, thus there can be at maximum of three non-last filters.
817
- Of these three non-last filters, only two are allowed to change
818
- the size of the data.
819
-
820
- The non-last filters, that change the size of the data, MUST
821
- have a limit how much the decoder can compress the data: the
822
- decoder SHOULD produce at least n bytes of output when the
823
- filter is given 2n bytes of input. This limit is not
824
- absolute, but significant deviations MUST be avoided.
825
-
826
- The above limitations guarantee that if the last filter in the
827
- chain produces 4n bytes of output, the chain as a whole will
828
- produce at least n bytes of output.
829
-
830
-
831
- 5.3. Filters
832
-
833
- 5.3.1. LZMA2
834
-
835
- LZMA (Lempel-Ziv-Markov chain-Algorithm) is a general-purpose
836
- compression algorithm with high compression ratio and fast
837
- decompression. LZMA is based on LZ77 and range coding
838
- algorithms.
839
-
840
- LZMA2 is an extension on top of the original LZMA. LZMA2 uses
841
- LZMA internally, but adds support for flushing the encoder,
842
- uncompressed chunks, eases stateful decoder implementations,
843
- and improves support for multithreading. Thus, the plain LZMA
844
- will not be supported in this file format.
845
-
846
- Filter ID: 0x21
847
- Size of Filter Properties: 1 byte
848
- Changes size of data: Yes
849
- Allow as a non-last filter: No
850
- Allow as the last filter: Yes
851
-
852
- Preferred alignment:
853
- Input data: Adjustable to 1/2/4/8/16 byte(s)
854
- Output data: 1 byte
855
-
856
- The format of the one-byte Filter Properties field is as
857
- follows:
858
-
859
- Bits Mask Description
860
- 0-5 0x3F Dictionary Size
861
- 6-7 0xC0 Reserved for future use; MUST be zero for now.
862
-
863
- Dictionary Size is encoded with one-bit mantissa and five-bit
864
- exponent. The smallest dictionary size is 4 KiB and the biggest
865
- is 4 GiB.
866
-
867
- Raw value Mantissa Exponent Dictionary size
868
- 0 2 11 4 KiB
869
- 1 3 11 6 KiB
870
- 2 2 12 8 KiB
871
- 3 3 12 12 KiB
872
- 4 2 13 16 KiB
873
- 5 3 13 24 KiB
874
- 6 2 14 32 KiB
875
- ... ... ... ...
876
- 35 3 27 768 MiB
877
- 36 2 28 1024 MiB
878
- 37 3 29 1536 MiB
879
- 38 2 30 2048 MiB
880
- 39 3 30 3072 MiB
881
- 40 2 31 4096 MiB - 1 B
882
-
883
- Instead of having a table in the decoder, the dictionary size
884
- can be decoded using the following C code:
885
-
886
- const uint8_t bits = get_dictionary_flags() & 0x3F;
887
- if (bits > 40)
888
- return DICTIONARY_TOO_BIG; // Bigger than 4 GiB
889
-
890
- uint32_t dictionary_size;
891
- if (bits == 40) {
892
- dictionary_size = UINT32_MAX;
893
- } else {
894
- dictionary_size = 2 | (bits & 1);
895
- dictionary_size <<= bits / 2 + 11;
896
- }
897
-
898
-
899
- 5.3.2. Branch/Call/Jump Filters for Executables
900
-
901
- These filters convert relative branch, call, and jump
902
- instructions to their absolute counterparts in executable
903
- files. This conversion increases redundancy and thus
904
- compression ratio.
905
-
906
- Size of Filter Properties: 0 or 4 bytes
907
- Changes size of data: No
908
- Allow as a non-last filter: Yes
909
- Allow as the last filter: No
910
-
911
- Below is the list of filters in this category. The alignment
912
- is the same for both input and output data.
913
-
914
- Filter ID Alignment Description
915
- 0x04 1 byte x86 filter (BCJ)
916
- 0x05 4 bytes PowerPC (big endian) filter
917
- 0x06 16 bytes IA64 filter
918
- 0x07 4 bytes ARM (little endian) filter
919
- 0x08 2 bytes ARM Thumb (little endian) filter
920
- 0x09 4 bytes SPARC filter
921
-
922
- If the size of Filter Properties is four bytes, the Filter
923
- Properties field contains the start offset used for address
924
- conversions. It is stored as an unsigned 32-bit little endian
925
- integer. The start offset MUST be a multiple of the alignment
926
- of the filter as listed in the table above; if it isn't, the
927
- decoder MUST indicate an error. If the size of Filter
928
- Properties is zero, the start offset is zero.
929
-
930
- Setting the start offset may be useful if an executable has
931
- multiple sections, and there are many cross-section calls.
932
- Taking advantage of this feature usually requires usage of
933
- the Subblock filter, whose design is not complete yet.
934
-
935
-
936
- 5.3.3. Delta
937
-
938
- The Delta filter may increase compression ratio when the value
939
- of the next byte correlates with the value of an earlier byte
940
- at specified distance.
941
-
942
- Filter ID: 0x03
943
- Size of Filter Properties: 1 byte
944
- Changes size of data: No
945
- Allow as a non-last filter: Yes
946
- Allow as the last filter: No
947
-
948
- Preferred alignment:
949
- Input data: 1 byte
950
- Output data: Same as the original input data
951
-
952
- The Properties byte indicates the delta distance, which can be
953
- 1-256 bytes backwards from the current byte: 0x00 indicates
954
- distance of 1 byte and 0xFF distance of 256 bytes.
955
-
956
-
957
- 5.3.3.1. Format of the Encoded Output
958
-
959
- The code below illustrates both encoding and decoding with
960
- the Delta filter.
961
-
962
- // Distance is in the range [1, 256].
963
- const unsigned int distance = get_properties_byte() + 1;
964
- uint8_t pos = 0;
965
- uint8_t delta[256];
966
-
967
- memset(delta, 0, sizeof(delta));
968
-
969
- while (1) {
970
- const int byte = read_byte();
971
- if (byte == EOF)
972
- break;
973
-
974
- uint8_t tmp = delta[(uint8_t)(distance + pos)];
975
- if (is_encoder) {
976
- tmp = (uint8_t)(byte) - tmp;
977
- delta[pos] = (uint8_t)(byte);
978
- } else {
979
- tmp = (uint8_t)(byte) + tmp;
980
- delta[pos] = tmp;
981
- }
982
-
983
- write_byte(tmp);
984
- --pos;
985
- }
986
-
987
-
988
- 5.4. Custom Filter IDs
989
-
990
- If a developer wants to use custom Filter IDs, he has two
991
- choices. The first choice is to contact Lasse Collin and ask
992
- him to allocate a range of IDs for the developer.
993
-
994
- The second choice is to generate a 40-bit random integer,
995
- which the developer can use as his personal Developer ID.
996
- To minimize the risk of collisions, Developer ID has to be
997
- a randomly generated integer, not manually selected "hex word".
998
- The following command, which works on many free operating
999
- systems, can be used to generate Developer ID:
1000
-
1001
- dd if=/dev/urandom bs=5 count=1 | hexdump
1002
-
1003
- The developer can then use his Developer ID to create unique
1004
- (well, hopefully unique) Filter IDs.
1005
-
1006
- Bits Mask Description
1007
- 0-15 0x0000_0000_0000_FFFF Filter ID
1008
- 16-55 0x00FF_FFFF_FFFF_0000 Developer ID
1009
- 56-62 0x3F00_0000_0000_0000 Static prefix: 0x3F
1010
-
1011
- The resulting 63-bit integer will use 9 bytes of space when
1012
- stored using the encoding described in Section 1.2. To get
1013
- a shorter ID, see the beginning of this Section how to
1014
- request a custom ID range.
1015
-
1016
-
1017
- 5.4.1. Reserved Custom Filter ID Ranges
1018
-
1019
- Range Description
1020
- 0x0000_0300 - 0x0000_04FF Reserved to ease .7z compatibility
1021
- 0x0002_0000 - 0x0007_FFFF Reserved to ease .7z compatibility
1022
- 0x0200_0000 - 0x07FF_FFFF Reserved to ease .7z compatibility
1023
-
1024
-
1025
- 6. Cyclic Redundancy Checks
1026
-
1027
- There are several incompatible variations to calculate CRC32
1028
- and CRC64. For simplicity and clarity, complete examples are
1029
- provided to calculate the checks as they are used in this file
1030
- format. Implementations MAY use different code as long as it
1031
- gives identical results.
1032
-
1033
- The program below reads data from standard input, calculates
1034
- the CRC32 and CRC64 values, and prints the calculated values
1035
- as big endian hexadecimal strings to standard output.
1036
-
1037
- #include <stddef.h>
1038
- #include <inttypes.h>
1039
- #include <stdio.h>
1040
-
1041
- uint32_t crc32_table[256];
1042
- uint64_t crc64_table[256];
1043
-
1044
- void
1045
- init(void)
1046
- {
1047
- static const uint32_t poly32 = UINT32_C(0xEDB88320);
1048
- static const uint64_t poly64
1049
- = UINT64_C(0xC96C5795D7870F42);
1050
-
1051
- for (size_t i = 0; i < 256; ++i) {
1052
- uint32_t crc32 = i;
1053
- uint64_t crc64 = i;
1054
-
1055
- for (size_t j = 0; j < 8; ++j) {
1056
- if (crc32 & 1)
1057
- crc32 = (crc32 >> 1) ^ poly32;
1058
- else
1059
- crc32 >>= 1;
1060
-
1061
- if (crc64 & 1)
1062
- crc64 = (crc64 >> 1) ^ poly64;
1063
- else
1064
- crc64 >>= 1;
1065
- }
1066
-
1067
- crc32_table[i] = crc32;
1068
- crc64_table[i] = crc64;
1069
- }
1070
- }
1071
-
1072
- uint32_t
1073
- crc32(const uint8_t *buf, size_t size, uint32_t crc)
1074
- {
1075
- crc = ~crc;
1076
- for (size_t i = 0; i < size; ++i)
1077
- crc = crc32_table[buf[i] ^ (crc & 0xFF)]
1078
- ^ (crc >> 8);
1079
- return ~crc;
1080
- }
1081
-
1082
- uint64_t
1083
- crc64(const uint8_t *buf, size_t size, uint64_t crc)
1084
- {
1085
- crc = ~crc;
1086
- for (size_t i = 0; i < size; ++i)
1087
- crc = crc64_table[buf[i] ^ (crc & 0xFF)]
1088
- ^ (crc >> 8);
1089
- return ~crc;
1090
- }
1091
-
1092
- int
1093
- main()
1094
- {
1095
- init();
1096
-
1097
- uint32_t value32 = 0;
1098
- uint64_t value64 = 0;
1099
- uint64_t total_size = 0;
1100
- uint8_t buf[8192];
1101
-
1102
- while (1) {
1103
- const size_t buf_size
1104
- = fread(buf, 1, sizeof(buf), stdin);
1105
- if (buf_size == 0)
1106
- break;
1107
-
1108
- total_size += buf_size;
1109
- value32 = crc32(buf, buf_size, value32);
1110
- value64 = crc64(buf, buf_size, value64);
1111
- }
1112
-
1113
- printf("Bytes: %" PRIu64 "\n", total_size);
1114
- printf("CRC-32: 0x%08" PRIX32 "\n", value32);
1115
- printf("CRC-64: 0x%016" PRIX64 "\n", value64);
1116
-
1117
- return 0;
1118
- }
1119
-
1120
-
1121
- 7. References
1122
-
1123
- LZMA SDK - The original LZMA implementation
1124
- http://7-zip.org/sdk.html
1125
-
1126
- LZMA Utils - LZMA adapted to POSIX-like systems
1127
- http://tukaani.org/lzma/
1128
-
1129
- XZ Utils - The next generation of LZMA Utils
1130
- http://tukaani.org/xz/
1131
-
1132
- [RFC-1952]
1133
- GZIP file format specification version 4.3
1134
- http://www.ietf.org/rfc/rfc1952.txt
1135
- - Notation of byte boxes in section "2.1. Overall conventions"
1136
-
1137
- [RFC-2119]
1138
- Key words for use in RFCs to Indicate Requirement Levels
1139
- http://www.ietf.org/rfc/rfc2119.txt
1140
-
1141
- [GNU-tar]
1142
- GNU tar 1.21 manual
1143
- http://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html
1144
- - Node 9.4.2 "Blocking Factor", paragraph that begins
1145
- "gzip will complain about trailing garbage"
1146
- - Note that this URL points to the latest version of the
1147
- manual, and may some day not contain the note which is in
1148
- 1.21. For the exact version of the manual, download GNU
1149
- tar 1.21: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.21.tar.gz
1150
-