deepresearch-flow 0.3.0__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/MANIFEST.in +2 -0
  2. {deepresearch_flow-0.3.0/python/deepresearch_flow.egg-info → deepresearch_flow-0.4.0}/PKG-INFO +23 -2
  3. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/README.md +22 -1
  4. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/pyproject.toml +2 -2
  5. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/db.py +184 -0
  6. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/db_ops.py +1939 -0
  7. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/app.py +94 -0
  8. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/constants.py +23 -0
  9. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/filters.py +255 -0
  10. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/handlers/__init__.py +14 -0
  11. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/handlers/api.py +217 -0
  12. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/handlers/pages.py +334 -0
  13. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/markdown.py +549 -0
  14. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/css/main.css +857 -0
  15. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/detail.js +406 -0
  16. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/index.js +266 -0
  17. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/outline.js +58 -0
  18. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/stats.js +39 -0
  19. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/templates/base.html +43 -0
  20. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/templates/detail.html +332 -0
  21. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/templates/index.html +114 -0
  22. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/templates/stats.html +29 -0
  23. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/templates.py +85 -0
  24. deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/text.py +68 -0
  25. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0/python/deepresearch_flow.egg-info}/PKG-INFO +23 -2
  26. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow.egg-info/SOURCES.txt +18 -0
  27. deepresearch_flow-0.3.0/python/deepresearch_flow/paper/web/app.py +0 -3761
  28. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/LICENSE +0 -0
  29. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/__init__.py +0 -0
  30. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/__main__.py +0 -0
  31. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/cli.py +0 -0
  32. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/__init__.py +0 -0
  33. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/cli.py +0 -0
  34. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/config.py +0 -0
  35. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/extract.py +0 -0
  36. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/llm.py +0 -0
  37. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
  38. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +0 -0
  39. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -0
  40. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +0 -0
  41. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +0 -0
  42. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +0 -0
  43. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +0 -0
  44. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +0 -0
  45. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
  46. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/prompts.py +0 -0
  47. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
  48. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/azure_openai.py +0 -0
  49. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/base.py +0 -0
  50. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/claude.py +0 -0
  51. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
  52. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
  53. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
  54. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/providers/openai_compatible.py +0 -0
  55. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/render.py +0 -0
  56. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schema.py +0 -0
  57. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
  58. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +0 -0
  59. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +0 -0
  60. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +0 -0
  61. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
  62. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/template_registry.py +0 -0
  63. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
  64. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +0 -0
  65. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +0 -0
  66. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +0 -0
  67. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
  68. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/utils.py +0 -0
  69. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/__init__.py +0 -0
  70. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
  71. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
  72. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
  73. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
  74. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
  75. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
  76. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
  77. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
  78. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
  79. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
  80. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
  81. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
  82. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
  83. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  84. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  85. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  86. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  87. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  88. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  89. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  90. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  91. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  92. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
  93. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  94. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  95. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
  96. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  97. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  98. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  99. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  100. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  101. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  102. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  103. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  104. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  105. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  106. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  107. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  108. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  109. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  110. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  111. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  112. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  113. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  114. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  115. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  116. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  117. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  118. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  119. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  120. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  121. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  122. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  123. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
  124. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
  125. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
  126. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
  127. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
  128. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
  129. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
  130. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
  131. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
  132. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
  133. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
  134. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
  135. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
  136. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
  137. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
  138. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
  139. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
  140. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
  141. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
  142. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  143. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  144. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
  145. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
  146. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
  147. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
  148. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
  149. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
  150. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
  151. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
  152. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
  153. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  154. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  155. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
  156. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
  157. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
  158. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
  159. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  160. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  161. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  162. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  163. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
  164. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
  165. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
  166. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  167. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  168. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  169. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  170. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
  171. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
  172. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
  173. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
  174. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
  175. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
  176. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
  177. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
  178. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
  179. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
  180. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
  181. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
  182. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
  183. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
  184. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  185. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  186. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  187. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  188. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  189. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  190. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
  191. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
  192. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
  193. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
  194. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
  195. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
  196. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
  197. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  198. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  199. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  200. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  201. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  202. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  203. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  204. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  205. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  206. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  207. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  208. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  209. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  210. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  211. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  212. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  213. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  214. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  215. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  216. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  217. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  218. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  219. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  220. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  221. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  222. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  223. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  224. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  225. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  226. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  227. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  228. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  229. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  230. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  231. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  232. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  233. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  234. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  235. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  236. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  237. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  238. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  239. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  240. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  241. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  242. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  243. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  244. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
  245. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
  246. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  247. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
  248. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
  249. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
  250. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
  251. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
  252. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
  253. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
  254. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
  255. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
  256. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
  257. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
  258. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
  259. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
  260. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
  261. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
  262. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
  263. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
  264. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
  265. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
  266. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
  267. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
  268. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
  269. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
  270. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
  271. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
  272. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
  273. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
  274. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
  275. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
  276. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
  277. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
  278. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
  279. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
  280. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
  281. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
  282. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
  283. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
  284. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
  285. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
  286. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
  287. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
  288. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
  289. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
  290. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
  291. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
  292. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
  293. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
  294. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
  295. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
  296. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
  297. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
  298. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
  299. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
  300. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
  301. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
  302. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
  303. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
  304. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
  305. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
  306. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
  307. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
  308. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
  309. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
  310. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
  311. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
  312. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
  313. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
  314. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
  315. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
  316. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
  317. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
  318. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
  319. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
  320. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
  321. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
  322. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
  323. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
  324. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
  325. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
  326. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
  327. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
  328. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
  329. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
  330. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
  331. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
  332. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
  333. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
  334. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
  335. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
  336. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
  337. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
  338. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
  339. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
  340. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
  341. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
  342. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
  343. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
  344. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
  345. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
  346. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
  347. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
  348. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
  349. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
  350. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
  351. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
  352. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
  353. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
  354. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
  355. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
  356. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
  357. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
  358. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
  359. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
  360. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
  361. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
  362. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
  363. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
  364. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
  365. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
  366. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
  367. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
  368. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
  369. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
  370. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
  371. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
  372. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
  373. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
  374. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
  375. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
  376. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
  377. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
  378. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
  379. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
  380. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
  381. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
  382. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
  383. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
  384. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
  385. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
  386. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
  387. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
  388. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
  389. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
  390. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
  391. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
  392. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
  393. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
  394. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
  395. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
  396. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
  397. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
  398. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
  399. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
  400. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
  401. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
  402. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
  403. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
  404. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
  405. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
  406. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
  407. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
  408. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
  409. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
  410. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
  411. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
  412. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
  413. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
  414. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
  415. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
  416. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
  417. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
  418. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
  419. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
  420. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
  421. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
  422. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  423. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  424. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  425. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
  426. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  427. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  428. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  429. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
  430. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
  431. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
  432. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  433. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  434. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  435. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  436. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
  437. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +0 -0
  438. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +0 -0
  439. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
  440. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/paper/web/query.py +0 -0
  441. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/recognize/__init__.py +0 -0
  442. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/recognize/cli.py +0 -0
  443. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/recognize/markdown.py +0 -0
  444. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/recognize/organize.py +0 -0
  445. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/__init__.py +0 -0
  446. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/cli.py +0 -0
  447. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/config.py +0 -0
  448. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/engine.py +0 -0
  449. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/fixers.py +0 -0
  450. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/placeholder.py +0 -0
  451. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/prompts.py +0 -0
  452. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/protector.py +0 -0
  453. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow/translator/segment.py +0 -0
  454. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
  455. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
  456. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow.egg-info/requires.txt +0 -0
  457. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
  458. {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.0}/setup.cfg +0 -0
