polyfile-weave 0.5.5__py3-none-any.whl

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.

Potentially problematic release.


This version of polyfile-weave might be problematic. Click here for more details.

Files changed (585) hide show
  1. polyfile/__init__.py +15 -0
  2. polyfile/__main__.py +394 -0
  3. polyfile/arithmetic.py +27 -0
  4. polyfile/ast.py +114 -0
  5. polyfile/debugger.py +1039 -0
  6. polyfile/expressions.py +346 -0
  7. polyfile/fileutils.py +343 -0
  8. polyfile/html.py +135 -0
  9. polyfile/http/__init__.py +1 -0
  10. polyfile/http/defacto.py +37 -0
  11. polyfile/http/deprecated.py +51 -0
  12. polyfile/http/experimental.py +67 -0
  13. polyfile/http/http_11.py +548 -0
  14. polyfile/http/matcher.py +37 -0
  15. polyfile/http/structured_headers.py +48 -0
  16. polyfile/iterators.py +72 -0
  17. polyfile/jpeg.py +24 -0
  18. polyfile/kaitai/__init__.py +0 -0
  19. polyfile/kaitai/compiler.py +156 -0
  20. polyfile/kaitai/parser.py +312 -0
  21. polyfile/kaitai/parsers/__init__.py +0 -0
  22. polyfile/kaitai/parsers/aix_utmp.py +116 -0
  23. polyfile/kaitai/parsers/allegro_dat.py +367 -0
  24. polyfile/kaitai/parsers/andes_firmware.py +64 -0
  25. polyfile/kaitai/parsers/android_bootldr_asus.py +105 -0
  26. polyfile/kaitai/parsers/android_bootldr_huawei.py +181 -0
  27. polyfile/kaitai/parsers/android_bootldr_qcom.py +217 -0
  28. polyfile/kaitai/parsers/android_dto.py +138 -0
  29. polyfile/kaitai/parsers/android_img.py +319 -0
  30. polyfile/kaitai/parsers/android_nanoapp_header.py +83 -0
  31. polyfile/kaitai/parsers/android_opengl_shaders_cache.py +151 -0
  32. polyfile/kaitai/parsers/android_sparse.py +237 -0
  33. polyfile/kaitai/parsers/android_super.py +401 -0
  34. polyfile/kaitai/parsers/apm_partition_table.py +196 -0
  35. polyfile/kaitai/parsers/apple_single_double.py +180 -0
  36. polyfile/kaitai/parsers/asn1_der.py +235 -0
  37. polyfile/kaitai/parsers/au.py +138 -0
  38. polyfile/kaitai/parsers/avantes_roh60.py +112 -0
  39. polyfile/kaitai/parsers/avi.py +296 -0
  40. polyfile/kaitai/parsers/bcd.py +111 -0
  41. polyfile/kaitai/parsers/bitcoin_transaction.py +210 -0
  42. polyfile/kaitai/parsers/blender_blend.py +334 -0
  43. polyfile/kaitai/parsers/bmp.py +780 -0
  44. polyfile/kaitai/parsers/bson.py +411 -0
  45. polyfile/kaitai/parsers/btrfs_stream.py +318 -0
  46. polyfile/kaitai/parsers/bytes_with_io.py +27 -0
  47. polyfile/kaitai/parsers/chrome_pak.py +194 -0
  48. polyfile/kaitai/parsers/code_6502.py +456 -0
  49. polyfile/kaitai/parsers/compressed_resource.py +217 -0
  50. polyfile/kaitai/parsers/cpio_old_le.py +154 -0
  51. polyfile/kaitai/parsers/cramfs.py +344 -0
  52. polyfile/kaitai/parsers/creative_voice_file.py +342 -0
  53. polyfile/kaitai/parsers/dbf.py +274 -0
  54. polyfile/kaitai/parsers/dcmp_0.py +664 -0
  55. polyfile/kaitai/parsers/dcmp_1.py +422 -0
  56. polyfile/kaitai/parsers/dcmp_2.py +312 -0
  57. polyfile/kaitai/parsers/dcmp_variable_length_integer.py +66 -0
  58. polyfile/kaitai/parsers/dex.py +1086 -0
  59. polyfile/kaitai/parsers/dicom.py +4370 -0
  60. polyfile/kaitai/parsers/dime_message.py +201 -0
  61. polyfile/kaitai/parsers/dns_packet.py +569 -0
  62. polyfile/kaitai/parsers/doom_wad.py +654 -0
  63. polyfile/kaitai/parsers/dos_datetime.py +191 -0
  64. polyfile/kaitai/parsers/dos_mz.py +172 -0
  65. polyfile/kaitai/parsers/ds_store.py +513 -0
  66. polyfile/kaitai/parsers/dtb.py +310 -0
  67. polyfile/kaitai/parsers/dune_2_pak.py +126 -0
  68. polyfile/kaitai/parsers/edid.py +472 -0
  69. polyfile/kaitai/parsers/efivar_signature_list.py +331 -0
  70. polyfile/kaitai/parsers/elf.py +2482 -0
  71. polyfile/kaitai/parsers/ethernet_frame.py +114 -0
  72. polyfile/kaitai/parsers/exif.py +723 -0
  73. polyfile/kaitai/parsers/ext2.py +537 -0
  74. polyfile/kaitai/parsers/fallout2_dat.py +187 -0
  75. polyfile/kaitai/parsers/fallout_dat.py +156 -0
  76. polyfile/kaitai/parsers/fasttracker_xm_module.py +558 -0
  77. polyfile/kaitai/parsers/ftl_dat.py +90 -0
  78. polyfile/kaitai/parsers/genmidi_op2.py +161 -0
  79. polyfile/kaitai/parsers/gettext_mo.py +541 -0
  80. polyfile/kaitai/parsers/gif.py +492 -0
  81. polyfile/kaitai/parsers/gimp_brush.py +244 -0
  82. polyfile/kaitai/parsers/glibc_utmp.py +114 -0
  83. polyfile/kaitai/parsers/gltf_binary.py +132 -0
  84. polyfile/kaitai/parsers/google_protobuf.py +151 -0
  85. polyfile/kaitai/parsers/gpt_partition_table.py +175 -0
  86. polyfile/kaitai/parsers/gran_turismo_vol.py +140 -0
  87. polyfile/kaitai/parsers/grub2_font.py +337 -0
  88. polyfile/kaitai/parsers/gzip.py +232 -0
  89. polyfile/kaitai/parsers/hashcat_restore.py +60 -0
  90. polyfile/kaitai/parsers/hccap.py +111 -0
  91. polyfile/kaitai/parsers/hccapx.py +103 -0
  92. polyfile/kaitai/parsers/heaps_pak.py +177 -0
  93. polyfile/kaitai/parsers/heroes_of_might_and_magic_agg.py +116 -0
  94. polyfile/kaitai/parsers/heroes_of_might_and_magic_bmp.py +34 -0
  95. polyfile/kaitai/parsers/icmp_packet.py +136 -0
  96. polyfile/kaitai/parsers/ico.py +129 -0
  97. polyfile/kaitai/parsers/id3v1_1.py +220 -0
  98. polyfile/kaitai/parsers/id3v2_3.py +324 -0
  99. polyfile/kaitai/parsers/id3v2_4.py +423 -0
  100. polyfile/kaitai/parsers/ines.py +282 -0
  101. polyfile/kaitai/parsers/ipv4_packet.py +158 -0
  102. polyfile/kaitai/parsers/ipv6_packet.py +55 -0
  103. polyfile/kaitai/parsers/iso9660.py +544 -0
  104. polyfile/kaitai/parsers/java_class.py +1113 -0
  105. polyfile/kaitai/parsers/jpeg.py +361 -0
  106. polyfile/kaitai/parsers/luks.py +149 -0
  107. polyfile/kaitai/parsers/lzh.py +165 -0
  108. polyfile/kaitai/parsers/mac_os_resource_snd.py +493 -0
  109. polyfile/kaitai/parsers/mach_o.py +3033 -0
  110. polyfile/kaitai/parsers/mach_o_fat.py +92 -0
  111. polyfile/kaitai/parsers/magicavoxel_vox.py +391 -0
  112. polyfile/kaitai/parsers/manifest.json +1 -0
  113. polyfile/kaitai/parsers/mbr_partition_table.py +119 -0
  114. polyfile/kaitai/parsers/mcap.py +1015 -0
  115. polyfile/kaitai/parsers/microsoft_cfb.py +293 -0
  116. polyfile/kaitai/parsers/microsoft_network_monitor_v2.py +309 -0
  117. polyfile/kaitai/parsers/microsoft_pe.py +765 -0
  118. polyfile/kaitai/parsers/mifare_classic.py +706 -0
  119. polyfile/kaitai/parsers/minecraft_nbt.py +449 -0
  120. polyfile/kaitai/parsers/monomakh_sapr_chg.py +69 -0
  121. polyfile/kaitai/parsers/mozilla_mar.py +239 -0
  122. polyfile/kaitai/parsers/mp4.py +333 -0
  123. polyfile/kaitai/parsers/msgpack.py +467 -0
  124. polyfile/kaitai/parsers/nitf.py +1189 -0
  125. polyfile/kaitai/parsers/nt_mdt_pal.py +155 -0
  126. polyfile/kaitai/parsers/ogg.py +118 -0
  127. polyfile/kaitai/parsers/openpgp_message.py +993 -0
  128. polyfile/kaitai/parsers/packet_ppi.py +515 -0
  129. polyfile/kaitai/parsers/pcap.py +344 -0
  130. polyfile/kaitai/parsers/pcf_font.py +506 -0
  131. polyfile/kaitai/parsers/pcx.py +195 -0
  132. polyfile/kaitai/parsers/pcx_dcx.py +79 -0
  133. polyfile/kaitai/parsers/phar_without_stub.py +399 -0
  134. polyfile/kaitai/parsers/php_serialized_value.py +505 -0
  135. polyfile/kaitai/parsers/png.py +721 -0
  136. polyfile/kaitai/parsers/protocol_body.py +260 -0
  137. polyfile/kaitai/parsers/psx_tim.py +104 -0
  138. polyfile/kaitai/parsers/python_pickle.py +718 -0
  139. polyfile/kaitai/parsers/python_pyc_27.py +510 -0
  140. polyfile/kaitai/parsers/quake_mdl.py +441 -0
  141. polyfile/kaitai/parsers/quake_pak.py +112 -0
  142. polyfile/kaitai/parsers/quicktime_mov.py +634 -0
  143. polyfile/kaitai/parsers/rar.py +265 -0
  144. polyfile/kaitai/parsers/regf.py +569 -0
  145. polyfile/kaitai/parsers/renderware_binary_stream.py +877 -0
  146. polyfile/kaitai/parsers/resource_fork.py +611 -0
  147. polyfile/kaitai/parsers/respack.py +57 -0
  148. polyfile/kaitai/parsers/riff.py +409 -0
  149. polyfile/kaitai/parsers/rpm.py +964 -0
  150. polyfile/kaitai/parsers/rtcp_payload.py +579 -0
  151. polyfile/kaitai/parsers/rtp_packet.py +150 -0
  152. polyfile/kaitai/parsers/rtpdump.py +115 -0
  153. polyfile/kaitai/parsers/ruby_marshal.py +423 -0
  154. polyfile/kaitai/parsers/s3m.py +493 -0
  155. polyfile/kaitai/parsers/saints_row_2_vpp_pc.py +254 -0
  156. polyfile/kaitai/parsers/shapefile_index.py +174 -0
  157. polyfile/kaitai/parsers/shapefile_main.py +893 -0
  158. polyfile/kaitai/parsers/some_ip.py +209 -0
  159. polyfile/kaitai/parsers/some_ip_container.py +37 -0
  160. polyfile/kaitai/parsers/some_ip_sd.py +86 -0
  161. polyfile/kaitai/parsers/some_ip_sd_entries.py +160 -0
  162. polyfile/kaitai/parsers/some_ip_sd_options.py +374 -0
  163. polyfile/kaitai/parsers/specpr.py +404 -0
  164. polyfile/kaitai/parsers/sqlite3.py +472 -0
  165. polyfile/kaitai/parsers/ssh_public_key.py +252 -0
  166. polyfile/kaitai/parsers/standard_midi_file.py +390 -0
  167. polyfile/kaitai/parsers/stl.py +111 -0
  168. polyfile/kaitai/parsers/sudoers_ts.py +201 -0
  169. polyfile/kaitai/parsers/swf.py +406 -0
  170. polyfile/kaitai/parsers/systemd_journal.py +361 -0
  171. polyfile/kaitai/parsers/tcp_segment.py +57 -0
  172. polyfile/kaitai/parsers/tga.py +213 -0
  173. polyfile/kaitai/parsers/tls_client_hello.py +293 -0
  174. polyfile/kaitai/parsers/tr_dos_image.py +322 -0
  175. polyfile/kaitai/parsers/tsm.py +198 -0
  176. polyfile/kaitai/parsers/ttf.py +1847 -0
  177. polyfile/kaitai/parsers/udp_datagram.py +42 -0
  178. polyfile/kaitai/parsers/uefi_te.py +236 -0
  179. polyfile/kaitai/parsers/uimage.py +198 -0
  180. polyfile/kaitai/parsers/utf8_string.py +137 -0
  181. polyfile/kaitai/parsers/vfat.py +410 -0
  182. polyfile/kaitai/parsers/vlq_base128_be.py +104 -0
  183. polyfile/kaitai/parsers/vlq_base128_le.py +129 -0
  184. polyfile/kaitai/parsers/vmware_vmdk.py +167 -0
  185. polyfile/kaitai/parsers/vp8_ivf.py +112 -0
  186. polyfile/kaitai/parsers/warcraft_2_pud.py +423 -0
  187. polyfile/kaitai/parsers/wav.py +1014 -0
  188. polyfile/kaitai/parsers/websocket.py +167 -0
  189. polyfile/kaitai/parsers/windows_evt_log.py +304 -0
  190. polyfile/kaitai/parsers/windows_lnk_file.py +467 -0
  191. polyfile/kaitai/parsers/windows_minidump.py +575 -0
  192. polyfile/kaitai/parsers/windows_resource_file.py +243 -0
  193. polyfile/kaitai/parsers/windows_shell_items.py +190 -0
  194. polyfile/kaitai/parsers/windows_systemtime.py +52 -0
  195. polyfile/kaitai/parsers/wmf.py +502 -0
  196. polyfile/kaitai/parsers/xar.py +181 -0
  197. polyfile/kaitai/parsers/xwd.py +189 -0
  198. polyfile/kaitai/parsers/zip.py +685 -0
  199. polyfile/kaitai/parsers/zisofs.py +158 -0
  200. polyfile/kaitai/parsers/zx_spectrum_tap.py +184 -0
  201. polyfile/kaitaimatcher.py +113 -0
  202. polyfile/languagematcher.py +217 -0
  203. polyfile/logger.py +135 -0
  204. polyfile/magic.py +2983 -0
  205. polyfile/magic_defs/COPYING +29 -0
  206. polyfile/magic_defs/__init__.py +0 -0
  207. polyfile/magic_defs/acorn +102 -0
  208. polyfile/magic_defs/adi +13 -0
  209. polyfile/magic_defs/adventure +122 -0
  210. polyfile/magic_defs/aes +29 -0
  211. polyfile/magic_defs/algol68 +35 -0
  212. polyfile/magic_defs/allegro +9 -0
  213. polyfile/magic_defs/alliant +18 -0
  214. polyfile/magic_defs/alpha +32 -0
  215. polyfile/magic_defs/amanda +12 -0
  216. polyfile/magic_defs/amigaos +218 -0
  217. polyfile/magic_defs/android +259 -0
  218. polyfile/magic_defs/animation +1197 -0
  219. polyfile/magic_defs/aout +46 -0
  220. polyfile/magic_defs/apache +28 -0
  221. polyfile/magic_defs/apl +7 -0
  222. polyfile/magic_defs/apple +773 -0
  223. polyfile/magic_defs/application +7 -0
  224. polyfile/magic_defs/applix +13 -0
  225. polyfile/magic_defs/apt +52 -0
  226. polyfile/magic_defs/archive +2586 -0
  227. polyfile/magic_defs/aria +38 -0
  228. polyfile/magic_defs/arm +50 -0
  229. polyfile/magic_defs/asf +132 -0
  230. polyfile/magic_defs/assembler +18 -0
  231. polyfile/magic_defs/asterix +18 -0
  232. polyfile/magic_defs/att3b +41 -0
  233. polyfile/magic_defs/audio +1291 -0
  234. polyfile/magic_defs/avm +33 -0
  235. polyfile/magic_defs/basis +18 -0
  236. polyfile/magic_defs/beetle +7 -0
  237. polyfile/magic_defs/ber +65 -0
  238. polyfile/magic_defs/bflt +14 -0
  239. polyfile/magic_defs/bhl +10 -0
  240. polyfile/magic_defs/bioinformatics +178 -0
  241. polyfile/magic_defs/biosig +154 -0
  242. polyfile/magic_defs/blackberry +8 -0
  243. polyfile/magic_defs/blcr +25 -0
  244. polyfile/magic_defs/blender +50 -0
  245. polyfile/magic_defs/blit +24 -0
  246. polyfile/magic_defs/bm +10 -0
  247. polyfile/magic_defs/bout +11 -0
  248. polyfile/magic_defs/bsdi +33 -0
  249. polyfile/magic_defs/bsi +10 -0
  250. polyfile/magic_defs/btsnoop +13 -0
  251. polyfile/magic_defs/burp +7 -0
  252. polyfile/magic_defs/bytecode +41 -0
  253. polyfile/magic_defs/c-lang +110 -0
  254. polyfile/magic_defs/c64 +531 -0
  255. polyfile/magic_defs/cad +437 -0
  256. polyfile/magic_defs/cafebabe +107 -0
  257. polyfile/magic_defs/cbor +21 -0
  258. polyfile/magic_defs/ccf +14 -0
  259. polyfile/magic_defs/cddb +12 -0
  260. polyfile/magic_defs/chord +15 -0
  261. polyfile/magic_defs/cisco +12 -0
  262. polyfile/magic_defs/citrus +12 -0
  263. polyfile/magic_defs/clarion +27 -0
  264. polyfile/magic_defs/claris +48 -0
  265. polyfile/magic_defs/clipper +65 -0
  266. polyfile/magic_defs/clojure +30 -0
  267. polyfile/magic_defs/coff +98 -0
  268. polyfile/magic_defs/commands +201 -0
  269. polyfile/magic_defs/communications +22 -0
  270. polyfile/magic_defs/compress +461 -0
  271. polyfile/magic_defs/console +1213 -0
  272. polyfile/magic_defs/convex +69 -0
  273. polyfile/magic_defs/coverage +91 -0
  274. polyfile/magic_defs/cracklib +14 -0
  275. polyfile/magic_defs/crypto +31 -0
  276. polyfile/magic_defs/csv +8 -0
  277. polyfile/magic_defs/ctags +6 -0
  278. polyfile/magic_defs/ctf +23 -0
  279. polyfile/magic_defs/cubemap +8 -0
  280. polyfile/magic_defs/cups +56 -0
  281. polyfile/magic_defs/dact +11 -0
  282. polyfile/magic_defs/database +886 -0
  283. polyfile/magic_defs/dataone +47 -0
  284. polyfile/magic_defs/dbpf +15 -0
  285. polyfile/magic_defs/der +146 -0
  286. polyfile/magic_defs/diamond +12 -0
  287. polyfile/magic_defs/dif +33 -0
  288. polyfile/magic_defs/diff +41 -0
  289. polyfile/magic_defs/digital +59 -0
  290. polyfile/magic_defs/dolby +69 -0
  291. polyfile/magic_defs/dsf +25 -0
  292. polyfile/magic_defs/dump +96 -0
  293. polyfile/magic_defs/dwarfs +45 -0
  294. polyfile/magic_defs/dyadic +61 -0
  295. polyfile/magic_defs/ebml +8 -0
  296. polyfile/magic_defs/edid +11 -0
  297. polyfile/magic_defs/editors +43 -0
  298. polyfile/magic_defs/efi +15 -0
  299. polyfile/magic_defs/elf +379 -0
  300. polyfile/magic_defs/encore +22 -0
  301. polyfile/magic_defs/epoc +62 -0
  302. polyfile/magic_defs/erlang +21 -0
  303. polyfile/magic_defs/espressif +57 -0
  304. polyfile/magic_defs/esri +28 -0
  305. polyfile/magic_defs/etf +33 -0
  306. polyfile/magic_defs/fcs +9 -0
  307. polyfile/magic_defs/filesystems +2694 -0
  308. polyfile/magic_defs/finger +16 -0
  309. polyfile/magic_defs/firmware +133 -0
  310. polyfile/magic_defs/flash +62 -0
  311. polyfile/magic_defs/flif +36 -0
  312. polyfile/magic_defs/fonts +449 -0
  313. polyfile/magic_defs/forth +82 -0
  314. polyfile/magic_defs/fortran +9 -0
  315. polyfile/magic_defs/frame +62 -0
  316. polyfile/magic_defs/freebsd +164 -0
  317. polyfile/magic_defs/fsav +128 -0
  318. polyfile/magic_defs/fusecompress +12 -0
  319. polyfile/magic_defs/games +696 -0
  320. polyfile/magic_defs/gcc +17 -0
  321. polyfile/magic_defs/gconv +10 -0
  322. polyfile/magic_defs/gentoo +85 -0
  323. polyfile/magic_defs/geo +166 -0
  324. polyfile/magic_defs/geos +20 -0
  325. polyfile/magic_defs/gimp +77 -0
  326. polyfile/magic_defs/git +13 -0
  327. polyfile/magic_defs/glibc +21 -0
  328. polyfile/magic_defs/gnome +59 -0
  329. polyfile/magic_defs/gnu +173 -0
  330. polyfile/magic_defs/gnumeric +8 -0
  331. polyfile/magic_defs/gpt +240 -0
  332. polyfile/magic_defs/gpu +28 -0
  333. polyfile/magic_defs/grace +21 -0
  334. polyfile/magic_defs/graphviz +12 -0
  335. polyfile/magic_defs/gringotts +48 -0
  336. polyfile/magic_defs/guile +13 -0
  337. polyfile/magic_defs/hardware +12 -0
  338. polyfile/magic_defs/hitachi-sh +30 -0
  339. polyfile/magic_defs/hp +433 -0
  340. polyfile/magic_defs/human68k +26 -0
  341. polyfile/magic_defs/ibm370 +52 -0
  342. polyfile/magic_defs/ibm6000 +35 -0
  343. polyfile/magic_defs/icc +214 -0
  344. polyfile/magic_defs/iff +80 -0
  345. polyfile/magic_defs/images +4210 -0
  346. polyfile/magic_defs/inform +9 -0
  347. polyfile/magic_defs/intel +310 -0
  348. polyfile/magic_defs/interleaf +9 -0
  349. polyfile/magic_defs/island +10 -0
  350. polyfile/magic_defs/ispell +63 -0
  351. polyfile/magic_defs/isz +15 -0
  352. polyfile/magic_defs/java +52 -0
  353. polyfile/magic_defs/javascript +171 -0
  354. polyfile/magic_defs/jpeg +252 -0
  355. polyfile/magic_defs/json +8 -0
  356. polyfile/magic_defs/karma +9 -0
  357. polyfile/magic_defs/kde +11 -0
  358. polyfile/magic_defs/keepass +20 -0
  359. polyfile/magic_defs/kerberos +45 -0
  360. polyfile/magic_defs/kicad +85 -0
  361. polyfile/magic_defs/kml +34 -0
  362. polyfile/magic_defs/lammps +64 -0
  363. polyfile/magic_defs/lecter +6 -0
  364. polyfile/magic_defs/lex +12 -0
  365. polyfile/magic_defs/lif +50 -0
  366. polyfile/magic_defs/linux +557 -0
  367. polyfile/magic_defs/lisp +78 -0
  368. polyfile/magic_defs/llvm +22 -0
  369. polyfile/magic_defs/locoscript +12 -0
  370. polyfile/magic_defs/lua +31 -0
  371. polyfile/magic_defs/luks +126 -0
  372. polyfile/magic_defs/m4 +11 -0
  373. polyfile/magic_defs/mach +303 -0
  374. polyfile/magic_defs/macintosh +505 -0
  375. polyfile/magic_defs/macos +7 -0
  376. polyfile/magic_defs/magic +10 -0
  377. polyfile/magic_defs/magic.mgc +0 -0
  378. polyfile/magic_defs/mail.news +132 -0
  379. polyfile/magic_defs/make +21 -0
  380. polyfile/magic_defs/map +413 -0
  381. polyfile/magic_defs/maple +109 -0
  382. polyfile/magic_defs/marc21 +30 -0
  383. polyfile/magic_defs/mathcad +8 -0
  384. polyfile/magic_defs/mathematica +188 -0
  385. polyfile/magic_defs/matroska +17 -0
  386. polyfile/magic_defs/mcrypt +52 -0
  387. polyfile/magic_defs/measure +44 -0
  388. polyfile/magic_defs/mercurial +13 -0
  389. polyfile/magic_defs/metastore +8 -0
  390. polyfile/magic_defs/meteorological +53 -0
  391. polyfile/magic_defs/microfocus +21 -0
  392. polyfile/magic_defs/mime +9 -0
  393. polyfile/magic_defs/mips +120 -0
  394. polyfile/magic_defs/mirage +8 -0
  395. polyfile/magic_defs/misctools +140 -0
  396. polyfile/magic_defs/mkid +11 -0
  397. polyfile/magic_defs/mlssa +8 -0
  398. polyfile/magic_defs/mmdf +6 -0
  399. polyfile/magic_defs/modem +92 -0
  400. polyfile/magic_defs/modulefile +9 -0
  401. polyfile/magic_defs/motorola +71 -0
  402. polyfile/magic_defs/mozilla +37 -0
  403. polyfile/magic_defs/msdos +2304 -0
  404. polyfile/magic_defs/msooxml +68 -0
  405. polyfile/magic_defs/msvc +222 -0
  406. polyfile/magic_defs/msx +309 -0
  407. polyfile/magic_defs/mup +24 -0
  408. polyfile/magic_defs/music +17 -0
  409. polyfile/magic_defs/nasa +7 -0
  410. polyfile/magic_defs/natinst +24 -0
  411. polyfile/magic_defs/ncr +49 -0
  412. polyfile/magic_defs/neko +12 -0
  413. polyfile/magic_defs/netbsd +251 -0
  414. polyfile/magic_defs/netscape +26 -0
  415. polyfile/magic_defs/netware +11 -0
  416. polyfile/magic_defs/news +13 -0
  417. polyfile/magic_defs/nifty +202 -0
  418. polyfile/magic_defs/nim-lang +29 -0
  419. polyfile/magic_defs/nitpicker +14 -0
  420. polyfile/magic_defs/numpy +9 -0
  421. polyfile/magic_defs/oasis +12 -0
  422. polyfile/magic_defs/ocaml +14 -0
  423. polyfile/magic_defs/octave +6 -0
  424. polyfile/magic_defs/ole2compounddocs +760 -0
  425. polyfile/magic_defs/olf +98 -0
  426. polyfile/magic_defs/openfst +17 -0
  427. polyfile/magic_defs/opentimestamps +16 -0
  428. polyfile/magic_defs/oric +16 -0
  429. polyfile/magic_defs/os2 +186 -0
  430. polyfile/magic_defs/os400 +39 -0
  431. polyfile/magic_defs/os9 +80 -0
  432. polyfile/magic_defs/osf1 +10 -0
  433. polyfile/magic_defs/palm +156 -0
  434. polyfile/magic_defs/parix +13 -0
  435. polyfile/magic_defs/parrot +22 -0
  436. polyfile/magic_defs/pascal +39 -0
  437. polyfile/magic_defs/pbf +11 -0
  438. polyfile/magic_defs/pbm +8 -0
  439. polyfile/magic_defs/pc88 +24 -0
  440. polyfile/magic_defs/pc98 +77 -0
  441. polyfile/magic_defs/pci_ids +116 -0
  442. polyfile/magic_defs/pcjr +8 -0
  443. polyfile/magic_defs/pdf +51 -0
  444. polyfile/magic_defs/pdp +42 -0
  445. polyfile/magic_defs/perl +100 -0
  446. polyfile/magic_defs/pgf +52 -0
  447. polyfile/magic_defs/pgp +581 -0
  448. polyfile/magic_defs/pgp-binary-keys +388 -0
  449. polyfile/magic_defs/pkgadd +7 -0
  450. polyfile/magic_defs/plan9 +25 -0
  451. polyfile/magic_defs/playdate +57 -0
  452. polyfile/magic_defs/plus5 +18 -0
  453. polyfile/magic_defs/pmem +46 -0
  454. polyfile/magic_defs/polyfile_zip +5 -0
  455. polyfile/magic_defs/polyml +23 -0
  456. polyfile/magic_defs/printer +269 -0
  457. polyfile/magic_defs/project +10 -0
  458. polyfile/magic_defs/psdbms +14 -0
  459. polyfile/magic_defs/psl +14 -0
  460. polyfile/magic_defs/pulsar +13 -0
  461. polyfile/magic_defs/puzzle +17 -0
  462. polyfile/magic_defs/pwsafe +14 -0
  463. polyfile/magic_defs/pyramid +12 -0
  464. polyfile/magic_defs/python +305 -0
  465. polyfile/magic_defs/qt +30 -0
  466. polyfile/magic_defs/revision +66 -0
  467. polyfile/magic_defs/riff +840 -0
  468. polyfile/magic_defs/rinex +44 -0
  469. polyfile/magic_defs/ringdove +45 -0
  470. polyfile/magic_defs/rpi +52 -0
  471. polyfile/magic_defs/rpm +45 -0
  472. polyfile/magic_defs/rpmsg +7 -0
  473. polyfile/magic_defs/rst +11 -0
  474. polyfile/magic_defs/rtf +94 -0
  475. polyfile/magic_defs/ruby +55 -0
  476. polyfile/magic_defs/rust +21 -0
  477. polyfile/magic_defs/sc +7 -0
  478. polyfile/magic_defs/sccs +24 -0
  479. polyfile/magic_defs/scientific +144 -0
  480. polyfile/magic_defs/securitycerts +6 -0
  481. polyfile/magic_defs/selinux +24 -0
  482. polyfile/magic_defs/sendmail +37 -0
  483. polyfile/magic_defs/sequent +42 -0
  484. polyfile/magic_defs/sereal +35 -0
  485. polyfile/magic_defs/sgi +144 -0
  486. polyfile/magic_defs/sgml +161 -0
  487. polyfile/magic_defs/sharc +23 -0
  488. polyfile/magic_defs/sinclair +40 -0
  489. polyfile/magic_defs/sisu +18 -0
  490. polyfile/magic_defs/sketch +6 -0
  491. polyfile/magic_defs/smalltalk +25 -0
  492. polyfile/magic_defs/smile +34 -0
  493. polyfile/magic_defs/sniffer +482 -0
  494. polyfile/magic_defs/softquad +40 -0
  495. polyfile/magic_defs/sosi +40 -0
  496. polyfile/magic_defs/spec +21 -0
  497. polyfile/magic_defs/spectrum +184 -0
  498. polyfile/magic_defs/sql +288 -0
  499. polyfile/magic_defs/ssh +39 -0
  500. polyfile/magic_defs/ssl +20 -0
  501. polyfile/magic_defs/statistics +45 -0
  502. polyfile/magic_defs/subtitle +38 -0
  503. polyfile/magic_defs/sun +141 -0
  504. polyfile/magic_defs/svf +5 -0
  505. polyfile/magic_defs/sylk +36 -0
  506. polyfile/magic_defs/symbos +42 -0
  507. polyfile/magic_defs/sysex +429 -0
  508. polyfile/magic_defs/tcl +29 -0
  509. polyfile/magic_defs/teapot +6 -0
  510. polyfile/magic_defs/terminfo +63 -0
  511. polyfile/magic_defs/tex +141 -0
  512. polyfile/magic_defs/tgif +7 -0
  513. polyfile/magic_defs/ti-8x +239 -0
  514. polyfile/magic_defs/timezone +42 -0
  515. polyfile/magic_defs/tplink +95 -0
  516. polyfile/magic_defs/troff +38 -0
  517. polyfile/magic_defs/tuxedo +8 -0
  518. polyfile/magic_defs/typeset +8 -0
  519. polyfile/magic_defs/uf2 +72 -0
  520. polyfile/magic_defs/unicode +15 -0
  521. polyfile/magic_defs/unisig +12 -0
  522. polyfile/magic_defs/unknown +34 -0
  523. polyfile/magic_defs/usd +21 -0
  524. polyfile/magic_defs/uterus +16 -0
  525. polyfile/magic_defs/uuencode +28 -0
  526. polyfile/magic_defs/vacuum-cleaner +54 -0
  527. polyfile/magic_defs/varied.out +46 -0
  528. polyfile/magic_defs/varied.script +21 -0
  529. polyfile/magic_defs/vax +32 -0
  530. polyfile/magic_defs/vicar +17 -0
  531. polyfile/magic_defs/virtual +307 -0
  532. polyfile/magic_defs/virtutech +12 -0
  533. polyfile/magic_defs/visx +32 -0
  534. polyfile/magic_defs/vms +30 -0
  535. polyfile/magic_defs/vmware +6 -0
  536. polyfile/magic_defs/vorbis +155 -0
  537. polyfile/magic_defs/vxl +14 -0
  538. polyfile/magic_defs/warc +16 -0
  539. polyfile/magic_defs/weak +16 -0
  540. polyfile/magic_defs/web +18 -0
  541. polyfile/magic_defs/webassembly +17 -0
  542. polyfile/magic_defs/windows +1811 -0
  543. polyfile/magic_defs/wireless +7 -0
  544. polyfile/magic_defs/wordprocessors +630 -0
  545. polyfile/magic_defs/wsdl +23 -0
  546. polyfile/magic_defs/x68000 +25 -0
  547. polyfile/magic_defs/xdelta +13 -0
  548. polyfile/magic_defs/xenix +106 -0
  549. polyfile/magic_defs/xilinx +58 -0
  550. polyfile/magic_defs/xo65 +37 -0
  551. polyfile/magic_defs/xwindows +43 -0
  552. polyfile/magic_defs/yara +17 -0
  553. polyfile/magic_defs/zfs +96 -0
  554. polyfile/magic_defs/zilog +12 -0
  555. polyfile/magic_defs/zip +126 -0
  556. polyfile/magic_defs/zyxel +17 -0
  557. polyfile/nes.py +144 -0
  558. polyfile/nitf.py +15 -0
  559. polyfile/pdf.py +1264 -0
  560. polyfile/pickles.py +45 -0
  561. polyfile/polyfile.py +409 -0
  562. polyfile/profiling.py +115 -0
  563. polyfile/repl.py +624 -0
  564. polyfile/search.py +310 -0
  565. polyfile/serialization.py +323 -0
  566. polyfile/structmatcher.py +46 -0
  567. polyfile/structs.py +281 -0
  568. polyfile/templates/download.js +162 -0
  569. polyfile/templates/hexdump.css +268 -0
  570. polyfile/templates/hexdump.js +756 -0
  571. polyfile/templates/jquery-3.4.1.min.js +2 -0
  572. polyfile/templates/template.html +119 -0
  573. polyfile/wildcards.py +62 -0
  574. polyfile/zipmatcher.py +183 -0
  575. polyfile_weave-0.5.5.dist-info/METADATA +173 -0
  576. polyfile_weave-0.5.5.dist-info/RECORD +585 -0
  577. polyfile_weave-0.5.5.dist-info/WHEEL +5 -0
  578. polyfile_weave-0.5.5.dist-info/entry_points.txt +2 -0
  579. polyfile_weave-0.5.5.dist-info/licenses/LICENSE +202 -0
  580. polyfile_weave-0.5.5.dist-info/top_level.txt +2 -0
  581. polymerge/__init__.py +1 -0
  582. polymerge/__main__.py +296 -0
  583. polymerge/cfg.py +127 -0
  584. polymerge/polymerge.py +227 -0
  585. polymerge/polytracker.py +190 -0
