natural-pdf 0.1.30__tar.gz → 0.1.31__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 (838) hide show
  1. {natural_pdf-0.1.30/natural_pdf.egg-info → natural_pdf-0.1.31}/PKG-INFO +1 -1
  2. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/core/element_manager.py +44 -24
  3. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/text.py +29 -0
  4. {natural_pdf-0.1.30 → natural_pdf-0.1.31/natural_pdf.egg-info}/PKG-INFO +1 -1
  5. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf.egg-info/SOURCES.txt +2 -0
  6. natural_pdf-0.1.31/tests/test_arabic_performance.py +90 -0
  7. natural_pdf-0.1.31/tests/test_arabic_real_world.py +97 -0
  8. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/analysis_framework.mdc +0 -0
  9. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/coding-style.mdc +0 -0
  10. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/edit-md-instead-of-ipynb.mdc +0 -0
  11. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/minimal-comments.mdc +0 -0
  12. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/natural-pdf-overview.mdc +0 -0
  13. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.cursor/rules/user-friendly-library-code.mdc +0 -0
  14. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.github/workflows/docs.yml +0 -0
  15. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.gitignore +0 -0
  16. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/.pre-commit-config.yaml +0 -0
  17. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/01-execute_notebooks.py +0 -0
  18. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/02-run_all_tutorials.sh +0 -0
  19. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/CLAUDE.md +0 -0
  20. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/LICENSE +0 -0
  21. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/MANIFEST.in +0 -0
  22. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/README.md +0 -0
  23. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/audit_packaging.py +0 -0
  24. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/1A4PPW1_analysis.md +0 -0
  25. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/analysis_summary.json +0 -0
  26. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1.png +0 -0
  27. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_all_elements_inspect.txt +0 -0
  28. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_all_regions.txt +0 -0
  29. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_describe.txt +0 -0
  30. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_table.json +0 -0
  31. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_text.txt +0 -0
  32. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/analysis/1A4PPW1/page_1_yolo_regions.txt +0 -0
  33. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/detailed_analysis_final/1A4PPW1_The arabic text_detailed_analysis.md +0 -0
  34. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/detailed_analysis_final/detailed_analysis_results.json +0 -0
  35. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/detailed_analysis_final/page_1.png +0 -0
  36. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/1A4PPW1_The arabic text/detailed_analysis_final/page_11.png +0 -0
  37. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /2EAOEvb_analysis.md +0 -0
  38. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/analysis_summary.json +0 -0
  39. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1.png +0 -0
  40. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1_all_elements_inspect.txt +0 -0
  41. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1_all_regions.txt +0 -0
  42. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1_describe.txt +0 -0
  43. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1_text.txt +0 -0
  44. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /analysis/2EAOEvb/page_1_yolo_regions.txt +0 -0
  45. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /detailed_analysis_final/2EAOEvb_The text_ without beeing divided in 2 columns and _detailed_analysis.md +0 -0
  46. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /detailed_analysis_final/detailed_analysis_results.json +0 -0
  47. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /detailed_analysis_final/page_1.png +0 -0
  48. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/2EAOEvb_The text_ without beeing divided in 2 columns and /detailed_analysis_final/page_98.png +0 -0
  49. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/analysis_summary.json +0 -0
  50. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1.png +0 -0
  51. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1_all_elements_inspect.txt +0 -0
  52. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1_describe.txt +0 -0
  53. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1_regions_inspect.txt +0 -0
  54. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1_table.json +0 -0
  55. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Focus/page_1_text.txt +0 -0
  56. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/Gx9jayj_analysis.md +0 -0
  57. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/analysis_summary.json +0 -0
  58. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1.png +0 -0
  59. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_all_elements_inspect.txt +0 -0
  60. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_all_regions.txt +0 -0
  61. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_describe.txt +0 -0
  62. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_table.json +0 -0
  63. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_text.txt +0 -0
  64. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Gx9jayj_A CSV of all the complaints_ officers and details/analysis/Gx9jayj/page_1_yolo_regions.txt +0 -0
  65. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/GxpvezO_analysis.md +0 -0
  66. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/analysis_summary.json +0 -0
  67. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1.png +0 -0
  68. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_all_elements_inspect.txt +0 -0
  69. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_all_regions.txt +0 -0
  70. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_describe.txt +0 -0
  71. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_table.json +0 -0
  72. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_tatr_layout.txt +0 -0
  73. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_tatr_regions.txt +0 -0
  74. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_text.txt +0 -0
  75. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/analysis/GxpvezO/page_1_yolo_regions.txt +0 -0
  76. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/detailed_analysis_final/GxpvezO_The table in Nepali on page 30 _in between the tex_detailed_analysis.md +0 -0
  77. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/detailed_analysis_final/detailed_analysis_results.json +0 -0
  78. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/detailed_analysis_final/page_30.png +0 -0
  79. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/enhanced_analysis_10/GxpvezO_The table in Nepali on page 30 _in between the tex_enhanced_analysis.md +0 -0
  80. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/enhanced_analysis_10/analysis_results.json +0 -0
  81. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/GxpvezO_The table in Nepali on page 30 _in between the tex/enhanced_analysis_10/page_30.png +0 -0
  82. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./J9lKd7Y_analysis.md +0 -0
  83. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/analysis_summary.json +0 -0
  84. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1.png +0 -0
  85. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_all_elements_inspect.txt +0 -0
  86. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_all_regions.txt +0 -0
  87. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_describe.txt +0 -0
  88. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_table.json +0 -0
  89. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_text.txt +0 -0
  90. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./analysis/J9lKd7Y/page_1_yolo_regions.txt +0 -0
  91. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./detailed_analysis_final/J9lKd7Y_Table in Slovenian _e.g. on page 80_._detailed_analysis.md +0 -0
  92. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./detailed_analysis_final/detailed_analysis_results.json +0 -0
  93. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./detailed_analysis_final/page_80.png +0 -0
  94. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./enhanced_analysis_10/J9lKd7Y_Table in Slovenian _e.g. on page 80_._enhanced_analysis.md +0 -0
  95. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./enhanced_analysis_10/analysis_results.json +0 -0
  96. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9lKd7Y_Table in Slovenian _e.g. on page 80_./enhanced_analysis_10/page_80.png +0 -0
  97. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/J9px44R_analysis.md +0 -0
  98. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/analysis_summary.json +0 -0
  99. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/page_1.png +0 -0
  100. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/page_1_all_elements_inspect.txt +0 -0
  101. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/page_1_describe.txt +0 -0
  102. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/page_1_table.json +0 -0
  103. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/analysis/J9px44R/page_1_text.txt +0 -0
  104. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/analysis_summary.json +0 -0
  105. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_1.png +0 -0
  106. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10.png +0 -0
  107. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10_all_elements_inspect.txt +0 -0
  108. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10_all_regions.txt +0 -0
  109. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10_describe.txt +0 -0
  110. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10_tatr_layout.txt +0 -0
  111. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_10_tatr_regions.txt +0 -0
  112. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_1_all_elements_inspect.txt +0 -0
  113. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_1_describe.txt +0 -0
  114. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_1_table.json +0 -0
  115. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_1_text.txt +0 -0
  116. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2.png +0 -0
  117. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2_all_elements_inspect.txt +0 -0
  118. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2_all_regions.txt +0 -0
  119. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2_describe.txt +0 -0
  120. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2_tatr_layout.txt +0 -0
  121. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_2_tatr_regions.txt +0 -0
  122. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3.png +0 -0
  123. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_all_elements_inspect.txt +0 -0
  124. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_all_regions.txt +0 -0
  125. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_describe.txt +0 -0
  126. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_tatr_layout.txt +0 -0
  127. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_tatr_regions.txt +0 -0
  128. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_text.txt +0 -0
  129. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_3_yolo_regions.txt +0 -0
  130. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4.png +0 -0
  131. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4_all_elements_inspect.txt +0 -0
  132. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4_all_regions.txt +0 -0
  133. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4_describe.txt +0 -0
  134. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4_tatr_layout.txt +0 -0
  135. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_4_tatr_regions.txt +0 -0
  136. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5.png +0 -0
  137. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_all_elements_inspect.txt +0 -0
  138. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_all_regions.txt +0 -0
  139. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_describe.txt +0 -0
  140. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_table.json +0 -0
  141. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_text.txt +0 -0
  142. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_5_yolo_regions.txt +0 -0
  143. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6.png +0 -0
  144. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_all_elements_inspect.txt +0 -0
  145. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_all_regions.txt +0 -0
  146. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_describe.txt +0 -0
  147. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_table.json +0 -0
  148. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_tatr_layout.txt +0 -0
  149. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_tatr_regions.txt +0 -0
  150. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_text.txt +0 -0
  151. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_6_yolo_regions.txt +0 -0
  152. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7.png +0 -0
  153. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_all_elements_inspect.txt +0 -0
  154. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_all_regions.txt +0 -0
  155. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_describe.txt +0 -0
  156. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_table.json +0 -0
  157. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_tatr_layout.txt +0 -0
  158. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_tatr_regions.txt +0 -0
  159. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_text.txt +0 -0
  160. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_7_yolo_regions.txt +0 -0
  161. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8.png +0 -0
  162. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_all_elements_inspect.txt +0 -0
  163. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_all_regions.txt +0 -0
  164. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_describe.txt +0 -0
  165. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_table.json +0 -0
  166. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_tatr_layout.txt +0 -0
  167. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_tatr_regions.txt +0 -0
  168. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_text.txt +0 -0
  169. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_8_yolo_regions.txt +0 -0
  170. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9.png +0 -0
  171. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_all_elements_inspect.txt +0 -0
  172. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_all_regions.txt +0 -0
  173. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_describe.txt +0 -0
  174. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_table.json +0 -0
  175. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_tatr_layout.txt +0 -0
  176. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_tatr_regions.txt +0 -0
  177. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_text.txt +0 -0
  178. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis/J9px44R/page_9_yolo_regions.txt +0 -0
  179. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis_final/J9px44R_Tables of Senate office expenditures_detailed_analysis.md +0 -0
  180. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis_final/detailed_analysis_results.json +0 -0
  181. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis_final/page_1.png +0 -0
  182. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/J9px44R_Tables of Senate office expenditures/detailed_analysis_final/page_1489.png +0 -0
  183. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/NplKG2O_analysis.md +0 -0
  184. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/analysis_summary.json +0 -0
  185. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1.png +0 -0
  186. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_all_elements_inspect.txt +0 -0
  187. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_all_regions.txt +0 -0
  188. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_describe.txt +0 -0
  189. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_tatr_layout.txt +0 -0
  190. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_tatr_regions.txt +0 -0
  191. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_text.txt +0 -0
  192. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/analysis/NplKG2O/page_1_yolo_regions.txt +0 -0
  193. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/enhanced_analysis_10/NplKG2O_Try to see if natural-pdf can process non-standard_enhanced_analysis.md +0 -0
  194. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/enhanced_analysis_10/analysis_results.json +0 -0
  195. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/NplKG2O_Try to see if natural-pdf can process non-standard/enhanced_analysis_10/page_1.png +0 -0
  196. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/OD49rjM_analysis.md +0 -0
  197. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/analysis_summary.json +0 -0
  198. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1.png +0 -0
  199. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_all_elements_inspect.txt +0 -0
  200. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_all_regions.txt +0 -0
  201. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_describe.txt +0 -0
  202. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_table.json +0 -0
  203. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_text.txt +0 -0
  204. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/analysis/OD49rjM/page_1_yolo_regions.txt +0 -0
  205. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/detailed_analysis_final/OD49rjM_Just being able to make sense of any of it. It_s b_detailed_analysis.md +0 -0
  206. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/detailed_analysis_final/detailed_analysis_results.json +0 -0
  207. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/detailed_analysis_final/page_1.png +0 -0
  208. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/OD49rjM_Just being able to make sense of any of it. It_s b/detailed_analysis_final/page_17303.png +0 -0
  209. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/ODX1DW8_analysis.md +0 -0
  210. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/analysis_summary.json +0 -0
  211. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1.png +0 -0
  212. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_all_elements_inspect.txt +0 -0
  213. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_all_regions.txt +0 -0
  214. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_describe.txt +0 -0
  215. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_tatr_layout.txt +0 -0
  216. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_tatr_regions.txt +0 -0
  217. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/analysis/ODX1DW8/page_1_text.txt +0 -0
  218. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/enhanced_analysis/ODX1DW8_enhanced_analysis.md +0 -0
  219. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/enhanced_analysis/enhanced_analysis_results.json +0 -0
  220. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/enhanced_analysis/page_178.png +0 -0
  221. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/enhanced_analysis/page_179.png +0 -0
  222. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODX1DW8_The large table on page 179/enhanced_analysis/page_180.png +0 -0
  223. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/ODXl8aR_analysis.md +0 -0
  224. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/analysis_summary.json +0 -0
  225. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1.png +0 -0
  226. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_all_elements_inspect.txt +0 -0
  227. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_all_regions.txt +0 -0
  228. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_describe.txt +0 -0
  229. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_table.json +0 -0
  230. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_tatr_layout.txt +0 -0
  231. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_tatr_regions.txt +0 -0
  232. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_text.txt +0 -0
  233. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/analysis/ODXl8aR/page_1_yolo_regions.txt +0 -0
  234. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/detailed_analysis_final/ODXl8aR_0. ISO code of the business_ business name_ contac_detailed_analysis.md +0 -0
  235. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/detailed_analysis_final/detailed_analysis_results.json +0 -0
  236. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/detailed_analysis_final/page_1.png +0 -0
  237. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ODXl8aR_0. ISO code of the business_ business name_ contac/detailed_analysis_final/page_55.png +0 -0
  238. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/Pd1KBb1_analysis.md +0 -0
  239. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/analysis_summary.json +0 -0
  240. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1.png +0 -0
  241. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_all_elements_inspect.txt +0 -0
  242. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_all_regions.txt +0 -0
  243. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_describe.txt +0 -0
  244. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_table.json +0 -0
  245. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_tatr_layout.txt +0 -0
  246. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_tatr_regions.txt +0 -0
  247. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_text.txt +0 -0
  248. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/analysis/Pd1KBb1/page_1_yolo_regions.txt +0 -0
  249. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/detailed_analysis_final/Pd1KBb1_the data table _of election results__detailed_analysis.md +0 -0
  250. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/detailed_analysis_final/detailed_analysis_results.json +0 -0
  251. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd1KBb1_the data table _of election results_/detailed_analysis_final/page_1.png +0 -0
  252. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/Pd9WVDb_analysis.md +0 -0
  253. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/analysis_summary.json +0 -0
  254. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1.png +0 -0
  255. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_all_elements_inspect.txt +0 -0
  256. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_all_regions.txt +0 -0
  257. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_describe.txt +0 -0
  258. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_table.json +0 -0
  259. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_text.txt +0 -0
  260. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/analysis/Pd9WVDb/page_1_yolo_regions.txt +0 -0
  261. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/detailed_analysis_final/Pd9WVDb_We want a spreadsheet showing all the columns sepa_detailed_analysis.md +0 -0
  262. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/detailed_analysis_final/detailed_analysis_results.json +0 -0
  263. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/detailed_analysis_final/page_1.png +0 -0
  264. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Pd9WVDb_We want a spreadsheet showing all the columns sepa/detailed_analysis_final/page_12454.png +0 -0
  265. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/Xxogz9j_analysis.md +0 -0
  266. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/analysis_summary.json +0 -0
  267. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/page_1.png +0 -0
  268. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/page_1_all_elements_inspect.txt +0 -0
  269. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/page_1_all_regions.txt +0 -0
  270. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/page_1_describe.txt +0 -0
  271. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Xxogz9j_This bad PDF is one of the pinnacles of Japanese F/analysis/Xxogz9j/page_1_yolo_regions.txt +0 -0
  272. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /Y5G72LB_analysis.md +0 -0
  273. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/analysis_summary.json +0 -0
  274. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1.png +0 -0
  275. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_all_elements_inspect.txt +0 -0
  276. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_all_regions.txt +0 -0
  277. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_describe.txt +0 -0
  278. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_table.json +0 -0
  279. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_text.txt +0 -0
  280. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /analysis/Y5G72LB/page_1_yolo_regions.txt +0 -0
  281. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /detailed_analysis_final/Y5G72LB_We are trying to get specific information such as _detailed_analysis.md +0 -0
  282. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /detailed_analysis_final/detailed_analysis_results.json +0 -0
  283. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /detailed_analysis_final/page_1.png +0 -0
  284. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/Y5G72LB_We are trying to get specific information such as /detailed_analysis_final/page_11.png +0 -0
  285. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/analyze_10_more.py +0 -0
  286. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/analyze_final_10.py +0 -0
  287. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/analyze_specific_pages.py +0 -0
  288. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/analyze_specific_pages_direct.py +0 -0
  289. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/analysis_summary.json +0 -0
  290. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1.png +0 -0
  291. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_all_elements_inspect.txt +0 -0
  292. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_all_regions.txt +0 -0
  293. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_describe.txt +0 -0
  294. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_tatr_layout.txt +0 -0
  295. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_tatr_regions.txt +0 -0
  296. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_text.txt +0 -0
  297. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/analysis/b5eVqGg/page_1_yolo_regions.txt +0 -0
  298. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/b5eVqGg_analysis.md +0 -0
  299. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/detailed_analysis_final/b5eVqGg_Math formulas in Russian _e.g. on page 181___detailed_analysis.md +0 -0
  300. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/detailed_analysis_final/detailed_analysis_results.json +0 -0
  301. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/detailed_analysis_final/page_181.png +0 -0
  302. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/enhanced_analysis_10/analysis_results.json +0 -0
  303. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/enhanced_analysis_10/b5eVqGg_Math formulas in Russian _e.g. on page 181___enhanced_analysis.md +0 -0
  304. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/b5eVqGg_Math formulas in Russian _e.g. on page 181__/enhanced_analysis_10/page_181.png +0 -0
  305. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/analysis_summary.json +0 -0
  306. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1.png +0 -0
  307. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_all_elements_inspect.txt +0 -0
  308. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_all_regions.txt +0 -0
  309. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_describe.txt +0 -0
  310. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_table.json +0 -0
  311. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_tatr_layout.txt +0 -0
  312. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_tatr_regions.txt +0 -0
  313. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_text.txt +0 -0
  314. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/analysis/eqQ4N7q/page_1_yolo_regions.txt +0 -0
  315. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/detailed_analysis_final/detailed_analysis_results.json +0 -0
  316. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/detailed_analysis_final/eqQ4N7q_election results data table_detailed_analysis.md +0 -0
  317. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/detailed_analysis_final/page_1.png +0 -0
  318. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4N7q_election results data table/eqQ4N7q_analysis.md +0 -0
  319. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/analysis_summary.json +0 -0
  320. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1.png +0 -0
  321. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_all_elements_inspect.txt +0 -0
  322. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_all_regions.txt +0 -0
  323. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_describe.txt +0 -0
  324. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_table.json +0 -0
  325. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_tatr_layout.txt +0 -0
  326. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_tatr_regions.txt +0 -0
  327. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_text.txt +0 -0
  328. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/analysis/eqQ4NoQ/page_1_yolo_regions.txt +0 -0
  329. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/detailed_analysis_final/detailed_analysis_results.json +0 -0
  330. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/detailed_analysis_final/eqQ4NoQ_data table_detailed_analysis.md +0 -0
  331. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/detailed_analysis_final/page_1.png +0 -0
  332. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqQ4NoQ_data table/eqQ4NoQ_analysis.md +0 -0
  333. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/analysis_summary.json +0 -0
  334. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1.png +0 -0
  335. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_all_elements_inspect.txt +0 -0
  336. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_all_regions.txt +0 -0
  337. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_describe.txt +0 -0
  338. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_table.json +0 -0
  339. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_text.txt +0 -0
  340. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/analysis/eqrZ5yq/page_1_yolo_regions.txt +0 -0
  341. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/enhanced_analysis_results.json +0 -0
  342. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/eqrZ5yq_enhanced_analysis.md +0 -0
  343. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/page_89.png +0 -0
  344. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/page_90.png +0 -0
  345. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/page_91.png +0 -0
  346. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/enhanced_analysis/page_92.png +0 -0
  347. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZ5yq_The long table _Annex 6_ spanning across pages fro/eqrZ5yq_analysis.md +0 -0
  348. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/analysis_summary.json +0 -0
  349. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1.png +0 -0
  350. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_all_elements_inspect.txt +0 -0
  351. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_all_regions.txt +0 -0
  352. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_describe.txt +0 -0
  353. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_table.json +0 -0
  354. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_tatr_layout.txt +0 -0
  355. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_tatr_regions.txt +0 -0
  356. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_text.txt +0 -0
  357. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/analysis/eqrZZbq/page_1_yolo_regions.txt +0 -0
  358. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/enhanced_analysis_10/analysis_results.json +0 -0
  359. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/enhanced_analysis_10/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab_enhanced_analysis.md +0 -0
  360. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/enhanced_analysis_10/page_4.png +0 -0
  361. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/eqrZZbq_The categorize chart _E1_ on page 4_ The chart_tab/eqrZZbq_analysis.md +0 -0
  362. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/analysis_summary.json +0 -0
  363. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/page_1.png +0 -0
  364. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/page_1_all_elements_inspect.txt +0 -0
  365. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/page_1_describe.txt +0 -0
  366. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/page_1_table.json +0 -0
  367. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/analysis/ja6EqV1/page_1_text.txt +0 -0
  368. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ja6EqV1_A spreadsheet of use of force records__/ja6EqV1_analysis.md +0 -0
  369. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/analysis_summary.json +0 -0
  370. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1.png +0 -0
  371. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_all_elements_inspect.txt +0 -0
  372. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_all_regions.txt +0 -0
  373. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_describe.txt +0 -0
  374. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_table.json +0 -0
  375. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_text.txt +0 -0
  376. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./analysis/lbODDK6/page_1_yolo_regions.txt +0 -0
  377. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./detailed_analysis_final/detailed_analysis_results.json +0 -0
  378. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./detailed_analysis_final/lbODDK6_The text in Ethiopian._detailed_analysis.md +0 -0
  379. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./detailed_analysis_final/page_1.png +0 -0
  380. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./detailed_analysis_final/page_32.png +0 -0
  381. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODDK6_The text in Ethiopian./lbODDK6_analysis.md +0 -0
  382. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/analysis_summary.json +0 -0
  383. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1.png +0 -0
  384. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_all_elements_inspect.txt +0 -0
  385. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_all_regions.txt +0 -0
  386. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_describe.txt +0 -0
  387. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_table.json +0 -0
  388. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_tatr_layout.txt +0 -0
  389. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_tatr_regions.txt +0 -0
  390. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_text.txt +0 -0
  391. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/analysis/lbODqev/page_1_yolo_regions.txt +0 -0
  392. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/detailed_analysis_final/detailed_analysis_results.json +0 -0
  393. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/detailed_analysis_final/lbODqev_Large wide tables in Serbian _from page 63 and on__detailed_analysis.md +0 -0
  394. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/detailed_analysis_final/page_63.png +0 -0
  395. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/enhanced_analysis_10/analysis_results.json +0 -0
  396. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/enhanced_analysis_10/lbODqev_Large wide tables in Serbian _from page 63 and on__enhanced_analysis.md +0 -0
  397. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/enhanced_analysis_10/page_63.png +0 -0
  398. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/enhanced_analysis_10/page_64.png +0 -0
  399. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/enhanced_analysis_10/page_65.png +0 -0
  400. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/lbODqev_Large wide tables in Serbian _from page 63 and on_/lbODqev_analysis.md +0 -0
  401. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/analysis_summary.json +0 -0
  402. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1.png +0 -0
  403. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_all_elements_inspect.txt +0 -0
  404. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_all_regions.txt +0 -0
  405. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_describe.txt +0 -0
  406. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_table.json +0 -0
  407. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_tatr_layout.txt +0 -0
  408. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_tatr_regions.txt +0 -0
  409. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_text.txt +0 -0
  410. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/analysis/obR1XQb/page_1_yolo_regions.txt +0 -0
  411. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR1XQb_Animal-related 911 calls and their descriptions fo/obR1XQb_analysis.md +0 -0
  412. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/analysis_summary.json +0 -0
  413. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1.png +0 -0
  414. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_all_elements_inspect.txt +0 -0
  415. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_all_regions.txt +0 -0
  416. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_describe.txt +0 -0
  417. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_table.json +0 -0
  418. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_tatr_layout.txt +0 -0
  419. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_tatr_regions.txt +0 -0
  420. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_text.txt +0 -0
  421. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./analysis/obR6Dxb/page_1_yolo_regions.txt +0 -0
  422. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./detailed_analysis_final/detailed_analysis_results.json +0 -0
  423. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./detailed_analysis_final/obR6Dxb_Large table that spans across pages in Serbian _e._detailed_analysis.md +0 -0
  424. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./detailed_analysis_final/page_1.png +0 -0
  425. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./detailed_analysis_final/page_60.png +0 -0
  426. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./enhanced_analysis_10/analysis_results.json +0 -0
  427. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./enhanced_analysis_10/obR6Dxb_Large table that spans across pages in Serbian _e._enhanced_analysis.md +0 -0
  428. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./enhanced_analysis_10/page_1.png +0 -0
  429. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./enhanced_analysis_10/page_2.png +0 -0
  430. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./enhanced_analysis_10/page_3.png +0 -0
  431. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obR6Dxb_Large table that spans across pages in Serbian _e./obR6Dxb_analysis.md +0 -0
  432. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/analysis_summary.json +0 -0
  433. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1.png +0 -0
  434. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_all_elements_inspect.txt +0 -0
  435. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_all_regions.txt +0 -0
  436. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_describe.txt +0 -0
  437. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_table.json +0 -0
  438. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_tatr_layout.txt +0 -0
  439. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_tatr_regions.txt +0 -0
  440. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_text.txt +0 -0
  441. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/analysis/obe1Vq5/page_1_yolo_regions.txt +0 -0
  442. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/analysis_summary.json +0 -0
  443. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1.png +0 -0
  444. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_all_elements_inspect.txt +0 -0
  445. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_all_regions.txt +0 -0
  446. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_describe.txt +0 -0
  447. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_table.json +0 -0
  448. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_tatr_layout.txt +0 -0
  449. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_tatr_regions.txt +0 -0
  450. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_text.txt +0 -0
  451. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_1_yolo_regions.txt +0 -0
  452. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2.png +0 -0
  453. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_all_elements_inspect.txt +0 -0
  454. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_all_regions.txt +0 -0
  455. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_describe.txt +0 -0
  456. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_table.json +0 -0
  457. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_tatr_layout.txt +0 -0
  458. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_tatr_regions.txt +0 -0
  459. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_text.txt +0 -0
  460. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_2_yolo_regions.txt +0 -0
  461. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3.png +0 -0
  462. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_all_elements_inspect.txt +0 -0
  463. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_all_regions.txt +0 -0
  464. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_describe.txt +0 -0
  465. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_table.json +0 -0
  466. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_tatr_layout.txt +0 -0
  467. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_tatr_regions.txt +0 -0
  468. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_text.txt +0 -0
  469. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_3_yolo_regions.txt +0 -0
  470. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4.png +0 -0
  471. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_all_elements_inspect.txt +0 -0
  472. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_all_regions.txt +0 -0
  473. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_describe.txt +0 -0
  474. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_table.json +0 -0
  475. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_tatr_layout.txt +0 -0
  476. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_tatr_regions.txt +0 -0
  477. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_text.txt +0 -0
  478. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_4_yolo_regions.txt +0 -0
  479. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5.png +0 -0
  480. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_all_elements_inspect.txt +0 -0
  481. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_all_regions.txt +0 -0
  482. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_describe.txt +0 -0
  483. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_table.json +0 -0
  484. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_text.txt +0 -0
  485. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis/obe1Vq5/page_5_yolo_regions.txt +0 -0
  486. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis_final/detailed_analysis_results.json +0 -0
  487. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis_final/obe1Vq5_MARKED UP text -- underline and strikethu__for bon_detailed_analysis.md +0 -0
  488. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/detailed_analysis_final/page_1.png +0 -0
  489. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/enhanced_analysis_10/analysis_results.json +0 -0
  490. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/enhanced_analysis_10/obe1Vq5_MARKED UP text -- underline and strikethu__for bon_enhanced_analysis.md +0 -0
  491. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/enhanced_analysis_10/page_1.png +0 -0
  492. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obe1Vq5_MARKED UP text -- underline and strikethu__for bon/obe1Vq5_analysis.md +0 -0
  493. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/analysis_summary.json +0 -0
  494. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1.png +0 -0
  495. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_all_elements_inspect.txt +0 -0
  496. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_all_regions.txt +0 -0
  497. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_describe.txt +0 -0
  498. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_table.json +0 -0
  499. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_text.txt +0 -0
  500. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/analysis/obeW0bN/page_1_yolo_regions.txt +0 -0
  501. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/obeW0bN_The data table/obeW0bN_analysis.md +0 -0
  502. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/analysis_summary.json +0 -0
  503. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1.png +0 -0
  504. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_all_elements_inspect.txt +0 -0
  505. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_all_regions.txt +0 -0
  506. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_describe.txt +0 -0
  507. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_table.json +0 -0
  508. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_text.txt +0 -0
  509. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/analysis/ober4db/page_1_yolo_regions.txt +0 -0
  510. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/enhanced_analysis_10/analysis_results.json +0 -0
  511. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/enhanced_analysis_10/ober4db_The graph and table on page 180 and 181_enhanced_analysis.md +0 -0
  512. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/enhanced_analysis_10/page_180.png +0 -0
  513. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/enhanced_analysis_10/page_181.png +0 -0
  514. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/ober4db_The graph and table on page 180 and 181/ober4db_analysis.md +0 -0
  515. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/analysis_summary.json +0 -0
  516. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1.png +0 -0
  517. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_all_elements_inspect.txt +0 -0
  518. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_all_regions.txt +0 -0
  519. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_describe.txt +0 -0
  520. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_table.json +0 -0
  521. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_text.txt +0 -0
  522. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/analysis/oberryX/page_1_yolo_regions.txt +0 -0
  523. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/enhanced_analysis_10/analysis_results.json +0 -0
  524. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/enhanced_analysis_10/oberryX_The survery question table_ such as the one on pag_enhanced_analysis.md +0 -0
  525. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/enhanced_analysis_10/page_1.png +0 -0
  526. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/oberryX_The survery question table_ such as the one on pag/oberryX_analysis.md +0 -0
  527. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/analysis_summary.json +0 -0
  528. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1.png +0 -0
  529. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_all_elements_inspect.txt +0 -0
  530. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_all_regions.txt +0 -0
  531. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_describe.txt +0 -0
  532. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_table.json +0 -0
  533. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_text.txt +0 -0
  534. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/analysis/pbDb4PP/page_1_yolo_regions.txt +0 -0
  535. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/pbDb4PP_This PDF is titled _Creating a Regional Circulatin/pbDb4PP_analysis.md +0 -0
  536. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/analysis_summary.json +0 -0
  537. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1.png +0 -0
  538. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_all_elements_inspect.txt +0 -0
  539. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_all_regions.txt +0 -0
  540. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_describe.txt +0 -0
  541. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_tatr_layout.txt +0 -0
  542. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_tatr_regions.txt +0 -0
  543. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_text.txt +0 -0
  544. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/analysis/q4DXYk8/page_1_yolo_regions.txt +0 -0
  545. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/detailed_analysis_final/detailed_analysis_results.json +0 -0
  546. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/detailed_analysis_final/page_1.png +0 -0
  547. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/detailed_analysis_final/q4DXYk8_The disciplinary log table_detailed_analysis.md +0 -0
  548. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/q4DXYk8_The disciplinary log table/q4DXYk8_analysis.md +0 -0
  549. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/analysis_summary.json +0 -0
  550. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1.png +0 -0
  551. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_all_elements_inspect.txt +0 -0
  552. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_all_regions.txt +0 -0
  553. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_describe.txt +0 -0
  554. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_table.json +0 -0
  555. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_tatr_layout.txt +0 -0
  556. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_tatr_regions.txt +0 -0
  557. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_text.txt +0 -0
  558. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/analysis/zxyRByM/page_1_yolo_regions.txt +0 -0
  559. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/detailed_analysis_final/detailed_analysis_results.json +0 -0
  560. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/detailed_analysis_final/page_1.png +0 -0
  561. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/detailed_analysis_final/page_6.png +0 -0
  562. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/detailed_analysis_final/zxyRByM_Tables_ Have never managed to get other python lib_detailed_analysis.md +0 -0
  563. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/bad_pdf_analysis/zxyRByM_Tables_ Have never managed to get other python lib/zxyRByM_analysis.md +0 -0
  564. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/check_run_md.sh +0 -0
  565. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/api/index.md +0 -0
  566. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/favicon.png +0 -0
  567. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/favicon.svg +0 -0
  568. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/javascripts/custom.js +0 -0
  569. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/logo.svg +0 -0
  570. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/sample-screen.png +0 -0
  571. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/social-preview.png +0 -0
  572. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/social-preview.svg +0 -0
  573. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/assets/stylesheets/custom.css +0 -0
  574. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/categorizing-documents/index.md +0 -0
  575. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/data-extraction/index.md +0 -0
  576. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/describe/index.ipynb +0 -0
  577. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/describe/index.md +0 -0
  578. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/document-qa/index.ipynb +0 -0
  579. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/document-qa/index.md +0 -0
  580. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/element-selection/index.ipynb +0 -0
  581. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/element-selection/index.md +0 -0
  582. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/extracting-clean-text/index.ipynb +0 -0
  583. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/extracting-clean-text/index.md +0 -0
  584. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/finetuning/index.md +0 -0
  585. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/fix-messy-tables/index.ipynb +0 -0
  586. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/fix-messy-tables/index.md +0 -0
  587. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/fix-messy-tables/table_1.csv +0 -0
  588. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/fix-messy-tables/table_2.csv +0 -0
  589. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/fix-messy-tables/table_3.csv +0 -0
  590. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/index.md +0 -0
  591. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/installation/index.md +0 -0
  592. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/interactive-widget/index.ipynb +0 -0
  593. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/interactive-widget/index.md +0 -0
  594. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/layout-analysis/index.ipynb +0 -0
  595. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/layout-analysis/index.md +0 -0
  596. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/loops-and-groups/index.ipynb +0 -0
  597. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/loops-and-groups/index.md +0 -0
  598. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr/index.md +0 -0
  599. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/css/style.css +0 -0
  600. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/index.html +0 -0
  601. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/app.js +0 -0
  602. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/FileSaver.min.js +0 -0
  603. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/babel.min.js +0 -0
  604. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/hooks.umd.js +0 -0
  605. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/htm-preact.umd.min.js +0 -0
  606. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/htm.umd.min.js +0 -0
  607. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/jszip.min.js +0 -0
  608. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/preact.umd.min.js +0 -0
  609. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/react-dom.development.js +0 -0
  610. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/js/vendor/react.development.js +0 -0
  611. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/ocr-tool/words.txt +0 -0
  612. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/pdf-navigation/index.ipynb +0 -0
  613. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/pdf-navigation/index.md +0 -0
  614. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/process-forms-and-invoices/extracted_form_data.csv +0 -0
  615. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/process-forms-and-invoices/index.ipynb +0 -0
  616. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/process-forms-and-invoices/index.md +0 -0
  617. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/quick-reference/index.ipynb +0 -0
  618. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/quick-reference/index.md +0 -0
  619. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/reflowing-pages/index.ipynb +0 -0
  620. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/reflowing-pages/index.md +0 -0
  621. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/regions/index.ipynb +0 -0
  622. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/regions/index.md +0 -0
  623. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tables/index.ipynb +0 -0
  624. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tables/index.md +0 -0
  625. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/text-analysis/index.ipynb +0 -0
  626. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/text-analysis/index.md +0 -0
  627. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/text-extraction/index.ipynb +0 -0
  628. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/01-loading-and-extraction.ipynb +0 -0
  629. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/01-loading-and-extraction.md +0 -0
  630. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/02-finding-elements.ipynb +0 -0
  631. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/02-finding-elements.md +0 -0
  632. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/03-extracting-blocks.ipynb +0 -0
  633. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/03-extracting-blocks.md +0 -0
  634. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/04-table-extraction.ipynb +0 -0
  635. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/04-table-extraction.md +0 -0
  636. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/05-excluding-content.ipynb +0 -0
  637. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/05-excluding-content.md +0 -0
  638. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/06-document-qa.ipynb +0 -0
  639. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/06-document-qa.md +0 -0
  640. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/07-layout-analysis.ipynb +0 -0
  641. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/07-layout-analysis.md +0 -0
  642. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/07-working-with-regions.ipynb +0 -0
  643. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/07-working-with-regions.md +0 -0
  644. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/08-spatial-navigation.ipynb +0 -0
  645. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/08-spatial-navigation.md +0 -0
  646. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/09-section-extraction.ipynb +0 -0
  647. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/09-section-extraction.md +0 -0
  648. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/10-form-field-extraction.ipynb +0 -0
  649. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/10-form-field-extraction.md +0 -0
  650. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/11-enhanced-table-processing.ipynb +0 -0
  651. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/11-enhanced-table-processing.md +0 -0
  652. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/12-ocr-integration.ipynb +0 -0
  653. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/12-ocr-integration.md +0 -0
  654. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/13-semantic-search.ipynb +0 -0
  655. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/13-semantic-search.md +0 -0
  656. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/14-categorizing-documents.ipynb +0 -0
  657. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/tutorials/14-categorizing-documents.md +0 -0
  658. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/visual-debugging/index.ipynb +0 -0
  659. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/visual-debugging/index.md +0 -0
  660. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/docs/visual-debugging/region.png +0 -0
  661. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/mkdocs.yml +0 -0
  662. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/__init__.py +0 -0
  663. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/__init__.py +0 -0
  664. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/__init__.py +0 -0
  665. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/base.py +0 -0
  666. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/docling.py +0 -0
  667. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/gemini.py +0 -0
  668. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/layout_analyzer.py +0 -0
  669. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/layout_manager.py +0 -0
  670. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/layout_options.py +0 -0
  671. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/paddle.py +0 -0
  672. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/pdfplumber_table_finder.py +0 -0
  673. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/surya.py +0 -0
  674. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/table_structure_utils.py +0 -0
  675. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/tatr.py +0 -0
  676. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/layout/yolo.py +0 -0
  677. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/shape_detection_mixin.py +0 -0
  678. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/text_options.py +0 -0
  679. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/text_structure.py +0 -0
  680. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/analyzers/utils.py +0 -0
  681. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/classification/manager.py +0 -0
  682. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/classification/mixin.py +0 -0
  683. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/classification/results.py +0 -0
  684. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/cli.py +0 -0
  685. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/collections/mixins.py +0 -0
  686. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/collections/pdf_collection.py +0 -0
  687. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/core/__init__.py +0 -0
  688. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/core/highlighting_service.py +0 -0
  689. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/core/page.py +0 -0
  690. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/core/pdf.py +0 -0
  691. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/describe/__init__.py +0 -0
  692. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/describe/base.py +0 -0
  693. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/describe/elements.py +0 -0
  694. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/describe/mixin.py +0 -0
  695. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/describe/summary.py +0 -0
  696. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/__init__.py +0 -0
  697. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/base.py +0 -0
  698. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/collections.py +0 -0
  699. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/image.py +0 -0
  700. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/line.py +0 -0
  701. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/rect.py +0 -0
  702. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/elements/region.py +0 -0
  703. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/export/mixin.py +0 -0
  704. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/__init__.py +0 -0
  705. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/base.py +0 -0
  706. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/data/__init__.py +0 -0
  707. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/data/pdf.ttf +0 -0
  708. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/data/sRGB.icc +0 -0
  709. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/hocr.py +0 -0
  710. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/hocr_font.py +0 -0
  711. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/original_pdf.py +0 -0
  712. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/paddleocr.py +0 -0
  713. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/exporters/searchable_pdf.py +0 -0
  714. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/extraction/manager.py +0 -0
  715. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/extraction/mixin.py +0 -0
  716. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/extraction/result.py +0 -0
  717. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/flows/__init__.py +0 -0
  718. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/flows/collections.py +0 -0
  719. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/flows/element.py +0 -0
  720. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/flows/flow.py +0 -0
  721. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/flows/region.py +0 -0
  722. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/__init__.py +0 -0
  723. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/engine.py +0 -0
  724. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/engine_doctr.py +0 -0
  725. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/engine_easyocr.py +0 -0
  726. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/engine_paddle.py +0 -0
  727. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/engine_surya.py +0 -0
  728. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/ocr_factory.py +0 -0
  729. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/ocr_manager.py +0 -0
  730. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/ocr_options.py +0 -0
  731. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/ocr/utils.py +0 -0
  732. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/qa/__init__.py +0 -0
  733. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/qa/document_qa.py +0 -0
  734. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/qa/qa_result.py +0 -0
  735. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/__init__.py +0 -0
  736. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/lancedb_search_service.py +0 -0
  737. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/numpy_search_service.py +0 -0
  738. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/search_options.py +0 -0
  739. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/search_service_protocol.py +0 -0
  740. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/search/searchable_mixin.py +0 -0
  741. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/selectors/__init__.py +0 -0
  742. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/selectors/parser.py +0 -0
  743. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/tables/__init__.py +0 -0
  744. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/tables/result.py +0 -0
  745. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/__init__.py +0 -0
  746. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/finetune/fine_tune_paddleocr.md +0 -0
  747. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/spa/css/style.css +0 -0
  748. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/spa/index.html +0 -0
  749. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/spa/js/app.js +0 -0
  750. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/templates/spa/words.txt +0 -0
  751. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/__init__.py +0 -0
  752. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/bidi_mirror.py +0 -0
  753. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/debug.py +0 -0
  754. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/highlighting.py +0 -0
  755. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/identifiers.py +0 -0
  756. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/locks.py +0 -0
  757. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/packaging.py +0 -0
  758. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/reading_order.py +0 -0
  759. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/text_extraction.py +0 -0
  760. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/utils/visualization.py +0 -0
  761. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/widgets/__init__.py +0 -0
  762. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf/widgets/viewer.py +0 -0
  763. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf.egg-info/dependency_links.txt +0 -0
  764. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf.egg-info/entry_points.txt +0 -0
  765. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf.egg-info/requires.txt +0 -0
  766. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/natural_pdf.egg-info/top_level.txt +0 -0
  767. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/noxfile.py +0 -0
  768. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/memory_comparison.py +0 -0
  769. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/pdf_analyzer.py +0 -0
  770. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/performance_analysis.py +0 -0
  771. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/performance_results/image_heavy_snapshots.csv +0 -0
  772. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/performance_results/image_heavy_snapshots.json +0 -0
  773. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/performance_results/text_heavy_snapshots.csv +0 -0
  774. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/performance_results/text_heavy_snapshots.json +0 -0
  775. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/test_cleanup_methods.py +0 -0
  776. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/optimization/test_memory_fix.py +0 -0
  777. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/.gitkeep +0 -0
  778. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/01-practice.pdf +0 -0
  779. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/0500000US42001.pdf +0 -0
  780. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/0500000US42007.pdf +0 -0
  781. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/1107231007033739008.pdf +0 -0
  782. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/2014 Statistics.pdf +0 -0
  783. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/2019 Statistics.pdf +0 -0
  784. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/30.pdf +0 -0
  785. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/Atlanta_Public_Schools_GA_sample.pdf +0 -0
  786. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/anexo_edital_6604_1743480-table.pdf +0 -0
  787. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/appendix_fy2026.pdf +0 -0
  788. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/arabic.pdf +0 -0
  789. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/cia-doc.pdf +0 -0
  790. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/geometry.pdf +0 -0
  791. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/hebrew-table.pdf +0 -0
  792. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/image.png +0 -0
  793. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/image.png.pdf +0 -0
  794. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/multicolumn.pdf +0 -0
  795. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/needs-ocr.pdf +0 -0
  796. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/red.pdf +0 -0
  797. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/shapes-and-text.pdf +0 -0
  798. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny-ocr-2.pdf +0 -0
  799. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny-ocr-3.pdf +0 -0
  800. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny-ocr-small.jpg +0 -0
  801. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny-ocr-wide.jpg +0 -0
  802. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny-ocr.pdf +0 -0
  803. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/tiny.pdf +0 -0
  804. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/types-of-type.pdf +0 -0
  805. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pdfs/word-counter.pdf +0 -0
  806. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/publish.sh +0 -0
  807. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/pyproject.toml +0 -0
  808. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/sample-screen.png +0 -0
  809. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/setup.cfg +0 -0
  810. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/test_install.sh +0 -0
  811. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/conftest.py +0 -0
  812. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/exporters/test_paddleocr_exporter.py +0 -0
  813. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_core/test_containment_geometry.py +0 -0
  814. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_core/test_elements.py +0 -0
  815. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_core/test_loading.py +0 -0
  816. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_core/test_spatial.py +0 -0
  817. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_core/test_text_extraction.py +0 -0
  818. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_highlight_detection.py +0 -0
  819. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_loading_original.py +0 -0
  820. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_optional_deps.py +0 -0
  821. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_strikethrough_detection.py +0 -0
  822. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_tutorials.py +0 -0
  823. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tests/test_underline_detection.py +0 -0
  824. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/todo/bad_pdf_analysis.md +0 -0
  825. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/todo/evaluation.md +0 -0
  826. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/LLM_NaturalPDF_CheatSheet.md +0 -0
  827. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/LLM_NaturalPDF_Workflows.md +0 -0
  828. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/README.md +0 -0
  829. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/__init__.py +0 -0
  830. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/analyser.py +0 -0
  831. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/collate_summaries.py +0 -0
  832. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/eval_suite.py +0 -0
  833. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/export_enrichment_csv.py +0 -0
  834. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/llm_enrich.py +0 -0
  835. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/reporter.py +0 -0
  836. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/bad_pdf_eval/utils.py +0 -0
  837. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/tools/rtl_smoke_test.py +0 -0
  838. {natural_pdf-0.1.30 → natural_pdf-0.1.31}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: natural-pdf
