fancy-fine-print 0.1.0__tar.gz

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 (854) hide show
  1. fancy_fine_print-0.1.0/.gitattributes +10 -0
  2. fancy_fine_print-0.1.0/.github/workflows/ci.yml +143 -0
  3. fancy_fine_print-0.1.0/.github/workflows/publish.yml +225 -0
  4. fancy_fine_print-0.1.0/.gitignore +13 -0
  5. fancy_fine_print-0.1.0/AGENTS.md +122 -0
  6. fancy_fine_print-0.1.0/CHANGELOG.md +63 -0
  7. fancy_fine_print-0.1.0/CLAUDE.md +1 -0
  8. fancy_fine_print-0.1.0/LICENSE +21 -0
  9. fancy_fine_print-0.1.0/PKG-INFO +185 -0
  10. fancy_fine_print-0.1.0/README.md +141 -0
  11. fancy_fine_print-0.1.0/pyproject.toml +47 -0
  12. fancy_fine_print-0.1.0/scripts/gen_encodings.php +51 -0
  13. fancy_fine_print-0.1.0/scripts/harvest_php_corpus.php +102 -0
  14. fancy_fine_print-0.1.0/src/fine_print/__init__.py +42 -0
  15. fancy_fine_print-0.1.0/src/fine_print/_php.py +181 -0
  16. fancy_fine_print-0.1.0/src/fine_print/agent.py +316 -0
  17. fancy_fine_print-0.1.0/src/fine_print/crypto/__init__.py +7 -0
  18. fancy_fine_print-0.1.0/src/fine_print/crypto/aes.py +173 -0
  19. fancy_fine_print-0.1.0/src/fine_print/crypto/rc4.py +23 -0
  20. fancy_fine_print-0.1.0/src/fine_print/document.py +858 -0
  21. fancy_fine_print-0.1.0/src/fine_print/exceptions.py +46 -0
  22. fancy_fine_print-0.1.0/src/fine_print/filters.py +331 -0
  23. fancy_fine_print-0.1.0/src/fine_print/limits.py +171 -0
  24. fancy_fine_print-0.1.0/src/fine_print/objects.py +102 -0
  25. fancy_fine_print-0.1.0/src/fine_print/parser.py +370 -0
  26. fancy_fine_print-0.1.0/src/fine_print/py.typed +0 -0
  27. fancy_fine_print-0.1.0/src/fine_print/security/__init__.py +1 -0
  28. fancy_fine_print-0.1.0/src/fine_print/security/active.py +132 -0
  29. fancy_fine_print-0.1.0/src/fine_print/security/guard.py +285 -0
  30. fancy_fine_print-0.1.0/src/fine_print/security/patterns.py +28 -0
  31. fancy_fine_print-0.1.0/src/fine_print/security/standard.py +231 -0
  32. fancy_fine_print-0.1.0/src/fine_print/text/__init__.py +1 -0
  33. fancy_fine_print-0.1.0/src/fine_print/text/_encoding_data.py +269 -0
  34. fancy_fine_print-0.1.0/src/fine_print/text/cmap.py +161 -0
  35. fancy_fine_print-0.1.0/src/fine_print/text/encodings.py +59 -0
  36. fancy_fine_print-0.1.0/src/fine_print/text/extractor.py +479 -0
  37. fancy_fine_print-0.1.0/src/fine_print/text/font.py +273 -0
  38. fancy_fine_print-0.1.0/src/fine_print/text/layout.py +85 -0
  39. fancy_fine_print-0.1.0/src/fine_print/text/textstring.py +19 -0
  40. fancy_fine_print-0.1.0/src/fine_print/text/words.py +63 -0
  41. fancy_fine_print-0.1.0/tests/_oracle.py +245 -0
  42. fancy_fine_print-0.1.0/tests/conftest.py +28 -0
  43. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/00a10962ec1c1a64.pdf.gz +0 -0
  44. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/01c5b14f358605e7.pdf.gz +0 -0
  45. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/01fb8127c9ed5a05.pdf.gz +0 -0
  46. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0269347ff4b465b1.pdf.gz +0 -0
  47. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/030d8c7fc1b7a337.pdf.gz +0 -0
  48. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/032efca317ca43c8.pdf.gz +0 -0
  49. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/034ef62c1f60c038.pdf.gz +0 -0
  50. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/036bfc3bdb94f3b2.pdf.gz +0 -0
  51. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/03e3cd1bc6016d71.pdf.gz +0 -0
  52. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0404a321810a9122.pdf.gz +0 -0
  53. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/040beb8d3fa2ad91.pdf.gz +0 -0
  54. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0411541a2c49822e.pdf.gz +0 -0
  55. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/05a49f4d508ec50e.pdf.gz +0 -0
  56. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/05fae1b0233c650a.pdf.gz +0 -0
  57. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/078de286436dca1e.pdf.gz +0 -0
  58. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/080c47808da4872f.pdf.gz +0 -0
  59. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/081a5e4170410c93.pdf.gz +0 -0
  60. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0822b1d4fd7d8ba8.pdf.gz +0 -0
  61. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0832bd888bd4b309.pdf.gz +0 -0
  62. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/08629b1929329126.pdf.gz +0 -0
  63. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/08f83b394b270445.pdf.gz +0 -0
  64. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/09898a5044533674.pdf.gz +0 -0
  65. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0ab6119317518068.pdf.gz +0 -0
  66. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0ac4c343cecff256.pdf.gz +0 -0
  67. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0b04712f73dcd996.pdf.gz +0 -0
  68. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0b1928b427151814.pdf.gz +0 -0
  69. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0bb915e808ba9e0a.pdf.gz +0 -0
  70. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0be111de2e88dea9.pdf.gz +0 -0
  71. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0c5afa6dad9d7498.pdf.gz +0 -0
  72. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0d1bb0bb30b29895.pdf.gz +0 -0
  73. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0d70e1401fba5e0b.pdf.gz +0 -0
  74. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0d8e99bb5b247d66.pdf.gz +0 -0
  75. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0deadb6e6c5c2bfe.pdf.gz +0 -0
  76. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0e5cd5632d0daa9e.pdf.gz +0 -0
  77. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0e62c8277a44fce9.pdf.gz +0 -0
  78. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0ea36b7e785a02c4.pdf.gz +0 -0
  79. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0ec664d037bf0f90.pdf.gz +0 -0
  80. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0f75c487d566dadc.pdf.gz +0 -0
  81. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0f7bbd782f052610.pdf.gz +0 -0
  82. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/0f9f591e31b3dc0a.pdf.gz +0 -0
  83. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/102f7185bd063159.pdf.gz +0 -0
  84. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/105c11219ee88c8b.pdf.gz +0 -0
  85. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1142f5317bf0d446.pdf.gz +0 -0
  86. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/120fd30a1e91db63.pdf.gz +0 -0
  87. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12213791e1a5bec8.pdf.gz +0 -0
  88. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/122d829f3733caa3.pdf.gz +0 -0
  89. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12701e553ff602cc.pdf.gz +0 -0
  90. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1298c6377b7d6dc0.pdf.gz +0 -0
  91. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12a475febe345ff7.pdf.gz +0 -0
  92. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12b4e0ece23e5965.pdf.gz +0 -0
  93. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12b50a97720d5bf9.pdf.gz +0 -0
  94. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/12f0abff5f397d2b.pdf.gz +0 -0
  95. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/136e6b89fc513aff.pdf.gz +0 -0
  96. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/13d4de4c0be92434.pdf.gz +0 -0
  97. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1411ff56db233974.pdf.gz +0 -0
  98. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/147c24c44b63fee7.pdf.gz +0 -0
  99. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1484b01ff12c9e44.pdf.gz +0 -0
  100. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/149a4465bc65edd9.pdf.gz +0 -0
  101. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1501590f791090a3.pdf.gz +0 -0
  102. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/152d646b7d15ca24.pdf.gz +0 -0
  103. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/15327c0c778d1faf.pdf.gz +0 -0
  104. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/157d4637f7ac975f.pdf.gz +0 -0
  105. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/15836ac6db9a9b88.pdf.gz +0 -0
  106. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/162b18f9e8d4073c.pdf.gz +0 -0
  107. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/16a6a362533eb38f.pdf.gz +0 -0
  108. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/16d32c3542d50600.pdf.gz +0 -0
  109. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/16e30ba1cab52b0f.pdf.gz +0 -0
  110. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/16e65e70452bfa45.pdf.gz +0 -0
  111. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/172c335f8bad7135.pdf.gz +0 -0
  112. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/17562dcccf1c7846.pdf.gz +0 -0
  113. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/17fbb838c733b4da.pdf.gz +0 -0
  114. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1800ebfcb7564fc1.pdf.gz +0 -0
  115. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1803f9871bd56ff0.pdf.gz +0 -0
  116. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/183bd5fa59b62663.pdf.gz +0 -0
  117. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/189eb54361023073.pdf.gz +0 -0
  118. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/18be100994122e4b.pdf.gz +0 -0
  119. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/18edca2b9a0d4fed.pdf.gz +0 -0
  120. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1956ae9de632aa81.pdf.gz +0 -0
  121. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/195f92b7e6f618ea.pdf.gz +0 -0
  122. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/19b89fda4c662440.pdf.gz +0 -0
  123. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1a53c0130d96cf0c.pdf.gz +0 -0
  124. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1b477c885746d1af.pdf.gz +0 -0
  125. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1ccd31369792bb5f.pdf.gz +0 -0
  126. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1dc81c6eef2bf992.pdf.gz +0 -0
  127. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1dd91d8a9b47c7b6.pdf.gz +0 -0
  128. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1e2a7798377f7c38.pdf.gz +0 -0
  129. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1eb11c3a2d9a2fe6.pdf.gz +0 -0
  130. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1f0ffc8652ec4e41.pdf.gz +0 -0
  131. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/1fda287c39493913.pdf.gz +0 -0
  132. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/20bde7c612536f7b.pdf.gz +0 -0
  133. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/219bc26716fa0f7c.pdf.gz +0 -0
  134. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/21b820617b433225.pdf.gz +0 -0
  135. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/21c6c1e8e28e36f7.pdf.gz +0 -0
  136. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/21d5b3a2a8aff741.pdf.gz +0 -0
  137. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/21fb3047e138df96.pdf.gz +0 -0
  138. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/228e13d8039b7b3f.pdf.gz +0 -0
  139. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/229edc1f93bec7ce.pdf.gz +0 -0
  140. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/232905cc87e1b2b5.pdf.gz +0 -0
  141. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/23d50ce6a9c5dcde.pdf.gz +0 -0
  142. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/23e74d4d57d02161.pdf.gz +0 -0
  143. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2403700de5b2e9a6.pdf.gz +0 -0
  144. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/24789f5f48316f34.pdf.gz +0 -0
  145. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2479654063d7d3d4.pdf.gz +0 -0
  146. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/24805f892ab15664.pdf.gz +0 -0
  147. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/271476e857a8ae7d.pdf.gz +0 -0
  148. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2726fbda805aeecc.pdf.gz +0 -0
  149. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2764564968d0cc53.pdf.gz +0 -0
  150. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/27ae2bbad00b5149.pdf.gz +0 -0
  151. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/27e04569b96704c6.pdf.gz +0 -0
  152. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2971b2aacb64db70.pdf.gz +0 -0
  153. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2983a87a64beb71f.pdf.gz +0 -0
  154. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/298e0ed82557dd3e.pdf.gz +0 -0
  155. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/29b5b406bbc07354.pdf.gz +0 -0
  156. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/29f361481c12d821.pdf.gz +0 -0
  157. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/29f57e5f54040e69.pdf.gz +0 -0
  158. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/29f78461dd84b2b6.pdf.gz +0 -0
  159. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2a0345e671a115fe.pdf.gz +0 -0
  160. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2a08316d6474ae97.pdf.gz +0 -0
  161. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2a5bc4ae5f0ed971.pdf.gz +0 -0
  162. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2b048fa956c09028.pdf.gz +0 -0
  163. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2b3ca59f3d299443.pdf.gz +0 -0
  164. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2c4a84299985f122.pdf.gz +0 -0
  165. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2ca812e03b73eab2.pdf.gz +0 -0
  166. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2d675959c309c553.pdf.gz +0 -0
  167. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2d7844a431cd2413.pdf.gz +0 -0
  168. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2da44316a1c96a0a.pdf.gz +0 -0
  169. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2e1640c13585b919.pdf.gz +0 -0
  170. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2e2e3c0eabd327aa.pdf.gz +0 -0
  171. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2e6a2fcf127f93f6.pdf.gz +0 -0
  172. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2e9105416513f7b5.pdf.gz +0 -0
  173. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2e91e1b97086e2db.pdf.gz +0 -0
  174. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2f46be0c0d468b44.pdf.gz +0 -0
  175. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2f4bad41f37f166b.pdf.gz +0 -0
  176. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2f63379d19368c79.pdf.gz +0 -0
  177. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/2f905e49a885c08b.pdf.gz +0 -0
  178. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/30076ec35f04b4d2.pdf.gz +0 -0
  179. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/307267f8e0c6c199.pdf.gz +0 -0
  180. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/308f45b057d9031d.pdf.gz +0 -0
  181. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/30dabb2405bbd19a.pdf.gz +0 -0
  182. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/313296413aaec548.pdf.gz +0 -0
  183. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3149135ffed54e36.pdf.gz +0 -0
  184. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/315d81a9a77bccb0.pdf.gz +0 -0
  185. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3184043f5eb4d049.pdf.gz +0 -0
  186. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/31a9b8c7770830af.pdf.gz +0 -0
  187. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/31ced6069d4c4975.pdf.gz +0 -0
  188. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/31e18f291a0bcb4d.pdf.gz +0 -0
  189. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/324122a35cbad733.pdf.gz +0 -0
  190. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3282da75d00790c8.pdf.gz +0 -0
  191. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/32ce2e74e9a85e7c.pdf.gz +0 -0
  192. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/331143ed1f42319d.pdf.gz +0 -0
  193. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/33165a892f23e0dc.pdf.gz +0 -0
  194. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/331d3559adf8a5cd.pdf.gz +0 -0
  195. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/333f51122a8cc583.pdf.gz +0 -0
  196. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/337cb24e73b59e3b.pdf.gz +0 -0
  197. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/33ab9aec2e73a77b.pdf.gz +0 -0
  198. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/33c8eac2a1f4f652.pdf.gz +0 -0
  199. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/34ac7d54e630134b.pdf.gz +0 -0
  200. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/34c6cbd6e6b61905.pdf.gz +0 -0
  201. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/358f1f95eb929432.pdf.gz +0 -0
  202. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/35918e1037607541.pdf.gz +0 -0
  203. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3594c988519164bc.pdf.gz +0 -0
  204. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/35cf387d29447eba.pdf.gz +0 -0
  205. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/35d3e9579695b6d0.pdf.gz +0 -0
  206. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/35e6a4034edd6d5e.pdf.gz +0 -0
  207. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/36edb73383549821.pdf.gz +0 -0
  208. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/37415a4b96b97f68.pdf.gz +0 -0
  209. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3774f6e921791323.pdf.gz +0 -0
  210. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/37b2a6ab662330bd.pdf.gz +0 -0
  211. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/37e3fb5ab58e07da.pdf.gz +0 -0
  212. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3804de60fe33740b.pdf.gz +0 -0
  213. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/38b3c564cb4e8137.pdf.gz +0 -0
  214. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/38b506ff42c4e0d7.pdf.gz +0 -0
  215. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/38fbd44716903905.pdf.gz +0 -0
  216. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3947a622c1a5fca4.pdf.gz +0 -0
  217. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3950af265f31510f.pdf.gz +0 -0
  218. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/39c511fa2d8b545e.pdf.gz +0 -0
  219. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3a377b4a155577e0.pdf.gz +0 -0
  220. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3a596b036d6498d0.pdf.gz +0 -0
  221. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3ae2a0f4e6968693.pdf.gz +0 -0
  222. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3ae9cb3f38cfc4ea.pdf.gz +0 -0
  223. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3b4552027fedb082.pdf.gz +0 -0
  224. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3c1cdc8209e398bf.pdf.gz +0 -0
  225. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3c1e70fdc5df0ef4.pdf.gz +0 -0
  226. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3cf9371c08c45ab3.pdf.gz +0 -0
  227. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3d8205dee84e845d.pdf.gz +0 -0
  228. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3e5f156bb6ff2a1e.pdf.gz +0 -0
  229. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3eafea26c2f10d52.pdf.gz +0 -0
  230. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3ec906d2954c1c32.pdf.gz +0 -0
  231. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3eda2c96f56b15bf.pdf.gz +0 -0
  232. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3ef78b78e30700e1.pdf.gz +0 -0
  233. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3f2563ae1c5e7dc8.pdf.gz +0 -0
  234. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3f6548d175eb3916.pdf.gz +0 -0
  235. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3f6934344b0b4aff.pdf.gz +0 -0
  236. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3f707596bcbbca92.pdf.gz +0 -0
  237. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3f7bd4bfe32e41da.pdf.gz +0 -0
  238. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/3fc83b807ad5d9d3.pdf.gz +0 -0
  239. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/40092e45f4f6fa0c.pdf.gz +0 -0
  240. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/40aa0db0dda23221.pdf.gz +0 -0
  241. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/40b10eb0faaf71d9.pdf.gz +0 -0
  242. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4138dbc0cba6ea10.pdf.gz +0 -0
  243. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/41949db210ba1f6f.pdf.gz +0 -0
  244. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/421757a17a9bac01.pdf.gz +0 -0
  245. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/42acb428048dacf0.pdf.gz +0 -0
  246. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4377ea9342d34bda.pdf.gz +0 -0
  247. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/43adccc80c04fc67.pdf.gz +0 -0
  248. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/43d030a6eb651294.pdf.gz +0 -0
  249. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/440536d9e61370c1.pdf.gz +0 -0
  250. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/440b4f435eca9518.pdf.gz +0 -0
  251. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/44419be31415e92d.pdf.gz +0 -0
  252. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4445a43dac97d6d5.pdf.gz +0 -0
  253. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/444d17dad632617b.pdf.gz +0 -0
  254. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/448ffc50294a5bcc.pdf.gz +0 -0
  255. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/44d76bf209e900e2.pdf.gz +0 -0
  256. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/44f821d84fb507b9.pdf.gz +0 -0
  257. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/45324a9cebd5978d.pdf.gz +0 -0
  258. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/455673087f700db5.pdf.gz +0 -0
  259. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/457e822accff61b0.pdf.gz +0 -0
  260. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/46092089800ab060.pdf.gz +0 -0
  261. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/46501e43b0555dc0.pdf.gz +0 -0
  262. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/46881ece76d6abe1.pdf.gz +0 -0
  263. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/46e9fd552caa17e1.pdf.gz +0 -0
  264. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/470fb2849a476090.pdf.gz +0 -0
  265. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/472be5fa49aeb8c7.pdf.gz +0 -0
  266. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/47c0ea43774f2001.pdf.gz +0 -0
  267. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/487cf97f9e10b629.pdf.gz +0 -0
  268. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4882b84ea76b8a46.pdf.gz +0 -0
  269. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4887861ae86a20d7.pdf.gz +0 -0
  270. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/48cd374cde6152e8.pdf.gz +0 -0
  271. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/48d3aa6b3dc4f657.pdf.gz +0 -0
  272. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/491225622a587d20.pdf.gz +0 -0
  273. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/49551b7d4f579dba.pdf.gz +0 -0
  274. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4994eb0c3dd3100b.pdf.gz +0 -0
  275. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/49e1f26229243599.pdf.gz +0 -0
  276. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4a25260284bfa6be.pdf.gz +0 -0
  277. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4a86140e25775afb.pdf.gz +0 -0
  278. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4b0355a054c66e59.pdf.gz +0 -0
  279. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4b03a81077bef2ac.pdf.gz +0 -0
  280. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4b7467eac5ad3206.pdf.gz +0 -0
  281. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4ba3dd70d03d4e11.pdf.gz +0 -0
  282. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4c11e35ed45c7429.pdf.gz +0 -0
  283. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4c146ff86d3c73d1.pdf.gz +0 -0
  284. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4c45a1d63c8a5b78.pdf.gz +0 -0
  285. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4cce0c127023e184.pdf.gz +0 -0
  286. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4e4bb1f3f7f9e16d.pdf.gz +0 -0
  287. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4e5e459bf461324c.pdf.gz +0 -0
  288. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4ea2d412a48cd14c.pdf.gz +0 -0
  289. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4f4d4cac0412d091.pdf.gz +0 -0
  290. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4f5ca06a37b566f4.pdf.gz +0 -0
  291. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4f7daffd8f64141a.pdf.gz +0 -0
  292. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4fb0471e9d5d4a63.pdf.gz +0 -0
  293. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4fd43cad80c3ffb6.pdf.gz +0 -0
  294. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/4fecd7da9292519b.pdf.gz +0 -0
  295. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5086503ee2fbc562.pdf.gz +0 -0
  296. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5110382ad53df62a.pdf.gz +0 -0
  297. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5116097469d4b883.pdf.gz +0 -0
  298. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5192a3e665ade495.pdf.gz +0 -0
  299. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/51b3607905c7a533.pdf.gz +0 -0
  300. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/51d373bddb54149e.pdf.gz +0 -0
  301. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/51d8aa890bfbabba.pdf.gz +0 -0
  302. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/51ddfd43f68fae46.pdf.gz +0 -0
  303. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/520cbe22b725d4d4.pdf.gz +0 -0
  304. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/522aa0b087952443.pdf.gz +0 -0
  305. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/528fdaa439fdf348.pdf.gz +0 -0
  306. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5290f207eb0ea603.pdf.gz +0 -0
  307. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/52ae6a0bf7727ed6.pdf.gz +0 -0
  308. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/534f3b511e320f96.pdf.gz +0 -0
  309. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/536e6a1177a482a3.pdf.gz +0 -0
  310. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/536f9f4ad0e526fb.pdf.gz +0 -0
  311. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/537ed10462096fad.pdf.gz +0 -0
  312. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/54398036333ebc16.pdf.gz +0 -0
  313. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/544a6dcce44167b4.pdf.gz +0 -0
  314. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/54c082bcbbeda6af.pdf.gz +0 -0
  315. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/54c0d30b0d40c8ce.pdf.gz +0 -0
  316. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/54ded4bf47d2bc50.pdf.gz +0 -0
  317. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5549b58e5e19650c.pdf.gz +0 -0
  318. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/55ad116f88128b05.pdf.gz +0 -0
  319. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/55e5f030cf244de5.pdf.gz +0 -0
  320. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/566b692b310c9167.pdf.gz +0 -0
  321. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/56d54f5441129ea0.pdf.gz +0 -0
  322. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/56f3be6289536e8a.pdf.gz +0 -0
  323. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/574ab317f173a1ea.pdf.gz +0 -0
  324. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/58acdc8668913ebf.pdf.gz +0 -0
  325. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/58bb663cf6245a1c.pdf.gz +0 -0
  326. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/58bd03dacb600ca8.pdf.gz +0 -0
  327. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5960f3270ae50a65.pdf.gz +0 -0
  328. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a0779a3699fa44a.pdf.gz +0 -0
  329. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a078bf638e86ef3.pdf.gz +0 -0
  330. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a34728ef74dad23.pdf.gz +0 -0
  331. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a55c96f68d74121.pdf.gz +0 -0
  332. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a831c4dcb5fda18.pdf.gz +0 -0
  333. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5a956c31cd5b332c.pdf.gz +0 -0
  334. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5aab4b8101751476.pdf.gz +0 -0
  335. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5aac8af06e5c849e.pdf.gz +0 -0
  336. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5b39e74f96589b9d.pdf.gz +0 -0
  337. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5b4abb248985a46c.pdf.gz +0 -0
  338. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5b7d358a07b729a1.pdf.gz +0 -0
  339. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5bd51795d0a51c08.pdf.gz +0 -0
  340. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5ce2619ee4763a0b.pdf.gz +0 -0
  341. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5dae3ec2b5067190.pdf.gz +0 -0
  342. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5e29bea498fda9d5.pdf.gz +0 -0
  343. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5eb31d48db887ad0.pdf.gz +0 -0
  344. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5eb8fae565b3dc74.pdf.gz +0 -0
  345. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5f27fe00305c8614.pdf.gz +0 -0
  346. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5f59aa31db9804bb.pdf.gz +0 -0
  347. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5f925f8ebf1f434f.pdf.gz +0 -0
  348. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5f9588fe571cd772.pdf.gz +0 -0
  349. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5f97eb7fd7cddbf4.pdf.gz +0 -0
  350. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5fded34e43baa621.pdf.gz +0 -0
  351. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/5fe2429f18d11e5b.pdf.gz +0 -0
  352. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/600125c9057f9d33.pdf.gz +0 -0
  353. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6055132a3e25c6ca.pdf.gz +0 -0
  354. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/60bfba7b61781e61.pdf.gz +0 -0
  355. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6130ac79752e4073.pdf.gz +0 -0
  356. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6280a101806899c6.pdf.gz +0 -0
  357. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/636defce693baa68.pdf.gz +0 -0
  358. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/63abd8eb23e53698.pdf.gz +0 -0
  359. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6469de6dc4fe4faa.pdf.gz +0 -0
  360. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6500d63887f797bb.pdf.gz +0 -0
  361. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6560e5844cfef80d.pdf.gz +0 -0
  362. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/65b79268a6c4d8d9.pdf.gz +0 -0
  363. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/660fba297756626c.pdf.gz +0 -0
  364. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/665514f08c69cd2e.pdf.gz +0 -0
  365. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/66c541554ecd5e0f.pdf.gz +0 -0
  366. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/673d4fbd9176b662.pdf.gz +0 -0
  367. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/676783591026fda8.pdf.gz +0 -0
  368. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6797855415e5b84f.pdf.gz +0 -0
  369. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6833822b3bd864b9.pdf.gz +0 -0
  370. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/687db5f167dfcf9f.pdf.gz +0 -0
  371. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/68d9365e3599d8a5.pdf.gz +0 -0
  372. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6948bacd5306c3ba.pdf.gz +0 -0
  373. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/694ba5f56039a094.pdf.gz +0 -0
  374. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/69a32a0c274b379e.pdf.gz +0 -0
  375. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/69a477dcfb389213.pdf.gz +0 -0
  376. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/69b38e497498bf34.pdf.gz +0 -0
  377. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/69b6e2461432c086.pdf.gz +0 -0
  378. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/69e02f81b2403576.pdf.gz +0 -0
  379. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6b273d0b4e94827a.pdf.gz +0 -0
  380. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6bdd5781bc9efdc3.pdf.gz +0 -0
  381. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6c1c7679b0f8e5ea.pdf.gz +0 -0
  382. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6c3970c1f3424e39.pdf.gz +0 -0
  383. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6c64bcde7e68b67e.pdf.gz +0 -0
  384. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6cf70200ec608af9.pdf.gz +0 -0
  385. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6d78c7309234a8b7.pdf.gz +0 -0
  386. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6d854e5f2c70fca3.pdf.gz +0 -0
  387. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6d9de37f52020689.pdf.gz +0 -0
  388. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6e739b7193f23f7c.pdf.gz +0 -0
  389. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6e855b6110a804b1.pdf.gz +0 -0
  390. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6e92956f160d3021.pdf.gz +0 -0
  391. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6e969178f4124f2d.pdf.gz +0 -0
  392. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/6f342bbfd1aa8ec8.pdf.gz +0 -0
  393. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7056ee9686b9ceb6.pdf.gz +0 -0
  394. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7133a89df0b6776b.pdf.gz +0 -0
  395. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/71993727755999c2.pdf.gz +0 -0
  396. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/71d440a3591a0e6b.pdf.gz +0 -0
  397. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/71e5343f0da5a688.pdf.gz +0 -0
  398. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/71e7ab88cae094a8.pdf.gz +0 -0
  399. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/726fc9368903c588.pdf.gz +0 -0
  400. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/73322f57e7a0833a.pdf.gz +0 -0
  401. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7390ed2161a5366c.pdf.gz +0 -0
  402. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/73ce9a3e96d7b2d4.pdf.gz +0 -0
  403. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/748cd9f5d3fda8b0.pdf.gz +0 -0
  404. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/74935a27e0608eee.pdf.gz +0 -0
  405. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/74f02b49e9f14e57.pdf.gz +0 -0
  406. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/752cc55a5bad52a1.pdf.gz +0 -0
  407. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/754c3bae2311e119.pdf.gz +0 -0
  408. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/763f8dfcc3d2bd14.pdf.gz +0 -0
  409. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7640214cb239adb9.pdf.gz +0 -0
  410. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/76c7068b3cb2a1e2.pdf.gz +0 -0
  411. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/76f66a1a5889e01a.pdf.gz +0 -0
  412. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/773357d0ec14b1df.pdf.gz +0 -0
  413. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/777aa0761add3b73.pdf.gz +0 -0
  414. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/779484fb70ffc9b9.pdf.gz +0 -0
  415. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/77be49903830d0b3.pdf.gz +0 -0
  416. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/77f2cf3bd84be22d.pdf.gz +0 -0
  417. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/78658d468a1b5fce.pdf.gz +0 -0
  418. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/78abd17d786dcc37.pdf.gz +0 -0
  419. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/78baa86673e2529d.pdf.gz +0 -0
  420. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/78df162cd05d4982.pdf.gz +0 -0
  421. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/793b245554de001d.pdf.gz +0 -0
  422. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7942d1263145dbe5.pdf.gz +0 -0
  423. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/79a688f9bc30a432.pdf.gz +0 -0
  424. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/79aec81bf0483eed.pdf.gz +0 -0
  425. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/79f1910bf83b8015.pdf.gz +0 -0
  426. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/79fe7e2eebd17081.pdf.gz +0 -0
  427. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7a13daad5a0cfaaa.pdf.gz +0 -0
  428. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7a732a1aef3f13f8.pdf.gz +0 -0
  429. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7a8f9bc1ed9aae96.pdf.gz +0 -0
  430. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7aa856966d6fc627.pdf.gz +0 -0
  431. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7ab7d27c881e5fb7.pdf.gz +0 -0
  432. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7b3bc38f48e1d535.pdf.gz +0 -0
  433. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7b54fe6ca339f4ad.pdf.gz +0 -0
  434. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7b90f7c300db51ba.pdf.gz +0 -0
  435. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7d212fb23b40b6a1.pdf.gz +0 -0
  436. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7d46123d544a9a40.pdf.gz +0 -0
  437. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7d8c61adcd033061.pdf.gz +0 -0
  438. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7ddc413c5aea927e.pdf.gz +0 -0
  439. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7dfc3bb1450c310d.pdf.gz +0 -0
  440. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7ec87f2d93436f02.pdf.gz +0 -0
  441. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7f2c4fc54a78f0ee.pdf.gz +0 -0
  442. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/7face523308d925c.pdf.gz +0 -0
  443. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8052df797636ab8e.pdf.gz +0 -0
  444. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/81e11614653127c0.pdf.gz +0 -0
  445. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/82ad0915edada148.pdf.gz +0 -0
  446. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/833f6c52431e6ef4.pdf.gz +0 -0
  447. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/83862285cc68be6f.pdf.gz +0 -0
  448. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/839cc72f9fd6f469.pdf.gz +0 -0
  449. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/83ae70c673989439.pdf.gz +0 -0
  450. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/840385339661877f.pdf.gz +0 -0
  451. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/840b1b2674130d5a.pdf.gz +0 -0
  452. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/841978c40848f36e.pdf.gz +0 -0
  453. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/849729b818862a0c.pdf.gz +0 -0
  454. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/84da3d12a302ae65.pdf.gz +0 -0
  455. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/851b69bc78377505.pdf.gz +0 -0
  456. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8616bc27809a830d.pdf.gz +0 -0
  457. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/864b58674b1a3989.pdf.gz +0 -0
  458. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/86b6ed4927ba55f7.pdf.gz +0 -0
  459. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/873fa9b42a5c9bf2.pdf.gz +0 -0
  460. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/876791f64129cba0.pdf.gz +0 -0
  461. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/87998ad1a4ab9e64.pdf.gz +0 -0
  462. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/87aea762ff2b3071.pdf.gz +0 -0
  463. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/883b05597076dbe5.pdf.gz +0 -0
  464. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/884cdde551c16a4e.pdf.gz +0 -0
  465. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/88a36c71c92bc1d5.pdf.gz +0 -0
  466. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/88f68d3a90f338ba.pdf.gz +0 -0
  467. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/89079175adf005ec.pdf.gz +0 -0
  468. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8987e339ee1dc60a.pdf.gz +0 -0
  469. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/89ae286ceb33ec62.pdf.gz +0 -0
  470. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8a16b11b04b5b53a.pdf.gz +0 -0
  471. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8a361b6d3c12db92.pdf.gz +0 -0
  472. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8a44dc7950af88fc.pdf.gz +0 -0
  473. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8a712e6eafd4fd20.pdf.gz +0 -0
  474. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8ac73e1e8e50e405.pdf.gz +0 -0
  475. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8b039d4074edbe36.pdf.gz +0 -0
  476. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8bb1abaabe9cc282.pdf.gz +0 -0
  477. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8c7224efe8b49d7d.pdf.gz +0 -0
  478. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8c92ac38056aa7c3.pdf.gz +0 -0
  479. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8c9e27a328fe1152.pdf.gz +0 -0
  480. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8cb556f521984b18.pdf.gz +0 -0
  481. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8cb6c48fa75de13f.pdf.gz +0 -0
  482. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8cbf4953f2cc9d30.pdf.gz +0 -0
  483. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8ceb02dd3fcba95b.pdf.gz +0 -0
  484. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8d353fc882025257.pdf.gz +0 -0
  485. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8db7e1b79e726448.pdf.gz +0 -0
  486. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8de88c3813039ab9.pdf.gz +0 -0
  487. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8f22e3acf9294637.pdf.gz +0 -0
  488. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8f69e2c028249e5d.pdf.gz +0 -0
  489. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8fa089d36a308719.pdf.gz +0 -0
  490. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/8fd2f57a08e7bc16.pdf.gz +0 -0
  491. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/90a4c3e665b48294.pdf.gz +0 -0
  492. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/91425bb8bf1e273b.pdf.gz +0 -0
  493. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/915fde440f8fea20.pdf.gz +0 -0
  494. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/91aae364b9952933.pdf.gz +0 -0
  495. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9248cdc7ceb23b74.pdf.gz +0 -0
  496. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/924a9a925f1487f3.pdf.gz +0 -0
  497. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9288ccfe39c0fb75.pdf.gz +0 -0
  498. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/93a4760d3ae0aabe.pdf.gz +0 -0
  499. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/93bb9ee822d7a0c8.pdf.gz +0 -0
  500. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/94b7ba0a0dd37fda.pdf.gz +0 -0
  501. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/94d89e039b167f1a.pdf.gz +0 -0
  502. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9502d2b42b195d44.pdf.gz +0 -0
  503. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9532bbafb0697392.pdf.gz +0 -0
  504. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9542608d0f0955a3.pdf.gz +0 -0
  505. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9614556645b14a9f.pdf.gz +0 -0
  506. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9665afbd536c2756.pdf.gz +0 -0
  507. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/96b5010c2d755b5c.pdf.gz +0 -0
  508. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/973e6dd0ef57ccdf.pdf.gz +0 -0
  509. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/97766019c33deb45.pdf.gz +0 -0
  510. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/97837dbe9b2add43.pdf.gz +0 -0
  511. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9797b853d5905c6e.pdf.gz +0 -0
  512. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/97f2fad36ea17c4b.pdf.gz +0 -0
  513. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9805f6ccdbafdfea.pdf.gz +0 -0
  514. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9836e058aac7da1d.pdf.gz +0 -0
  515. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/986dfbeee32e5fdd.pdf.gz +0 -0
  516. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/98ffc6247994e0f4.pdf.gz +0 -0
  517. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/991a17ce9792c355.pdf.gz +0 -0
  518. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/99877af10d1b20f5.pdf.gz +0 -0
  519. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/99fb5666a8c67694.pdf.gz +0 -0
  520. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9a1e1f927b8703b5.pdf.gz +0 -0
  521. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9a7ae625015d2c60.pdf.gz +0 -0
  522. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9aba9be8a22b15d9.pdf.gz +0 -0
  523. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9b584c216b17c795.pdf.gz +0 -0
  524. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9bd546245de8e000.pdf.gz +0 -0
  525. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9bf19af5d00c97e9.pdf.gz +0 -0
  526. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9c15859dd9049813.pdf.gz +0 -0
  527. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9c264eec0df3d66b.pdf.gz +0 -0
  528. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9c757ccc2d856a85.pdf.gz +0 -0
  529. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9d14e6df41e58ea3.pdf.gz +0 -0
  530. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9d5f5b294190267f.pdf.gz +0 -0
  531. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9daa804d0df8f987.pdf.gz +0 -0
  532. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9dc094491c90da2c.pdf.gz +0 -0
  533. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9e7a6b6cd7a1ff1b.pdf.gz +0 -0
  534. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9f14dbf28ac72d54.pdf.gz +0 -0
  535. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9f25e09a7253e9c1.pdf.gz +0 -0
  536. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/9f6b8cbdf75907a7.pdf.gz +0 -0
  537. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a03a5b20addb6a62.pdf.gz +0 -0
  538. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a07f9f961f92faa6.pdf.gz +0 -0
  539. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a086468ac8d08dbc.pdf.gz +0 -0
  540. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a0991caf7d3b209f.pdf.gz +0 -0
  541. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a0ef6f419b43a6f8.pdf.gz +0 -0
  542. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a152f0b009583621.pdf.gz +0 -0
  543. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a15c2d4715560ead.pdf.gz +0 -0
  544. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a1a231e19439040b.pdf.gz +0 -0
  545. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a26044b3c6c10784.pdf.gz +0 -0
  546. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a3245152bb94cf81.pdf.gz +0 -0
  547. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a36dbf41dc680ba3.pdf.gz +0 -0
  548. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a3825cae3416ba35.pdf.gz +0 -0
  549. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a3e8b5928293e5e7.pdf.gz +0 -0
  550. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a40cc2575fbfd18e.pdf.gz +0 -0
  551. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a45ae09dc581dcb6.pdf.gz +0 -0
  552. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a4cd7e01f1adb766.pdf.gz +0 -0
  553. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a4d0c6a39a943c39.pdf.gz +0 -0
  554. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a51029cf9678e3ef.pdf.gz +0 -0
  555. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a577ab21c88f9b37.pdf.gz +0 -0
  556. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a5916eaa1923e3c2.pdf.gz +0 -0
  557. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a625bec98ad1dbb4.pdf.gz +0 -0
  558. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a662508646dee9a2.pdf.gz +0 -0
  559. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a688a4a0009def58.pdf.gz +0 -0
  560. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a693e20cc8529ba4.pdf.gz +0 -0
  561. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a6b9012e169a2aa4.pdf.gz +0 -0
  562. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a6b9dc51304ba567.pdf.gz +0 -0
  563. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a6d2da2147883f95.pdf.gz +0 -0
  564. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a6f4593a5f54efd4.pdf.gz +0 -0
  565. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a778bd2c05b6f585.pdf.gz +0 -0
  566. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a78cbfefdae9e323.pdf.gz +0 -0
  567. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a8544bbe2d5d5b00.pdf.gz +0 -0
  568. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a8c7a3ba36072489.pdf.gz +0 -0
  569. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a9ce30cc1ff395e3.pdf.gz +0 -0
  570. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/a9fbac49767bba6c.pdf.gz +0 -0
  571. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/aa6f9bf589a63f16.pdf.gz +0 -0
  572. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/aa893c0019d20450.pdf.gz +0 -0
  573. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/aaadd0c54a1172fa.pdf.gz +0 -0
  574. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ab4d43127ad606d8.pdf.gz +0 -0
  575. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/abfbfbada8328b60.pdf.gz +0 -0
  576. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ac1551a564273df2.pdf.gz +0 -0
  577. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ac45e6e4b07943a6.pdf.gz +0 -0
  578. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ac7da984e50f58fc.pdf.gz +0 -0
  579. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ad832e9ece23793c.pdf.gz +0 -0
  580. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ad9f077780c9a558.pdf.gz +0 -0
  581. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/adcaf9263fb6487b.pdf.gz +0 -0
  582. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/af3b94266463e122.pdf.gz +0 -0
  583. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/af96564f01da476e.pdf.gz +0 -0
  584. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/afa321541cfa4f59.pdf.gz +0 -0
  585. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/afb77ea11a085646.pdf.gz +0 -0
  586. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b006f64f7ef7bd73.pdf.gz +0 -0
  587. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b096211d43ab8ed3.pdf.gz +0 -0
  588. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b1487b7520c981e2.pdf.gz +0 -0
  589. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b2527b580cfa32a8.pdf.gz +0 -0
  590. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b27244bba7c5b35f.pdf.gz +0 -0
  591. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b34f44c57357fcf4.pdf.gz +0 -0
  592. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b3547e0601c1182f.pdf.gz +0 -0
  593. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b3770c1c5f980965.pdf.gz +0 -0
  594. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b3c8c97ff7e5412c.pdf.gz +0 -0
  595. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b3d90fec4c59b243.pdf.gz +0 -0
  596. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b3edaac8e3b78eaf.pdf.gz +0 -0
  597. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b432664c5cb28033.pdf.gz +0 -0
  598. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b464f9f4733fcfbb.pdf.gz +0 -0
  599. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b48811b530d723db.pdf.gz +0 -0
  600. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b5eaef9a6b545808.pdf.gz +0 -0
  601. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b6139a9446c3dbb0.pdf.gz +0 -0
  602. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b6592488e43fdedb.pdf.gz +0 -0
  603. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b69b1664ebf53a82.pdf.gz +0 -0
  604. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b6c7cf6c0b340d4c.pdf.gz +0 -0
  605. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b72b532afcc697b6.pdf.gz +0 -0
  606. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b75eb230e9c00108.pdf.gz +0 -0
  607. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b7aeb598f49bdc57.pdf.gz +0 -0
  608. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b7b8ad773318eb37.pdf.gz +0 -0
  609. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b7e4969f389cc41c.pdf.gz +0 -0
  610. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b845e5e7603fa0af.pdf.gz +0 -0
  611. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b848501ff242c921.pdf.gz +0 -0
  612. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b8d1d854962ee90c.pdf.gz +0 -0
  613. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/b8fa485feded3473.pdf.gz +0 -0
  614. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bacc4fa9c87b0a3e.pdf.gz +0 -0
  615. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/baf1b2684c1f5887.pdf.gz +0 -0
  616. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bb1ff919992415af.pdf.gz +0 -0
  617. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bb52e0b3634fe60e.pdf.gz +0 -0
  618. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bbbce65e607a7605.pdf.gz +0 -0
  619. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bc3432c940015cd2.pdf.gz +0 -0
  620. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bca472df9b78f7f4.pdf.gz +0 -0
  621. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bcb76481a12f1d44.pdf.gz +0 -0
  622. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bcbd3c6cd9f6ad4c.pdf.gz +0 -0
  623. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bcf474d91a5db82b.pdf.gz +0 -0
  624. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bd3e3517fb83543d.pdf.gz +0 -0
  625. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bdb3dcb2bf7b7d0a.pdf.gz +0 -0
  626. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/be2e0a3336af1900.pdf.gz +0 -0
  627. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/be66cb0b11912b18.pdf.gz +0 -0
  628. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bebf6564f2fda227.pdf.gz +0 -0
  629. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bed132c126872f99.pdf.gz +0 -0
  630. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bf95a18e386463e3.pdf.gz +0 -0
  631. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/bfe8dd493232be30.pdf.gz +0 -0
  632. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c0037a02a2c1f1a3.pdf.gz +0 -0
  633. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c079fe96d91d4215.pdf.gz +0 -0
  634. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c10d37af1fe29a4e.pdf.gz +0 -0
  635. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c17622323c0c021b.pdf.gz +0 -0
  636. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c1eea5df3e2ec3fd.pdf.gz +0 -0
  637. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c1faef073edf0d02.pdf.gz +0 -0
  638. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c23e387cc7784595.pdf.gz +0 -0
  639. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c27323c839e37bc2.pdf.gz +0 -0
  640. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c27da2d57bb4db89.pdf.gz +0 -0
  641. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c283e40b4460b2ba.pdf.gz +0 -0
  642. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c2be1895410b1079.pdf.gz +0 -0
  643. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c33cc9433c30c591.pdf.gz +0 -0
  644. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c36c52edbcf1de85.pdf.gz +0 -0
  645. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c36c990bba619fdf.pdf.gz +0 -0
  646. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c396997789e4e49d.pdf.gz +0 -0
  647. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c4b22f907faa6efc.pdf.gz +0 -0
  648. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c56aac0617d351ed.pdf.gz +0 -0
  649. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c5e26ed27f526036.pdf.gz +0 -0
  650. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c5f7e27265e22a98.pdf.gz +0 -0
  651. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c614442f81ad4382.pdf.gz +0 -0
  652. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c64787db2d2926d2.pdf.gz +0 -0
  653. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c6e982c1e00d99e6.pdf.gz +0 -0
  654. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c749da574115241f.pdf.gz +0 -0
  655. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c7d9d4ef8533e944.pdf.gz +0 -0
  656. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c8414f61be3d7168.pdf.gz +0 -0
  657. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c85db788dbd075f3.pdf.gz +0 -0
  658. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c87a671b32c4bcf6.pdf.gz +0 -0
  659. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c8f85a0d0a6dc265.pdf.gz +0 -0
  660. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/c9ed14fcae9dc64f.pdf.gz +0 -0
  661. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ca3d5157ce3b1812.pdf.gz +0 -0
  662. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/caa467a3a17db9d7.pdf.gz +0 -0
  663. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cb24c314b8780d88.pdf.gz +0 -0
  664. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cc15277592e74ddf.pdf.gz +0 -0
  665. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cc319b0a062f13ce.pdf.gz +0 -0
  666. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cc85502c56d34e58.pdf.gz +0 -0
  667. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cc9033ef5a134f71.pdf.gz +0 -0
  668. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cd4cde9f3ddf8bf8.pdf.gz +0 -0
  669. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cd620408f10771a5.pdf.gz +0 -0
  670. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cd88824f201a11a0.pdf.gz +0 -0
  671. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cda215ef5b9402dc.pdf.gz +0 -0
  672. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cdf4176c81a3a27b.pdf.gz +0 -0
  673. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ce0c5a609bf8ee1f.pdf.gz +0 -0
  674. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ce243358be358e6e.pdf.gz +0 -0
  675. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ce62517de1423737.pdf.gz +0 -0
  676. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ce66da112a31379f.pdf.gz +0 -0
  677. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ceb1bbfd4f062af0.pdf.gz +0 -0
  678. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cf24057e974b13ce.pdf.gz +0 -0
  679. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cf4eb3f22050a924.pdf.gz +0 -0
  680. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cf9338828a8b9608.pdf.gz +0 -0
  681. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cfd2d3de3fc73f15.pdf.gz +0 -0
  682. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/cfeaee4adafb038e.pdf.gz +0 -0
  683. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d046e5e5b2f477c4.pdf.gz +0 -0
  684. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d0600769527ca8f5.pdf.gz +0 -0
  685. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d074afff46de9fe1.pdf.gz +0 -0
  686. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d080ae54b0af7dc6.pdf.gz +0 -0
  687. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d0cb410bc68001dc.pdf.gz +0 -0
  688. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d0dc70bb0bac5987.pdf.gz +0 -0
  689. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d17af9d6d603d1f7.pdf.gz +0 -0
  690. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d1a0e437b29c9fdd.pdf.gz +0 -0
  691. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d1ab6c6f7fe07598.pdf.gz +0 -0
  692. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d2c49dd4351b6c3f.pdf.gz +0 -0
  693. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d2e8b7ae6d74034b.pdf.gz +0 -0
  694. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d3815e202b5eac85.pdf.gz +0 -0
  695. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d3f75351315e650e.pdf.gz +0 -0
  696. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d42626a69422bc2f.pdf.gz +0 -0
  697. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d442c4e3c565ea98.pdf.gz +0 -0
  698. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d4ac19c934a97a6c.pdf.gz +0 -0
  699. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d4c381a9882aaea7.pdf.gz +0 -0
  700. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d4db212bbd9d79a6.pdf.gz +0 -0
  701. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d53b31093c2e673a.pdf.gz +0 -0
  702. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d5bcb60af2494894.pdf.gz +0 -0
  703. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d5f1bcfd994e97e6.pdf.gz +0 -0
  704. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d61635614da3e7bc.pdf.gz +0 -0
  705. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d6ff96dd44dd6f46.pdf.gz +0 -0
  706. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d74eb19e34c24bf1.pdf.gz +0 -0
  707. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d74f513afa9e2468.pdf.gz +0 -0
  708. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d7b8ac926f00fcad.pdf.gz +0 -0
  709. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d7b984cc6178b7dd.pdf.gz +0 -0
  710. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d86d1f889afc58a1.pdf.gz +0 -0
  711. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d875b65a09e4d22a.pdf.gz +0 -0
  712. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d97338d62a9707b4.pdf.gz +0 -0
  713. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d982bf56fbe829ff.pdf.gz +0 -0
  714. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/d9c52b2923c86fb7.pdf.gz +0 -0
  715. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/da175eb226f7b331.pdf.gz +0 -0
  716. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/da566aff22ed22ee.pdf.gz +0 -0
  717. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/da89ff2183d14874.pdf.gz +0 -0
  718. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dadf6602d494d165.pdf.gz +0 -0
  719. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/daf3be03a95512fb.pdf.gz +0 -0
  720. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/db4e26eefc95df40.pdf.gz +0 -0
  721. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/db5acee4fc9a72a0.pdf.gz +0 -0
  722. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dbd630201e0ae809.pdf.gz +0 -0
  723. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dbe7d9681f2f9943.pdf.gz +0 -0
  724. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc053cee436d4517.pdf.gz +0 -0
  725. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc0daadfa08c670d.pdf.gz +0 -0
  726. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc34e3ce45ab8ebc.pdf.gz +0 -0
  727. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc3c7492490bb5cb.pdf.gz +0 -0
  728. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc4f451a00673a21.pdf.gz +0 -0
  729. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc5caa932c8717d4.pdf.gz +0 -0
  730. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dc9552dde685004a.pdf.gz +0 -0
  731. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dd234d946dac3b50.pdf.gz +0 -0
  732. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ddc1b7e9a04b006c.pdf.gz +0 -0
  733. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/deceb1cc55205884.pdf.gz +0 -0
  734. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dee76a9374bbec1c.pdf.gz +0 -0
  735. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/def8b2127c760ddb.pdf.gz +0 -0
  736. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/df2df442d0782c30.pdf.gz +0 -0
  737. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/df7653abb7a8e917.pdf.gz +0 -0
  738. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/dfc24efe467cceeb.pdf.gz +0 -0
  739. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e00015a3e9bfd2be.pdf.gz +0 -0
  740. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e0a98f9b8e4eff18.pdf.gz +0 -0
  741. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e0c60a3d3264b4a6.pdf.gz +0 -0
  742. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e0cd92acb2b61dcd.pdf.gz +0 -0
  743. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e0ed9f74c4946834.pdf.gz +0 -0
  744. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e0fd4db04d551692.pdf.gz +0 -0
  745. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e1166516871ce4b2.pdf.gz +0 -0
  746. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e12c78821e92b191.pdf.gz +0 -0
  747. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e1449db10d1ca276.pdf.gz +0 -0
  748. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e153511aa0980248.pdf.gz +0 -0
  749. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e20de467d6309894.pdf.gz +0 -0
  750. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e28703dc4bd0d8ea.pdf.gz +0 -0
  751. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e2a2687af976dc40.pdf.gz +0 -0
  752. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e2bdc2d0b9826274.pdf.gz +0 -0
  753. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e2e8848364067464.pdf.gz +0 -0
  754. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e3cd94286229a714.pdf.gz +0 -0
  755. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e4772b7a27aa64bd.pdf.gz +0 -0
  756. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e49fa6228546e830.pdf.gz +0 -0
  757. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e4bac889a19724ae.pdf.gz +0 -0
  758. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e5355beb99ee56de.pdf.gz +0 -0
  759. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e55202d922e2f9ad.pdf.gz +0 -0
  760. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e5bc38ab81f07bd8.pdf.gz +0 -0
  761. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e6e9080da6d56863.pdf.gz +0 -0
  762. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e758004e41e896e2.pdf.gz +0 -0
  763. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e779060ead525e0b.pdf.gz +0 -0
  764. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e7c6821ad66bec2c.pdf.gz +0 -0
  765. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e7c6eabff62bcc4b.pdf.gz +0 -0
  766. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e89a5256226c8499.pdf.gz +0 -0
  767. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e9804e29c42684ab.pdf.gz +0 -0
  768. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e9c3ae9e1f3e6287.pdf.gz +0 -0
  769. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e9d5a1b4eee4c0f0.pdf.gz +0 -0
  770. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/e9e6798facb90701.pdf.gz +0 -0
  771. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ea0907963077242c.pdf.gz +0 -0
  772. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eae473d563801280.pdf.gz +0 -0
  773. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eaf3a490c9160c18.pdf.gz +0 -0
  774. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eaf9078f717942f6.pdf.gz +0 -0
  775. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eb199173dee463b3.pdf.gz +0 -0
  776. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eb1d5131e9309301.pdf.gz +0 -0
  777. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eb26268b97c07bb0.pdf.gz +0 -0
  778. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eb739ad22ecc6a4e.pdf.gz +0 -0
  779. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eb7e3a89ca4917f1.pdf.gz +0 -0
  780. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ebc518416f56fea0.pdf.gz +0 -0
  781. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ec064ab6c4f72d34.pdf.gz +0 -0
  782. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ec0ca25bc906af40.pdf.gz +0 -0
  783. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ec36a0a2edb8bf23.pdf.gz +0 -0
  784. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ecd11f3fd33da9c2.pdf.gz +0 -0
  785. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ed3233e14464729b.pdf.gz +0 -0
  786. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ed32abb0a99add41.pdf.gz +0 -0
  787. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ed7ece47a7b34eb7.pdf.gz +0 -0
  788. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ed870c9901bfca2a.pdf.gz +0 -0
  789. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ed8c210ee054a501.pdf.gz +0 -0
  790. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eded881b9e4094b4.pdf.gz +0 -0
  791. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ee4167902ac20007.pdf.gz +0 -0
  792. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ee73b741c983e24d.pdf.gz +0 -0
  793. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/eed5e73e137c58d4.pdf.gz +0 -0
  794. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f0321a3443294fbc.pdf.gz +0 -0
  795. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f0791e494e730459.pdf.gz +0 -0
  796. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f08b336306f0ce5c.pdf.gz +0 -0
  797. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f0ad6631c9d39bc2.pdf.gz +0 -0
  798. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f152a3031f9e8b33.pdf.gz +0 -0
  799. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f15f324f104818b9.pdf.gz +0 -0
  800. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f160a739d12ca229.pdf.gz +0 -0
  801. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f1da4791c0985e9a.pdf.gz +0 -0
  802. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f23fad09548cb3d6.pdf.gz +0 -0
  803. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f26140f599adc12f.pdf.gz +0 -0
  804. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f2d7ea24d1b10f2d.pdf.gz +0 -0
  805. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f2dc2485d21ee8bb.pdf.gz +0 -0
  806. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f317ce83bdcc628e.pdf.gz +0 -0
  807. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f3f05127dc8772c4.pdf.gz +0 -0
  808. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f41a088462e540e9.pdf.gz +0 -0
  809. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f54298aed8366864.pdf.gz +0 -0
  810. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f5b28d272fe267ff.pdf.gz +0 -0
  811. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f5befa7afd777437.pdf.gz +0 -0
  812. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f62a83b1a0d091ef.pdf.gz +0 -0
  813. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f642efeebc8eebbf.pdf.gz +0 -0
  814. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f702846b16fbe157.pdf.gz +0 -0
  815. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f74354c96d26f68b.pdf.gz +0 -0
  816. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f751d1010469774a.pdf.gz +0 -0
  817. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f753596713ebaa24.pdf.gz +0 -0
  818. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f78149752ae8ef38.pdf.gz +0 -0
  819. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f7da5547781bb77c.pdf.gz +0 -0
  820. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f840cea485524d8f.pdf.gz +0 -0
  821. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f888692e6487e8e7.pdf.gz +0 -0
  822. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f8ad27069a025275.pdf.gz +0 -0
  823. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f8f3dca7ab44b027.pdf.gz +0 -0
  824. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f901dc1f6ddafe84.pdf.gz +0 -0
  825. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f9d8b345ac6f2dc7.pdf.gz +0 -0
  826. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/f9f7ca4f78a7272d.pdf.gz +0 -0
  827. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fa4a4ba29748493b.pdf.gz +0 -0
  828. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fa91c8eb15248990.pdf.gz +0 -0
  829. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fb1a3f5fc9e6e0cf.pdf.gz +0 -0
  830. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fb1f4fc29091ae83.pdf.gz +0 -0
  831. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fb2ab9cedd62d53c.pdf.gz +0 -0
  832. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fbd95241bd194e01.pdf.gz +0 -0
  833. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fc1aee36eee50beb.pdf.gz +0 -0
  834. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fc3562e427147af7.pdf.gz +0 -0
  835. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fc9e71c9cdc51ebc.pdf.gz +0 -0
  836. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fd0176b747a7c9ba.pdf.gz +0 -0
  837. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fd5957a09cb9cbc3.pdf.gz +0 -0
  838. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fd88d5d3bbf5f32b.pdf.gz +0 -0
  839. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fdb9ffe9504f557a.pdf.gz +0 -0
  840. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fe9a655d1b036bdc.pdf.gz +0 -0
  841. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/feed765787cb0d31.pdf.gz +0 -0
  842. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/fef945f643568c45.pdf.gz +0 -0
  843. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/ffb2acb4101cc008.pdf.gz +0 -0
  844. fancy_fine_print-0.1.0/tests/fixtures/php-corpus/manifest.json +5147 -0
  845. fancy_fine_print-0.1.0/tests/oracle/heavy.json +20 -0
  846. fancy_fine_print-0.1.0/tests/oracle/php_read.php +124 -0
  847. fancy_fine_print-0.1.0/tests/oracle/php_semantics.php +24 -0
  848. fancy_fine_print-0.1.0/tests/test_api.py +78 -0
  849. fancy_fine_print-0.1.0/tests/test_crypto.py +40 -0
  850. fancy_fine_print-0.1.0/tests/test_foundation.py +47 -0
  851. fancy_fine_print-0.1.0/tests/test_guards.py +290 -0
  852. fancy_fine_print-0.1.0/tests/test_parity_php.py +63 -0
  853. fancy_fine_print-0.1.0/tests/test_php_semantics.py +74 -0
  854. fancy_fine_print-0.1.0/tests/test_words.py +168 -0