@@ -0,0 +1,467 @@
1
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
2
+
3
+ from pkg_resources import parse_version
4
+ import kaitaistruct
5
+ from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
6
+ import collections
7
+
8
+
9
+ if parse_version(kaitaistruct.__version__) < parse_version('0.9'):
10
+ raise Exception("Incompatible Kaitai Struct Python API: 0.9 or later is required, but you have %s" % (kaitaistruct.__version__))
11
+
12
+ class Msgpack(KaitaiStruct):
13
+ """MessagePack (msgpack) is a system to serialize arbitrary structured
14
+ data into a compact binary stream.
15
+
16
+ .. seealso::
17
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md
18
+ """
19
+ SEQ_FIELDS = ["b1", "int_extra", "float_32_value", "float_64_value", "str_len_8", "str_len_16", "str_len_32", "str_value", "num_array_elements_16", "num_array_elements_32", "array_elements", "num_map_elements_16", "num_map_elements_32", "map_elements"]
20
+ def __init__(self, _io, _parent=None, _root=None):
21
+ self._io = _io
22
+ self._parent = _parent
23
+ self._root = _root if _root else self
24
+ self._debug = collections.defaultdict(dict)
25
+
26
+ def _read(self):
27
+ self._debug['b1']['start'] = self._io.pos()
28
+ self.b1 = self._io.read_u1()
29
+ self._debug['b1']['end'] = self._io.pos()
30
+ self._debug['int_extra']['start'] = self._io.pos()
31
+ _on = self.b1
32
+ if _on == 211:
33
+ self.int_extra = self._io.read_s8be()
34
+ elif _on == 209:
35
+ self.int_extra = self._io.read_s2be()
36
+ elif _on == 210:
37
+ self.int_extra = self._io.read_s4be()
38
+ elif _on == 208:
39
+ self.int_extra = self._io.read_s1()
40
+ elif _on == 205:
41
+ self.int_extra = self._io.read_u2be()
42
+ elif _on == 207:
43
+ self.int_extra = self._io.read_u8be()
44
+ elif _on == 204:
45
+ self.int_extra = self._io.read_u1()
46
+ elif _on == 206:
47
+ self.int_extra = self._io.read_u4be()
48
+ self._debug['int_extra']['end'] = self._io.pos()
49
+ if self.is_float_32:
50
+ self._debug['float_32_value']['start'] = self._io.pos()
51
+ self.float_32_value = self._io.read_f4be()
52
+ self._debug['float_32_value']['end'] = self._io.pos()
53
+
54
+ if self.is_float_64:
55
+ self._debug['float_64_value']['start'] = self._io.pos()
56
+ self.float_64_value = self._io.read_f8be()
57
+ self._debug['float_64_value']['end'] = self._io.pos()
58
+
59
+ if self.is_str_8:
60
+ self._debug['str_len_8']['start'] = self._io.pos()
61
+ self.str_len_8 = self._io.read_u1()
62
+ self._debug['str_len_8']['end'] = self._io.pos()
63
+
64
+ if self.is_str_16:
65
+ self._debug['str_len_16']['start'] = self._io.pos()
66
+ self.str_len_16 = self._io.read_u2be()
67
+ self._debug['str_len_16']['end'] = self._io.pos()
68
+
69
+ if self.is_str_32:
70
+ self._debug['str_len_32']['start'] = self._io.pos()
71
+ self.str_len_32 = self._io.read_u4be()
72
+ self._debug['str_len_32']['end'] = self._io.pos()
73
+
74
+ if self.is_str:
75
+ self._debug['str_value']['start'] = self._io.pos()
76
+ self.str_value = (self._io.read_bytes(self.str_len)).decode(u"UTF-8")
77
+ self._debug['str_value']['end'] = self._io.pos()
78
+
79
+ if self.is_array_16:
80
+ self._debug['num_array_elements_16']['start'] = self._io.pos()
81
+ self.num_array_elements_16 = self._io.read_u2be()
82
+ self._debug['num_array_elements_16']['end'] = self._io.pos()
83
+
84
+ if self.is_array_32:
85
+ self._debug['num_array_elements_32']['start'] = self._io.pos()
86
+ self.num_array_elements_32 = self._io.read_u4be()
87
+ self._debug['num_array_elements_32']['end'] = self._io.pos()
88
+
89
+ if self.is_array:
90
+ self._debug['array_elements']['start'] = self._io.pos()
91
+ self.array_elements = [None] * (self.num_array_elements)
92
+ for i in range(self.num_array_elements):
93
+ if not 'arr' in self._debug['array_elements']:
94
+ self._debug['array_elements']['arr'] = []
95
+ self._debug['array_elements']['arr'].append({'start': self._io.pos()})
96
+ _t_array_elements = Msgpack(self._io)
97
+ _t_array_elements._read()
98
+ self.array_elements[i] = _t_array_elements
99
+ self._debug['array_elements']['arr'][i]['end'] = self._io.pos()
100
+
101
+ self._debug['array_elements']['end'] = self._io.pos()
102
+
103
+ if self.is_map_16:
104
+ self._debug['num_map_elements_16']['start'] = self._io.pos()
105
+ self.num_map_elements_16 = self._io.read_u2be()
106
+ self._debug['num_map_elements_16']['end'] = self._io.pos()
107
+
108
+ if self.is_map_32:
109
+ self._debug['num_map_elements_32']['start'] = self._io.pos()
110
+ self.num_map_elements_32 = self._io.read_u4be()
111
+ self._debug['num_map_elements_32']['end'] = self._io.pos()
112
+
113
+ if self.is_map:
114
+ self._debug['map_elements']['start'] = self._io.pos()
115
+ self.map_elements = [None] * (self.num_map_elements)
116
+ for i in range(self.num_map_elements):
117
+ if not 'arr' in self._debug['map_elements']:
118
+ self._debug['map_elements']['arr'] = []
119
+ self._debug['map_elements']['arr'].append({'start': self._io.pos()})
120
+ _t_map_elements = Msgpack.MapTuple(self._io, self, self._root)
121
+ _t_map_elements._read()
122
+ self.map_elements[i] = _t_map_elements
123
+ self._debug['map_elements']['arr'][i]['end'] = self._io.pos()
124
+
125
+ self._debug['map_elements']['end'] = self._io.pos()
126
+
127
+
128
+ class MapTuple(KaitaiStruct):
129
+ SEQ_FIELDS = ["key", "value"]
130
+ def __init__(self, _io, _parent=None, _root=None):
131
+ self._io = _io
132
+ self._parent = _parent
133
+ self._root = _root if _root else self
134
+ self._debug = collections.defaultdict(dict)
135
+
136
+ def _read(self):
137
+ self._debug['key']['start'] = self._io.pos()
138
+ self.key = Msgpack(self._io)
139
+ self.key._read()
140
+ self._debug['key']['end'] = self._io.pos()
141
+ self._debug['value']['start'] = self._io.pos()
142
+ self.value = Msgpack(self._io)
143
+ self.value._read()
144
+ self._debug['value']['end'] = self._io.pos()
145
+
146
+
147
+ @property
148
+ def is_array_32(self):
149
+ """
150
+ .. seealso::
151
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
152
+ """
153
+ if hasattr(self, '_m_is_array_32'):
154
+ return self._m_is_array_32 if hasattr(self, '_m_is_array_32') else None
155
+
156
+ self._m_is_array_32 = self.b1 == 221
157
+ return self._m_is_array_32 if hasattr(self, '_m_is_array_32') else None
158
+
159
+ @property
160
+ def int_value(self):
161
+ if hasattr(self, '_m_int_value'):
162
+ return self._m_int_value if hasattr(self, '_m_int_value') else None
163
+
164
+ if self.is_int:
165
+ self._m_int_value = (self.pos_int7_value if self.is_pos_int7 else (self.neg_int5_value if self.is_neg_int5 else 4919))
166
+
167
+ return self._m_int_value if hasattr(self, '_m_int_value') else None
168
+
169
+ @property
170
+ def str_len(self):
171
+ if hasattr(self, '_m_str_len'):
172
+ return self._m_str_len if hasattr(self, '_m_str_len') else None
173
+
174
+ if self.is_str:
175
+ self._m_str_len = ((self.b1 & 31) if self.is_fix_str else (self.str_len_8 if self.is_str_8 else (self.str_len_16 if self.is_str_16 else self.str_len_32)))
176
+
177
+ return self._m_str_len if hasattr(self, '_m_str_len') else None
178
+
179
+ @property
180
+ def is_fix_array(self):
181
+ """
182
+ .. seealso::
183
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
184
+ """
185
+ if hasattr(self, '_m_is_fix_array'):
186
+ return self._m_is_fix_array if hasattr(self, '_m_is_fix_array') else None
187
+
188
+ self._m_is_fix_array = (self.b1 & 240) == 144
189
+ return self._m_is_fix_array if hasattr(self, '_m_is_fix_array') else None
190
+
191
+ @property
192
+ def is_map(self):
193
+ """
194
+ .. seealso::
195
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
196
+ """
197
+ if hasattr(self, '_m_is_map'):
198
+ return self._m_is_map if hasattr(self, '_m_is_map') else None
199
+
200
+ self._m_is_map = ((self.is_fix_map) or (self.is_map_16) or (self.is_map_32))
201
+ return self._m_is_map if hasattr(self, '_m_is_map') else None
202
+
203
+ @property
204
+ def is_array(self):
205
+ """
206
+ .. seealso::
207
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
208
+ """
209
+ if hasattr(self, '_m_is_array'):
210
+ return self._m_is_array if hasattr(self, '_m_is_array') else None
211
+
212
+ self._m_is_array = ((self.is_fix_array) or (self.is_array_16) or (self.is_array_32))
213
+ return self._m_is_array if hasattr(self, '_m_is_array') else None
214
+
215
+ @property
216
+ def is_float(self):
217
+ if hasattr(self, '_m_is_float'):
218
+ return self._m_is_float if hasattr(self, '_m_is_float') else None
219
+
220
+ self._m_is_float = ((self.is_float_32) or (self.is_float_64))
221
+ return self._m_is_float if hasattr(self, '_m_is_float') else None
222
+
223
+ @property
224
+ def is_str_8(self):
225
+ """
226
+ .. seealso::
227
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
228
+ """
229
+ if hasattr(self, '_m_is_str_8'):
230
+ return self._m_is_str_8 if hasattr(self, '_m_is_str_8') else None
231
+
232
+ self._m_is_str_8 = self.b1 == 217
233
+ return self._m_is_str_8 if hasattr(self, '_m_is_str_8') else None
234
+
235
+ @property
236
+ def is_fix_map(self):
237
+ """
238
+ .. seealso::
239
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
240
+ """
241
+ if hasattr(self, '_m_is_fix_map'):
242
+ return self._m_is_fix_map if hasattr(self, '_m_is_fix_map') else None
243
+
244
+ self._m_is_fix_map = (self.b1 & 240) == 128
245
+ return self._m_is_fix_map if hasattr(self, '_m_is_fix_map') else None
246
+
247
+ @property
248
+ def is_int(self):
249
+ if hasattr(self, '_m_is_int'):
250
+ return self._m_is_int if hasattr(self, '_m_is_int') else None
251
+
252
+ self._m_is_int = ((self.is_pos_int7) or (self.is_neg_int5))
253
+ return self._m_is_int if hasattr(self, '_m_is_int') else None
254
+
255
+ @property
256
+ def is_bool(self):
257
+ if hasattr(self, '_m_is_bool'):
258
+ return self._m_is_bool if hasattr(self, '_m_is_bool') else None
259
+
260
+ self._m_is_bool = ((self.b1 == 194) or (self.b1 == 195))
261
+ return self._m_is_bool if hasattr(self, '_m_is_bool') else None
262
+
263
+ @property
264
+ def is_str_16(self):
265
+ """
266
+ .. seealso::
267
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
268
+ """
269
+ if hasattr(self, '_m_is_str_16'):
270
+ return self._m_is_str_16 if hasattr(self, '_m_is_str_16') else None
271
+
272
+ self._m_is_str_16 = self.b1 == 218
273
+ return self._m_is_str_16 if hasattr(self, '_m_is_str_16') else None
274
+
275
+ @property
276
+ def is_float_64(self):
277
+ """
278
+ .. seealso::
279
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float
280
+ """
281
+ if hasattr(self, '_m_is_float_64'):
282
+ return self._m_is_float_64 if hasattr(self, '_m_is_float_64') else None
283
+
284
+ self._m_is_float_64 = self.b1 == 203
285
+ return self._m_is_float_64 if hasattr(self, '_m_is_float_64') else None
286
+
287
+ @property
288
+ def is_map_16(self):
289
+ """
290
+ .. seealso::
291
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
292
+ """
293
+ if hasattr(self, '_m_is_map_16'):
294
+ return self._m_is_map_16 if hasattr(self, '_m_is_map_16') else None
295
+
296
+ self._m_is_map_16 = self.b1 == 222
297
+ return self._m_is_map_16 if hasattr(self, '_m_is_map_16') else None
298
+
299
+ @property
300
+ def is_neg_int5(self):
301
+ if hasattr(self, '_m_is_neg_int5'):
302
+ return self._m_is_neg_int5 if hasattr(self, '_m_is_neg_int5') else None
303
+
304
+ self._m_is_neg_int5 = (self.b1 & 224) == 224
305
+ return self._m_is_neg_int5 if hasattr(self, '_m_is_neg_int5') else None
306
+
307
+ @property
308
+ def pos_int7_value(self):
309
+ if hasattr(self, '_m_pos_int7_value'):
310
+ return self._m_pos_int7_value if hasattr(self, '_m_pos_int7_value') else None
311
+
312
+ if self.is_pos_int7:
313
+ self._m_pos_int7_value = self.b1
314
+
315
+ return self._m_pos_int7_value if hasattr(self, '_m_pos_int7_value') else None
316
+
317
+ @property
318
+ def is_nil(self):
319
+ """
320
+ .. seealso::
321
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-nil
322
+ """
323
+ if hasattr(self, '_m_is_nil'):
324
+ return self._m_is_nil if hasattr(self, '_m_is_nil') else None
325
+
326
+ self._m_is_nil = self.b1 == 192
327
+ return self._m_is_nil if hasattr(self, '_m_is_nil') else None
328
+
329
+ @property
330
+ def float_value(self):
331
+ if hasattr(self, '_m_float_value'):
332
+ return self._m_float_value if hasattr(self, '_m_float_value') else None
333
+
334
+ if self.is_float:
335
+ self._m_float_value = (self.float_32_value if self.is_float_32 else self.float_64_value)
336
+
337
+ return self._m_float_value if hasattr(self, '_m_float_value') else None
338
+
339
+ @property
340
+ def num_array_elements(self):
341
+ """
342
+ .. seealso::
343
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
344
+ """
345
+ if hasattr(self, '_m_num_array_elements'):
346
+ return self._m_num_array_elements if hasattr(self, '_m_num_array_elements') else None
347
+
348
+ if self.is_array:
349
+ self._m_num_array_elements = ((self.b1 & 15) if self.is_fix_array else (self.num_array_elements_16 if self.is_array_16 else self.num_array_elements_32))
350
+
351
+ return self._m_num_array_elements if hasattr(self, '_m_num_array_elements') else None
352
+
353
+ @property
354
+ def neg_int5_value(self):
355
+ if hasattr(self, '_m_neg_int5_value'):
356
+ return self._m_neg_int5_value if hasattr(self, '_m_neg_int5_value') else None
357
+
358
+ if self.is_neg_int5:
359
+ self._m_neg_int5_value = -((self.b1 & 31))
360
+
361
+ return self._m_neg_int5_value if hasattr(self, '_m_neg_int5_value') else None
362
+
363
+ @property
364
+ def bool_value(self):
365
+ """
366
+ .. seealso::
367
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-bool
368
+ """
369
+ if hasattr(self, '_m_bool_value'):
370
+ return self._m_bool_value if hasattr(self, '_m_bool_value') else None
371
+
372
+ if self.is_bool:
373
+ self._m_bool_value = self.b1 == 195
374
+
375
+ return self._m_bool_value if hasattr(self, '_m_bool_value') else None
376
+
377
+ @property
378
+ def is_pos_int7(self):
379
+ if hasattr(self, '_m_is_pos_int7'):
380
+ return self._m_is_pos_int7 if hasattr(self, '_m_is_pos_int7') else None
381
+
382
+ self._m_is_pos_int7 = (self.b1 & 128) == 0
383
+ return self._m_is_pos_int7 if hasattr(self, '_m_is_pos_int7') else None
384
+
385
+ @property
386
+ def is_array_16(self):
387
+ """
388
+ .. seealso::
389
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
390
+ """
391
+ if hasattr(self, '_m_is_array_16'):
392
+ return self._m_is_array_16 if hasattr(self, '_m_is_array_16') else None
393
+
394
+ self._m_is_array_16 = self.b1 == 220
395
+ return self._m_is_array_16 if hasattr(self, '_m_is_array_16') else None
396
+
397
+ @property
398
+ def is_str(self):
399
+ if hasattr(self, '_m_is_str'):
400
+ return self._m_is_str if hasattr(self, '_m_is_str') else None
401
+
402
+ self._m_is_str = ((self.is_fix_str) or (self.is_str_8) or (self.is_str_16) or (self.is_str_32))
403
+ return self._m_is_str if hasattr(self, '_m_is_str') else None
404
+
405
+ @property
406
+ def is_fix_str(self):
407
+ """
408
+ .. seealso::
409
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
410
+ """
411
+ if hasattr(self, '_m_is_fix_str'):
412
+ return self._m_is_fix_str if hasattr(self, '_m_is_fix_str') else None
413
+
414
+ self._m_is_fix_str = (self.b1 & 224) == 160
415
+ return self._m_is_fix_str if hasattr(self, '_m_is_fix_str') else None
416
+
417
+ @property
418
+ def is_str_32(self):
419
+ """
420
+ .. seealso::
421
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
422
+ """
423
+ if hasattr(self, '_m_is_str_32'):
424
+ return self._m_is_str_32 if hasattr(self, '_m_is_str_32') else None
425
+
426
+ self._m_is_str_32 = self.b1 == 219
427
+ return self._m_is_str_32 if hasattr(self, '_m_is_str_32') else None
428
+
429
+ @property
430
+ def num_map_elements(self):
431
+ """
432
+ .. seealso::
433
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
434
+ """
435
+ if hasattr(self, '_m_num_map_elements'):
436
+ return self._m_num_map_elements if hasattr(self, '_m_num_map_elements') else None
437
+
438
+ if self.is_map:
439
+ self._m_num_map_elements = ((self.b1 & 15) if self.is_fix_map else (self.num_map_elements_16 if self.is_map_16 else self.num_map_elements_32))
440
+
441
+ return self._m_num_map_elements if hasattr(self, '_m_num_map_elements') else None
442
+
443
+ @property
444
+ def is_float_32(self):
445
+ """
446
+ .. seealso::
447
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float
448
+ """
449
+ if hasattr(self, '_m_is_float_32'):
450
+ return self._m_is_float_32 if hasattr(self, '_m_is_float_32') else None
451
+
452
+ self._m_is_float_32 = self.b1 == 202
453
+ return self._m_is_float_32 if hasattr(self, '_m_is_float_32') else None
454
+
455
+ @property
456
+ def is_map_32(self):
457
+ """
458
+ .. seealso::
459
+ Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
460
+ """
461
+ if hasattr(self, '_m_is_map_32'):
462
+ return self._m_is_map_32 if hasattr(self, '_m_is_map_32') else None
463
+
464
+ self._m_is_map_32 = self.b1 == 223
465
+ return self._m_is_map_32 if hasattr(self, '_m_is_map_32') else None
466
+
467
+