3
- Version: 0.1.30
3
+ Version: 0.1.31
4
4
  Summary: A more intuitive interface for working with PDFs
5
5
  Author-email: Jonathan Soma <jonathan.soma@gmail.com>
6
6
  License-Expression: MIT
@@ -7,6 +7,7 @@ characters, words, rectangles, and lines extracted from a page.
7
7
 
8
8
  import logging
9
9
  import re
10
+ from contextlib import contextmanager
10
11
  from itertools import groupby
11
12
  from typing import Any, Dict, List, Optional, Tuple, Union
12
13
 
@@ -47,6 +48,33 @@ HIGHLIGHT_DEFAULTS = {
47
48
  "color_value_min": 0.4, # HSV V >
48
49
  }
49
50
 
51
+
52
+ @contextmanager
53
+ def disable_text_sync():
54
+ """
55
+ Temporarily disable text synchronization for performance.
56
+
57
+ This is used when bulk-updating text content where character-level
58
+ synchronization is not needed, such as during bidi processing.
59
+ Fixes exponential recursion issue with Arabic/RTL text processing.
60
+ """
61
+ # Save original setter
62
+ original_setter = TextElement.text.fset
63
+
64
+ # Create a fast setter that skips sync
65
+ def fast_setter(self, value):
66
+ self._obj["text"] = value
67
+ # Skip character synchronization for performance
68
+
69
+ # Apply fast setter
70
+ TextElement.text = property(TextElement.text.fget, fast_setter)
71
+
72
+ try:
73
+ yield
74
+ finally:
75
+ # Restore original setter
76
+ TextElement.text = property(TextElement.text.fget, original_setter)
77
+
50
78
  class NaturalWordExtractor(WordExtractor):
