slideforge-studio 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1131) hide show
  1. slideforge/__init__.py +3 -0
  2. slideforge/__main__.py +3 -0
  3. slideforge/bridge/__init__.py +5 -0
  4. slideforge/bridge/core_logic.py +275 -0
  5. slideforge/bridge/llm_utils.py +178 -0
  6. slideforge/bridge/pdf_bridge.py +1367 -0
  7. slideforge/bridge/pdf_text_extractor.py +444 -0
  8. slideforge/bridge/pptx_animations.py +290 -0
  9. slideforge/bridge/pptx_exporter.py +1649 -0
  10. slideforge/bridge/processors.py +386 -0
  11. slideforge/bridge/standalone_pdf2ppt/__init__.py +23 -0
  12. slideforge/bridge/standalone_pdf2ppt/core.py +402 -0
  13. slideforge/bridge/text_utils.py +306 -0
  14. slideforge/bridge/utils.py +127 -0
  15. slideforge/bridge/vision.py +313 -0
  16. slideforge/desktop/__init__.py +1 -0
  17. slideforge/desktop/app.py +345 -0
  18. slideforge/desktop/logformat.py +14 -0
  19. slideforge/desktop/middleware.py +73 -0
  20. slideforge/desktop/paths.py +27 -0
  21. slideforge/desktop/qt_support.py +200 -0
  22. slideforge/desktop/settings.py +176 -0
  23. slideforge/desktop/share_tunnel.py +219 -0
  24. slideforge/desktop/urls.py +25 -0
  25. slideforge/desktop/views.py +41 -0
  26. slideforge/desktop/wsgi.py +7 -0
  27. slideforge/frontend/animation-demo.html +877 -0
  28. slideforge/frontend/assets/favicon.png +0 -0
  29. slideforge/frontend/assets/favicon.svg +23 -0
  30. slideforge/frontend/assets/favicon_icon.png +0 -0
  31. slideforge/frontend/assets/offline/entry-hero-office.jpg +0 -0
  32. slideforge/frontend/css/base.css +438 -0
  33. slideforge/frontend/css/components.css +4115 -0
  34. slideforge/frontend/css/dark-mode.css +1010 -0
  35. slideforge/frontend/css/layout.css +4573 -0
  36. slideforge/frontend/css/properties.css +2007 -0
  37. slideforge/frontend/css/start-screen.css +711 -0
  38. slideforge/frontend/css/styles.css +9 -0
  39. slideforge/frontend/index.html +1395 -0
  40. slideforge/frontend/js/animations/animation-auto-animate.js +456 -0
  41. slideforge/frontend/js/animations/animation-engine.js +2132 -0
  42. slideforge/frontend/js/animations/animation-export.js +764 -0
  43. slideforge/frontend/js/animations/animation-integration-examples.js +460 -0
  44. slideforge/frontend/js/animations/animation-interaction.js +335 -0
  45. slideforge/frontend/js/animations/animation-presets.js +913 -0
  46. slideforge/frontend/js/animations/animation-state.js +364 -0
  47. slideforge/frontend/js/animations/animation-utils.js +322 -0
  48. slideforge/frontend/js/annotation/ai/AnnotationAiActions.js +12 -0
  49. slideforge/frontend/js/annotation/engine/AnnotationEngine.js +12 -0
  50. slideforge/frontend/js/annotation/engine/AnnotationGeometry.js +15 -0
  51. slideforge/frontend/js/annotation/engine/AnnotationHistory.js +1 -0
  52. slideforge/frontend/js/annotation/engine/AnnotationHitTest.js +11 -0
  53. slideforge/frontend/js/annotation/engine/AnnotationSerializer.js +109 -0
  54. slideforge/frontend/js/annotation/engine/AnnotationState.js +8 -0
  55. slideforge/frontend/js/annotation/export/AnnotationPdfExporter.js +3 -0
  56. slideforge/frontend/js/annotation/export/AnnotationPngExporter.js +3 -0
  57. slideforge/frontend/js/annotation/export/AnnotationSvgExporter.js +1 -0
  58. slideforge/frontend/js/annotation/interactions/KeyboardController.js +9 -0
  59. slideforge/frontend/js/annotation/interactions/PointerController.js +1 -0
  60. slideforge/frontend/js/annotation/interactions/RadialMenuController.js +1 -0
  61. slideforge/frontend/js/annotation/interactions/SelectionController.js +5 -0
  62. slideforge/frontend/js/annotation/interactions/SnapController.js +11 -0
  63. slideforge/frontend/js/annotation/objects/objectFactory.js +51 -0
  64. slideforge/frontend/js/annotation/objects/objectMigrators.js +204 -0
  65. slideforge/frontend/js/annotation/objects/objectTypes.js +79 -0
  66. slideforge/frontend/js/annotation/presentation/LaserPointer.js +11 -0
  67. slideforge/frontend/js/annotation/presentation/PresenterAnnotationLayer.js +13 -0
  68. slideforge/frontend/js/annotation/presentation/SpotlightTool.js +5 -0
  69. slideforge/frontend/js/annotation/presentation/StrokePlayback.js +9 -0
  70. slideforge/frontend/js/annotation/renderers/CanvasLiveRenderer.js +12 -0
  71. slideforge/frontend/js/annotation/renderers/ExportRenderer.js +28 -0
  72. slideforge/frontend/js/annotation/renderers/HitTestRenderer.js +5 -0
  73. slideforge/frontend/js/annotation/renderers/SvgStaticRenderer.js +130 -0
  74. slideforge/frontend/js/annotation/tools/ArrowTool.js +1 -0
  75. slideforge/frontend/js/annotation/tools/CalloutTool.js +1 -0
  76. slideforge/frontend/js/annotation/tools/EquationMarkerTool.js +1 -0
  77. slideforge/frontend/js/annotation/tools/EraserTool.js +1 -0
  78. slideforge/frontend/js/annotation/tools/HighlighterTool.js +1 -0
  79. slideforge/frontend/js/annotation/tools/LassoTool.js +1 -0
  80. slideforge/frontend/js/annotation/tools/MoleculeHighlightTool.js +1 -0
  81. slideforge/frontend/js/annotation/tools/PathwayArrowTool.js +1 -0
  82. slideforge/frontend/js/annotation/tools/PenTool.js +1 -0
  83. slideforge/frontend/js/core/commands/ai-cleanup.js +298 -0
  84. slideforge/frontend/js/core/commands/align.js +132 -0
  85. slideforge/frontend/js/core/commands/bridge-elements.js +151 -0
  86. slideforge/frontend/js/core/commands/bridge-import.js +164 -0
  87. slideforge/frontend/js/core/commands/bridge-planning.js +156 -0
  88. slideforge/frontend/js/core/commands/bridge-slides.js +572 -0
  89. slideforge/frontend/js/core/commands/bridge-text.js +311 -0
  90. slideforge/frontend/js/core/commands/clipboard.js +508 -0
  91. slideforge/frontend/js/core/commands/command-palette.js +249 -0
  92. slideforge/frontend/js/core/commands/drawing.js +388 -0
  93. slideforge/frontend/js/core/commands/elements.js +455 -0
  94. slideforge/frontend/js/core/commands/export-import.js +153 -0
  95. slideforge/frontend/js/core/commands/file-insert.js +660 -0
  96. slideforge/frontend/js/core/commands/history.js +67 -0
  97. slideforge/frontend/js/core/commands/init.js +29 -0
  98. slideforge/frontend/js/core/commands/play-mode.js +281 -0
  99. slideforge/frontend/js/core/commands/presentation-animations.js +465 -0
  100. slideforge/frontend/js/core/commands/presentation-tools.js +605 -0
  101. slideforge/frontend/js/core/commands/presentation-viewport.js +128 -0
  102. slideforge/frontend/js/core/commands/presenter-view.js +282 -0
  103. slideforge/frontend/js/core/commands/slide-background.js +125 -0
  104. slideforge/frontend/js/core/commands/slides.js +148 -0
  105. slideforge/frontend/js/core/keyboard.js +302 -0
  106. slideforge/frontend/js/core/main.js +1056 -0
  107. slideforge/frontend/js/core/pageSetup.js +438 -0
  108. slideforge/frontend/js/core/state.js +2444 -0
  109. slideforge/frontend/js/core/workspace.js +288 -0
  110. slideforge/frontend/js/drawing/DrawingEngine.js +1162 -0
  111. slideforge/frontend/js/drawing/ExportManager.js +212 -0
  112. slideforge/frontend/js/drawing/HistoryManager.js +38 -0
  113. slideforge/frontend/js/drawing/PathSimplifier.js +36 -0
  114. slideforge/frontend/js/drawing/RoughRenderer.js +507 -0
  115. slideforge/frontend/js/drawing/StrokeRenderer.js +103 -0
  116. slideforge/frontend/js/drawing/loader.js +1059 -0
  117. slideforge/frontend/js/editor/background-3d-integration.js +467 -0
  118. slideforge/frontend/js/editor/background-3d.js +785 -0
  119. slideforge/frontend/js/editor/components.js +325 -0
  120. slideforge/frontend/js/editor/contextMenu.js +154 -0
  121. slideforge/frontend/js/editor/crop.js +334 -0
  122. slideforge/frontend/js/editor/interact.js +832 -0
  123. slideforge/frontend/js/editor/masterSlides.js +313 -0
  124. slideforge/frontend/js/editor/preset-optimizer.js +298 -0
  125. slideforge/frontend/js/editor/render/chart-config.js +157 -0
  126. slideforge/frontend/js/editor/render/connectors.js +621 -0
  127. slideforge/frontend/js/editor/render/element-media.js +456 -0
  128. slideforge/frontend/js/editor/render/element-text.js +650 -0
  129. slideforge/frontend/js/editor/render/elements.js +695 -0
  130. slideforge/frontend/js/editor/render/init.js +47 -0
  131. slideforge/frontend/js/editor/render/media-sync.js +318 -0
  132. slideforge/frontend/js/editor/render/pdf.js +307 -0
  133. slideforge/frontend/js/editor/render/shape-catalog.js +87 -0
  134. slideforge/frontend/js/editor/render/shapes.js +389 -0
  135. slideforge/frontend/js/editor/render/slide-previews.js +398 -0
  136. slideforge/frontend/js/editor/render/slides.js +302 -0
  137. slideforge/frontend/js/editor/render/structured-editor.js +932 -0
  138. slideforge/frontend/js/editor/render/tables.js +461 -0
  139. slideforge/frontend/js/editor/render/theme-motion.js +862 -0
  140. slideforge/frontend/js/editor/render/whiteboard-layer.js +200 -0
  141. slideforge/frontend/js/editor/slide-presets/apply.js +277 -0
  142. slideforge/frontend/js/editor/slide-presets/catalog.js +1036 -0
  143. slideforge/frontend/js/editor/slide-presets/export.js +468 -0
  144. slideforge/frontend/js/editor/slide-presets/helpers.js +287 -0
  145. slideforge/frontend/js/editor/slide-presets/init.js +19 -0
  146. slideforge/frontend/js/editor/slide-presets/metadata.js +406 -0
  147. slideforge/frontend/js/editor/slide-presets/modern-helpers.js +236 -0
  148. slideforge/frontend/js/editor/slide-presets/modern.js +763 -0
  149. slideforge/frontend/js/editor/slide-presets/palette-ui.js +156 -0
  150. slideforge/frontend/js/editor/slide-presets/professional.js +469 -0
  151. slideforge/frontend/js/editor/slide-presets/science-helpers.js +309 -0
  152. slideforge/frontend/js/editor/slide-presets/science.js +989 -0
  153. slideforge/frontend/js/editor/theme-optimizer.js +289 -0
  154. slideforge/frontend/js/editor/themes.js +1187 -0
  155. slideforge/frontend/js/editor/zoom.js +402 -0
  156. slideforge/frontend/js/embeds/htmlEmbed.js +419 -0
  157. slideforge/frontend/js/embeds/moleculeEmbed.js +1204 -0
  158. slideforge/frontend/js/export/equation-image.js +162 -0
  159. slideforge/frontend/js/export/export.js +3476 -0
  160. slideforge/frontend/js/export/importPptx.js +791 -0
  161. slideforge/frontend/js/graph/ai/GraphAiActions.js +40 -0
  162. slideforge/frontend/js/graph/ai/GraphNarrativeBuilder.js +11 -0
  163. slideforge/frontend/js/graph/ai/GraphSimplifier.js +5 -0
  164. slideforge/frontend/js/graph/ai/MethodsTextToWorkflow.js +7 -0
  165. slideforge/frontend/js/graph/ai/PromptToGraph.js +26 -0
  166. slideforge/frontend/js/graph/animation/GraphAnimationPresets.js +7 -0
  167. slideforge/frontend/js/graph/animation/GraphFocusEngine.js +11 -0
  168. slideforge/frontend/js/graph/animation/GraphPlaybackEngine.js +13 -0
  169. slideforge/frontend/js/graph/animation/GraphTimeline.js +11 -0
  170. slideforge/frontend/js/graph/core/GraphController.js +15 -0
  171. slideforge/frontend/js/graph/core/GraphDocument.js +2 -0
  172. slideforge/frontend/js/graph/core/GraphHistory.js +20 -0
  173. slideforge/frontend/js/graph/core/GraphScene.js +21 -0
  174. slideforge/frontend/js/graph/core/GraphSelection.js +5 -0
  175. slideforge/frontend/js/graph/core/GraphStore.js +16 -0
  176. slideforge/frontend/js/graph/exporters/GraphPdfExporter.js +3 -0
  177. slideforge/frontend/js/graph/exporters/GraphPptxExporter.js +3 -0
  178. slideforge/frontend/js/graph/exporters/GraphSvgExporter.js +19 -0
  179. slideforge/frontend/js/graph/exporters/GraphVideoExporter.js +3 -0
  180. slideforge/frontend/js/graph/interactions/ConnectorController.js +6 -0
  181. slideforge/frontend/js/graph/interactions/ContextMenu.js +10 -0
  182. slideforge/frontend/js/graph/interactions/GraphSearch.js +7 -0
  183. slideforge/frontend/js/graph/interactions/InlineEditor.js +1 -0
  184. slideforge/frontend/js/graph/interactions/KeyboardController.js +8 -0
  185. slideforge/frontend/js/graph/interactions/PointerController.js +1 -0
  186. slideforge/frontend/js/graph/interactions/SnapController.js +8 -0
  187. slideforge/frontend/js/graph/layouts/ConstraintLayoutAdapter.js +5 -0
  188. slideforge/frontend/js/graph/layouts/DagreLayoutAdapter.js +5 -0
  189. slideforge/frontend/js/graph/layouts/EdgeRouter.js +10 -0
  190. slideforge/frontend/js/graph/layouts/ElkLayoutAdapter.js +9 -0
  191. slideforge/frontend/js/graph/layouts/ForceLayoutAdapter.js +5 -0
  192. slideforge/frontend/js/graph/layouts/LayoutManager.js +44 -0
  193. slideforge/frontend/js/graph/layouts/LayoutWorker.js +16 -0
  194. slideforge/frontend/js/graph/parsers/MermaidExporter.js +12 -0
  195. slideforge/frontend/js/graph/parsers/MermaidImporter.js +38 -0
  196. slideforge/frontend/js/graph/presentation/GraphPresenter.js +7 -0
  197. slideforge/frontend/js/graph/presentation/GraphStepSequencer.js +11 -0
  198. slideforge/frontend/js/graph/presentation/GraphStoryMode.js +7 -0
  199. slideforge/frontend/js/graph/primitives/PrimitiveRegistry.js +22 -0
  200. slideforge/frontend/js/graph/primitives/scientific/molecularDynamics.js +52 -0
  201. slideforge/frontend/js/graph/renderers/CanvasGraphRenderer.js +18 -0
  202. slideforge/frontend/js/graph/renderers/ExportSvgRenderer.js +8 -0
  203. slideforge/frontend/js/graph/renderers/HitTestRenderer.js +22 -0
  204. slideforge/frontend/js/graph/renderers/HybridGraphRenderer.js +13 -0
  205. slideforge/frontend/js/graph/renderers/PresentationRenderer.js +8 -0
  206. slideforge/frontend/js/graph/renderers/SvgGraphRenderer.js +15 -0
  207. slideforge/frontend/js/graph/schema/edgeTypes.js +34 -0
  208. slideforge/frontend/js/graph/schema/graphSchema.js +178 -0
  209. slideforge/frontend/js/graph/schema/migrations.js +81 -0
  210. slideforge/frontend/js/graph/schema/nodeTypes.js +168 -0
  211. slideforge/frontend/js/graph/schema/semanticRoles.js +33 -0
  212. slideforge/frontend/js/graph/schema/validationRules.js +24 -0
  213. slideforge/frontend/js/mermaid/mermaid-dialog.js +1849 -0
  214. slideforge/frontend/js/mermaid/mermaid-document.js +253 -0
  215. slideforge/frontend/js/mermaid/mermaid-engine.js +199 -0
  216. slideforge/frontend/js/mermaid/mermaid-export.js +23 -0
  217. slideforge/frontend/js/mermaid/mermaid-graph.js +1001 -0
  218. slideforge/frontend/js/mermaid/mermaid-object.js +266 -0
  219. slideforge/frontend/js/mermaid/mermaid-templates.js +165 -0
  220. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/architecture-I3QFYML2-BNJ4OOAP.mjs +1 -0
  221. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/architectureDiagram-MJF3Q7TB.mjs +36 -0
  222. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/blockDiagram-56QMO3LT.mjs +121 -0
  223. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/c4Diagram-ET6I6IV7.mjs +10 -0
  224. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-3YFHLAX3.mjs +1 -0
  225. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-44WTIFVW.mjs +1 -0
  226. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-4KE642ED.mjs +1 -0
  227. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-54VS5GG6.mjs +1 -0
  228. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-5ZJXQJOJ.mjs +14 -0
  229. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-6BY5RJGC.mjs +1 -0
  230. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-6CAUGOKZ.mjs +1 -0
  231. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-7CIZ4OX7.mjs +164 -0
  232. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-7LIB5WBN.mjs +37 -0
  233. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-AFC6EC46.mjs +66 -0
  234. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-D4BOYBYT.mjs +1 -0
  235. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-E7A2AWYO.mjs +15 -0
  236. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-EBEPM36I.mjs +1 -0
  237. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-FASC7IG4.mjs +1 -0
  238. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-GTKDMUJJ.mjs +1 -0
  239. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-GUUIKZ7L.mjs +1 -0
  240. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-LDJ5YOBB.mjs +220 -0
  241. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-LM6QDVU5.mjs +1 -0
  242. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-OR2G2HG5.mjs +64 -0
  243. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-P7KHIEPL.mjs +1 -0
  244. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-PWCSEZZ4.mjs +24 -0
  245. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-QJHISCT3.mjs +1 -0
  246. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-QTE35VYX.mjs +3 -0
  247. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-S67DUUA5.mjs +1 -0
  248. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-SDI2JJQM.mjs +1 -0
  249. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-SLI2Z62V.mjs +1 -0
  250. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-TI4EEUUG.mjs +1 -0
  251. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-UENA7NWE.mjs +2 -0
  252. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-VSLJSFIP.mjs +1 -0
  253. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-XVEYI5JQ.mjs +125 -0
  254. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-YPUTD6PB.mjs +1 -0
  255. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZN7TASNU.mjs +1 -0
  256. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZUCAP7FR.mjs +4 -0
  257. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/classDiagram-QKCJ6K63.mjs +1 -0
  258. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/classDiagram-v2-2JHJIACG.mjs +1 -0
  259. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/dagre-RF25WEIW.mjs +4 -0
  260. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/diagram-D46ISNHH.mjs +24 -0
  261. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/erDiagram-YH7IYH2C.mjs +51 -0
  262. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/flowDiagram-7QVFXBRT.mjs +160 -0
  263. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/ganttDiagram-7KUJEIIK.mjs +257 -0
  264. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/gitGraph-YCYPL57B-MEVJTYR7.mjs +1 -0
  265. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-H7KF5RUN.mjs +65 -0
  266. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/info-46DW6VJ7-CQJS2HF5.mjs +1 -0
  267. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/infoDiagram-FIZOUH6F.mjs +2 -0
  268. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/journeyDiagram-CDK7QRCM.mjs +139 -0
  269. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/kanban-definition-NEOEHSGR.mjs +88 -0
  270. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/katex-SWYD7GD6.mjs +261 -0
  271. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/mindmap-definition-55KDPWGP.mjs +95 -0
  272. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/packet-W2GHVCYJ-EO6UC2GD.mjs +1 -0
  273. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/pie-BEWT4RHE-B6EMOCE6.mjs +1 -0
  274. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/pieDiagram-AYPHHONI.mjs +30 -0
  275. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/quadrantDiagram-QXTGSWY2.mjs +7 -0
  276. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/requirementDiagram-5YXTYXBB.mjs +52 -0
  277. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/sankeyDiagram-T6MWQN27.mjs +8 -0
  278. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/sequenceDiagram-EUUTCHHZ.mjs +122 -0
  279. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/stateDiagram-U67EPTRE.mjs +1 -0
  280. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-HMOQ2HEA.mjs +1 -0
  281. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/timeline-definition-2YBW2SKD.mjs +61 -0
  282. slideforge/frontend/js/mermaid/vendor/mermaid/chunks/mermaid.esm.min/xychartDiagram-A2DIST7P.mjs +7 -0
  283. slideforge/frontend/js/mermaid/vendor/mermaid/mermaid.esm.min.mjs +14 -0
  284. slideforge/frontend/js/properties/animation-config.js +132 -0
  285. slideforge/frontend/js/properties/core.js +96 -0
  286. slideforge/frontend/js/properties/dom-sync.js +397 -0
  287. slideforge/frontend/js/properties/floating-toolbars.js +621 -0
  288. slideforge/frontend/js/properties/init.js +9 -0
  289. slideforge/frontend/js/properties/layers.js +205 -0
  290. slideforge/frontend/js/properties/outline-controls.js +119 -0
  291. slideforge/frontend/js/properties/panel.js +921 -0
  292. slideforge/frontend/js/properties/panels/animations.js +1331 -0
  293. slideforge/frontend/js/properties/panels/chart.js +351 -0
  294. slideforge/frontend/js/properties/panels/connector.js +257 -0
  295. slideforge/frontend/js/properties/panels/equation.js +72 -0
  296. slideforge/frontend/js/properties/panels/html.js +60 -0
  297. slideforge/frontend/js/properties/panels/image.js +210 -0
  298. slideforge/frontend/js/properties/panels/mermaid.js +128 -0
  299. slideforge/frontend/js/properties/panels/molecule.js +576 -0
  300. slideforge/frontend/js/properties/panels/pdf.js +147 -0
  301. slideforge/frontend/js/properties/panels/shape.js +253 -0
  302. slideforge/frontend/js/properties/panels/sketch.js +76 -0
  303. slideforge/frontend/js/properties/panels/table.js +456 -0
  304. slideforge/frontend/js/properties/panels/text.js +667 -0
  305. slideforge/frontend/js/properties/panels/video.js +495 -0
  306. slideforge/frontend/js/properties/selection.js +340 -0
  307. slideforge/frontend/js/properties/slide-panel.js +551 -0
  308. slideforge/frontend/js/properties/style.js +122 -0
  309. slideforge/frontend/js/properties/table-selection.js +95 -0
  310. slideforge/frontend/js/properties/text-formatting.js +517 -0
  311. slideforge/frontend/js/rendering/export/ExportController.js +91 -0
  312. slideforge/frontend/js/rendering/export/ExportProfiles.js +42 -0
  313. slideforge/frontend/js/rendering/renderers/SvgRenderer.js +462 -0
  314. slideforge/frontend/js/rendering/scene/RenderScene.js +20 -0
  315. slideforge/frontend/js/rendering/scene/SceneCompiler.js +245 -0
  316. slideforge/frontend/js/rendering/serializers/SvgSerializer.js +35 -0
  317. slideforge/frontend/js/rendering/typography/TextLayoutEngine.js +44 -0
  318. slideforge/frontend/js/rendering/validation/ExportValidator.js +44 -0
  319. slideforge/frontend/js/rendering/vector/ShapeCompiler.js +68 -0
  320. slideforge/frontend/js/sketch/sketchMode.js +371 -0
  321. slideforge/frontend/js/sketch/sketchRenderer.js +103 -0
  322. slideforge/frontend/js/text/document/TextDocument.js +492 -0
  323. slideforge/frontend/js/text/textContent.js +1053 -0
  324. slideforge/frontend/js/text/textLayout.js +134 -0
  325. slideforge/frontend/js/text/textSelection.js +242 -0
  326. slideforge/frontend/js/ui/app-theme.js +33 -0
  327. slideforge/frontend/js/ui/prompt-dialog.js +105 -0
  328. slideforge/frontend/js/ui/select-menu.js +197 -0
  329. slideforge/frontend/js/ui/share.js +313 -0
  330. slideforge/frontend/js/ui/start-screen.js +439 -0
  331. slideforge/frontend/js/ui/timeline-editor.js +1385 -0
  332. slideforge/frontend/static/.gitkeep +1 -0
  333. slideforge/frontend/vendor/chart.js/chart.umd.min.js +14 -0
  334. slideforge/frontend/vendor/dompurify/purify.min.js +3 -0
  335. slideforge/frontend/vendor/excalidraw/LICENSE +21 -0
  336. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Assistant-Bold.woff2 +0 -0
  337. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Assistant-Medium.woff2 +0 -0
  338. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Assistant-Regular.woff2 +0 -0
  339. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
  340. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Cascadia.woff2 +0 -0
  341. slideforge/frontend/vendor/excalidraw/excalidraw-assets/Virgil.woff2 +0 -0
  342. slideforge/frontend/vendor/excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js +2 -0
  343. slideforge/frontend/vendor/excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js.LICENSE.txt +32 -0
  344. slideforge/frontend/vendor/excalidraw/excalidraw.production.min.js +2 -0
  345. slideforge/frontend/vendor/excalidraw/excalidraw.production.min.js.LICENSE.txt +31 -0
  346. slideforge/frontend/vendor/file-saver/FileSaver.min.js +3 -0
  347. slideforge/frontend/vendor/fontawesome/css/all.min.css +9 -0
  348. slideforge/frontend/vendor/fontawesome/js/all.min.js +6 -0
  349. slideforge/frontend/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  350. slideforge/frontend/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  351. slideforge/frontend/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  352. slideforge/frontend/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  353. slideforge/frontend/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  354. slideforge/frontend/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  355. slideforge/frontend/vendor/fontawesome/webfonts/fa-v4compatibility.ttf +0 -0
  356. slideforge/frontend/vendor/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
  357. slideforge/frontend/vendor/fonts/fonts.css +66 -0
  358. slideforge/frontend/vendor/fontsource/bangers/400.css +29 -0
  359. slideforge/frontend/vendor/fontsource/bangers/LICENSE +93 -0
  360. slideforge/frontend/vendor/fontsource/bangers/files/bangers-latin-400-normal.woff +0 -0
  361. slideforge/frontend/vendor/fontsource/bangers/files/bangers-latin-400-normal.woff2 +0 -0
  362. slideforge/frontend/vendor/fontsource/bangers/files/bangers-latin-ext-400-normal.woff +0 -0
  363. slideforge/frontend/vendor/fontsource/bangers/files/bangers-latin-ext-400-normal.woff2 +0 -0
  364. slideforge/frontend/vendor/fontsource/bangers/files/bangers-vietnamese-400-normal.woff +0 -0
  365. slideforge/frontend/vendor/fontsource/bangers/files/bangers-vietnamese-400-normal.woff2 +0 -0
  366. slideforge/frontend/vendor/fontsource/caveat/400.css +39 -0
  367. slideforge/frontend/vendor/fontsource/caveat/600.css +39 -0
  368. slideforge/frontend/vendor/fontsource/caveat/700.css +39 -0
  369. slideforge/frontend/vendor/fontsource/caveat/LICENSE +93 -0
  370. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-400-normal.woff +0 -0
  371. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-400-normal.woff2 +0 -0
  372. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-600-normal.woff +0 -0
  373. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-600-normal.woff2 +0 -0
  374. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-700-normal.woff +0 -0
  375. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-700-normal.woff2 +0 -0
  376. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-400-normal.woff +0 -0
  377. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-400-normal.woff2 +0 -0
  378. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-600-normal.woff +0 -0
  379. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-600-normal.woff2 +0 -0
  380. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-700-normal.woff +0 -0
  381. slideforge/frontend/vendor/fontsource/caveat/files/caveat-cyrillic-ext-700-normal.woff2 +0 -0
  382. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-400-normal.woff +0 -0
  383. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-400-normal.woff2 +0 -0
  384. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-600-normal.woff +0 -0
  385. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-600-normal.woff2 +0 -0
  386. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-700-normal.woff +0 -0
  387. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-700-normal.woff2 +0 -0
  388. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-400-normal.woff +0 -0
  389. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-400-normal.woff2 +0 -0
  390. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-600-normal.woff +0 -0
  391. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-600-normal.woff2 +0 -0
  392. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-700-normal.woff +0 -0
  393. slideforge/frontend/vendor/fontsource/caveat/files/caveat-latin-ext-700-normal.woff2 +0 -0
  394. slideforge/frontend/vendor/fontsource/comic-neue/400.css +9 -0
  395. slideforge/frontend/vendor/fontsource/comic-neue/700.css +9 -0
  396. slideforge/frontend/vendor/fontsource/comic-neue/LICENSE +93 -0
  397. slideforge/frontend/vendor/fontsource/comic-neue/files/comic-neue-latin-400-normal.woff +0 -0
  398. slideforge/frontend/vendor/fontsource/comic-neue/files/comic-neue-latin-400-normal.woff2 +0 -0
  399. slideforge/frontend/vendor/fontsource/comic-neue/files/comic-neue-latin-700-normal.woff +0 -0
  400. slideforge/frontend/vendor/fontsource/comic-neue/files/comic-neue-latin-700-normal.woff2 +0 -0
  401. slideforge/frontend/vendor/fontsource/dm-sans/400.css +19 -0
  402. slideforge/frontend/vendor/fontsource/dm-sans/500.css +19 -0
  403. slideforge/frontend/vendor/fontsource/dm-sans/700.css +19 -0
  404. slideforge/frontend/vendor/fontsource/dm-sans/LICENSE +93 -0
  405. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-400-normal.woff +0 -0
  406. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-400-normal.woff2 +0 -0
  407. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-500-normal.woff +0 -0
  408. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-500-normal.woff2 +0 -0
  409. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-700-normal.woff +0 -0
  410. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-700-normal.woff2 +0 -0
  411. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-400-normal.woff +0 -0
  412. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-400-normal.woff2 +0 -0
  413. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-500-normal.woff +0 -0
  414. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-500-normal.woff2 +0 -0
  415. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-700-normal.woff +0 -0
  416. slideforge/frontend/vendor/fontsource/dm-sans/files/dm-sans-latin-ext-700-normal.woff2 +0 -0
  417. slideforge/frontend/vendor/fontsource/fraunces/500.css +29 -0
  418. slideforge/frontend/vendor/fontsource/fraunces/700.css +29 -0
  419. slideforge/frontend/vendor/fontsource/fraunces/LICENSE +93 -0
  420. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-500-normal.woff +0 -0
  421. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-500-normal.woff2 +0 -0
  422. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-700-normal.woff +0 -0
  423. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-700-normal.woff2 +0 -0
  424. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-ext-500-normal.woff +0 -0
  425. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-ext-500-normal.woff2 +0 -0
  426. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-ext-700-normal.woff +0 -0
  427. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-latin-ext-700-normal.woff2 +0 -0
  428. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-vietnamese-500-normal.woff +0 -0
  429. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-vietnamese-500-normal.woff2 +0 -0
  430. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-vietnamese-700-normal.woff +0 -0
  431. slideforge/frontend/vendor/fontsource/fraunces/files/fraunces-vietnamese-700-normal.woff2 +0 -0
  432. slideforge/frontend/vendor/fontsource/fredoka/400.css +29 -0
  433. slideforge/frontend/vendor/fontsource/fredoka/500.css +29 -0
  434. slideforge/frontend/vendor/fontsource/fredoka/600.css +29 -0
  435. slideforge/frontend/vendor/fontsource/fredoka/700.css +29 -0
  436. slideforge/frontend/vendor/fontsource/fredoka/LICENSE +93 -0
  437. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-400-normal.woff +0 -0
  438. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-400-normal.woff2 +0 -0
  439. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-500-normal.woff +0 -0
  440. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-500-normal.woff2 +0 -0
  441. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-600-normal.woff +0 -0
  442. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-600-normal.woff2 +0 -0
  443. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-700-normal.woff +0 -0
  444. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-hebrew-700-normal.woff2 +0 -0
  445. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-400-normal.woff +0 -0
  446. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-400-normal.woff2 +0 -0
  447. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-500-normal.woff +0 -0
  448. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-500-normal.woff2 +0 -0
  449. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-600-normal.woff +0 -0
  450. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-600-normal.woff2 +0 -0
  451. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-700-normal.woff +0 -0
  452. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-700-normal.woff2 +0 -0
  453. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-400-normal.woff +0 -0
  454. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-400-normal.woff2 +0 -0
  455. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-500-normal.woff +0 -0
  456. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-500-normal.woff2 +0 -0
  457. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-600-normal.woff +0 -0
  458. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-600-normal.woff2 +0 -0
  459. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-700-normal.woff +0 -0
  460. slideforge/frontend/vendor/fontsource/fredoka/files/fredoka-latin-ext-700-normal.woff2 +0 -0
  461. slideforge/frontend/vendor/fontsource/inter/300.css +69 -0
  462. slideforge/frontend/vendor/fontsource/inter/400.css +69 -0
  463. slideforge/frontend/vendor/fontsource/inter/500.css +69 -0
  464. slideforge/frontend/vendor/fontsource/inter/600.css +69 -0
  465. slideforge/frontend/vendor/fontsource/inter/700.css +69 -0
  466. slideforge/frontend/vendor/fontsource/inter/LICENSE +93 -0
  467. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-300-normal.woff +0 -0
  468. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-300-normal.woff2 +0 -0
  469. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-400-normal.woff +0 -0
  470. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-400-normal.woff2 +0 -0
  471. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-500-normal.woff +0 -0
  472. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-500-normal.woff2 +0 -0
  473. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-600-normal.woff +0 -0
  474. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-600-normal.woff2 +0 -0
  475. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-700-normal.woff +0 -0
  476. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-700-normal.woff2 +0 -0
  477. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-300-normal.woff +0 -0
  478. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-300-normal.woff2 +0 -0
  479. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-400-normal.woff +0 -0
  480. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-400-normal.woff2 +0 -0
  481. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-500-normal.woff +0 -0
  482. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-500-normal.woff2 +0 -0
  483. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-600-normal.woff +0 -0
  484. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-600-normal.woff2 +0 -0
  485. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-700-normal.woff +0 -0
  486. slideforge/frontend/vendor/fontsource/inter/files/inter-cyrillic-ext-700-normal.woff2 +0 -0
  487. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-300-normal.woff +0 -0
  488. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-300-normal.woff2 +0 -0
  489. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-400-normal.woff +0 -0
  490. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-400-normal.woff2 +0 -0
  491. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-500-normal.woff +0 -0
  492. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-500-normal.woff2 +0 -0
  493. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-600-normal.woff +0 -0
  494. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-600-normal.woff2 +0 -0
  495. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-700-normal.woff +0 -0
  496. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-700-normal.woff2 +0 -0
  497. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-300-normal.woff +0 -0
  498. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-300-normal.woff2 +0 -0
  499. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-400-normal.woff +0 -0
  500. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-400-normal.woff2 +0 -0
  501. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-500-normal.woff +0 -0
  502. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-500-normal.woff2 +0 -0
  503. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-600-normal.woff +0 -0
  504. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-600-normal.woff2 +0 -0
  505. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-700-normal.woff +0 -0
  506. slideforge/frontend/vendor/fontsource/inter/files/inter-greek-ext-700-normal.woff2 +0 -0
  507. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-300-normal.woff +0 -0
  508. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-300-normal.woff2 +0 -0
  509. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-400-normal.woff +0 -0
  510. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-400-normal.woff2 +0 -0
  511. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-500-normal.woff +0 -0
  512. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-500-normal.woff2 +0 -0
  513. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-600-normal.woff +0 -0
  514. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-600-normal.woff2 +0 -0
  515. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-700-normal.woff +0 -0
  516. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-700-normal.woff2 +0 -0
  517. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-300-normal.woff +0 -0
  518. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-300-normal.woff2 +0 -0
  519. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-400-normal.woff +0 -0
  520. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-400-normal.woff2 +0 -0
  521. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-500-normal.woff +0 -0
  522. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-500-normal.woff2 +0 -0
  523. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-600-normal.woff +0 -0
  524. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-600-normal.woff2 +0 -0
  525. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-700-normal.woff +0 -0
  526. slideforge/frontend/vendor/fontsource/inter/files/inter-latin-ext-700-normal.woff2 +0 -0
  527. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-300-normal.woff +0 -0
  528. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-300-normal.woff2 +0 -0
  529. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-400-normal.woff +0 -0
  530. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-400-normal.woff2 +0 -0
  531. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-500-normal.woff +0 -0
  532. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-500-normal.woff2 +0 -0
  533. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-600-normal.woff +0 -0
  534. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-600-normal.woff2 +0 -0
  535. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-700-normal.woff +0 -0
  536. slideforge/frontend/vendor/fontsource/inter/files/inter-vietnamese-700-normal.woff2 +0 -0
  537. slideforge/frontend/vendor/fontsource/lora/400.css +69 -0
  538. slideforge/frontend/vendor/fontsource/lora/500.css +69 -0
  539. slideforge/frontend/vendor/fontsource/lora/600.css +69 -0
  540. slideforge/frontend/vendor/fontsource/lora/700.css +69 -0
  541. slideforge/frontend/vendor/fontsource/lora/LICENSE +93 -0
  542. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-400-normal.woff +0 -0
  543. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-400-normal.woff2 +0 -0
  544. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-500-normal.woff +0 -0
  545. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-500-normal.woff2 +0 -0
  546. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-600-normal.woff +0 -0
  547. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-600-normal.woff2 +0 -0
  548. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-700-normal.woff +0 -0
  549. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-700-normal.woff2 +0 -0
  550. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-400-normal.woff +0 -0
  551. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-400-normal.woff2 +0 -0
  552. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-500-normal.woff +0 -0
  553. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-500-normal.woff2 +0 -0
  554. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-600-normal.woff +0 -0
  555. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-600-normal.woff2 +0 -0
  556. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-700-normal.woff +0 -0
  557. slideforge/frontend/vendor/fontsource/lora/files/lora-cyrillic-ext-700-normal.woff2 +0 -0
  558. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-400-normal.woff +0 -0
  559. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-400-normal.woff2 +0 -0
  560. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-500-normal.woff +0 -0
  561. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-500-normal.woff2 +0 -0
  562. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-600-normal.woff +0 -0
  563. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-600-normal.woff2 +0 -0
  564. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-700-normal.woff +0 -0
  565. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-700-normal.woff2 +0 -0
  566. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-400-normal.woff +0 -0
  567. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-400-normal.woff2 +0 -0
  568. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-500-normal.woff +0 -0
  569. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-500-normal.woff2 +0 -0
  570. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-600-normal.woff +0 -0
  571. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-600-normal.woff2 +0 -0
  572. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-700-normal.woff +0 -0
  573. slideforge/frontend/vendor/fontsource/lora/files/lora-latin-ext-700-normal.woff2 +0 -0
  574. slideforge/frontend/vendor/fontsource/lora/files/lora-math-400-normal.woff +0 -0
  575. slideforge/frontend/vendor/fontsource/lora/files/lora-math-400-normal.woff2 +0 -0
  576. slideforge/frontend/vendor/fontsource/lora/files/lora-math-500-normal.woff +0 -0
  577. slideforge/frontend/vendor/fontsource/lora/files/lora-math-500-normal.woff2 +0 -0
  578. slideforge/frontend/vendor/fontsource/lora/files/lora-math-600-normal.woff +0 -0
  579. slideforge/frontend/vendor/fontsource/lora/files/lora-math-600-normal.woff2 +0 -0
  580. slideforge/frontend/vendor/fontsource/lora/files/lora-math-700-normal.woff +0 -0
  581. slideforge/frontend/vendor/fontsource/lora/files/lora-math-700-normal.woff2 +0 -0
  582. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-400-normal.woff +0 -0
  583. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-400-normal.woff2 +0 -0
  584. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-500-normal.woff +0 -0
  585. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-500-normal.woff2 +0 -0
  586. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-600-normal.woff +0 -0
  587. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-600-normal.woff2 +0 -0
  588. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-700-normal.woff +0 -0
  589. slideforge/frontend/vendor/fontsource/lora/files/lora-symbols-700-normal.woff2 +0 -0
  590. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-400-normal.woff +0 -0
  591. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-400-normal.woff2 +0 -0
  592. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-500-normal.woff +0 -0
  593. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-500-normal.woff2 +0 -0
  594. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-600-normal.woff +0 -0
  595. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-600-normal.woff2 +0 -0
  596. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-700-normal.woff +0 -0
  597. slideforge/frontend/vendor/fontsource/lora/files/lora-vietnamese-700-normal.woff2 +0 -0
  598. slideforge/frontend/vendor/fontsource/manrope/400.css +59 -0
  599. slideforge/frontend/vendor/fontsource/manrope/500.css +59 -0
  600. slideforge/frontend/vendor/fontsource/manrope/600.css +59 -0
  601. slideforge/frontend/vendor/fontsource/manrope/700.css +59 -0
  602. slideforge/frontend/vendor/fontsource/manrope/800.css +59 -0
  603. slideforge/frontend/vendor/fontsource/manrope/LICENSE +93 -0
  604. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-400-normal.woff +0 -0
  605. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-400-normal.woff2 +0 -0
  606. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-500-normal.woff +0 -0
  607. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-500-normal.woff2 +0 -0
  608. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-600-normal.woff +0 -0
  609. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-600-normal.woff2 +0 -0
  610. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-700-normal.woff +0 -0
  611. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-700-normal.woff2 +0 -0
  612. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-800-normal.woff +0 -0
  613. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-800-normal.woff2 +0 -0
  614. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-400-normal.woff +0 -0
  615. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-400-normal.woff2 +0 -0
  616. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-500-normal.woff +0 -0
  617. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-500-normal.woff2 +0 -0
  618. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-600-normal.woff +0 -0
  619. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-600-normal.woff2 +0 -0
  620. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-700-normal.woff +0 -0
  621. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-700-normal.woff2 +0 -0
  622. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-800-normal.woff +0 -0
  623. slideforge/frontend/vendor/fontsource/manrope/files/manrope-cyrillic-ext-800-normal.woff2 +0 -0
  624. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-400-normal.woff +0 -0
  625. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-400-normal.woff2 +0 -0
  626. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-500-normal.woff +0 -0
  627. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-500-normal.woff2 +0 -0
  628. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-600-normal.woff +0 -0
  629. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-600-normal.woff2 +0 -0
  630. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-700-normal.woff +0 -0
  631. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-700-normal.woff2 +0 -0
  632. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-800-normal.woff +0 -0
  633. slideforge/frontend/vendor/fontsource/manrope/files/manrope-greek-800-normal.woff2 +0 -0
  634. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-400-normal.woff +0 -0
  635. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-400-normal.woff2 +0 -0
  636. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-500-normal.woff +0 -0
  637. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-500-normal.woff2 +0 -0
  638. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-600-normal.woff +0 -0
  639. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-600-normal.woff2 +0 -0
  640. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-700-normal.woff +0 -0
  641. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-700-normal.woff2 +0 -0
  642. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-800-normal.woff +0 -0
  643. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-800-normal.woff2 +0 -0
  644. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-400-normal.woff +0 -0
  645. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-400-normal.woff2 +0 -0
  646. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-500-normal.woff +0 -0
  647. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-500-normal.woff2 +0 -0
  648. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-600-normal.woff +0 -0
  649. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-600-normal.woff2 +0 -0
  650. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-700-normal.woff +0 -0
  651. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-700-normal.woff2 +0 -0
  652. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-800-normal.woff +0 -0
  653. slideforge/frontend/vendor/fontsource/manrope/files/manrope-latin-ext-800-normal.woff2 +0 -0
  654. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-400-normal.woff +0 -0
  655. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-400-normal.woff2 +0 -0
  656. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-500-normal.woff +0 -0
  657. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-500-normal.woff2 +0 -0
  658. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-600-normal.woff +0 -0
  659. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-600-normal.woff2 +0 -0
  660. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-700-normal.woff +0 -0
  661. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-700-normal.woff2 +0 -0
  662. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-800-normal.woff +0 -0
  663. slideforge/frontend/vendor/fontsource/manrope/files/manrope-vietnamese-800-normal.woff2 +0 -0
  664. slideforge/frontend/vendor/fontsource/merriweather/400.css +49 -0
  665. slideforge/frontend/vendor/fontsource/merriweather/700.css +49 -0
  666. slideforge/frontend/vendor/fontsource/merriweather/LICENSE +93 -0
  667. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-400-normal.woff +0 -0
  668. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-400-normal.woff2 +0 -0
  669. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-700-normal.woff +0 -0
  670. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-700-normal.woff2 +0 -0
  671. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-ext-400-normal.woff +0 -0
  672. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-ext-400-normal.woff2 +0 -0
  673. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-ext-700-normal.woff +0 -0
  674. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-cyrillic-ext-700-normal.woff2 +0 -0
  675. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-400-normal.woff +0 -0
  676. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-400-normal.woff2 +0 -0
  677. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-700-normal.woff +0 -0
  678. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-700-normal.woff2 +0 -0
  679. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-ext-400-normal.woff +0 -0
  680. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-ext-400-normal.woff2 +0 -0
  681. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-ext-700-normal.woff +0 -0
  682. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-latin-ext-700-normal.woff2 +0 -0
  683. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-vietnamese-400-normal.woff +0 -0
  684. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-vietnamese-400-normal.woff2 +0 -0
  685. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-vietnamese-700-normal.woff +0 -0
  686. slideforge/frontend/vendor/fontsource/merriweather/files/merriweather-vietnamese-700-normal.woff2 +0 -0
  687. slideforge/frontend/vendor/fontsource/montserrat/500.css +49 -0
  688. slideforge/frontend/vendor/fontsource/montserrat/600.css +49 -0
  689. slideforge/frontend/vendor/fontsource/montserrat/700.css +49 -0
  690. slideforge/frontend/vendor/fontsource/montserrat/800.css +49 -0
  691. slideforge/frontend/vendor/fontsource/montserrat/LICENSE +93 -0
  692. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-500-normal.woff +0 -0
  693. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-500-normal.woff2 +0 -0
  694. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-600-normal.woff +0 -0
  695. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-600-normal.woff2 +0 -0
  696. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-700-normal.woff +0 -0
  697. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-700-normal.woff2 +0 -0
  698. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-800-normal.woff +0 -0
  699. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-800-normal.woff2 +0 -0
  700. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-500-normal.woff +0 -0
  701. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-500-normal.woff2 +0 -0
  702. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-600-normal.woff +0 -0
  703. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-600-normal.woff2 +0 -0
  704. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-700-normal.woff +0 -0
  705. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-700-normal.woff2 +0 -0
  706. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-800-normal.woff +0 -0
  707. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-cyrillic-ext-800-normal.woff2 +0 -0
  708. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-500-normal.woff +0 -0
  709. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-500-normal.woff2 +0 -0
  710. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-600-normal.woff +0 -0
  711. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-600-normal.woff2 +0 -0
  712. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-700-normal.woff +0 -0
  713. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-700-normal.woff2 +0 -0
  714. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-800-normal.woff +0 -0
  715. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-800-normal.woff2 +0 -0
  716. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-500-normal.woff +0 -0
  717. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-500-normal.woff2 +0 -0
  718. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-600-normal.woff +0 -0
  719. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-600-normal.woff2 +0 -0
  720. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-700-normal.woff +0 -0
  721. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-700-normal.woff2 +0 -0
  722. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-800-normal.woff +0 -0
  723. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-latin-ext-800-normal.woff2 +0 -0
  724. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-500-normal.woff +0 -0
  725. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-500-normal.woff2 +0 -0
  726. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-600-normal.woff +0 -0
  727. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-600-normal.woff2 +0 -0
  728. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-700-normal.woff +0 -0
  729. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-700-normal.woff2 +0 -0
  730. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-800-normal.woff +0 -0
  731. slideforge/frontend/vendor/fontsource/montserrat/files/montserrat-vietnamese-800-normal.woff2 +0 -0
  732. slideforge/frontend/vendor/fontsource/newsreader/500.css +29 -0
  733. slideforge/frontend/vendor/fontsource/newsreader/700.css +29 -0
  734. slideforge/frontend/vendor/fontsource/newsreader/LICENSE +93 -0
  735. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-500-normal.woff +0 -0
  736. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-500-normal.woff2 +0 -0
  737. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-700-normal.woff +0 -0
  738. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-700-normal.woff2 +0 -0
  739. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-ext-500-normal.woff +0 -0
  740. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-ext-500-normal.woff2 +0 -0
  741. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-ext-700-normal.woff +0 -0
  742. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-latin-ext-700-normal.woff2 +0 -0
  743. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-vietnamese-500-normal.woff +0 -0
  744. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-vietnamese-500-normal.woff2 +0 -0
  745. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-vietnamese-700-normal.woff +0 -0
  746. slideforge/frontend/vendor/fontsource/newsreader/files/newsreader-vietnamese-700-normal.woff2 +0 -0
  747. slideforge/frontend/vendor/fontsource/nunito/400.css +49 -0
  748. slideforge/frontend/vendor/fontsource/nunito/600.css +49 -0
  749. slideforge/frontend/vendor/fontsource/nunito/700.css +49 -0
  750. slideforge/frontend/vendor/fontsource/nunito/800.css +49 -0
  751. slideforge/frontend/vendor/fontsource/nunito/LICENSE +93 -0
  752. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-400-normal.woff +0 -0
  753. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-400-normal.woff2 +0 -0
  754. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-600-normal.woff +0 -0
  755. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-600-normal.woff2 +0 -0
  756. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-700-normal.woff +0 -0
  757. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-700-normal.woff2 +0 -0
  758. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-800-normal.woff +0 -0
  759. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-800-normal.woff2 +0 -0
  760. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-400-normal.woff +0 -0
  761. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-400-normal.woff2 +0 -0
  762. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-600-normal.woff +0 -0
  763. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-600-normal.woff2 +0 -0
  764. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-700-normal.woff +0 -0
  765. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-700-normal.woff2 +0 -0
  766. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-800-normal.woff +0 -0
  767. slideforge/frontend/vendor/fontsource/nunito/files/nunito-cyrillic-ext-800-normal.woff2 +0 -0
  768. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-400-normal.woff +0 -0
  769. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-400-normal.woff2 +0 -0
  770. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-600-normal.woff +0 -0
  771. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-600-normal.woff2 +0 -0
  772. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-700-normal.woff +0 -0
  773. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-700-normal.woff2 +0 -0
  774. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-800-normal.woff +0 -0
  775. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-800-normal.woff2 +0 -0
  776. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-400-normal.woff +0 -0
  777. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-400-normal.woff2 +0 -0
  778. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-600-normal.woff +0 -0
  779. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-600-normal.woff2 +0 -0
  780. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-700-normal.woff +0 -0
  781. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-700-normal.woff2 +0 -0
  782. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-800-normal.woff +0 -0
  783. slideforge/frontend/vendor/fontsource/nunito/files/nunito-latin-ext-800-normal.woff2 +0 -0
  784. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-400-normal.woff +0 -0
  785. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-400-normal.woff2 +0 -0
  786. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-600-normal.woff +0 -0
  787. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-600-normal.woff2 +0 -0
  788. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-700-normal.woff +0 -0
  789. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-700-normal.woff2 +0 -0
  790. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-800-normal.woff +0 -0
  791. slideforge/frontend/vendor/fontsource/nunito/files/nunito-vietnamese-800-normal.woff2 +0 -0
  792. slideforge/frontend/vendor/fontsource/outfit/400.css +19 -0
  793. slideforge/frontend/vendor/fontsource/outfit/500.css +19 -0
  794. slideforge/frontend/vendor/fontsource/outfit/600.css +19 -0
  795. slideforge/frontend/vendor/fontsource/outfit/700.css +19 -0
  796. slideforge/frontend/vendor/fontsource/outfit/LICENSE +93 -0
  797. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-400-normal.woff +0 -0
  798. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-400-normal.woff2 +0 -0
  799. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-500-normal.woff +0 -0
  800. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-500-normal.woff2 +0 -0
  801. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-600-normal.woff +0 -0
  802. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-600-normal.woff2 +0 -0
  803. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-700-normal.woff +0 -0
  804. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-700-normal.woff2 +0 -0
  805. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-400-normal.woff +0 -0
  806. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-400-normal.woff2 +0 -0
  807. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-500-normal.woff +0 -0
  808. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-500-normal.woff2 +0 -0
  809. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-600-normal.woff +0 -0
  810. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-600-normal.woff2 +0 -0
  811. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-700-normal.woff +0 -0
  812. slideforge/frontend/vendor/fontsource/outfit/files/outfit-latin-ext-700-normal.woff2 +0 -0
  813. slideforge/frontend/vendor/fontsource/permanent-marker/400.css +9 -0
  814. slideforge/frontend/vendor/fontsource/permanent-marker/LICENSE +201 -0
  815. slideforge/frontend/vendor/fontsource/permanent-marker/files/permanent-marker-latin-400-normal.woff +0 -0
  816. slideforge/frontend/vendor/fontsource/permanent-marker/files/permanent-marker-latin-400-normal.woff2 +0 -0
  817. slideforge/frontend/vendor/fontsource/playfair-display/500.css +39 -0
  818. slideforge/frontend/vendor/fontsource/playfair-display/600.css +39 -0
  819. slideforge/frontend/vendor/fontsource/playfair-display/700.css +39 -0
  820. slideforge/frontend/vendor/fontsource/playfair-display/800.css +39 -0
  821. slideforge/frontend/vendor/fontsource/playfair-display/LICENSE +93 -0
  822. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-500-normal.woff +0 -0
  823. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-500-normal.woff2 +0 -0
  824. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-600-normal.woff +0 -0
  825. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-600-normal.woff2 +0 -0
  826. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-700-normal.woff +0 -0
  827. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-700-normal.woff2 +0 -0
  828. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-800-normal.woff +0 -0
  829. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-cyrillic-800-normal.woff2 +0 -0
  830. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-500-normal.woff +0 -0
  831. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-500-normal.woff2 +0 -0
  832. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-600-normal.woff +0 -0
  833. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-600-normal.woff2 +0 -0
  834. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-700-normal.woff +0 -0
  835. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-700-normal.woff2 +0 -0
  836. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-800-normal.woff +0 -0
  837. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-800-normal.woff2 +0 -0
  838. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-500-normal.woff +0 -0
  839. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-500-normal.woff2 +0 -0
  840. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-600-normal.woff +0 -0
  841. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-600-normal.woff2 +0 -0
  842. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-700-normal.woff +0 -0
  843. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-700-normal.woff2 +0 -0
  844. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-800-normal.woff +0 -0
  845. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-latin-ext-800-normal.woff2 +0 -0
  846. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-500-normal.woff +0 -0
  847. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-500-normal.woff2 +0 -0
  848. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-600-normal.woff +0 -0
  849. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-600-normal.woff2 +0 -0
  850. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-700-normal.woff +0 -0
  851. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-700-normal.woff2 +0 -0
  852. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-800-normal.woff +0 -0
  853. slideforge/frontend/vendor/fontsource/playfair-display/files/playfair-display-vietnamese-800-normal.woff2 +0 -0
  854. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/400.css +39 -0
  855. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/500.css +39 -0
  856. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/600.css +39 -0
  857. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/700.css +39 -0
  858. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/800.css +39 -0
  859. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/LICENSE +93 -0
  860. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-400-normal.woff +0 -0
  861. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-400-normal.woff2 +0 -0
  862. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-500-normal.woff +0 -0
  863. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-500-normal.woff2 +0 -0
  864. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-600-normal.woff +0 -0
  865. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-600-normal.woff2 +0 -0
  866. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-700-normal.woff +0 -0
  867. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-700-normal.woff2 +0 -0
  868. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-800-normal.woff +0 -0
  869. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-cyrillic-ext-800-normal.woff2 +0 -0
  870. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-400-normal.woff +0 -0
  871. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-400-normal.woff2 +0 -0
  872. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-500-normal.woff +0 -0
  873. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-500-normal.woff2 +0 -0
  874. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-600-normal.woff +0 -0
  875. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-600-normal.woff2 +0 -0
  876. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-700-normal.woff +0 -0
  877. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-700-normal.woff2 +0 -0
  878. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-800-normal.woff +0 -0
  879. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-800-normal.woff2 +0 -0
  880. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-400-normal.woff +0 -0
  881. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-400-normal.woff2 +0 -0
  882. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-500-normal.woff +0 -0
  883. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-500-normal.woff2 +0 -0
  884. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-600-normal.woff +0 -0
  885. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-600-normal.woff2 +0 -0
  886. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-700-normal.woff +0 -0
  887. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-700-normal.woff2 +0 -0
  888. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-800-normal.woff +0 -0
  889. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-latin-ext-800-normal.woff2 +0 -0
  890. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-400-normal.woff +0 -0
  891. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-400-normal.woff2 +0 -0
  892. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-500-normal.woff +0 -0
  893. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-500-normal.woff2 +0 -0
  894. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-600-normal.woff +0 -0
  895. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-600-normal.woff2 +0 -0
  896. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-700-normal.woff +0 -0
  897. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-700-normal.woff2 +0 -0
  898. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-800-normal.woff +0 -0
  899. slideforge/frontend/vendor/fontsource/plus-jakarta-sans/files/plus-jakarta-sans-vietnamese-800-normal.woff2 +0 -0
  900. slideforge/frontend/vendor/fontsource/poppins/400.css +29 -0
  901. slideforge/frontend/vendor/fontsource/poppins/500.css +29 -0
  902. slideforge/frontend/vendor/fontsource/poppins/600.css +29 -0
  903. slideforge/frontend/vendor/fontsource/poppins/700.css +29 -0
  904. slideforge/frontend/vendor/fontsource/poppins/LICENSE +93 -0
  905. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-400-normal.woff +0 -0
  906. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-400-normal.woff2 +0 -0
  907. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-500-normal.woff +0 -0
  908. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-500-normal.woff2 +0 -0
  909. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-600-normal.woff +0 -0
  910. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-600-normal.woff2 +0 -0
  911. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-700-normal.woff +0 -0
  912. slideforge/frontend/vendor/fontsource/poppins/files/poppins-devanagari-700-normal.woff2 +0 -0
  913. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-400-normal.woff +0 -0
  914. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-400-normal.woff2 +0 -0
  915. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-500-normal.woff +0 -0
  916. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-500-normal.woff2 +0 -0
  917. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-600-normal.woff +0 -0
  918. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-600-normal.woff2 +0 -0
  919. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-700-normal.woff +0 -0
  920. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-700-normal.woff2 +0 -0
  921. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-400-normal.woff +0 -0
  922. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-400-normal.woff2 +0 -0
  923. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-500-normal.woff +0 -0
  924. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-500-normal.woff2 +0 -0
  925. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-600-normal.woff +0 -0
  926. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-600-normal.woff2 +0 -0
  927. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-700-normal.woff +0 -0
  928. slideforge/frontend/vendor/fontsource/poppins/files/poppins-latin-ext-700-normal.woff2 +0 -0
  929. slideforge/frontend/vendor/fontsource/shrikhand/400.css +29 -0
  930. slideforge/frontend/vendor/fontsource/shrikhand/LICENSE +93 -0
  931. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-gujarati-400-normal.woff +0 -0
  932. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-gujarati-400-normal.woff2 +0 -0
  933. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-latin-400-normal.woff +0 -0
  934. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-latin-400-normal.woff2 +0 -0
  935. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-latin-ext-400-normal.woff +0 -0
  936. slideforge/frontend/vendor/fontsource/shrikhand/files/shrikhand-latin-ext-400-normal.woff2 +0 -0
  937. slideforge/frontend/vendor/fontsource/space-grotesk/400.css +29 -0
  938. slideforge/frontend/vendor/fontsource/space-grotesk/500.css +29 -0
  939. slideforge/frontend/vendor/fontsource/space-grotesk/700.css +29 -0
  940. slideforge/frontend/vendor/fontsource/space-grotesk/LICENSE +93 -0
  941. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-400-normal.woff +0 -0
  942. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-400-normal.woff2 +0 -0
  943. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-500-normal.woff +0 -0
  944. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-500-normal.woff2 +0 -0
  945. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-700-normal.woff +0 -0
  946. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-700-normal.woff2 +0 -0
  947. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-400-normal.woff +0 -0
  948. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-400-normal.woff2 +0 -0
  949. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-500-normal.woff +0 -0
  950. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-500-normal.woff2 +0 -0
  951. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-700-normal.woff +0 -0
  952. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-latin-ext-700-normal.woff2 +0 -0
  953. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-400-normal.woff +0 -0
  954. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-400-normal.woff2 +0 -0
  955. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-500-normal.woff +0 -0
  956. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-500-normal.woff2 +0 -0
  957. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-700-normal.woff +0 -0
  958. slideforge/frontend/vendor/fontsource/space-grotesk/files/space-grotesk-vietnamese-700-normal.woff2 +0 -0
  959. slideforge/frontend/vendor/fontsource/work-sans/400.css +29 -0
  960. slideforge/frontend/vendor/fontsource/work-sans/500.css +29 -0
  961. slideforge/frontend/vendor/fontsource/work-sans/700.css +29 -0
  962. slideforge/frontend/vendor/fontsource/work-sans/LICENSE +93 -0
  963. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-400-normal.woff +0 -0
  964. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-400-normal.woff2 +0 -0
  965. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-500-normal.woff +0 -0
  966. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-500-normal.woff2 +0 -0
  967. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-700-normal.woff +0 -0
  968. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-700-normal.woff2 +0 -0
  969. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-400-normal.woff +0 -0
  970. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-400-normal.woff2 +0 -0
  971. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-500-normal.woff +0 -0
  972. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-500-normal.woff2 +0 -0
  973. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-700-normal.woff +0 -0
  974. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-latin-ext-700-normal.woff2 +0 -0
  975. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-400-normal.woff +0 -0
  976. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-400-normal.woff2 +0 -0
  977. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-500-normal.woff +0 -0
  978. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-500-normal.woff2 +0 -0
  979. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-700-normal.woff +0 -0
  980. slideforge/frontend/vendor/fontsource/work-sans/files/work-sans-vietnamese-700-normal.woff2 +0 -0
  981. slideforge/frontend/vendor/html2canvas/html2canvas.min.js +20 -0
  982. slideforge/frontend/vendor/interactjs/interact.min.js +4 -0
  983. slideforge/frontend/vendor/jspdf/jspdf.umd.min.js +398 -0
  984. slideforge/frontend/vendor/jszip/jszip.min.js +13 -0
  985. slideforge/frontend/vendor/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  986. slideforge/frontend/vendor/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  987. slideforge/frontend/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  988. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  989. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  990. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  991. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  992. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  993. slideforge/frontend/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  994. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  995. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  996. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  997. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  998. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  999. slideforge/frontend/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  1000. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  1001. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  1002. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  1003. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  1004. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  1005. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  1006. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  1007. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  1008. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  1009. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  1010. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  1011. slideforge/frontend/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  1012. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  1013. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  1014. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  1015. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  1016. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  1017. slideforge/frontend/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  1018. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  1019. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  1020. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  1021. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  1022. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  1023. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  1024. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  1025. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  1026. slideforge/frontend/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  1027. slideforge/frontend/vendor/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  1028. slideforge/frontend/vendor/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  1029. slideforge/frontend/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  1030. slideforge/frontend/vendor/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  1031. slideforge/frontend/vendor/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  1032. slideforge/frontend/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  1033. slideforge/frontend/vendor/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  1034. slideforge/frontend/vendor/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  1035. slideforge/frontend/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  1036. slideforge/frontend/vendor/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  1037. slideforge/frontend/vendor/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  1038. slideforge/frontend/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  1039. slideforge/frontend/vendor/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  1040. slideforge/frontend/vendor/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  1041. slideforge/frontend/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  1042. slideforge/frontend/vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  1043. slideforge/frontend/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  1044. slideforge/frontend/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  1045. slideforge/frontend/vendor/katex/katex.min.css +1 -0
  1046. slideforge/frontend/vendor/katex/katex.min.js +1 -0
  1047. slideforge/frontend/vendor/ngl/ngl.js +88 -0
  1048. slideforge/frontend/vendor/pptxgenjs/pptxgen.bundle.js +3 -0
  1049. slideforge/frontend/vendor/react/LICENSE +21 -0
  1050. slideforge/frontend/vendor/react/LICENSE-react-dom +21 -0
  1051. slideforge/frontend/vendor/react/react-dom.production.min.js +267 -0
  1052. slideforge/frontend/vendor/react/react.production.min.js +31 -0
  1053. slideforge/frontend/vendor/reveal.js/reveal.css +8 -0
  1054. slideforge/frontend/vendor/reveal.js/reveal.js +9 -0
  1055. slideforge/frontend/vendor/reveal.js/theme/beige.css +364 -0
  1056. slideforge/frontend/vendor/reveal.js/theme/black.css +357 -0
  1057. slideforge/frontend/vendor/reveal.js/theme/blood.css +390 -0
  1058. slideforge/frontend/vendor/reveal.js/theme/fonts/league-gothic/LICENSE +2 -0
  1059. slideforge/frontend/vendor/reveal.js/theme/fonts/league-gothic/league-gothic.css +10 -0
  1060. slideforge/frontend/vendor/reveal.js/theme/fonts/league-gothic/league-gothic.eot +0 -0
  1061. slideforge/frontend/vendor/reveal.js/theme/fonts/league-gothic/league-gothic.ttf +0 -0
  1062. slideforge/frontend/vendor/reveal.js/theme/fonts/league-gothic/league-gothic.woff +0 -0
  1063. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/LICENSE +45 -0
  1064. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-italic.eot +0 -0
  1065. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  1066. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-italic.woff +0 -0
  1067. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-regular.eot +0 -0
  1068. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  1069. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-regular.woff +0 -0
  1070. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  1071. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  1072. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  1073. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  1074. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  1075. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  1076. slideforge/frontend/vendor/reveal.js/theme/fonts/source-sans-pro/source-sans-pro.css +39 -0
  1077. slideforge/frontend/vendor/reveal.js/theme/league.css +366 -0
  1078. slideforge/frontend/vendor/reveal.js/theme/moon.css +365 -0
  1079. slideforge/frontend/vendor/reveal.js/theme/night.css +358 -0
  1080. slideforge/frontend/vendor/reveal.js/theme/serif.css +361 -0
  1081. slideforge/frontend/vendor/reveal.js/theme/simple.css +360 -0
  1082. slideforge/frontend/vendor/reveal.js/theme/sky.css +368 -0
  1083. slideforge/frontend/vendor/reveal.js/theme/solarized.css +361 -0
  1084. slideforge/frontend/vendor/reveal.js/theme/white.css +357 -0
  1085. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/blackboard.png +0 -0
  1086. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-black.png +0 -0
  1087. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-blue.png +0 -0
  1088. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-green.png +0 -0
  1089. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-orange.png +0 -0
  1090. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-purple.png +0 -0
  1091. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-red.png +0 -0
  1092. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/boardmarker-yellow.png +0 -0
  1093. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-blue.png +0 -0
  1094. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-green.png +0 -0
  1095. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-orange.png +0 -0
  1096. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-purple.png +0 -0
  1097. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-red.png +0 -0
  1098. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-white.png +0 -0
  1099. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/chalk-yellow.png +0 -0
  1100. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/sponge.png +0 -0
  1101. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/img/whiteboard.png +0 -0
  1102. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/plugin.js +1976 -0
  1103. slideforge/frontend/vendor/reveal.js-plugins/chalkboard/style.css +44 -0
  1104. slideforge/frontend/vendor/tailwind/tailwind.cdn.js +83 -0
  1105. slideforge/frontend/vendor/three/three.min.js +6 -0
  1106. slideforge/studio/__init__.py +1 -0
  1107. slideforge/studio/admin.py +19 -0
  1108. slideforge/studio/apps.py +7 -0
  1109. slideforge/studio/asset_cleanup.py +79 -0
  1110. slideforge/studio/auth_views.py +86 -0
  1111. slideforge/studio/frontend_files.py +16 -0
  1112. slideforge/studio/management/__init__.py +0 -0
  1113. slideforge/studio/management/commands/__init__.py +0 -0
  1114. slideforge/studio/management/commands/cleanup_assets.py +21 -0
  1115. slideforge/studio/middleware.py +25 -0
  1116. slideforge/studio/migrations/0001_initial.py +59 -0
  1117. slideforge/studio/migrations/0002_asset_video_type.py +26 -0
  1118. slideforge/studio/migrations/0003_asset_molecule_type.py +27 -0
  1119. slideforge/studio/migrations/0004_share_link.py +24 -0
  1120. slideforge/studio/migrations/__init__.py +0 -0
  1121. slideforge/studio/models.py +85 -0
  1122. slideforge/studio/sharing.py +187 -0
  1123. slideforge/studio/state_validation.py +92 -0
  1124. slideforge/studio/urls.py +33 -0
  1125. slideforge/studio/views.py +977 -0
  1126. slideforge_studio-0.1.0.dist-info/METADATA +198 -0
  1127. slideforge_studio-0.1.0.dist-info/RECORD +1131 -0
  1128. slideforge_studio-0.1.0.dist-info/WHEEL +4 -0
  1129. slideforge_studio-0.1.0.dist-info/entry_points.txt +5 -0
  1130. slideforge_studio-0.1.0.dist-info/licenses/LICENSE +21 -0
  1131. slideforge_studio-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +3805 -0