@@ -5,3 +5,5 @@ recursive-include python/deepresearch_flow/paper/templates *.j2
5
5
  recursive-include python/deepresearch_flow/paper/prompt_templates *.j2
6
6
  recursive-include python/deepresearch_flow/paper/examples *.toml
7
7
  recursive-include python/deepresearch_flow/paper/web/pdfjs *
8
+ recursive-include python/deepresearch_flow/paper/web/templates *
9
+ recursive-include python/deepresearch_flow/paper/web/static *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepresearch-flow
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Workflow tools for paper extraction, review, and research automation.
5
5
  Author-email: DengQi <dengqi935@gmail.com>
6
6
  License: MIT License
@@ -121,6 +121,7 @@ DeepResearch Flow provides a unified pipeline to **Repair**, **Translate**, **Ex
121
121
  - **Smart Extraction**: Turn unstructured Markdown into schema-enforced JSON (summaries, metadata, Q&A) using LLMs (OpenAI, Claude, Gemini, etc.).
122
122
  - **Precision Translation**: Translate OCR Markdown to Chinese/Japanese (`.zh.md`, `.ja.md`) while **freezing** formulas, code, tables, and references. No more broken layout.
123
123
  - **Local Knowledge DB**: A high-performance local Web UI to browse papers with **Split View** (Source vs. Translated vs. Summary), full-text search, and multi-dimensional filtering.