51
79
  """
52
80
  Custom WordExtractor that splits words based on specified character attributes
@@ -208,8 +236,7 @@ class ElementManager:
208
236
  yt = pdf_config.get("y_tolerance", 3)
209
237
  use_flow = pdf_config.get("use_text_flow", False)
210
238
 
211
- # Define which attributes to preserve on the merged word object
212
- # Should include split attributes + any others needed for filtering (like color)
239
+ # List of attributes to preserve on word objects
213
240
  attributes_to_preserve = list(
214
241
  set(
215
242
  self._word_split_attributes
@@ -223,7 +250,7 @@ class ElementManager:
223
250
  )
224
251
  )
225
252
 
226
- # -------------------------------------------------------------
253
+ # ------------------------------------------------------------------
227
254
  # NEW: Detect direction (LTR vs RTL) per visual line and feed
228
255
  # pdfplumber's WordExtractor with the correct settings.
229
256
  # -------------------------------------------------------------
@@ -271,7 +298,9 @@ class ElementManager:
271
298
  # Build a WordExtractor tailored for this line's direction
272
299
  if is_rtl_line:
273
300
  line_dir = "ttb" # horizontal lines stacked top→bottom
274
- char_dir = "rtl" # characters right→left within the line
301
+ # Feed characters in right→left x-order; extractor can then treat
302
+ # them as left-to-right so that resulting text stays logical.
303
+ char_dir = "ltr"
275
304
  else:
276
305
  line_dir = "ttb"
277
306
  char_dir = "ltr"
@@ -288,9 +317,8 @@ class ElementManager:
288
317
  )
289
318
 
290
319
  # Prepare character sequence for the extractor:
291
- # For LTR lines -> left→right order (x0 ascending)
292
- # For RTL lines -> feed **reversed** list so that neighbouring
293
- # characters appear adjacent when the extractor walks right→left.
320
+ # Always feed characters in spatial order (x0 ascending)
321
+ # PDF stores glyphs in visual order, so this gives us the visual sequence
294
322
  line_chars_for_extractor = sorted(line_chars, key=lambda c: c.get("x0", 0))
295
323
 
296
324
  try:
@@ -324,15 +352,18 @@ class ElementManager:
324
352
  # on the whole-line heuristic.
325
353
  rtl_in_word = any(_is_rtl_char(ch.get("text", "")) for ch in char_list)
326
354
  if rtl_in_word:
355
+ # Convert from visual order (from PDF) to logical order using bidi
327
356
  try:
328
357
  from bidi.algorithm import get_display # type: ignore
329
358
  from natural_pdf.utils.bidi_mirror import mirror_brackets
330
359
 
331
- word_element.text = mirror_brackets(
332
- get_display(word_element.text, base_dir="R")
333
- )
360
+ with disable_text_sync():
361
+ # word_element.text is currently in visual order (from PDF)
362
+ # Convert to logical order using bidi with auto direction detection
363
+ logical_text = get_display(word_element.text, base_dir='L')
364
+ # Apply bracket mirroring for logical order
365
+ word_element.text = mirror_brackets(logical_text)
334
366
  except Exception:
335
- # Fallback: keep original text if python-bidi fails
336
367
  pass
337
368
 
338
369
  # ------------------------------------------------------------------
@@ -415,19 +446,6 @@ class ElementManager:
415
446
  f"Page {self._page.number}: Generated {len(generated_words)} words using NaturalWordExtractor."
416
447
  )
417
448
 
418
- # --- Post-processing pass to ensure every word containing RTL characters is
419
- # stored in logical order and with mirrored brackets. This is a
420
- # safeguard in case the per-line loop above missed some tokens.
421
- try:
422
- from bidi.algorithm import get_display # type: ignore
423
- from natural_pdf.utils.bidi_mirror import mirror_brackets
424
-
425
- for w in generated_words:
426
- if any(_is_rtl_char(ch) for ch in w.text):
427
- w.text = mirror_brackets(get_display(w.text, base_dir="R"))
428
- except Exception:
429
- pass # graceful degradation – keep original text
430
-
431
449
  # 4. Load other elements (rects, lines)
432
450
  rect_elements = [RectangleElement(r, self._page) for r in self._page._page.rects]
433
451
  line_elements = [LineElement(l, self._page) for l in self._page._page.lines]
@@ -463,6 +481,8 @@ class ElementManager:
463
481
 
464
482
  logger.debug(f"Page {self._page.number}: Element loading complete.")
465
483
 
484
+ # If per-word BiDi was skipped, generated_words already stay in logical order.
485
+
466
486
  def _prepare_char_dicts(self) -> List[Dict[str, Any]]:
467
487
  """