@@ -0,0 +1,10 @@
1
+ # Line endings are pinned, not left to a clone's core.autocrlf: the writer is
2
+ # compared byte for byte with the PHP reference, and a source file checked out
3
+ # with CRLF changes the bytes of any multi-line literal in it.
4
+ * text=auto eol=lf
5
+
6
+ *.pdf binary
7
+ *.png binary
8
+ *.jpg binary
9
+ *.ttf binary
10
+ *.gz binary
@@ -0,0 +1,143 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ # Least-privilege: CI only reads the repo.
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test:
14
+ # Linux AND Windows: CPython on Windows ships zlib-ng, the reason the
15
+ # canon tier is mandatory (plan section 5, Python traps).
16
+ runs-on: ${{ matrix.os }}
17
+ strategy:
18
+ fail-fast: false
19
+ matrix:
20
+ os: [ubuntu-latest, windows-latest]
21
+ python-version: ["3.11", "3.12", "3.13"]
22
+ steps:
23
+ - uses: actions/checkout@v7
24
+
25
+ # Third-party dependency allowlist. Cheap, and failing here is cheap --
26
+ # the same check gates the release, so a PR that adds an unapproved or
27
+ # abandoned dependency finds out now rather than at tag time.
28
+ # The allowlist is FETCHED, never vendored: one source, no copies to drift.
29
+ - name: Fetch the third-party allowlist
30
+ uses: actions/checkout@v7
31
+ with:
32
+ repository: Particle-Academy/.github
33
+ ref: 1a1fad08a5fa685d5aca89e4bfa0b6afac7fa949
34
+ path: .third-party-allowlist
35
+ persist-credentials: false
36
+
37
+ - name: Verify the pinned checkout
38
+ # Generated by pin-github-checks.mjs -- edit the pin with that tool, not by
39
+ # hand. The ref above is a commit SHA, and every file the fetched code reads
40
+ # is hashed here, so a push to the source repo cannot change what runs in
41
+ # this workflow until someone reviews it and re-pins. It runs from the
42
+ # workspace with nothing preloaded, so neither the job's working-directory
43
+ # nor a variable an earlier step left behind decides what it reads or runs.
44
+ shell: bash
45
+ working-directory: ${{ github.workspace }}
46
+ env:
47
+ NODE_OPTIONS: ''
48
+ NODE_PATH: ''
49
+ BASH_ENV: ''
50
+ ENV: ''
51
+ SHELLOPTS: ''
52
+ BASHOPTS: ''
53
+ LD_PRELOAD: ''
54
+ LD_LIBRARY_PATH: ''
55
+ LD_AUDIT: ''
56
+ DYLD_INSERT_LIBRARIES: ''
57
+ DYLD_LIBRARY_PATH: ''
58
+ PIN_ROOT: .third-party-allowlist
59
+ PIN_DIR: .third-party-allowlist/third-party
60
+ PIN_SHA: 1a1fad08a5fa685d5aca89e4bfa0b6afac7fa949
61
+ PIN_SHA256: |
62
+ 4b94acfac87136b0942123b9f227919d7e2e3d67863bcdceba32c9a73f765db0 check.mjs
63
+ 1547306d567749d7410040cae2bfb9a648902de95c3378f6c5af54245c896e11 gate-graph.mjs
64
+ e5c6f925b2d5cab9e7bca220e8ad4d6bed809f5e2ab73cbefa9bb16d60bd2a86 allowlist.json
65
+ run: |
66
+ node -e '
67
+ const fs = require("node:fs");
68
+ const crypto = require("node:crypto");
69
+ const { execFileSync } = require("node:child_process");
70
+ const env = process.env;
71
+ const fail = [];
72
+ const head = execFileSync("git", ["-C", env.PIN_ROOT, "rev-parse", "HEAD"], { encoding: "utf8" }).trim();
73
+ if (head !== env.PIN_SHA) fail.push("checkout is at " + head + ", pinned " + env.PIN_SHA);
74
+ const want = env.PIN_SHA256.split(String.fromCharCode(10)).map((l) => l.trim()).filter(Boolean);
75
+ if (!want.length) fail.push("no file hashes are pinned");
76
+ for (const entry of want) {
77
+ const [hash, ...rest] = entry.split(" ").filter(Boolean);
78
+ const file = rest.join(" ");
79
+ let got = "missing";
80
+ try {
81
+ const text = fs.readFileSync(env.PIN_DIR + "/" + file, "latin1");
82
+ const lf = text.split(String.fromCharCode(13, 10)).join(String.fromCharCode(10));
83
+ got = crypto.createHash("sha256").update(lf, "latin1").digest("hex");
84
+ } catch {}
85
+ if (got !== hash) fail.push(file + " sha256 is " + got + ", pinned " + hash);
86
+ }
87
+ for (const f of fail) console.log("::error::Pinned checkout mismatch: " + f);
88
+ if (fail.length) {
89
+ console.log("::error::Refusing to run fetched code that does not match its pin. Review the upstream change, then re-pin with pin-github-checks.mjs.");
90
+ process.exit(1);
91
+ }
92
+ console.log("Pinned checkout verified: " + head + ", " + want.length + " files match.");
93
+ '
94
+
95
+ - name: Third-party dependency allowlist
96
+ run: |
97
+ node .third-party-allowlist/third-party/check.mjs --repo .
98
+ # Delete it. A fetched checkout left lying in the workspace is not
99
+ # inert: vitest globbed the checker's own tests out of it and failed
100
+ # a package whose code was fine. Removed with node, not rm -rf,
101
+ # because some of these matrices run on windows-latest where a
102
+ # multi-line run: block is PowerShell and rm -rf is not a command.
103
+ node -e "require('node:fs').rmSync('.third-party-allowlist',{recursive:true,force:true})"
104
+
105
+ - uses: actions/setup-python@v7
106
+ with:
107
+ python-version: ${{ matrix.python-version }}
108
+
109
+ # PHP is REQUIRED, not optional. tests/test_parity_php.py is the
110
+ # cross-runtime reader guarantee and it FAILS when php is absent rather
111
+ # than skipping - a skip here is a green build with zero parity coverage,
112
+ # which is exactly how two suites in this org reported success over
113
+ # nothing for months.
114
+ - uses: shivammathur/setup-php@v2
115
+ with:
116
+ php-version: "8.4"
117
+ coverage: none
118
+ extensions: mbstring, zip
119
+ env:
120
+ update: true # latest patch, not the runner's preinstalled one
121
+ - name: Floor PHP at the PHP2Shell-patched release (CVE-2026-109618/109619)
122
+ shell: bash
123
+ run: php -r '$v=$argv[1]??PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION.".".PHP_RELEASE_VERSION; $f=["8.5"=>"8.5.12","8.4"=>"8.4.27","8.3"=>"8.3.36","8.2"=>"8.2.35"][implode(".",array_slice(explode(".",$v),0,2))]??(version_compare($v,"8.6",">=")?"8.6":"8.2.35"); if(version_compare($v,$f,"<")){echo "::error::PHP $v is below the PHP2Shell floor $f".PHP_EOL;exit(1);} echo "PHP $v >= PHP2Shell floor $f".PHP_EOL;'
124
+
125
+ # The PHP reference, PINNED to the release this port reproduces. A test
126
+ # asserts the checkout's Agent::VERSION equals PHP_REFERENCE.
127
+ - name: Check out the PHP fine-print (pinned)
128
+ uses: actions/checkout@v7
129
+ with:
130
+ repository: Particle-Academy/fine-print
131
+ ref: v0.7.0
132
+ path: .php-fine-print
133
+ persist-credentials: false
134
+
135
+ - name: Install
136
+ run: |
137
+ python -m pip install --upgrade pip
138
+ pip install -e ".[dev]"
139
+
140
+ - name: Test
141
+ run: python -m pytest
142
+ env:
143
+ FINE_PRINT_PHP_SRC: ${{ github.workspace }}/.php-fine-print/src
@@ -0,0 +1,225 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ permissions: {}
8
+
9
+ jobs:
10
+ guard:
11
+ # Generated by pin-github-checks.mjs. Code fetched from another repo runs
12
+ # HERE, in a job holding nothing but `contents: read` -- never in a job that
13
+ # can publish or write. build needs this job, so it still cannot start
14
+ # until the check has passed.
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ contents: read
18
+ steps:
19
+ - uses: actions/checkout@v7
20
+ with:
21
+ persist-credentials: false
22
+
23
+ # Release gate: third-party dependencies must be approved and still
24
+ # maintained BEFORE the tarball reaches the registry. Once it is
25
+ # published, an unapproved or abandoned dependency has already shipped
26
+ # to everyone who upgrades -- the same reason the changelog gate sits
27
+ # here. The allowlist is FETCHED, never vendored: one source of truth,
28
+ # so there is no per-repo copy that can drift out of agreement with it.
29
+ - name: Fetch the third-party allowlist
30
+ uses: actions/checkout@v7
31
+ with:
32
+ repository: Particle-Academy/.github
33
+ ref: 1a1fad08a5fa685d5aca89e4bfa0b6afac7fa949
34
+ path: .third-party-allowlist
35
+ persist-credentials: false
36
+
37
+ - name: Verify the pinned checkout
38
+ # Generated by pin-github-checks.mjs -- edit the pin with that tool, not by
39
+ # hand. The ref above is a commit SHA, and every file the fetched code reads
40
+ # is hashed here, so a push to the source repo cannot change what runs in
41
+ # this workflow until someone reviews it and re-pins. It runs from the
42
+ # workspace with nothing preloaded, so neither the job's working-directory
43
+ # nor a variable an earlier step left behind decides what it reads or runs.
44
+ shell: bash
45
+ working-directory: ${{ github.workspace }}
46
+ env:
47
+ NODE_OPTIONS: ''
48
+ NODE_PATH: ''
49
+ BASH_ENV: ''
50
+ ENV: ''
51
+ SHELLOPTS: ''
52
+ BASHOPTS: ''
53
+ LD_PRELOAD: ''
54
+ LD_LIBRARY_PATH: ''
55
+ LD_AUDIT: ''
56
+ DYLD_INSERT_LIBRARIES: ''
57
+ DYLD_LIBRARY_PATH: ''
58
+ PIN_ROOT: .third-party-allowlist
59
+ PIN_DIR: .third-party-allowlist/third-party
60
+ PIN_SHA: 1a1fad08a5fa685d5aca89e4bfa0b6afac7fa949
61
+ PIN_SHA256: |
62
+ 4b94acfac87136b0942123b9f227919d7e2e3d67863bcdceba32c9a73f765db0 check.mjs
63
+ 1547306d567749d7410040cae2bfb9a648902de95c3378f6c5af54245c896e11 gate-graph.mjs
64
+ e5c6f925b2d5cab9e7bca220e8ad4d6bed809f5e2ab73cbefa9bb16d60bd2a86 allowlist.json
65
+ run: |
66
+ node -e '
67
+ const fs = require("node:fs");
68
+ const crypto = require("node:crypto");
69
+ const { execFileSync } = require("node:child_process");
70
+ const env = process.env;
71
+ const fail = [];
72
+ const head = execFileSync("git", ["-C", env.PIN_ROOT, "rev-parse", "HEAD"], { encoding: "utf8" }).trim();
73
+ if (head !== env.PIN_SHA) fail.push("checkout is at " + head + ", pinned " + env.PIN_SHA);
74
+ const want = env.PIN_SHA256.split(String.fromCharCode(10)).map((l) => l.trim()).filter(Boolean);
75
+ if (!want.length) fail.push("no file hashes are pinned");
76
+ for (const entry of want) {
77
+ const [hash, ...rest] = entry.split(" ").filter(Boolean);
78
+ const file = rest.join(" ");
79
+ let got = "missing";
80
+ try {
81
+ const text = fs.readFileSync(env.PIN_DIR + "/" + file, "latin1");
82
+ const lf = text.split(String.fromCharCode(13, 10)).join(String.fromCharCode(10));
83
+ got = crypto.createHash("sha256").update(lf, "latin1").digest("hex");
84
+ } catch {}
85
+ if (got !== hash) fail.push(file + " sha256 is " + got + ", pinned " + hash);
86
+ }
87
+ for (const f of fail) console.log("::error::Pinned checkout mismatch: " + f);
88
+ if (fail.length) {
89
+ console.log("::error::Refusing to run fetched code that does not match its pin. Review the upstream change, then re-pin with pin-github-checks.mjs.");
90
+ process.exit(1);
91
+ }
92
+ console.log("Pinned checkout verified: " + head + ", " + want.length + " files match.");
93
+ '
94
+
95
+ - name: Third-party dependency allowlist
96
+ run: |
97
+ node .third-party-allowlist/third-party/check.mjs --repo .
98
+ # Delete it. A fetched checkout left lying in the workspace is not
99
+ # inert: vitest globbed the checker's own tests out of it and failed
100
+ # a package whose code was fine. Removed with node, not rm -rf,
101
+ # because some of these matrices run on windows-latest where a
102
+ # multi-line run: block is PowerShell and rm -rf is not a command.
103
+ node -e "require('node:fs').rmSync('.third-party-allowlist',{recursive:true,force:true})"
104
+
105
+ # Build and publish are separate jobs so `id-token: write` is never held by
106
+ # the job that executes build code.
107
+ build:
108
+ needs: guard
109
+ runs-on: ubuntu-latest
110
+ steps:
111
+ - uses: actions/checkout@v7
112
+ with:
113
+ persist-credentials: false
114
+ - uses: actions/setup-python@v7
115
+ with:
116
+ python-version: "3.x"
117
+
118
+ # The one documentation failure that cannot be repaired later: once the
119
+ # sdist is on PyPI, whoever upgraded into it has no way to learn what
120
+ # changed. Checked before anything is built.
121
+ - name: Require a CHANGELOG entry for this tag
122
+ run: |
123
+ version="${GITHUB_REF_NAME#v}"
124
+ grep -q "^## \[${version}\]" CHANGELOG.md || {
125
+ echo "::error::No CHANGELOG.md entry for ${version}."
126
+ exit 1
127
+ }
128
+
129
+ # ORDER, not just presence. The check above asks only whether a
130
+ # heading exists SOMEWHERE. fancy-flow's changelog had four sections
131
+ # inserted ABOVE the [Unreleased] marker, so everything appended
132
+ # since -- including 0.49.0 -- landed below them, and reading
133
+ # top-down showed 0.48.1 as newest. That PASSED the presence check.
134
+ #
135
+ # A consumer deciding whether to upgrade reads top-down. Complete but
136
+ # mis-ordered is a truthful-looking lie, and it is invisible to
137
+ # whoever wrote it, because they are looking at their own entry
138
+ # rather than at the file.
139
+ first=$(grep -E '^## ' CHANGELOG.md \
140
+ | grep -viE '^## +\[?unreleased\]?' \
141
+ | head -1)
142
+
143
+ if ! printf '%s' "$first" | grep -qE "^## +\[?v?${version}\]?"; then
144
+ echo "::error::CHANGELOG.md has an entry for ${version}, but it is NOT the first version heading."
145
+ echo "::error::Top of file is: ${first}"
146
+ echo "::error::Move this release above the older entries, then re-tag."
147
+ exit 1
148
+ fi
149
+
150
+ - name: Require the version to match the tag
151
+ run: |
152
+ version="${GITHUB_REF_NAME#v}"
153
+ grep -q "^version = \"${version}\"$" pyproject.toml || {
154
+ echo "pyproject.toml version does not match tag ${GITHUB_REF_NAME}."
155
+ exit 1
156
+ }
157
+
158
+ - run: python -m pip install --upgrade build && python -m build
159
+ - uses: actions/upload-artifact@v7
160
+ with:
161
+ name: dists
162
+ path: dist/
163
+
164
+ publish:
165
+ needs: build
166
+ runs-on: ubuntu-latest
167
+ environment:
168
+ name: pypi
169
+ url: https://pypi.org/p/fancy-fine-print
170
+ permissions:
171
+ id-token: write # mandatory for Trusted Publishing
172
+ steps:
173
+ - uses: actions/download-artifact@v8
174
+ with:
175
+ name: dists
176
+ path: dist/
177
+ # Pinned by SHA, not by tag: a mutable reference in exactly this position
178
+ # is what the April 2026 supply-chain compromises exploited.
179
+ # v1.14.2 -- no `password:` (that is the point) and attestations default
180
+ # to true.
181
+ - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33
182
+
183
+ # The GitHub release is its OWN job, deliberately the third one.
184
+ #
185
+ # This repo already splits `build` from `publish` so that `id-token: write`
186
+ # is never held by the job executing package code. Adding `contents: write`
187
+ # to either would undo that reasoning from the other side: in `build` it
188
+ # hands repo-write to code that runs during the build, and in `publish` it
189
+ # widens the single job holding the Trusted Publishing credential. So the
190
+ # job that can write to the repo runs no build code and holds no token.
191
+ #
192
+ # Needed because every Python repo in this estate had ZERO GitHub releases
193
+ # while the npm and PHP repos publish one per tag -- the same "a fix applied
194
+ # only where the problem was noticed" gap, one ecosystem further along.
195
+ #
196
+ # Notes come from CHANGELOG.md so there is no second description to drift.
197
+ release:
198
+ needs: publish
199
+ runs-on: ubuntu-latest
200
+ permissions:
201
+ contents: write
202
+ steps:
203
+ - uses: actions/checkout@v7
204
+ with:
205
+ persist-credentials: false
206
+
207
+ - name: Publish the GitHub release
208
+ env:
209
+ GH_TOKEN: ${{ github.token }}
210
+ run: |
211
+ VERSION="${GITHUB_REF_NAME#v}"
212
+
213
+ if gh release view "$GITHUB_REF_NAME" >/dev/null 2>&1; then
214
+ echo "Release $GITHUB_REF_NAME already exists; leaving it alone."
215
+ exit 0
216
+ fi
217
+
218
+ # The section for this version, up to the next `## ` heading.
219
+ awk -v v="$VERSION" '
220
+ /^## / { if (found) exit; if (index($0, v)) { found = 1 }; next }
221
+ found { print }
222
+ ' CHANGELOG.md > notes.md
223
+
224
+ gh release create "$GITHUB_REF_NAME" --title "$GITHUB_REF_NAME" --notes-file notes.md
225
+ echo "Published release $GITHUB_REF_NAME."
@@ -0,0 +1,13 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ .pytest_cache/
4
+ .ruff_cache/
5
+ .mypy_cache/
6
+ build/
7
+ dist/
8
+ *.egg-info/
9
+ .venv/
10
+ venv/
11
+ .coverage
12
+ htmlcov/
13
+ .DS_Store
@@ -0,0 +1,122 @@
1
+ # AGENTS.md — fine-print-py
2
+
3
+ This file describes **this repository's code**: what it is, the invariants it
4
+ must keep, and the traps in porting to it. Process rules (publishing, version
5
+ policy, backports) live in the envelope's `RULES.md` and are never copied here.
6
+
7
+ ## What this is
8
+
9
+ `fancy-fine-print` (import `fine_print`): the Python port of PHP
10
+ `particle-academy/fine-print`. **Its reader is a port of fine-print 0.7.0's**
11
+ (`PHP_REFERENCE` in `src/fine_print/__init__.py`), and parity is a test
12
+ result, not a claim: `tests/test_parity_php.py` runs PHP and this port over
13
+ the harvested corpus and requires equal results.
14
+
15
+ **Status: 0.1.0, the READER only** (owner, 2026-11-07, council CC-fancy-0010:
16
+ "we need a python fine print, not force them to use php"; the first consumer
17
+ is LiftPoint's Python engine, which replaces pdfplumber's `extract_words`).
18
+ This reverses the plan's writer-first order. The writer (phase W), the
19
+ renderer (X1 to X4) and page serving (S) are still to come; the plan is the
20
+ envelope's `.ai/plans/fine-print-ports.md`. The writer conformance rows below
21
+ (`writer-model`, `writer-bytes`) are not run yet: there is no writer to run.
22
+
23
+ ## The reader (0.1.0)
24
+
25
+ Module map, each mirroring a PHP class: `parser` (Parser, ITERATIVE),
26
+ `filters` (Filters), `limits` (Limits, Budget), `document` (Document),
27
+ `agent` (Agent's read half), `text/` (Encodings from generated tables, CMap,
28
+ Font, TextExtractor as `extractor`, Layout, Words, TextString), `security/`
29
+ (AgentReadGuard as `guard`, InstructionPatterns, ActiveContentScanner as
30
+ `active`, StandardSecurity as `standard`), `crypto/` (Aes, Rc4), `_php`
31
+ (every PHP behaviour reproduced, each probed against PHP 8.4).
32
+
33
+ - **Offsets are characters, PHP's are bytes.** Every text in the reader is
34
+ valid UTF-8 (mbstring-scrubbed), so a byte offset in PHP and a character
35
+ offset here name the same place, and the reports PHP converts to characters
36
+ come out equal. Do not mix the two: spans, word ranges and guard ranges are
37
+ all characters.
38
+ - **Names and keys are Latin-1 `str`**; turn one into report text with
39
+ `objects.name_text` (UTF-8, scrubbed), as PHP's json output of raw bytes.
40
+ - **`??` is not `or`.** PHP's null-coalescing keeps `''` and `0`; use an
41
+ explicit `is None` (`extractor._arg`). `min`/`max` are `_php.pmin`/`pmax`
42
+ (PHP's NAN behaviour), comparisons are `_php.cmp`.
43
+ - **Memory is accounted (D7).** `Budget.hold()`: content as it is joined,
44
+ cached objects, runs (`RUN_COST`), pieces (`PIECE_COST`), words
45
+ (`WORD_COST`); `Document.page_text` and friends restore the account on
46
+ return; `agent.read` keeps it for the whole read, as PHP's growth does.
47
+ Adding a structure that a file can grow means holding it.
48
+ - **The corpus is harvested, never built here.** `scripts/harvest_php_corpus.php`
49
+ records every `Document::open` PHP's suite makes. Re-harvest when the PHP
50
+ reference moves, and update `PHP_REFERENCE`, the CI pin and
51
+ `tests/oracle/heavy.json` with it.
52
+ - **`scripts/gen_encodings.php` generates `text/_encoding_data.py`.** Never
53
+ retype a table.
54
+
55
+ - **Zero runtime dependencies.** The standard library only: `bytes`,
56
+ `bytearray`, `memoryview`, `struct`, `zlib`, `hashlib` (md5 with
57
+ `usedforsecurity=False`). `zlib.decompressobj().decompress(chunk,
58
+ max_length)` mirrors PHP's 4 KB bomb judgement exactly. **Our own AES: the
59
+ standard library has none**, plus RC4. Never the `cp1252`/`mac_roman`
60
+ codecs: they are not PDF WinAnsi/MacRoman. Anything third-party (numpy
61
+ included) is an approval request to the owner.
62
+ - **Never regenerate a conformance row.** The bytes are the contract. If a row
63
+ looks wrong, the PHP reference is wrong or the port is; raise it, and the fix
64
+ lands in PHP and is re-exported.
65
+ - **The PHP oracle is required.** CI checks out PHP fine-print at the pinned
66
+ tag (`FINE_PRINT_PHP_SRC`), and a missing PHP fails the run (D12).
67
+
68
+ ## The contract
69
+
70
+ | suite | what it pins |
71
+ |---|---|
72
+ | `fine-print/php-semantics` | the PHP behaviours a `php` helper module must reproduce: `%.4F` ties (half-to-even on exact ties), `round()` pre-rounding, `number_format`, mbstring `?` substitution, WinAnsi by table |
73
+ | `fine-print/writer-model` | validate, validateAndRepair, fromArray, describe, lint, jsonSchema, guide |
74
+ | `fine-print/writer-bytes` | the PDF: raw byte identity, or identity after `canon()` |
75
+
76
+ Normative text: fancy-conformance `suites/fine-print/SPEC.md` (file
77
+ references, `canon()`, tiers, the PHP empty-object rule, pixel tolerances).
78
+
79
+ ## Invariants (restated from PHP; every one is enforced by rows)
80
+
81
+ 1. `Agent` is the only agent surface; `Document` is the host's raw view.
82
+ 2. Nothing executes, follows or fetches: no network or process API in `src`
83
+ (a source-grep test will enforce it).
84
+ 3. No attacker text in reports by default; scripts by length + SHA-256;
85
+ excerpts only on request.
86
+ 4. Names are compared decoded (`#xx`).
87
+ 5. Every loop a file can lengthen is bounded, in the same change as the loop.
88
+ 6. Refusals use the 12 REASONS, never a crash, hang or partial result. One
89
+ refusal exception type.
90
+ 7. Text streams through generators and never materialises.
91
+ 8. Decompression is judged while it runs, in 4 KB chunks.
92
+ 9. The extractor keeps hidden text; only the guard removes it.
93
+ 10. Encryption: the empty password only; `secure()` before any resolve; never
94
+ report key, O or U; our own RC4/AES.
95
+ 11. Writer: nothing active is emitted; links are checked twice; model text is
96
+ hex-only; names are sanitised; output is deterministic; images are bounded.
97
+ 12. Renderer: pixels judged before allocating; operators counted; form depth
98
+ and `q` stack capped; its own budget; everything undrawn reported.
99
+ 13. Per-edge work is bounded by the canvas (`MAX_SEGMENTS`, `MAX_DASHES`,
100
+ INF/NAN to 0).
101
+ 14. Font cache and glyph limits; hinting is never executed.
102
+ 15. Image bounds are checked before decoding; JPEG planes are checked.
103
+ 16. Group/mask buffers are cropped before allocation.
104
+ 17. Serving: authorise before the cache; never open client paths; checksummed
105
+ packets, no `pickle`; the watermark fails closed.
106
+
107
+ ## Python traps (plan section 5)
108
+
109
+ - **Recursion and escapes.** The recursion limit is 1000, so the parser is
110
+ iterative. `RecursionError`, `MemoryError` and `OverflowError` must never
111
+ escape `Agent`.
112
+ - **Bytes.** `b[i]` is an int and raises past the end, so forgiving-read
113
+ helpers reproduce PHP; use `bytearray`/`memoryview`, never `list[int]`.
114
+ - **Arithmetic.** `%` and `//` floor while PHP truncates; `round` is
115
+ half-to-even; `bool` is an int; ints are unbounded while PHP overflows to
116
+ float. The `php-semantics` rows are the arbiter.
117
+ - **Codecs.** mbstring substitutes `?`, Python's `errors="replace"` gives
118
+ U+FFFD, and the two differ in how many characters a bad sequence becomes.
119
+ - **zlib-ng.** CPython on Windows ships zlib-ng, so compressed bytes differ
120
+ from PHP's; the canon tier is mandatory and CI includes Windows.
121
+ - **Memory and speed.** Memory is accounted, not measured (D7). The renderer
122
+ is pure Python and measured (D1); its multiple is published, not hidden.
@@ -0,0 +1,63 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ **Pre-1.0, breaking changes land in MINOR releases.** The version number is not
9
+ promising otherwise until 1.0.
10
+
11
+ ## [Unreleased]
12
+
13
+ ## [0.1.0] - 2026-11-07
14
+
15
+ The first release, and it is **the reader only**: there is no writer and no
16
+ renderer yet. It is a port of PHP fine-print 0.7.0's reader
17
+ (`PHP_REFERENCE = "0.7.0"`), held to PHP by a live oracle rather than by claim.
18
+ Pre-1.0: the API may still change in a minor release.
19
+
20
+ ### Added
21
+
22
+ - `read(data, *, policy, threshold, excerpts, limits, words)` and
23
+ `read_unredacted(data, *, threshold, excerpts, limits, words)`: PHP's
24
+ `Agent::read` / `Agent::readUnredacted`, with the same result shape, the same
25
+ redaction policies (`redact` by default, `flag`, `discard`), thresholds,
26
+ findings, notices and refusals (`{"ok": false, "refused": {reason, message}}`).
27
+ `words=True` gives each page `{text, x0, x1, top, bottom}` boxes, redacted as
28
+ the page text is (the pdfplumber `extract_words` shape).
29
+ - `page_count(data, limits)`, which raises `RefusedException` as PHP's does.
30
+ - `Document`, the host's raw view: `open()`, `pages()`, `page_text(n)`,
31
+ `text(n)`, `page_words(n)`, `page_text_with_words(n)`, `metadata()`,
32
+ `xmp()`, `outline()`, `annotations(n)`, `active_content()`,
33
+ `encryption()`, `warnings()`, `repaired()`, `version()`.
34
+ - Every PHP guard, with PHP's limits, reasons and messages: file bytes,
35
+ objects, nesting depth, stream bytes, the decompression ratio and its floor,
36
+ total decoded bytes, operators, form depth, pages, time and memory. One
37
+ refusal type, `RefusedException`, and the 12 PHP reasons.
38
+ - Text extraction as PHP's: Flate, LZW, ASCII85, ASCIIHex and RunLength with
39
+ the PNG and TIFF predictors; simple and Type0 fonts, the four base encodings,
40
+ `/Differences` and glyph names, `ToUnicode` and encoding CMaps; `TJ`
41
+ kerning and the layout's word and paragraph gaps; the CTM, `/Rotate` and the
42
+ crop box; form XObjects; hidden, white, tiny and off-page text.
43
+ - Empty-password decryption (RC4, AES-128, AES-256; R2 to R6) with our own
44
+ RC4 and AES, the active-content scanner and the agent-read guard.
45
+ - `tests/test_parity_php.py`: PHP fine-print and this port read the same 801
46
+ files (harvested from PHP's own test suite by
47
+ `scripts/harvest_php_corpus.php`) through six read variants and must agree,
48
+ words within 1e-6 pt. A missing PHP fails the suite.
49
+
50
+ ### Changed
51
+
52
+ - CI checks the PHP reference out at `v0.7.0` (was `v0.5.0`).
53
+
54
+ ### Known differences from PHP
55
+
56
+ - Memory is ACCOUNTED, not measured (plan decision D7), so a read near
57
+ `memoryBytes` may refuse at a slightly different point; PHP's second check,
58
+ the headroom under `memory_limit`, has no Python counterpart.
59
+ - A page-tree warning about a direct (unreferenced) node names it by an object
60
+ id, which differs between runtimes.
61
+ - Python bounds two loops PHP leaves unbudgeted (reported upstream): the
62
+ painted-ground lookup behind white-text detection, and a cross-reference
63
+ stream's rows when `/Index` holds a non-integer count.
@@ -0,0 +1 @@
1
+ AGENTS.md
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Particle Academy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.