slideforge/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """SlideForge: presentation editor (web app and desktop app share this package)."""
2
+
3
+ __version__ = "0.1.0"
slideforge/__main__.py ADDED
@@ -0,0 +1,3 @@
1
+ from slideforge.desktop.app import main
2
+
3
+ raise SystemExit(main())
@@ -0,0 +1,5 @@
1
+ # PPTMaker Bridge Submodule
2
+ # Provides the PDF2PPTxBridge class for converting PDFs into PPTMaker JSON.
3
+ from .pdf_bridge import PDF2PPTxBridge, build_provider
4
+
5
+ __all__ = ["PDF2PPTxBridge", "build_provider"]
@@ -0,0 +1,275 @@
1
+ import re
2
+
3
+ _MAX_FIGURES_PER_SLIDE = 3
4
+
5
+
6
+ def _tokenize(text: str) -> set[str]:
7
+ return set(re.findall(r"\w+", (text or "").lower()))
8
+
9
+
10
+ _LOW_VALUE_FIGURE_TERMS = {
11
+ "publisher",
12
+ "publishing",
13
+ "journal",
14
+ "copyright",
15
+ "license",
16
+ "logo",
17
+ "authors",
18
+ "author",
19
+ "affiliation",
20
+ "abstract",
21
+ "introduction",
22
+ "received",
23
+ "accepted",
24
+ "supplementary",
25
+ "supporting",
26
+ "table of contents",
27
+ "graphical abstract",
28
+ "cover",
29
+ "frontispiece",
30
+ "view article",
31
+ "downloaded",
32
+ "email",
33
+ "orcid",
34
+ }
35
+ _HIGH_VALUE_FIGURE_TYPES = {"graph", "chart", "diagram", "microscopy", "table", "equation"}
36
+
37
+
38
+ def _figure_text_blob(figure: dict) -> str:
39
+ vision = figure.get("vision", {}) or {}
40
+ return " ".join(
41
+ part
42
+ for part in [
43
+ figure.get("caption", ""),
44
+ vision.get("caption_enhanced", ""),
45
+ vision.get("key_finding", ""),
46
+ " ".join(vision.get("axis_labels", []) or []),
47
+ ]
48
+ if part
49
+ )
50
+
51
+
52
+ def _figure_quality_score(figure: dict) -> float:
53
+ vision = figure.get("vision", {}) or {}
54
+ screen = figure.get("screen", {}) or {}
55
+ text_blob = _figure_text_blob(figure).lower()
56
+ score = 0.0
57
+
58
+ if figure.get("low_value_visual"):
59
+ score -= 1.5
60
+ if isinstance(screen, dict) and not screen.get("is_figure") and float(screen.get("confidence") or 0.0) >= 0.55:
61
+ score -= 1.2
62
+ if isinstance(screen, dict):
63
+ screen_reason = str(screen.get("brief_reason") or "").lower()
64
+ if any(term in screen_reason for term in _LOW_VALUE_FIGURE_TERMS):
65
+ score -= 0.9
66
+
67
+ if any(term in text_blob for term in _LOW_VALUE_FIGURE_TERMS):
68
+ score -= 0.75
69
+ if vision.get("figure_type") in _HIGH_VALUE_FIGURE_TYPES:
70
+ score += 0.45
71
+ if vision.get("axis_labels"):
72
+ score += 0.2
73
+ if vision.get("key_finding"):
74
+ score += 0.15
75
+ if re.search(r"\b(fig(?:ure)?|chart|plot|diagram|scheme|table)\b", text_blob):
76
+ score += 0.15
77
+ if re.search(r"\b(aip publishing|elsevier|springer|wiley|acs publications)\b", text_blob):
78
+ score -= 1.0
79
+
80
+ figure_id = str(figure.get("id", "")).lower()
81
+ if (
82
+ "picture" in figure_id
83
+ and not vision.get("axis_labels")
84
+ and vision.get("figure_type") not in _HIGH_VALUE_FIGURE_TYPES
85
+ ):
86
+ score -= 0.2
87
+
88
+ return score
89
+
90
+
91
+ def _figure_match_score(text: str, figure: dict) -> float:
92
+ text_tokens = _tokenize(text)
93
+ caption_tokens = _tokenize(figure.get("caption", ""))
94
+ finding_tokens = _tokenize(figure.get("vision", {}).get("key_finding", ""))
95
+ fig_tokens = caption_tokens | finding_tokens
96
+ if not text_tokens or not fig_tokens:
97
+ return 0.0
98
+ overlap = len(text_tokens & fig_tokens)
99
+ return overlap / max(1, min(len(text_tokens), len(fig_tokens)))
100
+
101
+
102
+ def _serialize_figure(f: dict) -> dict:
103
+ return {
104
+ "id": f["id"],
105
+ "caption": f.get("caption", ""),
106
+ "finding": f.get("vision", {}).get("key_finding", ""),
107
+ "type": f.get("vision", {}).get("figure_type", ""),
108
+ "path": f.get("path"),
109
+ }
110
+
111
+
112
+ def _slide_content_text(title: str, points: list[dict]) -> str:
113
+ content = [title]
114
+ for p in points:
115
+ content.append(p.get("heading", ""))
116
+ content.extend(p.get("content", []))
117
+ return " ".join(content)
118
+
119
+
120
+ def _rank_figures_for_text(text: str, figures: list[dict], limit: int = 3) -> list[dict]:
121
+ ranked = sorted(
122
+ figures,
123
+ key=lambda figure: (_figure_match_score(text, figure), _figure_quality_score(figure)),
124
+ reverse=True,
125
+ )
126
+ return ranked[: min(limit, len(ranked))]
127
+
128
+
129
+ def _assign_figures_to_slides(slides: list[dict], candidate_figures: list[dict]) -> dict[int, list[str]]:
130
+ if not slides or not candidate_figures:
131
+ return {}
132
+
133
+ slide_texts = {
134
+ idx: _slide_content_text(slide.get("title", ""), slide.get("points", [])) for idx, slide in enumerate(slides)
135
+ }
136
+ valid_figures = [figure for figure in candidate_figures if _figure_quality_score(figure) >= -0.8]
137
+ if not valid_figures:
138
+ return {idx: [] for idx in range(len(slides))}
139
+
140
+ all_pairs = []
141
+ for idx, slide_text in slide_texts.items():
142
+ for figure in valid_figures:
143
+ match_score = _figure_match_score(slide_text, figure)
144
+ quality_score = _figure_quality_score(figure)
145
+ all_pairs.append((idx, figure["id"], match_score, quality_score, match_score + (quality_score * 0.35)))
146
+ all_pairs.sort(key=lambda item: item[4], reverse=True)
147
+
148
+ assignments = {idx: [] for idx in range(len(slides))}
149
+ figure_use_counts = {figure["id"]: 0 for figure in valid_figures}
150
+
151
+ for idx, slide in enumerate(slides):
152
+ fids = slide.get("fig_ids", [])
153
+ if not fids and slide.get("fig_id"):
154
+ fids = [slide.get("fig_id")]
155
+ for fid in fids:
156
+ if fid and fid in figure_use_counts and figure_use_counts[fid] == 0:
157
+ if fid not in assignments[idx]:
158
+ assignments[idx].append(fid)
159
+ figure_use_counts[fid] += 1
160
+
161
+ for idx, figure_id, score, _quality_score, combined_score in all_pairs:
162
+ if assignments[idx] or figure_use_counts[figure_id] > 0:
163
+ continue
164
+ if score < 0.1 or combined_score < 0.08:
165
+ continue
166
+ assignments[idx].append(figure_id)
167
+ figure_use_counts[figure_id] += 1
168
+
169
+ # Cover high-value figures at least once before allowing repeats.
170
+ high_value_figures = sorted(
171
+ valid_figures,
172
+ key=lambda figure: _figure_quality_score(figure),
173
+ reverse=True,
174
+ )
175
+ for figure in high_value_figures:
176
+ figure_id = figure["id"]
177
+ if figure_use_counts[figure_id] > 0:
178
+ continue
179
+ best = None
180
+ for idx, pair_figure_id, score, quality_score, combined_score in all_pairs:
181
+ if pair_figure_id != figure_id:
182
+ continue
183
+ if len(assignments[idx]) >= _MAX_FIGURES_PER_SLIDE:
184
+ continue
185
+ candidate = (combined_score, score, quality_score, idx)
186
+ if best is None or candidate > best:
187
+ best = candidate
188
+ if best and (best[1] >= 0.08 or best[2] >= 0.25):
189
+ idx = best[3]
190
+ assignments[idx].append(figure_id)
191
+ figure_use_counts[figure_id] += 1
192
+
193
+ for idx, figure_id, score, _quality_score, combined_score in all_pairs:
194
+ if len(assignments[idx]) >= _MAX_FIGURES_PER_SLIDE:
195
+ continue
196
+ if figure_id in assignments[idx]:
197
+ continue
198
+ if figure_use_counts[figure_id] >= 1:
199
+ continue
200
+ if score < 0.18 or combined_score < 0.18:
201
+ continue
202
+ assignments[idx].append(figure_id)
203
+ figure_use_counts[figure_id] += 1
204
+
205
+ # If there are more slides than figures, allow a small number of highly relevant repeats.
206
+ repeat_cap = 2 if len(slides) > len(valid_figures) else 1
207
+ for idx, figure_id, score, quality_score, combined_score in all_pairs:
208
+ if assignments[idx] or figure_use_counts[figure_id] >= repeat_cap:
209
+ continue
210
+ if score < 0.28 or combined_score < 0.24 or quality_score < 0.1:
211
+ continue
212
+ assignments[idx].append(figure_id)
213
+ figure_use_counts[figure_id] += 1
214
+
215
+ # Attach remaining important figures to the least-loaded relevant slide, but never logos/junk.
216
+ for figure in valid_figures:
217
+ figure_id = figure["id"]
218
+ if figure_use_counts[figure_id] > 0:
219
+ continue
220
+ if _figure_quality_score(figure) < 0.15:
221
+ continue
222
+
223
+ assigned = False
224
+ for idx, pair_figure_id, score, quality_score, _combined_score in all_pairs:
225
+ if pair_figure_id != figure_id:
226
+ continue
227
+ if figure_id in assignments[idx]:
228
+ assigned = True
229
+ break
230
+ if len(assignments[idx]) >= _MAX_FIGURES_PER_SLIDE:
231
+ continue
232
+ if score < 0.06 and quality_score < 0.25:
233
+ continue
234
+ assignments[idx].append(figure_id)
235
+ figure_use_counts[figure_id] += 1
236
+ assigned = True
237
+ break
238
+
239
+ if assigned:
240
+ continue
241
+
242
+ fallback_idx = min(assignments, key=lambda slide_idx: (len(assignments[slide_idx]), slide_idx))
243
+ if figure_id not in assignments[fallback_idx]:
244
+ assignments[fallback_idx].append(figure_id)
245
+ figure_use_counts[figure_id] += 1
246
+
247
+ return assignments
248
+
249
+
250
+ def _rank_equations_for_text(text: str, equations: list[dict], limit: int = 3) -> list[dict]:
251
+ def _equation_text(entry: dict) -> str:
252
+ return " ".join(
253
+ part for part in [entry.get("label", ""), entry.get("latex", ""), entry.get("text", "")] if part
254
+ )
255
+
256
+ def _equation_match_score(slide_text: str, equation: dict) -> float:
257
+ equation_tokens = _tokenize(_equation_text(equation))
258
+ slide_tokens = _tokenize(slide_text)
259
+ if not slide_tokens or not equation_tokens:
260
+ return 0.0
261
+ overlap = len(slide_tokens & equation_tokens)
262
+ return overlap / max(1, min(len(slide_tokens), len(equation_tokens)))
263
+
264
+ ranked = sorted(equations, key=lambda equation: _equation_match_score(text, equation), reverse=True)
265
+ return ranked[: min(limit, len(ranked))]
266
+
267
+
268
+ def _serialize_equation(entry: dict) -> dict:
269
+ return {
270
+ "page": entry.get("page"),
271
+ "label": entry.get("label", ""),
272
+ "latex": entry.get("latex", ""),
273
+ "text": entry.get("text", ""),
274
+ "path": entry.get("path"),
275
+ }
@@ -0,0 +1,178 @@
1
+ # import json
2
+ import os
3
+ import re
4
+
5
+ import requests
6
+
7
+
8
+ from .standalone_pdf2ppt import (
9
+ GeminiProvider,
10
+ GroqProvider,
11
+ OllamaProvider,
12
+ SmartFallbackProvider,
13
+ )
14
+ from .utils import _parse_jsonish
15
+ from .vision import _available_vision_model
16
+
17
+ # Configuration comes from the environment; slideforge.settings loads config.env from the data directory.
18
+
19
+ _OLLAMA_BASE = os.getenv("OLLAMA_BASE_URL", "http://127.0.0.1:11434")
20
+ # _TEXT_MODEL_PRIORITY = ["llama3.1:8b", "qwen2.5:7b", "llama3:latest"]
21
+ _TEXT_MODEL_PRIORITY = [
22
+ "qwen2.5:7b",
23
+ "llama3.1:8b",
24
+ "llama3:latest",
25
+ "gemma4:latest",
26
+ "gemma4:31b",
27
+ ]
28
+
29
+
30
+ def _available_ollama_models() -> set[str]:
31
+ """Return installed Ollama model names, including tagless aliases."""
32
+ try:
33
+ resp = requests.get(f"{_OLLAMA_BASE}/api/tags", timeout=5)
34
+ resp.raise_for_status()
35
+ models = set()
36
+ for item in resp.json().get("models", []):
37
+ name = item.get("name", "").strip()
38
+ if not name:
39
+ continue
40
+ models.add(name)
41
+ models.add(name.split(":", 1)[0])
42
+ return models
43
+ except Exception:
44
+ return set()
45
+
46
+
47
+ def _choose_text_model() -> str | None:
48
+ configured = os.getenv("PPTMAKER_TEXT_MODEL", "").strip()
49
+ if configured:
50
+ return configured
51
+ available = _available_ollama_models()
52
+ for model in _TEXT_MODEL_PRIORITY:
53
+ if model in available:
54
+ return model
55
+ base = model.split(":", 1)[0]
56
+ if base in available:
57
+ return model if ":" in model else base
58
+ return None
59
+
60
+
61
+ def _ollama_text_options() -> dict:
62
+ try:
63
+ num_ctx = int(os.getenv("PPTMAKER_OLLAMA_NUM_CTX", "4096"))
64
+ except ValueError:
65
+ num_ctx = 4096
66
+ try:
67
+ num_predict = int(os.getenv("PPTMAKER_OLLAMA_NUM_PREDICT", "800"))
68
+ except ValueError:
69
+ num_predict = 800
70
+ return {
71
+ "num_ctx": max(2048, num_ctx),
72
+ "num_predict": max(128, num_predict),
73
+ "temperature": float(os.getenv("PPTMAKER_OLLAMA_TEMPERATURE", "0.15")),
74
+ "top_p": float(os.getenv("PPTMAKER_OLLAMA_TOP_P", "0.9")),
75
+ }
76
+
77
+
78
+ def _validate_local_models() -> tuple[str, str]:
79
+ """Require both a local vision model and a local text model."""
80
+ text_model = _choose_text_model()
81
+ if not text_model:
82
+ raise RuntimeError(
83
+ "No compatible Ollama text model installed. Install one of: qwen2.5:7b, llama3.1:8b, llama3, gemma4:latest, gemma4:31b."
84
+ )
85
+
86
+ vision_model = os.getenv("OLLAMA_VISION_MODEL") or _available_vision_model() # type: ignore
87
+ if not vision_model:
88
+ raise RuntimeError(
89
+ "No compatible Ollama vision model installed. "
90
+ "Install one of: qwen2.5-vl, llama3.2-vision, minicpm-v, llava."
91
+ )
92
+
93
+ return text_model, vision_model
94
+
95
+
96
+ def _unload_ollama_models():
97
+ """Tells Ollama to unload all models from GPU memory to free up VRAM for Marker."""
98
+ ollama_base = os.getenv("OLLAMA_BASE_URL", "http://127.0.0.1:11434")
99
+ try:
100
+ resp = requests.get(f"{ollama_base}/api/ps", timeout=5)
101
+ if resp.status_code == 200:
102
+ models = resp.json().get("models", [])
103
+ for m in models:
104
+ name = m.get("name")
105
+ if name:
106
+ requests.post(
107
+ f"{ollama_base}/api/generate", json={"model": name, "prompt": "", "keep_alive": 0}, timeout=5
108
+ )
109
+ except Exception:
110
+ pass
111
+
112
+
113
+ def _generate_structured_json(llm, prompt: str, system_prompt: str, context: str, schema_hint: str = ""):
114
+ raw = llm.generate(prompt, system_prompt, json_mode=True)
115
+ try:
116
+ return _parse_jsonish(raw)
117
+ except Exception as first_exc:
118
+ repair_prompt = (
119
+ "Repair the following malformed JSON-like output into valid JSON.\n"
120
+ "Do not add commentary. Do not wrap in markdown.\n"
121
+ f"Context: {context}\n"
122
+ f"{schema_hint}\n"
123
+ "Malformed payload:\n"
124
+ f"{raw}"
125
+ )
126
+ repaired = llm.generate(repair_prompt, "Return valid JSON only.", json_mode=True)
127
+ try:
128
+ return _parse_jsonish(repaired)
129
+ except Exception as second_exc:
130
+ preview = re.sub(r"\s+", " ", str(raw))[:400]
131
+ raise RuntimeError(
132
+ f"Failed to parse {context} JSON. "
133
+ f"Initial error: {first_exc}. Repair error: {second_exc}. "
134
+ f"Raw preview: {preview}"
135
+ ) from second_exc
136
+
137
+
138
+ def build_provider(allow_remote: bool = False):
139
+ text_model = _choose_text_model()
140
+ providers = []
141
+ if allow_remote:
142
+ if os.getenv("GROQ_API_KEY"):
143
+ providers.append(GroqProvider()) # type: ignore
144
+ if os.getenv("GOOGLE_API_KEY"):
145
+ providers.append(GeminiProvider()) # type: ignore
146
+ providers.append(OllamaProvider(model=text_model or "qwen2.5:7b", options=_ollama_text_options(), keep_alive="2m")) # type: ignore
147
+ return SmartFallbackProvider(providers) # type: ignore
148
+
149
+
150
+ def build_task_provider(task: str = "general", allow_remote: bool = False):
151
+ providers = []
152
+ text_model = _choose_text_model()
153
+ local_models = [text_model, "qwen2.5:7b", "llama3.1:8b", "llama3:latest", "gemma4:latest", "gemma4:31b"]
154
+ local_models = [model for idx, model in enumerate(local_models) if model and model not in local_models[:idx]]
155
+ local_provider = OllamaProvider(models=local_models, options=_ollama_text_options(), keep_alive="2m") # type: ignore
156
+
157
+ api_providers = []
158
+ if allow_remote:
159
+ smart_tasks = {"planning", "paper_brief", "storyboard", "creative", "synthesis"}
160
+ if os.getenv("GOOGLE_API_KEY"):
161
+ api_providers.append(GeminiProvider()) # type: ignore
162
+ if os.getenv("GROQ_API_KEY"):
163
+ api_providers.append(GroqProvider()) # type: ignore
164
+ if task == "slide_writing":
165
+ if os.getenv("GROQ_API_KEY"):
166
+ providers.append(GroqProvider()) # type: ignore
167
+ if os.getenv("GOOGLE_API_KEY"):
168
+ providers.append(GeminiProvider()) # type: ignore
169
+ providers.append(local_provider)
170
+ elif task in smart_tasks:
171
+ providers.extend(api_providers)
172
+ providers.append(local_provider)
173
+ else:
174
+ providers.append(local_provider)
175
+ providers.extend(api_providers)
176
+ else:
177
+ providers.append(local_provider)
178
+ return SmartFallbackProvider(providers) # type: ignore