468
488
  Prepares a list of character dictionaries from native PDF characters,
@@ -468,3 +468,32 @@ class TextElement(Element):
468
468
  info[f"raw_{prop}"] = self._obj[prop]
469
469
 
470
470
  return info
471
+
472
+ @property
473
+ def visual_text(self) -> str:
474
+ """Return the text converted to *visual* order using the Unicode BiDi algorithm.
475
+
476
+ This helper is intentionally side-effect–free: it does **not** mutate
477
+ ``self.text`` or the underlying character dictionaries. It should be
478
+ used by UI / rendering code that needs human-readable RTL/LTR mixing.
479
+ """
480
+ logical = self.text
481
+ if not logical:
482
+ return logical
483
+
484
+ # Quick check – bail out if no RTL chars to save import/CPU.
485
+ import unicodedata
486
+
487
+ if not any(unicodedata.bidirectional(ch) in ("R", "AL", "AN") for ch in logical):
488
+ return logical
489
+
490
+ try:
491
+ from bidi.algorithm import get_display # type: ignore
492
+ from natural_pdf.utils.bidi_mirror import mirror_brackets
493
+
494
+ # Convert from logical order to visual order
495
+ visual = get_display(logical, base_dir="R")
496
+ return mirror_brackets(visual)
497
+ except Exception:
498
+ # If python-bidi is missing or errors, fall back to logical order
499
+ return logical
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: natural-pdf
3
- Version: 0.1.30
3
+ Version: 0.1.31
4
4
  Summary: A more intuitive interface for working with PDFs