124
+ - **Coverage Compare**: Compare JSON/PDF/Markdown/Translated datasets to find missing artifacts and export CSV reports.
124
125
  - **OCR Post-Processing**: Automatically fix broken references (`[1]` -> `[^1]`), merge split paragraphs, and standardize layouts.
125
126
 
126
127
  ---
@@ -246,7 +247,27 @@ uv run deepresearch-flow paper db serve \
246
247
  </details>
247
248
 
248
249
  <details>
249
- <summary><strong>4. Recognize: OCR Post-Processing</strong></summary>
250
+ <summary><strong>4. Paper DB Compare: Coverage Audit</strong></summary>
251
+
252
+ Compare two datasets (A/B) to find missing PDFs, markdowns, translations, or JSON items, with match metadata.
253
+
254
+ ```bash
255
+ uv run deepresearch-flow paper db compare \
256
+ --input-a ./a.json \
257
+ --md-root-b ./md_root \
258
+ --output-csv ./compare.csv
259
+
260
+ # Compare translated markdowns by language
261
+ uv run deepresearch-flow paper db compare \
262
+ --md-translated-root-a ./translated_a \
263
+ --md-translated-root-b ./translated_b \
264
+ --lang zh
265
+ ```
266
+
267
+ </details>
268
+
269
+ <details>
270
+ <summary><strong>5. Recognize: OCR Post-Processing</strong></summary>
250
271
 
251
272
  Tools to clean up raw outputs from OCR engines like MinerU.
252
273
 
@@ -60,6 +60,7 @@ DeepResearch Flow provides a unified pipeline to **Repair**, **Translate**, **Ex
60
60
  - **Smart Extraction**: Turn unstructured Markdown into schema-enforced JSON (summaries, metadata, Q&A) using LLMs (OpenAI, Claude, Gemini, etc.).
61
61
  - **Precision Translation**: Translate OCR Markdown to Chinese/Japanese (`.zh.md`, `.ja.md`) while **freezing** formulas, code, tables, and references. No more broken layout.
62
62
  - **Local Knowledge DB**: A high-performance local Web UI to browse papers with **Split View** (Source vs. Translated vs. Summary), full-text search, and multi-dimensional filtering.
63
+ - **Coverage Compare**: Compare JSON/PDF/Markdown/Translated datasets to find missing artifacts and export CSV reports.
63
64
  - **OCR Post-Processing**: Automatically fix broken references (`[1]` -> `[^1]`), merge split paragraphs, and standardize layouts.
64
65
 
65
66
  ---
@@ -185,7 +186,27 @@ uv run deepresearch-flow paper db serve \
185
186
  </details>
186
187
 
187
188
  <details>
188
- <summary><strong>4. Recognize: OCR Post-Processing</strong></summary>
189
+ <summary><strong>4. Paper DB Compare: Coverage Audit</strong></summary>
190
+
191
+ Compare two datasets (A/B) to find missing PDFs, markdowns, translations, or JSON items, with match metadata.
192
+
193
+ ```bash
194
+ uv run deepresearch-flow paper db compare \
195
+ --input-a ./a.json \
196
+ --md-root-b ./md_root \
197
+ --output-csv ./compare.csv
198
+
199
+ # Compare translated markdowns by language
200
+ uv run deepresearch-flow paper db compare \
201
+ --md-translated-root-a ./translated_a \
202
+ --md-translated-root-b ./translated_b \
203
+ --lang zh
204
+ ```
205
+
206
+ </details>
207
+
208
+ <details>
209
+ <summary><strong>5. Recognize: OCR Post-Processing</strong></summary>
189
210
 
190
211
  Tools to clean up raw outputs from OCR engines like MinerU.
191
212
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deepresearch-flow"
3
- version = "0.3.0"
3
+ version = "0.4.0"
4
4
  description = "Workflow tools for paper extraction, review, and research automation."
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  license = { file = "LICENSE" }
@@ -59,4 +59,4 @@ include-package-data = true
59
59
  "deepresearch_flow.paper.templates" = ["*.j2"]
60
60
  "deepresearch_flow.paper.prompt_templates" = ["*.j2"]
61
61
  "deepresearch_flow.paper.examples" = ["*.toml"]
62
- "deepresearch_flow.paper.web" = ["pdfjs/**/*"]
62
+ "deepresearch_flow.paper.web" = ["pdfjs/**/*", "templates/**/*", "static/**/*"]
@@ -808,3 +808,187 @@ def register_db_commands(db_group: click.Group) -> None:
808
808
  raise click.ClickException(str(exc)) from exc