5
5
  Author-email: Jonathan Soma <jonathan.soma@gmail.com>
6
6
  License-Expression: MIT
@@ -806,6 +806,8 @@ pdfs/tiny.pdf
806
806
  pdfs/types-of-type.pdf
807
807
  pdfs/word-counter.pdf
808
808
  tests/conftest.py
809
+ tests/test_arabic_performance.py
810
+ tests/test_arabic_real_world.py
809
811
  tests/test_highlight_detection.py
810
812
  tests/test_loading_original.py
811
813
  tests/test_optional_deps.py
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env python3
2
+ """Test and profile performance differences between Arabic RTL and regular PDFs."""
3
+
4
+ import time
5
+ import cProfile
6
+ import pstats
7
+ from io import StringIO
8
+ import pytest
9
+ from natural_pdf import PDF
10
+
11
+
12
+ class TestArabicPerformance:
13
+ """Test performance of Arabic/RTL PDF processing."""
14
+
15
+ def profile_pdf_extraction(self, pdf_path: str, label: str):
16
+ """Profile PDF text extraction and return timing info."""
17
+ print(f"\n{'='*60}")
18
+ print(f"Profiling: {label} ({pdf_path})")
19
+ print('='*60)
20
+
21
+ # Time the overall operation
22
+ start_time = time.time()
23
+
24
+ # Create profiler
25
+ profiler = cProfile.Profile()
26
+
27
+ # Profile the operations
28
+ profiler.enable()
29
+
30
+ pdf = PDF(pdf_path)
31
+ page = pdf.pages[0]
32
+ text = page.extract_text()
33
+
34
+ profiler.disable()
35
+
36
+ end_time = time.time()
37
+ elapsed = end_time - start_time
38
+
39
+ print(f"\nTotal time: {elapsed:.2f} seconds")
40
+ print(f"Text length: {len(text)} characters")
41
+ print(f"First 100 chars: {repr(text[:100])}")
42
+
43
+ # Print profiling stats
44
+ print("\nTop 20 time-consuming functions:")
45
+ s = StringIO()
46
+ ps = pstats.Stats(profiler, stream=s).sort_stats('cumulative')
47
+ ps.print_stats(20)
48
+ print(s.getvalue())
49
+
50
+ # Also show stats by total time
51
+ print("\nTop 20 by total time:")
52
+ s2 = StringIO()
53
+ ps2 = pstats.Stats(profiler, stream=s2).sort_stats('tottime')
54
+ ps2.print_stats(20)
55
+ print(s2.getvalue())
56
+
57
+ return elapsed, len(text), text
58
+
59
+ def test_arabic_vs_regular_performance(self):
60
+ """Compare performance between Arabic and regular PDFs."""
61
+ # Profile both PDFs
62
+ arabic_time, arabic_len, arabic_text = self.profile_pdf_extraction(
63
+ "pdfs/arabic.pdf", "Arabic RTL PDF"
64
+ )
65
+ regular_time, regular_len, regular_text = self.profile_pdf_extraction(
66
+ "pdfs/types-of-type.pdf", "Regular PDF"
67
+ )
68
+
69
+ # Summary comparison
70
+ print(f"\n{'='*60}")
71
+ print("PERFORMANCE COMPARISON")
72
+ print('='*60)
73
+ print(f"Arabic PDF: {arabic_time:.2f}s for {arabic_len} chars ({arabic_len/arabic_time:.0f} chars/sec)")
74
+ print(f"Regular PDF: {regular_time:.2f}s for {regular_len} chars ({regular_len/regular_time:.0f} chars/sec)")
75
+ slowdown = arabic_time/regular_time
76
+ print(f"Slowdown factor: {slowdown:.1f}x slower")
77
+
78
+ # This test can be used to track performance regressions
79
+ # For now, we'll just assert that both PDFs can be processed
80
+ assert arabic_len > 0, "Arabic PDF should contain text"
81
+ assert regular_len > 0, "Regular PDF should contain text"
82
+
83
+ # Log a warning if Arabic is significantly slower
84
+ if slowdown > 5:
85
+ print(f"\nWARNING: Arabic PDF processing is {slowdown:.1f}x slower than expected!")
86
+
87
+
88
+ if __name__ == "__main__":
89
+ # Run with detailed output
90
+ pytest.main([__file__, "-v", "-s"])
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env python3
2
+ """Test real-world Arabic text use cases with natural-pdf."""
3
+
4
+ import unittest
5
+ import time
6
+ from natural_pdf import PDF
7
+
8
+ class TestArabicPDF(unittest.TestCase):
9
+
10
+ @classmethod
11
+ def setUpClass(cls):
12
+ start = time.time()
13
+ cls.pdf = PDF("pdfs/arabic.pdf")
14
+ cls.page = cls.pdf.pages[0]
15
+ cls.load_time = time.time() - start
16
+
17
+ def test_load_time_under_3s(self):
18
+ self.assertLess(self.load_time, 3, f"PDF load time too long: {self.load_time:.2f}s")
19
+
20
+ def test_text_extraction(self):
21
+ text = self.page.extract_text()
22
+ self.assertTrue(len(text) > 1000, "Extracted text is too short")
23
+ self.assertIn("قانون", text, "Expected Arabic keyword not found in extracted text")
24
+
25
+ def test_arabic_keywords_found(self):
26
+ search_terms = [
27
+ ("قانون", "law"),
28
+ ("المنشآت الفندقية", "official gazette"),
29
+ ("رقم", "number"),
30
+ ("لسنة", "for year"),
31
+ ("2022", "year 2022"),
32
+ ("العدد", "issue"),
33
+ ]
34
+ for term, _ in search_terms:
35
+ print('term', term, 'translation', _)
36
+ with self.subTest(term=term):
37
+ matches = self.page.find_all(f"text:contains({term})")
38
+ self.assertGreater(len(matches), 0, f"No matches found for term: {term}")
39
+
40
+ def test_spatial_navigation(self):
41
+ headers = self.page.find_all('text[size>12]')
42
+ self.assertGreater(len(headers), 0, "No large text headers found")
43
+ below = headers[0].below().find_all('text')
44
+ self.assertGreater(len(below), 0, "No text found below header")
45
+
46
+ def test_mixed_content_stats(self):
47
+ words = self.page.find_all('word')
48
+ stats = {
49
+ "arabic_only": 0,
50
+ "english_only": 0,
51
+ "numbers_only": 0,
52
+ "mixed": 0,
53
+ }
54
+
55
+ for word in words:
56
+ has_ar = any('\u0600' <= c <= '\u06FF' for c in word.text)
57
+ has_en = any('a' <= c.lower() <= 'z' for c in word.text)
58
+ has_num = any(c.isdigit() for c in word.text)
59
+
60
+ if has_ar and (has_en or has_num):
61
+ stats["mixed"] += 1
62
+ elif has_ar:
63
+ stats["arabic_only"] += 1
64
+ elif has_en:
65
+ stats["english_only"] += 1
66
+ elif has_num:
67
+ stats["numbers_only"] += 1
68
+
69
+ self.assertGreater(stats["arabic_only"], 0, "No Arabic-only words found")
70
+ self.assertGreater(stats["mixed"], 0, "No mixed Arabic/English words found")
71
+
72
+ def test_line_grouping_by_y_position(self):
73
+ words = self.page.find_all('word')[:50]
74
+ lines = {}
75
+ for word in words:
76
+ y = round(word.top)
77
+ lines.setdefault(y, []).append(word)
78
+ self.assertGreater(len(lines), 0, "No lines grouped by Y position")
79
+
80
+ def test_extraction_consistency(self):
81
+ text1 = self.page.extract_text()
82
+ text2 = self.page.extract_text()
83
+ self.assertEqual(text1, text2, "Text extraction is not consistent")
84
+
85
+ def test_bidi_token_order(self):
86
+ found_2022 = self.page.find_all('text:contains(2022)')
87
+ found_2202 = self.page.find_all('text:contains(2202)')
88
+ self.assertGreater(len(found_2022), 0, "Expected to find '2022', but found none")
89
+ self.assertEqual(len(found_2202), 0, "Found reversed '2202', possible BiDi error")
90
+ for w in found_2022:
91
+ print(f" '2022' sample: '{w.text}' at ({w.x0:.1f}, {w.top:.1f})")
92
+ for w in found_2202:
93
+ print(f" '2202' sample: '{w.text}' at ({w.x0:.1f}, {w.top:.1f})")
94
+
95
+
96
+ if __name__ == "__main__":
97
+ unittest.main()
File without changes
File without changes
File without changes
File without changes
File without changes