809
809
  rendered = render_papers(papers, out_dir, template, output_language)
810
810
  click.echo(f"Rendered {rendered} markdown files")
811
+
812
+ @db_group.command("compare")
813
+ @click.option(
814
+ "-ia", "--input-a", "input_paths_a", multiple=True, help="Input JSON files for side A (repeatable)"
815
+ )
816
+ @click.option(
817
+ "-ib", "--input-b", "input_paths_b", multiple=True, help="Input JSON files for side B (repeatable)"
818
+ )
819
+ @click.option(
820
+ "--pdf-root-a", "pdf_roots_a", multiple=True, help="PDF root directories for side A (repeatable)"
821
+ )
822
+ @click.option(
823
+ "--pdf-root-b", "pdf_roots_b", multiple=True, help="PDF root directories for side B (repeatable)"
824
+ )
825
+ @click.option(
826
+ "--md-root-a", "md_roots_a", multiple=True, help="Markdown root directories for side A (repeatable)"
827
+ )
828
+ @click.option(
829
+ "--md-root-b", "md_roots_b", multiple=True, help="Markdown root directories for side B (repeatable)"
830
+ )
831
+ @click.option(
832
+ "--md-translated-root-a", "md_translated_roots_a", multiple=True,
833
+ help="Translated Markdown root directories for side A (repeatable)"
834
+ )
835
+ @click.option(
836
+ "--md-translated-root-b", "md_translated_roots_b", multiple=True,
837
+ help="Translated Markdown root directories for side B (repeatable)"
838
+ )
839
+ @click.option("-b", "--bibtex", "bibtex_path", default=None, help="Optional BibTeX file path")
840
+ @click.option("--lang", "lang", default=None, help="Language code for translated comparisons (e.g., zh)")
841
+ @click.option(
842
+ "--output-csv", "output_csv", default=None, help="Path to export results as CSV"
843
+ )
844
+ @click.option(
845
+ "--sample-limit", "sample_limit", default=5, type=int, show_default=True,
846
+ help="Number of sample items to show in terminal output"
847
+ )
848
+ def compare(
849
+ input_paths_a: tuple[str, ...],
850
+ input_paths_b: tuple[str, ...],
851
+ pdf_roots_a: tuple[str, ...],
852
+ pdf_roots_b: tuple[str, ...],
853
+ md_roots_a: tuple[str, ...],
854
+ md_roots_b: tuple[str, ...],
855
+ md_translated_roots_a: tuple[str, ...],
856
+ md_translated_roots_b: tuple[str, ...],
857
+ bibtex_path: str | None,
858
+ lang: str | None,
859
+ output_csv: str | None,
860
+ sample_limit: int,
861
+ ) -> None:
862
+ """Compare two datasets and report matches and differences."""
863
+ from deepresearch_flow.paper.db_ops import compare_datasets
864
+ import csv
865
+
866
+ # Validate that at least one input is provided for each side
867
+ has_input_a = bool(input_paths_a or pdf_roots_a or md_roots_a or md_translated_roots_a)
868
+ has_input_b = bool(input_paths_b or pdf_roots_b or md_roots_b or md_translated_roots_b)
869
+
870
+ if not has_input_a:
871
+ raise click.ClickException(
872
+ "Side A must have at least one input: --input-a, --pdf-root-a, --md-root-a, or --md-translated-root-a"
873
+ )
874
+ if not has_input_b:
875
+ raise click.ClickException(
876
+ "Side B must have at least one input: --input-b, --pdf-root-b, --md-root-b, or --md-translated-root-b"
877
+ )
878
+ if (md_translated_roots_a or md_translated_roots_b) and not lang:
879
+ raise click.ClickException("--lang is required when comparing translated Markdown datasets")
880
+
881
+ # Run comparison
882
+ try:
883
+ results = compare_datasets(
884
+ json_paths_a=[Path(p) for p in input_paths_a],
885
+ pdf_roots_a=[Path(p) for p in pdf_roots_a],
886
+ md_roots_a=[Path(p) for p in md_roots_a],
887
+ md_translated_roots_a=[Path(p) for p in md_translated_roots_a],
888
+ json_paths_b=[Path(p) for p in input_paths_b],
889
+ pdf_roots_b=[Path(p) for p in pdf_roots_b],
890
+ md_roots_b=[Path(p) for p in md_roots_b],
891
+ md_translated_roots_b=[Path(p) for p in md_translated_roots_b],
892
+ bibtex_path=Path(bibtex_path) if bibtex_path else None,
893
+ lang=lang,
894
+ )
895
+ except ValueError as exc:
896
+ raise click.ClickException(str(exc)) from exc
897
+
898
+ # Calculate statistics
899
+ total_a = sum(1 for r in results if r.side == "A")
900
+ total_b = sum(1 for r in results if r.side == "B")
901
+ matched = sum(1 for r in results if r.side == "MATCH")
902
+ only_in_a = sum(1 for r in results if r.side == "A" and r.match_status == "only_in_A")
903
+ only_in_b = sum(1 for r in results if r.side == "B" and r.match_status == "only_in_B")
904
+
905
+ console = Console()
906
+
907
+ # Print summary table
908
+ summary_table = Table(title="Comparison Summary")
909
+ summary_table.add_column("Metric", style="cyan")
910
+ summary_table.add_column("Count", style="green", justify="right")
911
+ summary_table.add_row("Total in A", str(total_a))
912
+ summary_table.add_row("Total in B", str(total_b))
913
+ summary_table.add_row("Matched", str(matched))
914
+ summary_table.add_row("Only in A", str(only_in_a))
915
+ summary_table.add_row("Only in B", str(only_in_b))
916
+ console.print(summary_table)
917
+
918
+ # Print match type breakdown
919
+ match_types: dict[str, int] = {}
920
+ for r in results:
921
+ if r.side == "MATCH" and r.match_type:
922
+ match_types[r.match_type] = match_types.get(r.match_type, 0) + 1
923
+
924
+ if match_types:
925
+ type_table = Table(title="Match Types")
926
+ type_table.add_column("Type", style="cyan")
927
+ type_table.add_column("Count", style="green", justify="right")
928
+ for match_type, count in sorted(match_types.items(), key=lambda x: x[1], reverse=True):
929
+ type_table.add_row(match_type, str(count))
930
+ console.print(type_table)
931
+
932
+ # Print sample results
933
+ console.print("\n[bold]Sample Results:[/bold]")
934
+
935
+ # Sample matched items
936
+ matched_samples = [r for r in results if r.side == "MATCH"][:sample_limit]
937
+ if matched_samples:
938
+ console.print("\n[green]Matched Items:[/green]")
939
+ for r in matched_samples:
940
+ left = (r.title or "")[:60]
941
+ right = (r.other_title or "")[:60]
942
+ console.print(
943
+ f" • {left} ↔ {right} (type: {r.match_type}, score: {r.match_score:.2f})"
944
+ )
945
+
946
+ # Sample only in A
947
+ only_a_samples = [
948
+ r for r in results if r.side == "A" and r.match_status == "only_in_A"
949
+ ][:sample_limit]
950
+ if only_a_samples:
951
+ console.print("\n[yellow]Only in A:[/yellow]")
952
+ for r in only_a_samples:
953
+ console.print(f" • {r.title[:60]}...")
954
+
955
+ # Sample only in B
956
+ only_b_samples = [
957
+ r for r in results if r.side == "B" and r.match_status == "only_in_B"
958
+ ][:sample_limit]
959
+ if only_b_samples:
960
+ console.print("\n[yellow]Only in B:[/yellow]")
961
+ for r in only_b_samples:
962
+ console.print(f" • {r.title[:60]}...")
963
+
964
+ # Export to CSV if requested
965
+ if output_csv:
966
+ output_path = Path(output_csv)
967
+ output_path.parent.mkdir(parents=True, exist_ok=True)
968
+
969
+ with open(output_path, "w", newline="", encoding="utf-8") as f:
970
+ writer = csv.writer(f)
971
+ writer.writerow([
972
+ "Side", "Source Hash", "Title", "Match Status", "Match Type",
973
+ "Match Score", "Source Path", "Other Source Hash", "Other Title",
974
+ "Other Source Path", "Lang"
975
+ ])
976
+ for r in results:
977
+ writer.writerow([
978
+ r.side,
979
+ r.source_hash,
980
+ r.title,
981
+ r.match_status,
982
+ r.match_type or "",
983
+ f"{r.match_score:.4f}",
984
+ r.source_path or "",
985
+ r.other_source_hash or "",
986
+ r.other_title or "",
987
+ r.other_source_path or "",
988
+ r.lang or "",
989
+ ])
990
+
991
+ console.print(f"\n[green]Results exported to: {output_path}[/green]")
992
+
993
+ # Print final counts
994
+ console.print(f"\nTotal results: {len(results)}")